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...
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: 29967

Responder esta

Respostas a este tópico

Olá Mestre JGAM,

Mais uma grande iniciativa! Parabéns.

Estarei acompanhando e aprendendo.

Grande abraço,

  'Eiju

Grande Celso, obrigado pelos elogios. 

Sempre admirei os motores de passo. 

Pretendo divulgar informações esclarecedoras sobre esse circuito driver + motor de passo. 

Grande abraço. 

Gustavo

 A precisão de um motor de passo

Vamos supor que temos um motor de passo com as seguintes características:

- Voltagem: 12 v;
- Corrente: 340 mA;
- Resistência da bobina: 36 ohm;
- Graus: 7.5º

Precisão de 7.5º
numero de passos de um motor

Na figura acima a distância entre os ponto azuis é de 7.5º.

Para sabermos quantos passos são necessários para que o motor gire 360º, faça os seguintes cálculos:

Passos/Volta = 360º / 7.5º;
Passos/Volta = 48.

Um motor com precisão de 7.5º, necessita dar 48 passos para completar uma volta.

Fonte retirada; http://www.electronica-pt.com/motores-passo

Juan bom dia, 

Muito boa a sua colaboração. Todos estão convidados a complementar o tutorial. 

Nem eu sabia que em português, a precisão de um motor é quantidades de passos por uma revolução.

Em inglês eles chamam essa especificação de Resolution = steps per revolution. (Resolução = passos por volta)

Nas folhas de especificação (Data sheet) é mais encontrado STEP ANGLE, isto é graus por passo.

Abraços e obrigado.

Informações sobre o Motor de Passo 28BYJ-48 :

Esse é mais um motorzinho fabricado na China. Ele deve ser produzido em larga escala e por isso ele é bem barato. 

Interessante dele que é que pode ser alimentado com 5V e consome baixa corrente, o que facilita a montagem. 

Essas são as especificações  do Motor  28BYJ-48: 

(Anexei o arquivo do Datasheet) 

A distância entre os dois suportes de parafusos é de 35 mm. O diâmetro do motor é de 28 mm e a profundidade é de 19 mm. O diâmetro do eixo é 5mm, mas ele é chanfrado. 

Tensão de operação : 5V CC

Número de fases : 4

Razão da variação de velocidade : 1/64  (mecanismo de redução) 

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

Resistência CC : 50 ohms

Frequência : 100 Hz 

Torque de tração: > 34,3 mN.m

Esse é o diagrama do motor (desenhado por mim) :

OBS: a resistência medida nas bobinas  do meu motor foi de 23 ohms.

Assim podemos deduzir o consumo estático de corrente em cada bobina :

I = V / R = 5V / 23 = 217 mA aproximamente ( a corrente medida foi um valor aproximado disso) 

Para entender o mecanismo de redução do motor, vejam esse excelente video :

Anexos

Vejam a engenhoca que esse cara fez para medir o torque do Motor 28BYJ-48 !

Esse mesmo cara transformou o Motor Unipolar 28BYJ-48 em Bipolar !

Abriu o motor e cortou a conexão comum entre os dois pares de bobinas. 

E assim aumentou bastante o torque.

Galera, descobri que existem variações na montagem do cabo do Motor 28BYJ-48/5V.

No meu motor, o fio vermelho (comum) esta no pino 5 do conector.

Existe outro motor onde o fio vermelho esta no pino 3 ! 

E o fio amarelo e Laranja estão na sequência inversa. 

Portanto os programas podem apresentar problemas devido à essa diversidade.

Se o motor estiver vibrando ou movendo-se no sentido incorreto, faça a troca de duas Fases. 

Por exemplo troque o fio do Pino 9 com o Pino 10 do Arduino. 

Mais informações sobre esse versátil motorzinho 28BYJ48/5V :

http://forum.arduino.cc/index.php?topic=71964.15

Uns caras no Forum do Arduino desmontaram o motor para entender como funciona a caixa de redução de engrenagens. Muito curioso !

Como podem ver, a caixa tem várias engrenagens ( 31 dentes, 32 dentes, 26 dentes, 22 dentes, 11 dentes, 10 dentes, e mais duas com 9 dentes).

O pessoal fez alguns cálculos para determinar com maior precisão qual era a redução. 

(31*32*26*22)/(11*10*9*9) = 283712/4455 = 25792/405 = 63,68395...

Na especificação do fabricante, ele aproximou o valor para 64.

Para calcular o número de passos do motor interno  para girar uma volta do eixo externo (com redução) :

(64 * 25792)/405 =  4075,7728395..

Isto é , são necessários aproximadamente 4075 passos  no motor de passo interno, para uma volta no eixo externo. Esse valor pode ter uma pequena variação devido as folgas nas engrenagens (que são muitas). 

Obrigado por compartilhar essas informações, sobre a mecânica interna desse pequeno grande motor. São fundamentais para qualquer projeto.

Legal demais esse motorzinho !

Boa noite José.

Querendo resolver meu problema da minha laminadora, surgiram algumas dúvidas quanto ao acionamento deste motor.

Veja se estou correto, você disse acima que o poderoso necessita de 4075 pulsos para dar uma volta, ou seja se quiser que o mesmo tenha uma rotação de 15 rpm, necessito de 4075*15*60 =  3.667.500 pulsos por minuto ? 

Estava querendo montar um circuito com um 4017 e um oscilador astável com 555, determinando um duty com uma frequencia de 3,66Mhz para se obter um velocidade aproximada de 15 rpm. Será que vira ?  

Acho que não conseguirá obter a rotação de 15 RPM.

Pois existe limitação na frequência do motor !

Sua frequencia = 4075 x 15 = 61125 Hz

(não confunda frequência com RPM).

Informações do Datasheet : 

Rated voltage : 5VDC
Number of Phase 4
Speed Variation Ratio 1/64
Stride Angle 5.625° /64
Frequency 100Hz
DC resistance 50Ω±7%(25℃)
Idle In-traction Frequency > 600Hz
Idle Out-traction Frequency > 1000Hz
In-traction Torque >34.3mN.m(120Hz)
Self-positioning Torque >34.3mN.m
Friction torque 600-1200 gf.cm
Pull in torque 300 gf.cm
Insulated resistance >10MΩ(500V)
Insulated electricity power 600VAC/1mA/1s
Insulation grade A
Rise in Temperature <40K(120Hz)
Noise <35dB(120Hz,No load,10cm)
Model 28BYJ-48 – 5V

Mas porque não usa outro motor ?

RSS

Destaques

Registre-se no
Lab de Garagem
Clicando aqui

Convide um
amigo para fazer
parte

curso gratis de arduino

© 2017   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço