Isi kandungan:

12V LED PWM Dimmer Dengan ESP8266: 3 Langkah
12V LED PWM Dimmer Dengan ESP8266: 3 Langkah

Video: 12V LED PWM Dimmer Dengan ESP8266: 3 Langkah

Video: 12V LED PWM Dimmer Dengan ESP8266: 3 Langkah
Video: Amazing arduino project 2024, November
Anonim
12V LED PWM Dimmer Dengan ESP8266
12V LED PWM Dimmer Dengan ESP8266

Semasa berusaha menjadikan rumah tangga saya lebih lestari, saya menukar lampu halogen dengan lampu led. Terdapat banyak alternatif yang ada, untuk menggantikan sebarang jenis lampu. Semasa melakukan ini, saya menghadapi masalah berikut: Saya mempunyai lampu yang menggunakan 7 12 volt lampu halogen, masing-masing 10 Watt. Lampu ini dikendalikan oleh redup, yang berfungsi dengan baik. Semasa saya menukar mentol dengan lampu LED 12 volt, masing-masing 1 Watt, peredup berfungsi dengan buruk: lampu berkedip, dan peredupannya agak tidak menentu. Ini adalah masalah dengan banyak dimmer klasik: mereka mempunyai kadaran kuasa minimum, yang mereka perlukan untuk berfungsi.

Oleh itu, berdasarkan sistem domotik saya, saya memutuskan untuk menukar dimmer manual ini dengan yang baru, yang akan mempunyai kelebihan tambahan untuk dapat dikendalikan dari jarak jauh. Saya telah membina dimmer menggunakan M-saluran N-MOSFET (IRF540), yang sangat sesuai untuk perkara seperti ini: ia dapat dikawal oleh isyarat PWM, dan hampir tidak dapat dihancurkan, dengan penilaian maksimum 100 volt dan 33 Amps, cukup untuk tujuan ini (pemeriksaan pantas: 7 x 1 Watt = 7 Watt, dibahagi dengan 12 volt memberikan arus maksimum kira-kira.58 Amps). Saya ingin menggunakan dimmer ini untuk lekapan lain yang mempunyai 12 mentol, masing-masing 2 watt, yang memberikan maksimum 2 Amps, jadi itu juga mencukupi. Satu-satunya perkara yang perlu diperhatikan adalah frekuensi isyarat PWM, tetapi nilai biasa untuk Arduino atau ESP8266 (500 Hz atau 1kHz) tidak menjadi masalah.

Langkah 1: Langkah 1: Komponen

Langkah 1: Komponen
Langkah 1: Komponen
  1. Pemacu LED (230 volt AC hingga 12 volt DC penukar) Untuk tujuan saya, saya ingin menggunakan maksimum 24 Watt, jadi saya memulakan dengan pemacu LED 12 volt dan 2 Amps. Saya menjumpainya di laman pengedar Cina. Pemandu ini dinilai 12 volt, 28 Watt, jadi sudah memadai untuk menggerakkan perlawanan dengan sendirinya. Untuk keadaan anda sendiri, anda boleh menggunakan versi yang lebih ringan atau lebih berat, bergantung pada lekapan anda.
  2. MOSFET saluran n IRF540
  3. Adafruit Huzzah ESP8266 Breakout Oleh kerana saya mahu menggunakan WiFi, dan saya sangat menyukai produk Adafruit, saya memilih papan ini: ia memberi saya ESP8266 dengan pinout pengaturcaraan yang mudah, pengatur kuasa on-board, dan faktor bentuk yang elegan. Ini agak berlebihan untuk projek ini, tetapi ini menjadikan pengujian dan penyahpepijatan lebih mudah.
  4. Penukar DC-DC berasaskan LM2596 Untuk mendapatkan kuasa untuk papan ESP dari 12 volt, saya memerlukan pengatur; penukar kecil ini sangat cekap, dan sangat murah.
  5. Rotary Encoder dengan fungsi butang, dengan lampu led terbina dalam:

    www.sparkfun.com/products/10596

    Mana-mana pengekod berputar akan berlaku, tetapi saya menyukai ciri tambahan LED LED yang dibina.

  6. Tombol plastik jernih

    www.sparkfun.com/products/10597

  7. Perintang 4k7
  8. Perintang 1k

Langkah 2: Langkah 2: Litar

Langkah 2: Litar
Langkah 2: Litar

Ini adalah litar yang saya gunakan: Saya menggunakan pin 4 & 5 sebagai input untuk pengekod putar, dan pin 0 untuk butang. Pin 0 juga disambungkan ke led merah on-board, jadi saya dapat memeriksa fungsi butang pada encode dengan menonton led ini.

Pin 16 digunakan untuk output PWM, dan saya menghubungkannya terus ke lampu hijau yang dipimpin pada pengekod Sparkfun. ESP8266 adalah 3, 3 volt, dan walaupun dengan 100%, saya hanya mengukur output 2, 9 volt, jadi saya menghubungkannya secara langsung tanpa perintang siri. Keluaran yang sama ini menuju ke Pintu N-saluran MOSFET, dengan perintang 1kOhm. Gerbang ini ditarik tinggi hingga 12 volt oleh perintang 4.7 kOhm.

Saya menggunakan penukar DC-DC untuk menukar 12 volt ke 5.5 volt, ini disambungkan ke input V + dari Adafruit breakout. Saya mungkin menggunakan 3.3 volt dan menghubungkannya secara langsung, tetapi ini sedikit lebih selamat.

Lampu LED 12 V di litar adalah lekapan saya.

Langkah 3: Langkah 3: Kod

Langkah 3: Kod
Langkah 3: Kod

Saya meletakkan kod di GitHub:

Lakarkan untuk dimmer PWM LED ESP8266

Ini berdasarkan idea yang lain yang dapat dipelajari:

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

Tetapi ini adalah kawalan tempatan semata-mata, jadi saya menambahkan penyelesaian domotik berasaskan MQTT saya sendiri. Pada dasarnya melakukan perkara yang sama, tetapi perbezaan utama adalah:

  • bilangan lalai langkah PWM dengan Arduino adalah 255, dengan ESP8266 itu adalah 1023 (seperti yang saya ketahui kemudian, secara keseluruhan berusaha untuk mengetahui mengapa lekapan LED saya tidak naik sehingga 100% kecerahan …)
  • Saya tidak menggunakan litar 'Totempole' dengan 2 transistor, kerana PWM tetap DC, dan berfungsi dengan baik dengan IRF 540.
  • Saya tidak menggunakan perintang penarik 10k untuk pengekod, saya mempercayai penarikan terbina dalam ESP8266.
  • ESP8266 menggunakan logik 3.3 volt dan bukannya 5 volt untuk Arduino, yang membuktikan tidak ada masalah untuk IRF540

Perisian ini mempunyai ciri-ciri berikut:

  • memutar pengekod akan meredupkan cahaya ke atas (CW) atau ke bawah (CCW), dari 0 hingga 100%, dalam 1023 langkah, dengan beberapa mempercepat di tingkat yang lebih rendah.
  • menekan butang akan menyalakan lampu ketika padam, menggunakan tahap kecerahan yang terakhir disimpan, atau mematikannya ketika menyala.
  • menekan butang untuk masa yang lebih lama semasa lampu menyala akan menyimpan kecerahan semasa sebagai tahap lalai.
  • menekan butang untuk waktu yang lebih lama semasa lampu mati akan menyalakan cahaya menjadi 100% kecerahan, tanpa mengubah tahap lalai.
  • Ia akan menyambung ke tetapan WiFi yang ditentukan oleh rentetan 'SECRET_SSID' dan 'SECRET_PASS', yang disimpan dalam fail berasingan dalam lakaran saya, yang disebut 'secret.h'
  • Ia akan menyambung ke pelayan MQTT di rangkaian WiFi, menggunakan rentetan 'MQTTSERVER' dan 'MQTTPORT' dalam fail yang sama.
  • Anda boleh menggunakan topik masuk MQTT 'domus / esp / in' untuk mengeluarkan perintah: 'ON' atau 'OFF' untuk menyalakan atau mematikan lampu, atau nilai dari 0 hingga 1023 untuk mengubah kecerahan.
  • Ia akan melaporkan keadaan topik MQTT 'domus / esp / uit' (status ON atau OFF) dan 'domus / esp / uit / brightness' (nilai kecerahan).

Disyorkan: