Arduino frekvensmätare med 16 × 2-skärm

Prova Vårt Instrument För Att Eliminera Problem





I den här artikeln ska vi konstruera en digital frekvensmätare med Arduino vars avläsningar kommer att visas på en 16x2 LCD-skärm och kommer att ha ett mätområde från 35 Hz till 1MHz.

Introduktion

Eftersom vi var elektronikentusiaster hade vi alla stött på en punkt där vi måste mäta frekvensen i våra projekt.



Vid den tiden skulle vi ha insett att ett oscilloskop är ett så användbart verktyg för att mäta frekvens. Men vi vet alla att ett oscilloskop är ett dyrt verktyg, inte alla hobbyister har råd med ett och oscilloskop kan vara ett överdrivet verktyg för nybörjare.

För att övervinna frågan om mätfrekvens behöver hobbyist inte ett dyrt oscilloskop, vi behöver bara en frekvensmätare som kan mäta frekvensen med rimlig noggrannhet.



I den här artikeln kommer vi att göra en frekvensmätare, som är enkel att konstruera och nybörjarvänlig, även Noob i Arduino kan åstadkomma med lätthet.

Innan vi går in i konstruktionsdetaljer, låt oss undersöka vad som är frekvens och hur det kan mätas.

Vad är frekvens? (För noobs)

Vi känner till termen frekvens, men vad betyder det egentligen?

Tja, frekvens definieras som antal svängningar eller cykler per sekund. Vad betyder denna definition?

Det betyder hur många gånger amplituden för ”något” går upp och ner på EN sekund. Till exempel frekvensen av växelström i vår bostad: Amplituden för 'spänning' ('något' ersätts med 'spänning') går upp (+) och nedåt (-) på en sekund, vilket är 50 gånger i de flesta länder.

En cykel eller en svängning består av upp och ner. Så en cykel / svängning är att amplituden går från noll till positiv topp och kommer tillbaka till noll och går negativ topp och återgår till noll.

”Tidsperiod” är också en term som används när man behandlar frekvens. Tidsperioden är den tid det tar att slutföra 'en cykel'. Det är också det omvända värdet av frekvensen. Exempelvis har 50 Hz 20 ms tidsperiod.

1/50 = 0,02 sekund eller 20 millisekunder

Nu skulle du ha en aning om frekvens och dess relaterade termer.

Hur mäts frekvensen?

Vi vet att en cykel är en kombination av hög och låg signal. För att mäta varaktigheten för höga och låga signaler använder vi “pulseIn” i arduino. pulseIn (pin, HIGH) mäter varaktigheten för höga signaler och pulseIn (pin, LOW) mäter varaktigheten för låga signaler. Pulsvaraktigheten för båda läggs till vilket ger tidsperioden för en cykel.

Den bestämda tidsperioden beräknas sedan för en sekund. Detta görs med följande formel:

Freq = 1000000 / tidsperiod i mikrosekunder

Tidsperioden från arduino erhålls i mikrosekunder. Arduino samplar inte ingångsfrekvensen under hela sekunden, men den förutsäger frekvensen exakt genom att analysera bara en cykels tidsperiod.

Nu vet du hur arduino mäter och beräknar frekvensen.

Kretsen:

Kretsen består av arduino som är hjärnan i projektet, 16x2 LCD-display, IC 7404-växelriktare och en potentiometer för justering av kontrast på LCD skärm .

Den föreslagna installationen kan mäta från 35Hz till 1 MHz.

Arduino skärmanslutning:

Ovanstående diagram är självförklarande, ledningsförbindelsen mellan arduino och display är standard och vi kan hitta liknande anslutningar på andra arduino- och LCD-baserade projekt.

Arduino frekvensmätare med 16x2 display

Ovanstående diagram består av växelriktaren IC 7404. IC 7404: s roll är att eliminera brus från ingången, så att bruset inte sprids till arduino vilket kan ge falska avläsningar och IC 7404 tål kort spikspänning som inte passerar till arduino-stift. IC 7404 matar bara ut rektangulära vågor där arduino enkelt kan mäta jämfört med analoga vågor.

OBS! Den maximala topp till toppingången bör inte överstiga 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-----//

Testa frekvensmätaren:

När du väl har konstruerat projektet är det nödvändigt att kontrollera om allt fungerar bra. Vi måste använda en känd frekvens för att bekräfta avläsningarna. För att åstadkomma detta använder vi arduinos inbyggda PWM-funktionalitet som har frekvensen 490Hz.

I programmet är stift # 9 aktiverat för att ge 490Hz vid 50% arbetscykel, kan användaren ta tag i frekvensmätarens ingångsledning och infoga i stift nr 9 i arduino som visas i figuren, vi kan se 490 Hz på LCD-skärmen (med viss tolerans), om den nämnda proceduren lyckades, är din frekvensmätare redo att servera dig experiment.

Författarens prototyp:

Arduino Frequency Meter Prototype Image

Användaren kan också testa denna Arduino frekvensmätarkretsprototyp med hjälp av extern frekvensgenerator som visas i bilden ovan.




Tidigare: Arduino Pure Sine Wave Inverter Circuit med fullständig programkod Nästa: Gör ett enda kanalsoscilloskop med Arduino