(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?  

Exibições: 92

Responder esta

Respostas a este tópico

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

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço