Arduino – Controle de Motor de Passo por Encoder 9


Bem-vindo a mais um artigo aqui na EletronWorld. Hoje vamos efetuar a configuração e programação de um motor de passo junto a um encoder rotativo. Para fazer isso, além do Arduino, irei utilizar os componentes a seguir.

Componentes

Um Típico motor de passo, comumente vendido pelas lojas de componentes eletrônicos. Que inclusive já vem com o módulo driver ULN2003. Veja na figura abaixo:

motordepassoUln2003

Figura 1 – Motor de Passo com Drive

 

Os motores de passo são amplamente utilizados em diversos equipamentos eletrônicos, e basicamente são motores os quais são empregados em situações onde se necessita maior precisão dos movimentos. Isso porque os mesmos permitem o ajuste do ângulo de rotação e controle de velocidade através de sinais de impulsos.

 

Outro componente utilizado neste tutorial, é um típico encoder. No caso estou utilizando o encoder Keyes KY-040. Basicamente ele converte movimentos rotativos em impulsos elétricos de onda quadrada. O modelo empregado, que também pode ser adquirido facilmente em lojas especializadas na área, possui ainda um botão, que pode ser utilizado ao pressionar o eixo do componente. Veja a figura abaixo:

 

EncoderKY040

Figura 2 – Encoder KY040

Por fim ainda, vamos colocar um resistor e um led para testar a funcionalidade do botão embutido junto ao encoder.

Circuito

Nosso objetivo aqui é movimentar o motor de passo através do encoder. O programa irá interpretar e enviar os comandos ao motor de passo. Para isso, iremos utilizar as interrupções no Arduino. Se você ainda não viu, recomendo que faça a leitura do artigo abaixo, que já foi publicado aqui recentemente.

Arduino Interrupções

Circuito

Figura 3 – Circuito completo

 

Código

 

 

Prática

 

Inscreva-se para ficar atualizado!

Inscreva-se agora e fique por dentro das novidades do site

Fique tranquilo, respeitamos sua privacidade!


Deixe um comentário

O seu endereço de e-mail não será publicado.

9 pensamentos em “Arduino – Controle de Motor de Passo por Encoder

  • juarez

    olà amigo boa noite eu tenho uma placa arduino dessa mesma do video e uma plaquinha Easydriver eu gostaria de ligar omotor de passo aoencoder da impressora se voce puder me ajudar me orientar nessas ligaçoes fico muito grato

  • MARCOS AUGUSTO BARBOSA DE GOES

    Foi muito útil, era o que eu estava precisando para controle dos movimentos do meu telescópio. Obrigado

  • MARCOS AUGUSTO BARBOSA DE GOES

    Bom Dia
    Como ficaria este “sketch” com o encoder JP17 da GBK Robotics, pois são os encoders que eu tenho; eles funcionam em portas analógicas. Esse seu “sketch ” não funcionou com eles; tentei adaptar mas não consegui. Me dá algumas dicas por favor.

  • Argel

    Boa tarde amigo, tem algum vídeo mostrando como fazer esse mesmo procedimento utilizando o módulo NRFl de rádio freqüência?
    Obrigado

  • Denilson Ferreira de Moraes

    Olá amigo.
    Gostaria de saber o que significam essas linhas na sua programação:
    Steps = 50;
    Steps = -50;
    Estou usando essa programação em um projeto.
    Grato.

  • Jader Bernardo Autor do post

    É uma função da biblioteca utilizada (Stepper), que define um número específico de passos que você pode atribuir.