Właśnie wypróbowuję Arduino Uno po raz pierwszy z 2 migającymi diodami LED na desce. Wszystkie samouczki w Internecie wydają się używać rezystora. Znam funkcję rezystorów, ale czy to naprawdę ma znaczenie? Te diody LED działają dobrze bez opornika.
Właśnie wypróbowuję Arduino Uno po raz pierwszy z 2 migającymi diodami LED na desce. Wszystkie samouczki w Internecie wydają się używać rezystora. Znam funkcję rezystorów, ale czy to naprawdę ma znaczenie? Te diody LED działają dobrze bez opornika.
Odpowiedzi:
Niegrzeczny! :-). Jeśli twierdzą, że używają rezystora, jest ku temu dobry powód! Wyłącz to, TERAZ!
Rezystor służy ograniczeniu prądu diody LED. Jeśli go pominiesz, obecne ograniczenie musi pochodzić z wyjścia Arduino i nie spodoba mu się to. Jak dowiedzieć się, jaki powinien być rezystor? Znasz Prawo Ohma? Jeśli nie, zapisz to dużymi literami:
Napięcie jest równe prądowi i oporności. Lub możesz powiedzieć
To jest to samo. Napięcie, które znasz: Arduino działa przy 5 V. Ale nie wszystko, co przejdzie przez rezystor. Dioda LED ma również spadek napięcia, zwykle około 2 V dla czerwonej diody LED. Tak więc rezystor ma napięcie 3 V. Typowa dioda LED wskaźnika będzie miała prąd nominalny 20 mA
Arduino Uno wykorzystuje mikrokontroler ATmega328 . Z arkusza danych wynika, że prąd dla dowolnego styku we / wy nie powinien przekraczać 40 mA, co jest powszechnie znane jako bezwzględne maksymalne wartości znamionowe. Ponieważ nie masz nic do ograniczenia prądu, istnieje tylko (niska!) Rezystancja tranzystora wyjściowego. Prąd może równie dobrze być większy niż 40 mA, a twój mikrokontroler dozna obrażeń.
edytuj
Poniższy wykres z arkusza danych ATmega pokazuje, co się stanie, jeśli napędzasz diodę LED bez rezystora ograniczającego prąd:
Bez obciążenia napięcie wyjściowe wynosi 5 V zgodnie z oczekiwaniami. Ale im wyższy prąd pobierany, tym niższe będzie napięcie wyjściowe, będzie on spadać o około 100 mV na każde dodatkowe obciążenie 4 mA. To wewnętrzny opór 25 . Następnie
Wykres nie posuwa się tak daleko, opór wzrośnie wraz z temperaturą, ale prąd pozostanie bardzo wysoki. Pamiętaj, że arkusz danych podał 40mA jako absolutną maksymalną ocenę. Masz trzy razy tyle. To z pewnością uszkodzi port I / O, jeśli robisz to przez długi czas. I prawdopodobnie również LED. Wskaźnik LED 20mA często ma 30mA jako absolutną maksymalną ocenę.
40 działek,
Muszę powiedzieć, że prowadzenie diody LED bez rezystora NIE JEST ZALECANE, chyba że wiesz, co robisz. Jeśli jednak rozumiesz, jak zachowuje się dioda LED, możesz bezpiecznie nią prowadzić bez rezystora. W rzeczywistości prowadzenie diody LED bez opornika ograniczającego prąd jest często lepsze.
Dlaczego miałbyś prowadzić diodę LED bez rezystora? Proste, aby Twój obwód był bardziej energooszczędny.
Czy należy prowadzić diodę LED z PWM ustawionym na stały cykl pracy (tj. 5 V PWM przy 34% cyklu pracy, aby osiągnąć średnie napięcie 1,7 V)?
Tak i nie. Korzystanie z PWM może działać równie dobrze, jak przyłożenie określonego napięcia (jeśli jesteś ostrożny), ale są lepsze sposoby. Rzeczy, o które należy się martwić, stosując podejście PWM.
UWAGA: Wszystkie komponenty mogą bezpiecznie poradzić sobie z chwilowymi skokami prądu powyżej ich maksymalnych wartości znamionowych, o ile czas trwania skoków prądu jest MAŁY . Niektóre komponenty będą bardziej wybaczające niż inne, a jeśli masz szczęście, arkusz danych komponentu określi, jak dobrze poradzi sobie z skokami prądu.
UWAGA: Możesz dodać kondensator do obwodu, aby uśrednić PWM i rozwiązać ten problem.
za. Zmiany temperatury otoczenia Co jeśli masz sterownik silnika, regulator napięcia itp. W zamkniętym pudełku, które również zawiera diodę LED. Nie jest niczym niezwykłym, gdy te inne elementy zwiększają temperaturę otoczenia wewnątrz obudowy z 25 ° C na 50 ° C. Ten wzrost temperatury spowoduje zmianę zachowania diody LED, regulatora napięcia itp. Twój niegdyś bezpieczny 1,7 V nie będzie już wynosił 1,7 V, a dioda LED, która zwykła smażyć przy 2,5 V, teraz będzie smażyć przy 2,2 V.
b. Zmiany napięcia zasilającego. Co jeśli twój zapas był baterią. W miarę rozładowywania się akumulatora napięcie znacznie spada. Co jeśli zaprojektowałeś swój obwód tak, aby działał dobrze z lekko zużytą baterią 9 V, ale potem dodałeś nową baterię 9 V. Zupełnie nowe akumulatory kwasowo-ołowiowe 9 V mają zwykle rzeczywiste napięcie 9,5 V. W zależności od obwodu zapewniającego napięcie 5 V stosowane w PWM, dodatkowe 0,5 V może zwiększyć napięcie 5 V PWM do 5,3 V. Co jeśli korzystasz z akumulatora? Mają jeszcze większy zakres napięć w całym cyklu rozładowania.
do. Istnieją inne scenariusze, takie jak prąd indukowany z EMI (silniki to zrobią).
Posiadanie rezystora ograniczającego prąd pozwala uniknąć wielu z tych problemów.
Używanie PWM do sterowania diodami LED nie jest zbyt dobrym rozwiązaniem, czy istnieje lepszy sposób, który nie wymaga rezystora ograniczającego prąd?
Tak! Rób to, co robią w żarówkach LED dla swojego domu. Napęd LED za pomocą kontrolera prądu. Ustaw kontroler prądu, aby sterować prądem, dla którego dioda LED jest oceniana.
Dzięki właściwemu sterownikowi prądu można znacznie zwiększyć i możesz bezpiecznie prowadzić diodę LED, nie martwiąc się większością problemów związanych z prowadzeniem diody LED w otwartej pętli.
Wada: potrzebujesz kontrolera prądu i zwiększyłeś złożoność obwodu o 10 razy. Nie zniechęcaj się. Możesz kupić układy scalone kontrolera prądu, układy scalone sterownika LED lub stworzyć własny konwerter boost sterowany prądem. To nie jest takie trudne. Poświęć trochę czasu na swój napięty harmonogram i dowiedz się o konwerterach boost i buck. Dowiedz się o przełączaniu zasilaczy. To one zasilają Twój komputer i są niezwykle energooszczędne. Następnie zbuduj jeden od zera lub kup niedrogi układ scalony, aby wykonać większość pracy za Ciebie.
Oczywiście, podobnie jak w przypadku wszystkich projektów elektronicznych, zawsze można zrobić więcej, aby ulepszyć obwód. Sprawdź rysunek 3 w poniższym pliku PDF, aby zobaczyć, jak skomplikowana może być nawet żarówka LED do użytku domowego w dzisiejszych czasach ...
Podsumowując: musisz sam zdecydować, jakie ryzyko chcesz podjąć ze swoim obwodem. Wykorzystanie 5V PWM do napędzania diody LED prawdopodobnie będzie działać dobrze (szczególnie jeśli dodasz kondensator, aby wygładzić falę prostokątną PWM i maksymalnie zwiększyć częstotliwość PWM). Nie bój się zbytnio wypychać elektroniki poza zwykłe warunki pracy, po prostu bądź informowany, kiedy to robisz, wiedz o podejmowanym ryzyku.
Cieszyć się!
FYI: Jestem zaskoczony, jak wiele osób natychmiast skacze do odpowiedzi: „MUSISZ UŻYWAĆ BIEŻĄCEGO REZYSTORA OGRANICZAJĄCEGO”. To dobra intencja, ale zbyt bezpieczna rada.
Ort
Możesz użyć wbudowanych rezystorów pullup, zgodnie z sugestią tutaj :
Rezystory podciągające zapewniają wystarczającą ilość prądu, aby słabo zapalić diodę LED podłączoną do wtyku skonfigurowanego jako wejście.
OUTPUT
, wspomina, że potrzebuje opornika szeregowego: „Jest to wystarczający prąd, aby jasno zaświecić diodę LED (nie zapomnij o oporniku szeregowym) lub uruchomić na przykład wiele czujników, ale za mało prądu, aby uruchomić większość przekaźniki, elektromagnesy lub silniki. ”
Odpowiedź stevenvh wyjaśnia, co musisz zrobić, ale musisz również obliczyć rozproszenie mocy na diodzie LED, aby nie wypalić rezystora spadku napięcia. Na przykład, jeśli napięcie zasilania wynosi 5 V, a napięcie przewodzenia rezystora wynosi 1,0 V, wówczas spadniesz o 4 V. Zastosowanie rezystora 220 omów da prąd (I = V / R) 18mA i rozproszenie mocy (P = IV) 72mW.
0402 Rezystor wielkości imperialnej (1005 metrycznych) ma na ogół 1/16 W, czyli 62,5 mW. W takim przypadku to nie zadziałałoby; przegrzałby rezystor i skrócił jego żywotność. Musisz więc zmienić rezystor 0402 o mocy 1 / 10W lub większy rezystor 0603.
Ilekroć wykonujesz takie obliczenia, dodaj je do schematu, aby recenzent mógł łatwo sprawdzić twoją pracę.
Należy pamiętać, że napięcie przewodzenia (a zatem wartość rezystora) jest funkcją diody LED, a różne kolory diod LED będą miały różne wartości. W szczególności niebieskie diody LED mają wysokie napięcie przewodzenia (typ ~ 3,0 V). Więc jeśli próbujesz uzyskać cztery różne diody LED o tej samej jasności, musisz powtórzyć obliczenia dla każdej diody LED. Aby naprawdę zrobić to dobrze, spójrz na właściwości optyczne każdej diody LED przy prądzie znamionowym i odpowiednio dostosuj.
Krótka odpowiedź brzmi: tak i nie, zależy od twojego arduino i zależy od koloru diody LED. Na przykład płyta 3,3 V nie wymaga szeregowego rezystora z małą zieloną diodą LED, ponieważ napięcie do przodu diody LED jest dość wysokie, zobacz to. Rezystancja wewnętrzna wynosi około 25 Ohm, weź (3,3 - 3) / 25 = 12mA, więc to nadal dobrze, nie powinieneś przekraczać maksymalnego prądu na pin, który wynosi 40mA dla procesora atmel 328p używanego na płytach UNO (chyba że używasz pochodnej 328p, gdzie może to być inna historia). Jednak dla arduino działającego przy 5 V wystąpią problemy z diodą podczerwieni, która ma znacznie niższe napięcie przewodzenia, zwykle 1,2 V, (5-1,2) / 25 = 150 mA, a to zdecydowanie za dużo, więc użyj ogranicznika prądu, takiego jak jako rezystor do sterowania tego rodzaju diodami LED. Pin 13 na płytkach Arduino (lub inny pin w wariantach) ma już szeregowo diodę LED i rezystor. Ponadto zasilacz na płytce ma maksymalną wartość znamionową, zwykle 200 mA, i musisz pozostać poniżej tego poziomu i nie możesz pobrać więcej niż pewną liczbę mA na grupę styków, wyjaśniono toTutaj . Jeśli chcesz sterować wieloma diodami LED, rozważ użycie matrycowego sterownika LED, który wykonuje dla Ciebie multipleksowanie, zobacz na przykład mój obszar YouTube, na którym demonstruję sterownik MAX7219CNG. Ale także Arduino Uno może wykonać dla Ciebie multipleksowanie, zobacz mój termometr na podczerwień z 4 siedmiosegmentowymi diodami LED na youtube. Szczęśliwego hakowania.
TAK! To może być zrobione.
Nawet jeśli to, co zostało powiedziane, jest poprawne ... jest inny sposób. Bardziej energooszczędny sposób napędzania diod LED o napięciu 5 V.
Jest to trochę nieudokumentowane i nie wiadomo, czy rozwiązanie zużyje diody LED, ale można to zrobić. Właściwie to robię.
Korzystanie z PWM przez sprzęt: Oto przykład :
#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;
}
}
PWM można również symulować za pomocą oprogramowania i timerów avrs. Możesz znaleźć przykład w bibliotece lufa, o nazwie LEDNotifier.c
.
Mój wniosek: możliwe jest prowadzenie diody LED na 5 V.
Plusy: nie ma potrzeby stosowania rezystora. Niektóre oszczędności energii (~ 50%)
Wady: Nie wiem, czy komponent jest obciążony i czy skraca jego żywotność.
Jest facet, który również przeprowadził ten eksperyment w Stanford i zamieścił informacje na swojej stronie .
analogWrite()
pomocą odpowiedniego pinu. Nadal nie jestem pewien, czy to dobry pomysł, ale przynajmniej w przypadku diod LED na podczerwień karty danych często pozwalają na znacznie wyższe prądy szczytowe dla cykli roboczych mniejszych niż 100%.