- Komponen Diperlukan
- Cara kerja kontrol kipas AC menggunakan Arduino
- 1. Detektor Penyeberangan Nol
- 2. Sirkuit Pengontrol Sudut Fase
- 3. Potensiometer untuk mengontrol Kecepatan Kipas
- 4. Unit Pembangkit Sinyal PWM
- Diagram Sirkuit
- Memprogram Arduino untuk kontrol kecepatan kipas AC
PERINGATAN!! Diagram sirkuit yang dibahas dalam proyek ini hanya untuk tujuan pendidikan. Harap diperhatikan bahwa bekerja dengan tegangan listrik AC 220V memerlukan tindakan pencegahan yang ekstrim dan prosedur keselamatan harus diikuti. Jangan menyentuh komponen atau kabel apa pun saat sirkuit beroperasi.
Sangat mudah untuk menghidupkan atau mematikan peralatan rumah tangga apa pun dengan menggunakan sakelar atau dengan menggunakan beberapa mekanisme kontrol seperti yang kami lakukan di banyak proyek Otomasi Rumah berbasis Arduino. Tetapi ada banyak aplikasi dimana kita perlu mengontrol daya AC secara parsial, misalnya untuk mengontrol kecepatan Fan atau Intensitas Lampu. Dalam hal ini digunakan teknik PWM, jadi disini kita akan belajar bagaimana menggunakan PWM yang dihasilkan Arduino untuk mengontrol kecepatan kipas AC dengan Arduino.
Dalam proyek ini, kami akan mendemonstrasikan kontrol kecepatan kipas AC Arduino menggunakan TRIAC. Disini metode pengontrolan fase sinyal AC digunakan untuk mengontrol kecepatan kipas AC, menggunakan sinyal PWM yang dibangkitkan oleh Arduino. Pada tutorial sebelumnya, kami mengontrol kecepatan kipas DC menggunakan PWM.
Komponen Diperlukan
- Arduino UNO
- 4N25 (Detektor persimpangan nol)
- Potensiometer 10k
- MOC3021 0pto-coupler
- (0-9) V, 500 mA Stepdown Transformer
- BT136 TRIAC
- Kipas AC aksial 230 VAC
- Menghubungkan kabel
- Resistor
Cara kerja kontrol kipas AC menggunakan Arduino
Pekerjaan dapat dibagi menjadi empat bagian berbeda. Mereka adalah sebagai berikut
1. Zero-Crossing Detector
2. Sirkuit Pengontrol Sudut Fase
3. Potensiometer untuk mengontrol besaran kecepatan Fan
4. Sirkuit Pembangkitan sinyal PWM
1. Detektor Penyeberangan Nol
Supply AC yang kami dapatkan di rumah kami adalah AC 220v RMS, 50 HZ. Sinyal AC ini bersifat bolak-balik dan mengubah polaritasnya secara berkala. Pada paruh pertama setiap siklus, arus mengalir dalam satu arah mencapai tegangan puncak dan kemudian turun ke nol. Kemudian dalam setengah siklus berikutnya, arus mengalir dalam arah alternatif (negatif) ke tegangan puncak dan kemudian kembali ke nol. Untuk mengontrol kecepatan Kipas AC, tegangan puncak dari kedua setengah siklus perlu dicincang atau dikontrol. Untuk ini, kita harus mendeteksi titik nol dari mana sinyal akan dikontrol / dicincang. Titik pada kurva tegangan dimana tegangan berubah arah disebut penyeberangan tegangan nol.
Rangkaian yang ditunjukkan di bawah ini adalah rangkaian detektor persimpangan nol yang digunakan untuk mendapatkan titik persimpangan nol. Pertama, tegangan AC 220V diturunkan ke 9V AC menggunakan trafo step-down dan kemudian diumpankan ke optocoupler 4N25 pada pin 1 dan 2. Optocoupler 4N25 memiliki LED inbuilt dengan pin 1 sebagai anoda dan pin 2 sebagai a katoda. Jadi sesuai rangkaian di bawah ini, ketika gelombang AC mendekati titik persimpangan nol, LED 4N25 inbuilt akan dimatikan dan akibatnya, transistor keluaran 4N25 juga akan MATI dan pin pulsa keluaran akan ditarik hingga 5V. Demikian pula ketika sinyal meningkat secara bertahap ke puncaktitik tersebut, kemudian LED menyala dan transistor juga akan menyala dengan pin ground terhubung ke pin output, yang membuat pin ini 0V. Dengan menggunakan pulsa ini, titik persimpangan nol dapat dideteksi menggunakan Arduino.
2. Sirkuit Pengontrol Sudut Fase
Setelah mendeteksi titik penyeberangan nol, sekarang kita harus mengontrol jumlah timing di mana daya akan ON dan OFF. Sinyal PWM ini akan menentukan besarnya output tegangan ke motor AC, yang selanjutnya akan mengontrol kecepatannya. Di sini digunakan BT136 TRIAC, yang mengontrol tegangan AC karena ini adalah sakelar elektronik daya untuk mengontrol sinyal tegangan AC.
TRIAC adalah sakelar AC tiga terminal yang dapat dipicu oleh sinyal energi rendah di terminal gerbangnya. Dalam SCR, itu berjalan hanya dalam satu arah, tetapi dalam kasus TRIAC, daya dapat dikontrol di kedua arah. Untuk mempelajari lebih lanjut tentang TRIAC dan SCR, ikuti artikel kami sebelumnya.
Seperti yang ditunjukkan pada gambar di atas, TRIAC dipicu pada sudut tembak 90 derajat dengan menerapkan sinyal pulsa gerbang kecil padanya. Waktu "t1" adalah waktu tunda yang diberikan sesuai dengan kebutuhan peredupan. Misalnya, dalam hal ini, sudut tembak adalah 90 persen, maka daya yang dikeluarkan juga akan berkurang setengahnya sehingga lampu juga akan menyala dengan intensitas setengah.
Kita tahu bahwa frekuensi sinyal AC adalah 50 Hz. Jadi jangka waktunya adalah 1 / f, yaitu 20ms. Untuk setengah siklus, ini akan menjadi 10ms atau 10.000 mikrodetik. Karenanya untuk mengontrol daya lampu AC, kisaran "t1" dapat bervariasi dari 0-10000 mikrodetik.
Optocoupler:
Optocoupler juga dikenal sebagai Optoisolator. Ini digunakan untuk menjaga isolasi antara dua rangkaian listrik seperti sinyal DC dan AC. Pada dasarnya, ini terdiri dari LED yang memancarkan cahaya infra merah dan fotosensor yang mendeteksinya. Di sini digunakan optocoupler MOC3021 untuk mengontrol Kipas AC dari sinyal mikrokontroler yang merupakan sinyal DC.
Diagram koneksi TRIAC dan Optocoupler:
3. Potensiometer untuk mengontrol Kecepatan Kipas
Disini potensiometer digunakan untuk memvariasikan kecepatan Kipas AC. Kita tahu bahwa potensiometer adalah perangkat 3 terminal yang berfungsi sebagai pembagi tegangan dan menyediakan keluaran tegangan variabel. Tegangan keluaran analog variabel ini diberikan pada terminal masukan analog Arduino untuk mengatur nilai kecepatan kipas AC.
4. Unit Pembangkit Sinyal PWM
Pada langkah terakhir, pulsa PWM diberikan ke TRIAC sesuai persyaratan kecepatan, yang pada gilirannya memvariasikan waktu ON / OFF dari sinyal AC dan menyediakan output variabel untuk mengontrol kecepatan Fan. Di sini Arduino digunakan untuk menghasilkan pulsa PWM, yang mengambil input dari potensiometer dan memberikan output sinyal PWM ke TRIAC dan rangkaian optocoupler yang selanjutnya menggerakkan kipas AC pada kecepatan yang diinginkan. Pelajari lebih lanjut tentang pembuatan PWM menggunakan Arduino di sini.
Diagram Sirkuit
Diagram sirkuit untuk rangkaian kontrol kecepatan kipas 230v berbasis Arduino ini diberikan di bawah ini:
Catatan: Saya telah menunjukkan rangkaian lengkap pada papan tempat memotong roti hanya untuk tujuan pemahaman. Anda tidak boleh menggunakan suplai AC 220V langsung ke papan tempat memotong roti Anda, saya telah menggunakan papan putus-putus untuk membuat koneksi seperti yang Anda lihat pada gambar di bawah ini
Memprogram Arduino untuk kontrol kecepatan kipas AC
Setelah koneksi hardware, kita perlu menulis kode untuk Arduino, yang akan menghasilkan sinyal PWM untuk mengontrol waktu ON / OFF sinyal AC menggunakan input potensiometer. Kami sebelumnya menggunakan teknik PWM di banyak proyek.
Kode lengkap dari proyek kontrol kecepatan kipas Arduino AC ini diberikan di bagian bawah proyek ini. Penjelasan bertahap dari kode diberikan di bawah ini.
Pada langkah pertama, nyatakan semua variabel yang diperlukan, yang akan digunakan di seluruh kode. Di sini BT136 TRIAC terhubung ke pin 6 Arduino. Dan variabel speed_val dideklarasikan untuk menyimpan nilai speed step.
int TRIAC = 6; int speed_val = 0;
Selanjutnya, di dalam fungsi setup , deklarasikan pin TRIAC sebagai output karena output PWM akan dihasilkan melalui pin ini. Kemudian, konfigurasikan interupsi untuk mendeteksi zero-crossing. Di sini kami telah menggunakan fungsi yang disebut attachInterrupt, yang akan mengkonfigurasi Pin 3 digital dari Arduino sebagai interupsi eksternal dan akan memanggil fungsi bernama zero_crossing ketika mendeteksi interupsi pada pinnya.
batal penyiapan () {pinMode (LAMP, OUTPUT); attachInterrupt (digitalPinToInterrupt (3), zero_crossing, CHANGE); }
Di dalam infinite loop , baca nilai analog dari potensiometer yang terhubung ke A0 dan petakan ke kisaran nilai (10-49).
Untuk mengetahui kisaran ini kita harus melakukan perhitungan kecil. Sebelumnya dikatakan bahwa setiap setengah siklus setara dengan 10.000 mikrodetik. Jadi di sini peredupan akan dikontrol dalam 50 langkah yang merupakan nilai arbitrer dan dapat diubah. Di sini langkah minimum diambil sebagai 10, bukan Nol karena langkah 0-9 memberikan keluaran daya yang kira-kira sama dan langkah maksimum diambil sebagai 49 karena secara praktis tidak disarankan untuk mengambil batas atas (dalam kasus ini adalah 50).
Kemudian setiap waktu langkah dapat dihitung sebagai 10.000 / 50 = 200 mikrodetik. Ini akan digunakan di bagian kode selanjutnya.
void loop () {int pot = analogRead (A0); int data1 = peta (pot, 0, 1023,10,49); speed_val = data1; }
Pada langkah terakhir, konfigurasikan fungsi zero_crossing yang digerakkan oleh interupsi. Di sini waktu peredupan dapat dihitung dengan mengalikan waktu langkah individu dengan no. langkah. Kemudian setelah waktu tunda ini, TRIAC dapat dipicu menggunakan pulsa kecil 10 mikrodetik yang cukup untuk menyalakan TRIAC.
batal zero_crossing () {int chop_time = (200 * speed_val); delayMicroseconds (chop_time); digitalWrite (TRIAC, TINGGI); delayMicroseconds (10); digitalWrite (TRIAC, LOW); }
Kode lengkap bersama dengan video kerja untuk kontrol kipas AC ini menggunakan Arduino dan PWM diberikan di bawah ini.