Como controlar o motor CC com Arduino

Como controlar o motor CC com Arduino
Arduino é um quadro de desenvolvimento eletrônico baseado em hardware e software. Arduino dá liberdade aos seus usuários para projetar projetos de vários níveis com base em diferentes módulos, hardware e motores. Com o tempo, a demanda de arduino por projetos de robótica está aumentando. Quando falamos sobre projetos robóticos, a primeira coisa que vem à mente são motores e controladores. DC Motors desempenham um papel vital na construção de projetos de robótica. Aqui discutiremos como os motores DC podem ser usados ​​com Arduino.

Controle do Motor DC com Arduino

Um motor CC é um dos tipos amplamente utilizados de motor. Vem com dois leads, um positivo e o segundo negativo. Se conectarmos esses dois cabos com uma bateria ou fonte de energia, o motor começará a girar; No entanto, se revertermos a polaridade do motor terminal começará a girar na direção oposta.

Usando o Arduino, podemos controlar a velocidade e a direção do motor de uma maneira mais flexível. Para controlar o motor com Arduino, usamos um módulo de driver do motor. Um módulo de driver do motor é um circuito externo que pode interface um arduino com qualquer um dos motores DC.

Aqui vamos usar o Ln293d Módulo de motorista do motor IC para controlar uma direção e velocidade do motor DC. LN293D é um módulo de motorista de 16 pinos que pode controlar dois motores CC simultaneamente. Ele pode acionar um motor com corrente de até 600mA por canal e a faixa de tensão começa em 4.5 até 36V (no pino 8). Usando este módulo de driver, podemos controlar vários motores CC de tamanho pequeno.

Diagrama de circuito
Para controlar o motor CC, projete o circuito de acordo com o esquema mencionado. Conecte o pino 2 e 7 do IC do driver com o pino digital D10 e D9 de Arduino Uno, respectivamente. Usando pinos digitais, controlaremos a direção e a velocidade do nosso motor. Os pinos 1 e 8 recebem uma lógica de alto nível usando a tensão de nível lógico Arduino 5V. O motor CC está conectado no pino 3 e 6 do módulo de driver. Os pinos 4 e 5 são curtos por causa do terreno comum no módulo do motorista do motor.

Usando o pino 9 e 10, podemos controlar a direção do motor. Quando o pino 10 estiver alto e o pino 9 é o motor baixo, gira em uma direção e gira na direção oposta às condições reversas serão aplicadas.

Esquemas

Código

const int dcMotorSignal1 = 9; /*pino 9 para o motor primeiro entrada*/
const int dcMotorSignal2 = 10; /*pino 10 para o motor segundo entrada*/
configuração void ()

pinmode (dcMotorSignal1, saída); /*Inicialize o pino DCMOTORSIGNAL1 como saída*/
pinmode (dcMotorSignal2, saída); /*inicialize o pino DCMOTORSIGNAL2 como saída*/

Void Loop ()

no sentido horário (200); /*Gire no sentido horário*/
atraso (1000); /*Atraso de 1 segundo*/
Anticlockwise (200); /*Gire na direção antiga*/
atraso (1000); /*Atraso por 1 segundo*/

Void no sentido horário (int RotationalSpeed) /*Esta função acionará e girará o motor no sentido horário* /

analogwrite (dcMotorSignal1, RotationalSpeed); /*Defina a velocidade do motor*/
analogwrite (dcMotorSignal2, baixo); /*Pare o pino DCMotorSignal2 do motor*/

Void anti -horário (int RotationalSpeed) /*A função acionará e girará o motor na direção antiga* /

analogwrite (dcMotorSignal1, baixo); /*Pare o pino DCMotorSignal1 do motor*/
analogwrite (dcMotorSignal2, velocidade de rotação); /*Defina a velocidade do motor*/

Aqui no código acima, inicializamos dois pinos digitais para controle de motor DC. O pino digital 9 é definido como entrada para o primeiro pino e D10 é definido como entrada para o segundo pino do motor DC. Em seguida, usando o pinmode função, inicializamos esses dois pinos digitais como saída.

No laço A seção do código duas funções nomeadas no sentido horário e anti -horário são inicializadas com uma velocidade de rotação de 200. Depois disso, usando duas funções vazias no sentido horário e anti -horário, mudamos a direção da rotação do motor, definindo o pino 9 e 10 como baixo e alto.

Por que usamos o módulo de driver do motor com Arduino?

Os motoristas de motor podem pegar um sinal de baixa corrente de um Arduino ou de qualquer outro microcontrolador e aumentá -lo em um sinal de alta corrente que pode acionar qualquer motor CC facilmente. Normalmente Arduino e outros microcontroladores trabalham em baixa corrente, enquanto para alimentar os motores CC, eles exigem entrada constante de alta corrente que o Arduino não pode fornecer. O Arduino pode nos fornecer um máximo de 40mA de corrente por pino, o que é apenas uma fração do que um motor DC exige para operar. Módulos de motorista do motor como L293D podem controlar dois motores e fornecer aos usuários mão livre para controlar a velocidade e a direção de acordo com a facilidade.

Observação: Enquanto usa vários motores com Arduino, é recomendável usar suprimentos separados externos para motores CC, juntamente com o módulo de motorista do motor, porque o Arduino não pode reter a corrente mais 20mA e normalmente os motores tomam muito mais do que isso. Outro problema é Kickback, Os motores de passo têm componentes magnéticos; Eles continuarão a criar eletricidade mesmo quando a energia for cortada, o que pode levar a uma tensão negativa suficiente que pode danificar a placa Arduino. Portanto, em suma, é necessário um motorista e uma fonte de alimentação separada para executar um motor DC.

Conclusão

Os motores DC são um componente importante para projetar projetos de robótica baseados em Arduino. O uso de motores DC Arduino pode controlar o movimento e a direção dos periféricos do projeto. Para controlar esses motores sem problemas, precisamos de um módulo de driver que não apenas salva a placa Arduino de picos de corrente extremos, mas também oferece controle completo ao usuário. Este artigo o guiará a projetar e interface os motores DC em qualquer projeto Arduino.