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/
Comentar
???? Ué???? O ED tem pinos para direção e pulso, conforme o que disse antes é possível fazer isso nele.
Agora....é possível dedicar pinos restantes do Arduino para especializa-los a "sentir" os dois sentidos (um botão gira a direita e o outro a esquerda, quando pressionar eles invertem o pino de direção e dão um sinal no pino de pulso. Aliás é possível fazer isso com um único pino, usando recurso de entrada analógica; assim, se um pino está em GND não está pressionado. Se está entre 1 e 2 V apertado para dar um pulso a direita, se entre 2 e 3 V apertado para dar um pulso a esquerda. Assim com um único pino é possível com dois botões fazer o motor girar nos dois sentidos. Precisa somente descobrir os valores dos resistores a serem usados em um divisor de tensão.
Pesquise mais um pouquinho.
mas eu estou a utilizar a esy driver
Se vc. colocar um diodo no pino que sai do microprocessador para o driver e depois dele colocar um resistor (10KOhm) ligando até o GND e no mesmo ponto colocar um botão normalmente aberto ligando ao Vcc, vc. consegue a cada pulso no botão fazer o motor dar um passo. Se fizer o mesmo esquema para o pino que sai do microprocessador e vai para o pino de direção, apertando os dois botões vc. consegue fazer o motor girar na outra direção. Mas atenção: Após toda a movimentação que vc. deseja, precisa zerar os eixos e começar a partir daquele ponto. Mais elaborado que isso requer mais estudo e muita modificação no software e na parte eletrônica. Boa sorte.
Por exemplo clicar num botao de pressao e o motor andar pra a direita e assim sucessivamente
eu sei , mas eu preciso de a controlar assim....
Como assim? CNC não é manual, é Controlado por Computador (por isso os dois "Cs).
Euclides Franco de Rezende
sera que me pode ajudar a controlar uma cnc manual?
agradecido
"Bons tempos" aqueles em que em vez de se mostrar o lixo que sai do Fritzing era ensinado ao povo como "ler" um esquema e assim, usando a massa cinzenta, não se montava um circuito e sim se construia um circuito.
A chance de erros eram muito menores, pois se lia, entendia e fazia algo que se baseava em um padrão.
Hoje é essa confusão de pinos, mudou o transistor ninguem consegue entender o que se liga a nada. Devido a baixa qualidade ninguem consegue saber qual o valor de um resistor, não se tem lista de componentes. Etc...etc...etc...
Cada vez mais se "dá medo" no tipo de profissional que sai por aí achando tudo isso "moderno" e "normal".
Cada vez mais, fica parecendo que está havendo uma "invasão de sobrinhos" ou que os "picaretas" mudaram de ramo (da informática para a macatrônica).
Esquemas e datasheets já!
Se usarmos a easy driver é igual o codigo?
NÃO SEI SE ESTOU ERRADO MAIS PERCEBI QUE O COLETOR ESTÁ LIGADO COM UM RESISTOR DE 10K NO POSITIVO E O EMISSOR LIGADO NO NEGATIVO. CONCLUSÃO, QUANDO HOUVER A POLARIZAÇÃO DA BASE O TRANSISTOR ENTRA EM CURTO ? ESTÁ CERTO ISTO ?
Acredito que ninguém percebeu as ligações, mais tanto a Saber Eletrônica quanto este post (não sei quem copiou de quem ?) e copiou ERRADO, viram que o positivo do protoboard está ligado no GND do Arduino.
http://www.sabereletronica.com.br/artigos-2/3453-trabalhos-praticos...
Vamos corrigir esta gafe, não podemos postar esquemas errados, os iniciantes piram.
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por
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)