Saya menggunakan optocoupler ( MOC3021 ) untuk merasakan keadaan On / Off dari alat electrial menggunakan mikrokontroler ATmega16L. Bagaimana cara saya melakukan ini? Spesifikasi suplai utama saya adalah 230V, 50Hz. Bagaimana cara mendesain sirkuit sekitarnya dan memilih nilai komponen, seperti resistor?
Diedit pada 13 Juni 2012 Catatan: Ini adalah pertama kalinya saya menyelesaikan sirkuit seperti ini. Silakan kirim umpan balik yang bermanfaat. (termasuk hal-hal yang saya lakukan salah atau perbaikan)
Mengacu pada skema di atas. Idenya adalah menggunakan sirkuit ini untuk menentukan apakah beban aktif atau tidak. The keluaran pin dari menghubungkan optocoupler untuk interupsi eksternal dari Microcontroller Saya menggunakan yang ATmega16L. Interrupt akan memonitor keadaan beban. Setelah pemantauan, saya dapat mengubah status beban menggunakan relai (relai bertindak sebagai mekanisme Kontrol ) yang terhubung ke mikrokontroler yang sama.
Sekarang, saya mencoba menghitung nilai resistor untuk R1, R2 dan Rc. Catatan, VIL mikrokontroler (maks) = 0,2xVcc = 660mV dan VIH (min) = 0,6xVcc = 1,98V dan VIH (maks) = Vcc + 0,5 = 3,8V.
Untuk menghitung Rc cukup mudah. Ketika transistor tidak melakukan output tinggi (pada 3.3V). Ketika transistor melakukan output ditarik rendah. jadi dari sudut pandang mikrokontroler, output yang tinggi berarti beban dimatikan dan output yang rendah berarti beban diaktifkan.
Melihat lembar data untuk SFH621A-3, menggunakan CTR minimum 34% pada IF = 1mA. Oleh karena itu, pada input 1mA, output akan menjadi 340uA. Jadi agar mikrokontroler mendeteksi tegangan rendah dari output optocoupler dapat saya gunakan nilai resistor 1Kohm? Sehingga output dari optocoupler akan memiliki tegangan 340mV (yang di bawah VIL (maks) )
Lebih lanjut tentang ini nanti, merupakan hari yang panjang.
Diedit pada 15 Juni 2012
Catatan: Mengatasi resistor pada saluran listrik (R1 dan R2). Silakan periksa perhitungan saya dan umpan balik yang sesuai.
Tujuan : tujuannya adalah untuk menjaga LED * ON ** untuk periode waktu maksimum dalam setengah periode 10mS (periode penuh 20mS 50Hz). Katakanlah LED harus AKTIF selama 90% dari waktu, itu berarti LED membutuhkan setidaknya 1mA saat ini untuk 90% dari waktu selama setengah periode yang berarti LED akan aktif untuk 9mS dalam periode setengah 10mS. Jadi, 9mS / 10mS = 0,9 * 180 ( setengah periode ) = 162 derajat. Ini menunjukkan arus akan 1mA antara 9deg dan 171deg ( dan kurang dari 1mA dari 0deg hingga 9deg dan 171deg hingga 180deg ). Tidak menganggap waktu ON untuk menjadi 95% karena bekerja dengan bilangan bulat rapi dan 5% tidak membuat perbedaan tidak dalam aplikasi ini setidaknya.
Vpeak-peak = 230V x sqrt (2) = 325V. Memperhatikan toleransi. Toleransi minimum 6%. 325 x 0,94 ( 100-6 ) x sin (9) = 47.8V
Jadi, R1 ≤ (47.8V - 1.65V) / 1mA = 46.1 Kohms Memilih nilai yang lebih kecil dari 46.1 Kohms dari 39 Kohms (seri e12). Sekarang dipilih resistansi nilai yang lebih kecil dibandingkan dengan yang dihitung, berarti arus melalui dioda akan lebih besar dari 1mA.
Menghitung arus baru: ((325V x 110%) - 1.25V) / 39 Kohms = 9.1mA (terlalu dekat dengan maks Jika dioda). Kembali lagi sebentar lagi [Label - 1x]
Pertama, hitung peringkat daya resistor (mempertimbangkan 39 Kohm) ((230 + 10%) ^ 2) / 39K = 1,64 Watt (terlalu tinggi).
Kembali ke perhitungan [Label - 1x] Mari kita pilih dua resistor 22 Kohm. Bersama-sama mereka menambahkan hingga 44 Kohm yang cukup dekat 46,1 Kohm (dihitung di atas)
memeriksa peringkat daya dari dua resistor digabungkan: ((230 + 10%) ^ 2) / (2 x 22) Kohm = 1,45W. pilih 22 resistor Kohm masing-masing dengan peringkat daya 1W.
Sekarang, setelah semua ini , RKPT awal adalah 34% yang berarti 1mA akan keluar 340μA . Tapi sekarang karena resistor 2x22 Kohm arus akan sedikit lebih pada output. Itu berarti potensi yang lebih tinggi di resistor pull up Rc. Apakah akan ada masalah untuk mendapatkan drop volt di bawah 500mV pada output optocoupler ??