Cara Menggunakan Sensor Frekuensi Listrik AC ( TIFSA2 )
Saya akan membahas tentang sebuah sensor yang cukup jarang ada di pasaran, ini adalah sensor frekunsi listrik AC yang bernama TIFSA2. Jadi berfungsi untuk ukur frekuensi listrik AC gelombang sinus seperti PLN.
Sensor ini bekerja dengan cara mendekteksi titik perpotongan nol tegangan AC, atau biasa juga disebut dengan zero crossing detector. Dari perpotongan tersebut kemudian dicari jeda waktu antar zero crossing dan ketemulan waktu setengah gelombang atau setengah periodenya yang kemudian bisa kita cari nilai frekuensinya.
Wiring Dengan Arduino
Pada dasarnya sensor ini hanya memiliki 3 pin yang tersambung ke arduino, yaitu VCC, GND, dan Signal. VCC kita sambungkan ke 5V, GND ke GND dan sinyal ke pin digital arduino.
Pada gambar wiring di atas kita gunakan contoh menggunakan LCD, jika tanpa LCD pun tak masalah. Nah untuk yang dismbungkan ke 220V AC PLN adalah terminl blok warna biru di sebelah kanan.
Library dan Contoh Program
Sensor ini sudah mempunyai library bawaan sehingga mudah digunakan, librarynya bisa kalian download di sini.
Di dalam library tersebut sebenarnya juga sudah ada contoh programnya, tapi mari saya tulis juga contohnya di sini.
#include <Temins_TIFSA2.h> Temins_TIFSA2 sensorFreq(2); //Pin used to connect to sensor. This example use pin 2 void setup() { Serial.begin(9600); } void loop() { // put your main code here, to run repeatedly: float periode = sensorFreq.getPeriod(); float frekuensi = sensorFreq.getFrequency(); Serial.print("Periode : "); Serial.println(periode); Serial.print("Frekuensi : "); Serial.println(frekuensi); delay(1000); }
Program di atas akan membaca frekuensi dari sensor yang tersambung ke pin 2 arduino, Jika kamu berniat memindahkan pinnya cukup edit bagian SensorFreq(2) dan ganti dengan angka 3. Setelah upload program kalian akan mendapatkan frekuensi dan periode di Serial Monitor.
#include <Wire.h> #include <LiquidCrystal_I2C.h> #include <Temins_TIFSA2.h> Temins_TIFSA2 sensorFreq(2); //Pin used to connect to sensor. This example use pin 2 LiquidCrystal_I2C lcd(0x27, 16, 2); void setup() { Serial.begin(9600); lcd.init(); lcd.backlight(); lcd.setCursor(0, 0); lcd.print("Temins TIFSA2"); lcd.setCursor(0, 1); lcd.print("Frequency Sensor"); delay(1000); lcd.clear(); } void loop() { float periode = sensorFreq.getPeriod(); float frekuensi = sensorFreq.getFrequency(); Serial.print("Periode : "); Serial.println(periode); Serial.print("Frekuensi : "); Serial.println(frekuensi); lcd.setCursor(0, 0); lcd.print("Freq:"); lcd.print(frekuensi); lcd.print("Hz"); lcd.setCursor(0, 1); lcd.print("Periode:"); lcd.print(periode); lcd.print("us"); delay(1000); }
Dan program contoh kedua di atas adalah jika kamu ingin menampilkan nilai periode dan frekuensi pada LCD I2C yang mempunyai alamat di 0x27.