Tacômetro Digital com Arduino e Controle RPM
Tacômetro Digital com Arduino e Controle RPM
Diagrama de circuito.
Sensor de RPM.
Contando o
RPM.
Uma disposição para controlar a velocidade do motor usando um potenciômetro também está incluída no
circuito. O transistor Q1 é usado para acionar o motor. Sua base está conectada ao pino pwm 9 de
o arduino através do resistor limitador de corrente R1. O cursor do potenciômetro de controle de velocidade R4 é
conectado ao pino analógico A0 do arduino. A voltagem neste pino é convertida em um valor
entre 0 e 1023 usando a função analogRead. Em seguida, esse valor é dividido por quatro para se ajustar
ele para a faixa de 0 a 255. Então, esse valor é escrito no pino PWM 9 usando o anlogWrite
função. O resultado será uma onda quadrada no pino 9 cujo ciclo de trabalho é proporcional a
valor escrito usando a função analogWrite. Por exemplo, se o valor for 255, o ciclo
o ciclo será de 100% e se o valor for 127, o ciclo de trabalho será em torno de 50%. D1 é uma livre
diodo de roda livre e C1 é um capacitor de bypass de ruído (desacoplador). A rotação por minuto e o ciclo de trabalho
são exibidos na tela LCD usando a biblioteca padrão LiquidCrystal. Leia este artigo:
Interfacing LCD ao Arduino. O programa completo para o tacômetro digital usando Arduino é
mostrado abaixo.
Programa.
#include<LiquidCrystal.h>
LiquidCrystal lcd(12,11,6,5,4,3);
int pwm=9;
int pot=A0;
float valor=0;
int percentual;
float rev=0;
int rpm;
int oldtime=0;
int tempo;
void setup()
{
[Link](16,2); //inicializar LCD
attachInterrupt(0,isr,RISING); //anexando a interrupção
}
void loop()
{
atraso(1000);
detachInterrupt(0); //desanexa a interrupção
tempo=milissegundos()-tempoantigo; //encontra o tempo
(rev/tempo)*60000; //calculates rpm
oldtime=millis(); //salva a hora atual
rev=0;
valor=analogRead(pot); //lê o POT de controle de velocidade
valor=valor/4;
analogWrite(pwm, valor); //define a velocidade desejada
(valor/255)*100; //encontra o ciclo de trabalho %
[Link]();
[Link](0,0);
[Link]("___TACÔMETRO___");
[Link](0,1);
[Link](rpm);
[Link](" RPM");
[Link](" ");
[Link](percent);
[Link]("%");
attachInterrupt(0,isr,RISING);
Notas.
A placa Arduino pode ser alimentada usando uma fonte de 9V através da fonte externa
jack.
Os 5V necessários em algumas partes do circuito podem ser retirados da fonte de 5V no
placa arduino.
O ventilador que usei era classificado em 9V/100mA. O transistor 2N2222 só pode suportar até
800mA. Mantenha isso em mente ao selecionar a carga.
O módulo LCD utilizado foi JHD162A.
O POT R5 pode ser usado para ajustar o contraste do display LCD. Quando conectado
primeiro, o LCD pode não mostrar nada. Ajuste o R5 até que você obtenha a exibição.
A tensão otimizada no limpa-contato de R5 está entre 0,4 a 1V.
O fototransistor IR e o diodo IR foram ambos retirados de uma foto LTH-1550
módulo de interruptor.
A superfície lateral do fototransistor deve ser coberta com uma fita.
A disposição do sensor é mostrada na figura abaixo.
Arduino