Contor de frecvență Arduino cu afișaj 16 × 2

Încercați Instrumentul Nostru Pentru Eliminarea Problemelor





În acest articol vom construi un contor digital de frecvență folosind Arduino ale cărui citiri vor fi prezentate pe un ecran LCD de 16x2 și vor avea un domeniu de măsurare de la 35 Hz la 1 MHz.

Introducere

Fiind pasionați de electronică, toți am fi dat peste un punct în care trebuie să măsurăm frecvența în proiectele noastre.



În acel moment ne-am fi dat seama că un osciloscop este un instrument atât de util pentru măsurarea frecvenței. Dar, știm cu toții că un osciloscop este un instrument scump, nu toți pasionații își pot permite unul, iar osciloscopul ar putea fi un instrument de exagerare pentru începători.

Pentru a depăși problema măsurării frecvenței, amatorii nu au nevoie de un osciloscop scump, avem nevoie doar de un contor de frecvență care poate măsura frecvența cu o precizie rezonabilă.



În acest articol vom face un contor de frecvență, care este ușor de construit și ușor pentru începători, chiar și noob din Arduino poate realiza cu ușurință.

Înainte de a intra în detalii de construcție, să explorăm ce este frecvența și cum poate fi măsurată.

Ce este frecvența? (Pentru noobs)

Suntem familiarizați cu termenul de frecvență, dar ce înseamnă cu adevărat?

Ei bine, frecvența este definită ca număr de oscilații sau cicluri pe secundă. Ce înseamnă această definiție?

Înseamnă de câte ori amplitudinea „ceva” crește și coboară într-o secundă. De exemplu, frecvența de curent alternativ la reședința noastră: amplitudinea „tensiunii” („ceva” este înlocuit cu „tensiunea”) crește (+) și coboară (-) într-o secundă, care este de 50 de ori în majoritatea țărilor.

Un ciclu sau o singură oscilație cuprinde în sus și în jos. Deci, un ciclu / oscilație este amplitudinea merge de la zero la vârf pozitiv și revine la zero și merge la vârf negativ și revine la zero.

„Perioada de timp” este, de asemenea, un termen folosit în tratarea frecvenței. Perioada de timp este timpul necesar pentru a finaliza „un ciclu”. Este, de asemenea, valoarea inversă a frecvenței. De exemplu, 50 Hz are o perioadă de timp de 20 ms.

1/50 = 0,02 secunde sau 20 milisecunde

Până acum ați avea o idee despre frecvență și termenii aferenți.

Cum se măsoară frecvența?

Știm că un ciclu este o combinație de semnal înalt și scăzut. Pentru a măsura durata semnalelor înalte și joase, folosim „pulseIn” în arduino. pulseIn (pin, HIGH) măsoară durata semnalelor înalte și pulseIn (pin, LOW) măsoară durata semnalelor mici. Se adaugă durata impulsului ambelor, ceea ce oferă o perioadă de timp a unui ciclu.

Perioada de timp determinată este apoi calculată pentru o secundă. Acest lucru se face urmând următoarea formulă:

Frecvență = 1000000 / perioadă de timp în microsecunde

Perioada de timp de la arduino este obținută în microsecunde. Arduino nu eșantionează frecvența de intrare pentru o secundă întreagă, dar prezice frecvența cu precizie analizând doar o perioadă de timp a unui ciclu.

Acum știți cum măsoară și calculează frecvența arduino.

Circuitul:

Circuitul este format din arduino, care este creierul proiectului, afișaj LCD de 16x2, invertor IC 7404 și un potențiometru pentru reglarea contrastului de Ecran LCD .

Setarea propusă poate măsura de la 35Hz la 1 MHz.

Conexiune de afișare Arduino:

Diagrama de mai sus este auto-explicativă, conexiunea de cablare între arduino și afișaj este standard și putem găsi conexiuni similare pe alte proiecte bazate pe arduino și LCD.

Contor de frecvență Arduino cu afișaj 16x2

Diagrama de mai sus este formată din invertor IC 7404. Rolul IC 7404 este de a elimina zgomotul de la intrare, astfel încât zgomotul să nu se propage către arduino, ceea ce ar putea da citiri false și IC 7404 poate tolera o tensiune scurtă de vârf care nu va trece la pini arduino. IC 7404 scoate numai unde dreptunghiulare unde arduino poate măsura cu ușurință comparativ cu undele analogice.

NOTĂ: Intrarea maximă de vârf la vârf nu trebuie să depășească 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-----//

Testarea contorului de frecvență:

Odată ce ați construit cu succes proiectul, este necesar să verificați dacă totul funcționează bine. Trebuie să folosim o frecvență cunoscută pentru a confirma citirile. Pentru a realiza acest lucru, folosim funcționalitatea PWM încorporată arduino, care are o frecvență de 490Hz.

În programul pinul # 9 este activat pentru a da 490Hz la 50% ciclu de utilizare, utilizatorul poate apuca firul de intrare al contorului de frecvență și introduce în pinul # 9 al arduino așa cum se arată în figură, putem vedea 490 Hz pe ecranul LCD (cu oarecare toleranță), dacă procedura menționată a avut succes, contorul de frecvență este gata să vă servească experimentele.

Prototipul autorului:

Imagine prototip Armetru de frecvență

Utilizatorul poate testa, de asemenea, acest prototip al circuitului contorului de frecvență Arduino utilizând un generator de frecvență extern, care este prezentat în imaginea de mai sus.




Precedent: Circuit invertor cu undă sinusoidală Arduino cu cod complet de program În continuare: Realizarea unui osciloscop cu un singur canal folosind Arduino