Tartalomjegyzék:

12V LED PWM dimmer ESP8266 -mal: 3 lépés
12V LED PWM dimmer ESP8266 -mal: 3 lépés

Videó: 12V LED PWM dimmer ESP8266 -mal: 3 lépés

Videó: 12V LED PWM dimmer ESP8266 -mal: 3 lépés
Videó: WLED: non-addressable 12V LED Dimmer 2024, Július
Anonim
12V LED PWM dimmer ESP8266 -al
12V LED PWM dimmer ESP8266 -al

Miközben fenntarthatóbbá akartam tenni a háztartásomat, halogén izzókat cseréltem led fényekre. Rengeteg alternatíva áll rendelkezésre bármilyen típusú izzó cseréjéhez. Eközben a következő problémával találkoztam: Volt egy világítótestem, amely 7 db 12 voltos halogén izzót használt, egyenként 10 wattos. Ezt a fényt egy tompító szabályozta, ami jól működött. Amikor kicseréltem az izzókat 12 voltos, egyenként 1 wattos LED -es lámpákra, a fényerő -szabályozó rosszul működött: a fény villogott, és a tompítás kissé szabálytalan volt. Ez sok klasszikus fényerőszabályzónál jelent problémát: minimális teljesítményértékkel rendelkeznek, amire szükségük van a működéshez.

Így a domotikus rendszerem alapján úgy döntöttem, hogy ezt a manuális fényerő -szabályozót kicserélem egy újra, aminek további előnye, hogy távolról vezérelhető. Már építettem egy fényerőszabályzót egy N-csatornás MOSFET (IRF540) segítségével, ami tökéletes az ilyen jellegű dolgokra: PWM jel vezérelhető, és gyakorlatilag elpusztíthatatlan, maximális feszültsége 100 volt és 33 amper, elegendő erre a célra (gyors ellenőrzés: 7 x 1 Watt = 7 W, osztva 12 V -tal, kb. 58 Amper maximális áramot ad). Ezt a fényerőszabályozót egy másik lámpához szeretném használni, amelyben 12 izzó van, mindegyik 2 watt, ami maximum 2 A -t ad, tehát ez is elegendő. Az egyetlen dolog, amire figyelni kell, a PWM jel frekvenciája, de az Arduino vagy az ESP8266 (500 Hz vagy 1 kHz) szokásos értékei nem jelentenek problémát.

1. lépés: 1. lépés: az összetevők

1. lépés: Az összetevők
1. lépés: Az összetevők
  1. LED meghajtó (230 voltos AC és 12 voltos egyenáramú átalakító) Célomból maximum 24 wattot szeretnék használni, ezért 12 voltos és 2 amperos LED -meghajtóval kezdtem. Találtam egyet egy kínai forgalmazó oldalon. Ez a meghajtó 12 volt, 28 watt névleges teljesítményű volt, így elegendő volt önmagában meghajtani a szerelvényt. Saját helyzete szerint használhat egy könnyebb vagy nehezebb verziót, a felszereléstől függően.
  2. IRF540 n-csatornás MOSFET
  3. Mivel WiFi-t akartam használni, és nagyon szeretem az Adafruit termékeit, ezt a táblát választottam: ez egy ESP8266-ot ad nekem, kényelmes programozási érintkezővel, fedélzeti teljesítményszabályozóval és elegáns formavilággal. Ez egy kicsit túlzás ehhez a projekthez, de sokkal könnyebbé teszi a tesztelést és a hibakeresést.
  4. LM2596 alapú DC-DC átalakító Annak érdekében, hogy az ESP kártya áramellátását 12 voltból nyerjem, szükségem volt egy szabályozóra; ezek a kis átalakítók nagyon hatékonyak és nagyon olcsók.
  5. Rotációs kódoló gomb funkcióval, beépített ledlámpával:

    www.sparkfun.com/products/10596

    Bármilyen forgó jeladó megteszi, de tetszett a beépített LED szép hozzáadott tulajdonsága.

  6. Átlátszó műanyag gomb

    www.sparkfun.com/products/10597

  7. Ellenállás 4k7
  8. Ellenállás 1k

2. lépés: 2. lépés: Az áramkör

