Karena Anda juga memerlukan zero-crossing, Anda akan mendapatkan deteksi pemadaman listrik secara gratis .
Cara terbaik adalah menggunakan optocoupler untuk mendeteksi zero-crossing. Masukkan tegangan listrik melalui resistor resistansi tinggi ke input optocoupler. SFH6206 dari Vishay memiliki dua LED anti-paralel, sehingga bekerja pada siklus penuh dari tegangan listrik.
Jika tegangan input cukup tinggi, transistor output dihidupkan, dan kolektor berada pada level rendah. Namun, di sekitar zero crossing, tegangan input terlalu rendah untuk mengaktifkan output transistor dan kolektornya akan ditarik tinggi. Jadi Anda mendapatkan pulsa positif di setiap persimpangan nol . Lebar pulsa tergantung pada arus LED. Sudahlah kalau ini lebih dari 10% siklus kerja (1 ms pada 50Hz) Ini akan menjadi simetris tentang zero-crossing sebenarnya, jadi titik pastinya di tengah denyut nadi.
Untuk mendeteksi pemadaman listrik, Anda memulai penghitung waktu pada setiap zero-crossing, dengan batas waktu 2,5 siklus setengah. Praktik terbaik adalah membiarkan pulsa menghasilkan interupsi. Selama listrik ada, timer akan restart setiap setengah siklus dan tidak pernah habis. Namun, setelah listrik padam, akan habis setelah sedikit lebih lama dari siklus, dan Anda dapat mengambil tindakan yang sesuai. (Nilai waktu habis lebih dari 2 setengah siklus, sehingga lonjakan pada 1 zero-crossing yang menyebabkan pulsa tidak terjawab tidak akan memberi Anda peringatan palsu .)
Jika Anda membuat timer perangkat lunak itu tidak akan dikenakan biaya apa pun, tetapi Anda juga dapat menggunakan multivibrator monostable (MMV) yang dapat dipulihkan, misalnya dengan LM555 .
Catatan: tergantung pada tegangan listrik Anda dan jenis resistor Anda mungkin perlu menempatkan dua resistor secara seri untuk optocoupler, karena tegangan tinggi dapat menyebabkan resistor tunggal rusak. Untuk AC 230V saya telah menggunakan tiga 1206 resistor secara seri untuk ini.
Q & A waktu! (dari komentar, ini tambahan, jika Anda menginginkan lebih )
T: Dan LED input optocoupler akan bekerja pada 230V? Datasheet menyatakan bahwa tegangan maju adalah 1,65V.
A: Seperti untuk dioda umum tegangan lebih dari LED lebih atau kurang konstan, tidak peduli apa tegangan suplai Anda. Resistor seri wajib akan mengambil perbedaan tegangan antara catu daya dan tegangan LED. Jawaban atas pertanyaan ini menjelaskan bagaimana cara menghitung nilai resistor. Contoh ekstrem: catu daya 10 000V untuk LED 2V. Tegangan pada resistor: 10 000V - 2V = 9 998V. Anda ingin 20mA? Maka resistornya adalah = 499.9k9 998 V20 m AΩ. Itu 500 ribu, itu bahkan masuk akal. Namun, Anda tidak dapat menggunakan resistor biasa di sini. Kenapa tidak? Pertama, resistor PTH 1 / 4W umum diberi nilai 250V, dan pasti akan rusak pada 10 000V, jadi Anda harus menggunakan 40 resistor secara seri untuk mendistribusikan tegangan tinggi. Kedua, dan lebih buruk, kekuatan yang harus dihamburkan oleh resistor adalah , jauh lebih banyak daripada nilai 1 / 4W. Jadi untuk mengatasi kekuatan kita bahkan perlu 800 resistor. OK, 10kV ekstrem, tetapi contoh menunjukkan bahwa Anda dapat menggunakan tegangan apa pun untuk LED, sehingga 230V juga dimungkinkan. Ini hanya masalah menggunakan cukup dan jenis resistor yang tepat. P= V× I= 9 998 V× 20 m A = 199,96 W
T: Bagaimana tegangan balik memengaruhi umur LED?
A: Yang kedua, LED anti-paralel menangani hal itu dengan memastikan bahwa tegangan balik atas LED lainnya tidak dapat menjadi lebih tinggi dari tegangan maju sendiri. Dan itu hal yang baik, karena tegangan balik 325V akan membunuh LED (kemungkinan besar meledak), sama seperti dioda sinyal, by the way. Cara terbaik untuk melindunginya adalah dioda anti-paralel. P
T: Apakah resistor tidak menghilangkan banyak panas?
A: Baiklah, mari kita lihat. Jika kita mengasumsikan 1mA melalui resistor dan mengabaikan tegangan LED, kita memiliki , sehingga bahkan 1206 dapat mengatasinya. Dan ingat, kami menggunakan lebih dari 1 resistor, jadi kami aman jika kami dapat bekerja dengan 1mA (SFH6206 memiliki CTR tinggi Current Transfer Ratio). P= V× I= 230 VR MS× 1 m A = 230 m W-