Përmbajtje:

12V LED PWM Dimmer Me ESP8266: 3 Hapa
12V LED PWM Dimmer Me ESP8266: 3 Hapa

Video: 12V LED PWM Dimmer Me ESP8266: 3 Hapa

Video: 12V LED PWM Dimmer Me ESP8266: 3 Hapa
Video: ESP32 PWM LED Dimmer with Arduino IDE | IoT Projects with Alexa 2024, Nëntor
Anonim
12V LED PWM Dimmer Me ESP8266
12V LED PWM Dimmer Me ESP8266

Ndërsa përpiqesha ta bëja shtëpinë time më të qëndrueshme, unë po këmbeja llamba halogjene për drita led. Ka shumë alternativa në dispozicion, për të zëvendësuar çdo lloj llambë. Ndërsa e bëja këtë, hasa në problemin e mëposhtëm: Unë kisha një pajisje ndriçimi e cila përdorte 7 llamba halogjene 12 volt, secila 10 Watt. Kjo dritë kontrollohej nga një zbehës, i cili funksionoi mirë. Kur ndërrova llambat për dritat 12 volt, secila 1 Watt, zbehësi funksionoi keq: drita po dridhej dhe zbehja disi e çrregullt. Ky është një problem me shumë zbehje klasike: ata kanë një vlerësim minimal të energjisë, për të cilin kanë nevojë për të punuar.

Kështu, bazuar në sistemin tim domotik, vendosa ta ndërroj këtë dimmer manual me një të ri, i cili do të kishte përparësinë e shtuar për të qenë në gjendje të kontrollohej nga distanca. Unë tashmë kisha ndërtuar një zbehës duke përdorur një MOSFET me kanal N (IRF540), i cili është i përsosur për këtë lloj gjëje: mund të kontrollohet nga një sinjal PWM, dhe është praktikisht i pathyeshëm, me vlerësime maksimale prej 100 volt dhe 33 Amper, mjaftueshëm për këtë qëllim (kontroll i shpejtë: 7 x 1 Watt = 7 Watt, i ndarë me 12 volt jep një rrymë maksimale prej rreth.58 Amper). Unë dua ta përdor këtë zbehës për një pajisje tjetër e cila ka 12 llamba, secila 2 vat, e cila jep një maksimum prej 2 Amper, kështu që kjo është gjithashtu e mjaftueshme. E vetmja gjë që duhet të keni parasysh frekuencën e sinjalit PWM, por vlerat e zakonshme për Arduino ose ESP8266 (500 Hz ose 1kHz) nuk janë problem.

Hapi 1: Hapi 1: Përbërësit

Hapi 1: Përbërësit
Hapi 1: Përbërësit
  1. Shofer LED (230 volt AC në 12 volt DC converter) Për qëllimin tim, unë dua të përdor një maksimum prej 24 Watts, kështu që fillova me një drejtues LED prej 12 volt dhe 2 Amper. Gjeta një në një sit shpërndarës kinez. Ky drejtues u vlerësua me 12 volt, 28 Watts, kështu që ishte e mjaftueshme për të drejtuar pajisjen vetë. Për situatën tuaj, mund të përdorni një version më të lehtë ose më të rëndë, në varësi të pajisjes tuaj.
  2. IRF540 MOSFET me kanal n
  3. Për shkak se doja të përdorja WiFi, dhe i dua absolutisht produktet e Adafruit, zgjodha këtë tabelë: më jep një ESP8266 me një pinout programimi të përshtatshëm, një rregullator të energjisë në bord dhe një faktor elegant të formës. Isshtë pak e tepërt për këtë projekt, por e bën testimin dhe korrigjimin shumë më të lehtë.
  4. Konvertues DC-DC i bazuar në LM2596 Për të nxjerrë fuqinë për bordin ESP nga 12 volt, më duhej një rregullator; këta konvertues të vegjël janë shumë efikas, dhe shumë të lirë.
  5. Kodifikues rrotullues me funksion butoni, me dritë led të integruar:

    www.sparkfun.com/products/10596

    Çdo kodifikues rrotullues do të bënte, por më pëlqeu veçoria e bukur e shtuar e një LED të integruar.

  6. Çelës plastik i qartë

    www.sparkfun.com/products/10597

  7. Rezistenca 4k7
  8. Rezistencë 1k

Hapi 2: Hapi 2: Qarku

Hapi 2: Qarku
Hapi 2: Qarku

Ky është qarku që kam përdorur: kam përdorur kunjat 4 dhe 5 si hyrje për koduesin rrotullues dhe pin 0 për butonin. Pin 0 është gjithashtu i lidhur me led të kuq në bord, kështu që unë mund të kontrolloj funksionin e butonit në kodim duke shikuar këtë led.

Pin 16 përdoret për daljen PWM, dhe unë e lidha këtë drejtpërdrejt me led të gjelbër në koduesin Sparkfun. ESP8266 është 3, 3 volt, dhe madje edhe me 100%, mata vetëm 2, 9 volt dalje, kështu që e lidha drejtpërdrejt pa një rezistencë seri. Ky prodhim i njëjtë shkon te Porta e n-kanalit MOSFET, me anë të një rezistence 1kOhm. Kjo Portë tërhiqet lart në 12 volt nga një rezistencë 4.7 kOhm.

Kam përdorur konvertuesin DC-DC për të kthyer 12 volt në 5.5 volt, kjo është e lidhur me hyrjen V+ të daljes Adafruit. Mund të kisha përdorur 3.3 volt dhe ta lidhja atë drejtpërdrejt, por kjo është pak më e sigurt.

Llamba LED 12 V në qark është pajisja ime.

Hapi 3: Hapi 3: Kodi

Hapi 3: Kodi
Hapi 3: Kodi

E vendos kodin në GitHub:

Skicë për zbehësin ESP8266 LED PWM

Ajo bazohet në një ide tjetër të udhëzueshme:

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

Por ky ishte thjesht kontroll lokal, kështu që shtova zgjidhjen time domotike të bazuar në MQTT. Në thelb bën të njëjtën gjë, por dallimet kryesore janë:

  • numri i paracaktuar i hapave PWM me një Arduino është 255, me ESP8266 është 1023 (siç zbulova më vonë, i tërë duke u përpjekur të kuptoj pse pajisja ime LED nuk u rrit deri në 100% shkëlqim …)
  • Unë nuk e përdor qarkun 'Totempole' me 2 transistorët, pasi PWM ishte DC gjithsesi, dhe punoi mirë me IRF 540.
  • Unë nuk kam përdorur rezistencat tërheqëse 10k për kodifikuesin, kam besim në tërheqjet e integruara të ESP8266.
  • ESP8266 përdor logjikë 3.3 volt në vend të 5 volt për Arduino, gjë që nuk rezultoi problem për IRF540

Softueri ka karakteristikat e mëposhtme:

  • kthimi i koduesit do të zbehë dritën lart (CW) ose poshtë (CCW), nga 0 deri në 100%, në 1023 hapa, me disa që përshpejtohen në nivelet më të ulëta.
  • shtypja e butonit do të ndezë dritën kur është e fikur, duke përdorur nivelin e fundit të ruajtur të shkëlqimit, ose do ta fik atë kur është ndezur.
  • shtypja e butonit për një kohë më të gjatë ndërsa drita është e ndezur do të kursejë shkëlqimin aktual si nivelin e paracaktuar.
  • shtypja e butonit për një kohë më të gjatë ndërsa drita është e fikur do ta ndezë dritën në 100% shkëlqim, pa ndryshuar nivelin e paracaktuar.
  • Do të lidhet me cilësimet WiFi të përcaktuara nga vargjet 'SECRET_SSID' dhe 'SECRET_PASS', të cilat ruhen në një skedar të veçantë në skicën time, të quajtur 'secrets.h'
  • Do të lidhet me një server MQTT në rrjetin WiFi, duke përdorur vargjet 'MQTTSERVER' dhe 'MQTTPORT' në të njëjtin skedar.
  • Ju mund të përdorni temën hyrëse të MQTT 'domus/esp/in' për të lëshuar komanda: 'ON' ose 'OFF' për të ndezur ose fikur dritën, ose një vlerë nga 0 në 1023 për të ndryshuar shkëlqimin.
  • Ai do të raportojë gjendjen mbi temat MQTT 'domus/esp/uit' (ON ose OFF status) dhe 'domus/esp/uit/brightness' (vlera e shkëlqimit).

Recommended: