Olá pessoal,

Sou novo aqui e percebi que vocês ajudam muito a todos.
Preciso da ajuda de vocês para um projeto que fiz para arremessar bolas para a minha cachorrinha.
Em princípio está tudo funcionando, mas há 2 problemas:
1o. A posição inicial do motor de passo precisa ser sempre a mesma para empurrar a mola arremessadora, mas ao ligar a fonte (via interruptor) o motor se desloca cerca de 1/4 de volta (só ao ligar, depois fica normal, mas já na posição errada) e não tenho ideia porque isso acontece;
2o. Embora o motor de passo seja o NEMA17 e tenha torque de 3,6 kgf e a mola (já testei com balança digital) exija 2,6 kgf o motor não tem força para movimentar o braço com a mola.

Segue também anexo o código (desculpem, porque é de principiante).

Se puderem me ajudar, agradeço.
Abraço a todos.

SOLUÇÃO:

Problema1: Ao ligar a fonte o motor sai da posição inicial:

- Troquei a fonte 12 volts por uma bateria 9 volts e resolvido;

Problema2: Motor sem força:

- Solução mecânica, troquei o braço do motor por um pinhão e coloquei uma engrenagem grande no arremessador.

Obrigado a todos que ajudaram.

Exibições: 89

Anexos

Responder esta

Respostas a este tópico

Olá.

   Ao trabalhar com motores de passo o fim de curso é obrigatório. Vc precisa de uma rotina de inicialização par o motor achar sua posição correta. Caso negativo mesmo que resolva a questão da inicialização vc vai ter que lutar contra perda de sincronismo por "toda a vida". Nem que a resposta seja mandar ele virar contra o batente, forçando, mas com o alinhamento (zero) sendo feito.

  Geralmente essas viradinhas na inicialização acontecem quando o pino tem alguma função no Boot. Por ex vc usou o pino TX e os pulsos do texto que o bootloader gera é confundido com comandos (não parece ser seu caso). Um multimetro, led, osciloscópio ou forma de ver pulsos nesse pino pode matar a duvida.

   Os motores de passo são sempre meio fakes quanto a torque. Para que ele de o nominal é preciso que as condições sejam aquelas onde foi feito o teste, similar a radios que nuncam alcançam o nominal. 

   Um dos principais pontos da teoria/pratica do motor é que a tensão nominal deve ser aplicada com ele em movimento, mas com ele em movimento existe a autoindução, que é uma tensão. O que vale é a tensão aplicada alem da autoindução. Ou seja: Nominal 12V, induz 5V, para ter o torque nominal vc precisa por 17V. (exemplo chutado).

   Por isso equipamentos mais sérios chegam a por 35V para acionar motores de 12V. O motor não fica sobrecarregado pq o driver nem presta atenção a tensão e sim a corrente. Quando a corrente sobe ele corta (shopperiza). Por isso quando um motor fica forçado é comum ouvir um apito. Esse apito não é o chaveamento entre bobinas e sim chaveamento da bobina que está energizada, que como por um PWM faz um trabalho de picote da tensão, chegando num valor médio que o motor suporta.

   Enfim, usando drivers "profissionais" com tensões acima do nominal mas correntes ajustadas corretamente vc consegue os melhores resultados. 

Ok Eduardo,

Agradeço o retorno, mas muitas questões citadas por você infelizmente ainda não são do meu parco conhecimento.

Vou estudar mais sobre o fim de curso.

Obrigado

Bom dia JVB,
para facilitar nosso entendimento do seu projeto e porventura consiguir ajuda-lo, sugiro:

Coloque aqu informações :.

  • Qual arduino está usando;

  • Qual drive do step motor está usando;

  • Desenho ou foto das ligações;

  • Quanto amperes sua fonte pode fornecer;  Ambas fontes do arduino e do Step.

RV

Olá,

Então seguem as informações (tentei anexar um vídeo mas não consegui).

- Qual arduino está usando: Nano

- Qual driver do step motor: A4988 (segui o tutorial do professor José Gustavo Abreu publicado aqui em 27 março 2016).

- Desenho das ligações: (anexo)

- Quantos amperes a fonte pode fornecer: A fonte é de 12volts 2000Ma (tem um regulador de tensão para 5 volts para o Arduino, mas sinceramente não sei qual a corrente). Como pode ser visto no desenho Esquemático  fonte alimenta o driver pelo terminal VDD do Driver com um Capacitor entre o positivo e o negativo.

Anexos

Bom dia JVB,Bom dia JVB,

o segundo problema (falta de força do motor), talvez seja ocasionado pela
 configuração do módulo A4988.

Este módulo tem 3 jumpers para configurar como o step motor deve rodar.

Estes jumper recebem a numeração MS1, MS2 e MS3 , este MS são as iniciais de
Micro Step.  E são usados principalmente quando se necessita de steps pequenos no motor,

mas como efeito colateral existe uma perda de torque do motor.

Nesta tabela vc encontra como ligar os jumper em função de coo vc quer configurar o motor.

MS1    MS2    MS3    Microstep Resolution

Low      Low     Low           Full step

High     Low     Low           Half step

Low      High    Low           Quarter step

High     High    Low           Eighth step

High     High    High          Sixteenth step

No seu caso deve ligar como Full Step, já que não precisa micro steps.

Este modulo de sensor que você está usando no projeto, que tipo é e qual a finalidade dele?

Agora enquanto vc testa com esta configuração,

vou tentar entender porque ocorre o primeiro problema.

RV

Olá mineirin RV,

Quanto a configuração dos pinos steps, segundo os tutoriais, os pinos MS1, MS2 e MS3 tem resistores conectados no terra (pull down). Portanto se não conectar esses pinos em alguma porta de um microcontrolador, o modo que será usado é o Passo completo ( Full Step). então acredito que não seja isso, pois neste caso já está no modo Full Step.

Em relação ao avanço inicial do motor, li em um tutorial que  o pino ENABLE trata um sinal baixo que ativa os drivers do motor (neste caso o A4988).
O pino -ENABLE também tem um resistor conectado no terra (pull down) , portanto se não conectar no microcontrolador, o módulo ficará sempre ativo.

No meu caso ele está conectado na porta 10 (conforme coódigo), mas não tem nenhuma função para esta porta. Pergunto qual seria o comando para que utilizando o pino ENABLE o driver inicia-se desativado e se seria possível colocar no Void Setup uma instrução para ativá-lo?

Obrigado

 

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