Tacômetro digital usando microcontrolador Arduino

A tacômetro é um dispositivo usado para medir a velocidade de rotação de qualquer dispositivo. Usando a propriedade de leitura de tensão analógica de um Arduino, isso pode ser facilmente implementado usando as peças apropriadas. Os tacômetros têm uma variedade de aplicações, incluindo medindo a velocidade de motores CC para garantir que estejam funcionando de acordo com as especificações.

Protótipo de tacômetro digital baseado em Arduino

Fig. 1: Protótipo de tacômetro digital baseado em Arduino

Imagem da placa microcontroladora Arduino

Fig. 2: Imagem da placa microcontroladora Arduino

Imagem do circuito do tacômetro na placa de ensaio

Fig. 3: Imagem do circuito do tacômetro na placa de ensaio

Componentes necessários:

  1. Placa Arduino com microcontrolador ATmega32
  2. Qualquer motor DC (de preferência operado por bateria)
  3. Roda motorizada
  4. Resistor
  5. Potenciômetro
  6. Display de sete segmentos
  7. Fios de ligação em ponte
  8. IC7447
  9. LIDERADO

Princípio de trabalho.

· A fim de faça um tacômetro, teremos que converter a velocidade de rotação em um formato legível. A única forma que o Arduino pode ler é em termos de tensão elétrica.

· É bem sabido que se for fornecida tensão a um motor, a roda do motor girará, cuja velocidade é determinada pela quantidade de tensão fornecida. No entanto, o inverso também é verdadeiro, o que significa que se rodarmos o motor sozinhos, poderemos obter uma tensão nas duas extremidades dos terminais do motor.

· Esta tensão pode ser alimentada ao arduino e o arduino pode calcular a velocidade de rotação dependendo de quanta tensão foi alimentada pelo motor giratório.

Procedimento e Diretrizes

Procedimento e Diretrizes

  1. O diagrama de circuito é mostrado nas guias do diagrama de circuito. Diagrama de Circuito 1 – esquema de circuito sem usar driver IC e Diagrama de Circuito 2 – esquema de circuito usando driver de display de 7 segmentos IC7447.
  2. O motor está conectado a um resistor e um diodo LED. O resistor é usado para evitar excesso de corrente que normalmente danificaria o arduino. O LED é utilizado para indicar quando o motor está funcionando e também para evitar operação reversa.
  3. Como temos tantos pinos restantes do arduino, podemos conectá-los diretamente ao display de 7 segmentos. Alternativamente, poderíamos usar um driver de display de sete segmentos, o que reduziria o número de pinos utilizados e também tornaria a implementação mais fácil em termos do processo de codificação.
  4. Assim que o motor for ligado, uma tensão positiva será fornecida ao pino analógico do arduino.
  5. O arduino processará a leitura analógica. Como usamos um display de sete segmentos, podemos ter 10 valores, ou seja, de 0 a 9. Podemos programar o arduino para dividir a leitura analógica obtida em 9 divisões, o que dará a saída necessária de 0 a 9 nos sete segmentos mostrar .
  6. Caso seja utilizado o IC7447, mais uma etapa é adicionada em que os valores de 1 a 9 são convertidos para seus equivalentes binários antes de serem repassados ​​​​para os pinos apropriados do IC.
  7. Caso uma placa perf esteja sendo usada, você deve ter cuidado para não soldar o próprio IC, em vez disso, um suporte de IC
  8. Por precaução, sempre teste primeiro a tensão do motor. Isso pode ser feito conectando um multímetro aos dois terminais do motor e girando o motor manualmente com as mãos. Se a leitura da tensão for superior a 12 V, o motor não deve ser usado, pois há chance de danificar a placa Arduino.
  9. Caso queira ajustar a sensibilidade do instrumento, pode-se utilizar um potenciômetro no lugar do resistor. Quanto menor a resistência, maior a sensibilidade.

Código-fonte do projeto

###

intval=0;

intbinVal;

void setup 

{

Serial.begin(9600);          //  setup serial

pinMode(3,OUTPUT);

pinMode(4,OUTPUT);

pinMode(5,OUTPUT);

pinMode(6,OUTPUT);

pinMode(A2,INPUT);

}


void loop 

{

val = analogRead(A2);    // read the input pin

Serial.println(val);

    // debug value

binVal=val/1024*9;

switch(binVal){

case 0:

digitalWrite(3,LOW);

digitalWrite(4,LOW);

digitalWrite(5,LOW);

digitalWrite(6,LOW);

break;

case 1:

digitalWrite(3,HIGH);

digitalWrite(4,LOW);

digitalWrite(5,LOW);

digitalWrite(6,LOW);

break;

case 2:

digitalWrite(3,LOW);

digitalWrite(4,HIGH);

digitalWrite(5,LOW);

digitalWrite(6,LOW);

break;

case 3:

digitalWrite(3,HIGH);

digitalWrite(4,HIGH);

digitalWrite(5,LOW);

digitalWrite(6,LOW);

break;

case 4:

digitalWrite(3,LOW);

digitalWrite(4,LOW);

digitalWrite(5,HIGH);

digitalWrite(6,LOW);

break;

case 5:

digitalWrite(3,HIGH);

digitalWrite(4,LOW);

digitalWrite(5,HIGH);

digitalWrite(6,LOW);

break;

case 6:

digitalWrite(3,LOW);

digitalWrite(4,HIGH);

digitalWrite(5,HIGH);

digitalWrite(6,LOW);

break;

case 7:

digitalWrite(3,HIGH);

digitalWrite(4,HIGH);

digitalWrite(5,HIGH);

digitalWrite(6,LOW);

break;

case 8:

digitalWrite(3,LOW);

digitalWrite(4,LOW);

digitalWrite(5,LOW);

digitalWrite(6,HIGH);

break;

case 9:

digitalWrite(3,HIGH);

digitalWrite(4,LOW);

digitalWrite(5,LOW);

digitalWrite(6,HIGH);

break;

default:

break;

  }


} 

###

Diagramas de circuito

Diagrama de Circuito-Tacômetro Digital Baseado em Arduino
Diagrama de Circuito-Tacômetro Digital Baseado em Arduino_0

Conteúdo Relacionado

Voltar para o blog

Deixe um comentário

Os comentários precisam ser aprovados antes da publicação.