Untuk DC jauh lebih mudah untuk mengontrol daya menggunakan PWM di mana kami menggunakan MOSFET dan dapat menutup atau membukanya kapan saja.
Howerver, untuk AC kita harus berurusan dengan triacs. TRIAC juga, memiliki gerbang untuk mengendalikannya, tetapi jika TRIAC dihidupkan, itu tidak dapat dimatikan sampai tegangan AC turun ke 0 volt. Jika kita mempertimbangkan listrik AC dengan 220 V dan 50 Hz, ada 50 periode penuh sine dan 100 periode setengah (50 tegangan positif 50 tegangan negatif).
Salah satu cara yang mungkin untuk mengelola laju daya adalah pergeseran fase:
Untuk membuatnya bekerja, Anda membutuhkan detektor silang AD nol dan nyalakan triac untuk pergeseran fase yang diperlukan, tetapi sebelum akhir. Ini berfungsi dengan baik, tetapi kelemahan besarnya adalah banyak gangguan elektromagnetik (EMI), dan hal -hal menjadi buruk ketika Anda perlu melakukan komutasi kekuatan besar, seperti 4 kwatt. Anda akan mendapatkan banyak EMI dan triacs akan berada dalam mode stres.
Jauh lebih baik untuk menyalakan triac ketika tegangan rendah (dekat ke 0 volt) dan cara lain adalah menyalakan triac hanya untuk setengah periode tertentu: dalam hal ini, tidak ada masalah dengan EMI. Howerver, bagaimana menilai daya dengan cara yang lebih prester? Misalnya, Anda memerlukan tingkat daya = 40%, apakah Anda perlu menyalakan triac hanya untuk 40 periode pertama? Untuk menyelesaikan masalah ini dengan cara yang lebih tepat kita dapat menggunakan algoritma Bresenham, yang dapat membantu kita menyebarkan kekuatan untuk periode tertentu.
Mari kita lihat contoh untuk 50 Hz -> 100 periode setengah ,. - TRIAC MATI, # - TRIAC aktif:
Juga, untuk metode ini kita membutuhkan detektor nol silang dan TRIAC harus dikelola dengan MOC3041 (atau IC serupa) dengan deteksi silang nol di dalamnya. Sebagai alternatif, relai keadaan padat dapat digunakan juga (dengan deteksi silang nol di dalamnya), seperti Fotek SSR-40 DA.
Tetapi Anda tidak dapat menggunakan pendekatan ini untuk peredupan ringan yang membutuhkan frekuensi lebih tinggi. Untuk 50 Hz AC, triac dapat menyala dari 0 hingga 100 kali per detik. Untuk beban resistif (pemanas) itu sangat normal, tetapi umbi akan berkedip.
Detektor diperlukan untuk memproses algoritma Bresenham. Skema detektor silang nol
Dan osilogram sirkuit ini:
Puncak pulsa, ketika volotage sama dengan 0 volt.
Buat folder baru yang disebut "BresenhamtriacDriver" di bawah folder bernama "Perpustakaan" di folder buku sketsa Arduino Anda. Buat folder "pustaka" jika belum ada. Tempatkan semua file di folder "BresenhamtriacDriver".
Untuk menggunakan perpustakaan dalam sketsa Anda sendiri, pilih dari Sketch> Import Library .
Testscketch.ino