Most próbálom ki először az Arduino Unót 2 villogó LED-del a kenyérlapon. Úgy tűnik, hogy az Internet összes oktatója ellenállást használ. Ismerem az ellenállások működését, de itt valóban számít? Ezek a LED-ek ellenállás nélkül is jól működnek.
Megjegyzések
- Ez attól függ ha azt szeretné, hogy a LED elolvadjon, vagy sem. Ha nem gondolja ‘, hagyja ki az ellenállást. :-).
Válasz
Csintalan! :-). Ha azt mondják, hogy ott kell használni egy ellenállást, erre jó ok van! Kapcsolja ki, MOST!
Az ellenállás a LED áramának korlátozására szolgál. Ha elhagyja, a jelenlegi korlátozásnak az Arduino kimenetéből kell származnia, és ez nem fog tetszeni neki. Hogyan lehet megtudni, hogy milyen legyen az ellenállás? Ismered Ohm törvényét? Ha nem, írd le nagy betűkkel:
\ $ V = I \ cdot R \ $
A feszültség megegyezik az aktuális idő ellenállásával . Vagy mondhatná
\ $ R = \ dfrac {V} {I} \ $
Ugyanez a helyzet. A feszültség, amelyet tud: Az Arduino 5 V-nál működik. De nem minden megy át az ellenálláson. A LED-nek feszültségesése is van, általában 2 V körüli érték egy piros LED-hez. Tehát az ellenállás 3 V marad. Egy tipikus jelző LED névleges áramerőssége 20 mA, majd
\ $ R = \ dfrac {5V – 2V} {20mA} = 150 \ Omega \ $
Az Arduino Uno az ATmega328 mikrovezérlő. Az adatlap azt mondja, hogy az I / O tűk áramának nem szabad meghaladnia a 40mA-t, amit általában abszolút maximális besorolásnak nevezünk. Mivel nincs semmi, ami korlátozná az áramot, csak az (alacsony !) A kimeneti tranzisztor ellenállása. Az áram olyan nagy lehet, mint 40 mA, és a mikrovezérlője károsodást szenved.
edit
Az ATmega adatlapjának következő grafikonja megmutatja, mi fog történni, ha áramkorlátozó ellenállás nélkül hajtja a LED-et:
Terhelés nélkül a kimeneti feszültség a vártnak megfelelően 5 V. De minél nagyobb az áram, annál alacsonyabb lesz a kimeneti feszültség, minden további 4mA terhelés esetén körülbelül 100mV csökken. Ez 25 \ $ \ Omega \ $ belső ellenállás. Ezután
\ $ I = \ dfrac {5V – 2V} {25 \ Omega} = 120mA \ $
A grafikon nem megy olyan messzire, az ellenállás a hőmérséklet hatására növekszik, de az áram nagyon magas marad. Ne feledje, hogy az adatlap 40 mA-t adott abszolút maximális minősítésként. Ennek háromszorosa van. Ez határozottan károsítja az I / O portot, ha ezt hosszú ideig teszi. És valószínűleg a LED is. A 20 mA-es jelzőlámpának gyakran 30 mA-es az abszolút maximális besorolása.
Megjegyzések
- Nem igazán. 3 és nem fogsz ‘ kapni semmilyen fényt, mert 3 x 2V > 5V és 2 ‘ l ugyanaz a probléma, csak 1 V csökken a 3 V helyett. Hozzátettem a válaszomhoz, hogy most kapcsoljam ki!
- Elvesztettem, hogy hányszor írtam ide ezt a számítást a válaszokba. Kellene hozzá egy szkript 🙂
- A LED-eket úgy tervezték, hogy bizonyos maximális áram mellett működjenek. Az őket meghajtó feszültség azt jelenti, hogy az áram nem szabályozott. A portok bizonyos maximális áramot biztosítanak. Rövidre zárás vagy túlterhelés megkönnyítheti az IC megsemmisítését, vagy csak finom működési problémákat okozhat. Vagy nem.
- @ JohnR.Strohm nem nevezném ‘ ezt ipari szabványnak.
- @ JohnR.Strohm – Mint m. Alin szerint a ‘ nem ipari szabvány. A Digikey 10mA névleges LED-eket sorol fel 0,4–1000 mcd között, és 20 mA-es LED-eket 0,1–54000 mcd között. ‘ nincs vonal benne, és nincs garancia arra, hogy a 10mA LED jól látható lesz. A vörös LED feszültsége általában 1,8 és 2,2 V között mozog. Piros LED esetén az 1.6V kivételesen alacsony.
Válasz
40 telek,
Azt kell mondanom, hogy a LED vezetése ellenállás nélkül NEM AJÁNLOTT, hacsak nem tudja, mit csinál. Ha azonban megértette, hogyan viselkedik egy LED, akkor ellenállás nélkül biztonságosan vezetheti. Valójában a LED vezetése áramkorlátozó ellenállás nélkül gyakran jobb.
Miért vezetne LED-et ellenállás nélkül? Egyszerű, áramkörének energiahatékonyabbá tétele.
Ha állandó LED-re (azaz 5 V PWM-re, 34% -os terhelésre) kell vezetni a LED-et ciklus az átlagos 1,7 V-os feszültség eléréséhez)?
Igen és nem. A PWM használata ugyanúgy működhet, mint egy adott feszültség alkalmazása (ha óvatos), de vannak jobb módszerek is. Aggódó dolgok, amikor a PWM megközelítést alkalmazza.
- Fontos a PWM gyakorisága.Amikor a PWM-et használja ebben a forgatókönyvben, akkor támaszkodik az áramkör összetevőinek arra a képességére, hogy ideiglenesen kezelje a nagy áramokat. A legnagyobb gondot az fogja okozni, hogy a LED hogyan kezel egy ideiglenesen nagy áramot, és miként képes chipje kimeneti áramköre ideiglenesen kezelni nagy áram. Ha ezek az információk nincsenek megadva az adatlapon, akkor az adatlapok készítői lusták voltak. DE !!! Ha ezeket az adatokat megadják az adatlapon, akkor biztonságosan kihasználhatja azokat. Például a következő LED számomra a maximális áramerősség 40mA. Ugyanakkor van egy ” csúcs előremenő áram ” névleges értéke 200mA, megjegyzéssel hogy az áram 10m-nél hosszabb ideig nem maradhat 200mA-n. Soooo … A LED-et 1,7 V-val tudom vezetni (a LED-ek tipikus előremenő feszültséget jelentenek az adatlapról). 34% -os munkaciklussal és 5 V-os tápellátással (34 % -a 5V = 1,7 V) átlagosan 1,7 V feszültséget produkál, csak azt kell biztosítanom, hogy a PWM időm 10us vagy kevesebb legyen. n-idő, a LED-en keresztüli áram valószínűleg 58mA körülire nő (58mA = a diódám 1,7 V-os áramának tipikus áramfelvétele osztva 34% -kal). Az 58mA 18 mA-rel meghaladja a LED-ek állandó áramának maximumát, a 40mA-t. Végül … 33,3 kHz vagy nagyobb PWM frekvenciára lenne szükségem a LED biztonságos vezetéséhez (33,3 kHz = A [10us ON idő inverze elosztva 34% -kal, hogy megkapja a PWM periódust]). A VALÓSÁGBAN biztonságosan használhatnám a PWM-et, hogy a LED-emet lassabb PWM frekvenciával tápláljam. Ennek oka: Az adatlapok általában nem adják meg az összetevők összes érvényes működési forgatókönyvét. Nem specifikálják ezeket a forgatókönyveket, mert az eladó nem akar időt fordítani az összetevőik sarokhasználatának specifikálására és használatának támogatására. Például a LED-mel, ha a LED-et mindig 40mA-val tudom működtetni (40mA az állandó áram maximális értéke), és a LED-et 10m-en 200mA-n tudom működtetni. Ezután 99,99999% -ban biztos vagyok abban, hogy képes vagyok Biztonságosan működtesse a LED-et 100mA-nál 10usnál hosszabb ideig, valószínűleg 20us közelében.
MEGJEGYZÉS: Minden alkatrész biztonságosan képes kezelni a maximális névleges érték feletti ideiglenes áramcsúcsokat, amíg a a jelenlegi csúcsok KIS ELÉG . Egyes összetevők elnézőbbek lesznek, mint mások, és ha szerencséd van, akkor az “s” az adatlap meghatározza, hogy mennyire képes kezelni az áramcsúcsokat.
- Fontos a PWM feszültsége. A példámat példákkal fogom bemutatni magyarázat helyett. Ha az általam korábban hivatkozott LED-et használjuk, tudjuk, hogy a 34% -os 33,3 kHz-es üzemi ciklus, 5,3 V-on biztonságos. Ha azonban a feszültségünk 12 V volt, akkor át kell dolgoznia számításainkat, hogy azonos mennyiségű áram folyjon át a LED-en. Az üzemi ciklusunknak 14,167% -ra (1,7 V osztva 12 V-ra) kell esnie, és a minimális PWM frekvenciánk 14,285 kHz-re csökken (a [ 10us osztva 14,167% -kal]). HOGYAN! , ez aggodalomra ad okot. Az 5 V-os forgatókönyvben 5 V-ra 10us, és a 12V-os forgatókönyvben 12V-ot használunk 10usra. A 10us alatt több mint kétszeresére növeltük a feszültséget, ennek következményei lehetnek. És igen, vannak! A LED-es adatlapom nem adja meg a szükséges adatokat ahhoz, hogy tudjam, milyen magas 10us-ig használható feszültség, mielőtt megsérülne a LED-em. Biztosan 10V-os 1000V megsüti a LED-et. De, honnan tudom, hogy 10V-nál 5V megsüti-e a LED -emet? vagy 12V 10us-ért? Ha nincs rá specifikáció, akkor kockázatot vállal. Tehát … Az 5 V 10us esetén kockázatos, de valószínűleg biztonságos.
MEGJEGYZÉS: Hozzáadhat egy kondenzátort az áramkörhöz, hogy kiszámítsa a PWM értékét, és ez a probléma megszűnjön.
-
Tisztában kell lennie azzal a kimeneti tű képességeivel, amelyhez a LED-et is csatlakoztatta. A legfontosabb paraméter a maximális kimeneti áram lesz. Az Arduino Uno esetében úgy gondolom, hogy ez 40 mA. Válasszon egy PWM munkaciklust, amelynek átlagos feszültsége a LED-en átmenő áramot 40mA alatt tartja. Annak érdekében, hogy tudjuk, milyen feszültségek fognak ekkora áramot előállítani, meg kell nézni a LED-ek IV görbéjét (áram vs. feszültség diagram). Egy tipikus LED esetében szinte biztos, hogy 0,7 V (a LED fényének kibocsátásához szükséges minimális feszültség) és 1,25 V közötti feszültség. Miért valószínű az 1.25V? Nos, a legtöbb LED-es áramkorlátozó ellenállás nélkül sem haladja meg a 40 mA-t 1,25 V-nál. Egy másik dolog, amely segít megvédeni valakit abban az esetben, ha túl nagy feszültséget alkalmaznak, az, hogy az Arduino digitális kimeneti áramköre saját kimeneti impedanciával rendelkezik, ez a kimeneti impedancia alacsony lesz, de még egy 20 ohmos kimeneti impedancia is elhanyagolható mennyiségű védelmet nyújt. Az arduino uno digitális kimeneti impedanciája 250 ohm körül van. Röviden: ha PWM használatával 1,0 V-os LED-et vezetett nagy frekvencián, egy tipikus LED esetén nincs esély arra, hogy károsítsa digitális kimenetét egy Arduino Uno készülékkel.
-
A PWM megközelítés nyílt hurok útján hajtja a LED-et. (és az 1.7 V-os tápegység PWM nélkül). Átlagos feszültséget alkalmaz a LED-re, amely éppen a megfelelő érték a LED bekapcsolásához, de nem elég magas a károsodáshoz a LED. Sajnos a feszültségtartomány az ON-tól (és elég világos ahhoz, hogy lássa) a sérült LED-ig nagyon kicsi (a LED-en ez a tartomány kb. 0,7 V). Számos oka van annak, hogy az Ön szerint alkalmazott 1,7 V nem mindig 1,7 V …
a. A környezeti hőmérséklet változásai. Mi lenne, ha motorvezérlő, feszültségszabályozó stb. egy zárt dobozban, amely tartalmazta a LED-et is. Nem lesz ritka, hogy ezek a többi alkatrész a ház belső hőmérsékletét 25 ° C-ról 50 ° C-ra emeli. Ez a hőmérséklet-emelkedés megváltoztatja a LED, a feszültségszabályozó stb. Viselkedését. Az egyszer biztonságos 1,7 V-os hosszabb legyen 1,7 V, és a korábban 2,5 V-nál sütött LED-je most 2,2 V-nál fog sütni.
b. A tápfeszültség változásai. Mi lenne, ha az akkumulátor akkumulátor lenne. Az akkumulátor lemerülésével a feszültség jelentősen csökken. Mi lenne, ha úgy tervezné az áramkört, hogy jól működjön egy kissé használt 9 V-os akkumulátorral, de akkor hozzáad egy új 9 V-os elemet. A vadonatúj 9 V-os ólom-savas akkumulátorok tényleges feszültsége 9,5 V. Attól az áramkörtől függően, amely a PWM-hez használt 5 V-ot biztosítja, ez a további 0,5 V az 5 V PWM-et 5,3 V-ra növelheti. Mi lenne, ha újratölthető akkumulátort használna? A teljes kisütési ciklus alatt még nagyobb a feszültségtartományuk.
c. Vannak más forgatókönyvek is, például az EMI által indukált áram (ezt a motorok meg fogják tenni).
Ha egy áramkorlátozó ellenállást használ, akkor ezektől a problémáktól megtakarít.
A PWM használata egy LED vezetéséhez nem túl jó megoldás, van-e jobb módszer, amelyhez nincs szükség áramkorlátozó ellenállásra?
Igen! Csinálja azt, amit LED-es villanykörtékben végez az otthona számára. Hajtsa végre a LED-et áramszabályzóval. Állítsa be az áramvezérlőt arra, hogy az az áramot vezérelje, amelyre a LED-et besorolják. , drámai módon megnövelhető, és biztonságosan vezetheti a LED-et anélkül, hogy aggódna a LED-es nyílt hurok vezetésével kapcsolatos legtöbb probléma miatt.
A hátránya: Szüksége van egy aktuális vezérlõre, és 10x növelte az áramkör bonyolultságát. Ez azonban ne csüggedjen. Vásárolhat jelenlegi vezérlő IC-ket, LED meghajtó IC-ket, vagy elkészítheti saját aktuálisan vezérelt boost átalakítóját. Ez nem olyan nehéz. Szánjon egy kis időt az elfoglaltságaira, és ismerkedjen meg a boost és a buck konverterekkel. Ismerje meg az áramellátás váltását. Ezek működtetik a számítógépet, és rendkívül energiatakarékosak. Ezután építsen egyet a semmiből, vagy vásároljon olcsó IC-t, hogy a legtöbb munkát elvégezhesse Önnek.
Természetesen, mint minden elektronikus tervezésnél, mindig több dolgot is megtehetünk az áramkör jobbá tételéhez. Nézze meg a 3. ábrát követi a PDF-et, hogy lássa, mennyire bonyolult lehet manapság egy háztartási LED-es villanykörte is.
Összefoglalva: Magának kell eldöntenie, mekkora kockázatot hajlandó vállalni Vigye magával az áramkört. Az 5V PWM használata a LED vezetéséhez valószínűleg remekül fog működni (különösen, ha kondenzátort ad hozzá a PWM négyzethullám kisimításához és a PWM frekvencia maximalizálásához). Ne féljen túlságosan kitolni elektronikáját szokásos op a körülmények javításával, csak tájékoztasson, amikor ezt megteszi, ismerje meg a vállalandó kockázatokat.
Élvezze!
FYI: Meglep, hogy hány ember azonnal a válaszra ugrik, ” FOLYAMATOS KORLÁTOZÓ ellenállást kell használnia “. Ez jó szándékú, de túlságosan biztonságos tanács.
Ort
Megjegyzések
- I ‘ meglepődve tapasztaltam, hogy hányan értékelik ezt a választ értékes tervezési tanácsnak. A LED vezetése áramkorlátozás nélkül a PWM használatával ugyanolyan rossz a LED számára, mint amit az OP művelete, ráadásul az EMI és a VCC hullámzást generál, mint egy összeomlás.
- @DmitryGrigoryev, rájöttem, hogy teljesen nem sikerült megszólítanom a digitális kimenet maximális kimeneti árama. Ennek fedezésére új golyót adtam. A PWM lehetővé teszi, hogy valaki biztonságosan vezessen egy LED-et áramkorlátozó ellenállás nélkül. Az EMI és a VCC hullámossága akkor jön létre, amikor a terhelést digitális jellel hajtja, de ez gyakori (pl. H Bridge, Boost Converter, Hobby Servo Control stb.), És aligha indokolja a PWM elkerülését. Ésszerű megoldások léteznek az EMI és a VCC hullámzás kezelésére, ha szükséges. A legtöbb ember nem fogja érdekelni ‘ a kis mennyiségű EMI és VCC hullámosságot, amelyet a LED PWM-mel történő vezetésével hoztak létre.
Válasz
A beépített húzóellenállásokat a javasolt módon használhatja. itt :
A húzóellenállások elegendő áramot szolgáltatnak ahhoz, hogy gyengén megvilágítsák a bemenetként konfigurált csaphoz csatlakoztatott LED-et.
Megjegyzések
- LED-ekhez nem, gombokhoz használható, de LED-ekhez a kimenet megtörésének veszélye
- ha nem biztonságos, miért mondják ezt a hivatalos dokumentumok? (Én ‘ én is kipróbáltam magam, és a leírásnak megfelelően működött.)
- Kérjük, olvassa el a következőt:
OUTPUT
, megemlíti, hogy soros ellenállásra van szüksége: ” Ez elegendő áram ahhoz, hogy egy LED fényesen világítson (ne feledje a soros ellenállást) , vagy futtasson például sok érzékelőt, de nincs elegendő áram a legtöbb relé, mágnesszelep vagy motor futtatásához. ” - @MenelaosVergis ezt biztonságosan megteheti, amikor a csap INPUT_PULLUP módban van, OUTPUT üzemmódban pedig nem biztonságos. Ez egyértelmű a docs-ban, ha elolvassa mindkét szakaszt (és a válasz idézett kivonatából).
Válasz
A rövid válasz: igen és nem, ez az arduinójától és a led színétől függ. Például egy 3,3 V-os kártyához nincs szükség soros ellenállásra kis zöld LED-del, mert a LED előrefeszültsége elég magas, lásd ezt . A belső ellenállás 25 Ohm körül van, vegye (3,3 – 3) / 25 = 12 mA, tehát ez így is rendben van, nem szabad átlépnie a maximális áramot csaponként, ami 40mA az UNO táblákon használt 328p atmel processzornál (hacsak nem a 328p származékát használod, ahol más történet lehet). Az 5 V-on működő arduino esetében azonban probléma adódik egy infravörös LED-del, amelynek sokkal alacsonyabb az előremenő feszültsége, általában 1,2 V, (5-1,2) / 25 = 150 mA, és ez határozottan túl sok, ezért használjon áramkorlátozót, például mint ellenállás az ilyen típusú LED-ek meghajtására. Az Arduino táblákon lévő 13-as tűnek (vagy egy másik tűnek a változatokon) már sorban van egy led és egy ellenállása. Ezenkívül a kártya tápellátásának maximális névleges értéke, általában 200 mA, és ennek a szintnek az alatt kell maradnia, és csapcsoportonként nem lehet több mint egy bizonyos mA-t húzni, ezt magyarázzák itt . Ha sok LED-et akar vezetni, akkor fontolja meg a mátrix LED-meghajtó használatát, amely elvégzi az Ön számára a multiplexelést. Lásd például a youtube területemet, ahol bemutatom a MAX7219CNG illesztőprogramot. De az Arduino Uno is elvégezheti a multiplexelést az Ön számára, lásd a 4 hét szegmenses LED-del ellátott IR hőmérőmet a YouTube-on. Boldog hackelést.
Válasz
A stevenvh válasza elmagyarázza, mit kell tennie, de ki kell számolnia a LED-en mért energiaeloszlást is, hogy ne égesse el a feszültségesés-ellenállást. Például, ha a tápfeszültség 5 V és az ellenállás előremenő feszültsége 1,0 V, akkor 4 V-ot kell esni. Egy 220 ohmos ellenállás használata 18 mA (I = V / R) áramerősséget és teljesítményt eredményez. a 72mW disszipációja (P = IV).
0402 Imperial méretű (1005 Metrikus) ellenállás általában 1 / 16W, ami 62,5mW. Tehát ebben az esetben ez nem működne; lerövidíti az élettartamát. Tehát át kell állítania egy 1 / 10W névleges 0402-es vagy egy nagyobb 0603-as ellenállásra.
Amikor ilyen számításokat végez, vegye fel őket a sematikusba, hogy az ellenőr könnyen ellenőrizheti munkáját.
Ne feledje, hogy az előremenő feszültség (és így az ellenállás értéke) a LED függvénye, és a különböző LED-ek különböző értékekkel rendelkeznek. Különösen a kék LED-ek magas előremenő feszültség (~ 3,0 V tipus). Tehát, ha négy különböző LED-et próbál meg ugyanolyan fényerővel elérni, akkor meg kell ismételnie az egyes LED-ekre vonatkozó számításokat. Ahhoz, hogy valóban jól csinálja, nézze meg az egyes LED-ek névleges áramerősségének optikai jellemzőit, és ennek megfelelően állítsa be.
Válasz
IGEN! Meg lehet csinálni.
Annak ellenére, hogy az elhangzottak helyesek … van egy másik út is. Energiatakarékosabb mód a LED-ek 5v-vel történő vezetésére.
Ez egy kicsit dokumentálatlan, és nem ismert, hogy a megoldás elhasználja-e a LED-eket, de meg lehet csinálni. Valójában ezt csinálom.
A PWM hardveres használata: Itt egy példa :
#include <avr/io.h> #include <util/delay.h> void pwm_init() { // initialize TCCR0 as per requirement, say as follows TCCR0 |= (1<<WGM00)|(1<<COM01)|(1<<WGM01)|(1<<CS00); // make sure to make OC0 pin (pin PB3 for atmega32) as output pin DDRB |= (1<<PB3); } void main() { uint8_t duty; duty = 1; // duty cycle = 0.39% of the time (depends on the oscillator.) // initialize timer in PWM mode pwm_init(); // run forever while(1) { OCR0 = duty; } }
A PWM szoftverrel és az avrs időzítőkkel is szimulálható. A példa a lufa könyvtárban található, az ún. LEDNotifier.c
.
Következtetésem: 5 V-os led vezetése lehetséges.
PROS: Nincs szükség ellenállásra. Némi energia megtakarítás is (~ 50%)
HÁTTÉR: Nem tudom, hogy az alkatrész stressz-e és annak élettartama csökken-e.
Van egy srác, aki szintén elvégezte ezt a kísérletet a Stanfordban, és közzétett néhány információt a webhelyén .
Hozzászólások
- Ez nem ‘ nem tűnik jó ötletnek. Ön ‘ Valószínűleg több áramot szerez a vezérlőtől, mint amennyit ‘ értékelt, még akkor is, ha ‘ nem sokáig csinálja.
- Amint említettük, ez nincs dokumentációban. Az Arduino UNO kimeneti IO 40ma-50ma körül képes vezetni. Ez állandó. Biztosan tudom kezelni a nagyon rövid impulzusokat nagyobb árammal. Kérjük, nézze meg a wikipédia .
- Az Arduino környezetben a PWM könnyebben megszerezhető a
analogWrite()
segítségével a megfelelő csapon. Still nem biztos benne, hogy ez jó ötlet, de legalább az IR LED-ek esetében ‘ általános az adatlapoknál, hogy a 100% -nál kevesebb munkaterhelésnél lényegesen nagyobb csúcsáramot engedjenek meg . - I ‘ nagyon biztos, hogy az energiamegtakarítás negatív lesz az ellenállásalapú megoldásokhoz képest, mert a LED hatásfoka csökken ahogy az áram növekszik.
- @ScottSeidman Miért nem jó ötlet ‘? csak azért, mert a legtöbb ember úgy gondolja, hogy nem ajánlott ellenállás nélküli LED-et használni? ez a válasz vizsgálatot bizonyított, nagyon tiszteletreméltó forrás, mint a Stanford Egyetem, és amiből kísérletezhetek, működik. Határozottan szeretem a leszavazott hozzászólásokat, mert azt mondják, hogy azok, akik leszavaztak, csak elfogultak. Micsoda paradoxon …