Índice:

Medição da velocidade do motor usando Arduino: 6 etapas
Medição da velocidade do motor usando Arduino: 6 etapas

Vídeo: Medição da velocidade do motor usando Arduino: 6 etapas

Vídeo: Medição da velocidade do motor usando Arduino: 6 etapas
Vídeo: Controlando a rotação de motores DC com Arduino - Curso de Arduino #19 2024, Julho
Anonim
Medição da velocidade do motor usando Arduino
Medição da velocidade do motor usando Arduino
Medição da velocidade do motor usando Arduino
Medição da velocidade do motor usando Arduino
Medição da velocidade do motor usando Arduino
Medição da velocidade do motor usando Arduino

É difícil medir a rotação do motor ??? Acho que não. Aqui está uma solução simples.

Apenas um sensor IR e Arduino em seu kit podem fazer isso.

Neste post vou dar um tutorial simples explicando como medir o RPM de qualquer motor usando sensor IR e Arduino UNO / nano

Suprimentos:

1. Arduion uno (Amazon) / Arduion nano (Amazon)

2. Sensor IR (Amazon)

3. Motor DC qualquer (Amazon)

4. LCD 16 * 2 (Amazon)

Ferramentas usadas

1. Ferro de soldar (Amazon)

2. Descascador de fios (Amazon)

Etapa 1: Etapa: 1 Garantir a condição de trabalho dos sensores e dispositivos

O que é um sensor de infravermelho? O sensor de infravermelho é um dispositivo eletrônico que emite luz para detectar algum objeto do entorno. Um sensor IR pode medir o calor de um objeto e também detectar o movimento. Normalmente, no espectro infravermelho, todos os objetos irradiam alguma forma de radiação térmica. Esses tipos de radiações são invisíveis aos nossos olhos, mas o sensor infravermelho pode detectar essas radiações.

O que é um motor DC? Um motor de corrente contínua (DC) é um tipo de máquina elétrica que converte energia elétrica em energia mecânica. Os motores DC recebem energia elétrica por meio de corrente contínua e convertem essa energia em rotação mecânica.

Os motores DC usam campos magnéticos que ocorrem a partir das correntes elétricas geradas, que acionam o movimento de um rotor fixado dentro do eixo de saída. O torque e a velocidade de saída dependem da entrada elétrica e do projeto do motor.

O que é Arduino?

Arduino é uma plataforma eletrônica de código aberto baseada em hardware e software fáceis de usar. As placas Arduino são capazes de ler entradas - luz em um sensor, um dedo em um botão ou uma mensagem do Twitter - e transformá-la em uma saída - ativando um motor, ligando um LED, publicando algo online. Você pode dizer à sua placa o que fazer enviando um conjunto de instruções para o microcontrolador da placa. Para fazer isso, você usa a linguagem de programação Arduino (baseada em Wiring) e o Arduino Software (IDE), baseado em Processing.

Baixe ARDUINO IDE

Etapa 2: Como funciona?

Então, qual é a lógica por trás disso ??

Ele funciona de forma muito semelhante ao codificador. Os codificadores são difíceis de entender para iniciantes. Tudo que você precisa saber é que o sensor IR gera pulso e estamos descobrindo o intervalo de tempo entre cada pulso.

Neste caso, o sensor IR enviará um pulso ao Arduino sempre que seu feixe IR for interceptado por hélices de motores. Normalmente usamos hélices com duas pás, mas usei hélices com três pás, conforme mostrado na figura. dependendo do número de pás da hélice, precisamos modificar alguns valores ao calcular o RPM.

vamos considerar que temos uma hélice com duas pás. Para cada motor de revolução, a lâmina interceptará o raio infravermelho duas vezes. Assim, o sensor IR produzirá pulsos sempre que houver interceptação.

Agora temos que escrever um programa que possa medir o número de pulsos produzidos pelo sensor IR em um determinado intervalo de tempo.

Existem mais de uma maneira de resolver um problema, mas devemos escolher qual delas é a melhor nesses códigos. Eu medi a duração entre as interrupções (sensor IR) Usei funções micros () para medir a duração dos pulsos em microssegundos.

você pode usar esta fórmula para medir o RPMRPM = ((1 / duração) * 1000 * 1000 * 60) / lâminas

onde, duração - intervalo de tempo entre os pulsos.

60 - segundos a minutos

1000 - moinho a s

1000 - micro para fresar

lâminas - não de asas na hélice.

Display LCD - O Arduino atualiza os registros de comando e dados do display LCD. Que exibe os caracteres ASCII no visor LCD.

Etapa 3: programe seu Arduino usando o IDE do Arduino

#incluir

LiquidCrystal lcd (9, 8, 7, 6, 5, 4); const int IR_IN = 2; // Sensor IV INPUT unsigned long prevmicros; // Para armazenar o tempo sem sinal de longa duração; // Para armazenar a diferença de tempo sem sinal long lcdrefresh; // Para armazenar o tempo de atualização do lcd int rpm; // valor RPM boolean currentstate; // Estado atual da varredura de entrada IV boolean prevstate; // Estado do sensor IR na varredura anterior void setup () {pinMode (IR_IN, INPUT); lcd.begin (16, 2); prevmicros = 0; prevstate = LOW; } void loop () {////////////////////////////////////////////// ///////////////////////////////////////// RPM Medição currentstate = digitalRead (IR_IN); // Lê o estado do sensor IV if (prevstate! = Currentstate) // Se houver mudança na entrada {if (currentstate == LOW) // Se a entrada mudar apenas de HIGH para LOW {duration = (micros () - prevmicros); // Diferença de tempo entre a revolução em microssegundos rpm = ((60000000 / duração) / 3); // rpm = (1 / milis de tempo) * 1000 * 1000 * 60; prevmicros = micros (); // armazena o tempo para o cálculo da revolução nect}} prevstate = currentstate; // armazena esses dados de varredura (varredura anterior) para a próxima varredura ///////////////////////////////////////// ///////////////////////////////////////////////////// Display LCD se ((millis () - lcdrefresh)> = 100) {lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Velocidade do motor"); lcd.setCursor (0, 1); lcd.print ("RPM ="); lcd.print (rpm); lcdrefresh = millis (); }}

Etapa 4: Simulação usando Proteus

Simulação Usando Proteus
Simulação Usando Proteus

Este projeto funcionou perfeitamente bem quando tentei simular isso com a ajuda do Proteus.

Em vez de usar o sensor IR, usei um gerador de pulso DC, que simulará o pulso IR semelhante ao gerado quando os raios IR atingem as pás das hélices.

você tem que fazer alterações em seu programa, dependendo do sensor que você usa

O sensor IR com LM358 deve usar este comando.

if (currentstate == HIGH) // Se a entrada muda apenas de LOW para HIGH

O sensor IR com LM359 deve usar este comando.

if (currentstate == LOW) // Se a entrada muda apenas de HIGH para LOW

Etapa 5: execução de hardware

Execução de Hardware
Execução de Hardware
Execução de Hardware
Execução de Hardware
Execução de Hardware
Execução de Hardware

Para esquemas, use as imagens de simulação ou consulte os códigos do programa e faça as conexões de acordo. Faça upload do código do programa para o Arduino e meça o RPM de qualquer motor. Fique ligado no meu próximo post e assista ao meu canal no YouTube.

Recomendado: