Innholdsfortegnelse:
Video: 12V LED PWM dimmer med ESP8266: 3 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:23
Mens jeg prøvde å gjøre min husholdning mer bærekraftig, byttet jeg halogenpærer mot LED -lys. Det er mange alternativer tilgjengelig for å bytte ut hvilken som helst type lyspære. Mens jeg gjorde dette, kom jeg over følgende problem: Jeg hadde en lampe som brukte 7 12 volt halogenpærer, hver 10 watt. Dette lyset ble styrt av en dimmer, som fungerte fint. Da jeg byttet pærene mot 12 volts LED -lys, hver 1 watt, fungerte dimmeren dårlig: lyset flimret og dimmingen noe uberegnelig. Dette er et problem med mange klassiske dimmere: de har en minimal effekt som de trenger for å fungere.
Så, basert på mitt domotics -system, bestemte jeg meg for å bytte ut denne manuelle dimmeren med en ny, noe som ville ha den ekstra fordelen at den kunne fjernstyres. Jeg hadde allerede bygget en dimmer ved hjelp av en N-kanal MOSFET (IRF540), som er perfekt for denne typen ting: den kan styres av et PWM-signal, og den er praktisk talt uforgjengelig, med maksimal effekt på 100 volt og 33 ampere, rikelig nok til dette formålet (hurtigsjekk: 7 x 1 Watt = 7 Watt, delt på 12 volt gir en maksimal strøm på omtrent.58 ampere). Jeg vil bruke denne dimmeren til en annen lampe som har 12 pærer, hver 2 watt, noe som gir maksimalt 2 ampere, så det er også tilstrekkelig. Det eneste som skal passe på frekvensen til PWM -signalet, men de vanlige verdiene for Arduino eller ESP8266 (500 Hz eller 1 kHz) er ikke et problem.
Trinn 1: Trinn 1: Komponentene
- LED Driver (230 volt AC til 12 volt DC converter) For mitt formål vil jeg bruke maksimalt 24 watt, så jeg begynte med en LED driver på 12 volt og 2 ampere. Jeg fant en på et kinesisk distributørsted. Denne sjåføren ble vurdert til 12 volt, 28 watt, så det var tilstrekkelig å drive armaturet av seg selv. For din egen situasjon kan du bruke en lettere eller tyngre versjon, avhengig av armaturet.
- IRF540 n-kanal MOSFET
- Adafruit Huzzah ESP8266 Breakout Fordi jeg ønsket å bruke WiFi, og jeg absolutt elsker Adafruits produkter, valgte jeg dette brettet: det gir meg en ESP8266 med en praktisk programmering pinout, en innebygd strømregulator og en elegant formfaktor. Det er litt overkill for dette prosjektet, men det gjør testing og feilsøking mye enklere.
- LM2596-basert DC-DC-omformer For å få strøm til ESP-kortet fra 12 volt, trengte jeg en regulator; disse små omformerne er veldig effektive og veldig billige.
-
Rotary Encoder med knappfunksjon, med innebygd LED-lys:
www.sparkfun.com/products/10596
Enhver roterende encoder ville gjøre, men jeg likte den fine tilleggsfunksjonen til en innebygd LED.
-
Klar plastknott
www.sparkfun.com/products/10597
- Motstand 4k7
- Motstand 1k
Trinn 2: Trinn 2: Kretsen
Dette er kretsen jeg brukte: Jeg brukte pinner 4 og 5 som innganger for den roterende encoderen, og pin 0 for knappen. Pin 0 er også koblet til den innebygde røde lysdioden, så jeg kunne sjekke funksjonen til knappen på kodingen ved å se denne lysdioden.
Pin 16 brukes til PWM -utgangen, og jeg koblet dette direkte til den grønne lysdioden på Sparkfun -encoderen. ESP8266 er 3, 3 volt, og selv med 100%målte jeg bare 2, 9 volt utgang, så jeg koblet den direkte uten en seriemotstand. Den samme utgangen går til porten til n-kanal MOSFET, ved hjelp av en 1 kOhm motstand. Denne porten trekkes høyt til 12 volt av en 4,7 kOhm motstand.
Jeg brukte DC-DC-omformeren til å konvertere 12 volt til 5,5 volt, dette er koblet til V+ inngangen til Adafruit breakout. Jeg kunne ha brukt 3,3 volt og koblet den direkte, men dette er litt tryggere.
12 V LED -lampen i kretsen er min armatur.
Trinn 3: Trinn 3: Koden
Jeg la koden på GitHub:
Skisse for ESP8266 LED PWM dimmer
Den er basert på en ide som en annen kan lære:
www.instructables.com/id/Arduino-PWM-LED-D…
Men dette var rent lokal kontroll, så jeg la til min egen MQTT-baserte domotikkløsning. Det gjør i utgangspunktet det samme, men de viktigste forskjellene er:
- standard antall PWM -trinn med en Arduino er 255, med ESP8266 er det 1023 (som jeg fant ut senere, hele prøver å finne ut hvorfor LED -armaturen min ikke gikk opp til 100% lysstyrke …)
- Jeg brukte ikke 'Totempole' -kretsen med de 2 transistorene, siden PWM uansett var DC, og fungerte bra med IRF 540.
- Jeg brukte ikke 10k pull-up-motstander for koderen, jeg stolte på de innebygde pullupsene til ESP8266.
- ESP8266 bruker 3,3 volt logikk i stedet for 5 volt for Arduino, noe som ikke viste seg å være noe problem for IRF540
Programvaren har følgende funksjoner:
- Hvis du snur på encoderen, vil lyset dempe (CW) eller ned (CCW), fra 0 helt til 100%, i 1023 trinn, med litt fart i de lavere nivåene.
- Trykk på knappen for å slå på lyset når det er slått av, ved hjelp av det sist lagrede lysstyrkenivået, eller slå det av når det er på.
- Hvis du trykker på knappen i lengre tid mens lyset er på, lagres gjeldende lysstyrke som standardnivå.
- Hvis du trykker på knappen lenger mens lyset er slått av, slås lyset på til 100% lysstyrke uten å endre standardnivået.
- Den kobles til WiFi -innstillingene definert av strengene 'SECRET_SSID' og 'SECRET_PASS', som er lagret i en egen fil i skissen min, kalt 'secrets.h'
- Den vil koble til en MQTT -server i WiFi -nettverket, ved hjelp av "MQTTSERVER" og "MQTTPORT" strengene i den samme filen.
- Du kan bruke det innkommende emnet MQTT 'domus/esp/in' til å utstede kommandoer: 'ON' eller 'OFF' for å slå lyset på eller av, eller en verdi fra 0 til 1023 for å endre lysstyrken.
- Den vil rapportere tilstanden om MQTT -emnene 'domus/esp/uit' (PÅ eller AV -status) og 'domus/esp/uit/lysstyrke' (lysstyrkeverdien).
Anbefalt:
12V Mini Joule Thief Inverter - Strøm 220V AC LED -pære med 12V batteri: 5 trinn
12V Mini Joule Thief Inverter - Strøm 220V AC LED -pære med 12V batteri: Hei, dette er min første instruks. I denne instruksjonsboken vil jeg dele hvordan jeg laget en enkel omformer for å drive en 12 W LED -pære. Denne kretsen inverterer 12 V DC fra batteri til 220 V AC ved høy frekvens fordi den brukte joule tyv som hjertet i c
PWM Med ESP32 - Dimmende LED med PWM på ESP 32 Med Arduino IDE: 6 trinn
PWM Med ESP32 | Dimmende LED med PWM på ESP 32 Med Arduino IDE: I denne instruksen vil vi se hvordan du genererer PWM -signaler med ESP32 ved hjelp av Arduino IDE & PWM brukes i utgangspunktet til å generere analog utgang fra hvilken som helst MCU, og den analoge utgangen kan være alt mellom 0V til 3,3V (i tilfelle esp32) & fra
PWM DC motorhastighet og lysstyring - DC -dimmer: 7 trinn
PWM DC motorhastighet og lysstyring | DC Dimmer: I dag i denne videoen skal jeg vise deg hvordan du demper lys, kontrollerer hastigheten på en motor i DC eller likestrøm, så la oss komme i gang
LED -dimmer med potensiometer: 5 trinn (med bilder)
LED -dimmer med potensiometer: Dette er en instruks som lærer deg hvordan du bruker et potensiometer til å dimme en LED
Overbevis deg selv om å bare bruke en 12V-til-AC-linjeomformer for LED-lysstrenger i stedet for å koble dem til 12V .: 3 trinn
Overbevis deg selv om å bare bruke en 12V-til-AC-linjeomformer for LED-lysstrenger i stedet for å koble dem til 12V .: Planen min var enkel. Jeg ønsket å kutte en veggdrevet LED-lysstreng i biter og deretter koble den til 12 volt. Alternativet var å bruke en kraftomformer, men vi vet alle at de er fryktelig ineffektive, ikke sant? Ikke sant? Eller er de det?