Tutorial Arduino - Motor de Passo 28BYJ-48 + driver ULN2003

Mais um Tutorial para os colegas do Lab de Garagem - Arduino controlando o motor de passo 

28BYJ-48 com o driver ULN2003.

Essa montagem, eu diria que é a mais simples para controle de um motor de passo (stepper motor). Nem por isso ela pode ser considerada ruim. Esse motorzinho tem uma redução interna que aumenta bem o torque, apesar do pequeno tamanho. O módulo de controle com o chip ULN2003 é bem pequeno também, o que pode facilitar a montagem em um seu projeto. 

As vantagens são a simplicidade na montagem , Sketch pode ser bem enxuto, o uso de tensão de 5V para alimentar o motor, etc. 

A desvantagens são que a rotação é baixa (devido a redução na caixa de engrenagens) ,  que  o motor unipolar é menos eficiente e o uso de quatro portas do Arduino. Alguns módulos de controle de motor de passo usam interfaces com duas portas apenas (por exemplo I2C). 

Favor interagir com o tutorial, somente assuntos relacionados com o mesmo. 

Se deseja esclarecer alguma outra dúvida, favor criar um novo tópico. 

Farei o Tutorial em partes. 

Para facilitar a pesquisa nos tópicos, criei esse índice :

A precisão de um motor de passo :
http://labdegaragem.com/forum/topics/tutorial-arduino-motor-de-pass...

Informações sobre o Motor de Passo 28BYJ-48 :
http://labdegaragem.com/forum/topics/tutorial-arduino-motor-de-pass...

Informações sobre o Módulo Driver ULN2003:
http://labdegaragem.com/forum/topics/tutorial-arduino-motor-de-pass...

Diagrama de montagem do Modulo Driver + Motor com Arduino:
http://labdegaragem.com/forum/topics/tutorial-arduino-motor-de-pass...

Primeiro exemplo - com dois botões para alterar o sentido da rotação:
http://labdegaragem.com/forum/topics/tutorial-arduino-motor-de-pass...


Segundo exemplo - controla-se o motor através do angulo:
http://labdegaragem.com/forum/topics/tutorial-arduino-motor-de-pass...
http://labdegaragem.com/forum/topics/tutorial-arduino-motor-de-pass...


Terceiro exemplo - Controle do motor através de um potenciômetro:
http://labdegaragem.com/forum/topics/tutorial-arduino-motor-de-pass...
http://labdegaragem.com/forum/topics/tutorial-arduino-motor-de-pass...


Quarto exemplo - Três voltas no sentido horário e mais duas voltas no sentido ant-horário :
http://labdegaragem.com/forum/topics/tutorial-arduino-motor-de-pass...
http://labdegaragem.com/forum/topics/tutorial-arduino-motor-de-pass...


Quinto exemplo - Acionamento com duplo sentido :
http://labdegaragem.com/forum/topics/tutorial-arduino-motor-de-pass...
http://labdegaragem.com/forum/topics/tutorial-arduino-motor-de-pass...

Aplicações com o Motor + Driver - Impressora de Ovos e Ploter de PCB:
http://labdegaragem.com/forum/topics/tutorial-arduino-motor-de-pass...

Aplicações com o Motor + Driver - Fotografia Time-lapse:
http://labdegaragem.com/forum/topics/tutorial-arduino-motor-de-pass...
http://labdegaragem.com/forum/topics/tutorial-arduino-motor-de-pass...

Motor de Passo - modos de operação :
http://labdegaragem.com/forum/topics/tutorial-arduino-motor-de-pass...

Motor de Passo - Modo Passo completo com baixo torque ( Wave Step):
http://labdegaragem.com/forum/topics/tutorial-arduino-motor-de-pass...

Motor de Passo - Modo Passo completo com alto torque ( Full Step):
http://labdegaragem.com/forum/topics/tutorial-arduino-motor-de-pass...

Motor de Passo - Modo Meio Passo ( Half Step):
http://labdegaragem.com/forum/topics/tutorial-arduino-motor-de-pass...

