PWM - több LED fényerőszabályozás

Processing/Wiring (illetve C) nyelvű programozási fogások, tippek. (AVR-Duino, Arduino, EthDuino, Diecimila, Severino, Nano, LilyPad)
Válasz küldése
Avatar
glezmen
Bitmanipulátor
Hozzászólások: 139
Csatlakozott: 2012. augusztus 9. csütörtök, 6:00

Hozzászólás Szerző: glezmen »

szeretnem tobb LED fenyerejet szoftverbol szabalyozni
mivel annyi PWM lab nincs, amennyi nekem kell, gondolkodtam egyeb megoldasokon (pl. tranzisztorral feszultseg/aramosztot bekapcsolni, stb)

de aztan eszembe jutott egy, ami ha mukodik sokkal egyszerubb, es plusz HW sem kell: azt megcsinaltom hogy pl kozos GND-s 7 szegmenses kijelzonel az egyes LEDek normal digitalWrite-tal kapnak az 5V-ot, es a GND helyett egy olyan PWM labra kotom, amit szinten kimenetre allitok, es ha teljes fenyerot akarok, akkor analogWrite(0)-t, ha felet, akkor analogWrite(128)-at irok ra, stb?

illetve ugyanez forditott iranyban, kijelzotol fuggoen
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

60 nap alatt Arduino : 13. lecke: PWM

Kapcsolódó fórum: http://avr.tavir.hu/modules.php?name=Fo ... pic&t=1058

De a 60 napos tanfolyam sem rossz - ekkor a hátteret is látod!
http://avr.tavir.hu/modules.php?name=Co ... ge&pid=199
http://avr.tavir.hu/modules.php?name=HT ... ekint&id=1
Avatar
glezmen
Bitmanipulátor
Hozzászólások: 139
Csatlakozott: 2012. augusztus 9. csütörtök, 6:00

Hozzászólás Szerző: glezmen »

nem a PWM-mel van gondom, annak a mukodeset ertem

a kerdes az (csak hogy akkor leegyszerusitsem): hasznalhatok-e PWM-es labat valamilyen kitoltessel GND helyett
tehat a labba 'befele' folyna az aram (mikor eppen LOW szinten van a negyszogjel)

digitalis pineknel ez mukodik, csak nem tudom a PWM-nel nem okoz-e ez problemat
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

Simán használhatsz. Hisz a PWM is egy digitális láb. A terhelésre vigyázz - ha nem kapcsolóelemen át viszed:
max 35 mA/láb, 150mA/port !
Avatar
glezmen
Bitmanipulátor
Hozzászólások: 139
Csatlakozott: 2012. augusztus 9. csütörtök, 6:00

Hozzászólás Szerző: glezmen »

Robert írta:Simán használhatsz. Hisz a PWM is egy digitális láb. A terhelésre vigyázz - ha nem kapcsolóelemen át viszed:
max 35 mA/láb, 150mA/port !
hm, jo hogy mondod, szoktam erre figyelni de most valahogy eszembe sem jutott... pedig nem mindegy, mert a 7 szegmenses kijelzonel LEDenkent 10mA-re szoktam beloni, az meg ha mondjuk mint a 7 egyszerre eg, mar igen sok... de 5mA-rel meg mar eleg halovanyak lesznek a LEDek

akkor viszont megcsinalhatnam azt, hogy egyszerre ket PWM-es labba vezetem be a LEDeket, tehat valahogy igy:

Kód: Egész kijelölése

                        +---> PWMpin
5V--->[kijelzo,70mA]--->|
                        +---> PWMpin
igy elvileg a 70mA ketfele oszlik, tehat labankent 35mA terhelest kapnak, jol gondolom?
feltetele ennek hogy mindket labon ugyanabban a fazisban legyen a negyszogjel? bar gyanitom hogy ugyanazt az idozitot hasznalja az Arduino minden labhoz, tehat szinkronban jarnak ha ugyanaz a kitoltesi tenyezo van beallitva, vagy rosszul gondolom?
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

Nem. Ezzel az AVR meghal és/vagy a kijelződ villogni/vibrálni fog...

Arduino betegség: rosszul gondolod.
AVR adatlap: OCxy, ahol
x - a belső timer, ami a PWM-et állítja elő
y - adott timerhez tartozó y. pwm kivezetés.

OC1A / OC1B pl. párban van. De hogy az Arduino hogyan konfigurálja fel ezeket???
Miért nem jó, ha kap egy tranzisztort és az húz mindent GND-re?
Avatar
glezmen
Bitmanipulátor
Hozzászólások: 139
Csatlakozott: 2012. augusztus 9. csütörtök, 6:00

