Projetos de circuito eletrônicoProjetos de engenharia do ArduinoCircuito tacômetro Arduino para leituras precisas

Circuito tacômetro Arduino para leituras precisas

Relacionados

Um tacômetro é um dispositivo que mede a RPM ou velocidade angular de um corpo em rotação. Ele difere do velocímetro e do hodômetro, pois esses dispositivos lidam com a velocidade linear ou tangencial do corpo, enquanto o tacômetro, também conhecido como “tach”, lida com as RPMs mais fundamentais.

Por Ankit Negi

O tacômetro é composto por um contador e um temporizador, ambos trabalhando juntos fornecem o RPM. Em nosso projeto, faremos o mesmo, usando nosso Arduino e alguns sensores, configuraremos um contador e um temporizador e desenvolveremos nosso tacômetro prático e fácil .

Pré-requisitos

O contador nada mais é do que um dispositivo ou configuração que pode contar qualquer evento regular, como a passagem de um ponto no disco durante a rotação. Inicialmente os contadores foram construídos utilizando o arranjo mecânico e articulações como engrenagens, catracas, molas etc.

Mas agora estamos usando contador com sensores e eletrônicos mais sofisticados e de alta precisão. O temporizador é um elemento eletrônico capaz de medir o intervalo de tempo entre eventos ou medir o tempo.

Em nosso Arduino Uno existem temporizadores que não apenas controlam o tempo, mas também mantêm algumas das funções importantes do Arduino. No Uno temos 3 temporizadores chamados Timer0, Timer1 e Timer2. Esses temporizadores têm as seguintes funções-• Timer0- Para funções Uno como delay(), millis(), micros() ou delaymicros().

• Timer1- Para o funcionamento da servobiblioteca.

• Timer2- Para funções como tone(), notone().

Junto com essas funções esses 3 temporizadores também são responsáveis ​​por gerar a Saída PWM quando o comando analogWrite() é usado no pino designado PMW.

Conceito de interrupções

No Arduino Uno está presente uma ferramenta oculta que pode nos dar acesso a um monte de funcionamento conhecido como Timer Interrupts. Interrupt é um conjunto de eventos ou instruções que são executados quando chamados interrompendo o funcionamento atual do dispositivo, ou seja, não importa o que códigos que seu Uno estava executando antes, mas uma vez que uma interrupção é chamada Arduino, execute a instrução mencionada no arquivo Interrupt.

ÍMÃ NO EIXO DO MOTOR
IMG 62447B479EE33

Agora o Interrupt pode ser chamado em uma determinada condição definida pelo usuário usando uma Sintaxe Arduino embutida. Usaremos este Interrupt em nosso projeto que torna nosso tacômetro mais resoluto e mais preciso do que o outro projeto de Tacômetro presente na web.

Componentes necessários para este projeto de tacômetro usando Arduino

• Sensor de Efeito Hall (Fig.1)

MÓDULO SENSOR DE EFEITO HALL

• Arduino Uno

PLACA ARDUINO UNO

• Pequeno ímã

PEQUENO ÍMÃ

• Fios de ligação

• Objeto rotativo (eixo do motor)

MOTOR DC
IMA NO EIXO DO MOTOR

Configuração do circuito

• A configuração para a criação é a seguinte-

• No eixo cuja velocidade de rotação deve ser medida é colocado um pequeno ímã usando pistola de cola ou fita isolante.

• O sensor de efeito Hall possui um detector na frente e 3 pinos para conexões.

• Os pinos Vcc e Gnd são conectados ao pino 5V e Gnd do Arduino respectivamente. O pino de saída do sensor é conectado ao pino digital 2 do Uno para fornecer o sinal de entrada.

• Todos os componentes são fixados em uma placa de montagem e o detector Hall é apontado a partir da placa.

Programação

int sensor = 2; // Hall sensor at pin 2
volatile byte counts;
unsigned int rpm; //unsigned gives only positive values
unsigned long previoustime;
void count_function()
{ /*The ISR function
Called on Interrupt
Update counts*/
counts++;
}
void setup() {
Serial.begin(9600);
//Intiates Serial communications
attachInterrupt(0, count_function, RISING); //Interrupts are called on Rise of Input
pinMode(sensor, INPUT); //Sets sensor as input
counts= 0;
rpm = 0;
previoustime = 0; //Initialise the values
}
void loop()
{
delay(1000);//Update RPM every second
detachInterrupt(0); //Interrupts are disabled
rpm = 60*1000/(millis() - previoustime)*counts;
previoustime = millis(); //Resets the clock
counts= 0; //Resets the counter
Serial.print("RPM=");
Serial.println(rpm); //Calculated values are displayed
attachInterrupt(0, count_function, RISING); //Counter restarted
}

Carregue o código.

Conheça o código

Nosso tacômetro usa Sensor de Efeito Hall; O sensor de efeito Hall é baseado no efeito Hall em homenagem ao seu descobridor Edwin Hall.

Efeito Hall é o fenômeno de geração de tensão através de um condutor de corrente quando um campo magnético é introduzido perpendicularmente ao fluxo de corrente. Esta tensão gerada devido a este fenômeno ajuda na geração do sinal de entrada. Como mencionado Interrupt será usado neste projeto, para chamar Interrupt temos que configurar alguma condição. Arduino Uno tem 2 condições para chamar Interrupts-

RISING- Quando usado, Interrupt é chamado toda vez que o sinal de entrada vai de LOW para HIGH.

FALING-Quando usado, Interrupt é chamado quando o sinal vai de HIGH para LOW.

Usamos o RISING, o que acontece é que quando o ímã colocado no eixo ou objeto giratório se aproxima do detector Hall O sinal de entrada é gerado e o Interrupt é chamado, o Interrupt inicia a função Interrupt Service Routine (ISR), que inclui incremento em o valor de contagens e, portanto, a contagem ocorre.

Usamos a função millis() do Arduino e previoustime (variável) em correspondência para configurar o timer.

A RPM, portanto, é finalmente calculada usando a relação matemática

RPM= Contagens/Tempo gasto Convertendo os milissegundos para minutos e reorganizando chegamos à fórmula= 60*1000/(millis() – tempo anterior)*conta.

O atraso (1000) determina o intervalo de tempo após o qual o valor de RPM será atualizado na tela, você pode ajustar esse atraso de acordo com suas necessidades.

Este valor de RPM obtido pode ainda ser usado para calcular a velocidade tangencial do objeto em rotação usando a relação-v= (3,14*D*N)/60 m/s.

O valor de RPM também pode ser usado para calcular a distância percorrida por uma roda ou disco giratório.

Em vez de imprimir valores no monitor Serial, este dispositivo pode se tornar mais útil conectando um display LCD (16*2) e bateria para melhor utilização.

Hashtags: #Circuito #tacômetro #Arduino #para #leituras #precisas
 

FONTE


Nota: Este conteúdo foi traduzido do Inglês para português (auto)
Pode conter erros de tradução

Olá, se tiver algum erro de tradução (AUTO), falta de link para download etc…
Veja na FONTE até ser revisado o conteúdo.
Status (Ok Até agora)


Se tiver algum erro coloque nos comentários

Mas se gostou compartilhe!!!

Relacionados

Relacionados