Tutorial: Controlando motor de passo com L293D e Arduino

Adquira estes componentes na Loja do Lab de Garagem

Neste tutorial, vamos mostrar como controlar um motor de passo utilizando o circuito integrado L293D e Arduino.

O L293D é um circuito integrado de ponte-H. Com ele é possível controlar motores DC e motores de passo. Para ver o datasheet, clique aqui! Em relação ao easydriver, você pode configurar a velocidade e o número de passos para dar mais velocidade e/ou mais torque. No L293D você pode utilizar um motor de passo de no máximo 600mA e 36V de alimentação para o motor de passo. No easydriver, porém, é mais fácil sua utilização e mais simples. E não tem necessidade de colocar outros componentes como no L293D. E você pode utilizar um motor de passo de até 750mA e 30V de alimentação do motor de passo.

Para este tutorial, vamos utilizar:

Primeiramente, faça a seguinte ligação:

A bateria de 9V é apenas a demonstração da fonte externa para alimentar o motor de passo. Veja no datasheet do seu motor de passo qual a tensão utilizada.

Agora abra a IDE do Arduino e passe a seguinte programação:

#include <Stepper.h>  //Biblioteca já disponível na IDE do Arduino

const int steps=200;  //Número de passos para o motor
int buttonState=0;
int buttonState1=0;
Stepper motor(steps,8,9); //Pinos 8 e 9 do Arduino

void setup()
{
motor.setSpeed(100);    //Velocidade da rotação do motor (RPM)
Serial.begin(9600);
pinMode(4,INPUT);   //Botão 1
pinMode(5,INPUT);   //Botão 2
pinMode(2,OUTPUT);   //Enable do L293D
digitalWrite(2,LOW);
}

void loop()
{
buttonState=digitalRead(4);
buttonState1=digitalRead(5);
if(buttonState==HIGH)   //Gira para um lado
{
digitalWrite(2,HIGH);
Serial.println("botao");
motor.step(steps);
}
else if(buttonState1==HIGH)  //Gira para o outro lado
{
digitalWrite(2,HIGH);
Serial.println("botao 1");
motor.step(-steps);
}
else   //Fica parado
{
digitalWrite(2,LOW);
Serial.println("Parado");
motor.step(0);

}
}

Conecte seu Arduino na porta USB do seu computador, selecione a versão do seu Arduino (UNO, Duemilanove, etc) em "Tools/Boards" e a porta (COMx, ttyUSBx, ttyACMx, etc) em "Tools/Serial Port". E clique em "UPLOAD".

Apertando um botão o motor de passo girará para um lado. Se apertar o outro botão o motor de passo girará para o outro lado. Caso seu motor de passo não gire, experimente inverter os fios das bobinas. Ou experimente diminuir ou aumentar o número de passos do motor e a velocidade.

E é isso! Esperamos que tenha gostado! Em caso de dúvidas, poste aqui neste blog! Para sugestões de tutoriais, clique aqui! Para ver outros tutoriais e projetos desenvolvidos pela equipe LdG e por outros garagistas, clique aqui e aqui, respectivamente! Até a próxima!

Referências:

http://www.tigoe.net/pcomp/code/circuits/motors/stepper-motors/

http://arduino.cc/en/Tutorial/Button

http://arduino.cc/en/Reference/StepperBipolarCircuit

Exibições: 37514

Comentar

Você precisa ser um membro de Laboratorio de Garagem (arduino, eletrônica, robotica, hacking) para adicionar comentários!

Entrar em Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)

Comentário de Márcio Ramos em 6 maio 2014 às 22:47

Olá galera.

Preciso movimentar e posicionar uma mesa coordenada de furadeira de bancada, comandados por um plc.

Alguém poderia me ajudar na escolha de componentes, motores, drivers, plc?

Comentário de Ilgner Aparecido Becheleni em 1 abril 2014 às 0:56

Ok , obrigado .

Comentário de Wiechert em 1 abril 2014 às 0:51

Não dá... pra corrente desse motor poderá usar um L298 ou montar uma ponte H com transistores.

Comentário de Ilgner Aparecido Becheleni em 1 abril 2014 às 0:38

Bem minha dúvida é , tenho um motor de 1,7 A  4,2 v , posso liga-lo com o l293 juntamente com o L297 e utilizando um resistor para drenar a corrente em excesso?

Comentário de Thiago S. Malavasi em 26 novembro 2013 às 20:36

Obrigado Euclides!

Comentário de Euclides Franco de Rezende em 25 novembro 2013 às 16:31

Não. Este circuito da forma como está é para motores de 4 fios. Motores de 5 Fios são unipolares e não podem ter as tensões das bobinas invertidas usando este esquema.

Comentário de Thiago S. Malavasi em 2 julho 2013 às 23:18
Pessoal, uma dúvida:
Dá pra usar este circuito pra motores de 5 fios?
Comentário de Marcos Vinícius Cândido em 9 dezembro 2012 às 9:06

 Neste mesmo circuito, ao invés de usar os push button, como seria a ligação de um joystick de playstation ou o joystick shield? 

Comentário de joao carlos pandolfi santana em 30 outubro 2012 às 15:04

Muito Bom!!!

Ótimo para fazer servos motores caseiros usando motores de passo de sucata.

Muito top!

Parabéns pela iniciativa!!

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço