Измервател на честота Arduino, използващ дисплей 16 × 2

Измервател на честота Arduino, използващ дисплей 16 × 2

В тази статия ще конструираме цифров измервател на честота, използвайки Arduino, чиито показания ще бъдат показани на 16x2 LCD дисплей и ще имат обхват на измерване от 35 Hz до 1MHz.



Въведение

Като ентусиасти в електрониката, всички щяхме да се натъкнем на момент, в който трябва да измерваме честотата в нашите проекти.

Тогава щяхме да разберем, че осцилоскопът е толкова полезен инструмент за измерване на честотата. Но всички знаем, че осцилоскопът е скъп инструмент, който не всички любители могат да си позволят, а осцилоскопът може да е прекалено голям инструмент за начинаещи.





За да преодолее проблема с измерването на честотата, любителят не се нуждае от скъп осцилоскоп, ние просто се нуждаем от честотомер, който може да измерва честотата с разумна точност.

В тази статия ще направим честотомер, който е лесен за конструиране и удобен за начинаещи, дори noob в Arduino може да постигне с лекота.



Преди да влезем в конструктивни детайли, нека изследваме какво е честотата и как тя може да бъде измерена.

Какво е Честота? (За noobs)

Познати сме с термина честота, но какво всъщност означава той?

Е, честотата се определя като брой трептения или цикли в секунда. Какво означава това определение?

Това означава, колко пъти амплитудата на 'нещо' се покачва и намалява за ЕДНА секунда. Например честота на променливотоковото захранване в нашата резиденция: Амплитудата на „напрежение“ („нещо“ се заменя с „напрежение“) се увеличава (+) и намалява (-) за една секунда, което е 50 пъти в повечето страни.

Един цикъл или едно трептене се състои от нагоре и надолу. Така че един цикъл / трептене е амплитудата преминава от нула до положителен пик и се връща към нула и отива отрицателен пик и се връща към нула.

„Период от време“ също е термин, използван при работа с честотата. Периодът от време е времето, необходимо за завършване на „един цикъл“. Това е и обратната стойност на честотата. Например 50 Hz има период от 20 ms.

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

Досега бихте имали представа за честотата и свързаните с нея термини.

Как се измерва честотата?

Знаем, че един цикъл е комбинация от висок и нисък сигнал. За да измерим продължителността на високите и ниските сигнали, използваме “pulseIn” в arduino. pulseIn (pin, HIGH) измерва продължителността на високите сигнали и pulseIn (pin, LOW) измерва продължителността на ниските сигнали. Добавя се продължителността на импулса и на двете, които дават период от време на един цикъл.

След това определеният период от време се изчислява за една секунда. Това се прави по следната формула:

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

Периодът от време на arduino се получава в микросекунди. Arduino не взема проби от входната честота за цяла секунда, но предсказва честотата често, като анализира само периода от време на един цикъл.

Сега знаете как arduino измерва и изчислява честотата.

Веригата:

Веригата се състои от arduino, който е мозъкът на проекта, 16x2 LCD дисплей, инвертор IC 7404 и един потенциометър за регулиране на контраста на ЛСД дисплей .

Предложената настройка може да измерва от 35Hz до 1 MHz.

Връзка с дисплей Arduino:

Горната схема е обяснима, обяснителната връзка между arduino и дисплея е стандартна и можем да намерим подобни връзки в други проекти, базирани на arduino и LCD.

Измервател на честота Arduino, използващ дисплей 16x2

Горната схема се състои от инвертор IC 7404. Ролята на IC 7404 е да елиминира шума от входа, така че шумът да не се разпространява до arduino, което може да даде фалшиви показания, а IC 7404 да може да толерира късо напрежение на пика, което няма да премине към щифтове arduino. IC 7404 извежда само правоъгълни вълни, където arduino може лесно да измерва с аналогови вълни.

ЗАБЕЛЕЖКА: Максималният пик до пик на входа не трябва да надвишава 5V.

Програма:

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

Тестване на честотомера:

След като успешно сте конструирали проекта, е необходимо да проверите дали всичко работи добре. Трябва да използваме известна честота, за да потвърдим показанията. За да постигнем това, използваме вградената PWM функционалност на arduino, която има честота 490Hz.

В програмата pin # 9 е активиран да дава 490Hz при 50% работен цикъл, потребителят може да вземе входния проводник на честотомера и да вкара в pin ​​# 9 на arduino, както е показано на фигурата, можем да видим 490 Hz на LCD дисплея (с известна толерантност), ако споменатата процедура е била успешна, вие честотомерът е готов да ви сервира експерименти.

Прототип на автора:

Прототипно изображение на честотомер на Arduino

Потребителят може също да тества този прототип на веригата на честотомер Arduino, като използва външен честотен генератор, който е показан на горното изображение.




Предишна: Инверторна верига с чиста синусоида Arduino с пълен програмен код Напред: Създаване на едноканален осцилоскоп с помощта на Arduino