Sadržaj:

12V LED PWM prigušivač sa ESP8266: 3 koraka
12V LED PWM prigušivač sa ESP8266: 3 koraka

Video: 12V LED PWM prigušivač sa ESP8266: 3 koraka

Video: 12V LED PWM prigušivač sa ESP8266: 3 koraka
Video: Control Position and Speed of Stepper motor with L298N module using Arduino 2024, Novembar
Anonim
12V LED PWM prigušivač sa ESP8266
12V LED PWM prigušivač sa ESP8266

Pokušavajući učiniti svoje domaćinstvo održivijim, mijenjao sam halogene sijalice za LED svjetla. Na raspolaganju je mnogo alternativa za zamjenu bilo koje vrste sijalice. Pri tome sam naišao na sljedeći problem: imao sam rasvjetno tijelo koje je koristilo 7 halogenih žarulja od 12 volti, svaka po 10 vati. Ovom svjetlošću upravljao je prigušivač, koji je dobro funkcionirao. Kad sam zamijenio žarulje za 12 -voltna LED svjetla, svaki od 1 W, prigušivač je radio loše: svjetlo je treperilo, a zatamnjivanje je bilo pomalo nestabilno. Ovo je problem s mnogim klasičnim zatamnjivačima: oni imaju minimalnu snagu koja im je potrebna za rad.

Stoga sam, na osnovu svog domotičkog sistema, odlučio zamijeniti ovaj ručni prigušivač za novi, koji bi imao dodatnu prednost u mogućnosti daljinskog upravljanja. Već sam sagradio prigušivač pomoću N-kanalnog MOSFET-a (IRF540), koji je savršen za ovakve stvari: njime se može upravljati pomoću PWM signala, i gotovo je neuništiv, s maksimalnim nazivima od 100 volti i 33 ampera, dovoljno dovoljno za ovu namjenu (brza provjera: 7 x 1 W = 7 W, podijeljeno sa 12 V daje maksimalnu struju od oko.58 Ampera). Želim koristiti ovaj prigušivač za još jedno svjetlo koje ima 12 žarulja, svaka po 2 vata, što daje najviše 2 ampera, tako da je i to dovoljno. Jedino na što treba paziti je frekvencija PWM signala, ali uobičajene vrijednosti za Arduino ili ESP8266 (500 Hz ili 1 kHz) ne predstavljaju problem.

Korak 1: Korak 1: Komponente

Korak 1: Komponente
Korak 1: Komponente
  1. LED upravljački program (230 V AC pretvarač na 12 V DC) U svoju svrhu želim koristiti maksimalno 24 W, pa sam počeo s LED pogonom od 12 V i 2 Ampera. Našao sam ga na jednom kineskom distributerskom mjestu. Ovaj je upravljački program bio ocijenjen na 12 volti, 28 vati, pa je bilo dovoljno za samostalno pokretanje uređaja. Za svoju situaciju, možete koristiti lakšu ili težu verziju, ovisno o vašem uređaju.
  2. IRF540 n-kanalni MOSFET
  3. Adafruit Huzzah ESP8266 Breakout Budući da sam htio koristiti WiFi i apsolutno volim Adafruit proizvode, odabrao sam ovu ploču: ona mi daje ESP8266 sa prikladnim programskim ispisom, ugrađenim regulatorom snage i elegantnim oblikom. Malo je pretjerano za ovaj projekt, ali znatno olakšava testiranje i ispravljanje pogrešaka.
  4. DC-DC pretvarač zasnovan na LM2596Da bih napajanje ESP ploče dobio od 12 volti, trebao mi je regulator; ovi mali pretvarači su vrlo efikasni i vrlo jeftini.
  5. Rotacijski davač s funkcijom tipki, s ugrađenim LED svjetlom:

    www.sparkfun.com/products/10596

    Bilo koji rotacijski koder bi odgovarao, ali svidjela mi se lijepa dodana funkcija ugrađene LED diode.

  6. Čista plastična ručica

    www.sparkfun.com/products/10597

  7. Otpornik 4k7
  8. Otpornik 1k

Korak 2: Korak 2: Krug

Korak 2: Krug
Korak 2: Krug

Ovo je krug koji sam koristio: koristio sam pinove 4 i 5 kao ulaze za okretni davač, a pin 0 za dugme. Pin 0 je takođe povezan sa ugrađenim crvenim LED-om, tako da bih mogao da proverim funkciju dugmeta na kodiranju gledajući ovaj LED.

Pin 16 se koristi za PWM izlaz, a ja sam ga spojio direktno na zelenu LED diodu na Sparkfun koderu. ESP8266 ima 3, 3 volta, pa čak i sa 100%izmjerio sam samo 2,9 volta na izlazu, pa sam ga spojio izravno bez serijskog otpornika. Isti izlaz ide na vrata n-kanalnog MOSFET-a, pomoću otpornika od 1 kOhm. Ova kapija se povlači visoko na 12 volti pomoću otpornika od 4,7 kOhm.

Koristio sam DC-DC pretvarač za pretvaranje 12 volti u 5,5 volti, ovo je povezano s V+ ulazom Adafruit prekida. Mogao sam koristiti 3,3 volta i spojiti ga izravno, ali ovo je malo sigurnije.

LED lampa od 12 V u krugu je moje uporište.

Korak 3: Korak 3: Kôd

Korak 3: Kôd
Korak 3: Kôd

Kôd sam stavio na GitHub:

Skica za ESP8266 LED PWM prigušivač

Zasnovan je na ideji koja se može podučiti:

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

Ali ovo je bila isključivo lokalna kontrola, pa sam dodao svoje rješenje za domotiku zasnovano na MQTT-u. U osnovi radi istu stvar, ali glavne razlike su:

  • Zadani broj PWM koraka s Arduinom je 255, s ESP8266 je 1023 (kao što sam kasnije saznao, pokušavajući shvatiti zašto se moje LED svjetlo nije podiglo sve do 100% svjetline …)
  • Nisam koristio krug 'Totempole' sa 2 tranzistora, jer je PWM ionako bio istosmjeran, i dobro je radio s IRF 540.
  • Za koder nisam koristio 10k pull-up otpornike, vjerovao sam ugrađenim pullup-ovima ESP8266.
  • ESP8266 koristi logiku od 3,3 volti umjesto 5 volti za Arduino, što nije bilo problem za IRF540

Softver ima sljedeće značajke:

  • okretanjem kodera svjetlo će se smanjiti (CW) ili prema dolje (CCW), od 0 pa sve do 100%, u 1023 koraka, s tim da će se neko ubrzati na nižim razinama.
  • pritiskom na dugme svjetlo će se upaliti kada je isključeno, koristeći zadnju sačuvanu razinu svjetline, ili će se isključiti kada je uključeno.
  • duljim pritiskom na dugme dok je svetlo uključeno sačuvaćete trenutnu osvetljenost kao podrazumevani nivo.
  • duljim pritiskom na dugme dok je svjetlo isključeno, svjetlo će se upaliti na 100% svjetline, bez mijenjanja zadanog nivoa.
  • Povezivat će se s WiFi postavkama definiranim nizovima 'SECRET_SSID' i 'SECRET_PASS', koje su spremljene u zasebnu datoteku na mojoj skici, zvanu 'secrets.h'
  • Povezivat će se na MQTT poslužitelj u WiFi mreži, koristeći nizove 'MQTTSERVER' i 'MQTTPORT' u istoj datoteci.
  • Možete koristiti dolaznu temu MQTT 'domus/esp/in' za izdavanje naredbi: 'ON' ili 'OFF' za uključivanje ili isključivanje svjetla ili vrijednost od 0 do 1023 za promjenu svjetline.
  • Izvještavat će stanje o temama MQTT -a 'domus/esp/uit' (status ON ili OFF) i 'domus/esp/uit/brightness' (vrijednost svjetline).

Preporučuje se: