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

Acionando um motor DC com Arduino

Por Fábio dos Reis

Controlando motores DC com arduino uno, transistor e relé

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:

  • Arduino UNO
  • Transístor 2N2222 ou similar (NPN)
  • Resistor 1kΩ
  • Relé SPDT de 5V
  • Diodo 1N4004 ou equivalente
  • Motor DC (retirado de brinquedos ou um drive de CD/DVD, ou comprado)
  • Matriz de contatos
  • Fonte de alimentação à parte ou bateria de 9V (para o motor)
Módulo de fonte para matriz de contatos YwRobot

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:

Acionar motor DC com Arduino e Relé

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.

Controle de motor DC com Arduino e relés

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):

Acionando motor DC com Arduino e transistor 2N2222

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é!

 

Sobre Fábio dos Reis (1195 Artigos)
Fábio dos Reis trabalha com tecnologias variadas há mais de 30 anos, tendo atuado nos campos de Eletrônica, Telecomunicações, Programação de Computadores e Redes de Dados. É um entusiasta de Ciência e Tecnologia em geral, adora Viagens e Música, e estuda idiomas, além de ministrar cursos e palestras sobre diversas tecnologias em São Paulo e outras cidades do Brasil.

4 Comentários em Como acionar um motor DC usando o Arduino e um Relé

  1. Ivo Capella // 12/08/2018 em 20:04 // Responder

    Boa noite, boa apresentação, mas sugiro usar trasnsistores mais fortes mesmo para um pequeno motor, tal como o BD135.

  2. Bom dia. Por que não usar o pulso direto ao rele? Ligaria a fonte externa pra alimentar o rele e o motor e o arduino enviaria apenas o pulso pra acionar o rele.

    • O Arduino pode não conseguir fornecer corrente suficiente para acionar diretamente o relé, além do risco de dano ao microcontrolador por conta de tensão reversa gerada na bobina do relé.

Escreva um comentário

Seu e-mail não será divulgado


*