Este sistema consiste em um gerenciador de temperaturas de um ambiente controlado desenvolvido como requisito de aprovação da matéria de Fundamentos de Sistemas Embarcados (2021/1) sob orientação do professor Renato Coral. Este sistema consiste em dois dispositivos que atuam no controle da temperatura, sendo um resistor, que gera calor, e uma ventoinha, que auxilia no resfriamento,. Nesse sistema existe um sensor de temperatura que interno que mede a temperatura do ambiente controlado.
Para conseguir atingir esse escopo, outros sensores são atuantes no esquema como evidencia o esquema abaixo.
Outros épicos do sistema são a exibição dos dados do sistema com atualização em real-time pelo terminal e interação para mudança dos parametros manualmente a qualquer instante. Os dados também são exibidos em um display LCD 16x2.
Dê o clone no repositório
git clone https://github.com/rogerioo/Embarcados_Projeto01.gitEntre na pasta raiz do projeto
cd Embarcados_Projeto01Compile os executáveis do projeto
makeExecute o projeto
make runAs entradas do sistema consiste tantos nas informações fornecidas pelos sensores como pelas definidas pelo usuário via terminal, de forma que:
-
Temperatura interna: proveniente do sensor
DS18B20lido pelo barramentoUARTpelaESP32ou fornecida pelo terminal pelo usuário; -
Temperatura externa: proveniente do sensor
BME280lido pelo barramentoI2C; -
Temperatura de referência: proveniente do
potenciomêtrolido pelo barramentoUARTpelaESP32ou fornecida pelo terminal pelo usuário; -
Modo de controle: proveniente do
switchlido pelo barramentoUARTpelaESP32. -
Parâmetros do PID (KP, KI, KD): usa o padrã 5 1 5 ou fornecida pelo terminal pelo usuário;
As saídas são dadas pelo retorno das informações do status do sistema, de forma que pode ser lida:
-
Pelo terminal, interfaceado pela biblioteca
ncursesdo C com atualizações emreal-time; -
Pelo arquivo de log, gerado para cada vez que o sistema é iniciado com a respectiva hora na pasta
logs; -
Pelo display
lcd16x2.
bme280módulo que fornece os drivers e funções para a recuperação de dados de temperatura;controlmódulo resposável pela recuperação de informaçãoes, geração do sinal de controle e controle do sistema;crcmódulo responsável pela geração dos bytes de paridade usados para verificação da consistência dos dados transmitidos;csvmódulo responsável pela geração do arquivo de log CSV;displaymódulo responsável pela comunicação com o display lcd 16x2;pidmódulo responsável por gerar o sinal de controle pela estrágia do PID (Controlador Proporcional Integral Derivativo);pwmmódulo responsável pela comunicação com os dispositivos de controle (Ventoinha e Resistor) pelaGPIOusando o método doPWM(Pulse Width Modulation);screenmódulo responsável pelo controle do terminal interativo;uartmódulo responsável pela comunicação com o barramento UART da ESP32.
Os gráficos abaixo evidenciam como o sistema opera dada cada estratégia de controle.
Usando como valor de histerese 3.
Usando como valor do KP, Ki e KD 5 1 5, respectivamente.





