Სარჩევი:

12V LED PWM Dimmer ერთად ESP8266: 3 ნაბიჯი
12V LED PWM Dimmer ერთად ESP8266: 3 ნაბიჯი

ვიდეო: 12V LED PWM Dimmer ერთად ESP8266: 3 ნაბიჯი

ვიდეო: 12V LED PWM Dimmer ერთად ESP8266: 3 ნაბიჯი
ვიდეო: ESP32 Tutorial 3 - Resistor, LED, Bredboard and First Project: Hello LED -ESP32 IoT Learnig kit 2024, ივლისი
Anonim
12V LED PWM Dimmer ერთად ESP8266
12V LED PWM Dimmer ერთად ESP8266

მიუხედავად იმისა, რომ ვცდილობდი გამეხადა ჩემი ოჯახი უფრო მდგრადი, მე ვცვლიდი ჰალოგენურ ნათურებს led ნათურებში. არსებობს უამრავი ალტერნატივა, ნებისმიერი ტიპის ნათურის შესაცვლელად. ამის გაკეთებისას მე შევხვდი შემდეგ პრობლემას: მე მქონდა განათების მოწყობილობა, რომელიც იყენებდა 7 12 ვოლტ ჰალოგენურ ნათურებს, თითოეული 10 ვატი. ეს შუქი აკონტროლებდა დაბნელებას, რომელიც კარგად მუშაობდა. როდესაც ნათურები გავცვლი 12 ვოლტიანი ნათურებით, თითოეული 1 ვატიანი, მბზინავი ცუდად მუშაობდა: სინათლე ციმციმებდა და დაბნელება გარკვეულწილად არამდგრადი. ეს არის მრავალი კლასიკური მბზინვის პრობლემა: მათ აქვთ მინიმალური სიმძლავრის რეიტინგი, რაც მათ სჭირდებათ მუშაობისთვის.

ასე რომ, ჩემი დომინანტური სისტემის საფუძველზე, მე გადავწყვიტე, რომ ეს მექანიკური მბზინავი ახლით გამეცვალა, რაც დამატებით უპირატესობას მისცემდა დისტანციურად კონტროლს. მე უკვე ავაშენე მბზინავი N არხის MOSFET (IRF540) გამოყენებით, რომელიც იდეალურია ამგვარი საქმისთვის: მისი კონტროლი შესაძლებელია PWM სიგნალით და ის პრაქტიკულად განადგურებულია, მაქსიმალური რეიტინგით 100 ვოლტი და 33 ამპერი, საკმარისია ამ მიზნით (სწრაფი შემოწმება: 7 x 1 Watt = 7 Watt, გაყოფილი 12 ვოლტზე იძლევა მაქსიმალურ დენს დაახლოებით.58 Amps). მე მინდა გამოვიყენო ეს მბზინავი სხვა მოწყობილობისთვის, რომელსაც აქვს 12 ნათურა, თითოეული 2 ვატი, რაც იძლევა მაქსიმუმ 2 ამპერს, რაც ასევე საკმარისია. ერთადერთი რაც უნდა გავუფრთხილდეთ მას არის PWM სიგნალის სიხშირე, მაგრამ Arduino ან ESP8266 (500 Hz ან 1kHz) ჩვეულებრივი მნიშვნელობები არ არის პრობლემა.

ნაბიჯი 1: ნაბიჯი 1: კომპონენტები

ნაბიჯი 1: კომპონენტები
ნაბიჯი 1: კომპონენტები
  1. LED დრაივერი (230 ვოლტი AC– დან 12 ვოლტამდე DC გადამყვანი) ჩემი მიზნისთვის, მინდა გამოვიყენო მაქსიმუმ 24 ვატი, ამიტომ დავიწყე 12 ვოლტიანი და 2 ამპერიანი LED დრაივერით. ვიპოვე ერთი ჩინური დისტრიბუტორის საიტზე. ამ დრაივერს ჰქონდა 12 ვოლტი, 28 ვატი, ამიტომ საკმარისი იყო მოწყობილობის დამოუკიდებლად მართვა. საკუთარი სიტუაციისთვის, თქვენ შეგიძლიათ გამოიყენოთ უფრო მსუბუქი ან მძიმე ვერსია, თქვენი მოწყობილობის მიხედვით.
  2. IRF540 n-channel MOSFET
  3. Adafruit Huzzah ESP8266 Breakout იმის გამო, რომ მე მინდოდა WiFi- ს გამოყენება და მე აბსოლუტურად მიყვარს ადაფრუტის პროდუქტები, მე ავირჩიე ეს დაფა: ის მაძლევს ESP8266 პროგრამირების მოსახერხებელ პინუტს, ბორტზე დენის მარეგულირებელს და ელეგანტურ ფორმას. ეს ოდნავ გადაჭარბებულია ამ პროექტისთვის, მაგრამ ეს აადვილებს ტესტირებას და გამართვას.
  4. LM2596 DC-DC გადამყვანი ეს მცირე გადამყვანები ძალიან ეფექტური და ძალიან იაფია.
  5. მბრუნავი კოდირება ღილაკის ფუნქციით, ჩაშენებული led სინათლით:

    www.sparkfun.com/products/10596

    ნებისმიერი მბრუნავი კოდირება გააკეთებს, მაგრამ მე მომეწონა ჩამონტაჟებული LED- ის ლამაზი დამატებული ფუნქცია.

  6. გამჭვირვალე პლასტიკური სახელური

    www.sparkfun.com/products/10597

  7. რეზისტორი 4k7
  8. რეზისტორი 1 კ

ნაბიჯი 2: ნაბიჯი 2: წრე

ნაბიჯი 2: წრე
ნაბიჯი 2: წრე

ეს ის წრეა, რომელიც მე გამოვიყენე: მე გამოვიყენე 4 და 5 ქინძისთავები, როგორც შესაყვანი მბრუნავი კოდირებისთვის, ხოლო პინ 0 ღილაკზე. Pin 0 ასევე დაკავშირებულია ბორტზე არსებულ წითელ led- თან, ასე რომ, შემიძლია შევამოწმო კოდირების ღილაკის ფუნქცია ამ led- ის ყურებით.

PIN 16 გამოიყენება PWM გამოყვანისთვის და მე პირდაპირ დავუკავშირე Sparkfun კოდირების მწვანე led. ESP8266 არის 3, 3 ვოლტი და 100%-ითაც კი, მე გავზომე მხოლოდ 2,9 ვოლტი გამომავალი, ასე რომ მე მას პირდაპირ დავუკავშირე სერიული რეზისტორის გარეშე. ეს იგივე გამომავალი მიდის n არხის MOSFET- ის კარიბჭეზე, 1 კჰმ რეზისტორის საშუალებით. ეს კარიბჭე მაღლა იწევს 12 ვოლტამდე 4.7 კჰმ რეზისტორით.

მე გამოვიყენე DC-DC გადამყვანი 12 ვოლტი 5,5 ვოლტად გადასაყვანად, ეს დაკავშირებულია ადაფრუტის გარღვევის V+ შეყვანასთან. შემეძლო გამომეყენებინა 3.3 ვოლტი და პირდაპირ შემეერთებინა, მაგრამ ეს ცოტა უფრო უსაფრთხოა.

მიკროსქემის 12 ვ LED ნათურა არის ჩემი მოწყობილობა.

ნაბიჯი 3: ნაბიჯი 3: კოდი

ნაბიჯი 3: კოდი
ნაბიჯი 3: კოდი

მე დავდე კოდი GitHub– ზე:

ესკიზი ESP8266 LED PWM dimmer- ისთვის

იგი ემყარება სხვა სასწავლო ინსტრუქციას:

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 იყენებს 3.3 ვოლტის ლოგიკას 5 ვოლტის ნაცვლად Arduino– სთვის, რაც IRF540– სთვის პრობლემა არ აღმოჩნდა.

პროგრამულ უზრუნველყოფას აქვს შემდეგი მახასიათებლები:

  • კოდირების შემობრუნება შეამცირებს შუქს (CW) ან დაბლა (CCW), 0 -დან 100%-მდე, 1023 საფეხურზე, ზოგიერთს დააჩქარებს ქვედა დონეებში.
  • ღილაკზე დაჭერით ჩართავთ შუქს, როდესაც ის გამორთულია, იყენებს ბოლო შენახული სიკაშკაშის დონეს, ან გამორთავს, როდესაც ის ჩართულია.
  • ღილაკის ხანგრძლივად დაჭერა შუქის ჩართვისას დაზოგავს მიმდინარე სიკაშკაშეს, როგორც ნაგულისხმევ დონეს.
  • ღილაკზე ხანგრძლივად დაჭერით შუქი გამორთულია და შუქს აანთებს 100% სიკაშკაშე, ნაგულისხმევი დონის შეცვლის გარეშე.
  • ის დაუკავშირდება WiFi პარამეტრებს 'SECRET_SSID' და 'SECRET_PASS' სტრიქონებით, რომლებიც შენახულია ცალკეულ ფაილში ჩემს ესკიზში, სახელწოდებით 'secrets.h'
  • ის დაუკავშირდება MQTT სერვერს WiFi ქსელში, ერთი და იმავე ფაილის 'MQTTSERVER' და 'MQTTPORT' სტრიქონების გამოყენებით.
  • თქვენ შეგიძლიათ გამოიყენოთ MQTT შემომავალი თემა 'domus/esp/in' ბრძანებების გასაცემად: 'ON' ან 'OFF' შუქის ჩართვის ან გამორთვისთვის, ან მნიშვნელობა 0 -დან 1023 -მდე სიკაშკაშის შესაცვლელად.
  • ის აცნობებს მდგომარეობას MQTT თემებზე „domus/esp/uit“(ჩართული ან გამორთული სტატუსი) და „domus/esp/uit/brightness“(სიკაშკაშის მნიშვნელობა).

გირჩევთ: