Sisukord:

12V LED PWM dimmer ESP8266 -ga: 3 sammu
12V LED PWM dimmer ESP8266 -ga: 3 sammu

Video: 12V LED PWM dimmer ESP8266 -ga: 3 sammu

Video: 12V LED PWM dimmer ESP8266 -ga: 3 sammu
Video: LED strip dimmer circuit using 555 ic | PWM LED dimmer 2024, Juuli
Anonim
12V LED PWM dimmer koos ESP8266 -ga
12V LED PWM dimmer koos ESP8266 -ga

Püüdes oma majapidamist säästvamaks muuta, vahetasin halogeenlambid led -tulede vastu. Igasuguse lambipirni asendamiseks on palju alternatiive. Seda tehes puutusin kokku järgmise probleemiga: mul oli valgusti, mis kasutas 7 12 -voldist halogeenlampi, igaüks 10 vatti. Seda valgust juhtis hämardaja, mis töötas hästi. Kui vahetasin pirnid 12 -voldiste LED -tulede vastu, igaüks 1 vatti, töötas hämardaja halvasti: valgus vilkus ja hämardus oli mõnevõrra ebaühtlane. See on probleem paljude klassikaliste dimmerite puhul: neil on minimaalne võimsus, mida nad vajavad töötamiseks.

Niisiis otsustasin oma domootikasüsteemi põhjal selle manuaalse hämardaja uue vastu välja vahetada, mille eeliseks oleks kaugjuhtimine. Olin juba ehitanud dimmeri, kasutades N-kanaliga MOSFET-i (IRF540), mis sobib ideaalselt selliste asjade jaoks: seda saab juhtida PWM-signaali abil ja see on praktiliselt hävimatu, maksimaalse nimiväärtusega 100 volti ja 33 amprit. selleks piisavalt (kiire kontroll: 7 x 1 vatt = 7 vatti, jagatud 12 voltiga annab maksimaalse voolu umbes, 58 amprit). Tahan seda hämardit kasutada mõne muu seadme jaoks, millel on 12 pirni, igaüks 2 vatti, mis annab maksimaalselt 2 amprit, nii et sellest piisab. Ainus asi, mida jälgida, on PWM -signaali sagedus, kuid Arduino või ESP8266 (500 Hz või 1 kHz) tavalised väärtused ei ole probleem.

1. samm: 1. samm: komponendid

Samm: komponendid
Samm: komponendid
  1. LED -draiver (230 volti vahelduvvoolu kuni 12 volti alalisvoolu muundur) Oma eesmärgil tahan kasutada maksimaalselt 24 vatti, seega alustasin 12 -voldise ja 2 -amprise LED -draiveriga. Leidsin ühe Hiina turustaja saidilt. Selle draiveri nimiväärtus oli 12 volti, 28 vatti, seega piisas sellest, kui juhtida seadet ise. Oma olukorra jaoks võite sõltuvalt teie seadmest kasutada kergemat või raskemat versiooni.
  2. IRF540 n-kanaliga MOSFET
  3. Kuna ma tahtsin kasutada WiFi-d ja mulle väga meeldivad Adafruit'i tooted, valisin selle plaadi: see annab mulle ESP8266, millel on mugav programmeerimispistik, pardal olev toiteregulaator ja elegantne vormitegur. See on selle projekti jaoks pisut üleliigne, kuid muudab testimise ja silumise palju lihtsamaks.
  4. LM2596-l põhinev alalisvoolu-alalisvoolu muundur need väikesed muundurid on väga tõhusad ja väga odavad.
  5. Pöörlev kodeerija koos funktsiooniga, sisseehitatud LED-tulega:

    www.sparkfun.com/products/10596

    Iga pöörlev kodeerija sobiks, kuid mulle meeldis sisseehitatud LED-i kena lisafunktsioon.

  6. Läbipaistev plastikust nupp

    www.sparkfun.com/products/10597

  7. Takisti 4k7
  8. Takisti 1k

2. samm: 2. samm: ahel

2. samm: vooluring
2. samm: vooluring

See on ahel, mida ma kasutasin: kasutasin pöördnuppude sisenditena tihvte 4 ja 5 ja nupu jaoks 0. Pin 0 on ühendatud ka pardal oleva punase LED-ga, nii et saaksin seda LED-i vaadates kontrollida kodeeritud nupu funktsiooni.

PWM -väljundi jaoks kasutatakse tihvti 16 ja ma ühendasin selle otse Sparkfuni kodeerija rohelise valgusdioodiga. ESP8266 on 3, 3 volti ja isegi 100%korral mõõtsin ainult 2, 9 volti väljundit, seega ühendasin selle otse ilma jadatakistita. Sama väljund läheb n-kanaliga MOSFET-i väravasse 1 kOhm takisti abil. 4,7 kOhm takisti abil tõmmatakse see värav kõrgele kuni 12 volti.

Ma kasutasin DC-DC muundurit, et teisendada 12 volti 5,5 voldiks, see on ühendatud Adafruit'i katkestuse V+ sisendiga. Oleksin võinud kasutada 3,3 volti ja otse ühendada, kuid see on natuke turvalisem.

Ahelas olev 12 V LED -lamp on minu seade.

3. samm: 3. samm: kood

Samm: kood
Samm: kood

Panin koodi GitHubi:

ESP8266 LED PWM dimmeri eskiis

See põhineb mõttel, mis on veel üks juhendatav:

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

Kuid see oli puhtalt kohalik kontroll, nii et lisasin oma MQTT-põhise domootikalahenduse. Põhimõtteliselt teeb see sama asja, kuid peamised erinevused on järgmised:

  • vaikimisi PWM -sammude arv Arduinoga on 255, ESP8266 puhul on see 1023 (nagu ma hiljem teada sain, püüdes kogu aeg välja selgitada, miks minu LED -seade ei tõusnud 100% heleduseni …)
  • Ma ei kasutanud kahe transistoriga "Totempole" ahelat, kuna PWM oli niikuinii alalisvool ja töötas hästi IRF 540 -ga.
  • Ma ei kasutanud kodeerija jaoks 10k tõmbetakistit, usaldasin ESP8266 sisseehitatud tõmbetuge.
  • ESP8266 kasutab Arduino 5 -voldise asemel 3,3 -voldist loogikat, mis ei osutunud IRF540 jaoks probleemiks

Tarkvaral on järgmised funktsioonid:

  • kodeerija keeramine summutab valguse (CW) või alla (CCW), 023 kuni 100%, 1023 sammuga, mõnevõrra kiirendades madalamal tasemel.
  • nupule vajutamine lülitab valguse sisse, kui see on välja lülitatud, kasutades viimati salvestatud heledustaset, või lülitab selle välja, kui see on sisse lülitatud.
  • nupu pikema vajutamise ajal, kui valgus on sisse lülitatud, salvestatakse praegune heledus vaikeväärtuseks.
  • nupu pikemaajalise vajutamise ajal, kui valgus on välja lülitatud, lülitatakse tuli 100% heledusse, muutmata vaiketaset.
  • See loob ühenduse WiFi -seadetega, mis on määratletud stringidega „SECRET_SSID” ja „SECRET_PASS”, mis salvestatakse minu visandis eraldi faili nimega „secrets.h”.
  • See loob ühenduse WiFi -võrgu MQTT -serveriga, kasutades samas failis stringe 'MQTTSERVER' ja 'MQTTPORT'.
  • Saate kasutada MQTT sissetulevat teemat „domus/esp/in”, et anda käske: „ON” või „OFF” valguse sisse- või väljalülitamiseks või väärtust 0–1023 heleduse muutmiseks.
  • See annab aru olekust MQTT teemadel „domus/esp/uit” (ON või OFF olek) ja „domus/esp/uit/brightness” (heleduse väärtus).

Soovitan: