Você sabe o que é um motor de passo e para o que ele serve? Acompanhe este artigo e traremos detalhes do que é, o que pode fazer e como utilizar o motor de passo do modelo 28BYJ-48 através do Arduino.
Traremos também projetos que utilizam o motor de passo que vão inspirar sua criatividade na hora de definir seus projetos de desenvolvimento.
Para ampliar seu conhecimento na programação do Arduino recomendamos acessar o artigo completo sobre o como criar uma estação meteorológica com arduino. Lá utilizamos os módulos bluetooth, display LCD 16×2 e também o sensor de temperatura DHT22
👨💻 Comprar Agora – Kit Iniciante Arduino com Tutorial e + 20 Projetos ✅
COMO FUNCIONA O MOTOR DE PASSO 28BYJ-48
O motor de passo é um conjunto eletromecânico que transforma a energia elétrica inserida em seus polos em energia mecânica através da rotação de seu eixo.
Diferente do motor DC comum que pode ser controlado através do PWM do arduino, o motor de passo além da composição do motor, ele possui um conjunto de engrenagens que reduzem a velocidade final do motor, porém aumenta de forma significativa o torque e a precisão de movimento.
A imagem a seguir mostra a composição do motor de passo e suas engrenagens redutoras.
Especificações Técnicas
A tabela a seguir traz importantes informações técnicas sobre o motor de passo 28BYJ-48
Tensão de Operação | 5V à 12V |
Número de polos | 1 |
Relação de Redução | 1/64 |
Ângulo de Variação | 0,352° à 0,088° por passo (Dependendo do modelo) |
Resistência | 50 Ω 7% |
Torque de Máximo | 2,2Kgf.cm |
Diâmetro do eixo | 28mm |
Passos por revolução | De 1024 à 4096 (Dependendo do modelo) |
Por que precisamos de um driver?
Sabemos que a resistência dessa bobina é de 50Ω. Então, de acordo com a Lei de Ohm a corrente necessária para fazer este motor funcionar em sua totalidade seria de aproximadamente 100mA.
Sabemos também que cada pino do arduino suporta uma corrente máxima de 20mA, por isso existe a necessidade de utilizar o driver ULN2003, para garantir que a corrente necessária para o correto funcionamento do motor seja entregue sem danificar as portas do arduino.
MONTAGEM DO MOTOR DE PASSO COM ARDUINO
Para realizar a montagem de um circuito de funcionamento simples, segue a lista de materiais necessários.
Lista de Materiais
- Arduino Uno
- Motor de Passo 28BYJ-48
- Driver ULN2003
- Cabos Jumper macho-fêmea
Pinout do Motor
O motor de passo 28BYJ-48 possui uma sequência de fios coloridos que indicam a ligação necessária para alimentar corretamente suas bobinas, a imagem a seguir exibe como é feita a ligação das bobinas que compõe o motor.
Pinout do Driver
Além do conhecer as conexões do motor, também é fundamental conhecer os pinos do driver ULN2003, que interligará o arduino ao motor. As conexões são descritas na imagem a seguir.
Na placa do driver ULN2003, existem 4 leds que indicam o acionamento de acordo com a bobina que está sendo controlada no momento que o LED se acende. Ao lado dos pinos de alimentação também há um jumper que liga e desliga o motor de passo.
- Você sabia que o componente LED (light emission diode) também é um diodo? Então, essa é uma boa hora para você acessar o artigo e conhecer melhor sobre os diodos, para que servem e onde são utilizados!
Montagem no Fritzing
O arduino irá controlar o motor através do ULN2003, então a ligação entre os componentes é feita da seguinte maneira.
CÓDIGO
Para controlar este motor utilizaremos uma biblioteca chamada AccelStepper, que contém muitas funções prontas que facilitam e agilizam o desenvolvimento, a seguir veremos como instalar esta biblioteca.
Como instalar a biblioteca
Abrindo a IDE do arduino, em ferramentas acessaremos o gerenciador de bibliotecas, de acordo com a imagem abaixo.
Na janela do gerenciador de bibliotecas, no campo de pesquisa, insira a palavra “Accelstepper” e instale o primeiro resultado da pesquisa, de acordo com a imagem abaixo:
Código exemplo
Com a biblioteca devidamente instalada, vamos compilar e gravar um código que faça o arduino controlar o motor de passo, da maneira que ele fique em um loop que faça ele girar no sentido anti-horário.
O código para executar este comando segue abaixo, vale destacar que este simples código executa comandos que são aplicáveis para as mais diversas finalidades que este motor pode realizar, como controle da velocidade, aceleração e o ângulo de movimentação do motor.
//Inclui a biblioteca que contém as funções do motor de passo #include <AccelStepper.h> //Conversão de graus para steps: //360° = 1024 //180° = 512 //90° = 256 //60° = 170 //45° = 128 //30° = 85 //15° = 28 #define N_STEPS 1024 // Cria objeto SteperMotor indicando o numero de voltas e os pinos de controle AccelStepper StepperMotor (AccelStepper::FULL4WIRE, 8, 10, 9, 11); void setup() { // Configura a velocidade máxima em passos por segundo StepperMotor.setMaxSpeed(1000); // Configura a aceleração do motor StepperMotor.setAcceleration(100); // Define o movimento do motor StepperMotor.moveTo(N_STEPS); } void loop() { // Verifica se ainda existem passos a serem dados if (StepperMotor.distanceToGo() == 0){ // Executa o comando par dar uma volta no sentido contrário e parar no mesmo ponto. StepperMotor.moveTo(-StepperMotor.currentPosition()); } // Habilita as portas de controle do arduino para movimentar o motor StepperMotor.run(); }
Após ter enviado o código para o arduino e ter feito as conexões de todos os componentes, terá algo semelhante ao vídeo abaixo:
- Acesse também o material que preparei em um PDF Arduino: Uma apostila com 10 projetos com Arduino – um manual de projetos muito prático!
PROJETOS COM MOTOR DE PASSO
Com base no exemplo anterior, separamos mais alguns projetos de nível fácil, médio e avançado que foram feitos utilizando o mesmo motor de passo que vimos neste artigo para que você possa criar também.
Esteira
O primeiro exemplo e mais simples de se implementar é uma esteira transportadora industrial. Neste projeto do autor, utilizou um motor de passo para movimentar a esteira com uma velocidade conhecida, simulando uma esteira industrial.
Acesse o tutorial deste projeto através do vídeo no YouTube.
Radar
Neste projeto um pouco mais complexo, o autor através de um arduino, um motor de passo e um sensor ultrassônico, construiu um radar que detecta objetos de num raio de até 4m de distância com varredura de 360°. Se você se interessou por este projeto, veja também nosso outro artigo Sensor Ultrassônico com Arduino: Como Controlar? que explica como utilizar o sensor ultrassônico HC-SR04
Clique aqui e acesse o site do Hackaday para verificar o tutorial de construção do projeto radar.
Robô industrial
Por último e mais complexo nesta lista de projetos, temos um pequeno robô industrial. Além do arduino, o autor utilizou 3 motores de passo e 1 servo motor para a garra do robô.
Este tipo de robô é muito utilizado nas linhas de produção das maiores indústrias do mundo, e em menor escala este projeto é um grande desafio aos profissionais e entusiastas que almejam aperfeiçoar seus conhecimentos.
Para o projeto do robô industrial você consegue ver seu funcionamento e posteriormente acessar construção do mesmo através deste link do YouTube.
CONSIDERAÇÕES FINAIS
Como vimos neste artigo, a aplicação deste tipo de motor pode ser empregada nas mais diversas ideias de projetos e produtos. Conhecer o funcionamento deste item lhe permite alcançar um novo patamar na projeção e no desenvolvimento de suas ideias.
- Veja também o tutorial de como controlar servo motor com Arduino!
A partir de agora você tem o conhecimento para utilizar de forma geral os motores de passo deste modelo que vimos. Existem outros modelos de motores no mercado como os da família NEMA, muito utilizados em impressoras 3D, porém a lógica de funcionamento é bem semelhante ao que vimos neste artigo.
Espero ter ajudado você a entender melhor sobre motores de passo. Obrigado e até o próximo artigo!