Arduino Frekuensi Meter Menggunakan Paparan 16 × 2

Cuba Instrumen Kami Untuk Menghapuskan Masalah





Dalam artikel ini kita akan membina meter frekuensi digital menggunakan Arduino yang bacaannya akan dipamerkan pada paparan LCD 16x2 dan akan mempunyai jarak pengukuran dari 35 Hz hingga 1MHz.

Pengenalan

Sebagai peminat elektronik, kita semua pasti menemui titik di mana kita perlu mengukur kekerapan dalam projek kita.



Pada ketika itu kita akan menyedari bahawa osiloskop adalah alat yang berguna untuk mengukur frekuensi. Tetapi, kita semua tahu bahawa osiloskop adalah alat yang mahal yang tidak dapat dimiliki oleh semua penggemar dan osiloskop mungkin merupakan alat yang berlebihan untuk pemula.

Untuk mengatasi masalah mengukur frekuensi, penggemar tidak memerlukan osiloskop yang mahal, kita hanya memerlukan meter frekuensi yang dapat mengukur frekuensi dengan ketepatan yang wajar.



Dalam artikel ini kita akan membuat meter frekuensi, yang mudah dibina dan mesra pemula, bahkan noob di Arduino dapat dicapai dengan mudah.

Sebelum membahas perincian konstruktif, mari kita selidiki frekuensi dan bagaimana ia dapat diukur.

Apa itu Kekerapan? (Untuk noob)

Kita sudah biasa dengan istilah frekuensi, tetapi apa sebenarnya maksudnya?

Nah, frekuensi ditakrifkan sebagai bilangan ayunan atau kitaran sesaat. Apakah maksud definisi ini?

Ini bermaksud berapa kali amplitud 'sesuatu' naik dan turun dalam SATU saat. Contohnya frekuensi kuasa AC di kediaman kita: Amplitud “voltan” (‘sesuatu’ diganti dengan ‘voltan’) naik (+) dan turun (-) dalam satu saat, iaitu 50 kali di kebanyakan negara.

Satu pusingan atau satu ayunan terdiri daripada atas dan bawah. Jadi satu kitaran / ayunan adalah amplitud dari nol ke puncak positif dan kembali ke sifar dan naik ke puncak negatif dan kembali ke sifar

'Jangka waktu' juga merupakan istilah yang digunakan ketika berurusan dengan frekuensi. Jangka waktu adalah masa yang diperlukan untuk menyelesaikan 'satu kitaran'. Ia juga merupakan nilai frekuensi terbalik. Contohnya 50 Hz mempunyai jangka masa 20 ms.

1/50 = 0.02 saat atau 20 milisaat

Sekarang anda mungkin mempunyai idea mengenai kekerapan dan istilah yang berkaitan dengannya.

Bagaimana kekerapan diukur?

Kita tahu bahawa satu kitaran adalah gabungan isyarat tinggi dan rendah. Untuk mengukur jangka masa isyarat tinggi dan rendah, kami menggunakan 'pulseIn' dalam arduino. pulseIn (pin, HIGH) mengukur jangka masa isyarat tinggi dan pulseIn (pin, LOW) mengukur tempoh isyarat rendah. Tempoh nadi kedua-duanya ditambahkan yang memberikan jangka masa satu kitaran.

Tempoh masa yang ditentukan kemudian dikira selama satu saat. Ini dilakukan dengan formula berikut:

Freq = 1000000 / jangka masa dalam mikrodetik

Tempoh masa dari arduino diperoleh dalam mikrodetik. Arduino tidak mengambil sampel frekuensi input selama satu saat, tetapi ia meramalkan frekuensi dengan tepat dengan menganalisis jangka masa satu kitaran sahaja.

Sekarang anda tahu bagaimana arduino mengukur dan mengira kekerapannya.

Litar:

Litar ini terdiri daripada arduino yang merupakan otak projek, paparan LCD 16x2, penyongsang IC 7404 dan satu potensiometer untuk menyesuaikan kontras Paparan LCD .

Penyediaan yang dicadangkan dapat mengukur antara 35Hz hingga 1 MHz.

Sambungan paparan Arduino:

Gambar rajah di atas cukup jelas, sambungan pendawaian antara arduino dan paparan adalah standard dan kami dapat mencari sambungan serupa pada projek berasaskan arduino dan LCD yang lain.

Arduino Frekuensi Meter Menggunakan Paparan 16x2

Gambar rajah di atas terdiri daripada penyongsang IC 7404. Peranan IC 7404 adalah untuk menghilangkan kebisingan dari input, sehingga kebisingan tidak menyebarkan ke arduino yang mungkin memberikan pembacaan palsu dan IC 7404 dapat mentoleransi voltan lonjakan pendek yang tidak akan berlalu ke pin arduino. IC 7404 hanya menghasilkan gelombang segi empat tepat di mana arduino dapat mengukur dengan mudah dibandingkan dengan gelombang analog.

CATATAN: Input maksimum ke puncak tidak boleh melebihi 5V.

Program:

//-----Program Developed by R.Girish-----//
#include
LiquidCrystal lcd(12, 11, 5, 4, 3, 2)
int X
int Y
float Time
float frequency
const int input = A0
const int test = 9
void setup()
{
pinMode(input,INPUT)
pinMode(test, OUTPUT)
lcd.begin(16, 2)
analogWrite(test,127)
}
void loop()
{
lcd.clear()
lcd.setCursor(0,0)
lcd.print('Frequency Meter')
X=pulseIn(input,HIGH)
Y=pulseIn(input,LOW)
Time = X+Y
frequency=1000000/Time
if(frequency<=0)
{
lcd.clear()
lcd.setCursor(0,0)
lcd.print('Frequency Meter')
lcd.setCursor(0,1)
lcd.print('0.00 Hz')
}
else
{
lcd.setCursor(0,1)
lcd.print(frequency)
lcd.print(' Hz')
}
delay(1000)
}
//-----Program Developed by R.Girish-----//

Menguji meter frekuensi:

Sebaik sahaja anda berjaya membina projek ini, perlu diperiksa sama ada semuanya berjalan lancar. Kita mesti menggunakan frekuensi yang diketahui untuk mengesahkan bacaannya. Untuk mencapai ini, kami menggunakan fungsi PWM arduino yang mempunyai frekuensi 490Hz.

Dalam pin program # 9 diaktifkan untuk memberikan 490Hz pada 50% kitaran tugas, pengguna dapat meraih wayar input meter frekuensi dan memasukkan pin # 9 arduino seperti yang ditunjukkan pada gambar, kita dapat melihat 490 Hz pada layar LCD (dengan sedikit toleransi), jika prosedur yang disebutkan berjaya, meter frekuensi anda siap melayani percubaan.

Prototaip pengarang:

Imej Prototaip Arduino Frekuensi Meter

Pengguna juga boleh menguji prototaip litar meter frekuensi Arduino ini dengan menggunakan penjana frekuensi luaran yang ditunjukkan dalam gambar di atas.




Sebelumnya: Litar Inverter Arduino Pure Sine Wave dengan Kod Program Penuh Seterusnya: Membuat Osiloskop Saluran Tunggal menggunakan Arduino