Bóson Treinamentos em Ciência e Tecnologia

Como acionar um motor DC usando o Arduino e um Relé

Acionando um motor DC com Arduino, transistor e relé

Acionando um motor DC com Arduino

Por Fábio dos Reis

Neste projeto vamos mostrar como acionar um pequeno motor DC utilizando o Arduino e alguns poucos componentes eletrônicos discretos. 

Motores DC (de corrente contínua) encontram inúmeras aplicações, tais como o controle de robôs, pequenos veículos, abrir e fechar de portas, em aparelhos de CD e DVD, e muitas outras aplicações.

A principal característica de um motor de corrente contínua é rotacionar continuamente quando submetido a ma tensão DC. Eles são encontrados em diversos tamanhos, e no geral possuem um custo baixo. Neste projeto, por exemplo, o custo do motor utilizado é zero, pois eu o aproveitei de um CD player antigo – e quebrado – que foi desmontado.

Neste primeiro projeto vamos simplesmente mostrar como acionar o motor – ligando-o e desligando-o por meio de sinais vindos do Arduino. Nos próximos projetos também mostraremos como controlar a velocidade dos motores, alternar sua direção de rotação e muito mais.

Lista de materiais:

Módulo de fonte para matriz de contatos YwRobot usado no projeto. Qualquer fonte que forneça tensão e corrente suficientes para acionar o motor servirá.

Cargas indutivas

Os motores DC necessitam de uma corrente muito maior do que o Arduino pode fornecer, além de criarem picos de tensão que podem danificar os circuitos onde estão conectados. Por esta razão, vamos acionar o motor utilizando uma fonte de alimentação separada, além de isolá-lo do circuito por meio de um relé, o qual será acionado por um transistor.

Porém, a própria bobina do relé pode causar picos de tensão que podem danificar seu Arduino. Por conta disso, usamos um diodo para proteger o circuito contra a tensão reversa gerada.

O Circuito:

Usamos uma fonte externa (de 9V) para alimentar o motor, pois o Arduino não é capaz de fornecer a corrente necessária para acioná-lo, podendo inclusive ser permanentemente danificado se você o fizer. Vamos usar um transistor para acionar o relé, ao qual por sua vez conectaremos o motor DC que iremos controlar. O transistor trabalha como uma chave, pois ao aplicarmos uma pequena corrente em sua base, ele permite que uma corrente muito maior flua entre coletor e emissor, onde o relé está ligado.

Controlando motor DC com Arduino. Usamos o UNO (parte superior da foto) e um módulo de relé Keyes.

Código

O código do circuito é extremamente simples, consistindo em um sketch que ativa e desativa o nível lógico no pino 8 do Arduino, o qual por sua vez liga e desliga o relé que controla o motor DC:

int pinoTransistor = 8;
void setup() {
 pinMode(pinoTransistor, OUTPUT);
}
void loop() {
 digitalWrite(pinoTransistor, HIGH);
 delay(4000);
 digitalWrite(pinoTransistor, LOW);
 delay(4000);
}

Você pode também experimentar o acionamento do motor DC sem o uso do relé, conectando-o diretamente ao transistor. Mas não se esqueça do diodo de proteção, mesmo nesse caso. Veja a seguir o circuito que você pode montar para acionar o motor sem usar o relé (o código permanece o mesmo):

Note que o terra do Arduino e da fonte do motor devem ser conectados em um ponto comum.

Assim que o sketch for carregado no Arduino, ligue a alimentação do motor e, se tudo correr bem, você verá o motor ligando e girando por 4 segundos, então sendo desligado automaticamente e permanecendo parado por outros quatro segundos.

No próximo projeto vamos aprender a controlar a velocidade de rotação do motor usando a técnica de PWM.

Até!

 

Sair da versão mobile