Tacómetro Digital con Arduino y Control RPM
Tacómetro Digital con Arduino y Control RPM
Circuit diagram.
Sensor de RPM.
Contando el
RPM.
Arduino se utiliza para contar las RPM y mostrarlas en la pantalla LCD. Emisor del
El fototransistor está conectado a la Interrupción 0 (pin digital 2) del arduino. El arduino
interrupt is configured to be rising edge triggered. As a result the will be an interrupt for
cada aumento en la forma de onda del emisor. El número de interrupciones que ocurrieron en un dado
time is counted by incrementing a varible using the interrupt service routine. The time
el tiempo transcurrido durante el ciclo de conteo se determina utilizando la función millis(). La millis()
la función devuelve el número de milisegundos que han pasado desde que se encendió la placa de arduino
ENCENDIDO. Llamando a la función millis() antes y después del ciclo de conteo y tomando sus
la diferencia da los tiempos transcurridos durante el ciclo de conteo. El (número de interrupciones/tiempo
en milisegundos)*60000 dará las revoluciones por minuto (RPM).
También se incluye una disposición para controlar la velocidad del motor utilizando un potenciómetro en el
circuito. El transistor Q1 se utiliza para accionar el motor. Su base está conectada al pin pwm 9 de
el arduino a través de la resistencia limitadora de corriente R1. El cursor del potenciómetro de control de velocidad R4 es
conectado al pin analógico A0 del arduino. El voltaje en este pin se convierte en un valor
entre 0 y 1023 usando la función anlogRead. Luego, este valor se divide entre cuatro para ajustarse
lo convierte en el rango de 0 a 255. Luego, este valor se escribe en el pin PWM 9 utilizando el anlogWrite
función. El resultado será una onda cuadrada en el pin 9 cuyo ciclo de trabajo es proporcional a la
valor escrito usando la función analogWrite. Por ejemplo, si el valor es 255, el ciclo de trabajo
el ciclo será del 100% y si el valor es 127, el ciclo de trabajo será alrededor del 50%. D1 es un libre
diodo de rueda y C1 es un capacitor de paso de ruido (desacoplador). Las rpm y el ciclo de trabajo
se muestran en la pantalla LCD utilizando la biblioteca estándar LiquidCrystal. Lee este artículo:
Interfaz de LCD con Arduino. El programa completo para el tacómetro digital usando Arduino es
mostrado a continuación.
Programa.
#include<LiquidCrystal.h>
LiquidCrystal lcd(12,11,6,5,4,3);
int pwm=9;
int pot=A0;
valor flotante=0;
int porcentaje;
float rev=0;
int rpm;
int antiguotiempo=0;
int tiempo;
void setup()
{
[Link](16,2); //inicializar LCD
attachInterrupt(0,isr,RISING); //adjuntando la interrupción
}
bucle vacío()
{
retrasar(1000);
detachInterrupt(0); //desconecta la interrupción
tiempo=milisegundos()-tiempoantiguo; //encuentra el tiempo
rpm=(rev/time)*60000; //calculates rpm
oldtime=millis(); // guarda el tiempo actual
rev=0;
valor=analogRead(pot); //lee el POT de control de velocidad
valor=valor/4;
analogWrite(pwm, valor); //establece la velocidad deseada
percent=(value/255)*100; //finds the duty cycle %
[Link]();
[Link](0,0);
[Link]("___TACÓMETRO___");
[Link](0,1);
[Link](rpm);
[Link](" RPM");
[Link](" ");
[Link](percent);
[Link]("%");
adjuntarInterrupción(0, isr, AUMENTANDO);
Notas.
La placa de arduino se puede alimentar con una fuente de 9V a través de la alimentación externa
jack.
Los 5V necesarios en algunas partes del circuito se pueden obtener de la fuente de 5V en el
placa de arduino.
El ventilador que utilicé tenía una clasificación de 9V/100mA. El transistor 2N2222 solo puede manejar hasta
800mA. Ten esto en cuenta al seleccionar la carga.
El módulo LCD utilizado fue JHD162A.
POT R5 se puede usar para ajustar el contraste de la pantalla LCD. Cuando está conectado
Primero, el LCD puede no mostrar nada. Ajusta el R5 hasta que obtengas la pantalla.
El voltaje óptimo en el puntero de R5 está entre 0.4 y 1V.
El fototransistor IR y el diodo IR fueron tomados de un LTH-1550 foto
módulo interruptor.
La superficie lateral del fototransistor debe ser enmascarada usando cinta.
La disposición de los sensores se muestra en la figura a continuación.
Arduino