- Componentes requeridos:
- Explicación del circuito:
- Generador de señales usando 555 Timer IC:
- Puerta de gatillo Schmitt:
- Explicación del código del contador de frecuencia de Arduino:
Casi todos los aficionados a la electrónica deben haberse enfrentado a un escenario en el que deben medir la frecuencia de la señal generada por un reloj o un contador o un temporizador. Podemos usar un osciloscopio para hacer el trabajo, pero no todos podemos permitirnos un osciloscopio. Podemos comprar equipos para medir la frecuencia, pero todos estos dispositivos son costosos y no son para todos. Con eso en mente, vamos a diseñar un contador de frecuencia simple pero eficiente utilizando Arduino Uno y la puerta de disparo Schmitt.
Este contador de frecuencia Arduino es rentable y se puede hacer fácilmente, vamos a utilizar ARDUINO UNO para medir la frecuencia de la señal, UNO es el corazón del proyecto aquí.
Para probar el medidor de frecuencia, vamos a hacer un generador de señal ficticio. Este generador de señales ficticias se hará usando un chip temporizador 555. El circuito del temporizador genera una onda cuadrada que se proporcionará a UNO para su prueba.
Con todo en su lugar tendremos un medidor de frecuencia Arduino y un generador de onda cuadrada. Arduino también se puede utilizar para generar otro tipo de formas de onda como onda sinusoidal, onda de diente de sierra, etc.
Componentes requeridos:
- 555 temporizador IC y 74LS14 Schmitt gatillo puerta o puerta NOT.
- Resistencia de 1K Ω (2 piezas), resistencia de 100Ω
- Condensador de 100 nF (2 piezas), condensador de 1000 µF
- LCD de 16 * 2,
- Olla de 47KΩ,
- Protoboard y algunos conectores.
Explicación del circuito:
El diagrama de circuito de la medición de frecuencia con Arduino se muestra en la siguiente figura. El circuito es simple, una pantalla LCD está interconectada con Arduino para mostrar la frecuencia medida de la señal. 'Wave Input' va al circuito generador de señal, desde el cual estamos alimentando la señal a Arduino. Se utiliza una puerta de disparo Schmitt (IC 74LS14) para garantizar que solo se alimente una onda rectangular a Arduino. Para filtrar el ruido, hemos agregado un par de capacitores en la potencia. Este medidor de frecuencia puede medir frecuencias de hasta 1 MHz.
El circuito generador de señal y el disparador Schmitt se explican a continuación.
Generador de señales usando 555 Timer IC:
En primer lugar, hablaremos sobre el generador de onda cuadrada 555 IC, o debería decir 555 Astable Multivibrator. Este circuito es necesario porque, con el Frecuencímetro colocado, debemos tener una señal cuya frecuencia conocemos. Sin esa señal nunca podremos saber el funcionamiento del medidor de frecuencia. Si tenemos un cuadrado de frecuencia conocida, podemos usar esa señal para probar el medidor de frecuencia Arduino Uno y podemos ajustarlo para ajustar la precisión, en caso de cualquier desviación. La imagen del generador de señales con 555 Timer IC se muestra a continuación:
A continuación se muestra el circuito típico de 555 en modo Astable, del cual hemos derivado el Circuito generador de señales dado anteriormente.
La frecuencia de la señal de salida depende de las resistencias RA, RB y el condensador C. La ecuación se da como, Frecuencia (F) = 1 / (Periodo de tiempo) = 1,44 / ((RA + RB * 2) * C).
Aquí RA y RB son valores de resistencia y C es el valor de capacitancia. Al poner los valores de resistencia y capacitancia en la ecuación anterior, obtenemos la frecuencia de la onda cuadrada de salida.
Se puede ver que RB del diagrama anterior se reemplaza por una olla en el Circuito Generador de Señal; esto se hace para que podamos obtener una onda cuadrada de frecuencia variable en la salida para una mejor prueba. Por simplicidad, se puede reemplazar la olla con una resistencia simple.
Puerta de gatillo Schmitt:
Sabemos que todas las señales de prueba no son ondas cuadradas o rectangulares. Tenemos ondas triangulares, ondas dentales, ondas sinusoidales, etc. Dado que el UNO puede detectar solo las ondas cuadradas o rectangulares, necesitamos un dispositivo que pueda alterar cualquier señal a ondas rectangulares, por lo que utilizamos Schmitt Trigger Gate. La puerta de disparo de Schmitt es una puerta lógica digital, diseñada para operaciones aritméticas y lógicas.
Esta puerta proporciona SALIDA basada en el nivel de voltaje de ENTRADA. Un disparador Schmitt tiene un nivel de voltaje UMBRAL, cuando la señal de ENTRADA aplicada a la puerta tiene un nivel de voltaje más alto que el UMBRAL de la puerta lógica, la SALIDA se pone ALTA. Si el nivel de la señal de voltaje de ENTRADA es menor que el UMBRAL, la SALIDA de la puerta será BAJA. No solemos obtener el disparador Schmitt por separado, siempre tenemos una puerta NOT después del disparador Schmitt. El funcionamiento de Schmitt Trigger se explica aquí: Schmitt Trigger Gate
Vamos a usar el chip 74LS14, este chip tiene 6 puertas Schmitt Trigger. Estas SEIS puertas están conectadas internamente como se muestra en la siguiente figura.
La tabla de verdad de la puerta del disparador Schmitt invertida se muestra en la siguiente figura, con esto tenemos que programar el UNO para invertir los períodos de tiempo positivo y negativo en sus terminales.
Ahora alimentaremos cualquier tipo de señal a la puerta ST, tendremos onda rectangular de periodos de tiempo invertidos en la salida, alimentaremos esta señal a UNO.
Explicación del código del contador de frecuencia de Arduino:
El código para esta medición de frecuencia usando arduino es bastante simple y fácilmente comprensible. Aquí explicamos la función pulseIn que es la principal responsable de medir la frecuencia. El Uno tiene una función especial pulseIn , que nos permite determinar la duración del estado positivo o la duración del estado negativo de una onda rectangular en particular:
Htime = pulseIn (8, ALTO); Ltime = pulseIn (8, BAJO);
La función dada mide el tiempo durante el cual el nivel Alto o Bajo está presente en el PIN8 de Uno. Entonces, en un solo ciclo de onda, tendremos la duración de los niveles positivo y negativo en microsegundos. La función pulseIn mide el tiempo en microsegundos. En una señal dada, tenemos un tiempo alto = 10 ms y un tiempo bajo = 30 ms (con frecuencia de 25 HZ). Entonces, 30000 se almacenará en Ltime entero y 10000 en Htime. Cuando los sumamos tendremos la Duración del ciclo, y al invertirla tendremos la Frecuencia.
El código completo y el video para este medidor de frecuencia con Arduino se muestran a continuación.