Мерач фреквенције Ардуино помоћу екрана 16 × 2

Испробајте Наш Инструмент За Елиминисање Проблема





У овом чланку ћемо конструисати дигитални мерач фреквенције користећи Ардуино чија ће очитавања бити приказана на ЛЦД дисплеју 16к2 и имаће опсег мерења од 35 Хз до 1МХз.

Увод

Као ентузијасти електронике, сви бисмо наишли на тачку у којој морамо мерити фреквенцију у нашим пројектима.



Тада бисмо схватили да је осцилоскоп тако користан алат за мерење фреквенције. Али, сви знамо да је осцилоскоп скуп алат који га сви хобисти не могу приуштити, а осцилоскоп је можда претјеран алат за почетнике.

Да би превазишао проблем мерења фреквенције, хобистима није потребан скуп осцилоскоп, потребан нам је само мерач фреквенције који може да мери фреквенцију са разумном тачношћу.



У овом чланку ћемо направити мерач фреквенције, који је једноставан за израду и прилагођен почетницима, чак и нооб у Ардуину може то лако постићи.

Пре него што пређемо на детаље конструкције, истражимо шта је фреквенција и како се она може мерити.

Шта је фреквенција? (За нообс)

Познат нам је појам фреквенција, али шта заправо значи?

Па, фреквенција се дефинише као број осцилација или циклуса у секунди. Шта значи ова дефиниција?

Значи колико пута амплитуда „нечега“ расте и пада у ЈЕДНУ секунду. На пример, фреквенција напајања наизменичном струјом у нашем пребивалишту: Амплитуда „напона“ („нешто“ се замењује са „напон“) у једној секунди се пење (+) и смањује (-), што је у већини земаља 50 пута.

Један циклус или једна осцилација састоји се од горе и доле. Дакле, један циклус / осцилација је да амплитуда иде од нуле до позитивног врха и врати се на нулу и пређе негативни врх и врати се на нулу.

„Временски период“ је такође термин који се користи када се ради о фреквенцији. Временски период је време потребно за завршетак „једног циклуса“. То је такође обрнута вредност фреквенције. На пример, 50 Хз има временски период од 20 мс.

1/50 = 0,02 секунде или 20 милисекунди

До сада бисте имали неку представу о фреквенцији и сродним терминима.

Како се мери фреквенција?

Знамо да је један циклус комбинација високог и ниског сигнала. За мерење трајања високих и ниских сигнала користимо „пулсеИн“ у ардуину. пулсеИн (пин, ХИГХ) мери трајање високих сигнала и пулсеИн (пин, ЛОВ) мери трајање ниских сигнала. Трајање импулса оба се додаје што даје временски период једног циклуса.

Тада се утврђени временски период израчунава за једну секунду. То се постиже следећом формулом:

Фрек = 1000000 / временски период у микросекундама

Временски период из ардуина добија се у микросекундама. Ардуино не узоркује улазну фреквенцију током целе секунде, али тачно предвиђа фреквенцију анализирајући само временски период једног циклуса.

Сада знате како ардуино мери и израчунава фреквенцију.

Коло:

Коло се састоји од ардуина који је мозак пројекта, ЛЦД екрана 16к2, претварача ИЦ 7404 и једног потенциометра за подешавање контраста ЛЦД дисплеј .

Предложена поставка може да мери од 35Хз до 1 МХз.

Веза са Ардуино дисплејем:

Горњи дијаграм је саморазумљив, веза ожичења између ардуина и екрана је стандардна и сличне везе можемо наћи на другим пројектима заснованим на ардуину и ЛЦД-у.

Мерач фреквенције Ардуино помоћу екрана 16к2

Горњи дијаграм састоји се од претварача ИЦ 7404. Улога ИЦ 7404 је да елиминише буку са улаза, тако да се бука неће ширити на ардуино што би могло давати лажна очитавања, а ИЦ 7404 може да толерише кратки напон који не прелази на ардуино пинови. ИЦ 7404 даје само правоугаоне таласе тамо где се ардуино може лако мерити са аналогним таласима.

НАПОМЕНА: Максимални улазни максимум не сме бити већи од 5В.

Програм:

//-----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-----//

Испитивање мерача фреквенције:

Након што сте успешно конструисали пројекат, потребно је проверити да ли све функционише у реду. Морамо да користимо познату фреквенцију да бисмо потврдили очитавања. Да бисмо то постигли, користимо уграђену ардуино функцију ПВМ која има фреквенцију 490Хз.

У програму пин # 9 омогућено је давање 490Хз при 50% радног циклуса, корисник може да зграби улазну жицу мерача фреквенције и убаци у пин # 9 ардуина као што је приказано на слици, на ЛЦД екрану можемо видети 490 Хз (уз извесну толеранцију), ако је поменути поступак успео, ваш мерач фреквенције спреман је да вам послужи експерименте.

Ауторски прототип:

Прототип слике ардуино мерача фреквенције

Корисник такође може да тестира овај прототип склопа мерача фреквенције Ардуино користећи спољни генератор фреквенције који је приказан на горњој слици.




Претходни: Ардуино чист синусни претварач са пуним програмским кодом Следеће: Израда једноканалног осцилоскопа помоћу Ардуина