Sisällysluettelo:

12V LED PWM himmennin ESP8266: 3 askelta
12V LED PWM himmennin ESP8266: 3 askelta

Video: 12V LED PWM himmennin ESP8266: 3 askelta

Video: 12V LED PWM himmennin ESP8266: 3 askelta
Video: LED Dimmer PWM Controller ESP Web Server ESP32 PWM with Arduino IDE #shorts 2024, Marraskuu
Anonim
12V LED PWM himmennin, jossa ESP8266
12V LED PWM himmennin, jossa ESP8266

Yrittäessäni tehdä kotitaloudestani kestävämpää vaihdoin halogeenilamppuja led -valoihin. Saatavana on paljon vaihtoehtoja minkä tahansa tyyppisen lampun vaihtamiseksi. Tätä tehdessäni törmäsin seuraavaan ongelmaan: Minulla oli valaisin, joka käytti 7 12 voltin halogeenilamppua, kukin 10 wattia. Tätä valoa hallitsi himmennin, joka toimi hyvin. Kun vaihdoin polttimot 12 voltin led -valoihin, kukin 1 W, himmennin toimi huonosti: valo välkkyi ja himmennys hieman epäsäännöllistä. Tämä on ongelma monien klassisten himmentimien kanssa: niillä on minimaalinen teholuokka, jota he tarvitsevat toimiakseen.

Joten päätin vaihtaa domoottisen järjestelmäni perusteella tämän manuaalisen himmentimen uuteen, jonka lisäetuna olisi etäohjattavuus. Olin jo rakentanut himmentimen käyttämällä N-kanavaista MOSFETia (IRF540), joka on täydellinen tällaiseen tarkoitukseen: sitä voidaan ohjata PWM-signaalilla ja se on käytännössä tuhoutumaton, ja sen suurin sallittu arvo on 100 volttia ja 33 ampeeria, riittävästi tähän tarkoitukseen (nopea tarkistus: 7 x 1 Watt = 7 W, jaettuna 12 voltilla antaa maksimivirran noin.58 ampeeria). Haluan käyttää tätä himmennintä toiseen valaisimeen, jossa on 12 lamppua, kukin 2 wattia, mikä antaa enintään 2 ampeeria, joten sekin riittää. Ainoa asia, jota on pidettävä silmällä, on PWM -signaalin taajuus, mutta Arduinon tai ESP8266: n (500 Hz tai 1 kHz) tavalliset arvot eivät ole ongelma.

Vaihe 1: Vaihe 1: Komponentit

Vaihe 1: Komponentit
Vaihe 1: Komponentit
  1. LED -ohjain (230 voltin AC -12 voltin tasavirtamuuntaja) Haluan käyttää enimmäkseen 24 wattia, joten aloitin 12 voltin ja 2 ampeerin LED -ohjaimella. Löysin sellaisen kiinalaisesta jakelusivustosta. Tämän ohjaimen teho oli 12 volttia ja 28 wattia, joten se riitti ajamaan valaisinta yksinään. Omassa tilanteessasi voit käyttää kevyempää tai raskaampaa versiota laitteistasi riippuen.
  2. IRF540 n-kanavainen MOSFET
  3. Adafruit Huzzah ESP8266 Breakout Koska halusin käyttää WiFi: tä ja rakastan ehdottomasti Adafruutin tuotteita, valitsin tämän levyn: se antaa minulle ESP8266: n, jossa on kätevä ohjelmointitappi, sisäinen tehonsäädin ja tyylikäs muoto. Se on hieman ylilyönti tälle projektille, mutta se helpottaa testaamista ja virheenkorjausta.
  4. LM2596-pohjainen DC-DC-muunnin Tarvitsen säätimen ESP-kortin virran saamiseksi 12 voltista; nämä pienet muuntimet ovat erittäin tehokkaita ja erittäin halpoja.
  5. Kiertokooderi painiketoiminnolla, sisäänrakennetulla led-valolla:

    www.sparkfun.com/products/10596

    Mikä tahansa pyörivä anturi tekisi, mutta pidin sisäänrakennetun LED-valon mukavasta lisäominaisuudesta.

  6. Kirkas muovinen nuppi

    www.sparkfun.com/products/10597

  7. Vastus 4k7
  8. Vastus 1k

