- Komponen Diperlukan
- Mengendalikan kawalan kipas AC menggunakan Arduino
- 1. Pengesan Penyeberangan Sifar
- 2. Fasa Angle mengawal Litar
- 3. Potensiometer untuk mengawal Kelajuan Kipas
- 4. Unit Penjanaan Isyarat PWM
- Rajah Litar
- Memprogram Arduino untuk kawalan kelajuan kipas AC
AMARAN !! Gambarajah litar yang dibincangkan dalam projek ini hanya untuk tujuan pendidikan. Perlu diketahui bahawa bekerja dengan voltan utama 220V AC memerlukan langkah berjaga-jaga yang sangat tinggi dan prosedur keselamatan harus diikuti. Jangan menyentuh komponen atau wayar semasa litar beroperasi.
Mudah untuk menghidupkan atau mematikan perkakas rumah dengan menggunakan suis atau menggunakan mekanisme kawalan seperti yang kita lakukan dalam banyak projek Automasi Rumah yang berbasis di Arduino. Tetapi ada banyak aplikasi di mana kita perlu mengawal kuasa AC secara separa, misalnya, untuk mengawal kelajuan Kipas atau intensiti Lampu. Dalam kes ini, teknik PWM digunakan, jadi di sini kita akan belajar bagaimana menggunakan PWM yang dihasilkan Arduino untuk mengawal kelajuan kipas AC dengan Arduino.
Dalam projek ini, kami akan menunjukkan kawalan kelajuan kipas Arduino AC menggunakan TRIAC. Di sini kaedah kawalan fasa isyarat AC digunakan untuk mengawal kelajuan kipas AC, menggunakan isyarat PWM yang dihasilkan oleh Arduino. Dalam tutorial sebelumnya, kami mengawal kelajuan kipas DC menggunakan PWM.
Komponen Diperlukan
- Arduino UNO
- 4N25 (Pengesan melintasi sifar)
- Potensiometer 10k
- MOC3021 0pto-pengganding
- (0-9) V, 500 mA Stepdown Transformer
- TRIAC BT136
- Kipas AC Vaks 230 VAC
- Menyambung wayar
- Perintang
Mengendalikan kawalan kipas AC menggunakan Arduino
Karya boleh dibahagikan kepada empat bahagian yang berbeza. Ia adalah seperti berikut
1. Zero-Crossing Detector
2. Litar Pengawal Sudut Fasa
3. Potensiometer untuk mengawal jumlah kelajuan kipas
4. Litar penjanaan isyarat PWM
1. Pengesan Penyeberangan Sifar
Bekalan AC yang kami dapat di rumah kami ialah 220v AC RMS, 50 HZ. Isyarat AC ini berselang seli dan mengubah kekutubannya secara berkala. Pada separuh pertama setiap kitaran, ia mengalir dalam satu arah mencapai voltan puncak dan kemudian menurun menjadi sifar. Kemudian pada separuh kitaran seterusnya, ia mengalir ke arah gantian (negatif) ke voltan puncak dan sekali lagi menjadi sifar. Untuk mengawal kelajuan AC Fan, voltan puncak kedua-dua kitaran perlu dicincang atau dikawal. Untuk ini, kita mesti mengesan titik sifar dari mana isyarat dikawal / dicincang. Titik ini pada lengkung voltan di mana voltan berubah arah disebut persilangan voltan sifar.
Litar yang ditunjukkan di bawah adalah litar pengesan persilangan sifar yang digunakan untuk mendapatkan titik persilangan sifar. Pertama, voltan AC 220V diturunkan ke 9V AC menggunakan transformer step-down dan kemudian disuapkan ke optocoupler 4N25 pada pin 1 dan 2. Optocoupler 4N25 mempunyai LED inbuilt dengan pin 1 sebagai anod dan pin 2 sebagai katod. Jadi seperti di litar di bawah ini, apabila gelombang AC mendekati titik persimpangan sifar, LED 4N25 yang terpasang akan dimatikan dan sebagai hasilnya, transistor output 4N25 juga akan dimatikan dan pin nadi output akan ditarik sehingga 5V. Begitu juga, apabila isyarat meningkat secara berperingkat ke puncaktitik, maka LED menyala dan transistor juga akan menyala dengan pin ground yang disambungkan ke pin output, yang menjadikan pin ini 0V. Dengan menggunakan nadi ini, titik persilangan sifar dapat dikesan menggunakan Arduino.
2. Fasa Angle mengawal Litar
Setelah mengesan titik persimpangan sifar, sekarang kita harus mengawal jumlah masa yang mana daya akan AKTIF dan MATI. Isyarat PWM ini akan menentukan jumlah output voltan ke motor AC, yang seterusnya mengawal kelajuannya. Di sini digunakan BT136 TRIAC, yang mengawal voltan AC kerana ia adalah suis elektronik kuasa untuk mengawal isyarat voltan AC.
TRIAC adalah suis AC tiga terminal yang dapat dipicu oleh isyarat tenaga rendah di terminal gerbangnya. Dalam SCR, ia hanya dilakukan dalam satu arah, tetapi dalam kasus TRIAC, daya dapat dikendalikan di kedua arah. Untuk mengetahui lebih lanjut mengenai TRIAC dan SCR, ikuti artikel kami sebelumnya.
Seperti yang ditunjukkan dalam gambar di atas, TRIAC dipicu pada sudut penembakan 90 darjah dengan menerapkan isyarat denyut gerbang kecil padanya. Waktu "t1" adalah waktu tunda yang diberikan sesuai dengan persyaratan redup. Sebagai contoh, dalam hal ini, sudut penembakan adalah 90 peratus, oleh itu output daya juga akan menjadi separuh dan oleh itu lampu juga akan menyala dengan intensiti separuh.
Kita tahu bahawa frekuensi isyarat AC adalah 50 Hz di sini. Jadi jangka masa akan menjadi 1 / f, iaitu 20ms. Untuk setengah kitaran, ini akan menjadi 10ms atau 10,000 mikrodetik. Oleh itu untuk mengawal kekuatan lampu AC, julat "t1" dapat bervariasi dari 0-10000 mikrodetik.
Optocoupler:
Optocoupler juga dikenali sebagai Optoisolator. Ia digunakan untuk mengekalkan pengasingan antara dua litar elektrik seperti isyarat DC dan AC. Pada asasnya, ia terdiri daripada LED yang memancarkan cahaya inframerah dan sensor cahaya yang mengesannya. Di sini optocoupler MOC3021 digunakan untuk mengawal Kipas AC dari isyarat mikrokontroler yang merupakan isyarat DC.
Gambarajah sambungan TRIAC dan Optocoupler:
3. Potensiometer untuk mengawal Kelajuan Kipas
Di sini potensiometer digunakan untuk mengubah kelajuan AC Fan. Kita tahu bahawa potensiometer adalah peranti terminal 3 yang bertindak sebagai pembahagi voltan dan memberikan output voltan yang berubah-ubah. Voltan keluaran analog berubah ini diberikan di terminal input analog Arduino untuk menetapkan nilai kelajuan kipas AC.
4. Unit Penjanaan Isyarat PWM
Pada langkah terakhir, denyut PWM diberikan kepada TRIAC sesuai dengan keperluan kecepatan, yang pada gilirannya mengubah waktu ON / OFF dari sinyal AC dan memberikan output yang berubah-ubah untuk mengawal kecepatan kipas. Di sini Arduino digunakan untuk menghasilkan denyut PWM, yang mengambil input dari potensiometer dan memberikan output isyarat PWM ke rangkaian TRIAC dan optocoupler yang selanjutnya menggerakkan kipas AC pada kelajuan yang diinginkan. Ketahui lebih lanjut mengenai penjanaan PWM menggunakan Arduino di sini.
Rajah Litar
Gambarajah litar untuk litar kawalan kelajuan kipas 230v berasaskan Arduino ini diberikan di bawah:
Catatan: Saya telah menunjukkan litar lengkap di papan roti hanya untuk tujuan memahami. Anda tidak boleh menggunakan bekalan AC 220V secara langsung di papan roti anda, saya telah menggunakan papan putus-putus untuk membuat sambungan seperti yang anda lihat pada gambar di bawah
Memprogram Arduino untuk kawalan kelajuan kipas AC
Selepas sambungan perkakasan, kita perlu menuliskan kod untuk Arduino, yang akan menghasilkan isyarat PWM untuk mengawal pemasaan ON / OFF isyarat AC menggunakan input potensiometer. Kami sebelum ini menggunakan teknik PWM dalam banyak projek.
Kod lengkap projek kawalan kelajuan kipas AC Arduino ini diberikan di bahagian bawah projek ini. Penjelasan bertahap kod diberikan di bawah.
Pada langkah pertama, nyatakan semua pemboleh ubah yang diperlukan, yang akan digunakan di seluruh kod. Di sini BT136 TRIAC disambungkan ke pin 6 Arduino. Dan speed_val pemboleh ubah dinyatakan untuk menyimpan nilai langkah laju.
int TRIAC = 6; int speed_val = 0;
Selanjutnya, dalam fungsi setup , nyatakan pin TRIAC sebagai output kerana output PWM akan dihasilkan melalui pin ini. Kemudian, konfigurasikan gangguan untuk mengesan persilangan sifar. Di sini kami telah menggunakan fungsi yang disebut attachInterrupt, yang akan mengkonfigurasi Pin 3 of Arduino digital sebagai gangguan luaran dan akan memanggil fungsi yang dinamakan zero_crossing ketika mengesan ada gangguan pada pinnya.
batal persediaan () {pinMode (LAMP, OUTPUT); attachInterrupt (digitalPinToInterrupt (3), zero_crossing, TUKAR); }
Di dalam gelung tak terhingga, baca nilai analog dari potensiometer yang disambungkan di A0 dan petakan ke julat nilai (10-49).
Untuk mengetahui julat ini, kita perlu membuat pengiraan kecil. Sebelumnya diberitahu bahawa setiap separuh kitaran bersamaan dengan 10,000 mikrodetik. Jadi di sini peredupan akan dikendalikan dalam 50 langkah yang merupakan nilai sewenang-wenangnya dan boleh diubah. Di sini langkah minimum diambil sebagai 10, bukan Nol kerana langkah 0-9 memberikan keluaran kuasa yang hampir sama dan langkah maksimum diambil sebanyak 49 kerana tidak disarankan secara praktikal untuk mengambil batas atas (yang 50 adalah dalam hal ini).
Kemudian setiap waktu langkah dapat dikira sebagai 10000/50 = 200 mikrodetik. Ini akan digunakan di bahagian seterusnya kod.
gelung void () {int pot = analogRead (A0); int data1 = peta (pot, 0, 1023,10,49); speed_val = data1; }
Pada langkah terakhir, konfigurasikan fungsi zero_crossing yang didorong oleh gangguan. Di sini masa peredupan dapat dikira dengan mengalikan waktu langkah individu dengan tidak. langkah. Kemudian setelah masa kelewatan ini, TRIAC dapat dipicu menggunakan denyut nadi tinggi 10 mikrodetik yang cukup untuk menghidupkan TRIAC.
batal zero_crossing () {int chop_time = (200 * speed_val); kelewatanMikrodetik (waktu_potong); digitalWrite (TRIAC, TINGGI); kelewatanMikrodetik (10); digitalWrite (TRIAC, RENDAH); }
Kod lengkap bersama dengan video yang berfungsi untuk kawalan kipas AC ini menggunakan Arduino dan PWM diberikan di bawah.