E muito mais !!!

Espero que gostem.  

Exibições: 69253

Responder esta

Respostas a este tópico

Boa noite galera. 

Está ficando mais um tutorial 100%. José, mais uma vez parabéns pela iniciativa. 

JA

Obrigado também por sua ajuda !

Abraços.

Gustavo

Realmente foi bom mesmo, um ajudando o outro, obrigado

Bom dia JGM,

Não tinha visto esse ainda, muito bom, como sempre, parabéns!!!

Abraços.

CK

Muito obrigado, amigos !

Minha colaboração. Tenho trabalhado bastante com motores de passo ultimamente, inclusive estou desenvolvendo robozinhos usando motores de passo como motores de tração. Fiz algumas classes para arduino especialmente direcionadas ao uso de motores de passo, tanto funcionando em dupla, para mover robôs quanto funcionando "solo" para outras aplicações. O diferencial dessas classes é que todas as funções são não bloqueantes. Movem o motor em "background" sem delays e dão a opção de usar o timer2 ou um timer via software que fiz. Além disso implementam recursos de aceleração/desaceleração e algum controle de vibrações.

A classe "solo" está descrita aqui:
https://fperrotti.wikispaces.com/Classe StepperMotorTm

A classe que controla um par de motores em configuração diferencial está descrita nas páginas:
https://fperrotti.wikispaces.com/Classe StepperRobot - Inicialização
https://fperrotti.wikispaces.com/Classe StepperRobot - Operação
https://fperrotti.wikispaces.com/Classe StepperRobot - Outros recursos

O download de todas elas (e mais algumas) pode ser feito aqui:

https://fperrotti.wikispaces.com/Bibliotecas+para+arduino

Estas classes funcionam tanto com drivers baseados no ULN2003 como o descrito neste post, como com os drivers baseados no L298, só não funcionam com drivers tipo "ramps", mas logo pretendo acrescentar estes também.

Espero que ajude,

Abraço.

Bom dia Francesco,
Excelente trabalho ! Algum dia farei testes com a sua biblioteca.
Se deseja seguir o padrão do Arduino, para criação de bibliotecas pode seguir esse roteiro.

Esse tutorial ensina como desenvolver uma Biblioteca :
https://www.arduino.cc/en/Hacking/LibraryTutorial

Esse é o guia de estilo para o desenvolvimento de uma Biblioteca:
https://www.arduino.cc/en/Reference/APIStyleGuide

O pessoal tem usado o Github para salvar as bibliotecas.

https://github.com/arduino/Arduino/tree/master/libraries

http://labdegaragem.com/profiles/blogs/tutorial-arduino-instalando-...

E muito obrigado pela colaboração !

Marcio boa noite , 

" Olhando no datasheet dele, tem uma propriedade "Speed Variation Ratio" = 1/64.

Não seria 64 giros por minuto? "

Veja a minha explicação sobre essa razão de variação de velocidade :

O mecanismo de redução é que tem essa razão d 1/64 

http://labdegaragem.com/forum/topics/tutorial-arduino-motor-de-pass...

Além disso , o motor de passo interno (sem considerar o mecanismo de redução) tem :

Angulo do passo : 5,625 graus => 64 passos/volta (360/64=5,625) 

Excelente tópico, discussão e tudo o mais! :)
Parabéns ao Autor por tanto conhecimento e estudos compartilhados!
Muito Obrigado.
Forte Abraço,

Rodrigo Costa.

Obrigado pelos elogios Rodrigo.  Agradeço também as contribuições dos colegas do Lab.

A melhor forma de aprender é ensinando. 

Ao editar esses tutoriais, tenho que pesquisar também. E dessa forma acabo aprendendo muito mais.

Qualquer dúvida, é só postar.

Abraços, 

Gustavo Murta 

Boa noite!
Estou com uma dificuldade em rodar shetch no Arduino mega o que poderia ser? Meu o objetivo e usar uma programação de alto torque mas não consegui usar estas no arduino mega. No uno roda blz, mas no mega não.

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço