Kazalo:

12V LED PWM zatemnilnik z ESP8266: 3 koraki
12V LED PWM zatemnilnik z ESP8266: 3 koraki

Video: 12V LED PWM zatemnilnik z ESP8266: 3 koraki

Video: 12V LED PWM zatemnilnik z ESP8266: 3 koraki
Video: Control Position and Speed of Stepper motor with L298N module using Arduino 2024, November
Anonim
12V LED PWM zatemnilnik z ESP8266
12V LED PWM zatemnilnik z ESP8266

Medtem ko sem poskušal narediti svoje gospodinjstvo bolj trajnostno, sem zamenjal halogenske žarnice za LED luči. Na voljo je veliko možnosti za zamenjavo katere koli vrste žarnice. Pri tem sem naletel na naslednjo težavo: imel sem svetilko, ki je uporabljala 7 12 -voltnih halogenskih žarnic, vsaka 10 vatov. To svetlobo je nadzoroval zatemnilnik, ki je deloval dobro. Ko sem žarnice zamenjal za 12 -voltne LED luči, vsaka 1 W, je zatemnilnik deloval slabo: luč je utripala, zatemnitev pa nekoliko neredno. To je težava z veliko klasičnimi zatemnilniki: imajo minimalno moč, ki jo potrebujejo za delo.

Zato sem se na podlagi svojega domotičnega sistema odločil, da ročni zatemnilnik zamenjam z novim, kar bi imelo dodatno prednost, da ga je mogoče upravljati na daljavo. S pomočjo N-kanalnega MOSFET-a (IRF540) sem že zgradil zatemnilnik, ki je kot nalašč za tovrstne stvari: upravljamo ga lahko s PWM signalom in je skoraj neuničljiv, z največjimi nazivi 100 voltov in 33 amperov, dovolj dovolj za ta namen (hitro preverjanje: 7 x 1 W = 7 W, deljeno z 12 V daje največji tok približno 0,58 A). Ta zatemnilnik želim uporabiti za drugo napeljavo, ki ima 12 žarnic, vsaka 2 vata, kar daje največ 2 ampera, kar tudi zadostuje. Edino, na kar morate biti pozorni, je frekvenca signala PWM, vendar običajne vrednosti za Arduino ali ESP8266 (500 Hz ali 1 kHz) niso problem.

1. korak: 1. korak: komponente

Korak: Komponente
Korak: Komponente
  1. Gonilnik LED (pretvornik 230 V AC do 12 V DC) Za svoj namen želim uporabiti največ 24 vatov, zato sem začel z gonilnikom LED 12 voltov in 2 ampera. Enega sem našel na spletnem mestu kitajskega distributerja. Ta gonilnik je bil ocenjen na 12 voltov, 28 vatov, zato je zadostoval za samostojno vožnjo napeljave. Za svojo situacijo lahko uporabite lažjo ali težjo različico, odvisno od vaše napeljave.
  2. N-kanalni MOSFET IRF540
  3. Adafruit Huzzah ESP8266 Breakout Ker sem želel uporabiti WiFi in so mi izdelki Adafruit zelo všeč, sem se odločil za to ploščo: daje mi ESP8266 s priročnim programiranjem, vgrajenim regulatorjem moči in elegantno obliko. Za ta projekt je nekoliko preveč, vendar olajša testiranje in odpravljanje napak.
  4. DC-DC pretvornik, ki temelji na LM2596 Če sem želel napajati ploščo ESP iz 12 voltov, sem potreboval regulator; ti majhni pretvorniki so zelo učinkoviti in zelo poceni.
  5. Rotacijski dajalnik s funkcijo gumba, z vgrajeno led lučko:

    www.sparkfun.com/products/10596

    Vsak rotacijski kodirnik bi bil primeren, vendar mi je bila všeč lepa dodana funkcija vgrajene LED.

  6. Čist plastični gumb

    www.sparkfun.com/products/10597

  7. Upor 4k7
  8. Upor 1k

2. korak: 2. korak: vezje

2. korak: vezje
2. korak: vezje

To vezje sem uporabil: uporabil sem zatiče 4 in 5 kot vhode za vrtljivi dajalnik in pin 0 za gumb. Pin 0 je priključen tudi na vgrajeno rdečo LED, tako da bi lahko preveril delovanje gumba na kodiranju, če bi gledal ta LED.

Pin 16 se uporablja za izhod PWM in to sem priključil neposredno na zeleno LED na dajalniku Sparkfun. ESP8266 je 3,3 voltov in tudi pri 100%sem izmeril le 2,9 voltov, zato sem ga priključil neposredno brez zaporednega upora. Isti izhod gre na vrata n-kanalnega MOSFET-a z uporom 1kOhm, ki ga s 4,7 kOhm uporom potegne visoko na 12 voltov.

Uporabil sem pretvornik DC-DC za pretvorbo 12 voltov v 5,5 voltov, to je povezano z vhodom V+ na prelomu Adafruit. Lahko bi uporabil 3,3 volta in ga neposredno priključil, vendar je to nekoliko varneje.

12 V LED svetilka v tokokrogu je moja stalnica.

3. korak: 3. korak: Koda

3. korak: Koda
3. korak: Koda

Kodo sem dal na GitHub:

Skica za LED PWM zatemnilnik ESP8266

Temelji na ideji, ki jo je treba poučiti:

www.instructables.com/id/Arduino-PWM-LED-D…

Toda to je bil izključno lokalni nadzor, zato sem dodal svojo lastno rešitev domotike na osnovi MQTT. V bistvu dela isto, vendar so glavne razlike:

  • privzeto število korakov PWM pri Arduinu je 255, pri ESP8266 pa 1023 (kot sem ugotovil kasneje, ves čas poskušam ugotoviti, zakaj se moja svetilka LED ni dvignila vse do 100% svetlosti …)
  • Z 2 tranzistorjema nisem uporabil vezja 'Totempole', saj je bil PWM vseeno enosmerni in je z IRF 540 deloval dobro.
  • Za dajalnik nisem uporabil 10k vlečnih uporov, zaupal sem vgrajenim vlečnim pultom ESP8266.
  • ESP8266 uporablja 3,3 voltno logiko namesto 5 voltov za Arduino, kar se ni izkazalo za IRF540

Programska oprema ima naslednje funkcije:

  • z obračanjem dajalnika se bo svetloba navzgor (CW) ali navzdol (CCW), v 1023 korakih zatemnila, od 0 pa vse do 100%, pri čemer se bo nekaj pospešilo na nižjih ravneh.
  • s pritiskom na gumb se lučka prižge, ko je izklopljena, z uporabo zadnje shranjene stopnje svetlosti, ali pa jo ugasne, ko je vklopljena.
  • daljši pritisk gumba, medtem ko lučka sveti, bo trenutno svetlost shranil kot privzeto raven.
  • če dlje časa pritisnete gumb, medtem ko je lučka izklopljena, bo luč prižgala 100% svetlost, ne da bi spremenila privzeto raven.
  • Povezala se bo z nastavitvami WiFi, ki so določene z nizoma 'SECRET_SSID' in 'SECRET_PASS', ki so shranjene v ločeni datoteki v moji skici, imenovani 'secrets.h'
  • Povezala se bo s strežnikom MQTT v omrežju WiFi z uporabo nizov 'MQTTSERVER' in 'MQTTPORT' v isti datoteki.
  • Vhodno temo MQTT 'domus/esp/in' lahko uporabite za izdajo ukazov: 'ON' ali 'OFF' za vklop ali izklop luči ali vrednost od 0 do 1023 za spremembo svetlosti.
  • Poročal bo o stanju za teme MQTT 'domus/esp/uit' (stanje vklopljeno ali izklopljeno) in 'domus/esp/uit/svetlost' (vrednost svetlosti).

Priporočena: