Ajuda - Como montar um driver de motor de passo unipolar com componentes discretos?

 Olá, pessoal. Preciso fazer com que um motor de passo unipolar gire, e estou tendo um pouco de dificuldade pra contruir um drive. Pretendo usar um microcontrolador PIC para acioné-lo. Se alguém souber como, me ajude, por favor. Muito obrigado. :D

Exibições: 4168

Responder esta

Respostas a este tópico

Olá, Renan.
Os motores de passo podem ser acionados com um circuito simples, usando um transistor para o acionamento de cada bobina. Veja esta imagem que mostra um exemplo:
http://www.google.com.br/imgres?imgurl=http://www.py2bbs.qsl.br/pro...

Para usar um PIC você precisará programar uma sequência de acionamento das boninas. Por exemplo, um transistor será ligado em cada pino de saída do PIC. Assim você poderá acionar os transitores (um de cada vez) na sequência 1-2-3-4 para fazer o motor girar para um lado, e na sequência 4-3-2-1 para fazê-lo girar ao contrário. A velocidade com que você faz o acionamento entre os transistores define a velocidade de giro do motor.

Boa sorte!
Bom eu não sei qual o seu objetivo mas se for apenas algo educacional ou seja você quer apenas o motor girando, o seu circuito vai ficar parecendo com esse que eu fiz no início dos meus estudos para montar uma maquina CNC, na verdade espero que o seu fique melhor por que este está lastimável.
Esse circuitinho é exatamente o que o Felipe falou, 4 Transistores, no caso o TIP31 recebendo 4 sinais de 5v na base do transistor que chaveiam a carga em cada uma das 4 bobinas do meu motor unipolar.

esse tipo de acionamento chama-se phase-drive e trabalha bem com pequenas cargas e baixas velocidades.
O legal é que você pode controlar também motores normais e experimentar com PWM, essa é uma meneira legal de controlar velocidade sem perder torque, só por curiosidade aqui eu uso o ARDUINO.
Voltando ao controle de motor de passo, essa é a placa que uso atualmente:

como você pode ver ela é bem mais elaborada, ela se comunica com o controlador com apenas dois sinais chamados: Step e Dir (de direção), ou seja, o microntrolador apenas manda o numero de passos e a direção do movimento, a placa através do CI L297 se ecarrega-se do chaveamento das bobinas e de outras coisas, esse tipo de placa atinge velocidades maiores e potência mais elevada já que existe um monitoramento da corrente que vai para as bobinas, qualquer duvida posta aí.
Valeu mesmo, cara.. consegui fazer o driver com a ajuda. Usei 4 TIP122. Como o motor era unipolar, só a sequência dos pulsos que era diferente, mas no datasheet do motor consegui encontrar a sequência correta. Muito obrigado mesmo pela ajuda!

Felipe Nascimento Martins disse:
Olá, Renan.
Os motores de passo podem ser acionados com um circuito simples, usando um transistor para o acionamento de cada bobina. Veja esta imagem que mostra um exemplo:
http://www.google.com.br/imgres?imgurl=http://www.py2bbs.qsl.br/pro...

Para usar um PIC você precisará programar uma sequência de acionamento das boninas. Por exemplo, um transistor será ligado em cada pino de saída do PIC. Assim você poderá acionar os transitores (um de cada vez) na sequência 1-2-3-4 para fazer o motor girar para um lado, e na sequência 4-3-2-1 para fazê-lo girar ao contrário. A velocidade com que você faz o acionamento entre os transistores define a velocidade de giro do motor.

Boa sorte!
Fala, Arilson! Valeu pela ajuda! Meu circuito ficou bem parecido com o seu, exceto que achei bom colocar uns resistores de pull-down pra garantir o nível lógico zero no TIP. Foi meio chato encontrar a sequência dos pulsos para o motor de passo unipolar, mas acabei encontrando um datasheet. Obrigadão pela ajuda! Funcionou bem!

Arilson Mendes disse:
Bom eu não sei qual o seu objetivo mas se for apenas algo educacional ou seja você quer apenas o motor girando, o seu circuito vai ficar parecendo com esse que eu fiz no início dos meus estudos para montar uma maquina CNC, na verdade espero que o seu fique melhor por que este está lastimável.
Esse circuitinho é exatamente o que o Felipe falou, 4 Transistores, no caso o TIP31 recebendo 4 sinais de 5v na base do transistor que chaveiam uma carga no caso cada um uma das 4 bobinas do meu motor unipolar.

esse tipo de acionamento chama-se phase-drive e trabalha bem com pequenas cargas e baixas velocidades.
O legal é que você bode controlar tambem motores normais e experimentar com PWM, só por curiosidade aqui eu uso o ARDUINO.
Essa é a placa que uso atualmente:

como você pode ver ela é bem mais elaborada e recebe apenas dois sinais do microcontrolador chamados step e dir (de direção) ou seja o microntrolador apenas manda o numero de passos e a direção do movimento a placa através do CI L297 o chaveamento das bobinas, esse tipo de placa atinge velocidades maiores e potência mais elevada já que existe um monitoramento da corrente que vai para as bobinas, qualquer duvida posta aí.
Cara é verdade lembro que escrevi uma rotina pro arduino variar a sequência dos pulsos, pois retirei o motor de uma impressora e não tinha como saber a sequência correta. Quanto ao resistor pull-down você tem razão, mas tive sorte, não lembro de ter tido problemas na época!
É.. talvez nem seja mesmo necessário, mas tinha resistores sobrando aqui, haha. Agora ficou umas dúvidas: como você conseguiu controlar o motor sem saber a sequência dos pulsos com o arduino? E outra: o L297, CI que inicialmente eu pensei em usar, é bom pra controlar motores bipolares apenas ou serve para os unipolares também? Acabei optando pelo PIC por poder programar a sequência dos pulsos. O problema é que tive que programar a sequência inversa para que o motor girasse no outro sentido. o sinal DIR é mesmo uma boa!
Valeu mais uma vez, Arilson!

Arilson Mendes disse:
Cara é verdade lembro que escrevi uma rotina pro arduino variar a sequência dos pulsos, pois retirei o motor de uma impressora e não tinha como saber a sequência correta. Quanto ao resistor pull-down você tem razão, mas tive sorte, não lembro de ter tido problemas na época!
São possíveis 24 combinações das bobinas, então mandava ele dar uns passos
assim
a-b-c-d
depois uns passos assim
b-a-c-d
depois
c-a-d-b,

foi trabalhoso mas era melhor que ficar trocando os contatos de lugar,

O L297 pode controlar motores unipolares também, a grande vantagem de utiliza-lo é poder usar tensões de alimentação maiores que a especificada pelo motor pois ele monitora a corrente, por exemplo meu motor é de 7 v mas estou usando 12v e poderia usar até 36v o resultado é mais velocidade e torque.

Usar o microcontrolador é legal pra aprender mas não é eficaz na pratica.
Os programas que controlam esses motores (eu uso o EMC2-Linux) variam a largura dos pulsos e com isso constroem rampas de aceleração e de desaceleração permitindo um significativo aumento da velocidade. Acredito que existam bibliotecas pro pic que melhorem a situação, pro arduino tem mas não usei, usava motor bipolar, uma coisa que notei é que lá fora usa-se muito motor bipolar,
inte mais
E aí Renan!
Que bom que conseguiu montar o driver.
Posta aí o arquivo com o Datasheet, ou o link para o arquivo, para ajudar quem estiver tendo a mesma dificuldade.
Abraços.
Boa noite colega..
Estou desenvolvendo um drive para motor de passo unipolar, e assim que eu terminar passo o esquema para você.
abraço

RSS

Destaques

Registre-se no
Lab de Garagem
Clicando aqui

Convide um
amigo para fazer
parte

curso gratis de arduino

© 2020   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço