Pytanie:
Arduino PWM kontroluje diodę LED dużej mocy
robzy
2009-12-07 15:39:05 UTC
view on stackexchange narkive permalink

Chcę użyć jednego z wyjść PWM Arduino do sterowania diodą LED o dużej mocy. Nie pamiętam dokładnych specyfikacji, ale był znacznie większy prąd niż może zapewnić ATMega328.

Zdaję sobie sprawę, że zwykle można to osiągnąć za pomocą tranzystora i rezystora do kontroli prądu dioda LED. Jednak nie chcę, aby dioda LED stawała się mniej jasna wraz ze spadkiem napięcia akumulatora, dlatego chcę użyć źródła prądu stałego zamiast rezystora.

Moją pierwszą myślą było użycie LM317. Chciałbym jednak wiedzieć, czy może on odpowiadać na częstotliwości 64 kHz, co będzie musiał?

Alternatywnie, czy mogę użyć prostego tranzystora MOSFET, aby uzyskać to samo tańsze i prostsze? (Wtedy nie potrzebowałbym tranzystora ani stałego źródła prądu, ponieważ MOSFET zrobiłby to oba)

Dzięki, Rob.

Czy naprawdę potrzebujesz modulować przy 64 kHz? Jeśli próbujesz tylko kontrolować widoczną jasność, to szybciej niż jest to wymagane. Więcej szczegółów, takich jak zakres napięcia, jakiego oczekujesz od akumulatora oraz prąd roboczy i napięcie diody LED, pomogłoby w uzyskaniu lepszej odpowiedzi.
Chcę kontrolować fizyczną jasność i kolor diody LED RGB. Jestem prawie pewien, że patrzę na aktualne wartości 200mA dla każdego koloru diody, napięcie akumulatora powinno wynosić 3,5-4,5 V, a napięcie diod LED wahać się między 2,5-3,2 V.
robzy - Po przejrzeniu [dokumentacji arduino] (http://arduino.cc/en/Reference/AnalogWrite) domyślna funkcja PWM obsługuje tylko częstotliwość 490 Hz. Jeśli wykonasz analogWrite (1), przełoży się to na sygnał PWM z cyklem pracy 0,39%. Czy należy nazywać to sygnałem 64kHz?
Kilka interesujących odpowiedzi, ale nie były one wystarczające dla mojego poziomu wiedzy.Przyszli czytelnicy mogą chcieć zobaczyć ten post, aby uzyskać wiele szczegółów: http://joost.damad.be/2012/09/dimming-12v-led-strip-with-mosfet-and.html
Cztery odpowiedzi:
#1
+6
starblue
2009-12-07 18:23:34 UTC
view on stackexchange narkive permalink

Nie potrzebujesz 64 kHz do tej aplikacji, 200 Hz wystarczy.

Użyłem następującej konstrukcji, dla prądu około 200mA:

+ 5V --- LED --- tranzystor - (1) - bocznik (1 Ohm) --- GND

(1) idzie na ujemne wejście LM358 OpAmp. Ważne jest, aby OpAmp działał do dolnej szyny (GND), ponieważ na boczniku jest tylko niewielkie napięcie.

Wyjście OpAmp steruje tranzystorem przez odpowiedni rezystor.

Wejście dodatnie jest podłączone do dzielnika napięcia, który jest zasilany ze styku portu. Dzielnik napięcia i bocznik określają prąd płynący przez diodę LED.

Właściwie myślę, że potrzebuję 64 kHz. Częstotliwość PWM wynosi około 500 Hz, co jest podzielone na okresy 2 milisekund. Na najniższym poziomie (przed wyłączeniem) jest włączony przez 1/256 tego czasu, czyli impulsy 8 ms. Okazuje się, że wynosi 128 kHz (przypadkowo użyłem 128 poziomów w moich pierwotnych szacunkach).
@robzy: masz na myśli 8 serii US, a nie 8 ms. Mylisz szerokość impulsu z częstotliwością. 500 Hz to 500 Hz, nawet jeśli cykl pracy wynosi 0,1%.
#2
+4
Clint Lawrence
2009-12-07 18:35:13 UTC
view on stackexchange narkive permalink

Arkusz danych dla LM317 pokazuje, że jego czas odpowiedzi skokowej jest rzędu 10 uS. Będzie to zbyt wolne, aby modulować przy 64 kHz.

Bieżące źródło jest właściwym podejściem. W zależności od całkowitej mocy potrzebnej do napędzania diody LED, liniowe źródło prądu, takie jak sugerowane starblue, może działać, ale jeśli moc jest wyższa, może być konieczne użycie regulatora buck.

@Clint Lawrence - Pojedynczy krok w fali prostokątnej 64kHz to 15uS. Jeśli LM317 ma szybkość narastania 10uS, czy nie poradziłby sobie z tą falą prostokątną?
#3
+2
jluciani
2009-12-16 05:41:21 UTC
view on stackexchange narkive permalink

Użyłbym wzmacniacza operacyjnego, rezystora i tranzystora FET, aby stworzyć stały ujście prądu. Gdy napięcie spada, wzmacniacz operacyjny będzie napędzał bramkę FET, aby utrzymać stały prąd przez rezystor sensujący.

Jeśli przewiniesz w dół do sekcji „Electronic Load” na Luciani.org, zobaczysz schemat „ogniwa obciążnikowego”, które jest prądem stałym. Możesz wykonać PWM zlewu, okresowo ustawiając zaprogramowany prąd na zero.

Mój prototyp działa. Znajduje się w sekcji „nie całkiem gotowe” w witrynie wiblocks.

#4
  0
Kavka
2011-12-03 03:43:04 UTC
view on stackexchange narkive permalink

Możesz umieścić precyzyjny rezystor o niskiej rezystancji szeregowo z diodą LED i użyć wejścia analogowego Arduino do pomiaru spadku napięcia na rezystorze. Możesz obliczyć prąd LED na podstawie tego pomiaru i dostosować cykl pracy sygnału PWM, aby skompensować zmiany napięcia baterii.

Pamiętaj, że nie zadziała, jeśli Arduino nie ma stałego napięcia odniesienia dla Analog na konwersję cyfrową.



To pytanie i odpowiedź zostało automatycznie przetłumaczone z języka angielskiego.Oryginalna treść jest dostępna na stackexchange, za co dziękujemy za licencję cc by-sa 2.0, w ramach której jest rozpowszechniana.
Loading...