2. lépés: Az áramkör
2. lépés: Az áramkör

Ezt az áramkört használtam: a 4 -es és 5 -ös csapokat használtam bemenetként a forgó jeladóhoz, és a 0 -as érintkezőt a gombhoz. A 0-as érintkező szintén a fedélzeti piros LED-hez van csatlakoztatva, így ellenőrizni tudtam a kódolás gombjának működését, ha megnéztem ezt a ledet.

A 16. tüskét használják a PWM kimenethez, és ezt közvetlenül a Sparkfun kódoló zöld ledjéhez kötöttem. Az ESP8266 3, 3 voltos, és még 100%-nál is csak 2, 9 voltos kimenetet mértem, ezért közvetlenül soros ellenállás nélkül csatlakoztattam. Ugyanez a kimenet megy az n-csatornás MOSFET kapujához 1 kOhm-os ellenálláson keresztül. Ezt a kaput egy 12,7 voltos feszültségre húzza egy 4,7 kOhm-os ellenállás.

A DC-DC átalakítóval átalakítottam a 12 V-ot 5,5 V-ra, ez az Adafruit Breakout V+ bemenetéhez van csatlakoztatva. Használhattam volna 3,3 voltot és közvetlenül csatlakoztathattam volna, de ez egy kicsit biztonságosabb.

A 12 V -os LED -es lámpa az áramkörben a szerelvényem.

3. lépés: 3. lépés: a kód

3. lépés: A kód
3. lépés: A kód

Feltettem a kódot a GitHub -ra:

Vázlat az ESP8266 LED PWM dimmerhez

Egy másik tanulságos ötleten alapul:

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

De ez tisztán helyi ellenőrzés volt, ezért hozzáadtam a saját MQTT-alapú domotikai megoldást. Alapvetően ugyanazt teszi, de a fő különbségek a következők:

  • A PWM lépések alapértelmezett száma Arduino esetén 255, az ESP8266 esetében 1023 (mint később megtudtam, egészben próbálom kitalálni, hogy miért nem emelkedett a LED -es lámpám 100% -os fényerőig …)
  • Nem használtam a "Totempole" áramkört a 2 tranzisztorral, mivel a PWM egyébként egyenáramú volt, és jól működött az IRF 540 -el.
  • Nem használtam a 10k felhúzó ellenállást a kódolóhoz, bíztam az ESP8266 beépített felhúzásaiban.
  • Az ESP8266 5 volt helyett 3,3 voltos logikát használ az Arduino esetében, ami nem bizonyult problémának az IRF540 esetében

A szoftver a következő tulajdonságokkal rendelkezik:

  • a jeladó elforgatása halványítja a fényt (CW) vagy lefelé (CCW), 0 -ról 100%-ra, 1023 lépésben, némi gyorsulással az alsó szinteken.
  • a gomb megnyomása akkor kapcsolja be a lámpát, amikor az ki van kapcsolva, az utoljára mentett fényerőszint használatával, vagy kikapcsol, amikor be van kapcsolva.
  • a gomb hosszabb ideig tartó megnyomása, amíg a fény világít, az aktuális fényerőt menti alapértelmezett szintként.
  • Ha a gombot hosszabb ideig nyomja meg, miközben a fény ki van kapcsolva, akkor a fény 100% -os fényerőre kapcsol, az alapértelmezett szint megváltoztatása nélkül.
  • Csatlakozni fog a „SECRET_SSID” és „SECRET_PASS” karakterláncok által meghatározott WiFi -beállításokhoz, amelyek a vázlatomban egy külön fájlban, a „secrets.h” néven kerülnek mentésre.
  • Csatlakozik egy MQTT szerverhez a WiFi hálózatban, ugyanabban a fájlban az "MQTTSERVER" és az "MQTTPORT" karakterláncok használatával.
  • Az MQTT bejövő „domus/esp/in” témakörével parancsokat adhat ki: „BE” vagy „KI” a fény be- vagy kikapcsolásához, vagy 0–1023 értéket a fényerő módosításához.
  • Jelentést készít az MQTT „domus/esp/uit” (BE vagy KI állapot) és „domus/esp/uit/brightness” (fényerő érték) témáiról.

Ajánlott: