Мазмуну:

12V LED PWM Dimmer ESP8266 менен: 3 кадам
12V LED PWM Dimmer ESP8266 менен: 3 кадам

Video: 12V LED PWM Dimmer ESP8266 менен: 3 кадам

Video: 12V LED PWM Dimmer ESP8266 менен: 3 кадам
Video: Control Position and Speed of Stepper motor with L298N module using Arduino 2024, Ноябрь
Anonim
12V LED PWM Dimmer ESP8266 менен
12V LED PWM Dimmer ESP8266 менен

Менин үйүмдү туруктуу кылуу үчүн, мен галогендик лампаларды лампаларга алмаштырып жаттым. Лампочканын бардык түрүн алмаштыруу үчүн көптөгөн альтернативалар бар. Муну кылып жатып, мен төмөнкү көйгөйгө туш болдум: менде 7 вольттогу галоген лампалары бар, ар бири 10 ватт болгон жарыктандыргыч бар болчу. Бул жарык диммер тарабынан башкарылган, ал жакшы иштеген. Мен лампаларды ар бири 1 Вт болгон 12 вольттуу лампаларга алмаштырганымда, диммер начар иштеди: жарык жарк этип, караңгылык бир аз туруксуз. Бул көптөгөн классикалык диммерлердин көйгөйү: алар иштөө үчүн керек болгон минималдуу кубаттуулукка ээ.

Ошентип, менин домотика тутумума таянып, мен бул колдонмону диммерди жаңысына алмаштырууну чечтим, ал алыстан башкарыла турган кошумча артыкчылыкка ээ болот. Мен буга чейин N-канал MOSFETти (IRF540) колдонуу менен диммерди кургам, ал мындай нерсеге эң сонун ылайыкташтырылган: аны PWM сигналы менен башкарса болот жана ал 100 вольт жана 33 ампер максималдуу рейтинги менен дээрлик бузулбайт, Бул үчүн жетиштүү (тез текшерүү: 7 х 1 Ватт = 7 Ватт, 12 вольтко бөлүнгөн.58 Ампердин максималдуу агымын берет). Мен бул диммерди 12 лампасы бар башка арматура үчүн колдонгум келет, ар бири 2 ватт, ал максимум 2 амперди берет, бул дагы жетиштүү. PWM сигналынын жыштыгына көңүл бура турган жалгыз нерсе, бирок Arduino же ESP8266 (500 Гц же 1кГц) үчүн кадимки маанилер көйгөй эмес.

1 -кадам: 1 -кадам: Компоненттер

1 -кадам: Компоненттер
1 -кадам: Компоненттер
  1. LED драйвери (230 вольттон 12 вольт DC конвертери) Максатым үчүн максимум 24 ватт колдонууну каалайм, ошондуктан мен 12 вольт жана 2 амперлик LED айдоочу менен иштей баштадым. Мен аны Кытайдын дистрибьютор сайтынан таптым. Бул драйвер 12 вольт, 28 ватт деп бааланган, андыктан арматураны өзү айдоого жетиштүү болгон. Өзүңүздүн жагдайыңыз үчүн, жабдууга жараша жеңил же оор версиясын колдонсоңуз болот.
  2. IRF540 n-канал MOSFET
  3. Adafruit Huzzah ESP8266 Breakout Мен WiFi колдонгум келгендиктен, мен Adafruitтин продуктыларын абдан жакшы көрөм, мен бул тактаны тандап алдым: ал мага ыңгайлуу программалоо түйүнү, борттогу электр регулятору жана жарашыктуу форма фактору менен ESP8266 берет. Бул долбоор үчүн бир аз ашыкча, бирок тестирлөөнү жана мүчүлүштүктөрдү оңдоону жеңилдетет.
  4. LM2596 негизделген DC-DC конвертору 12 вольттон ESP тактасына күч алуу үчүн мага жөнгө салуучу керек болчу; Бул кичинекей конвертерлер абдан натыйжалуу жана абдан арзан.
  5. Ротари Encoder баскычы бар, камтылган жарык менен:

    www.sparkfun.com/products/10596

    Ар бир айлануучу кодер кылмак, бирок мага курулган LEDдин жакшы кошулган өзгөчөлүгү жакты.

  6. Таза пластикалык баскыч

    www.sparkfun.com/products/10597

  7. Резистор 4k7
  8. Резистор 1k

2 -кадам: 2 -кадам: Район

