Daftar Isi:

Cara Mengukur Faktor Daya AC Menggunakan Arduino: 4 Langkah
Cara Mengukur Faktor Daya AC Menggunakan Arduino: 4 Langkah

Video: Cara Mengukur Faktor Daya AC Menggunakan Arduino: 4 Langkah

Video: Cara Mengukur Faktor Daya AC Menggunakan Arduino: 4 Langkah
Video: MENGGUNAKAN SENSOR ZMPT101B PADA ARDUINO UNTUK MEMBACA TEGANGAN PLN 2024, November
Anonim
Cara Mengukur Faktor Daya AC Menggunakan Arduino
Cara Mengukur Faktor Daya AC Menggunakan Arduino
Cara Mengukur Faktor Daya AC Menggunakan Arduino
Cara Mengukur Faktor Daya AC Menggunakan Arduino

Halo semuanya! Ini adalah instruksi ketiga saya, semoga Anda merasa informatif:-) Ini akan menjadi instruksi tentang cara membuat pengukuran faktor daya dasar menggunakan Arduino. Sebelum kita mulai ada beberapa hal yang perlu diingat:

  1. Ini HANYA akan bekerja dengan beban LINEAR (misalnya motor induktif, transformator, solenoida)
  2. Ini TIDAK akan bekerja dengan NON-LINEAR (misalnya Lampu CFL, catu daya mode sakelar, LED)
  3. Saya seorang insinyur listrik dan sangat kompeten ketika bekerja dengan potensi listrik (yaitu 230V)

Peringatan! Jika Anda tidak terlatih atau tidak tahu cara bekerja dengan benar dengan tegangan listrik, saya sarankan Anda tidak melanjutkan dengan bagian yang dapat diinstruksikan dan saya akan menunjukkan kepada Anda metode yang aman untuk membuktikan rangkaian berfungsi.

Ini adalah solusi perangkat keras untuk masalah pengukuran PF dalam beban linier. Ini juga dapat dilakukan murni melalui kode termasuk kemampuan untuk mengukur beban non-linear, yang akan saya bahas dalam instruksi lain.

Untuk kepentingan setiap pemula yang membaca ini, faktor daya adalah rasio daya sebenarnya terhadap daya nyata dan dapat dihitung dengan mencari kosinus dari sudut fase antara tegangan suplai dan arus (lihat gambar terlampir dari Google). Ini penting dalam aplikasi AC karena "Daya Nyata" (Volt-Ampere) dapat dengan mudah dihitung menggunakan Tegangan dikalikan dengan Arus. Namun untuk mendapatkan daya nyata atau "True Power" (Watt) daya semu harus dikalikan dengan faktor daya untuk membuat pengukuran daya yang sebenarnya dalam Watt. Ini hanya berlaku untuk beban yang memiliki komponen induktif atau kapasitif yang signifikan (seperti motor). Beban resistif murni seperti pemanas listrik atau lampu pijar memiliki faktor daya 1,0 (satuan) dan oleh karena itu Daya Sejati dan Daya Semu adalah sama.

Langkah 1: Desain Sirkuit

Desain Sirkuit
Desain Sirkuit
Desain Sirkuit
Desain Sirkuit
Desain Sirkuit
Desain Sirkuit
Desain Sirkuit
Desain Sirkuit

Faktor daya dapat dihitung menggunakan osiloskop, dengan mengukur perbedaan waktu antara sinyal tegangan dan arus. Ini dapat diukur pada setiap titik dalam gelombang selama mereka mengambil sampel di tempat yang sama. Dalam hal ini logis untuk mengukur antara titik persimpangan nol (titik dalam gelombang di mana tegangan melintasi sumbu X).

Saya merancang rangkaian berikut di Multisim. Dengan asumsi arus dan tegangan ke beban adalah bentuk gelombang sinusoidal murni, faktor daya dapat diukur. Setiap bentuk gelombang dimasukkan ke dalam detektor penyeberangan nol (kadang-kadang dikenal sebagai konverter gelombang sinus ke persegi) yang hanya merupakan op-amp 741 dalam mode komparator di mana tegangan perbandingan adalah 0V. Ketika gelombang sinus dalam siklus negatif, pulsa DC negatif dihasilkan, dan ketika gelombang sinus positif, pulsa DC positif dihasilkan. Kedua gelombang persegi kemudian dibandingkan menggunakan gerbang logika OR (XOR) eksklusif, yang akan mengeluarkan pulsa DC tinggi positif hanya ketika gelombang persegi tidak tumpang tindih, dan 0V ketika tumpang tindih. Oleh karena itu, keluaran gerbang XOR adalah perbedaan waktu (delta t) antara dua gelombang dari titik mereka melintasi titik nol. Sinyal perbedaan ini kemudian dapat diatur waktunya oleh mikrokontroler dan diubah menjadi faktor daya menggunakan perhitungan berikut (pastikan kalkulator ilmiah Anda dalam derajat bukan radian):

cos(phi) = f * dt * 360

Di mana:

cos(phi) - faktor daya

f - Frekuensi suplai yang diukur

dt - delta t atau perbedaan waktu antara gelombang

360 - konstanta yang digunakan untuk memberikan jawaban dalam derajat

Dalam gambar Anda akan melihat tiga jejak osiloskop simulasi untuk rangkaian. Dua sinyal input mewakili arus dan tegangan ke beban. Saya telah memberikan sinyal kedua perbedaan fase 18 Deg, untuk menunjukkan teori. Ini memberikan PF sekitar 0,95.

Langkah 2: Pembuatan Prototipe & Pengujian

Pembuatan Prototipe & Pengujian
Pembuatan Prototipe & Pengujian
Pembuatan Prototipe & Pengujian
Pembuatan Prototipe & Pengujian
Pembuatan Prototipe & Pengujian
Pembuatan Prototipe & Pengujian

Untuk pembuatan prototipe saya, saya meletakkan desain sirkuit pada papan tempat memotong roti tanpa solder. Dari datasheet UA741CN dan datasheet CD4070CN, kedua IC menjalankan catu daya 12-15 Vdc jadi saya memberi daya menggunakan dua baterai untuk membuat catu daya rel ganda +12V, 0V, -12V Volt.

Mensimulasikan beban

Anda dapat mensimulasikan beban dengan menggunakan generator sinyal saluran ganda atau generator fungsi. Saya menggunakan kotak Cina murah dan ceria ini untuk menghasilkan dua gelombang sinus 50 Hz 18 derajat terpisah, dan memasukkan sinyal ke dalam sirkuit. Anda dapat melihat bentuk gelombang yang dihasilkan pada osiloskop. Pada gambar di atas Anda dapat melihat dua gelombang persegi yang tumpang tindih (output dari masing-masing op-amp), dan tiga gambar lainnya menggambarkan output dari gerbang XOR. Perhatikan bagaimana lebar pulsa output tumbuh lebih pendek dengan penurunan sudut fase. Contoh di atas menunjukkan 90, 40, 0 Derajat.

Langkah 3: Kode Arduino

Seperti disebutkan di atas, output dari rangkaian pengukuran adalah perbedaan waktu antara dua sinyal input (yaitu sinyal arus dan tegangan). Kode arduino menggunakan "pulseIn" untuk mengukur panjang pulsa keluaran dari rangkaian pengukuran dalam nano detik dan menggunakannya dalam rumus PF yang disebutkan di atas.

Kode dimulai dengan mendefinisikan konstanta, terutama untuk membuat kode lebih terorganisir dan mudah dibaca. Yang paling penting, kode C (kode arduino) bekerja dalam radian bukan derajat, jadi konversi dari radian ke derajat diperlukan untuk menghitung sudut dan PF nanti. Satu radian kira-kira. 57.29577951 derajat. Angka 360 juga disimpan dan faktor perkalian 1x10^-6 untuk mengubah Detik nano menjadi Detik biasa. Frekuensi juga ditentukan di awal, jika Anda menggunakan apa pun selain 50Hz, pastikan ini diperbarui di awal kode.

Di dalam "void loop()" saya telah memberi tahu Arduino untuk menghitung sudut berdasarkan rumus PF yang disebutkan sebelumnya. Pada iterasi pertama saya dari kode ini, kode akan mengembalikan sudut dan faktor daya yang benar, namun di antara setiap hasil yang benar beberapa nilai rendah yang salah juga dikembalikan di konsol serial. Saya perhatikan ini adalah setiap pembacaan lain atau setiap empat pengukuran. Saya menempatkan pernyataan "jika" di dalam loop "untuk" untuk menyimpan nilai maksimum dari setiap empat pembacaan berturut-turut. Ini dilakukan dengan membandingkan perhitungan dengan "angle_max" yang awalnya nol, dan jika lebih besar menyimpan nilai baru di dalam "angle_max". Ini diulang untuk pengukuran PF. Dengan melakukan ini dalam loop "untuk" itu berarti sudut yang benar dan pf selalu dikembalikan, tetapi jika sudut yang diukur berubah (lebih tinggi atau lebih rendah), ketika "untuk" berakhir, "angle_max" direset ke nol untuk pengujian berikutnya, ketika " void loop()" berulang. Ada contoh yang sangat bagus tentang cara kerjanya di situs web Arduino (https://www.arduino.cc/en/Tutorial/Calibration). Rumus "jika" kedua hanya mencegah nilai apa pun yang lebih tinggi dari 360 dikembalikan jika terjadi kesalahan tinggi yang diukur saat perangkat yang diuji dimatikan.

Langkah 4: Tes Asam

Tes Asam!
Tes Asam!
Tes Asam!
Tes Asam!
Tes Asam!
Tes Asam!

Jangan mencoba hal berikut kecuali Anda tahu cara bekerja dengan aman dengan tegangan listrik AC. Jika Anda ragu dengan keselamatan Anda, coba simulasikan sinyal input dengan generator bentuk gelombang saluran ganda.

Atas permintaan pengikut, saya telah membuat tata letak papan tempat memotong roti di Fritzing untuk memberikan gambaran yang lebih baik tentang rangkaian dan rangkaian pengambilan sampel/penginderaan (saya telah melampirkan file.fzz dan diagram.png). Motor di atas mewakili kipas meja yang saya gunakan, dan koil induksi mewakili trafo arus yang saya lilitkan di sekitar konduktor Live. Saya memberi daya pada IC 741 menggunakan dua paket baterai 12V yang diatur untuk memberikan +12 VDC, 0 VDC (ground), dan -12 VDC. CD4070 juga dapat ditenagai langsung dari power rail 5V Arduino.

Untuk membuktikan konsep bekerja dalam kenyataan, sirkuit dibangun di atas papan tempat memotong roti tanpa solder. Dari gambar Anda dapat melihat pengaturan sirkuit. Saya telah menggunakan kipas meja sebagai beban induktif saya untuk menguji konsep. Antara pasokan listrik 230V dan beban adalah peralatan penginderaan saya. Saya memiliki trafo step down yang mengubah 230V langsung ke 5V untuk memungkinkan bentuk gelombang tegangan menjadi sampel. Trafo arus non-invasif yang dijepit di sekitar konduktor aktif digunakan untuk mengambil sampel bentuk gelombang arus (kanan resistor berlapis aluminium). Perhatikan bahwa Anda tidak perlu mengetahui amplitudo arus atau tegangan, cukup bentuk gelombang untuk op-amp untuk mengidentifikasi persimpangan nol. Gambar di atas menunjukkan bentuk gelombang arus dan tegangan aktual dari kipas, dan konsol serial arduino, yang melaporkan PF 0,41 dan sudut 65 Deg.

Prinsip kerja ini dapat dimasukkan ke dalam monitor energi buatan rumah untuk melakukan pengukuran daya yang sebenarnya. Jika Anda kompeten, Anda dapat mencoba memantau beban induktif dan resistif yang berbeda dan menentukan faktor dayanya. Dan itu dia! metode yang sangat sederhana untuk mengukur faktor daya.

Direkomendasikan: