- Bekerja dari Pengatur Kipas Langit-langit berbasis IoT
- Bahan yang Dibutuhkan untuk Sirkuit Kontrol Kecepatan Kipas AC
- Sirkuit Kontrol Pengatur Kipas AC
- Desain PCB untuk IoT Controlled Ceiling Fan Regulator
- Menyiapkan Akun Firebase
- Kode Arduino untuk Mengontrol Fan Regulator dengan NodeMCU
- Membangun Aplikasi Fan Regulator Dengan MIT App Inventor
- Menguji Sirkuit Sensor Sentuh Berbasis ESP32
- Peningkatan Lebih Lanjut
Pada artikel kali ini, kami sedang membangun Rangkaian Pengatur Kipas AC, yang mampu mengontrol kecepatan kipas dengan cara membatasi aliran arus ke kipas. Istilah AC Ceiling Fan Regulator sudah cukup banyak, maka kita akan langsung menyebutnya sebagai fan regulator mulai sekarang. Sebuah rangkaian fan regulator adalah komponen penting yang digunakan untuk meningkatkan atau menurunkan kecepatan dari AC Fan / motor sesuai dengan kebutuhan. Beberapa tahun yang lalu, Anda memiliki pilihan antara pengatur kipas tipe resistif konvensional atau pengatur elektronik, tetapi saat ini semuanya telah digantikan oleh rangkaian pengatur kipas elektronik.
Dalam artikel sebelumnya, kami telah menunjukkan kepada Anda bagaimana Anda dapat membangun Sirkuit Kontrol Sudut Fase AC dengan Arduino yang mampu mengontrol kecerahan bola lampu pijar dan juga mengontrol kecepatan Kipas, sehingga meningkatkannya. Pada artikel ini, kita akan membangun rangkaian Pengatur Kipas Langit-Langit AC berbasis IoT. Yang akan dapat mengontrol kecepatan kipas angin gantung Anda dengan bantuan Aplikasi Android.
Bekerja dari Pengatur Kipas Langit-langit berbasis IoT
Rangkaian Fan Regulator merupakan rangkaian sederhana yang mampu mengontrol kecepatan kipas angin gantung AC dengan cara merubah sudut fasa gelombang sinus AC atau dalam istilah sederhananya adalah kontrol yang tepat dari TRIAC. Seperti yang telah saya sebutkan semua cara kerja dasar dari rangkaian pengatur kipas AC dalam artikel Kontrol Sudut Fase AC dengan Timer 555 dan PWM, kita akan berkonsentrasi pada pembangunan rangkaian yang sebenarnya. Dan lagi jika ingin tahu lebih banyak tentang topik tersebut, silahkan cek juga artikel tentang AC Light Dimmer menggunakan Arduino dan TRIAC Project.
Diagram blok dasar di atas menunjukkan bagaimana rangkaian sebenarnya bekerja. Seperti yang telah saya katakan sebelumnya, kita akan menghasilkan sinyal PWM dengan bantuan Firebase IoT dan NodeMCU, kemudian sinyal PWM akan dilewatkan melalui filter low-pass yang akan mengontrol gerbang MOSFET setelah itu timer 555 akan mengontrol TRIAC yang sebenarnya dengan bantuan optocoupler.
Dalam hal ini, aplikasi android mengubah nilai di firebaseDB dan ESP terus-menerus memeriksa setiap perubahan yang terjadi pada DB tersebut jika ada perubahan yang ditarik ke bawah dan nilainya diubah menjadi sinyal PWM
Bahan yang Dibutuhkan untuk Sirkuit Kontrol Kecepatan Kipas AC
Gambar di bawah ini menunjukkan bahan yang digunakan untuk membangun sirkuit ini, karena ini dibuat dengan komponen yang sangat umum, Anda seharusnya bisa menemukan semua bahan yang terdaftar di toko hobi setempat Anda.
Saya juga telah mencantumkan komponen dalam tabel di bawah ini dengan jenis dan kuantitas karena ini adalah proyek demonstrasi, saya menggunakan satu saluran untuk melakukannya. Tetapi sirkuit dapat dengan mudah ditingkatkan sesuai kebutuhan.
- Konektor Terminal Sekrup 5.04mm - 2
- Konektor Pria Header 2.54mm - 1
- 56K, 1W Resistor - 2
- 1N4007 Diode - 4
- 0.1uF, 25V Kapasitor - 2
- Regulator Tegangan AMS1117 - 1
- 1000uF, 25V Kapasitor - 1
- Colokan Daya DC - 1
- Resistor 1K - 1
- 470R Resistor - 2
- 47R Resistor - 2
- 82 K Resistor - 1
- Resistor 10 K - 5
- Optocoupler PC817 - 1
- NE7555 IC - 1
- MOC3021 Opto TriacDrive - 1
- IRF9540 MOSFET - 1
- 3.3uF Capacitor - 1
- Menghubungkan Kabel - 5
- 0.1uF, Kapasitor 1KV - 1
- Mikrokontroler ESP8266 (ESP-12E) - 1
Sirkuit Kontrol Pengatur Kipas AC
Skema rangkaian pengatur kipas IoT ditunjukkan di bawah ini, rangkaian ini sangat sederhana dan menggunakan komponen generik untuk mencapai kontrol sudut fasa.
Sirkuit ini terdiri dari komponen yang dirancang dengan sangat hati-hati. Saya akan membahas masing-masing dan menjelaskan setiap blok.
Chip Wi-Fi ESP8266 (ESP-12E):
Ini adalah bagian pertama dari rangkaian kita dan itu adalah bagian di mana kita telah mengubah banyak hal, bagian lainnya tetap sama persis, yaitu jika Anda telah mengikuti artikel sebelumnya.
Di bagian ini, kami telah menarik pin Enable, Reset, dan GPIO0, juga, kami telah menarik ke bawah GPIO15 dan Pin Ground, yang direkomendasikan oleh lembar data chip. Sedangkan untuk pemrograman, kami telah menempatkan header 3pin yang mengekspos TX, RX, dan pin ground tempat kami dapat memprogram chip dengan sangat mudah. Selain itu, kami telah memasang sakelar taktil untuk meletakkan GPIO0 ke ground, ini adalah langkah yang diperlukan untuk menempatkan ESP dalam mode pemrograman. Kami telah memilih pin GPIO14 sebagai output yang digunakan untuk menghasilkan sinyal PWM.
Catatan! Pada saat memprogram, kita harus menekan tombol dan menyalakan perangkat dengan DC barrel jack.
Sirkuit Deteksi Zero-Crossing:
Pertama, dalam daftar kami adalah sirkuit deteksi zero-crossing yang dibuat dengan dua resistor 56K, 1W bersama dengan empat dioda 1n4007 dan optocoupler PC817. Dan rangkaian ini bertanggung jawab untuk memberikan sinyal zero-crossing ke IC timer 555. Juga, kami telah merekam fase dan sinyal netral untuk digunakan lebih lanjut di bagian TRIAC.
Regulator Tegangan AMS1117-3.3V:
Pengatur tegangan AMS1117 digunakan untuk menyalakan rangkaian, rangkaian bertanggung jawab untuk menyediakan daya ke seluruh rangkaian. Selain itu, kami telah menggunakan dua kapasitor 1000uF dan kapasitor 0.1uF sebagai kapasitor decoupling untuk IC AMS1117-3.3.
Sirkuit Kontrol dengan Timer NE555:
Gambar di atas menunjukkan rangkaian kontrol timer 555, 555 dikonfigurasi dalam konfigurasi monostable, jadi ketika sinyal pemicu dari rangkaian deteksi zero-crossing mengenai pelatuk, timer 555 mulai mengisi kapasitor dengan bantuan resistor (secara umum), tetapi rangkaian kami memiliki MOSFET sebagai pengganti resistor, dan dengan mengontrol gerbang MOSFET, kami mengontrol arus yang menuju kapasitor, itulah mengapa kami mengontrol waktu pengisian sehingga kami mengontrol output dari 555 timer.
TRIAC dan Sirkuit TRIAC-Driver:
TRIAC bertindak sebagai sakelar utama yang benar-benar hidup dan mati sehingga mengontrol keluaran sinyal AC. Mengemudi TRIAC menggunakan MOC3021 Opto-Triac-drive, tidak hanya menggerakkan TRIAC, tetapi juga menyediakan isolasi optik, kapasitor tegangan tinggi 0,01uF 2KV, dan resistor 47R membentuk sirkuit snubber, yang melindungi sirkuit kita dari lonjakan tegangan tinggi yang terjadi saat terhubung ke beban induktif, Sifat non-sinusoidal dari sinyal AC yang diaktifkan bertanggung jawab atas lonjakan tersebut. Selain itu, ini bertanggung jawab atas masalah faktor daya, tetapi itu adalah topik untuk artikel lain.
Lowpass-Filter dan P-Channel MOSFET (Bertindak sebagai Resistor di Sirkuit):
Resistor 82K dan kapasitor 3.3uF membentuk low pass filter yang bertanggung jawab untuk menghaluskan sinyal PWM frekuensi tinggi yang dihasilkan oleh Arduino. Seperti disebutkan sebelumnya, P-Channel MOSFET bertindak sebagai resistor variabel, yang mengontrol waktu pengisian kapasitor. Mengontrolnya adalah sinyal PWM yang dihaluskan oleh filter low-pass.
Desain PCB untuk IoT Controlled Ceiling Fan Regulator
PCB untuk sirkuit IoT Ceiling Fan Regulator kami dirancang dalam papan satu sisi. Saya telah menggunakan perangkat lunak desain Eagle PCB untuk mendesain PCB saya, tetapi Anda dapat menggunakan perangkat lunak desain pilihan Anda. Gambar 2D dari desain papan saya ditunjukkan di bawah ini.
Pengisian arde yang memadai digunakan untuk membuat sambungan arde yang benar di antara semua komponen. Input DC 3,3V dan input AC 220 Volt diisi di sisi kiri, output terletak di sisi kanan PCB. File desain lengkap untuk Eagle bersama dengan Gerber dapat diunduh dari tautan di bawah ini.
- Desain PCB, File GERBER & PDF untuk Sirkuit Regulator Kipas Langit-Langit
PCB buatan tangan:
Untuk kenyamanan, saya membuat versi PCB buatan tangan saya dan itu ditunjukkan di bawah ini.
Dengan ini, perangkat keras kami siap sesuai diagram sirkuit kami, sekarang kami harus menyiapkan aplikasi android dan Google firebase.
Menyiapkan Akun Firebase
Untuk langkah selanjutnya, kita perlu menyiapkan akun firebase. Semua komunikasi akan melalui akun firebase. Untuk menyiapkan akun firebase, buka situs Firebase dan klik 'mulai'.
Setelah Anda mengklik, Anda harus masuk dengan akun Google Anda, dan
setelah Anda masuk, Anda perlu membuat proyek dengan mengklik tombol buat proyek.
Melakukannya akan mengarahkan Anda ke halaman yang terlihat seperti gambar di atas. Ketik nama proyek Anda dan klik lanjutkan.
Sekali lagi, klik lanjutkan.
Setelah Anda melakukannya, Anda perlu menyetujui beberapa syarat dan ketentuan dengan mengklik kotak centang, selanjutnya, Anda perlu mengklik tombol buat proyek.
Jika Anda telah melakukan semuanya dengan benar, setelah beberapa waktu, Anda akan mendapatkan pesan seperti ini. Setelah selesai, konsol firebase Anda akan terlihat seperti gambar di bawah ini.
Sekarang kita perlu mengumpulkan dua hal dari sini. Untuk melakukan itu, Anda perlu mengklik nama proyek yang baru saja Anda buat. Bagi saya, ini adalah CelingFanRegulator, setelah Anda mengkliknya, Anda akan mendapatkan dasbor seperti gambar di bawah.
Klik pada pengaturan, kemudian pengaturan proyek, halaman yang akan Anda dapatkan akan terlihat seperti gambar di bawah ini.
Klik pada akun layanan -> rahasia database.
Salin rahasia database dan simpan di suatu tempat untuk digunakan nanti.
Selanjutnya, klik pada database real-time dan salin URL-nya. simpan juga untuk digunakan nanti.
Dan itu saja, ada di sisi dasar semuanya.
Kode Arduino untuk Mengontrol Fan Regulator dengan NodeMCU
Kode Arduino sederhana menangani komunikasi antara firebase dan modul ESP-12E, penjelasan sirkuit dan kode diberikan di bawah ini, Pertama, kami menentukan semua pustaka yang diperlukan yang diperlukan, Anda dapat mengunduh pustaka berikut dari tautan yang diberikan pustaka Arduino JSON dan pustaka FirebaseArduino
#include
Kami akan menggunakan pustaka FirebaseArduino untuk menjalin komunikasi dengan firebase.
// Atur ini untuk menjalankan contoh. #define FIREBASE_HOST "celingfanregulator.firebaseio.com" #define FIREBASE_AUTH "1qAnDEuPmdy4ef3d9QLEGtYcA1cOehKmpmzxUtLr" #define WIFI_SSID "your SSID" #define WIFI_PASSWORD "pass Anda"
Selanjutnya, kita telah menentukan host firebase, firebase auth, yang sebelumnya telah kita simpan saat membuat akun firebase. Kemudian kami telah menentukan SSID dan kata sandi router kami.
String Resivedata; # Tentukan PWM_PIN 14;
Selanjutnya, kita telah mendefinisikan variabel tipe string, Resivedata dimana semua data akan disimpan dan kita juga mendefinisikan PWM_PIN dimana kita akan mendapatkan keluaran PWM.
Selanjutnya, di bagian void setup () , kami melakukan yang diperlukan,
Serial.begin (9600); pinMode (PWM_PIN, OUTPUT); WiFi.begin (WIFI_SSID, WIFI_PASSWORD); Serial.print ("menghubungkan"); sementara (WiFi.status ()! = WL_CONNECTED) {Serial.print ("."); penundaan (500); } Serial.println (); Serial.print ("terhubung:"); Serial.println (WiFi.localIP ()); Firebase.begin (FIREBASE_HOST, FIREBASE_AUTH); Firebase.setString ("Variabel / Nilai", "FirstTestStrig");
Pertama, kita mengaktifkan serial dengan memanggil fungsi Serial.begin () . Selanjutnya, kami telah mengatur pin PWM sebagai OUTPUT. Kami memulai koneksi Wi-Fi dengan bantuan fungsi WiFi.begin () dan kami meneruskan SSID dan Kata Sandi dalam fungsi tersebut. Kami memeriksa status koneksi dalam loop sementara dan setelah terhubung, kami memutuskan loop dan melanjutkan. Selanjutnya, kami mencetak pesan yang terhubung dengan alamat IP.
Akhirnya, kita mulai komunikasi dengan firebase dengan Firebase.begin () fungsi dan kami melewati FIREBASE_HOST dan FIREBASE_AUTH parameter yang telah kita definisikan sebelumnya. Dan kami mengatur string dengan fungsi setString () , yang menandai akhir dari fungsi pengaturan. Di bagian void loop () ,
Resivedata = Firebase.getString ("Variabel / Nilai"); Serial.println (Resivedata); analogWrite (PWM_PIN, peta (Resivedata.toInt (), 0, 80, 80, 0)); Serial.println (Resivedata); penundaan (100);
Kita memanggil fungsi getString () dengan Variable / Value dimana datanya disimpan di firebase, contohnya seperti gambar di bawah ini-
Kemudian kami mencetak nilai hanya untuk debugging. Selanjutnya, kami menggunakan fungsi peta untuk memetakan nilai, 80 digunakan karena dalam kisaran 0 - 80, kami dapat mengontrol gerbang MOSFET secara akurat, dan filter lowpass RC agak bertanggung jawab untuk nilai ini. Dalam kisaran ini, rangkaian kontrol sudut fase beroperasi secara akurat, Anda dapat menyebut nilai sebagai sweet spot perangkat keras-perangkat lunak. Jika Anda melakukan proyek ini dan menghadapi masalah, Anda perlu bermain-main dengan nilai dan menentukan sendiri hasilnya.
Dan setelah itu, kami menggunakan fungsi analogWrite () untuk memasukkan data dan mengaktifkan PWM, setelah itu, kami menggunakan fungsi Serial.println () lagi hanya untuk meninjau hasilnya, dan terakhir, kami menggunakan fungsi penundaan untuk mengurangi hit-count ke firebase API yang mengakhiri program kami.
Membangun Aplikasi Fan Regulator Dengan MIT App Inventor
Dengan bantuan AppInventor, kita akan membuat aplikasi android yang akan berkomunikasi dengan firebase dan memiliki kewenangan untuk mengubah data yang disimpan di database firebase.
Untuk melakukan itu, buka situs web appInventors, masuk dengan akun Google Anda, dan setujui syarat dan ketentuannya. Setelah Anda melakukannya, Anda akan disajikan dengan layar yang terlihat seperti gambar di bawah ini.
Klik pada ikon mulai proyek baru dan beri nama dan tekan OK, setelah Anda melakukannya, Anda akan disajikan dengan layar seperti gambar di bawah ini.
Sesampai di sana Anda harus terlebih dahulu meletakkan dua label, di mana ini untuk meletakkan slider sedikit ke bawah, selanjutnya Anda perlu menarik beberapa modul dan itu adalah modul FirebaseDB dan modul web.
The firebaseDB modul berkomunikasi dengan firebase itu, modul web yang digunakan untuk h andle permintaan. Yang terlihat seperti gambar di bawah ini.
Setelah selesai, Anda perlu menarik slider dan label yang kami beri nama PWM, jika Anda bingung saat ini, Anda dapat melihat beberapa tutorial lain tentang membuat aplikasi dengan penemu aplikasi.
Setelah kita selesai dengan prosesnya, klik ikon DB firebase dan masukkan token firebase dan URL firebase yang telah kita simpan saat membuat akun firebase.
Sekarang, kita selesai dengan bagian desain dan kita perlu menyiapkan bagian blok. Untuk melakukan itu, kita perlu mengklik tombol blokir di sudut kanan atas di samping perancang.
Setelah mengklik slider dan Anda akan disajikan dengan daftar panjang modul, tarik keluar modul pertama, dan arahkan mouse Anda ke tombol posisi jempol, Anda akan disambut dengan dua modul lagi, tarik keduanya keluar. Kami akan menggunakannya nanti.
Sekarang kami melampirkan variabel thumbposition , kami membulatkannya dan kami mendapatkan nilai posisi jempol. Selanjutnya, kita mengklik firebasedb dan menarik nilai tag panggilan FirebaseDB.storeValue untuk menyimpan, modul , dan memasangnya di bagian bawah nilai posisi jempol.
Setelah selesai, kami mengeluarkan kotak teks kosong dengan mengklik blok teks dan melampirkannya dengan tag, ini adalah tag yang telah kami setel di Arduino IDE untuk membaca dan menulis data di firebase. Sekarang lampirkan variabel nilai ibu jari ke nilai untuk menyimpan tag. Jika Anda telah melakukan semuanya dengan benar, dengan menggerakkan penggeser, Anda akan dapat mengubah nilai di firebaseDB.
- .Aia (file yang disimpan) dan.apk (file yang dikompilasi)
Yang menandai akhir dari proses pembuatan aplikasi kami. Cuplikan dari aplikasi android yang baru saja kita buat ditunjukkan di bawah ini.
Menguji Sirkuit Sensor Sentuh Berbasis ESP32
Untuk menguji sirkuit, saya telah menghubungkan bola lampu pijar sejajar dengan kipas langit-langit, dan saya telah menyalakan sirkuit dengan adaptor DC 5V, seperti yang Anda lihat pada gambar di atas, slider aplikasi disetel ke rendah, itulah sebabnya bohlam menyala dengan kecerahan rendah. Dan kipas juga berputar perlahan.
Peningkatan Lebih Lanjut
Untuk demonstrasi kali ini, rangkaian dibuat pada PCB buatan tangan tetapi rangkaian dapat dengan mudah dibangun di atas PCB yang berkualitas baik, dalam percobaan saya, ukuran PCB sangat sedikit karena ukuran komponennya, tetapi dalam lingkungan produksi, itu dapat dikurangi dengan menggunakan komponen SMD yang murah, saya menemukan menggunakan timer 7555 daripada timer 555 meningkatkan kontrol secara ekstensif, lebih jauh lagi, stabilitas rangkaian juga meningkat.