Adquira estes componentes na Loja do Lab de Garagem
Este tutorial mostra como controlar o deslocamento (horário e anti-horário) de um motor de passo bipolar com o Arduino e o Easy Driver, rotacionando o motor em vários modos diferentes (passo inteiro, meio passo, 1/4 de passo e 1/8 de passo).
Para isto, serão necessários os seguintes componentes:
- 1 motor de passos bipolar (MERCURY SM-42BYG011-25)
O motor de passo é como motor elétrico comum (recebe a energia elétrica e converte-a em mecânica), porém ele divide sua rotação em vários intervalos (em graus), o que damos o nome de passos. Este utilizado no projeto, é de 200 passos por rotação (sendo cada pulso um passo). Pode-se dividir/configurar tanto os passos como os intervalos. E isto será tarefa do firmware.
Agora, monte o circuito a seguir com seus componentes:
Obs: Os barramentos de baixo da protoboard serão ligados a sua fonte/bateria de 9V mais adiante.
Então, abra a IDE do Arduino e digite o seguinte código:
/* Pinos de Configuração do Deslocamento (no Easy Driver):
//////////////////////////////////////////////
// MS1 MS2 //
// //
// LOW LOW = Passo completo //
// HIGH LOW = Meio passo //
// LOW HIGH = Quarto de Passo //
// HIGH HIGH = Oitavo de Passo //
// //
//////////////////////////////////////////////
*/
#define step_pin 3 // Define o pino 3 como pino dos passos
#define dir_pin 2 // Define o pino 2 como pino de direção
#define MS1 5 // Define o pino 5 como "MS1"
#define MS2 4 // Define o pino 4 como "MS2"
int direcao; // Para determinar o sentido do motor
int passos = 200; // Número de passos que você deseja executar (para passos completos, 200 = 1 volta)
void setup() {
pinMode(MS1, OUTPUT); // Configura "MS1" como saída
pinMode(MS2, OUTPUT); // Configura "MS2" como saída
pinMode(dir_pin, OUTPUT); // Configura "dir_pin" como saída
pinMode(step_pin, OUTPUT); // Configura "step_pin" como saída
digitalWrite(MS1, LOW); // Configura divisão de passos do motor (ver acima)
digitalWrite(MS2, LOW); // Configura divisão de passos do motor (ver acima)
digitalWrite(dir_pin, LOW); // Sentido (HIGH = anti-horário / LOW = horário) - Também pode ser alterado
}
void loop() {
while(passos>=0) { // Enquanto o valor de passos for maior ou igual a zero
digitalWrite(step_pin, HIGH); // Envia nível lógico alto para o pino de passos do motor
delay(5); // Aguarda 5ms para o próximo passo
digitalWrite(step_pin, LOW); // Envia nível lógico baixo para o pino de passos do motor
delay(5); // Aguarda 5ms para o próximo passo
passos--; // Decrementa a variável "passos"
}
}
Conecte sua fonte/bateria de 9V no seu circuito. Então faça o Upload do programa para o seu Arduino.
O seu controle de deslocamento do motor bipolar de passos está pronto !!! Altere as variáveis indicadas no código e execute o programa quantas vezes quiser. Esperemos que tenha gostado. Qualquer dúvida, poste aqui mesmo.
Até a próxima !!!
Links de Referência:
- Datasheet do Motor MERCURY SM-42BYG011-25
Comentar
alguem poderia fazer uma configuração eletronica de cnc 3 eixos ,para usinar aluminio ?
Muito bom!!!!
Gostaria de saber o que devo fazer , para usar esse sistema com alimentação de uma bateria de automóvel.
Parabéns pelo tutorial!!!
Como eu faço para colocar um potenciometro pra regular a velocidade?
E um botao que inverta o sentido do motor?
ola pessoal quero digitar um volor no teclado 4x4 e o motor rotacionar o valor digitado em graus
alguem por amor a Deus pode me ajudar
meu e-mail jdamata3@yahoo.com.br
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?
Alguem por favor que domina essa plaquinha teria como me informar o procedimento correto para ligar trez nema 23 com arduino para uma função de CNC? obs fonte de 24v motores de 13klgs, aguardo e obrigado...
Boa Noite , Pessoal
Compre um Driver chamado Stepdriver para motor de passo unipolar
não estou conseguindo programar , alguem puder ajudar agradeço
abraços
Olá pessoal, Bom dia! Gostaria de saber se consigo integrar esse sistema a um plc para que eu possa controlar o motor de passo via ihm, visto que eu preciso que o motor não de uma volta completa mas vire de 0º a 160º nos dois sentidos. ou seja, va de 0º a 160º e volte para 0º, cada pulso 1º para + ou para - , vou ter dois botões na ihm < - e + >. E vou acionar outros dois motores via relé na mesma ihm, ou seja, o equipamento te tres motores acionados via plc-ihm.
Obrigado pela atenção!...
essa bateria pode ser 12v??
BOA NOITE.
ALGUEM SABE SE E POSSIVEL O ARDUINO LER PULSOS DE UM SENSOR INDUTIVO E INFORMA-LOS PARA O EASY-DRIVER PARA CONTROLAR VELOCIDADE DO MOTOR DE PASSO....
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)