Teste de PID Digital em Arduíno Uno

Breve descrição:

Este algoritmo foi desenvolvido para placa Arduino Uno, juntamente com um pequeno "shield" desenvolvido especialmente para testes (outras placas de interfaceamento com o sistema físico real estão atualmente em desenvolvimento/construção, 15/04/2024).

Hardware:

Diagrama elétrico:

arduino_PID_test5_proto_Esquematico

Comentários:

Software/Interface com usuário:

Foi prevista uma interface com usuário: via Comunicação serial/USB. Isto é, o usuário pode modificar em tempo de execução o modo de operação da placa (modo manual/automático), pode alterar parâmetros do PID, modificar referência ("set-point") entre outas opções.

Existe a função 'process_instruction()' capaz de processar comandos recebidos via porta serial como:

Obs.: Se o modo 'verbouse' estiver ativado, enquanto a string enviada pela porta serial estiver sendo processada, poderá ser notado uma pausa na atualização de valores do processo que estavam sendo enviados pela porta serial.

Segue abaixo exemplo de parte do código ( PID_digital_arduino.ino -- versão de 22/05/2024 - PID paralelo formato de posição):

PID_digital_arduino_snap_png

Exemplo de uso:

Este algoritmo quando executado, gera (na porta serial ou "Monitor Serial" da IDE do Arduíno), algo como:

Se for ativado o "Serial Plotter" obtemos algo como:

teste_algo5

Obs.: No caso acima, o modo automático foi ativado e o LDR foi "bloqueado" (tampado para não receber nenhuma informação luminosa). E inicialmente o Serial plotter fica "parado" enquanto a placa está sendo "setada" (comando r 200 para estabelecer a referência, ) e posteriormente a placa foi colocada no modo automático (enviado comandoa) e depois retirada do modo automático (enviado a novamente). Quando esta placa entra e saí do modo automático, o "modo verbouse" é automaticamente comutado.

teste algoritmo PID em Arduíno Uno - YouTube (8 segundos).

Fim (página iniciada em 18/04/2024; atualizada em 22/05/2024) 🎵.