Turinys:

12V LED PWM reguliatorius su ESP8266: 3 žingsniai
12V LED PWM reguliatorius su ESP8266: 3 žingsniai

Video: 12V LED PWM reguliatorius su ESP8266: 3 žingsniai

Video: 12V LED PWM reguliatorius su ESP8266: 3 žingsniai
Video: Control Position and Speed of Stepper motor with L298N module using Arduino 2024, Liepa
Anonim
12V LED PWM reguliatorius su ESP8266
12V LED PWM reguliatorius su ESP8266

Bandydamas padaryti savo namų ūkį tvaresnį, halogenines lemputes iškeičiau į led lemputes. Yra daugybė alternatyvų, leidžiančių pakeisti bet kokio tipo lemputes. Tai darydamas susidūriau su tokia problema: turėjau šviestuvą, kuriame buvo naudojamos 7 12 voltų halogeninės lemputės, kiekviena 10 vatų. Šią šviesą valdė pritemdiklis, kuris puikiai veikė. Kai pakeičiau lemputes į 12 voltų lemputes, kurių kiekviena buvo 1 vatas, šviesos reguliatorius veikė blogai: šviesa mirgėjo, o pritemdymas buvo šiek tiek nepastovus. Tai yra problema su daugeliu klasikinių reguliatorių: jie turi minimalią galią, kurios jiems reikia norint dirbti.

Taigi, remdamasis savo domotikos sistema, nusprendžiau šį rankinį reguliatorių pakeisti nauju, o tai turėtų papildomą pranašumą - būtų galima valdyti nuotoliniu būdu. Aš jau sukūriau apšvietimo reguliatorių, naudodamas N kanalo MOSFET (IRF540), kuris puikiai tinka tokiems dalykams: jį galima valdyti naudojant PWM signalą ir jis yra praktiškai nesunaikinamas, maksimalus 100 voltų ir 33 amperų įvertinimas, pakankamai šiam tikslui (greitas patikrinimas: 7 x 1 vatai = 7 vatai, padalyti iš 12 voltų, suteikia maksimalią srovę apie.58 amperus). Noriu naudoti šį apšvietimo reguliatorių kitam šviestuvui, kuriame yra 12 lempučių, kurių kiekviena yra 2 vatai, o tai suteikia ne daugiau kaip 2 amperus, taigi to pakanka. Vienintelis dalykas, į kurį reikia atkreipti dėmesį, yra PWM signalo dažnis, tačiau įprastos „Arduino“arba ESP8266 vertės (500 Hz arba 1 kHz) nėra problema.

1 žingsnis: 1 žingsnis: komponentai

1 žingsnis: komponentai
1 žingsnis: komponentai
  1. LED tvarkyklė (230 voltų kintamosios srovės iki 12 voltų nuolatinės srovės keitiklis) Savo tikslu noriu naudoti ne daugiau kaip 24 vatus, todėl pradėjau nuo 12 voltų ir 2 amperų LED tvarkyklės. Vieną radau Kinijos platintojo svetainėje. Šis vairuotojas buvo įvertintas 12 voltų, 28 vatais, todėl pakako pačiam vairuoti įrenginį. Atsižvelgdami į savo įrangą, savo situacijai galite naudoti lengvesnę ar sunkesnę versiją.
  2. IRF540 n-kanalų MOSFET
  3. Kadangi norėjau naudoti „WiFi“ir man labai patinka „Adafruit“produktai, pasirinkau šią plokštę: ji suteikia man ESP8266 su patogiu programavimo kaiščiu, įmontuotu maitinimo reguliatoriumi ir elegantišku formos faktoriumi. Šiam projektui tai yra šiek tiek perdėta, tačiau tai labai palengvina testavimą ir derinimą.
  4. LM2596 pagrįstas nuolatinės srovės keitiklis Norint išgauti ESP plokštės galią iš 12 voltų, man reikėjo reguliatoriaus; šie maži keitikliai yra labai efektyvūs ir labai pigūs.
  5. Sukamasis kodavimo įrenginys su mygtuko funkcija, su įmontuota LED lempute:

    www.sparkfun.com/products/10596

    Tiks bet koks sukamasis kodavimo įrenginys, bet man patiko graži papildoma įmontuoto LED funkcija.

  6. Skaidraus plastiko rankenėlė

    www.sparkfun.com/products/10597

  7. Rezistorius 4k7
  8. Rezistorius 1k

