Controlador de motor de passo sem Arduino

Como controlar um motor de passo sem Arduino

Este era meu antigo ateliê. Deixaram várias coisas pra trás.
Esse texto tem muito a ver um outro estudo que fiz depois desenvolvendo uma placa para driver de motor de passo bifásico.

Quando desmontei meu ateliê antigo, que era compartilhado, os colegas artistas deixaram umas coisas para trás. Uma delas era uma lâmpada controlada pelo som, acho – fazia parte do acervo do Paulinho, do grupo Fluxus. Por algum tempo este rapaz fez a iluminação de várias festas e casas noturnas. Acontece que esta lâmpada estava com o corpo quebrado e dentro dela tinha alguns componentes que me interessaram. Os LEDs e o motor de passo, principalmente. Catei o motor de passo. Era um BYJ48 de 12V.

Não sabia se o motor que peguei estava funcionando. Diferente dos motores elétricos convencionais, um motor de passo precisa que determinada tensão seja ligada e desligada sequencialmente em suas bobinas para que ele se movimente. Ele faz uma pequena fração de rotação por vez. Este motor tem cinco terminais: um para tensão de alimentação e mais quatro que precisam ser sequencialmente ligados com o terra para que a corrente circule pelas bobinas. Vi no data sheet do motor a sequência que precisa ser aplicada.

Sequência que precisa ser seguida para movimentar o motor de passo BYJ48 de 12V em sentido horário.

Então, liguei uma fonte de 12V no terminal vermelho e quatro botões de contato, um para cada terminal, que ligavam o terra a eles.

Após este teste, verifiquei que o motor estava funcionando: ligar o terra (0V) nos terminais do motor na sequência correta fez com que ele movesse seu eixo. Então, agora, precisaria gerar aquela sequência automaticamente. Para isso usaria um conjunto de circuitos integrados operando em 5V e usaria os transistores como chaves para fazer passar os 12V que o motor usa. Não é indicado usar diretamente o circuito integrado para permitir o fluxo de corrente elétrica de um motor porque esta corrente pode queimar o circuito, que opera com correntes muito baixas. Também por isso usei os transistores como chaves.

Para testar se o uso dos transistores como chaves daria certo, acionaria com os botões de contato, 5V na base de quatro transistores BC548, com as correntes devidamente limitadas por resistores. Para obter os 5V usei um LM7805 com os 12V ligados em sua entrada.

O coletor de cada transistor estava ligado ao terminal do motor, e o emissor estava ligado ao terra.

Após verificar que deu certo o acionamento usando transistores como chave, fiz a sequência de acionamentos acontecer automaticamente. Para fazer isso, usei um circuito integrado 555 para criar um clock temporizador. Este clock tem um de seus resistores de configuração sendo um potenciômetro, para que a frequência do clock possa ser alterada. Liguei este clock a um contador decimal 4017. Este contador estava configurado para contar até 4 pulsos (o quinto pulso estaria ligado ao reset do contador). E cada pino estaria ligado para entregar 5V a base de um transistor BC548 com corrente devidamente limitada por resistor de 1,5kΩ.

Após o sucesso do circuito acionador do motor de passo, consegui incrementá-lo para acionar o motor no sentido inverso de acordo com a seleção feita por uma chave de contato com trava. Esta chave conectava o terra de um conjunto ou outro de transistores. De acordo com o circuito que estivesse ligado, a sequência de acionamentos dos terminais do motor seria uma: assim o motor pode rodar no sentido horário ou anti-horário.

O diagrama do que foi ligado pode ser visto abaixo.

Diagrama de ligação do circuito controlador de motor de passo. Deu certo!

Usei, para fazer o gerador de pulsos, o site da Lei de Ohm e, para ver o funcionamento de cada componente, o All Datasheet. Para fazer as ilustrações, usei Inkscape.

Autor: xto

Sou uma pessoa importante para os que me conhecem e consideram.