Franzininho WiFi: Motor DC

Este post faz parte da série Franzininho WiFI - Arduino

Introdução

Um motor de corrente contínua, também conhecido como motor DC, é uma máquina elétrica que converte energia elétrica em movimento mecânico. Seu funcionamento é baseado no princípio da indução eletromagnética, onde uma corrente elétrica é aplicada a um conjunto de bobinas imersas em um campo magnético, gerando força motriz.

Os motores DC são amplamente utilizados em diversas aplicações, desde eletrodomésticos até sistemas industriais, graças à sua versatilidade e controle preciso de velocidade e torque.

A velocidade do motor DC pode ser facilmente controlada através da variação da tensão aplicada. Além disso, é possível definir o sentido da rotação do motor através da polaridade da tensão aplicada ao motor. Para esse controle, é geralmente utilizada uma ponte H acionada por um controlador PWM.

Neste artigo, aprenderemos como acionar um motor DC com a Franzininho WiFi. Utilizaremos uma ponte H para controlar o sentido de rotação e a velocidade do motor.

Materiais necessários

Os materiais necessários para desenvolver nossa aplicação são:

  • Franzininho WiFi
  • Jumpers
  • Ponte H (L298N)
  • Motor DC
  • Fonte DC ( 12V e 1A)
  • Arduino IDE

Circuito para acionamento do motor DC

No circuito proposto, a ponte H dupla (LN298N) possui dois canais, contudo, vamos utilizar apenas um canal. Outro ponto importante é a necessidade de uma fonte externa com saída DC de 12V e 1A para alimentar o driver e o(s) motor(s). O driver possui uma saída de 5V que pode funcionar como regulador de tensão para outros dispositivos. É relevante observar que há uma conexão entre o GND da Franzininho WiFi com a fonte, garantindo que ambas estejam no mesmo referencial e, consequentemente, permitindo o controle da ponte H pelas GPIOs.

motor dc

Lembre-se de que a placa Franzininho WiFi, em hipótese alguma, deve alimentar o motor e/ou conectar as GPIOs diretamente nos terminais, pois o risco de danificar é iminente. Utilize sempre drivers para o acionamento de potência.

Código

No projeto proposto, utilizaremos um motor de corrente contínua de baixa potência para demonstrar como podemos realizar o controle de velocidade e sentido de rotação, além de acompanhar as ações no monitor serial. Para controlar os drivers, não é necessário instalar nenhuma biblioteca.

// Definição dos pinos de controle do motor  
#define INA 1  
#define INB 2  

void  setup()  
{  
// Inicialização da comunicação serial com baud rate 115200  
Serial.begin(115200);  
delay(1000);  
Serial.println("Iniciando demo L298N com a Franzininho WiFi");  

// Configuração dos pinos como saída para controle do motor  
pinMode(INA, OUTPUT);  
pinMode(INB, OUTPUT);  

// Inicialização do motor com os pinos de controle em nível baixo (parado)  
digitalWrite(INA, LOW);  
digitalWrite(INB, LOW);  
}  

void  loop() {  
// Rotação do motor no sentido horário  
Serial.println("Rotaciona sentido horario");  
digitalWrite(INA, HIGH);  
digitalWrite(INB, LOW);  
delay(2000);  

// Motor parado  
Serial.println("Motor Parado");  
digitalWrite(INA, LOW);  
digitalWrite(INB, LOW);  
delay(2000);  

// Rotação do motor no sentido anti-horário  
Serial.println("Rotaciona sentido anti-horario");  
digitalWrite(INA, LOW);  
digitalWrite(INB, HIGH);  
delay(2000);  

// Freia a rotação do motor  
Serial.println("Freia rotação");  
digitalWrite(INA, HIGH);  
digitalWrite(INB, HIGH);  
delay(2000);  

// Motor parado novamente  
Serial.println("Motor Parado");  
digitalWrite(INA, LOW);  
digitalWrite(INB, LOW);  
delay(2000);  

// Controle de velocidade gradual do motor  
Serial.println("Controle de Velocidade");  
int i;  
for (i = 0; i < 255; i++)  
{  
analogWrite(INA, i); // Define a velocidade do motor usando PWM  
delay(100);  
}  
for (i = 255; i >= 0; i--)  
{  
analogWrite(INA, i); // Define a velocidade do motor usando PWM  
delay(100);  
}  

// Para o controle de velocidade  
Serial.println("Para controle de Velocidade");  
digitalWrite(INA, LOW);  
digitalWrite(INB, LOW);  
delay(2000);  
}

Simule essse projeto no Wokwi: https://wokwi.com/projects/370784561135060993

Ainda não há o suporte para o L298N, mas utilizamos os LEDs para ilustrar o funcionamento.

Conclusão

Neste artigo, foi apresentado o motor de corrente contínua e explicado como podemos controlá-lo de duas maneiras: rotação e velocidade. Além disso, discutimos como é possível monitorar o motor, adicionando informações como a quantidade de passos, velocidade de rotação, tensão e corrente instantânea. Essas medidas permitem executar funções que exigem alta precisão. Todo esse material pode ser utilizado como apoio para criar outros projetos. Caso você tenha algum projeto em mente, sinta-se à vontade para compartilhá-lo com a comunidade.

Franzininho WiFI - Arduino

Franzininho WiFi: Display LCD 16×2 com comunicação I2C
Licença Creative Commons Esta obra está licenciada com uma Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional.
Comentários:
Notificações
Notificar
0 Comentários
recentes
antigos mais votados
Inline Feedbacks
View all comments
Home » Hardware » Franzininho WiFi: Motor DC

EM DESTAQUE

WEBINARS

VEJA TAMBÉM

JUNTE-SE HOJE À COMUNIDADE EMBARCADOS

Talvez você goste: