(Bom dia, Boa tarde, Boa noite)
Estou desenvolvendo um sistema de levitação magnética utilizando um sensor hall como sensor de posição, o sensor é responsável por fazer a leitura da posição de um imã permanente e com isso fazer o arduino faz o controle da corrente de um eletroímã para que o ímã permanente sempre fique flutuando. o sistema funcionou maravilhosamente bem... entretanto eu estou com problemas quanto a captura dos dados, estou utilizando uma biblioteca PID para fazer o controle da corrente do meu eletroimã, o programa foi feito de uma maneira que utilizando os comandos serial eu pudesse verificar alguns dados tais como o P, I, e D do controlador, bem como a saida output que é a soma dos parametros dos controladores. indo direto ao ponto... quando eu utilizo os comandos Serial.print para que eu possa acompanhar os dados meu sistema para de funcionar. A impressão que eu tenho é que ele deixa o meu sistema mais lento de uma maneira que o programa não consegue finalizar os calculos para que meu sistema continue a funcionar perfeitamente. Queria saber se há alguma maneira de ler dados do arduíno que não seja os comandos serial?
Tags:
Se vc estiver "imprimindo" muita coisa realmente ele freia o processamento.
A interface serial é lenta. Se vc enche o buffer ele para aguardando que mais espaço seja liberado nele.
Pense que se é um humano que vai ler 2 leituras por segundo bastam.
Use velocidades altas a menos que haja distancia envolvida. 115200kbps, por ex.
Bom dia JAC,
acredito que a solução para este problema de "delay", causado pela "Serial" , será o uso de Multitasking.
No arduino vc consegue "emular" Multitasking com o uso da biblioteca THREAD.H.
Depois conta o resultado pra gente.
RV
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por