Arduino frekvenciamérő 16 × 2 kijelző használatával

Próbálja Ki A Műszerünket A Problémák Kiküszöbölésére





Ebben a cikkben digitális frekvenciamérőt fogunk építeni az Arduino segítségével, amelynek leolvasásait 16x2-es LCD-kijelzőn mutatjuk be, és a mérési tartománya 35 Hz és 1 MHz között lesz.

Bevezetés

Elektronikai rajongóként mindannyian találkoztunk volna egy ponttal, ahol meg kell mérnünk a projektek gyakoriságát.



Ezen a ponton rájöttünk volna, hogy az oszcilloszkóp olyan hasznos eszköz a frekvencia mérésére. De mindannyian tudjuk, hogy az oszcilloszkóp drága eszköz, amelyet nem minden hobbiterem engedhet meg magának, és az oszcilloszkóp túlzott eszköz lehet a kezdők számára.

A frekvencia mérésének leküzdéséhez a hobbistának nem kell drága oszcilloszkóp, hanem csak egy frekvenciamérő kell, amely ésszerű pontossággal képes mérni a frekvenciát.



Ebben a cikkben frekvenciamérőt fogunk készíteni, amelyet egyszerűen meg lehet építeni, és kezdőknek is barátságos, még Arduino-i noob is könnyedén el tudja érni.

Mielőtt belekezdenénk a konstrukciós részletekbe, vizsgáljuk meg, mi a frekvencia és hogyan mérhető.

Mi a frekvencia? (Nooboknak)

Ismerjük a frekvencia kifejezést, de mit is jelent valójában?

Nos, a frekvenciát az oszcillációk vagy a másodpercenkénti ciklusok számaként határozzuk meg. Mit jelent ez a meghatározás?

Ez azt jelenti, hogy a „valaminek” az amplitúdója egy másodperc alatt fel-le megy. Például a váltakozó áram frekvenciája a lakóhelyünkön: A „feszültség” amplitúdója (a „valamit” helyébe a „feszültség” lép) egy másodperc alatt emelkedik (+) és lefelé (-), ami a legtöbb országban 50-szerese.

Egy ciklus vagy egy rezgés felfelé és lefelé terjed. Tehát egy ciklus / oszcilláció az amplitúdó nulláról pozitív csúcsra megy vissza, majd nullára tér vissza, negatív csúcsra megy és visszatér nullára.

Az „időperiódus” kifejezés a frekvencia kezelése során is használatos. Az időtartam az „egy ciklus” befejezéséhez szükséges idő. Ez a frekvencia inverz értéke is. Például az 50 Hz 20 ms időtartamú.

1/50 = 0,02 másodperc vagy 20 milliszekundum

Mostanra van némi elképzelésed a gyakoriságról és az ahhoz kapcsolódó kifejezésekről.

Hogyan mérik a frekvenciát?

Tudjuk, hogy egy ciklus a magas és az alacsony jel kombinációja. A magas és alacsony jelek időtartamának méréséhez az arduino-ban a „pulseIn” szót használjuk. pulseIn (pin, HIGH) a magas jelek és pulseIn (pin, LOW) az alacsony jelek időtartamát méri. Mindkét impulzus időtartama hozzáadódik, ami egy ciklus időtartamát adja.

A meghatározott időtartamot ezután egy másodpercig számoljuk. Ez a következő képlet alapján történik:

Freq = 1000000 / periódus mikroszekundumban

Az arduino időtartamát mikroszekundumokban kapjuk meg. Az arduino nem egész másodpercig veszi a bemeneti frekvenciát, de csak egy ciklus időtartamának elemzésével pontosan megjósolja a frekvenciát.

Most már tudja, hogy az arduino hogyan méri és kiszámítja a frekvenciát.

Az áramkör:

Az áramkör a projekt agyának számító arduino-ból, 16x2 LCD kijelzőből, IC 7404 inverterből és egy potenciométerből áll a LCD kijelzö .

A javasolt beállítás 35Hz és 1 MHz közötti tartományt képes mérni.

Arduino kijelző kapcsolat:

A fenti ábra magától értetődő, az arduino és a kijelző közötti kábelezés szabványos, és hasonló kapcsolatokat találhatunk más arduino és LCD alapú projekteken is.

Arduino frekvenciamérő 16x2-es kijelzővel

A fenti ábra az IC 7404 invertert tartalmazza. Az IC 7404 feladata a bemeneti zaj kiküszöbölése, hogy a zaj ne terjedjen az arduino-ba, ami hamis leolvasást eredményezhet, és az IC 7404 elviseli a rövid tüskefeszültséget, amely nem megy át arduino csapok. Az IC 7404 csak téglalap alakú hullámokat bocsát ki, ahol az arduino könnyen mérhető az analóg hullámokkal.

MEGJEGYZÉS: A maximális csúcs-csúcs bemenet nem haladhatja meg az 5V-ot.

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

A frekvenciamérő tesztelése:

Miután sikeresen elkészítette a projektet, ellenőrizni kell, hogy minden jól működik-e. Ismert frekvenciát kell használnunk a leolvasások megerősítésére. Ennek megvalósításához az arduino beépített PWM funkcióját használjuk, amelynek frekvenciája 490Hz.

Ha a 9. számú PIN-kód lehetővé teszi, hogy 490Hz-t adjon 50% -os munkaciklus mellett, a felhasználó megragadhatja a frekvenciamérő bemeneti vezetékét, és behelyezheti az arduino # 9-es érintkezőjébe az ábra szerint. 490 Hz-t láthatunk az LCD kijelzőn (bizonyos tűréssel), ha az említett eljárás sikeres volt, akkor a frekvenciamérő készen áll arra, hogy kísérleteit szolgálja.

A szerző prototípusa:

Arduino frekvenciamérő prototípus kép

A felhasználó tesztelheti az Arduino frekvenciamérő áramkör prototípusát a fenti képen látható külső frekvenciagenerátor használatával is.




Előző: Arduino Pure Sine Wave Inverter áramkör teljes programkóddal Következő: Egycsatornás oszcilloszkóp készítése Arduino használatával