Cuprins:
Video: Dimmer LED PWM de 12V cu ESP8266: 3 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:44
În timp ce încercam să-mi fac gospodăria mai durabilă, schimbam becuri cu halogen pentru lumini led. Există o mulțime de alternative disponibile, pentru a înlocui orice tip de bec. În timp ce făceam acest lucru, am întâmpinat următoarea problemă: aveam un corp de iluminat care folosea 7 becuri cu halogen de 12 volți, fiecare de 10 wați. Această lumină a fost controlată de un dimmer, care a funcționat bine. Când am schimbat becurile cu lumini LED de 12 volți, fiecare 1 Watt, regulatorul de lumină a funcționat prost: lumina pâlpâia, iar estomparea oarecum neregulată. Aceasta este o problemă cu o mulțime de variatoare clasice: acestea au o putere minimă de care au nevoie pentru a funcționa.
Așadar, pe baza sistemului meu de domotică, am decis să schimb acest dimmer manual cu unul nou, care ar avea avantajul suplimentar de a putea fi controlat de la distanță. Am construit deja un dimmer folosind un MOSFET cu canal N (IRF540), care este perfect pentru acest tip de lucruri: poate fi controlat de un semnal PWM și este practic indestructibil, cu puteri maxime de 100 volți și 33 Amperi, suficient de amplu pentru acest scop (verificare rapidă: 7 x 1 watt = 7 wați, împărțit la 12 volți oferă un curent maxim de aproximativ.58 amperi). Vreau să folosesc acest dimmer pentru un alt corp de iluminat care are 12 becuri, fiecare de 2 wați, care oferă un maxim de 2 Amperi, astfel încât este, de asemenea, suficient. Singurul lucru pe care trebuie să îl urmăriți este frecvența semnalului PWM, dar valorile obișnuite pentru Arduino sau ESP8266 (500 Hz sau 1 kHz) nu reprezintă o problemă.
Pasul 1: Pasul 1: componentele
- Driver LED (convertor de 230 volți AC la 12 volți DC) În scopul meu, vreau să folosesc maximum 24 de wați, așa că am început cu un driver LED de 12 volți și 2 amperi. Am găsit unul la un site de distribuție chinez. Acest driver a fost evaluat la 12 volți, 28 de wați, deci a fost suficient să conducă dispozitivul singur. Pentru propria dvs. situație, puteți utiliza o versiune mai ușoară sau mai grea, în funcție de dispozitivul dvs.
- MOSFET n-canal IRF540
- Adafruit Huzzah ESP8266 Breakout Pentru că am vrut să folosesc WiFi și ador produsele Adafruit, am ales această placă: îmi oferă un ESP8266 cu un pinout de programare convenabil, un regulator de putere la bord și un factor de formă elegant. Este un pic excesiv pentru acest proiect, dar facilitează mult testarea și depanarea.
- Convertor DC-DC bazat pe LM2596 Pentru a obține puterea pentru placa ESP de la 12 volți, am avut nevoie de un regulator; acești convertoare mici sunt foarte eficiente și foarte ieftine.
-
Codificator rotativ cu funcție de buton, cu lumină LED încorporată:
www.sparkfun.com/products/10596
Orice codor rotativ ar face, dar mi-a plăcut caracteristica adăugată drăguță a unui LED încorporat.
-
Buton din plastic transparent
www.sparkfun.com/products/10597
- Rezistor 4k7
- Rezistor 1k
Pasul 2: Pasul 2: circuitul
Acesta este circuitul pe care l-am folosit: am folosit pinii 4 și 5 ca intrări pentru codificatorul rotativ și pinul 0 pentru buton. Pinul 0 este, de asemenea, conectat la ledul roșu integrat, așa că aș putea verifica funcția butonului de pe cod, urmărind acest led.
Pinul 16 este utilizat pentru ieșirea PWM și l-am conectat direct la ledul verde de pe codificatorul Sparkfun. ESP8266 are 3, 3 volți și, chiar și cu 100%, am măsurat doar ieșirea de 2, 9 volți, așa că l-am conectat direct fără un rezistor de serie. Aceeași ieșire merge la Poarta MOSFET-ului cu canal n, prin intermediul unui rezistor de 1kOhm. Această Poartă este trasă la 12 volți la un voltaj de 4,7 kOhm.
Am folosit convertorul DC-DC pentru a converti cei 12 volți la 5,5 volți, acesta este conectat la intrarea V + a breakout-ului Adafruit. Aș fi putut folosi 3,3 volți și să-l conectez direct, dar acest lucru este puțin mai sigur.
Lampa LED de 12 V din circuit este dispozitivul meu.
Pasul 3: Pasul 3: Codul
Am pus codul pe GitHub:
Schiță pentru dimmer ESP8266 LED PWM
Se bazează pe o idee care poate fi instruită:
www.instructables.com/id/Arduino-PWM-LED-D…
Dar acesta a fost un control pur local, așa că am adăugat propria mea soluție de domotică bazată pe MQTT. Practic face același lucru, dar principalele diferențe sunt:
- numărul implicit de pași PWM cu un Arduino este 255, cu ESP8266 este 1023 (așa cum am aflat mai târziu, întreaga încercare de a afla de ce dispozitivul meu LED nu a crescut până la 100% luminozitate …)
- Nu am folosit circuitul „Totempole” cu cele 2 tranzistoare, deoarece PWM era oricum DC și a funcționat bine cu IRF 540.
- Nu am folosit rezistențele de tracțiune de 10k pentru codificator, am avut încredere în pullup-urile încorporate ale ESP8266.
- ESP8266 folosește o logică de 3,3 volți în loc de 5 volți pentru Arduino, ceea ce nu s-a dovedit a fi o problemă pentru IRF540
Software-ul are următoarele caracteristici:
- rotirea codificatorului va reduce lumina în sus (CW) sau în jos (CCW), de la 0 până la 100%, în 1023 de pași, cu o anumită viteză la nivelurile inferioare.
- apăsarea butonului va aprinde lumina când este stinsă, utilizând ultimul nivel de luminozitate salvat sau o va stinge când este aprinsă.
- apăsând butonul pentru o perioadă mai lungă de timp în timp ce lumina este aprinsă, se va salva luminozitatea curentă ca nivel implicit.
- apăsarea butonului mai mult timp în timp ce lumina este stinsă va aprinde lumina la 100% luminozitate, fără a modifica nivelul implicit.
- Se va conecta la setările WiFi definite de șirurile „SECRET_SSID” și „SECRET_PASS”, care sunt salvate într-un fișier separat din schița mea, numit „secrets.h”
- Se va conecta la un server MQTT din rețeaua WiFi, utilizând șirurile „MQTTSERVER” și „MQTTPORT” din același fișier.
- Puteți utiliza subiectul de intrare MQTT „domus / esp / in” pentru a emite comenzi: „PORNIT” sau „OPRIT” pentru a porni sau opri lumina sau o valoare de la 0 la 1023 pentru a modifica luminozitatea.
- Acesta va raporta starea subiectelor MQTT „domus / esp / uit” (starea ON sau OFF) și „domus / esp / uit / brightness” (valoarea luminozității).
Recomandat:
Invertor Mini Joule Thief de 12V - Bec LED 220V AC cu baterie de 12V: 5 pași
Invertor Mini Joule Thief 12V - Bec LED 220V AC cu baterie de 12V: Bună ziua, acesta este primul meu instructable. În acest manual de instruire vă voi spune cum am făcut un invertor simplu pentru a alimenta un bec cu LED de 12 W. Acest circuit inversează 12 V CC de la baterie la 220 V c.a. la frecvență înaltă, deoarece a folosit hoțul de joule ca inima c
PWM Cu ESP32 - LED de estompare cu PWM pe ESP 32 Cu Arduino IDE: 6 pași
PWM Cu ESP32 | Dimming LED cu PWM pe ESP 32 Cu Arduino IDE: În acest instructable vom vedea cum se generează semnale PWM cu ESP32 folosind Arduino IDE & PWM este utilizat practic pentru a genera ieșiri analogice de la orice MCU și ieșirea analogică ar putea fi între 0V și 3,3V (în cazul esp32) & din
PWM DC Motor Speed & Light Control - DC Dimmer: 7 pași
PWM DC Motor Speed & Light Control | DC Dimmer: Astăzi, în acest videoclip, vă voi arăta cum să diminuați luminile, să controlați viteza unui motor în curent continuu sau continuu, astfel încât să începem
Convinge-te să folosești doar un invertor de 12V-la-AC pentru șiruri de lumină LED în loc să le recablezi pentru 12V .: 3 pași
Convinge-te să folosești doar un invertor de 12V-AC-line pentru șiruri de lumină LED în loc să le re-conectezi pentru 12V .: Planul meu a fost simplu. Am vrut să tai un șir de lumină LED alimentat de perete în bucăți, apoi să-l reconectez pentru a curge 12 volți. Alternativa a fost utilizarea unui invertor de putere, dar știm cu toții că sunt teribil de ineficienți, nu? Dreapta? Sau sunt?
Adaptor 12v la USB Transformator 12v la 5v (excelent pentru mașini): 6 pași
Adaptor 12v la USB Transformator 12v la 5v (excelent pentru mașini): Acest lucru vă va arăta cum să faceți un adaptor de 12v la USB (5v). Cea mai evidentă utilizare a acestui lucru este pentru adaptoarele auto 12v, dar oriunde aveți 12v îl puteți folosi! Dacă aveți nevoie de 5V pentru altceva decât USB, săriți pur și simplu pașii de adăugare a porturilor USB