Boa noite pessoal,

outro dia ao tentar ajudar um amigo aqui, descobri que existe muito pouca informação

para o uso simultâneo de vários steps motor com drivers que usam 2 fios (ou 3) step e

direction (e enable).

Tentei fazer o sketch dele funcionar, mas devido aos delays, um motor afetava o outro.

Até consegui fazer o uso de 2 motores funcionarem simultaneamente , mas ficou meio gambiara.

Cada motor precisava funcionar com velocidade diferente do outro.

Daí andei pensando um pouco, (as vezes tenho este ´péssimo costume), e tentei um sketch

usando o Timer1.

Como deu certo, ai tentei com 3 motores. e ainda assim funcionou bem, então tentei com

7 motores, cada um com uma velocidade diferente e ainda assim funcionou muito bem.

Pensei em transformar o sketch em uma biblioteca, mas como programação não é

minha praia de formação, acho que não consigo.

Segue anexo copia do sketch.

Para até 3 motores dá pra usar arduino uno, mini, nano, mas para mais motores será necessário 

usar o arduino mega.

Se testarem e encontrarem erros, por favor me avisem e  também fico aberto a qualquer

critica e ou sugestões.

RV mineirin

PS: O valor da velocidade é inverso, ou seja quanto maior o valor definido menor será a velocidade.

StepMultiple.ino         <   <   <  -------- SKETCH para teste 

Imagem do analisador lógico com steps de cada um dos 7  motores.

Exibições: 92

Responder esta

Respostas a este tópico

Bom dia amigo Rui, 

Já tentei desenvolver uma biblioteca para Arduino. Mas a minha dificuldade é a programção orientada por objeto.Isso não entra na minha cabeça. Quando estudei programação era estruturada. 

Creio que já deve ter estudado esse tutorial de como desenvolver uma Biblioteca. 

https://www.arduino.cc/en/Hacking/LibraryTutorial

Rui, acho que esse exemplo pode ser util para começar:

https://github.com/arduino-libraries/Stepper/tree/master

https://github.com/arduino-libraries/Stepper/tree/master/src

Sugiro que desenvolva a Biblioteca por partes. Inicialmente o arquivo StepMultiple.h.

Desenvolva primeiro sem a opção de usar ArduinoMega. Depois que tudo estiver funcionando, acrescente essa opção. 

Dentro da classe StepMultiplo,deverão existir  os objetos (as varíaveis e funções) públicos e privados. 

Esse objeto não entra na minha cabeça. KKKKK

Bom dia Gustavo,

obrigado pelo apoio.

Em outro projeto eu escrevi uma biblioteca, mas ela era bem simples.

Como esta é complexa e acho que a solução seria usar funções pointer, 

não tenho condições de escreve-las.

Abraços

RV mineirin

Rui boa noite,

Todas as funções são similares, repetidas. 

Não é complexa. 

Mas também não tenho experiência com pointers. 

https://www.cplusplus.com/doc/tutorial/pointers/

RSS

© 2021   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço