Innehållsförteckning:
Video: 12V LED PWM Dimmer med ESP8266: 3 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:45
När jag försökte göra mitt hushåll mer hållbart bytte jag ut halogenlampor mot LED -lampor. Det finns gott om alternativ att byta ut alla typer av glödlampor. När jag gjorde detta stötte jag på följande problem: Jag hade en lampa som använde 7 12 volts halogenlampor, var 10 watt. Detta ljus styrdes av en dimmer, vilket fungerade bra. När jag bytte lamporna mot 12 volts LED -lampor, varje 1 Watt, fungerade dimmern dåligt: ljuset flimrade och dimningen blev något oregelbunden. Detta är ett problem med många klassiska dimmare: de har en minimal effektnivå som de behöver för att fungera.
Så, baserat på mitt domotiksystem, bestämde jag mig för att byta den här manuella dimmern mot en ny, vilket skulle ha den extra fördelen att kunna fjärrstyras. Jag hade redan byggt en dimmer med en N-kanal MOSFET (IRF540), vilket är perfekt för den här typen av saker: den kan styras av en PWM-signal, och den är praktiskt taget oförstörbar, med maximala effekter på 100 volt och 33 ampere, tillräckligt för detta ändamål (snabbkontroll: 7 x 1 Watt = 7 Watt, dividerat med 12 volt ger en maximal ström på cirka.58 ampere). Jag vill använda denna dimmer för en annan armatur som har 12 lampor, varje 2 watt, vilket ger högst 2 ampere, så det är också tillräckligt. Det enda som ska se upp för PWM -signalens frekvens, men de vanliga värdena för Arduino eller ESP8266 (500 Hz eller 1 kHz) är inte ett problem.
Steg 1: Steg 1: Komponenterna
- LED -drivrutin (230 volt AC till 12 volt DC -omvandlare) För mitt ändamål vill jag använda maximalt 24 watt, så jag började med en LED -drivare på 12 volt och 2 ampere. Jag hittade en på en kinesisk distributörssida. Denna förare fick 12 volt, 28 watt, så det var tillräckligt att köra fixturen själv. För din egen situation kan du använda en lättare eller tyngre version, beroende på din armatur.
- IRF540 n-kanal MOSFET
- Adafruit Huzzah ESP8266 BreakoutFör att jag ville använda WiFi, och jag älskar absolut Adafruits produkter, valde jag det här kortet: det ger mig en ESP8266 med en praktisk programmering pinout, en inbyggd effektregulator och en elegant formfaktor. Det är lite överkill för det här projektet, men det gör testning och felsökning mycket enklare.
- LM2596-baserad DC-DC-omvandlare För att få ström till ESP-kortet från 12 volt behövde jag en regulator; dessa små omvandlare är mycket effektiva och mycket billiga.
-
Rotary Encoder med knappfunktion, med inbyggt LED-ljus:
www.sparkfun.com/products/10596
Vilken roterande kodare som helst skulle göra, men jag gillade den fina extrafunktionen hos en inbyggd LED.
-
Klar plastknopp
www.sparkfun.com/products/10597
- Motstånd 4k7
- Motstånd 1k
Steg 2: Steg 2: Kretsen
Detta är kretsen jag använde: Jag använde stiften 4 & 5 som ingångar för den roterande givaren och stift 0 för knappen. Pin 0 är också ansluten till den inbyggda röda lysdioden, så jag kan kontrollera funktionen på knappen på kodningen genom att titta på den här lysdioden.
Pin 16 används för PWM -utgången, och jag kopplade detta direkt till den gröna lysdioden på Sparkfun -kodaren. ESP8266 är 3, 3 volt, och även med 100%mätte jag bara 2, 9 volt utgång, så jag kopplade den direkt utan ett seriemotstånd. Samma utgång går till porten på n-kanal MOSFET, med hjälp av ett 1 kOhm motstånd. Denna port dras högt till 12 volt av ett 4,7 kOhm motstånd.
Jag använde DC-DC-omvandlaren för att konvertera 12 volt till 5,5 volt, detta är anslutet till V+ ingången i Adafruit breakout. Jag kunde ha använt 3,3 volt och anslutit det direkt, men det här är lite säkrare.
12 V LED -lampan i kretsen är min armatur.
Steg 3: Steg 3: Koden
Jag lägger koden på GitHub:
Skiss för ESP8266 LED PWM -dimmer
Den är baserad på en idé som en annan instruerbar:
www.instructables.com/id/Arduino-PWM-LED-D…
Men detta var rent lokal kontroll, så jag lade till min egen MQTT-baserade domotiklösning. Det gör i princip samma sak, men de viktigaste skillnaderna är:
- standardantal PWM -steg med en Arduino är 255, med ESP8266 är det 1023 (som jag fick reda på senare, hela försök att ta reda på varför min LED -armatur inte gick upp till 100% ljusstyrka …)
- Jag använde inte "Totempole" -kretsen med de 2 transistorerna, eftersom PWM ändå var likström och fungerade bra med IRF 540.
- Jag använde inte 10k pull-up motstånd för pulsgivaren, jag litade på de inbyggda pullupsna i ESP8266.
- ESP8266 använder 3,3 volt logik istället för 5 volt för Arduino, vilket inte visade sig vara något problem för IRF540
Programvaran har följande funktioner:
- vridning av givaren kommer att dämpa ljuset (CW) eller ner (CCW), från 0 hela vägen till 100%, i 1023 steg, med en viss hastighet i de lägre nivåerna.
- genom att trycka på knappen tänds lampan när den är släckt, med hjälp av den senast sparade ljusstyrkan, eller stängs av när den är på.
- genom att trycka på knappen en längre tid medan lampan lyser kommer den aktuella ljusstyrkan att sparas som standardnivå.
- genom att trycka på knappen längre medan lampan är släckt tänds lampan till 100% ljusstyrka utan att ändra standardnivån.
- Den ansluter till WiFi -inställningarna som definieras av strängarna 'SECRET_SSID' och 'SECRET_PASS', som sparas i en separat fil i min skiss, kallad 'secrets.h'
- Den ansluter till en MQTT -server i WiFi -nätverket med strängarna 'MQTTSERVER' och 'MQTTPORT' i samma fil.
- Du kan använda det inkommande MQTT -ämnet 'domus/esp/in' för att utfärda kommandon: 'ON' eller 'OFF' för att slå på eller av lampan, eller ett värde från 0 till 1023 för att ändra ljusstyrkan.
- Den kommer att rapportera tillståndet om MQTT -ämnena "domus/esp/uit" (PÅ eller AV -status) och "domus/esp/uit/ljusstyrka" (ljusstyrka).
Rekommenderad:
12V Mini Joule Thief Inverter - Power 220V AC LED -lampa med 12V batteri: 5 steg
12V Mini Joule Thief Inverter - Power 220V AC LED -lampa med 12V batteri: Hej, det här är min första instruktion. I denna instruktion kommer jag att dela med mig av hur jag gjorde en enkel inverter för att driva en 12 W LED -lampa. Denna krets inverterar 12 V DC från batteri till 220 V AC vid hög frekvens eftersom den använde joule tjuv som hjärtat i c
PWM Med ESP32 - Dämpnings -LED med PWM på ESP 32 Med Arduino IDE: 6 steg
PWM Med ESP32 | Dämpning av LED med PWM på ESP 32 Med Arduino IDE: I denna instruktion kommer vi att se hur man genererar PWM -signaler med ESP32 med Arduino IDE & PWM används i princip för att generera analog utgång från vilken MCU som helst och den analoga utgången kan vara allt mellan 0V och 3.3V (vid esp32) & från
Wifi -kontrollerad 12v LED -remsa med Raspberry Pi med Tasker, Ifttt -integration: 15 steg (med bilder)
Wifi -kontrollerad 12v Led Strip med Raspberry Pi Med Tasker, Ifttt Integration .: I det här projektet kommer jag att visa dig hur du styr en enkel 12v analog led strip över wifi med en hallon pi. För detta projekt behöver du: 1x Raspberry Pi (I använder en Raspberry Pi 1 Model B+) 1x RGB 12v Le
PWM DC motorvarvtal och ljusreglering - DC -dimmer: 7 steg
PWM DC motorvarvtal och ljusreglering | DC Dimmer: I dag i den här videon ska jag visa dig hur man dämpar ljus, styr hastigheten på en motor i DC eller likström så låt oss komma igång
LED -dimmer med potentiometer: 5 steg (med bilder)
LED -dimmer med potentiometer: Detta är en instruerbar som lär dig hur du använder en potentiometer för att dimma en LED