Arduino frekvensmåler ved bruk av 16 × 2-skjerm

Prøv Instrumentet Vårt For Å Eliminere Problemer





I denne artikkelen skal vi konstruere en digital frekvensmåler ved hjelp av Arduino hvis målinger vil bli vist på en 16x2 LCD-skjerm og vil ha et måleområde fra 35 Hz til 1 MHz.

Introduksjon

Å være elektronikkentusiast hadde vi alle kommet over et punkt der vi må måle frekvensen i prosjektene våre.



På det tidspunktet ville vi ha innsett at et oscilloskop er et så nyttig verktøy for å måle frekvens. Men vi vet alle at et oscilloskop er et dyrt verktøy, ikke alle hobbyister har råd til, og oscilloskop kan være et overdreven verktøy for nybegynnere.

For å overvinne problemet med å måle frekvens, trenger ikke hobbyist et dyrt oscilloskop, vi trenger bare en frekvensmåler som kan måle frekvensen med rimelig nøyaktighet.



I denne artikkelen skal vi lage en frekvensmåler, som er enkel å konstruere og nybegynnervennlig, selv noob i Arduino kan oppnå med letthet.

Før vi går inn i konstruksjonsdetaljer, la oss utforske hva som er frekvens og hvordan det kan måles.

Hva er frekvens? (For noobs)

Vi er kjent med begrepet frekvens, men hva betyr det egentlig?

Vel, frekvens er definert som antall svingninger eller sykluser per sekund. Hva betyr denne definisjonen?

Det betyr antall ganger amplituden til 'noe' går opp og ned på ett sekund. For eksempel frekvens av vekselstrøm i vårt hjem: Amplituden til “spenning” (‘noe’ blir erstattet av ‘spenning’) går opp (+) og ned (-) på ett sekund, noe som er 50 ganger i de fleste land.

En syklus eller en svingning består av opp og ned. Så en syklus / svingning er at amplituden går fra null til positiv topp og kommer tilbake til null og går negativ topp og går tilbake til null.

'Tidsperiode' er også et begrep som brukes når det gjelder frekvens. Tidsperioden er tiden det tar å fullføre “en syklus”. Det er også den omvendte verdien av frekvens. For eksempel har 50 Hz 20 ms tidsperiode.

1/50 = 0,02 sekund eller 20 millisekund

Nå vil du ha en ide om frekvens og tilhørende vilkår.

Hvordan måles frekvensen?

Vi vet at en syklus er en kombinasjon av høyt og lavt signal. For å måle varigheten av høye og lave signaler bruker vi “pulseIn” i arduino. pulseIn (pin, HIGH) måler varigheten av høye signaler og pulseIn (pin, LOW) måler varigheten av lave signaler. Pulsvarigheten til begge er lagt til som gir tidsperioden for en syklus.

Den bestemte tidsperioden beregnes deretter i ett sekund. Dette gjøres med følgende formel:

Freq = 1000000 / tidsperiode i mikrosekunder

Tidsperioden fra arduino er oppnådd i mikrosekunder. Arduino sampler ikke inngangsfrekvensen i hele andre sekund, men den forutsier frekvensen nøyaktig ved å analysere bare en syklusens tidsperiode.

Nå vet du hvordan arduino måler og beregner frekvensen.

Kretsen:

Kretsen består av arduino som er hjernen til prosjektet, 16x2 LCD-skjerm, IC 7404-omformer og ett potensiometer for justering av kontrast på LCD-skjerm .

Det foreslåtte oppsettet kan måle fra 35Hz til 1 MHz.

Arduino skjermforbindelse:

Diagrammet ovenfor forklarer seg selv, ledningsforbindelsen mellom arduino og display er standard, og vi kan finne lignende tilkoblinger på andre arduino- og LCD-baserte prosjekter.

Arduino frekvensmåler ved bruk av 16x2-skjerm

Ovenstående diagram består av inverter IC 7404. Rollen til IC 7404 er å eliminere støy fra inngangen, slik at støyen ikke vil forplante seg til arduino, noe som kan gi falske avlesninger, og IC 7404 tåler kort spiss som ikke vil passere til arduino pinner. IC 7404 sender bare ut rektangulære bølger der arduino lett kan måle sammenlignet med analoge bølger.

MERKNAD: Maksimal topp til topp-inngang bør ikke overstige 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-----//

Testing av frekvensmåleren:

Når du har konstruert prosjektet, er det nødvendig å sjekke om alt fungerer bra. Vi må bruke en kjent frekvens for å bekrefte avlesningene. For å oppnå dette bruker vi arduinos innebygde PWM-funksjonalitet som har en frekvens på 490Hz.

I programmet er pin # 9 aktivert for å gi 490Hz ved 50% driftssyklus, kan brukeren ta tak i inngangskabelen til frekvensmåleren og sette inn i pin 9 av arduino som vist i figuren, vi kan se 490 Hz på LCD-skjermen (med en viss toleranse), hvis den nevnte prosedyren var vellykket, er frekvensmåleren din klar til å tjene deg eksperimenter.

Forfatterens prototype:

Arduino Frequency Meter Prototype Image

Brukeren kan også teste denne Arduino frekvensmålerkretsprototypen ved hjelp av ekstern frekvensgenerator som er vist på bildet ovenfor.




Forrige: Arduino Pure Sine Wave Inverter Circuit med full programkode Neste: Å lage et enkeltkanalsoscilloskop ved hjelp av Arduino