Miernik częstotliwości Arduino wykorzystujący wyświetlacz 16 × 2

Wypróbuj Nasz Instrument Do Eliminowania Problemów





W tym artykule zamierzamy zbudować cyfrowy miernik częstotliwości z wykorzystaniem Arduino, którego odczyty będą prezentowane na wyświetlaczu LCD 16x2 i będą miały zakres pomiarowy od 35 Hz do 1 MHz.

Wprowadzenie

Będąc entuzjastami elektroniki, wszyscy napotkalibyśmy punkt, w którym musimy zmierzyć częstotliwość w naszych projektach.



W tym momencie zdalibyśmy sobie sprawę, że oscyloskop jest tak użytecznym narzędziem do pomiaru częstotliwości. Ale wszyscy wiemy, że oscyloskop jest drogim narzędziem, na które nie wszystkich hobbystów stać, a oscyloskop może być przesadą dla początkujących.

Aby przezwyciężyć problem pomiaru częstotliwości, hobbysta nie potrzebuje drogiego oscyloskopu, potrzebujemy tylko miernika częstotliwości, który może mierzyć częstotliwość z rozsądną dokładnością.



W tym artykule zamierzamy stworzyć miernik częstotliwości, który jest prosty w budowie i przyjazny dla początkujących, nawet noob w Arduino może z łatwością to zrobić.

Zanim przejdziemy do szczegółów konstrukcyjnych, przyjrzyjmy się, czym jest częstotliwość i jak można ją zmierzyć.

Co to jest częstotliwość? (Dla noobów)

Znamy termin częstotliwość, ale co tak naprawdę oznacza?

Cóż, częstotliwość jest definiowana jako liczba oscylacji lub cykli na sekundę. Co oznacza ta definicja?

Oznacza to, ile razy amplituda „czegoś” rośnie i maleje w ciągu JEDNEJ sekundy. Na przykład częstotliwość prądu przemiennego w naszym miejscu zamieszkania: Amplituda „napięcia” („coś” jest zastępowane przez „napięcie”) rośnie (+) i maleje (-) w ciągu jednej sekundy, czyli 50 razy w większości krajów.

Jeden cykl lub jedna oscylacja składa się z ruchu w górę iw dół. Tak więc jeden cykl / oscylacja to amplituda od zera do dodatniego piku i wraca do zera, a następnie przechodzi do ujemnego szczytu i powraca do zera.

„Okres czasu” jest również terminem używanym w odniesieniu do częstotliwości. Okres to czas potrzebny do zakończenia „jednego cyklu”. Jest to również odwrotna wartość częstotliwości. Na przykład 50 Hz ma okres czasu 20 ms.

1/50 = 0,02 sekundy lub 20 milisekund

Do tej pory miałbyś pojęcie o częstotliwości i związanych z nią terminach.

Jak mierzona jest częstotliwość?

Wiemy, że jeden cykl to połączenie wysokiego i niskiego sygnału. Aby zmierzyć czas trwania wysokich i niskich sygnałów, używamy „PulseIn” w arduino. PulseIn (pin, HIGH) mierzy czas trwania wysokich sygnałów, a pulseIn (pin, LOW) mierzy czas trwania niskich sygnałów. Czas trwania impulsu obu jest dodawany, co daje okres jednego cyklu.

Określony okres czasu jest następnie obliczany na jedną sekundę. Odbywa się to według następującego wzoru:

Freq = 1000000 / okres czasu w mikrosekundach

Okres z arduino jest podawany w mikrosekundach. Arduino nie próbkuje częstotliwości wejściowej przez całą sekundę, ale dokładnie przewiduje częstotliwość, analizując tylko okres jednego cyklu.

Teraz wiesz, jak arduino mierzy i oblicza częstotliwość.

Obwód:

Obwód składa się z arduino, które jest mózgiem projektu, wyświetlacza LCD 16x2, falownika IC 7404 i jednego potencjometru do regulacji kontrastu wyświetlacz LCD .

Proponowana konfiguracja może mierzyć w zakresie od 35 Hz do 1 MHz.

Połączenie wyświetlacza Arduino:

Powyższy schemat jest oczywisty, połączenie okablowania między arduino a wyświetlaczem jest standardowe i możemy znaleźć podobne połączenia w innych projektach opartych na arduino i LCD.

Miernik częstotliwości Arduino z wyświetlaczem 16x2

Powyższy schemat składa się z inwertera IC 7404. Rolą IC 7404 jest eliminacja szumów z wejścia, tak aby szum nie rozprzestrzenił się do arduino, co może dawać fałszywe odczyty, a IC 7404 może tolerować krótkie skokowe napięcie, które nie przejdzie do szpilki arduino. IC 7404 generuje tylko fale prostokątne, w których arduino może łatwo mierzyć w porównaniu z falami analogowymi.

UWAGA: Maksymalne wejście międzyszczytowe nie powinno przekraczać 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-----//

Testowanie miernika częstotliwości:

Po pomyślnym zbudowaniu projektu konieczne jest sprawdzenie, czy wszystko działa poprawnie. Musimy użyć znanej częstotliwości, aby potwierdzić odczyty. Aby to osiągnąć, używamy wbudowanej funkcji PWM firmy arduino, która ma częstotliwość 490 Hz.

W programie pin # 9 jest włączony, aby dać 490Hz przy 50% cyklu pracy, użytkownik może chwycić przewód wejściowy miernika częstotliwości i włożyć w pin # 9 arduino, jak pokazano na rysunku, widzimy 490 Hz na wyświetlaczu LCD (z pewną tolerancją), jeśli wspomniana procedura zakończyła się powodzeniem, Twój miernik częstotliwości jest gotowy do obsługi eksperymentów.

Prototyp autora:

Obraz prototypu miernika częstotliwości Arduino

Użytkownik może również przetestować ten prototyp obwodu miernika częstotliwości Arduino za pomocą zewnętrznego generatora częstotliwości, który pokazano na powyższym obrazku.




Poprzedni: Arduino Pure Sine Wave Inverter Circuit z pełnym kodem programu Dalej: Tworzenie oscyloskopu jednokanałowego przy użyciu Arduino