0% acharam este documento útil (0 voto)
7 visualizações4 páginas

Tacômetro Digital com Arduino e Controle RPM

Este documento descreve um circuito de tacômetro digital construído com um Arduino que pode medir as rotações por minuto (RPM) de um objeto em rotação sem contato. Um sensor infravermelho detecta as rotações e envia interrupções para o Arduino, que as conta ao longo do tempo para calcular a RPM. O Arduino também controla a velocidade de um motor emitindo um sinal PWM a partir de uma entrada de potenciômetro. O diagrama do circuito, a descrição do código e o código completo são fornecidos para demonstrar como o tacômetro e o controle de velocidade funcionam.

Traduzido por

ScribdTranslations
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
7 visualizações4 páginas

Tacômetro Digital com Arduino e Controle RPM

Este documento descreve um circuito de tacômetro digital construído com um Arduino que pode medir as rotações por minuto (RPM) de um objeto em rotação sem contato. Um sensor infravermelho detecta as rotações e envia interrupções para o Arduino, que as conta ao longo do tempo para calcular a RPM. O Arduino também controla a velocidade de um motor emitindo um sinal PWM a partir de uma entrada de potenciômetro. O diagrama do circuito, a descrição do código e o código completo são fornecidos para demonstrar como o tacômetro e o controle de velocidade funcionam.

Traduzido por

ScribdTranslations
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

Tacômetro usando Arduino

praveen 13 de janeiro de 2015 82 Comentários

Tacômetro digital usando Arduino mais controle de velocidade.

O tacômetro é um dispositivo usado para medir o número de revoluções de um objeto em um


dado intervalo de tempo. Geralmente é expresso em revoluções por minuto ou RPM. Anteriormente
taquímetros puramente mecânicos onde a revolução é transferida para o taquímetro
através de acoplamento mecânico (cabo ou eixo), a rpm é determinada usando uma engrenagem
mecanismo e é exibido em um mostrador. Com o advento da eletrônica moderna, o
Os tacômetros mudaram muito. Este artigo é sobre um tacômetro digital sem contato usando
arduino. A velocidade do motor também pode ser controlada usando o mesmo circuito. A RPM
e todas as outras informações são exibidas em um display LCD de 16×2. O diagrama do circuito de
o tacômetro digital usando arduino é mostrado abaixo.

Diagrama de circuito.

Sensor de RPM.

Um fototransistor IR e um LED IR formam o sensor. O fototransistor IR é um tipo de foto


transistor que responde apenas a ondas infravermelhas. O uso do fototransistor IR evita
outras interferências de luz do ambiente. O fototransistor e o diodo IR são
alinhados lado a lado. O resistor R2 limita a corrente através do diodo IR. Uma faixa refletiva
está colado no objeto rotativo (eixo, disco ou ventilador) alinhado com o sensor. Eu usei um
Ventoinha de resfriamento de 9V/100mA. A folga entre o sensor e a faixa reflexiva deve ser menor.
do que 1cm. Quando a faixa refletiva passa na frente do sensor, ondas IR são refletidas
voltando ao fototransistor. O fototransistor conduz mais neste momento e como um
o resultado da tensão através de R3 (resistor de 68K) dispara neste momento. O resultado será um
forma de onda como mostrado abaixo no emissor do fototransistor. RPM pode ser
determinado contando o número de brotos ascendentes em um determinado intervalo de tempo.

Contando o
RPM.

O Arduino é usado para contar as RPM e exibi-las na tela LCD. Emissor do


o fototransistor está conectado ao Interrupt 0 (pino digital 2) do arduino. O arduino
o interruptor está configurado para ser acionado na borda de subida. Como resultado, haverá um interruptor para
cada aumento na forma de onda do emissor. O número de interrupções ocorreu em um dado
o tempo é contado incrementando uma variável usando a rotina de serviço de interrupção. O tempo
o tempo decorrido durante o ciclo de contagem é determinado usando a função millis(). A millis()
a função retorna o número de milissegundos passados desde que a placa arduino foi ligada
LIGADO. Chamando a função millis() antes e depois do ciclo de contagem e tomando os seus
a diferença fornece os tempos passados durante o ciclo de contagem. O (número de interrupções/tempo
em milissegundos)*60000 irá fornecer as rotações por minuto (RPM).

Controlando a velocidade do motor.

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 isr() //rotina de serviço de interrupção


{
rev++;
}

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.

Tags:arduino speed control,arduino tachometer


Categorias:

Arduino

Você também pode gostar