Sok LED vezérlése kevés lábon
Sok LED vezérlése kevés lábon
Találtam egy leírást a Microchip oldalán, ami azt taglalja, hogyan lehet a PIC chipekkel úgy meghajtani sok ledet, hogy csak kevés lábat használsz fel. Tudom, shift regiszterrel, meg led vezérlőkkel könnyen megoldható, de most az lenne a lényeg, hogy semmi egéb áramköri egység nem kell hozzá. Ők úgy nevezik: „complementary led drive”.
Így néz ki: Arról van szó, hogy az I/O lábaknak felhasználják mindhárom állapotát. Folyamatosan kapcsolgatva a lábakat magas, alacsony szintre és bemenetként. Így 8 biten 56 ledet tudnak meghajtani, ráadásul egyenként, multiplex nélkül.
A kérdés az, hogy meg lehet-e oldani ezt Arduinoval? Én próbálkoztam vele, de ha bemenetre váltom a lábat, akkor nem csinál semmit.
Így néz ki: Arról van szó, hogy az I/O lábaknak felhasználják mindhárom állapotát. Folyamatosan kapcsolgatva a lábakat magas, alacsony szintre és bemenetként. Így 8 biten 56 ledet tudnak meghajtani, ráadásul egyenként, multiplex nélkül.
A kérdés az, hogy meg lehet-e oldani ezt Arduinoval? Én próbálkoztam vele, de ha bemenetre váltom a lábat, akkor nem csinál semmit.
Nincs meg a kellő jogosultságod a hozzászóláshoz csatolt állományok megtekintéséhez.
Re: Sok LED vezérlése kevés lábon
Akkor valamit rosszul csinálsz!
A bemenetre kapcsolással tudod a diódákat lekapcsolni.
Vegyük, hogy minden kimenet és minden L szint, nem világít semmi. 0-s állapot,
1-es állapot: 0, 6, 8 LED-ek világítanak.
2-es állapot: 0, 6 LED-ek világítanak.
stb…
A bemenetre kapcsolással tudod a diódákat lekapcsolni.
Vegyük, hogy minden kimenet és minden L szint, nem világít semmi. 0-s állapot,
1-es állapot: 0, 6, 8 LED-ek világítanak.
2-es állapot: 0, 6 LED-ek világítanak.
stb…
Kód: Egész kijelölése
állapot 0 1 2
pin0 L H H
pin1 L L L
pin2 L L L
pin3 L L BE
Re: Sok LED vezérlése kevés lábon
Valamit nem értettél.
Azt írtam egyenként lehet vezérelni. Vagyis minden ledet külön-külön. Nem világít egyszerre kettő.
Azt írtam egyenként lehet vezérelni. Vagyis minden ledet külön-külön. Nem világít egyszerre kettő.
Re: Sok LED vezérlése kevés lábon
Azt kell megnézni, hogy az avr chip nagyimpedanciás bemenet lesz-e, ha bemenetre programozod a lábat? (magyarán nem húzza semelyik irányba a bemeneti lábat?)
azzal játszik a fenti kapcsolás, hogy két pin közötti led nem világít, ha led valamelyik vége nem h vagy l állapotú pinen van, hanem nagyimpedinceás bemeneten lóg.
a 4 pin mindegyik variációja megtalálható a kapcsolásban. valamelyik pinre h, és egy másikra l kapcsolása után egy és csak egy led gyullad ki. a többi pin bemenetként megy ilyenkor.
valahogy így:
azzal játszik a fenti kapcsolás, hogy két pin közötti led nem világít, ha led valamelyik vége nem h vagy l állapotú pinen van, hanem nagyimpedinceás bemeneten lóg.
a 4 pin mindegyik variációja megtalálható a kapcsolásban. valamelyik pinre h, és egy másikra l kapcsolása után egy és csak egy led gyullad ki. a többi pin bemenetként megy ilyenkor.
valahogy így:
Kód: Egész kijelölése
led | 0 1 2 3 4 5 6 7 8 9 10 11
-------------------------------------------
pin0 | H L BE BE BE BE H L H L BE BE
pin1 | L H H L BE BE BE BE BE BE H L
pin2 | BE BE L H H L L H BE BE BE BE
pin3 | BE BE BE BE L H BE BE L H L H
-------------------------------------------Re: Sok LED vezérlése kevés lábon
természetesen a belső felhúző ellenállásokat ki kell kapcsolni 
még az a kérdés, hogy az arduino rendszer engedi-e a pinmode (gyors) állítgatását menet közben?
még az a kérdés, hogy az arduino rendszer engedi-e a pinmode (gyors) állítgatását menet közben?
Re: Sok LED vezérlése kevés lábon
Nálam 100-200 LED-et kellene vezérelni Arduino alatt, ezeket a módszereket is átnéztem és arra jutottam, hogy inkább nem ügyeskedek.
A legtöbb esetben a baj ugye az. hogy kevés a kakaó. Például egy shift regiszter (74HCT595) max 70mA-t tud gyárilag leadni, tehát 8 LED 10mA-s kapcsolására nem alkalmas.
Végül a TLC5940-es IC-t választottam, ami 16 LED-et tud kapcsolni, akár 120mA-rel is csatornánként. Emellett a 16 LED-nek 1 felhúzó ellenállás kell, a többi áramtükörrel megy.
Beállítható rajta, hogy hány százalékos PWM-et adjon ki csatornánként és kiolvasható vele, hogy melyik PIN-re van valami csatlakoztatva. Kaszkádolható is, szóval meg lehet vele hajtani simán 200 LED-et is.
A legtöbb esetben a baj ugye az. hogy kevés a kakaó. Például egy shift regiszter (74HCT595) max 70mA-t tud gyárilag leadni, tehát 8 LED 10mA-s kapcsolására nem alkalmas.
Végül a TLC5940-es IC-t választottam, ami 16 LED-et tud kapcsolni, akár 120mA-rel is csatornánként. Emellett a 16 LED-nek 1 felhúzó ellenállás kell, a többi áramtükörrel megy.
Beállítható rajta, hogy hány százalékos PWM-et adjon ki csatornánként és kiolvasható vele, hogy melyik PIN-re van valami csatlakoztatva. Kaszkádolható is, szóval meg lehet vele hajtani simán 200 LED-et is.
Re: Sok LED vezérlése kevés lábon
Ez a kapcsolás arra lenne jó, hogy nem kell sok kakaó, mivel csak 1 leden folyik áram egyszerre. Magyarul, minden körítés nélkül lehet 56 ledet vazérelni. Ha elég gyors a panel, akár komplett képet is láthatsz. Persze úgy tűnik, hogy nem az Arduinora találták ki ezt a módszert. A PIC-en 1 bájton lehet kezetni a 8 pint, így sokkal egyszerűbb, és főleg gyorsabb a kód. Talán ha az AVR-t programozom, itt is mehet, de azt még nem csináltam.
Re: Sok LED vezérlése kevés lábon
Ez nem biztos, hogy működne. Ha 56 LED-et akarsz vezérelni 10mA-n, ahhoz 560 mA áram kell, amit egy AVR IC nem tud számukra biztosítani.
Ha kisebb kakaóval multiplexelve adod, akkor átlag 3mA-es terhelés fér még bele, ami időben egy LED-re juthat. Ilyenkor nem léped át a chip 200mA-es korlátját.
Hidd el nekem, hogy ha egy LED-et 3mA-rel vezérelsz, akkor kisebb a fénye, mintha 10mA-t kapna.
Ha persze nem zavar, hogy halványan világítanak a LED-ek, akkor nem baj. Harmad akkora teljesítményt adsz rájuk, mint ami a nagy könyvben le van írva.
Persze ha az 56 LED-ből nem világít egyszerre mind, akkor megoldható. Nálam ez a feltétel nem volt adott.
Ha kisebb kakaóval multiplexelve adod, akkor átlag 3mA-es terhelés fér még bele, ami időben egy LED-re juthat. Ilyenkor nem léped át a chip 200mA-es korlátját.
Hidd el nekem, hogy ha egy LED-et 3mA-rel vezérelsz, akkor kisebb a fénye, mintha 10mA-t kapna.
Ha persze nem zavar, hogy halványan világítanak a LED-ek, akkor nem baj. Harmad akkora teljesítményt adsz rájuk, mint ami a nagy könyvben le van írva.
Persze ha az 56 LED-ből nem világít egyszerre mind, akkor megoldható. Nálam ez a feltétel nem volt adott.
Re: Sok LED vezérlése kevés lábon
Képeken 4, 6, 56 ledre a vezérlés.
...ha másra nem, majd Jó lesz halvány éjszakai csillagos égboltnak a plafonon.
https://onedrive.live.com/?authkey=%21A ... EE0158403F
...ha másra nem, majd Jó lesz halvány éjszakai csillagos égboltnak a plafonon.
https://onedrive.live.com/?authkey=%21A ... EE0158403F
Re: Sok LED vezérlése kevés lábon
Ne is mondd, a Zaszony 1 éve könyörög a csillagos égboltért... 
Re: Sok LED vezérlése kevés lábon
Az égbolt már kész, csak az ágy van rossz helyen. 
Re: Sok LED vezérlése kevés lábon
csabeszq, mit nem értesz azon, hogy egyszerre 1 világít? Miért kéne 1 lednek fél amper?
Re: Sok LED vezérlése kevés lábon
Csak akkor kell a rettenetes áram ha álló képet szeretnél látni, (mintha mind világítana) ha csak egy egy led világít folyamatosan akkor nem kell. Mert: 1 led, 1 fix árammal 1 idő alatt lead 1 fényt, akkor 56 led, 1 árammal, 1 idő alatt ledenként csak 1/56 áram jut és abból csak 1/56-od fénye lesz. Mint a képeimen is látszik.
Szerintem.
Szerintem.
Re: Sok LED vezérlése kevés lábon
Igaz is meg nem is. A LED fényereje a rajta leadott energiával arányos.
Ha egy 2.5V nyitófeszültségű LED-en 10 mA megy át, akkor 25mW teljesítményt ad le, részben világításként, részben hőként.
Ha te multiplexelsz, akkor 1/56-od idő jut a LED bekapcsolására. Durva számítással 25mW/56 (=~ 0.5 mW) energia lesz a LED-en leadva, amit természetesen fel fog tűnni, mert látni fogod hogy kissé másképpen világít.
Mi a megoldás? Nem 10mA-t, hanem 560 mA-t kell keresztül-nyomni a LED-en, hogy ugyanazt a fényerőt kapd. Ez persze elvi szintű, mert a mezei LED kinyiffan 560 mA áramtól.
Ha egy 2.5V nyitófeszültségű LED-en 10 mA megy át, akkor 25mW teljesítményt ad le, részben világításként, részben hőként.
Ha te multiplexelsz, akkor 1/56-od idő jut a LED bekapcsolására. Durva számítással 25mW/56 (=~ 0.5 mW) energia lesz a LED-en leadva, amit természetesen fel fog tűnni, mert látni fogod hogy kissé másképpen világít.
Mi a megoldás? Nem 10mA-t, hanem 560 mA-t kell keresztül-nyomni a LED-en, hogy ugyanazt a fényerőt kapd. Ez persze elvi szintű, mert a mezei LED kinyiffan 560 mA áramtól.
Re: Sok LED vezérlése kevés lábon
Térjünk vissza az eredeti kérdéshez.
Meg lehet csinálni Arduinoval?
Meg lehet csinálni Arduinoval?