Arduino-taajuusmittari 16 × 2 -näytöllä

Kokeile Instrumenttia Ongelmien Poistamiseksi





Tässä artikkelissa aiomme rakentaa digitaalisen taajuusmittarin käyttämällä Arduinoa, jonka lukemat näytetään 16x2 LCD-näytöllä ja jonka mittausalue on 35 Hz - 1 MHz.

Johdanto

Elektroniikan harrastajana olisimme kaikki törmänneet pisteeseen, jossa meidän on mitattava taajuus projekteissamme.



Siinä vaiheessa olisimme ymmärtäneet, että oskilloskooppi on niin hyödyllinen työkalu taajuuden mittaamiseen. Mutta me kaikki tiedämme, että oskilloskooppi on kallis työkalu, jota kaikilla harrastajilla ei ole varaa, ja oskilloskooppi saattaa olla ylityökalu aloittelijoille.

Taajuuden mittaamisen ratkaisemiseksi harrastajat eivät tarvitse kalliita oskilloskooppeja, tarvitsemme vain taajuusmittarin, joka pystyy mittaamaan taajuuden kohtuullisella tarkkuudella.



Tässä artikkelissa aiomme tehdä taajuusmittarin, joka on helppo rakentaa ja aloittelijaystävällinen, jopa Arduinon noob voi saavuttaa helposti.

Ennen kuin ryhdymme rakentamiseen, tutkitaan, mikä on taajuus ja miten sitä voidaan mitata.

Mikä on taajuus? (Noobs)

Tunnemme termin taajuus, mutta mitä se todella tarkoittaa?

No, taajuus määritellään värähtelyjen tai jaksojen määränä sekunnissa. Mitä tämä määritelmä tarkoittaa?

Se tarkoittaa, kuinka monta kertaa “jonkin” amplitudi nousee ylös ja alas yhdessä sekunnissa. Esimerkiksi vaihtovirran taajuus asuinpaikkamme: 'Jännitteen' amplitudi ('joku' korvataan 'jännitteellä') nousee (+) ja alas (-) yhdessä sekunnissa, mikä on 50 kertaa useimmissa maissa.

Yksi sykli tai yksi värähtely käsittää ylös ja alas. Joten yksi sykli / värähtely on amplitudi menee nollasta positiiviseen huippuun ja palaa takaisin nollaan ja menee negatiiviseen huippuun ja palaa nollaan.

'Aikajakso' on myös termi, jota käytetään käsiteltäessä taajuutta. Aikajakso on aika, joka kuluu yhden jakson suorittamiseen. Se on myös taajuuden käänteinen arvo. Esimerkiksi 50 Hz: llä on 20 ms: n ajanjakso.

1/50 = 0,02 sekuntia tai 20 millisekuntia

Tähän mennessä sinulla olisi jonkinlainen käsitys taajuudesta ja siihen liittyvistä termeistä.

Kuinka taajuus mitataan?

Tiedämme, että yksi sykli on korkean ja matalan signaalin yhdistelmä. Suurten ja matalien signaalien keston mittaamiseen käytämme arduinossa “pulseIn”. pulseIn (nasta, KORKEA) mittaa korkeiden signaalien kestoa ja pulseIn (nasta, LOW) mittaa matalien signaalien kestoa. Molempien pulssin kesto lisätään, mikä antaa yhden jakson ajanjakson.

Määritetty ajanjakso lasketaan sitten sekunniksi. Tämä tehdään seuraavalla kaavalla:

Taajuus = 1000000 / ajanjakso mikrosekunnissa

Arduinon aikajakso saadaan mikrosekunteina. Arduino ei näytä tulotaajuutta koko sekunnin ajan, mutta se ennustaa taajuuden tarkasti analysoimalla vain yhden jakson ajanjakson.

Nyt tiedät kuinka arduino mittaa ja laskee taajuuden.

Piiri:

Piiri koostuu arduinosta, joka on projektin aivot, 16x2 LCD-näytöstä, IC 7404 -taajuusmuuttajasta ja yhdestä potentiometristä LCD-näyttö .

Ehdotettu kokoonpano voi mitata välillä 35 Hz - 1 MHz.

Arduino-näyttöyhteys:

Yllä oleva kaavio on itsestään selvä, johdotusyhteys arduinon ja näytön välillä on vakio ja voimme löytää samanlaisia ​​yhteyksiä muista arduino- ja LCD-pohjaisista projekteista.

Arduino-taajuusmittari 16x2-näytöllä

Yllä oleva kaavio koostuu invertteristä IC 7404. IC 7404: n tehtävänä on poistaa kohinaa tulosta, jotta melu ei levisi arduinoon, mikä saattaisi antaa vääriä lukemia, ja IC 7404 voi sietää lyhyttä piikkijännitettä, joka ei läpäise arduino-nastat. IC 7404 tuottaa vain suorakulmaisia ​​aaltoja, joissa arduino voi mitata helposti analogisia aaltoja.

HUOMAUTUS: Suurin huipusta huippuun -tulo ei saa ylittää 5 V.

Ohjelmoida:

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

Taajuusmittarin testaus:

Kun olet onnistuneesti rakentanut projektin, on tarpeen tarkistaa, toimiiko kaikki hyvin. Meidän on käytettävä tunnettua taajuutta lukemien vahvistamiseksi. Tämän saavuttamiseksi käytämme arduinon sisäänrakennettua PWM-toimintoa, jonka taajuus on 490 Hz.

Ohjelmanastalla # 9 on mahdollista antaa 490Hz 50%: n käyttöjaksolla, käyttäjä voi tarttua taajuusmittarin tulojohtoon ja liittää arduinon tapaan # 9 kuvan osoittamalla tavalla, voimme nähdä 490 Hz: n LCD-näytöllä (jossain toleranssissa), jos mainittu toimenpide onnistui, taajuusmittari on valmis tarjoamaan sinulle kokeita.

Kirjoittajan prototyyppi:

Arduino-taajuusmittarin prototyyppi

Käyttäjä voi myös testata tämän Arduino-taajuusmittaripiirin prototyypin käyttämällä ulkoista taajuusgeneraattoria, joka on esitetty yllä olevassa kuvassa.




Edellinen: Arduino Pure Sine Wave -invertteripiiri täydellä ohjelmakoodilla Seuraava: Yksikanavaisen oskilloskoopin tekeminen Arduinolla