- Mengendalikan Pengatur Kipas Siling berasaskan IoT
- Bahan yang Diperlukan untuk Litar Kawalan Kelajuan Kipas AC
- Litar Kawalan Pengatur Kipas AC
- Reka Bentuk PCB untuk Pengatur Kipas Siling Terkawal IoT
- Menyiapkan Akaun Firebase
- Arduino Code to Control Fan Regulator dengan NodeMCU
- Membangunkan Aplikasi Pengatur Kipas Dengan Pencipta Aplikasi MIT
- Menguji Litar Sensor Sentuh Berasaskan ESP32
- Penambahbaikan Lebih Lanjut
Dalam artikel ini, kami sedang membangun AC Fan Regulator Circuit, yang dapat mengawal kelajuan kipas dengan menyekat aliran arus ke kipas. Istilah AC Ceiling Fan Regulator adalah seteguk, oleh itu kita akan memanggilnya sebagai pengatur kipas mulai sekarang. A litar kipas pengawal selia adalah komponen penting yang digunakan untuk menambah atau mengurangkan kelajuan suatu AC Fan / motor mengikut keperluan. Beberapa tahun yang lalu, anda mempunyai pilihan antara pengatur kipas jenis resistif konvensional atau pengatur elektronik, tetapi kini semuanya digantikan oleh rangkaian pengatur kipas elektronik.
Dalam artikel sebelumnya, kami telah menunjukkan kepada anda bagaimana anda dapat membangun AC Phase Angle Control Circuit dengan Arduino yang dapat mengawal kecerahan bola lampu pijar dan juga mengawal kecepatan kipas angin, jadi untuk meningkatkannya dalam artikel ini, kita akan membina rangkaian AC Ceiling Fan Regulator berasaskan IoT. Yang akan dapat mengawal kelajuan kipas siling anda dengan bantuan Aplikasi Android.
Mengendalikan Pengatur Kipas Siling berasaskan IoT
Litar Pengatur Kipas adalah litar sederhana yang dapat mengawal kelajuan kipas siling AC dengan mengubah sudut fasa gelombang sinus AC atau dalam istilah sederhana kawalan tepat TRIAC. Seperti yang telah saya nyatakan semua cara kerja asas rangkaian pengatur kipas AC dalam artikel AC Phase Angle Control dengan 555 Timer dan PWM, kita akan menumpukan perhatian pada pembinaan litar sebenar. Dan sekali lagi jika anda ingin mengetahui lebih lanjut mengenai topik ini, sila baca artikel tentang AC Light Dimmer menggunakan Arduino dan TRIAC Project.
Gambarajah blok asas di atas menunjukkan bagaimana litar sebenarnya berfungsi. Seperti yang telah saya katakan sebelumnya, kami akan menghasilkan isyarat PWM dengan bantuan Firebase IoT dan NodeMCU, maka isyarat PWM akan disalurkan melalui penapis lulus rendah yang akan mengawal pintu MOSFET selepas itu pemasa 555 akan mengawal TRIAC sebenar dengan bantuan optocoupler.
Dalam kes ini, aplikasi android mengubah nilai di firebaseDB dan ESP sentiasa memeriksa sebarang perubahan yang berlaku pada DB tersebut sekiranya ada perubahan yang diturunkan dan nilainya ditukar menjadi isyarat PWM
Bahan yang Diperlukan untuk Litar Kawalan Kelajuan Kipas AC
Gambar di bawah menunjukkan bahan yang digunakan untuk membina litar ini, kerana ini dibuat dengan komponen yang sangat generik, anda seharusnya dapat mencari semua bahan yang disenaraikan di kedai hobi tempatan anda.
Saya juga telah menyenaraikan komponen dalam jadual di bawah dengan jenis dan kuantiti sejak projek demonstrasi, saya menggunakan satu saluran untuk melakukannya. Tetapi rangkaian dapat ditingkatkan dengan mudah sesuai keperluan.
- Penyambung Terminal Skru 5.04mm - 2
- Penyambung Header 2.54mm Lelaki - 1
- Perintang 56K, 1W - 2
- 1N4007 Diod - 4
- Kapasitor 0.1uF, 25V - 2
- Pengatur Voltan AMS1117 - 1
- 1000uF, Kapasitor 25V - 1
- Jack Kuasa DC - 1
- Perintang 1K - 1
- Perintang 470R - 2
- Perintang 47R - 2
- 82 K Perintang - 1
- Perintang 10 K - 5
- Optocoupler PC817 - 1
- NE7555 IC - 1
- MOC3021 Opto TriacDrive - 1
- IRF9540 MOSFET - 1
- Kapasitor 3.3uF - 1
- Wayar Penyambung - 5
- Kapasitor 0.1uF, 1KV - 1
- Pengawal Mikro ESP8266 (ESP-12E) - 1
Litar Kawalan Pengatur Kipas AC
Skema untuk litar pengatur kipas IoT ditunjukkan di bawah, litar ini sangat mudah dan menggunakan komponen generik untuk mencapai kawalan sudut fasa.
Litar ini terdiri daripada komponen yang dirancang dengan teliti. Saya akan meneliti setiap satu dan menerangkan setiap blok.
Cip Wi-Fi ESP8266 (ESP-12E):
Ini adalah bahagian pertama litar kami dan bahagian di mana kami telah mengubah banyak perkara, bahagian lain tetap sama, iaitu jika anda telah mengikuti artikel sebelumnya.
Di bahagian ini, kami telah menarik pin Enable, Reset, dan GPIO0, juga, kami telah menurunkan GPIO15 dan Ground Pin, yang disarankan oleh lembar data cip. Untuk pengaturcaraan, kami telah meletakkan header 3pin yang memperlihatkan TX, RX, dan pin ground di mana kami dapat memprogramkan chip dengan sangat mudah. Kami juga telah meletakkan suis taktil untuk meletakkan GPIO0 ke tanah, ini adalah langkah yang perlu untuk meletakkan ESP dalam mod pengaturcaraan. Kami telah memilih pin GPIO14 sebagai output melalui mana isyarat PWM dihasilkan.
Catatan! Pada masa pengaturcaraan, kita harus menekan butang dan menghidupkan peranti dengan jack laras DC.
Litar Pengesanan Melintasi Sifar:
Pertama, dalam senarai kami terdapat litar pengesanan persilangan sifar yang dibuat dengan dua perintang 56K, 1W bersama dengan empat diod 1n4007 dan optocoupler PC817. Dan litar ini bertanggungjawab memberikan isyarat persilangan sifar ke IC pemasa 555. Juga, kami telah melepaskan fasa dan isyarat neutral untuk menggunakannya lebih jauh di bahagian TRIAC.
Pengatur Voltan AMS1117-3.3V:
Pengatur voltan AMS1117 digunakan untuk memberi kuasa pada litar, litar bertanggungjawab untuk memberikan kuasa ke seluruh litar. Selain itu, kami telah menggunakan dua kapasitor 1000uF dan kapasitor 0.1uF sebagai kapasitor pemutusan untuk IC AMS1117-3.3.
Litar Kawalan dengan Pemasa NE555:
Gambar di atas menunjukkan litar kawalan pemasa 555, 555 dikonfigurasi dalam konfigurasi monostable, jadi apabila isyarat pemicu dari litar pengesanan persilangan sifar memukul pencetus, pemasa 555 mula mengecas kapasitor dengan bantuan perintang (secara amnya), tetapi litar kami mempunyai MOSFET sebagai ganti perintang, dan dengan mengawal pintu MOSFET, kami mengawal arus ke kapasitor, sebab itulah kami mengawal masa pengecasan sehingga kami mengawal output 555 pemasa.
TRIAC dan Litar Pemacu TRIAC:
TRIAC bertindak sebagai suis utama yang sebenarnya menghidupkan dan mematikan sehingga mengawal output isyarat AC. Memacu TRIAC menggunakan pemacu Opto-Triac MOC3021, ia tidak hanya menggerakkan TRIAC, tetapi juga memberikan pengasingan optik, kapasitor voltan tinggi 0.01uF 2KV, dan perintang 47R membentuk litar snubber, yang melindungi litar kita dari lonjakan voltan tinggi yang berlaku ketika disambungkan ke beban induktif, Sifat bukan sinusoidal dari isyarat AC yang dihidupkan bertanggungjawab untuk lonjakan. Juga, ia bertanggungjawab untuk masalah faktor kuasa, tetapi itu adalah topik untuk artikel lain.
Lowpass-Filter dan P-Channel MOSFET (Bertindak sebagai Perintang di Litar):
Perintang 82K dan kapasitor 3.3uF membentuk penapis lulus rendah yang bertanggungjawab untuk melancarkan isyarat PWM frekuensi tinggi yang dihasilkan oleh Arduino. Seperti yang telah disebutkan sebelumnya, P-Channel MOSFET bertindak sebagai resistor berubah-ubah, yang mengawal masa pengisian kapasitor. Mengawalnya adalah isyarat PWM yang dilancarkan oleh penapis lorong rendah.
Reka Bentuk PCB untuk Pengatur Kipas Siling Terkawal IoT
PCB untuk litar Pengatur Kipas Siling IoT kami direka bentuk dalam papan satu sisi. Saya telah menggunakan perisian reka bentuk Eagle PCB untuk merancang PCB saya tetapi anda boleh menggunakan perisian reka bentuk pilihan anda. Gambar 2D reka bentuk papan saya ditunjukkan di bawah.
Pengisian tanah yang mencukupi digunakan untuk membuat sambungan tanah yang betul di antara semua komponen. Input 3.3V DC dan input 220 Volt AC diisi di sebelah kiri, output terletak di sebelah kanan PCB. Fail reka bentuk lengkap untuk Eagle dan Gerber boleh dimuat turun dari pautan di bawah.
- Fail Reka Bentuk PCB, JERBER & PDF untuk Litar Pengatur Kipas Siling
PCB buatan tangan:
Untuk kemudahan, saya membuat PCB versi buatan tangan saya dan ditunjukkan di bawah.
Dengan ini, perkakasan kami sudah siap seperti rajah litar kami, sekarang kami harus menyiapkan aplikasi android kami dan Google firebase.
Menyiapkan Akaun Firebase
Untuk langkah seterusnya, kita perlu menyediakan akaun firebase. Semua komunikasi akan melalui akaun firebase. Untuk menyediakan akaun firebase, pergi ke laman web Firebase dan klik 'bermula'.
Setelah anda mengklik, anda perlu log masuk dengan akaun Google anda, dan
setelah anda log masuk, anda perlu membuat projek dengan mengklik pada butang buat projek.
Melakukannya akan mengarahkan anda ke halaman yang kelihatan seperti gambar di atas. Taipkan nama projek anda dan klik teruskan.
Sekali lagi, klik teruskan.
Setelah melakukannya, anda perlu menyetujui beberapa terma dan syarat dengan mengklik kotak pilihan, seterusnya, anda perlu mengklik butang buat projek.
Sekiranya anda telah melakukan semuanya dengan betul, selepas beberapa waktu, anda akan mendapat mesej seperti ini. Setelah selesai, konsol firebase anda akan kelihatan seperti gambar di bawah.
Sekarang kita perlu mengumpulkan dua perkara dari sini. Untuk melakukan itu, anda perlu mengklik nama projek yang baru anda buat. Bagi saya, ia adalah CelingFanRegulator, setelah anda mengkliknya, anda akan mendapat papan pemuka yang serupa dengan gambar di bawah.
Klik pada tetapan, kemudian tetapan projek, halaman yang akan anda perolehi akan kelihatan seperti gambar di bawah.
Klik pada akaun perkhidmatan -> rahsia pangkalan data.
Salin rahsia pangkalan data dan simpan di tempat untuk digunakan kemudian.
Seterusnya, klik pada pangkalan data masa nyata dan salin URL. simpan juga untuk kegunaan kemudian.
Dan itu sahaja, ada di sisi firebase.
Arduino Code to Control Fan Regulator dengan NodeMCU
Kod Arduino sederhana mengurus komunikasi antara firebase dan modul ESP-12E, penjelasan litar dan kod diberikan di bawah, Pertama, kami menentukan semua perpustakaan yang diperlukan, anda boleh memuat turun perpustakaan berikut dari pautan yang diberikan Arduino JSON library dan perpustakaan FirebaseArduino
#sertakan
Kami akan menggunakan perpustakaan FirebaseArduino untuk menjalin komunikasi dengan firebase.
// Tetapkan ini untuk menjalankan contoh. #define FIREBASE_HOST "celingfanregulator.firebaseio.com" #define FIREBASE_AUTH "1qAnDEuPmdy4ef3d9QLEGtYcA1cOehKmpmzxUtLr" #define WIFI_SSID "SSID anda" #define WIFI_
Seterusnya, kami telah menentukan host firebase, autentik firebase, yang sebelumnya telah kami simpan ketika membuat akaun firebase. Kemudian kami telah menentukan SSID dan kata laluan penghala kami.
Rentetan Resivedata; #tentukan PWM_PIN 14;
Seterusnya, kami telah menentukan pemboleh ubah jenis rentetan, Resivedata di mana semua data akan disimpan dan kami juga menentukan PWM_PIN di mana kita akan mendapat output PWM.
Seterusnya, di bahagian persediaan kosong () , kami melakukan yang diperlukan,
Serial.begin (9600); pinMode (PWM_PIN, OUTPUT); WiFi.begin (WIFI_SSID, WIFI_PASSWORD); Serial.print ("menyambung"); sementara (WiFi.status ()! = WL_CONNECTED) {Serial.print ("."); kelewatan (500); } Bersiri.println (); Serial.print ("bersambung:"); Serial.println (WiFi.localIP ()); Firebase.begin (FIREBASE_HOST, FIREBASE_AUTH); Firebase.setString ("Variabel / Nilai", "FirstTestStrig");
Pertama, kita mengaktifkan siri dengan memanggil fungsi Serial.begin () . Seterusnya, kami telah menetapkan pin PWM sebagai OUTPUT. Kami memulakan sambungan Wi-Fi dengan bantuan fungsi WiFi.begin () dan kami meneruskan SSID dan Kata Laluan dalam fungsi tersebut. Kami memeriksa status sambungan dalam beberapa saat dan setelah disambungkan, kami memutuskan putaran dan meneruskannya. Seterusnya, kami mencetak mesej yang disambungkan dengan alamat IP.
Akhir sekali, kami memulakan komunikasi dengan Firebase dengan Firebase.begin () fungsi dan kita lulus FIREBASE_HOST dan FIREBASE_AUTH parameter yang kita telah ditakrifkan sebelum ini. Dan kami menetapkan rentetan dengan fungsi setString () , yang menandakan berakhirnya fungsi persediaan. Di bahagian gelung kosong () ,
Resivedata = Firebase.getString ("Pembolehubah / Nilai"); Serial.println (Resivedata); analogWrite (PWM_PIN, peta (Resivedata.toInt (), 0, 80, 80, 0)); Serial.println (Resivedata); kelewatan (100);
Kami memanggil fungsi getString () dengan Variable / Value di mana data disimpan di firebase, contohnya seperti gambar di bawah-
Kemudian kami mencetak nilai hanya untuk penyahpepijatan. Seterusnya, kita menggunakan fungsi peta untuk memetakan nilai, 80 digunakan kerana dalam jarak 0 - 80, kita dapat mengendalikan pintu MOSFET dengan tepat, dan penapis lowpass RC agak bertanggungjawab terhadap nilai ini. Dalam julat ini, litar kawalan sudut fasa beroperasi dengan tepat, anda mungkin memanggil nilai sebagai titik manis perisian-perkakasan. Sekiranya anda melakukan projek ini dan menghadapi masalah, anda perlu bermain dengan nilai dan menentukan sendiri hasilnya.
Dan selepas itu, kita menggunakan fungsi analogWrite () untuk memberi makan data dan mengaktifkan PWM, setelah itu, kita menggunakan fungsi Serial.println () sekali lagi untuk meninjau hasilnya, dan akhirnya, kita menggunakan fungsi kelewatan untuk mengurangkan hit-hit ke firebase API yang mengakhiri program kami.
Membangunkan Aplikasi Pengatur Kipas Dengan Pencipta Aplikasi MIT
Dengan bantuan AppInventor, kami akan membuat aplikasi android yang akan berkomunikasi dengan firebase dan memiliki wewenang untuk mengubah data yang disimpan dalam pangkalan data firebase.
Untuk melakukannya, pergi ke laman web appInventors, log masuk dengan akaun Google anda, dan terima terma dan syarat. Setelah selesai, anda akan disajikan dengan layar yang kelihatan seperti gambar di bawah.
Klik pada memulakan ikon projek baru dan beri nama dan tekan OK, setelah anda melakukannya, anda akan disajikan dengan skrin seperti gambar di bawah.
Setelah sampai di sana anda perlu meletakkan dua label terlebih dahulu , di mana ini adalah untuk meletakkan slider sedikit ke bawah, seterusnya anda perlu memasukkan beberapa modul dan mereka adalah modul FirebaseDB dan modul web.
The firebaseDB berkomunikasi modul dengan Firebase itu, modul web digunakan untuk h andle permintaan. Yang kelihatan seperti gambar di bawah.
Setelah selesai, anda perlu memasukkan slaid dan label yang kami namakan PWM, jika anda keliru ketika ini, anda boleh melihat beberapa tutorial lain mengenai membuat aplikasi dengan penemu aplikasi.
Setelah selesai dengan prosesnya, klik pada ikon DB firebase dan masukkan token firebase dan URL firebase yang telah kami simpan semasa membuat akaun firebase.
Sekarang, kita selesai dengan bahagian reka bentuk dan kita perlu menyiapkan bahagian blok. Untuk melakukan itu, kita perlu mengklik butang blok di sudut kanan atas di sebelah pereka.
Sebaik sahaja klik pada slaid dan anda akan diberikan senarai panjang modul, tarik keluar modul pertama, dan arahkan tetikus anda ke atas butang ibu jari, anda akan disambut dengan dua modul lagi, tarik keduanya keluar. Kami akan menggunakannya kemudian.
Sekarang kita melampirkan thumbposition berubah-ubah, kita bundarkan ia di luar dan kita akan mendapat nilai kedudukan ibu jari. Seterusnya, kami mengklik firebasedb dan mengeluarkan panggilan tag FirebaseDB.storeValue untuk menyimpan, memodelkan dan melampirkannya ke bahagian bawah nilai kedudukan ibu jari.
Setelah selesai, kami mengeluarkan kotak teks kosong dengan mengklik blok teks dan melampirkannya dengan tag, ini adalah tag yang telah kami tetapkan di Arduino IDE untuk membaca dan menulis data di firebase. Sekarang lampirkan pemboleh ubah nilai ibu jari ke nilai untuk menyimpan tag. Sekiranya anda telah melakukan semuanya dengan betul, dengan menggerakkan slaid, anda akan dapat mengubah nilai di firebaseDB.
- The.aia (fail yang disimpan) dan.apk (fail yang disusun)
Yang menandakan berakhirnya proses pembuatan aplikasi kami. Gambaran ringkas aplikasi android yang baru kami buat ditunjukkan di bawah.
Menguji Litar Sensor Sentuh Berasaskan ESP32
Untuk menguji litar, saya telah menyambungkan bola lampu pijar yang selari dengan kipas siling, dan saya telah menghidupkan litar dengan penyesuai DC 5V, seperti yang anda lihat dalam gambar di atas, slaid aplikasi ditetapkan ke rendah, itulah sebabnya mentol menyala pada kecerahan rendah. Dan kipas juga berpusing perlahan.
Penambahbaikan Lebih Lanjut
Untuk demonstrasi ini, litar dibuat pada PCB buatan tangan tetapi litar dapat dibina dengan mudah pada PCB berkualiti baik, dalam percubaan saya, ukuran PCB benar-benar sedikit kerana ukuran komponen, tetapi dalam persekitaran pengeluaran, ia dapat dikurangkan dengan menggunakan komponen SMD yang murah, saya dapati menggunakan pemasa 7555 dan bukannya pemasa 555 meningkatkan kawalan secara meluas, lebih jauh lagi, kestabilan litar juga meningkat.