Bangun Rangkaian Input Analog Terisolasi untuk Arduino
Komponen dan Perlengkapan
- Resistor 100k ohm – 2 unit (±1% metal film)
- Arduino UNO – 1 unit
- Texas Instruments LM331 – 1 unit
- LM7808 – 1 unit
- Resistor 3.3k ohm – 1 unit (±1% metal film)
- Resistor 270 ohm – 1 unit (±1% metal film)
- Resistor 47 ohm – 1 unit
- Resistor 12k ohm – 1 unit (±1% metal film)
- Resistor 6.8k ohm – 1 unit (±1% metal film)
- Resistor 10k ohm – 1 unit
- Resistor 330 ohm – 1 unit
- Resistor 220 ohm – 1 unit
- Potensiometer presisi multi-turn 5k ohm – 1 unit
- Kapasitor 100nF – 1 unit (Tipe Mylar)
- Kapasitor 10 nF – 1 unit (Tipe Mylar)
- Kapasitor 1 MF – 1 unit (Tipe Mylar)
- Kapasitor 100 nF – 1 unit
- Kapasitor 4.7 µF – 1 unit
- Kapasitor 220 µF – 1 unit
- Dioda 1N4001 – 4 unit
- Opto isolator 4N25 – 1 unit
Alat dan Mesin yang Diperlukan
Aplikasi dan Layanan Online
Tentang Proyek Ini
Sinyal dari sensor lapangan dapat terpengaruh oleh gangguan yang dihasilkan oleh lonjakan daya, colokan petir atau sumber EMI (Interferensi Elektromagnetik) lainnya dan juga oleh perbedaan potensi ground. Salah satu metode untuk menghindari sebagian besar masalah ini adalah dengan menggunakan isolasi lengkap dari lapangan.
Isolasi sensor input akan memerlukan sumber daya terpisah untuk memberi daya pada perangkat lapangan dan sirkuit yang merealisasikan isolasi itu sendiri.
Detail lebih lanjut dapat ditemukan dalam posting yang diterbitkan di blog saya: http: //ardupiclab.blogspot.it/.
Kode
Arduino interface and programArduino
Arduino dapat mengukur frekuensi dengan dua cara:
• pengukuran periode, menggunakan fungsi pulsein();
• pengukuran frekuensi, dengan CPU Timer/Counters, menggunakan pustaka khusus.
Metode pertama menggunakan fungsi pulsein() dua kali untuk mengukur waktu HIGH dan LOW sinyal, dengan resolusi mikrodetik. Jumlah kedua pengukuran tersebut adalah periode sinyal. Untuk sinyal 5kHz, periode adalah 200 µs = waktu HIGH + waktu LOW = 125+75 µs. Resolusi waktu relatif rendah dan akurasi pengukuran juga dipengaruhi oleh waktu instruksi program.
Aspek positif dari metode ini adalah kecepatan pengukuran yang sedikit lebih tinggi dari periode yang diukur. Kekurangannya, selain akurasi yang lebih rendah, sangat sensitif terhadap gangguan jaringan listrik (50 atau 60Hz).
Dari alasan ini, saya lebih memilih pengukuran frekuensi dibandingkan periode. Waktu pengukuran lebih tinggi tetapi Anda mendapatkan presisi yang lebih tinggi dan waktu sampling yang tepat. Selain itu, dengan memilih periode pengukuran yang merupakan kelipatan dari siklus jaringan listrik, memiliki imunitas gangguan yang luar biasa.
Saya menggunakan pustaka FreqCounter oleh Martin Nawrath KHM LAB3:
https://interface.khm.de/wp-content/uploads/2009/01/FreqCounter_1_12.zip
Pustaka ini menggunakan Timer/Counter1 untuk menghitung pulsa pada tepi naik T1/PD5/digitalPin5 dan Timer/Counter2 untuk pembuatan waktu gerbang dengan interupsi 1 ms.
Saya memilih waktu gerbang sama dengan 1000 ms untuk memediankan hitungan pada periode 50 atau 60 siklus jaringan listrik. Dalam hal ini Anda mendapatkan resolusi yang lima kali lebih besar dari Arduino Uno.
#include <FreqCounter.h> void setup() { Serial.begin(9600); // connect to the serial port Serial.println("Optoisolated analog input"); } long int frq; void loop() { FreqCounter::f_comp= 0; // Set compensation to 0 FreqCounter::start(1000); // Start counting with gatetime of 1000ms while (FreqCounter::f_ready == 0) // wait until counter ready frq=FreqCounter::f_freq; // read result Serial.println(frq); // print result delay(100); }
Skematik
Sirkuit ini menerima input tegangan dari sekitar 20mV hingga 5V atau arus 4 hingga 20 mA (dengan jumper W1 dipasang). Dua resistor paralel R2 dan R3 memberikan nilai sekitar 250 ohm, untuk mendapatkan 1V hingga 5V untuk input arus 4mA hingga 20mA.
Hanya tiga kabel dan satu resistor diperlukan untuk menghubungkan sirkuit ini ke Arduino Uno. Output opto-coupler harus terhubung ke input digital D5 dengan resistor pull-up 2.2kΩ yang terhubung ke +5V Arduino.
Jika rentang input 10V diperlukan, diperlukan sumber daya 15V, jadi Anda harus mengubah regulator 7808 dengan 7815. Trafo T1 juga harus memberi daya pada sensor, jadi harus memiliki tegangan dan daya yang memadai. Trimmer P1 harus disesuaikan untuk mendapatkan faktor konversi sekitar 1kHz/V.