Vaihe 2: Vaihe 2: piiri

Vaihe 2: Piiri
Vaihe 2: Piiri

Tätä piiriä käytin: käytin nastat 4 ja 5 pyörivän anturin tuloina ja nasta 0 painiketta varten. Nasta 0 on myös kytketty sisäiseen punaiseen lediin, joten voisin tarkistaa koodin painikkeen toiminnan katsomalla tätä lediä.

PWM -lähtöön käytetään nasta 16, ja liitin sen suoraan Sparkfun -anturin vihreään lediin. ESP8266 on 3,3 volttia, ja jopa 100%: lla mitasin vain 2,9 voltin ulostulon, joten liitin sen suoraan ilman sarjavastusta. Tämä sama lähtö menee n-kanavan MOSFETin portille 1 kOhm: n vastuksen kautta. 4,7 kOhm: n vastus vetää portin korkealle 12 volttiin.

Käytin DC-DC-muuntimella 12 voltin muuntamista 5,5 volttiin, tämä on kytketty Adafruit-katkaisun V+ -tuloon. Olisin voinut käyttää 3,3 volttia ja kytkeä sen suoraan, mutta tämä on hieman turvallisempaa.

Piirin 12 V: n LED -lamppu on minun laitteeni.

Vaihe 3: Vaihe 3: koodi

Vaihe 3: Koodi
Vaihe 3: Koodi

Laitoin koodin GitHubiin:

Luonnos ESP8266 LED PWM -himmentimelle

Se perustuu ajatukseen, joka on toinen opettavainen:

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

Mutta tämä oli puhtaasti paikallinen valvonta, joten lisäsin oman MQTT-pohjaisen domotiikkaratkaisuni. Se tekee periaatteessa saman, mutta tärkeimmät erot ovat:

  • PWM -portaiden oletusmäärä Arduinolla on 255, ESP8266: lla 1023 (kuten huomasin myöhemmin, koko yrittäen selvittää, miksi LED -valaisin ei noussut 100%: n kirkkauteen …)
  • En käyttänyt Totempole -piiriä kahden transistorin kanssa, koska PWM oli joka tapauksessa DC ja toimi hyvin IRF 540: n kanssa.
  • En käyttänyt 10k: n vetovastuksia kooderissa, luotin ESP8266: n sisäänrakennettuihin vetimiin.
  • ESP8266 käyttää 3,3 voltin logiikkaa 5 voltin sijasta Arduinolle, mikä ei osoittautunut ongelmaksi IRF540: lle

Ohjelmistolla on seuraavat ominaisuudet:

  • Enkooderin kääntäminen himmentää valoa (CW) tai alas (CCW) 0: sta 100%: iin 1023 askeleella, ja osa nopeutuu alemmilla tasoilla.
  • painikkeen painaminen sytyttää valon, kun se on pois päältä, käyttämällä viimeksi tallennettua kirkkaustasoa tai sammuttaa sen, kun se on päällä.
  • painikkeen painaminen pidempään valon palaessa tallentaa nykyisen kirkkauden oletusarvoksi.
  • Painikkeen painaminen pidempään valon ollessa sammutettuna sytyttää valon 100%: n kirkkauteen muuttamatta oletusarvoa.
  • Se muodostaa yhteyden SECRET_SSID- ja SECRET_PASS -merkkijonojen määrittelemiin WiFi -asetuksiin, jotka tallennetaan luonnokseeni erilliseen tiedostoon, nimeltään "secrets.h".
  • Se muodostaa yhteyden MQTT -palvelimeen WiFi -verkossa käyttämällä saman tiedoston 'MQTTSERVER' ja 'MQTTPORT' merkkijonoja.
  • Voit käyttää MQTT: n tulevaa aihetta 'domus/esp/in' antaaksesi komentoja: 'ON' tai 'OFF' sytyttääksesi valon tai sammuttaaksesi sen tai muuttaa arvoa 0-1023 muuttaaksesi kirkkautta.
  • Se raportoi tilan MQTT -aiheista "domus/esp/uit" (ON tai OFF -tila) ja "domus/esp/uit/brightness" (kirkkausarvo).

Suositeltava: