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.
Tags:
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.
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.
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por