Mesurador de freqüència Arduino amb pantalla de 16 × 2

Proveu El Nostre Instrument Per Eliminar Problemes





En aquest article construirem un mesurador de freqüència digital amb Arduino, les lectures del qual es mostraran en una pantalla LCD de 16x2 i tindran un rang de mesura de 35 Hz a 1 MHz.

Introducció

Sent entusiastes de l'electrònica, tots hauríem trobat un punt en què hem de mesurar la freqüència dels nostres projectes.



En aquest moment ens hauríem adonat que un oscil·loscopi és una eina tan útil per mesurar la freqüència. Però, tots sabem que un oscil·loscopi és una eina cara que no tots els aficionats poden pagar i que l’oscil·loscopi pot ser una eina excessiva per a principiants.

Per superar el problema de mesurar la freqüència, els aficionats no necessiten un oscil·loscopi car, només necessitem un mesurador de freqüència que pugui mesurar la freqüència amb una precisió raonable.



En aquest article farem un mesurador de freqüència, senzill de construir i fàcil d’iniciar, fins i tot noob a Arduino pot aconseguir-ho amb facilitat.

Abans d’entrar en detalls constructius, explorem què és la freqüència i com es pot mesurar.

Què és la freqüència? (Per a noobs)

Coneixem el terme freqüència, però què significa realment?

Bé, la freqüència es defineix com el nombre d'oscil·lacions o cicles per segon. Què significa aquesta definició?

Significa el nombre de vegades que l'amplitud de 'alguna cosa' puja i baixa en UN segon. Per exemple, la freqüència d’alimentació de corrent altern a la nostra residència: l’amplitud del “voltatge” (“quelcom” se substitueix per “voltatge”) puja (+) i baixa (-) en un segon, que és 50 vegades a la majoria de països.

Un cicle o una oscil·lació es compon de pujar i baixar. Així, doncs, un cicle / oscil·lació és que l’amplitud va de zero a pic positiu i torna a zero i arriba a pic negatiu i torna a zero.

'Període de temps' també és un terme que s'utilitza quan es tracta de freqüència. El període de temps és el temps necessari per completar 'un cicle'. També és el valor invers de la freqüència. Per exemple, 50 Hz té un període de temps de 20 ms.

1/50 = 0,02 segon o 20 mil·lisegons

A hores d’ara ja tindreu una idea sobre la freqüència i els termes relacionats.

Com es mesura la freqüència?

Sabem que un cicle és la combinació de senyal alt i baix. Per mesurar la durada dels senyals alts i baixos, fem servir 'pulseIn' a arduino. pulseIn (pin, HIGH) mesura la durada dels senyals elevats i pulseIn (pin, LOW) mesura la durada dels senyals baixos. S’afegeix la durada del pols d’ambdós que donen un període de temps d’un cicle.

A continuació, es calcula el període de temps determinat durant un segon. Això es fa seguint la fórmula següent:

Freq = 1000000 / període de temps en microsegons

El període de temps des de l'arduino s'obté en microsegons. L’arduino no mostra la freqüència d’entrada durant un segon complet, però prediu la freqüència amb precisió analitzant només un període de temps d’un cicle.

Ara ja sabeu com arduino mesura i calcula la freqüència.

El circuit:

El circuit està format per arduino que és el cervell del projecte, pantalla LCD de 16x2, inversor IC 7404 i un potenciòmetre per ajustar el contrast de Pantalla LCD .

La configuració proposada pot mesurar des de 35Hz fins a 1 MHz.

Connexió de pantalla Arduino:

El diagrama anterior s’explica per si mateix, la connexió de cablejat entre arduino i pantalla és estàndard i podem trobar connexions similars en altres projectes basats en arduino i LCD.

Mesurador de freqüència Arduino amb pantalla de 16x2

El diagrama anterior consta de l’inversor IC 7404. El paper de l’IC 7404 és eliminar el soroll de l’entrada, de manera que el soroll no es propagui a l’arduino, cosa que podria donar falses lectures i l’IC 7404 pot tolerar un voltatge curt d’espiga que no passarà a pins arduino. L'IC 7404 només emet ones rectangulars on l'arduino pot mesurar fàcilment les ones analògiques.

NOTA: l’entrada màxima a punta no ha de superar els 5V.

Programa:

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

Prova del mesurador de freqüència:

Quan hàgiu construït amb èxit el projecte, cal comprovar si tot funciona bé. Hem de fer servir una freqüència coneguda per confirmar les lectures. Per aconseguir-ho, estem utilitzant la funcionalitat PWM incorporada d’arduino que té una freqüència de 490Hz.

Al programa, el pin número 9 està habilitat per donar 490Hz al cicle de treball del 50%, l'usuari pot agafar el cable d'entrada del mesurador de freqüència i inserir-lo al pin número 9 de l'arduino tal com es mostra a la figura, podem veure 490 Hz a la pantalla LCD (amb certa tolerància), si el procediment esmentat ha tingut èxit, el mesurador de freqüència està preparat per servir-vos experiments.

Prototip de l'autor:

Imatge del prototip de mesurador de freqüència Arduino

L'usuari també pot provar aquest prototip de circuit de mesurador de freqüència Arduino mitjançant un generador de freqüència extern que es mostra a la imatge superior.




Anterior: Circuit d’inversors d’ona sinusoïdal pura Arduino amb codi de programa complet Següent: fer un oscil·loscopi d’un canal amb Arduino