0

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.

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.

Motor de passo Arduino todo desmontado e mostrando as engrenagens interiores

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ção5V à 12V
Número de polos1
Relação de Redução1/64
Ângulo de Variação0,352° à 0,088° por passo (Dependendo do modelo)
Resistência50 Ω 7%
Torque de Máximo2,2Kgf.cm
Diâmetro do eixo28mm
Passos por revoluçãoDe 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.

Pinagem do motor de passo 28BYJ-48

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.

Driver ULN2003 mostrando suas pinagens no módulo do motor de passo

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.

Montagem do circuito do Motor de Passo com um Arduino Uno feito no fritzing

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.

Print mostrando como instalar a biblioteca do motor de passo 28BYJ-48 na IDE do Arduino

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:

Print mostrando a biblioteca AccelStepper do motor de passo arduino

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.

Pequeno projeto de uma esteira que utiliza motor de passo e Arduino como componentes eletrônicos

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   

Imagem de projeto de um radar que usa motor de passo arduino e sensor ultrassonico

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. 

Imagem de um braço robótico industrial feito de palitos de madeira, motor de passo e Arduino

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.

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!

Flávio Babos
Estudante de Engenharia Mecatrônica pela Universidade Federal de Uberlândia (UFU), Flávio passa seu tempo empreendendo e estudando sobre eletrônica e tecnologia no geral. Já desenvolveu diversos projetos com Arduino e recentemente atuou na Empresa Júnior do seu curso gerenciando equipes de engenharia no setor de vendas e de projetos.

Comandos Elétricos: Conheça os Principais Tipos e Utilidades

Previous article

Indutor: Entenda Sua Definição, Aplicação e Principais Tipos

Next article

You may also like

Comments

Leave a reply

Your email address will not be published. Required fields are marked *

More in Arduino