2 žingsnis: 2 žingsnis: grandinė

2 žingsnis: grandinė
2 žingsnis: grandinė

Aš naudoju šią grandinę: aš naudoju 4 ir 5 kaiščius kaip rotacinio kodavimo įvestį, o 0 - mygtuką. „0“kaištis taip pat prijungtas prie borto raudonojo šviesos diodo, kad galėčiau patikrinti kodo mygtuko funkciją žiūrėdamas šį diodą.

16 kaištis naudojamas PWM išėjimui, ir aš jį tiesiogiai prijungiau prie žalios šviesos diodo „Sparkfun“kodavimo įrenginyje. ESP8266 yra 3, 3 voltai, ir net esant 100%, aš išmatavau tik 2, 9 voltų išėjimą, todėl prijungiau jį tiesiogiai be serijinio rezistoriaus. Ta pati išvestis eina į n-kanalo MOSFET vartus, naudojant 1 kOhm rezistorių. Šiuos vartus 4,7 kOhm rezistorius traukia aukštai iki 12 voltų.

Aš naudoju DC-DC keitiklį 12 voltų konvertavimui į 5,5 volto, tai yra prijungta prie „Adafruit“pertraukos V+ įvesties. Galėjau naudoti 3,3 volto įtampą ir tiesiogiai prijungti, tačiau tai yra šiek tiek saugiau.

12 V LED lempa grandinėje yra mano šviestuvas.

3 žingsnis: 3 žingsnis: kodas

3 žingsnis: kodas
3 žingsnis: kodas

Įdėjau kodą į „GitHub“:

ESP8266 LED PWM reguliatoriaus eskizas

Jis pagrįstas kita pamokoma idėja:

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

Bet tai buvo tik vietinė kontrolė, todėl pridėjau savo MQTT pagrįstą domotikos sprendimą. Iš esmės tai daro tą patį, tačiau pagrindiniai skirtumai yra šie:

  • numatytasis PWM žingsnių skaičius su „Arduino“yra 255, o su ESP8266 - 1023 (kaip aš sužinojau vėliau, visa tai bandydama išsiaiškinti, kodėl mano LED šviestuvas nepadidėjo iki 100% ryškumo …)
  • Aš nenaudojau „Totempole“grandinės su 2 tranzistoriais, nes PWM vis tiek buvo nuolatinė ir puikiai veikė su IRF 540.
  • Kodavimui nenaudojau 10k ištraukiamųjų rezistorių, pasitikėjau įmontuotais ESP8266 prisitraukimais.
  • ESP8266 „Arduino“naudoja ne 5 voltų, o 3,3 voltų logiką, o tai IRF540 nesukėlė jokių problemų

Programinė įranga turi šias funkcijas:

  • pasukus kodavimo priemonę, šviesa padidės (CW) arba sumažės (CCW), nuo 0 iki 100%, atlikus 1023 žingsnius, o kai kurie paspartės žemesniuose lygiuose.
  • paspaudus mygtuką, lemputė įsijungs, kai ji išjungta, naudojant paskutinį išsaugotą ryškumo lygį, arba išjungs, kai ji įjungta.
  • paspaudus mygtuką ilgiau, kol šviečia šviesa, dabartinis ryškumas bus išsaugotas kaip numatytasis lygis.
  • paspaudus mygtuką ilgiau, kai lemputė yra išjungta, šviesa įsijungs iki 100% ryškumo, nekeičiant numatytojo lygio.
  • Jis prisijungs prie „WiFi“nustatymų, apibrėžtų eilutėmis „SECRET_SSID“ir „SECRET_PASS“, kurios yra išsaugotos atskirame mano eskizo faile, vadinamame „secrets.h“.
  • Jis prisijungs prie „MQTT“serverio „WiFi“tinkle, naudodamas to paties failo eilutes „MQTTSERVER“ir „MQTTPORT“.
  • Galite naudoti MQTT gaunamą temą „domus/esp/in“, kad išleistumėte komandas: „ON“arba „OFF“, kad įjungtumėte arba išjungtumėte šviesą, arba reikšmę nuo 0 iki 1023, kad pakeistumėte ryškumą.
  • Ji praneš apie būseną MQTT temomis „domus/esp/uit“(įjungta arba išjungta būsena) ir „domus/esp/uit/brightness“(ryškumo vertė).

Rekomenduojamas: