Como usar com Arduino – Motor de Passo 28BYJ-48 com Driver ULN2003

Como usar com Arduino – Motor de Passo 28BYJ-48 com Driver ULN2003

img00_como_usar_com_arduino_motor_de_passo_28byj-48_com_driver_uln2003_uno_mega_2560_nano

– Descrição:

Motor de Passo 28BYJ-48 com Driver ULN2003 é um dos componentes mais utilizados em projetos robóticos, pois é um motor compacto, robusto e com extrema precisão no posicionamento (rotação) de um ângulo.

O acionamento do Motor de Passo 28BYJ-48 com Driver ULN2003 é feito pelo Driver de Corrente ULN2003 que acompanha o mesmo. Como o motor exige uma corrente mais alta que a fornecida pelo microcontrolador, faz-se necessário o uso do driver.

– Especificações e características (Motor de Passo 28BYJ-48):

– Tensão de operação: 5VDC
– Tipo de motor: Unipolar
– Resistência: 60Ω/fase
– Torque máximo: 2,2Kgf.cm
– Ângulo Passo: 5,625 x 1/64
– Relação de redução: 1/64
– Extensão do fio: 24cm
– Diâmetro do motor: 28mm

– Especificações e características (Driver ULN2003):

– Controlador: ULN2003
– Tensão de operação: 5 a 12VDC
– Corrente de controle (máxima): 500mA/canal

– Aplicações:

Projetos de robótica com Arduino ou outras plataformas microcontroladas.

– Proposta da prática:

Utilizar o Motor de Passo 28BYJ-48 com Driver ULN2003 em conjunto com o Arduino e girar o eixo do motor no sentido horário e sentido anti-horário.

– Lista dos itens necessários:

01 – Arduino com Cabo USB
01 – Motor de Passo 28BYJ-48 com Driver ULN2003
06 – Cabos Jumper macho-fêmea

– Esquema de ligação da prática:

img01_capa_como_usar_com_arduino_motor_de_passo_28byj-48_com_driver_uln2003_uno_mega_2560_nano

– Tutorial de instalação e configuração do ambiente de programação do Arduino:

Arduino – Instalação e Configuração da IDE no Windows

– Código:

– Resultado final:

Gostou desta prática? Então deixa seu comentário, dúvida ou sugestão aí embaixo!

Loja online: https://www.masterwalkershop.com.br
Fan page no Facebook: https://www.facebook.com/masterwalkershop

Nos ajude a espalhar conhecimento clicando no botão de compartilhar (f Like) que está mais abaixo.

Obrigado e até a próxima!

Seu feedback é muito importante! Que tal dar uma nota para esta postagem?! Faça sua avaliação aqui embaixo.



Postagem anterior:
Próxima postagem:
Postagem feita por

Formado em Engenharia da Computação, Técnico em Eletroeletrônica, Fundador e Diretor da MasterWalker Electronic Shop. Se preocupa com o aprendizado dos seus clientes e daqueles interessados em aprender sobre Arduino e plataformas embarcadas em geral.

Existem 18 comentários para esta postagem
  1. Leandro dos Santos Pereira às 15:40

    Olá, boa tarde

    Tenho uma dúvida quanto a utilização em 12v, estive analisando e existem motores como estes já com marcação de 12v, e este indica que trabalha com 5 e 12v, ou seja, somente mudando a ‘çhavinha”no driver e utilizando os 12v ele vai passar a trabalhar com esta voltagem, mas isso não vai gerar sobreaquecimento do mesmo? Outra questão, pretendo criar uma automação de cortina com um deste, e para isto, acredito que necessito utilizar uma fonte de 12v, porém, de quantos amperes esta fonte precisa ser para que o motor entregue seu maior torque?
    Obrigado pelo tutorial.

    At.te,

    • Euler Oliveira Autor às 09:58

      Olá Leandro.

      Agradeço pelo comentário!

      O jumper da placa é apenas uma chave ON / OFF para caso do usuário precisar conectar uma chave para ligar / desligar o motor sem recorrer ao microcontrolador.

      O motor é preparado para funcionar em 12VDC. Recomendo que busque pelo datasheet do driver e do motor que vai usar para verificar qual a corrente minima deverá fornecer ao seu circuito em caso de usar somente o motor com o driver.

  2. Marcos às 10:54

    BOM DIA, ESTOU COM UM PROJETO EM UMA PEQUENA METALÚRGICA, E PRECISO FAZER COM QUE O MOTOR DE PASSO COM ARDUINO CONTROLE A MÁQUINA DE CORTE DE ARAMES. EU DIGITO O COMPRIMENTO E QUANTIDADE DE ARAMES, E A MÁQUINA FAZ ESSE PROCESSO AUTOMATICAMENTE. DESENROLA O ROLO DE ARAME, ATINGE O TAMANHO E ACIONA A GUILHOTINA, E REPETE ATÉ ATINGIR A QUANTIDADE SOLICITADA. TERIA COMO ME AJUDAR ?

    • Euler Oliveira Autor às 11:11

      Olá Marcos.

      Agradeço pelo comentário!

      No Youtube há projetos similares a este que pretende implementar. Recomendo que faça uma pesquisa por lá para ter um norte e começar o desenvolvimento.

  3. Lucas às 12:42

    Eu preciso de uma fonte externa para alimentar o motor a passo ou apenas com o arduino eu consigo isto, como voce mostra acima?

    • Euler Oliveira Autor às 14:56

      Olá Lucas.

      Agradeço pelo comentário!

      Para este modelo utilizado na prática, pode usar apenas o Arduino.

  4. Bruno às 23:15

    Boa noite Euler

    Sou iniciante do Arduíno e programação, gostaria de fazer uma pequena programação igual a desse tutorial, porém incluindo dois botões. Um botão para rodar no sentido horário (1/2 volta) e o outro botão para o sentido anti-horario, também em meia volta. Já tentei com pequena aulas no YT. Mas não estou conseguindo concluir… Poderia me ajudar ?

  5. Reney às 15:53

    boa tarde euler, eu preciso incluir nesse programa um modulo bluethoot para controla-lo, como faço isso?

    • Euler Oliveira Autor às 18:05

      Olá Reney.

      Agradeço pelo comentário!

      Ainda não temos aqui no Blog tutorial similar a este projeto que quer implementar.

  6. Elvis às 23:29

    Boa noite Euler.
    Você poderia me ajudar com.um código ou programa para meu motor de passo 28byj gire 1 rpm?
    Uso o arduino uno.
    Obrigado
    Elvis

  7. Anderson Costa às 13:36

    o código está fazendo rodar somente pra 1 lado.
    Por favor me ajude

    • Euler Oliveira Autor às 17:48

      Olá Anderson Costa.

      Copie novamente o código da postagem e carregue no seu Arduino para testar.

    • Luis Fernando às 23:07

      Os dois laços “For” estão iguais. Altere um para “i–” e o operador de “”.

      • Luis Fernando às 23:11

        #include //INCLUSÃO DE BIBLIOTECA

        const int stepsPerRevolution = 48; //NÚMERO DE PASSOS POR VOLTA

        Stepper myStepper(stepsPerRevolution, 8,10,9,11); //INICIALIZA O MOTOR UTILIZANDO OS PINOS DIGITAIS 8, 9, 10, 11

        void setup(){
        myStepper.setSpeed(150); //VELOCIDADE DO MOTOR
        }
        void loop(){
        //LAÇO “for” QUE LIMITA O TEMPO EM QUE O MOTOR GIRA NO SENTIDO ANTI-HORÁRIO
        for(int i = 0; i 1; i–){//PARA “i” IGUAL A 0, ENQUANTO “i” MENOR QUE 50 INCREMENTA “i”
        myStepper.step(-stepsPerRevolution); //GIRA O MOTOR NO SENTIDO HORÁRIO
        }
        }

  8. vitor às 22:22

    Ola, td bom??

    Estou tentando fazer a conecção do arduino com o motor de passo, contudo não tenho conectores macho-fêmea.

    Ja tentei com conectores macho-macho, mas tem momentos que fica com mau contato… teria alguma dica para que seja possível a conexão??

    • Euler Oliveira Autor às 09:31

      Olá Vitor.

      Neste caso, o ideal é que utilize os jumpers corretos ou que faça solda dos fios aos conectores do driver ULN2003.