Hozzászólás Szerző: glezmen »

Robert írta:Nem. Ezzel az AVR meghal és/vagy a kijelződ villogni/vibrálni fog...

Arduino betegség: rosszul gondolod.
AVR adatlap: OCxy, ahol
x - a belső timer, ami a PWM-et állítja elő
y - adott timerhez tartozó y. pwm kivezetés.

OC1A / OC1B pl. párban van. De hogy az Arduino hogyan konfigurálja fel ezeket???
Miért nem jó, ha kap egy tranzisztort és az húz mindent GND-re?
ahogy irtam is, a tranzisztoros megoldas volt az elso otletem, de szeretnem tobb fokozatban szabalyozni

hogy kicsit konkretabb legyek:
a kijelzo egy olyan orae lenne, aminek a fenyerejet szeretnem egyreszt a kulso fenytol fuggoen szabalyozni (ez egyszeru, belerakok egy fotoellenallast/diodat/tranzisztort az aramkorbe, es a kulso fenyerotol fuggo ellenallassal mar 'magatol' szabalyozodik a kijelzo fenyereje is), masreszt pedig idofuggoen is, mondjuk ejjel 2-tol reggel 5-ig lejjebb venni a fenyerot, szoval ez utobbihoz kene a szoftveres szabalyozas
mondjuk ez pont jo lenne egy sima tranzisztorral (ott eleg a 'sima' szint es a 'csokkentett'), de szeretek tovabb gondolkodni, altalanositani, szoval erdekelne hogy lehetne teljesen szoftveres modon szabalyozni az egesz kijelzo fenyerejet
Avatar
SzLacus
Tranzisztorgyógyász
Hozzászólások: 175
Csatlakozott: 2012. május 20. vasárnap, 6:00

Hozzászólás Szerző: SzLacus »

A tranyó a kijelző közös lábát kapcsolgatja GND-re, az általad a bázisba vezetett PWM ütemében. Ez pont azt teszi, mint a proc lába, csak bírja az áramot. A bázis és a proc lába közé kell egy ellenállás és más semmi. A szegmensek áramát egyenkén az előtét elenállások fogják korlátozni, ezt lőtted be 10 millire. Az összesített áram meg folyik a föld felé a tranyón. Csak azt kell figyelembe venned, hogy fordítva fog működni, a tranyó miatt. Ugyan is a tranyó akkor nyit majd ki (földelt emitteres kapcsolást feltételezve), amikor a proc lába magas. Ha nincs tranyó, akkor meg akkor világít a kijelződ, ha a PWM láb alacsony. Ezen kívül a tranyón nyitott állapotban is marad valamennyi feszkó a CE között, de ezt szerintem a fényerőn nem fogod észre venni. Ha mégis, akkor az előtétek kis mértékű csökkentésével eltüntethető a tranyón maradó feszkó hatása.
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

Sőt, ha a tranzisztor helyett N-FET-et raksz, akkor _nincs_ maradékfeszültség sem. Sőt, ha logiclevel FET-et, akkor az IRLZ34 nagy IRLZ44 FET-l 55A-t is kapcsolhatsz :) .
Avatar
glezmen
Bitmanipulátor
Hozzászólások: 139
Csatlakozott: 2012. augusztus 9. csütörtök, 6:00

Hozzászólás Szerző: glezmen »

SzLacus írta:A tranyó a kijelző közös lábát kapcsolgatja GND-re, az általad a bázisba vezetett PWM ütemében. Ez pont azt teszi, mint a proc lába, csak bírja az áramot. A bázis és a proc lába közé kell egy ellenállás és más semmi. A szegmensek áramát egyenkén az előtét elenállások fogják korlátozni, ezt lőtted be 10 millire. Az összesített áram meg folyik a föld felé a tranyón. Csak azt kell figyelembe venned, hogy fordítva fog működni, a tranyó miatt. Ugyan is a tranyó akkor nyit majd ki (földelt emitteres kapcsolást feltételezve), amikor a proc lába magas. Ha nincs tranyó, akkor meg akkor világít a kijelződ, ha a PWM láb alacsony. Ezen kívül a tranyón nyitott állapotban is marad valamennyi feszkó a CE között, de ezt szerintem a fényerőn nem fogod észre venni. Ha mégis, akkor az előtétek kis mértékű csökkentésével eltüntethető a tranyón maradó feszkó hatása.
tenyleg, koszi :D
Válasz küldése