mendeteksi nol silang dalam ac?

15

Saya perlu mendeteksi zero crossing untuk soft starter. Beberapa waktu yang lalu, saya telah melakukannya menggunakan resistor 1 Mega ohm yang terhubung langsung ke pengontrol mikro di satu sisi dan daya hidup di sisi lain. Saya berhasil tetapi apakah itu disarankan? apa cara lain yang bisa saya lakukan dengan murah dan andal?

iamgopal
sumber

Jawaban:

14

Saya telah merancang soft starter menggunakan prosesor PIC16C74A / F77. Zero crossing dapat menjadi rumit jika Anda juga harus bekerja di lingkungan yang bising.

Jika Anda tidak memerlukan prosesor untuk diisolasi dari saluran, tidak ada yang salah dengan beberapa resistor bernilai tinggi yang menyuplai pin CPU. Saya akan menggunakan beberapa dioda shottky untuk menambah dioda perlindungan internal hanya sebagai masalah ketahanan, tetapi akan bekerja dengan baik. Jika Anda membutuhkan isolasi, gunakan optoisolator keluaran transistor. Perhatikan kecepatan switching opto dan meminimalkan arus kolektor transistor untuk memaksimalkan kecepatan switching.

Karena itu, mari beralih ke kebisingan. Jika Anda mengendalikan fase selain dari pemanasan resistif Anda akan memiliki suara untuk bersaing dengan yang berarti sangat mungkin Anda akan memiliki kebisingan nol-persimpangan untuk berurusan dengan. Jangan melakukan kesalahan pemula dalam memberi makan input persimpangan nol ke pin interupsi; yang akan mengubah perangkat lunak Anda menjadi kerumunan perokok ketika prosesor mencoba menangani trilyun interupsi. (Saya berbicara dari pengalaman.) Melemparkan RC atau filter low-pass yang lebih canggih di saluran hanya akan memperkenalkan pergeseran fase. Jika Anda bisa bekerja dengan itu, bagus. Jika tidak (saya harus berurusan dengan sistem 50/60 dan 400Hz) maka Anda harus mencoba cara lain.

Pada desain saya sendiri saya merawatnya dalam perangkat lunak dengan memungut suara dan pada dasarnya membuat rutinitas pemungutan suara yang mengabaikan transien. Pergeseran fase ada di dalam apa yang bisa saya tangani, itu cepat dan itu tidak akan keluar bahkan dalam kebisingan yang berat. (Diuji di fasilitas di mana mereka melepaskan tutup filter dari tungku induksi, saya belum pernah melihat garis yang bising sebelumnya!) Jika saya mendesain ulang, saya pikir saya mungkin akan mencoba solusi eksternal yang melibatkan satu-shot yang akan " latch "the zero cross dan kemudian mikrokontroler akan mengakuinya sebelum interupsi berikutnya dapat diatur.

Semua mengatakan, saya pikir menemukan titik nol yang sebenarnya dalam situasi praktis adalah andalan dari desain starter lunak. Menutup loop kontrol adalah yang kedua, tetapi sebagian besar hanya penyetelan. Sepertinya hal yang sangat sederhana untuk dilakukan tetapi saya belajar sedikit tentang perbedaan antara teori dan praktek selama waktu itu. :-)

sunting untuk menggambarkan rutin "memilih":

Jika saya ingat dengan benar, saya memiliki garis I / O yang tinggi ketika garis di atas nol dan rendah ketika garis di bawah nol. Pemilihan rutin hanya mensurvei garis itu dan jika 2 dari 3 sampel terakhir adalah sama, saya menerima kenyataan bahwa garis telah melewati nol. Ini sangat mirip dengan sirkuit pemungutan suara UART untuk mendeteksi tanda dan ruang. Manfaat dari rangkaian seperti ini adalah bahwa pergeseran fasa Anda telah diperbaiki (laju sampel 2 *) dan Anda dapat menyetelnya untuk jenis kebisingan yang Anda alami. Saya tidak ingat seberapa cepat polling itu tetapi jika saya harus menebak saya akan mengatakan 8kHz, karena angka itu mencuat di pikiran saya.

akohlsmith
sumber
saya menggunakan timer untuk mengukur frekuensi (dalam kasus lag, dan excel dan tabel pencarian) ... tapi saya pikir saya akan pergi dengan low pass dan opto coupler. terima kasih.
iamgopal
Bisakah Anda menguraikan rutinitas pemungutan suara? Apakah hanya mengabaikan sampel tunggal yang berbeda dari sampel di sekitarnya? Dengan frekuensi apa Anda melakukan polling?
starblue
7

Mengapa tidak menggunakan optocoupler? SFH6206 dari Vishay memiliki dua LED anti-paralel, sehingga bekerja pada siklus penuh dari tegangan listrik. Jika tegangan input cukup tinggi maka transistor output dinyalakan, 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.

stevenvh
sumber
Untuk lebih detail: di sini
Vorac
2

Ini Microchip Application Note pada halaman 3 menyarankan 20 mOhms resistor.

Saya pikir Anda dapat menggunakan MOC3061 yang memiliki detektor zero crossing.

Tetapi ada banyak model perangkat seperti yang Anda lihat di sini .

Daniel Grillo
sumber
terima kasih. sebuah chip selalu diterima, bukan resistor dan tutup.
iamgopal
ΩΩ dalam rangkaian 230 V.
stevenvh
1

Saya telah sukses dengan rantai pemrosesan berikut:

  1. Jaringan pembagi resistor (menggunakan resistor nilai MOhm) dan optocoupler untuk memasangkan dan mengisolasi sinyal dari sumber
  2. Komparator op-amp untuk menyambungkan sinyal dari optocoupler ke rentang tegangan yang diketahui
  3. Filter bandpass multi-tahap yang sangat ketat menggunakan opamps (mungkin juga perlu beberapa keuntungan di sini untuk menjelaskan hilangnya filter)
  4. Sirkuit pengubah fase opamp untuk menyesuaikan offset fase apa pun yang diperkenalkan dalam penyaringan (+/- 360 derajat adalah jumlah toleransi yang baik untuk desain, pergeseran fasa yang diinginkan dapat dikalibrasi dengan pot dan osiloskop)
  5. Satu lagi komparator untuk mendapatkan sinyal ke output digital bersih untuk mikrokontroler
Joel B
sumber
0

Mungkin ada BANYAK cara untuk melakukan ini ... tetapi jika saya melakukannya saya akan menggunakan transformator isolasi kecil untuk berjaga-jaga. Tidak pernah disarankan untuk menghubungkan hantaran listrik ke mikrokontroler secara langsung, bahkan melalui resistor besar.

Saya kira pilihan Anda adalah dengan menggunakan pembagi resistor besar ke mikro, atau transformator kecil yang mendorong tegangan tingkat listrik ke kisaran mikro Anda. Tentu saja, Anda juga bisa menggunakan kombinasi keduanya.

Jika Anda tidak ingin menggunakan mikrokontroler, Anda selalu dapat menggunakan komparator dan menguji tegangan terhadap 0v. Denyut nadi dari pembanding akan pendek, tetapi ada beberapa cara untuk mengatasinya juga.

Bulu halus
sumber
apakah menggunakan transformator isolasi menyebabkan kelambatan?
iamgopal
(Lima belas karakter)
Connor Wolf
4
Jika Anda akan dibandingkan dengan tegangan, bandingkan dengan beberapa% dari garis penuh, bukan nol. Ini memindahkan Anda keluar dari jalan sebagian besar kebisingan yang akan Anda temui, dan pergeseran fase diperbaiki dan dengan demikian mudah diperhitungkan.
akohlsmith
panggilan bagus Andrew :-)
Fuzz
@andrew,: D ide bagus !!
iamgopal