Frekuensi meter - Frequency meter using Arduino uno

Cara membuat frekuensi meter menggunakan Arduino

Frekuensi meter / Frequency meter meruapakan salah satu alat ukur yang mempunyai fungsi sebagai pengukur pengulangan dalam satuan waktu (biasanya dalam detik) dari gelombang elektromagnetik rangkaian elektronika.

Frekuensi dalam suatu rangkaian dapat diukur dengan menggunakan oscilloscope baik itu analog maupun digital, akan tetapi tidak semua orang dapat membeli oscilloscope tersebut. Dengan alasan itulah pada kesempatan ini disajikan artikel bagaiman merancang Frequency Counter sederhana namun efisien dengan mempergunakan Arduino dan Schmitt trigger gate.

Penghitung Frekuensi meter ini dapat dibuat dengan mudah dan murah dari segi pembelian bahan – bahan yang perlu dipersiapkan. Project ini akan menggunakan ARDUINO uno untuk mengukur frekuensi sinyal, dan arduino uno itulah yang berperan sebagai bagian utama dari proyek ini.

Sebagai proses pengujian project Frekuensi meter, dibuatlah generator sinyal tiruan yang akan dibuat dengan menggunakan ic chip timer 555 . Keluaran dari sirkuit pengatur frekuensi ini akan menghasilkan gelombang persegi yang dimana akan diteruskan ke arduino untuk proses pengujian.


Pembuatan Frekuensi meter dengan output gelombang persegi

Bahan – bahan utama yang dibutuhkan antara lain :

  • Arduino uno
  • LCD 16×2 dan PCF8574
  • Signal generator IC NE555
  • Kabel jumper
  • power supply 5vdc

Rangkaian Schematic dan PCB Boards signal generator IC NE555

Frekuensi meter - Schematic dan PCB boards

Komponen diatas :

  • IC1 : 74LS14N + socket 14dip
  • IC2 : NE555 + socket 8 dip
  • R1 : 100
  • R2 : 4K7 (potensiometer)
  • R3 : 300
  • C1 : 100nF
  • LED merah 3mm
  • Header pin

File diatas dapat dimiliki hanya dengan cara dibawah ini, dalam format eagle versi 8.0

[lockercat] –FILE– [/lockercat]

Rangkaian diatas termasuk rangkaian 555 Astable Multivibrator yang menghasilkan gelombang kotak. Terdapat potensiometer yang berfungsi untuk mengubah-ubah nilai resistor guna mendapatkan nilai frekuensi yang bervariasi sebagai pengujian kerja dari Frequency Meter yang akan dibuat.

Frekuensi sinyal output tergantung dari komponen penyusun R1, resistor R2 dan kapasitor C. Persamaan ini diberikan sebagai berikut :

Frekuensi (F) = 1 / (Periode waktu) = 1,44 / ((R1 + R2 * 2) * C)

Disini R1 dan R2 adalah nilai resistansi dan C adalah nilai kapasitansi. Dengan meletakkan nilai resistansi dan kapasitansi dalam persamaan di atas didapatkan nilai frekuensi output gelombang persegi.

Dikarenakan pada Arduino hanya bisa mendeteksi gelombang persegi maka pada rangkaian sudah ditambahkan komponen 74LS14 sebagai schmitt trigger gate. Fungsi dari komponen tersebut yaitu mengubah sinyal / gelombang apapun baik itu berupa gelombang sinus, segitiga dan sebagainya menjadi gelombang persegi.

IC Gerbang Schmitt Trigger tersebut adalah gerbang logika digital, yang dirancang untuk operasi aritmatika dan logika.

Gate schmitt trigger

Gerbang ini menyediakan OUTPUT berdasarkan level tegangan INPUT. Sebuah Pemicu Schmitt memiliki tingkat tegangan THERSHOLD, ketika sinyal INPUT diterapkan ke gerbang memiliki tingkat tegangan lebih tinggi daripada THRESHOLD dari gerbang logika, OUTPUT pergi TINGGI.

Jika level sinyal tegangan INPUT lebih rendah dari THRESHOLD, OUTPUT gerbang akan RENDAH. Kami biasanya tidak mendapatkan pemicu Schmitt secara terpisah, kami selalu memiliki gerbang NOT mengikuti pemicu Schmitt. Schmitt Trigger working dijelaskan di sini: Schmitt Trigger Gate

Tabel Kebenaran dari Inverted Schmitt Trigger gate ditunjukkan di bawah gambar, dengan ini kita harus memprogram arduino untuk membalikkan periode waktu positif dan negatif di terminalnya.

INPUT OUTPUT
L H
H L

Pengukuran Frekuensi meter menggunakan Arduino

Rangkaian arduino uno dan signal generator ic 555 -frekuensi meter

Pada Arduino memiliki fungsi pulsa khusus , yang memungkinkan kita untuk menentukan durasi keadaan positif atau durasi keadaan negatif dari gelombang persegi panjang tertentu:

Htime = pulseIn (8, HIGH);
Ltime = pulseIn (8, LOW);

Fungsi yang diberikan mengukur waktu yang tingkat Tinggi atau Rendah hadir di PIN8 dari Uno. Jadi dalam satu siklus gelombang, kita akan memiliki durasi untuk level positif dan negatif dalam detik Micro.

ungsi pulseIn mengukur waktu dalam detik mikro. Dalam sinyal yang diberikan, memiliki waktu yang tinggi = 10mS dan waktu yang rendah = 30ms (dengan frekuensi 25 HZ).

Jadi 30000 akan disimpan dalam Lime integer dan 10000 in Htime. Ketika menambahkan secara bersama-sama akan memiliki Durasi Siklus, dan dengan membalik itu akan memiliki Frekuensi.

Program untuk rangkaian arduino diatas

/* --- www.nyebarilmu.com --- */
#include <Wire.h>
#include <LiquidCrystal_PCF8574.h>

LiquidCrystal_PCF8574 lcd(0x38);
// dapat dicek menggunakan i2c finder

int H_time;              //variabel untuk menyimpan high time
int L_time;                //variabel untuk menyimpan low time
float T_time;            // variabel untuk menyimpan total time
float freq;

void setup()
{
pinMode(8,INPUT); //deklarasi pin 8 sebagai input

lcd.begin(16, 2); //prosedur pemanggilan LCD
lcd.setBacklight(255);

lcd.setCursor(00, 00); //set pada baris 1 dan kolom 1
lcd.print("*Hello World*"); //menuliskan "Hello World"
lcd.setCursor(00, 1); //set pada baris 2 dan kolom 1
lcd.print("*nyebarilmu.com*"); //menuliskan "nyebarilmu.com"

lcd.clear(); //menghapus data sebelumnya

delay(3000);
}

void loop()
{
    lcd.clear();
    lcd.setCursor(00,00);
    lcd.print("Frekuensi sinyal :");

    H_time=pulseIn(8,HIGH);
    L_time=pulseIn(8,LOW);

    T_time = H_time+L_time;

    freq=1000000/T_time;    //getting frequency with Ttime is in Micro seconds
    lcd.setCursor(00,1);
    lcd.print(freq);
    lcd.print(" Hz");
    delay(600);
}

Silahkan mencoba!!

Comments

No comments yet. Why don’t you start the discussion?

Leave a Reply

Your email address will not be published. Required fields are marked *