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.git
Entre na pasta raiz do projeto
cd Embarcados_Projeto01
Compile os executáveis do projeto
make
Execute o projeto
make run
As 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
DS18B20
lido pelo barramentoUART
pelaESP32
ou fornecida pelo terminal pelo usuário; -
Temperatura externa: proveniente do sensor
BME280
lido pelo barramentoI2C
; -
Temperatura de referência: proveniente do
potenciomêtro
lido pelo barramentoUART
pelaESP32
ou fornecida pelo terminal pelo usuário; -
Modo de controle: proveniente do
switch
lido pelo barramentoUART
pelaESP32
. -
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
ncurses
do 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
lcd
16x2.
bme280
módulo que fornece os drivers e funções para a recuperação de dados de temperatura;control
módulo resposável pela recuperação de informaçãoes, geração do sinal de controle e controle do sistema;crc
módulo responsável pela geração dos bytes de paridade usados para verificação da consistência dos dados transmitidos;csv
módulo responsável pela geração do arquivo de log CSV;display
módulo responsável pela comunicação com o display lcd 16x2;pid
módulo responsável por gerar o sinal de controle pela estrágia do PID (Controlador Proporcional Integral Derivativo);pwm
módulo responsável pela comunicação com os dispositivos de controle (Ventoinha e Resistor) pelaGPIO
usando o método doPWM
(Pulse Width Modulation);screen
módulo responsável pelo controle do terminal interativo;uart
mó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.