2 -кадам: Circuit
2 -кадам: Circuit

Бул мен колдонгон схема: Мен 4 жана 5 -төөнөгүчтөрдү айлануучу коддогуч үчүн кириш катары, ал эми түймө үчүн 0 -пинди колдондум. 0 пин дагы борттогу кызыл жарыкка туташтырылган, андыктан мен бул LEDди көрүү менен коддогу баскычтын ишин текшере алам.

Pin 16 PWM чыгаруу үчүн колдонулат жана мен муну Sparkfun коддогучундагы жашыл LED менен түз байланыштырдым. ESP8266 - бул 3, 3 вольт, ал тургай 100%менен мен 2, 9 вольттун өндүрүшүн гана ченеп койгом, ошондуктан аны түздөн -түз сериялык каршылыгы жок туташтырдым. Ушул эле чыгаруу n-каналдын MOSFET дарбазасына барат, 1kOhm каршылыгы аркылуу. Бул дарбаза 4.7 кОм резистору менен 12 вольтко чейин тартылат.

Мен 12 вольтту 5,5 вольтко айландыруу үчүн DC-DC конвертерин колдондум, бул Adafruit үзүлүшүнүн V+ киришине туташкан. Мен 3,3 вольтту колдонуп, аны түз туташтырсам болмок, бирок бул бир аз коопсузураак.

Райондогу 12 В LED лампа - менин арматурам.

3 -кадам: 3 -кадам: Кодекс

3 -кадам: Код
3 -кадам: Код

Мен кодду GitHubга койдум:

ESP8266 LED PWM диммеринин эскизи

Бул дагы бир үйрөтүүчү идеяга негизделген:

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

Бирок бул жөн гана жергиликтүү көзөмөл болчу, ошондуктан мен MQTTге негизделген домотикалык чечимимди коштум. Бул негизинен бир эле нерсени кылат, бирок негизги айырмачылыктар:

  • Arduino менен PWM кадамдарынын демейки саны 255, ESP8266 менен бул 1023 (кийинчерээк билгем, менин LED арматурам эмне үчүн 100% жарыктыкка чейин чыкпаганын түшүнүүгө аракет кылдым …)
  • Мен "Totempole" схемасын 2 транзистор менен колдонгон жокмун, анткени PWM баары бир DC болчу жана IRF 540 менен жакшы иштеген.
  • Мен коддогуч үчүн 10k тартма каршылыгын колдонгон жокмун, мен ESP8266дин орнотулган тартмаларына ишенчүмүн.
  • ESP8266 Arduino үчүн 5 вольттун ордуна 3.3 вольттуу логиканы колдонот, бул IRF540 үчүн эч кандай көйгөйдү далилдебейт.

Программа төмөнкү өзгөчөлүктөргө ээ:

  • коддогучту бурганда, жарык төмөндөйт (CW) же ылдый (CCW), 0дон 100%га чейин, 1023 кадам менен, кээ бирлери төмөнкү деңгээлдерде ылдамдайт.
  • баскычын басуу жарыкты өчүрүлгөндө, акыркы сакталган жарыктык деңгээлин колдонуп же күйгүзүлгөндө өчүрөт.
  • жарык күйүп турганда баскычты көпкө басуу учурдагы жарыктыкты демейки деңгээл катары сактап калат.
  • жарык өчүп турганда баскычты көпкө басып туруу, демейки деңгээлди өзгөртпөстөн, жарыкты 100% жарыктыкка күйгүзөт.
  • Бул "SECRET_SSID" жана "SECRET_PASS" саптары менен аныкталган WiFi жөндөөлөрүнө туташат, алар "secret.h" деп аталган эскизимде өзүнчө файлда сакталат.
  • Ал ошол эле файлдагы 'MQTTSERVER' жана 'MQTTPORT' саптарын колдонуп, WiFi тармагындагы MQTT серверине туташат.
  • Сиз буйрук берүү үчүн MQTT келген 'domus/esp/in' темасын колдоно аласыз: жарыкты күйгүзүү же өчүрүү үчүн 'ON' же 'OFF', же жарыктыгын өзгөртүү үчүн 0дон 1023кө чейинки маанини.
  • Бул MQTT темалары боюнча мамлекет жөнүндө кабар берет 'domus/esp/uit' (ON же OFF абалы) жана 'domus/esp/uit/жарыктыгы' (жарыктыктын мааниси).

Сунушталууда: