Você está aqui: Início » Robótica, Eletrônica e Afins » Eletrônica » Arduino

Motor CC/DC no Arduino e ponte H dupla. Controle de velocidade e sentido da rotação

 

Olá pessoal, para os aficionados por Arduino e para quem se interessa por robótica, ou se interessa por mecanismos eletrônicos que usam motores, aqui está um conceito muito importante, conceito este que trata do controle de um motor de corrente contínua CC/DC, que permite que você controle a velocidade de rotação e também o sentido da rotação, horário ou anti-horário. Esse tipo de mecanismo é a base para a construção de braços robóticos, mini guinchos, mini elevadores e mais um monte de coisas. Neste projeto arduino iremos usar um componente importante, o L293D, que é um circuito integrado de ponte H dupla, que vai permitir que tenhamos total controle de um motor cc/dc e além disso o L293D permite que você controle até dois motores cc/dc de forma independente. Então vamos iniciar o nosso projeto arduino com ponte H dupla para controle de velocidade e sentido da rotação de um motor cc/dc.

Para uma visão geral deste projeto arduino, assista o vídeo abaixo que mostra o projeto pronto em pleno funcionamento.

 

Para começar é ideal que se conheça o circuito integrado de ponte H dupla L293D. Na imagem abaixo segue a descrição dos pinos que fazem parte deste componente. Um ponto importante sobre este componente eletrônico é que ele já possui diodos internamente, por isso o "D" no final de seu nome, por isso não usaremos diodos externos na protoboard. E observe o chanfro no topo do componente L293D, parecido com um meio círculo, pois é a partir dele que deverá ser iniciada a contagem dos pinos. O pino 1 será o primeiro pino no sentido anti-horário partindo do chanfro.

Esquema L293D

No nosso projeto usaremos os seguintes pinos do CI (circuito integrado) L293D:

  • pino 1 - enable 1, 2 - ligado ao pino digital 9 (PWM) do arduino;
  • pino 2 - input 1 - ligado ao pino digital 3 do arduino;
  • pino 3 - output 1 - ligado ao motor cc/dc;
  • pino 4 - GND - ligado ao terra (ground) do arduino;
  • pino 5 - GND - ligado ao terra (ground) do arduino;
  • pino 6 - output 2 - ligado ao motor cc/dc;
  • pino 7 - input 2 - ligado ao pino digital 4 do arduino;
  • pino 8 - Vcc 2 - ligado ao positivo vindo das pilhas;
  • pino 12 - GND - ligado ao terra (ground) do arduino;
  • pino 13 - GND - ligado ao terra (ground) do arduino;
  • pino 16 - Vcc 1 - ligado ao pino 5V (volts) do arduino;

E para desenvolver este projeto iremos usar do seguinte material:

  • um arduino UNO, Leonardo, Duemilanove, Mega ou outra versão;
  • uma protoboard;
  • um circuito integrado L293D;
  • fios jumper;
  • quatro pilhas pequenas;
  • um motor CC de 6 volts;
  • um potenciômetro de 10 K ohms;
  • uma chave liga/desliga;
  • um resistor de 10 K ohms.

Segue abaixo o esquema do nosso projeto, que servirá de base para o desenvolvimento do mesmo, e que mostra detalhadamente todas as ligações entre os componentes eletrônicos que fazem parte deste projeto. O potenciômetro vai controlar a velocidade de rotação do motor, aumentando ou diminuindo. A chave liga/desliga irá controlar o sentido da rotação do motor, horário ou anti-horário.

Arduino e L293D ponte H dupla

Vamos começar colocando na protoboard os componentes L293D e o potenciômetro, que controlará a velocidade de rotação do motor cc/dc.

Arduino e L293D ponte H dupla

Agora faça a ligação da chave liga/desliga, juntamente com o resistor e os fios jumper.

Arduino e L293D ponte H dupla

Faça as ligações do potenciômetro, do L293D, das pilhas e do motor cc/dc. Para realizar estas ligações o melhor é seguir o esquema do início deste post que possui uma forma de visualização mais detalhada do projeto.

Arduino e L293D ponte H dupla

Outro ângulo das ligações entre o arduino e os componentes.

Arduino e L293D ponte H dupla

Ao finalizar a montagem dos componentes eletrônicos do seu projeto você terá algo parecido com o projeto da imagem abaixo. Usei uma bateria de 9V para alimentar o arduino, mas também poderia conectá-lo ao computador através do cabo USB para alimentá-lo.

Arduino e L293D ponte H dupla

Agora chegou a grande hora, a hora de programar o seu arduino. Conecte o arduino ao seu computador com o cabo USB, execute a IDE do arduino, e copie e cole o programa abaixo na IDE, depois compile o programa e faça o upload para o arduino.

Segue abaixo o código fonte comentado do programa de controle do motor cc/dc com ponte H dupla para o arduino. Apesar de todos os recursos deste projeto o programa é pequeno e simples.

/*
Projeto Arduino motor cc com ponte H dupla. Gira 
nos dois sentidos e possui controle de potência.
Por Jota
----------------------------------------
--=<| www.ComoFazerAsCoisas.com.br |>=--
----------------------------------------
*/

//Chave que muda o sentido da rotação do motor.
#define chaveMudaSentRot 2 

//INPUT 1 do L293D.
#define motorCCEnt1 3      

//INPUT 2 do L293D.
#define motorCCEnt2 4      

//Pino de ativação e controle do L293D.
#define controleL293D 9    

//Pino analógico para controle de 
//potência/velocidade do motor.
#define controleVelocPot 0 

//Variável para armazenar o valor 
//lido no potenciômetro.
int potVelPotencia = 0;    

void setup() {
  //O pino da chave seletora de rotação 
  //definido como de entrada.
  pinMode(chaveMudaSentRot,INPUT); 
  
  //Pinos do motor e de ativação do 
  //L293D definidos como de saída.
  pinMode(motorCCEnt1,OUTPUT);
  pinMode(motorCCEnt2,OUTPUT);
  pinMode(controleL293D,OUTPUT);
}

void loop() {
  //Lendo valor do potenciometro para aplicar a
  //potência/velocidade ao motor. O valor lido é
  //dividido por 4 para se obter valores entre 0 e 255;
  potVelPotencia = analogRead(controleVelocPot) / 4;
  
  //Transfere o valor lido de velocidade/potência 
  //no potenciômetro para o L293D.
  analogWrite(controleL293D,potVelPotencia);
  
  //Controlando o sentido de rotação do motor 
  //pela chave liga/desliga e pelos INPUTs do L293d.
  if (digitalRead(chaveMudaSentRot) == HIGH) {
    digitalWrite(motorCCEnt1,LOW);
    digitalWrite(motorCCEnt2,HIGH);
  } else {
    digitalWrite(motorCCEnt1,HIGH);
    digitalWrite(motorCCEnt2,LOW);
  }
}

Após o upload do programa para o arduino seu projeto estará completamente pronto, se você chegou até aqui meus parabéns! Use o potenciômetro para controlar a velocidade de rotação do motor e use a chave liga/desliga para mudar o sentido de rotação do motor. Esteja também sempre atento a temperatura do L293D ele costuma esquentar bastante, se você for deixar seu projeto ligado por muito tempo use um dissipador de calor no L293D. E abaixo segue o vídeo do mini guincho feito de palitos de picolé que demonstra uma das milhares de aplicações de uma ponte H.

Aproveitem e vejam também os diversos outros projetos em Arduino. Então é isso aí pessoal, e pra nos dar uma força curta, compartilhe, de um gostei no vídeo, adicione aos favoritos e inscreva-se no nosso canal do YouTube. Valeu e um grande abraço!

Veja Mais

Joystick controlando 3 servomotores no Arduino
Joystick controlando 3 servomotores no Arduino
Como fazer um avião bimotor de palitos de picolé
Como fazer um avião bimotor de palitos de picolé
Como fazer uma mini bomba de água caseira
Como fazer uma mini bomba de água caseira
Mini gerador de energia manual movido a manivela
Mini gerador de energia manual movido a manivela
Guincho robótico de palito de picolé com arduino e servomotores. Como Fazer.
Guincho robótico de palito de picolé com arduino e servomotores. Como Fazer.
Controlando um servomotor com potenciômetro no arduino.
Controlando um servomotor com potenciômetro no arduino.
Projeto Arduino com display LCD, sensor de temperatura e sensor de luminosidade.
Projeto Arduino com display LCD, sensor de temperatura e sensor de luminosidade.
Projeto Arduino com display LCD.
Projeto Arduino com display LCD.
Motor CC no Arduino com controle de velocidade e leds medidores de potência.
Motor CC no Arduino com controle de velocidade e leds medidores de potência.
 

Tops do momento

Como calcular o resistor adequado para um LED.Como calcular o resistor adequado para um LED.
Como fazer uma mini bomba de água caseiraComo fazer uma mini bomba de água caseira
Como fazer um mini gerador de energia eólica - versão 2.0Como fazer um mini gerador de energia eólica - versão 2.0
Projeto Arduino com display LCD.Projeto Arduino com display LCD.
Projeto Arduino, led com botão liga desliga.Projeto Arduino, led com botão liga desliga.
Como fazer um mini gerador de energia eólica - versão 1.0Como fazer um mini gerador de energia eólica - versão 1.0
Como Fazer um Circuito Pisca LEDComo Fazer um Circuito Pisca LED
Mini gerador de energia manual movido a manivelaMini gerador de energia manual movido a manivela

Destaques

Joystick controlando 3 servomotores no ArduinoJoystick controlando 3 servomotores no Arduino
Como fazer uma mini balestra pistola de palitos de picoléComo fazer uma mini balestra pistola de palitos de picolé
Como fazer uma lanterna de LEDs no palitoComo fazer uma lanterna de LEDs no palito
Como fazer um avião bimotor de palitos de picoléComo fazer um avião bimotor de palitos de picolé
Como fazer uma mini bomba de água caseiraComo fazer uma mini bomba de água caseira
Circuito simples que controla a velocidade de um motorzinho. Como fazer!Circuito simples que controla a velocidade de um motorzinho. Como fazer!
Como ligar um joystick no Arduino e ler as posições X, Y e ZComo ligar um joystick no Arduino e ler as posições X, Y e Z
Circuito simples que controla o sentido de rotação de um motorzinho.Circuito simples que controla o sentido de rotação de um motorzinho.
 
Como Fazer as Coisas no Facebook Como Fazer as Coisas no G+ Como Fazer as Coisas no Twitter Como Fazer as Coisas no YouTube Como Fazer as Coisas no Pinterest Feed Como Fazer as Coisas