UNIVERSIDADE ESTADUAL PAULISTA - UNESP Instituto de Ciência e Tecnologia - Campus de Sorocaba ADILSON RODRIGUES MEIRA MONITORAÇÃO EMBARCADA DE TEMPERATURA, PH E NÍVEL CAPACITIVO: SIMULAÇÃO E ANÁLISE Sorocaba 2025 ADILSON RODRIGUES MEIRA MONITORAÇÃO EMBARCADA DE TEMPERATURA, PH E NÍVEL CAPACITIVO: SIMULAÇÃO E ANÁLISE Dissertação apresentada à Universidade Estadual Paulista (UNESP), Instituto de Ciência e Tecnologia, Sorocaba, para obtenção do título de Mestre em Engenharia Elétrica. Área de Concentração: Sistemas Eletrônicos Orientador: Prof. Dr. Cleber Alexandre de Amorim Sorocaba 2025 IMPACTO POTENCIAL DESTA PESQUISA IMPACTO POTENCIAL DESTA PESQUISA Essa pesquisa proporciona uma ampliação no conhecimento de simulação e análise para avaliação de dispositivos sensores, permitindo no decorrer das simulações - principalmente na fase inicial de desenvolvimento, redução de custos, aperfeiçoamento dos circuitos, e quando implementados no futuro, podem promover meios para aumentar a qualidade de vida das pessoas e geração recursos futuros pela monitoração. POTENTIAL IMPACT OF THIS RESEARCH This research proportionates an ampliation in acknowledge of simulation and analysis for sensor dispositive evaluation, allowing in the long run of simulations – mainly in start phase of development, the cost reduction, circuit enhancing, and when implemented in future, may promote ways to rise quality of people lives up and generation of future resource by monitoring. AGRADECIMENTOS Agradeço aos meus pais, Anita Rodrigues Meira e Alfredo Meira Netto, que sempre me incentivaram nos estudos, transmitindo não apenas conhecimento, mas também valores essenciais por meio da educação e do cuidado desde os primeiros anos da minha vida. À minha irmã, Adelnice Rodrigues Meira, por sua constante colaboração, apoio e paciência durante o desenvolvimento dos meus trabalhos acadêmicos. Ao meu orientador, Prof. Dr. Cleber Alexandre de Amorim, pela orientação precisa, pelas contribuições valiosas ao longo do mestrado e pelo profissionalismo demonstrado em todas as etapas deste processo. Agradeço também à Universidade Estadual Paulista (UNESP), Instituto de Ciência e Tecnologia de Sorocaba pela oportunidade de cursar o programa de pós- graduação e pelo suporte institucional oferecido. RESUMO Sistemas de monitoração embarcados têm sido cada vez mais empregados em contextos industriais, ambientais e científicos, possibilitando o acompanhamento em tempo real de variáveis físicas e químicas. Esta dissertação apresenta o desenvolvimento e a simulação de três circuitos de sensores integrados a um sistema microcontrolado baseado na plataforma Arduino Uno: sensores de temperatura (LM35, TMP36 e DS18B20), um sensor de pH e um sensor capacitivo para medição de nível. As simulações foram realizadas nos ambientes Proteus e Arduino IDE, e os dados processados por funções de conversão ajustadas a partir do coeficiente de determinação (R²). Os resultados evidenciam que os sensores de temperatura operam de forma eficiente na faixa de 30 °C a 130 °C, com erros inferiores a 1% para o LM35 e TMP36, e erro praticamente nulo para o DS18B20. O sensor de pH foi submetido a um processo de calibração utilizando soluções-tampão de pH 4, 7 e 10 em diferentes temperaturas, o que permitiu avaliar sua estabilidade térmica e ajustar a resposta do circuito. A curva de calibração obtida apresentou comportamento linear altamente preciso (R² = 1), confirmando a confiabilidade do método, ainda que maior sensibilidade térmica tenha sido observada em soluções neutras. O sensor capacitivo de nível, por sua vez, apresentou funções de conversão com R² superiores a 0,997 e erro máximo inferior a 6%. Conclui-se que os circuitos simulados operam de maneira confiável, em consonância com os dados dos fabricantes, e que a integração dos sensores avaliada nesta pesquisa possui elevado potencial de aplicação em sistemas de monitoramento, sobretudo quando associada a tecnologias emergentes como IoT e AIoT. Palavras-chave: Sensores; Semicondutores, Microcontroladores, Métodos de Simulação. ABSTRACT Embedded monitoring systems have been increasingly employed in industrial, environmental, and scientific contexts, enabling real-time tracking of physical and chemical variables. This dissertation presents the development and simulation of three sensor circuits integrated into a microcontrolled system based on the Arduino Uno platform: temperature sensors (LM35, TMP36, and DS18B20), a pH sensor, and a capacitive sensor for level measurement. Simulations were carried out using Proteus and Arduino IDE, and the data were processed through conversion functions adjusted according to the coefficient of determination (R²). The results show that the temperature sensors operate efficiently within the range of 30 °C to 130 °C, with errors below 1% for LM35 and TMP36, and virtually no error for the DS18B20. The pH sensor was calibrated using buffer solutions at pH 4, 7, and 10 across different temperature ranges, which allowed for the evaluation of its thermal stability and the adjustment of the circuit response. The calibration curve exhibited a highly accurate linear behavior (R² = 1), validating the reliability of the method, although greater thermal sensitivity was observed in neutral solutions. The capacitive level sensor achieved conversion functions with R² values above 0.997 and maximum errors below 6%. It is concluded that the simulated circuits operate reliably and in agreement with manufacturer specifications, and that the integration of the evaluated sensors presents high potential for application in monitoring systems, especially when combined with emerging technologies such as IoT and AIoT. Keywords: Sensor; Semiconductor; Microcontroller; Simulation Method. LISTA DE FIGURAS Figura 1 – Sensores semicondutores de temperatura comumente utilizados em sistemas embarcados: a) LM35; b) TMP36; c) DS18B20. ........................................ 19 Figura 2 – Sensores de pH utilizados com microcontroladores: a) modelo SEN0161 com saída analógica; b) modelo SEN0169 com comunicação digital via interface serial. ......................................................................................................................... 20 Figura 3 – Circuitos simulados no Proteus: a) leitura de temperatura com sensor LM35, Arduino Uno e display LCD; b) leitura de pH com emulador de sensor, módulo amplificador, Arduino Uno e display. ......................................................................... 26 Figura 4 – Etapas da simulação do sensor LM35 com Arduino Uno no ambiente Proteus. Em a) é apresentado o circuito simulado contendo o microcontrolador Arduino Uno R3, o sensor LM35 e o display LCD LM016L, responsável pela exibição da temperatura captada; em b) é mostrado o código desenvolvido na interface do Arduino IDE, o qual, após compilado, gera o arquivo com extensão (.hex) necessário para a simulação no Proteus; enquanto que em c) visualiza-se a etapa de configuração do componente Arduino dentro do Proteus, onde o arquivo (.hex) é carregado na aba ‘Program File’, permitindo a execução do código no microcontrolador durante a simulação. ..................................................................... 28 Figura 5 – Simulação do sensor de temperatura digital DS18B20 utilizando Arduino e ambiente Proteus: a) apresenta o circuito implementado com o sensor DS18B20 conectado ao microcontrolador Arduino Uno, exibindo simultaneamente a leitura da temperatura em graus Celsius e Fahrenheit no display LCD e no terminal virtual. Também são mostradas as informações de identificação do sensor e os dados trafegados no barramento One-Wire; b) exibe o código desenvolvido no IDE do Arduino, responsável por realizar a leitura dos dados do sensor, converter os valores de temperatura para as duas escalas e enviá-los para as interfaces de saída simuladas. ................................................................................................................. 30 Figura 6 – Análise da comunicação entre o microcontrolador e o sensor DS18B20 durante a simulação no Proteus, utilizando o recurso de osciloscópio para visualizar os sinais no barramento de dados. A imagem geral da Figura 6 está dividida em cinco partes: a) mostra os três principais trechos da comunicação One-Wire entre o sensor e o microcontrolador: o primeiro pulso de presença enviado pelo DS18B20 após o pulso de reset do microcontrolador (setas azuis), o trem de pulsos correspondente aos comandos de ROM e conversão de temperatura (seta verde), e os dados referentes ao valor da temperatura convertida (seta vermelha); b) apresenta a marcação temporal de cada etapa: o tempo de resposta do sensor (250,67 ms), o tempo total da conversão (1,00 s) e o tempo total para finalização do processo (1,54 s); c) destaca o pulso de reset do microcontrolador com duração de aproximadamente 480 µs (confirmado com 490 µs na simulação), necessário para iniciar a comunicação; d) mostra o trecho de 21,97 ms correspondente ao envio dos comandos de ROM e início da conversão da temperatura; e) exibe o bloco final de 12,28 ms que contém os dados binários da temperatura lida pelo DS18B20. .......... 32 Figura 7 – Simulação da leitura de temperatura com o sensor TMP36. Em a), é mostrado o circuito no Proteus com os sensores LM35, TMP36 e DS18B20 conectados ao Arduino Uno e um display LCD para visualização dos dados. Em b), apresenta-se o código no Arduino IDE, com destaque para a equação de conversão que inclui o ajuste de offset característico do TMP36 (500mV a 0 °C), permitindo a correta exibição da temperatura. ............................................................................... 34 Figura 8 – Comportamento comparativo dos sensores de temperatura LM35 (preto), DS18B20 (vermelho) e TMP36 (azul) em relação à temperatura ideal, no intervalo de –55 °C a 150 °C. As curvas representam as leituras simuladas por cada sensor, demonstrando as faixas de operação e a precisão relativa entre os dispositivos ..... 36 Figura 9 – Gráficos de regressão linear comparando a temperatura ideal com as leituras dos sensores: (a) curva ideal de referência com equação y = x; (b) comportamento do sensor LM35, com leve desvio no intercepto e inclinação próxima de 1; (c) resposta do DS18B20, com ajuste perfeito à linha ideal, apresentando coeficiente de determinação R² = 1; (d) desempenho do TMP36, com boa linearidade, intercepto próximo de zero e R² elevado, indicando alta precisão. ........ 38 Figura 10 – Margem percentual de erro dos sensores LM35, DS18B20 e TMP36 em relação à temperatura ideal, no intervalo de -55 °C a 150 °C. Observa-se que o DS18B20 apresenta erro nulo dentro de sua faixa de leitura (-55 °C a 128 °C), enquanto o LM35 mostra erro de 100% abaixo de 0 °C devido à limitação de leitura negativa. O TMP36 exibe maior imprecisão entre -10 °C e +10 °C, com pico de erro próximo a 1 °C. .......................................................................................................... 39 Figura 11 – Relação linear crescente entre a resistência do potenciômetro (simulando o sensor de pH) e a tensão de saída. A simulação considera a variação do pH com base na resistividade, sendo a tensão mais alta associada a soluções alcalinas. ................................................................................................................... 42 Figura 12 – Etapas de configuração da simulação para leitura de pH no Proteus: (a) circuito completo com sensor de pH, módulo condicionador, display LCD e Arduino Uno; (b) inserção do arquivo (.hex) no sensor; (c) código-fonte no IDE Arduino com equação de conversão de tensão em pH; (d) programação do Arduino com o respectivo arquivo compilado. ................................................................................... 42 Figura 13 – Representação do comportamento do sinal PWM e da relação entre tensão média e níveis de pH. (a), (b) e (c) mostram formas de onda PWM com diferentes ciclos de trabalho representando níveis de pH distintos; (d) apresenta os dados coletados com os valores médios de tensão lidos e convertidos em níveis de pH; (e) exibe o mesmo conjunto de dados ajustado por regressão linear, evidenciando a equação y = 2,8 ∙ x com coeficiente de determinação R2 = 1, indicando excelente aderência ao modelo. ............................................................... 44 Figura 14 – Diagrama da simulação do circuito de medição capacitiva em função da submersão do sensor. O capacitor sensor (C1), posicionado dentro do tanque, tem sua capacitância lida e processada pelo microcontrolador (Arduino Uno), sendo o valor exibido no display LCD. A variação na capacitância, associada ao nível de submersão, permite estimar o nível de água de forma indireta. ................................ 46 Figura 15 – Sinais gerados pelo microcontrolador para leitura do sensor capacitivo. (a) Forma de onda quadrada; (b) Período de 220 µs (≈4545,45 Hz); (c) Duração do trem de pulsos: 21,90 ms; (d) Repetição a cada 2,09 s. ............................................ 47 Figura 16 – (a) Dispersão dos dados de leitura do microcontrolador em função da capacitância, com valores variando de 200 nF a 2,1 μF; (b) Ajuste exponencial de segunda ordem aos dados experimentais, com coeficiente de determinação R2 ≈ 0,998, indicando boa correlação entre as leituras do C e os valores reais de capacitância. ............................................................................................................. 48 Figura 17 – Gráficos representando a relação entre a capacitância e a medida de nível de água. (a) Ajuste por decaimento exponencial aplicado aos dados, representando com precisão a tendência de redução do nível conforme aumenta a capacitância; (b) Ajuste linear limitado aos sete primeiros pontos da curva, perda de aderência nos últimos valores, indicando que a aproximação linear é válida apenas em uma faixa restrita. ................................................................................................ 49 Figura 18 – Gráficos comparativos da margem de erro (%) entre os valores de nível reais e os estimados por duas funções de ajuste: exponencial e linear. (a) Apresenta o erro ao longo de toda a faixa de nível medida (0,01 a 0,10 m), evidenciando que a função linear apresenta erro elevado para valores iniciais, enquanto a função exponencial mantém erro mais distribuído. (b) Ampliação da região de interesse (0,02 a 0,10 m), destacando que, dentro dessa faixa operacional, ambos os modelos apresentam baixo erro, com vantagem para a função linear em termos de estabilidade e precisão pontual. ................................................................................ 50 Figura 19 – Evolução do pH da solução tampão padrão de pH 4 em diferentes temperaturas (26, 40, 50, 60 e 70 °C). Em (a) observa-se a variação do pH ao longo do tempo, com maior estabilidade em 26 °C e aumento da variabilidade em temperaturas elevadas. Em (b) é apresentada a relação entre pH e temperatura, indicando leve redução dos valores médios com o aquecimento. Em (c) mostra-se a manutenção estável das faixas de temperatura durante o ensaio. Em (d) são apresentados os valores médios de pH em cada condição, com maior precisão em 26 °C e 40 °C e redução gradual em temperaturas superiores. ................................ 56 Figura 20 – Resultados da solução tampão de pH 7 em diferentes temperaturas (26, 40, 50, 60 e 70 °C). Em (a) observa-se a evolução temporal do pH, estável em 26 °C e com oscilações mais acentuadas em temperaturas elevadas. Em (b) nota-se maior dispersão dos valores de pH conforme a temperatura aumenta, indicando perda de precisão. O painel (c) confirma a estabilidade térmica durante os ensaios, enquanto em (d) os valores médios de pH mostram-se próximos ao nominal apenas em 26 °C, com maior variabilidade em condições mais quentes. .............................................. 58 Figura 21 - Resultados da solução tampão de pH 10 em diferentes temperaturas (26, 40, 50, 60 e 70 °C). O painel (a) mostra a evolução do pH ao longo do tempo, com leituras mais consistentes em comparação aos casos ácido e neutro. Em (b) a dispersão é relativamente reduzida, mesmo em temperaturas elevadas, reforçando a estabilidade do sensor em meio alcalino. O painel (c) confirma a manutenção dos patamares térmicos durante o experimento e, em (d), observa-se que os valores médios de pH permanecem muito próximos entre si em todas as temperaturas testadas. .................................................................................................................... 60 SUMÁRIO 1. INTRODUÇÃO ......................................................................................... 12 1.1 OBJETIVO ................................................................................................ 14 1.1.1 Objetivo Geral........................................................................................... 14 1.1.2 Objetivos específicos ................................................................................ 14 2 CONCEITOS TEÓRICOS ........................................................................ 15 2.1 SIMULADORES ....................................................................................... 15 2.2 COMPILADORES ..................................................................................... 17 2.3 SENSORES ............................................................................................. 18 2.3.1 Sensores de Temperatura ........................................................................ 18 2.3.2 Sensores de pH ........................................................................................ 20 2.4 Processamento de Sinais e Análise de Dados ......................................... 21 2.4.1 Condicionamento de Sinais ...................................................................... 21 2.4.2 Conversão Analógico-Digital (A/D) ........................................................... 22 2.4.3 Ajuste de Curvas e Regressão Linear ...................................................... 23 2.4.4 Coeficiente de Determinação (R²) ............................................................ 23 3 MATERIAIS E MÉTODOS ....................................................................... 24 3.1 FERRAMENTAS E AMBIENTE DE SIMULAÇÃO .................................... 24 3.1.1 Simulação dos Circuitos de Temperatura e pH ........................................ 25 3.1.2 Simulação do Circuito Capacitivo para Medição de Nível ........................ 26 4 RESULTADOS ......................................................................................... 27 4.1 SENSORES DE TEMPERATURA ............................................................ 27 4.1.1 Sensor LM35 ............................................................................................ 27 4.1.2 Sensor DS18B20 ...................................................................................... 29 4.1.3 Sensor TMP36.......................................................................................... 33 4.1.4 Análise comparativa entre os sensores de temperatura ........................... 35 4.2 Sensor de pH ........................................................................................... 40 4.2.1 Simulação do circuito de pH ..................................................................... 40 4.3 Sensor de nível (capacitivo) ..................................................................... 45 4.4 Calibração do sensor de pH ..................................................................... 54 4.4.1 Padronização em Solução Ácida (pH 4) ................................................... 55 4.4.2 Padronização em Solução Neutra (pH 7) ................................................. 57 4.4.3 Padronização em Solução Básica (pH 10) ............................................... 59 4.4.4 Considerações sobre a padronização do sensor de pH ........................... 61 5 CONCLUSÕES ........................................................................................ 62 REFERÊNCIAS ........................................................................................ 64 12 1 INTRODUÇÃO Sistemas de monitoração são amplamente empregados em processos industriais, ambientais e científicos, possibilitando o acompanhamento, controle e registro de variáveis físicas e químicas em tempo real (1). Esses sistemas, compostos por sensores e microcontroladores, são fundamentais em aplicações que exigem precisão, confiabilidade e resposta rápida diante de alterações nos parâmetros monitorados. A crescente busca por automação, associada ao avanço de tecnologias acessíveis, favorece o desenvolvimento de soluções embarcadas com capacidade de coleta e processamento local de dados (2,3). Dentre as diversas áreas que se beneficiam do uso de sistemas de monitoração, destacam-se setores como qualidade e controle de água (4), agricultura de precisão (5), redução do carbono e mudança climática (6), fonte de energia renovável (7) agricultura de precisão (8) e saúde animal e humana (9,10,11) Em todos esses segmentos, a medição de grandezas como temperatura, pH, umidade, nível, pressão e concentração de gases torna-se essencial para garantir a eficiência dos processos e a segurança operacional. Em particular, o controle de variáveis físico-químicas é crucial em biodigestores anaeróbicos, onde a estabilidade térmica, a acidez do meio e a disponibilidade volumétrica influenciam diretamente na geração de biogás e no rendimento da digestão (6,7). Sistemas embarcados baseados em plataformas como o Arduino Uno R3 — que utiliza o microcontrolador Atmega 328P — têm se mostrado especialmente atrativos para aplicações didáticas, experimentais e até industriais, devido à sua versatilidade, baixo custo, vasta comunidade de suporte e compatibilidade com diferentes tipos de sensores (12,9,13). Por meio da integração com sensores apropriados, esses sistemas possibilitam a construção de protótipos funcionais de baixo custo, capazes de realizar medições, interpretar dados e interagir com atuadores ou interfaces de visualização. Neste trabalho, propõe-se o desenvolvimento e a simulação de três circuitos de monitoração embarcada, cada um dedicado à leitura de uma variável específica: temperatura, pH e nível de líquido. A proposta tem como finalidade analisar o comportamento de sensores amplamente utilizados, avaliando sua precisão, faixa de 13 operação e adequação para projetos embarcados. As simulações foram realizadas nos ambientes Proteus e Arduino IDE, permitindo a verificação do funcionamento dos circuitos em condições virtuais, sem a necessidade inicial de montagem física. A análise de temperatura foi conduzida com três sensores distintos: LM35, TMP36 e DS18B20, cada um com características específicas quanto à linearidade, faixa de medição, resolução e forma de conexão. Esses sensores foram selecionados por representarem soluções comumente utilizadas em projetos acadêmicos e industriais. A validação dos dados obtidos se deu por meio da comparação com os valores ideais simulados, com especial atenção às margens de erro e à resposta dos dispositivos dentro da faixa de -55 °C a 150 °C. No caso do pH, foi projetado um circuito baseado em um emulador que simula o comportamento de um sensor de hidrogênio por meio de variações resistivas, possibilitando a conversão dos sinais analógicos em leituras digitais compreensíveis pelo microcontrolador. A análise se concentrou na identificação da função de conversão mais adequada, utilizando regressão linear e coeficiente de determinação (R²) como critério para validação da precisão da função ajustada. Para o monitoramento de nível, foi desenvolvido um circuito baseado em sensor capacitivo de toque, cuja capacitância varia conforme a proximidade ou contato com o líquido simulado. A análise incluiu o mapeamento das leituras digitais do microcontrolador em valores de capacitância e posteriormente em valores de altura (nível), também utilizando regressão e validação por R² (14). As simulações demonstraram que os três sensores de temperatura apresentaram desempenho satisfatório na faixa de operação proposta, com margens de erro inferiores a 1% para o LM35 e o TMP36, e erro nulo para o DS18B20. A função de conversão do pH apresentou comportamento linear, com R² igual a 1, indicando excelente ajuste. No caso do sensor de nível, os ajustes geraram R² superiores a 0,997, com margens de erro dentro de limites aceitáveis para aplicações práticas. Vale destacar que o foco desta dissertação está centrado no desenvolvimento e análise dos circuitos e sensores sob simulação computacional, não abrangendo os aspectos específicos da linguagem de programação adotada nem os processos físico-químicos detalhados de biodigestores. A programação foi realizada em linguagem C++ via Arduino IDE, mas seu detalhamento linha a linha 14 não será tratado aqui, uma vez que o objetivo principal é a verificação funcional dos sistemas de monitoração simulados e a avaliação da viabilidade de suas aplicações em ambientes reais. Assim, esta pesquisa contribui para o aprimoramento de soluções embarcadas de monitoramento, oferecendo uma abordagem sistemática para a análise de sensores essenciais em processos de controle. O uso de ferramentas de simulação permite antecipar resultados, validar conceitos e reduzir custos em projetos que demandam prototipagem e testes, ampliando as possibilidades de aplicação de sistemas inteligentes em diferentes contextos da engenharia elétrica e áreas afins. 1.1 OBJETIVO 1.1.1 Objetivo Geral Desenvolver e validar por simulação um sistema de monitoramento com sensores de temperatura, pH e nível, visando aplicações em biodigestores e futura integração com IoT e AIoT. 1.1.2 Objetivos específicos i. Avaliar o desempenho dos sensores LM35, TMP36 e DS18B20 quanto à faixa de operação, precisão e tempo de resposta. ii. Desenvolver um circuito de medição de pH com sensor simulado via resistor variável, aplicando conversão linear. iii. Simular um sistema de medição de nível com sensor capacitivo de toque, usando funções lineares e exponenciais. iv. Utilizar o coeficiente de determinação (R²) para validar as funções de conversão aplicadas aos sensores. v. Testar a integração dos três sensores em um único sistema, verificando sua funcionalidade para biodigestores. 15 2 CONCEITOS TEÓRICOS Nesta seção, apresento os fundamentos teóricos que sustentam o desenvolvimento deste sistema de monitoração embarcado. A ideia é contextualizar as ferramentas e os componentes utilizados, começando pelos principais simuladores eletrônicos empregados em engenharia. Esses softwares têm papel fundamental na etapa de projeto e validação de circuitos, principalmente quando envolvem microcontroladores, sensores e sistemas de controle. Além disso, serão discutidos os princípios de funcionamento dos sensores utilizados ao longo do trabalho — incluindo sensores de temperatura (analógicos e digitais), sensores simulados de pH baseados em variação resistiva e PWM, e sensores de nível operando por variação capacitiva. Finalizo com os conceitos que dão suporte à análise dos dados coletados, como condicionamento de sinais, conversão A/D e regressão linear, com destaque para o coeficiente de determinação (R²), que foi essencial para validar as funções de conversão nos testes. 2.1 SIMULADORES Entre os simuladores disponíveis para o desenvolvimento de circuitos eletrônicos, o Proteus tem se mostrado adequado para aplicações que envolvem a integração entre hardware simulado e código de firmware, especialmente quando se utilizam microcontroladores das famílias Arduino, PIC e AVR. Uma de suas funcionalidades relevantes é a possibilidade de executar códigos compilados diretamente sobre modelos virtuais de microcontroladores, o que permite observar o comportamento do sistema completo, incluindo sensores, atuadores e interfaces, sem necessidade de montagem física. Além disso, o ambiente oferece recursos que permitem acompanhar, em tempo real, a leitura de variáveis em instrumentos simulados, como displays e osciloscópios. Apesar de sua licença ser paga, a ferramenta oferece um conjunto de funcionalidades que pode ser vantajoso para projetos educacionais e de prototipagem (15,16). 16 O PSpice é um simulador voltado principalmente para análise de circuitos analógicos, com aplicações em estudos de resposta em frequência, comportamento transiente e variações paramétricas. Sua principal contribuição está na modelagem de componentes eletrônicos com base na linguagem SPICE, o que o torna útil em projetos onde o foco está na caracterização elétrica detalhada dos circuitos. Por outro lado, sua limitação em simular sistemas com microcontroladores e sensores reduz sua aplicabilidade em projetos embarcados que envolvem interação entre software e hardware (17). O PSIM é utilizado em projetos que envolvem eletrônica de potência e controle de dispositivos como motores e conversores. Sua interface simples e a rapidez na execução das simulações são características que favorecem sua aplicação em projetos que requerem ajustes repetitivos e análises rápidas. No entanto, sua estrutura não contempla, de forma nativa, a simulação de sensores de uso geral ou de interfaces como displays, o que restringe seu uso em sistemas de monitoração com múltiplas entradas e saídas (18). O Electronics Workbench, atualmente chamado de Multisim, é uma opção bastante utilizada no contexto educacional, especialmente em disciplinas introdutórias de eletrônica. Sua interface visual e a presença de instrumentos de medição virtuais facilitam a compreensão do comportamento de circuitos básicos. Contudo, seu suporte à simulação de microcontroladores e sensores programáveis é mais limitado, o que reduz sua aplicabilidade em projetos mais integrados ou voltados ao desenvolvimento de sistemas embarcados (19). Considerando os objetivos deste trabalho, o Proteus foi escolhido como ferramenta de simulação por reunir recursos que permitem a integração entre circuitos eletrônicos e programação, além de oferecer uma biblioteca abrangente de sensores e componentes compatíveis com a plataforma Arduino. Essa escolha busca garantir um ambiente de simulação adequado à análise e à validação de sistemas embarcados de monitoração, respeitando as restrições típicas de projetos em fase de desenvolvimento ou em ambientes de ensino. 17 2.2 COMPILADORES Compiladores são ferramentas indispensáveis quando se trabalha com sistemas embarcados. São eles que convertem o código escrito em linguagens como C ou C++ para instruções compreensíveis pelo microcontrolador, permitindo que o dispositivo execute as ações programadas. Essa etapa é o elo entre a lógica implementada no software e o comportamento físico do sistema. No contexto deste projeto, optou-se pelo uso da linguagem C++ justamente por sua ampla adoção em plataformas embarcadas e pela disponibilidade de bibliotecas específicas para leitura de sensores e controle de periféricos. Entre as ferramentas disponíveis para essa finalidade, o Arduino IDE oferece um ambiente acessível e funcional, principalmente em atividades acadêmicas e de prototipagem. Ele reúne editor de código, mecanismo de compilação e carregamento de programas em um só lugar. Placas que utilizam microcontroladores como o ATmega328P, presente na Arduino Uno, são plenamente compatíveis. Por trás da interface, o sistema utiliza o compilador avr-gcc (19), que é responsável por traduzir o código-fonte para linguagem de máquina, gerando o arquivo executável que será gravado na memória do microcontrolador. Ainda que existam opções com mais recursos de configuração e depuração — como o PlatformIO, o Atmel Studio ou o MPLAB X (20,21,22), —, o Arduino IDE foi adotado neste trabalho por reunir, de forma objetiva, as funções necessárias para programar e testar os circuitos simulados no Proteus. A integração entre as duas ferramentas tem se mostrado satisfatória, especialmente quando o objetivo é validar a lógica de controle em um ambiente virtual antes da montagem física. Essa etapa se torna ainda mais importante quando se deseja antecipar ajustes ou verificar o comportamento do sistema com diferentes sensores. Dessa forma, a escolha do compilador não se deu apenas por uma questão de popularidade ou facilidade de uso, mas sim por sua capacidade de atender aos requisitos deste projeto de maneira direta. Estando definidas as ferramentas de simulação e compilação, o próximo passo envolve a análise dos sensores utilizados — responsáveis pela coleta das variáveis físicas monitoradas pelo sistema. Para 18 isso, é necessário entender o funcionamento desses dispositivos, suas características elétricas e como se comunicam com o microcontrolador. 2.3 SENSORES Em sistemas de monitoração baseados em microcontroladores, os sensores representam o elo entre o ambiente físico e a lógica de controle programada. São eles que detectam variações em grandezas como temperatura ou pH e convertem essas informações em sinais elétricos que o sistema consegue processar. O tipo de sensor escolhido influencia diretamente na complexidade do circuito, na precisão das leituras e na forma como os dados precisam ser tratados. Esta seção aborda alguns sensores comuns para essas finalidades, com destaque para aqueles voltados à medição de temperatura e pH. 2.3.1 Sensores de Temperatura Para medir temperatura em projetos com Arduino, é comum o uso de sensores semicondutores. Eles se tornaram populares por combinarem simplicidade de uso com boa resposta para aplicações gerais. Três exemplos frequentemente encontrados são o LM35, o TMP36 e o DS18B20, ilustrados nas Figura 1a-c, respectivamente. O LM35 (Figura 1a) fornece uma tensão que varia linearmente com a temperatura ambiente. Ele gera cerca de 10 milivolts por grau Celsius, o que facilita a conversão para valores numéricos por meio da porta analógica do microcontrolador. Sua faixa de operação é ampla e cobre temperaturas tanto negativas quanto positivas. É uma opção comum em projetos educacionais e em aplicações onde o consumo de energia e a complexidade do circuito precisam ser mantidos baixos. As caraterísticas de funcionamento a 25°C são: 5V de alimentação, 56uA de consumo. 19 O TMP36 (Figura 1b) possui um funcionamento semelhante ao LM35, também com saída analógica proporcional à temperatura. Sua principal diferença é a presença de um deslocamento de tensão na saída, com 500mV correspondendo a 25 °C e não apresenta a necessidade de circuitos auxiliares para tensões negativas. Isso o torna especialmente útil quando o projeto precisa operar em ambientes com temperaturas mais baixas sem comprometer a simplicidade da alimentação. As caraterísticas de funcionamento a 25°C são: 5V de alimentação e 50uA de consumo. O DS18B20 (Figura 1c), por sua vez, adota um princípio diferente. Ele realiza a conversão de temperatura internamente e transmite os dados em formato digital por meio do protocolo One-Wire. Essa comunicação permite conectar vários sensores em paralelo utilizando um único fio de dados, além do terra e alimentação. A natureza digital do sinal reduz interferências e facilita leituras em distâncias maiores, sendo uma alternativa robusta para aplicações que exigem precisão e escalabilidade. As caraterísticas de funcionamento a 25°C são: 5V de alimentação, 1,5mA de consumo. Figura 1 – Sensores semicondutores de temperatura comumente utilizados em sistemas embarcados: a) LM35; b) TMP36; c) DS18B20. a) b) c) 20 2.3.2 Sensores de pH A medição de pH exige atenção especial por conta das características do sinal gerado pelos sensores. Normalmente, utiliza-se um eletrodo sensível a íons H⁺, que responde com uma variação de tensão conforme o grau de acidez da solução. Esse sinal é fraco e precisa ser amplificado antes de ser lido pelo microcontrolador. Como referência, uma variação de uma unidade de pH corresponde a cerca de 59 milivolts, considerando temperatura próxima a 25 °C. Figura 2 – Sensores de pH utilizados com microcontroladores: a) modelo SEN0161 com saída analógica; b) modelo SEN0169 com comunicação digital via interface serial. Para facilitar a integração com plataformas como o Arduino, há sensores comerciais que já incluem os circuitos de condicionamento necessários. O modelo SEN0161, por exemplo, possui saída analógica e acompanha um módulo amplificador, sendo conectado diretamente às entradas analógicas do microcontrolador. Já o SEN0169 realiza internamente a conversão do valor de pH para um sinal digital, que é transmitido por interface serial. Essa solução tende a oferecer maior imunidade a ruídos elétricos e maior estabilidade em leituras contínuas. Ambos os modelos podem ser observados na Figura 2, com destaque para o formato físico dos eletrodos e dos módulos de interface embarcados. Além dos sensores comerciais, existem simulações eletrônicas de sensores de pH que permitem testar circuitos e códigos sem trabalhar diretamente com soluções líquidas. Esses modelos são úteis principalmente no ensino ou na etapa inicial de desenvolvimento, pois simulam a variação de pH com componentes como a) b) 21 resistores ajustáveis ou sinais PWM. Embora não substituam o comportamento real do eletrodo, cumprem bem o papel de validar a lógica de funcionamento do sistema. 2.4 PROCESSAMENTO DE SINAIS E ANÁLISE DE DADOS O funcionamento eficaz de sistemas de monitoração embarcados depende não apenas da qualidade dos sensores, mas também do modo como os sinais gerados por eles são tratados. Em geral, os sinais elétricos provenientes de sensores precisam ser convertidos, filtrados e interpretados antes de gerar informações úteis ao sistema. Essa etapa, muitas vezes invisível ao usuário final, é fundamental para garantir a precisão, estabilidade e confiabilidade das medições. Ao longo desta seção, serão discutidos conceitos essenciais como condicionamento de sinais, conversão analógico-digital (A/D), ajuste de curvas por regressão linear e a análise do coeficiente de determinação (R2), que, em conjunto, permitem validar funções de conversão e interpretar corretamente os dados adquiridos. 2.4.1 Condicionamento de Sinais Grande parte dos sensores utilizados em sistemas embarcados gera sinais analógicos de baixa amplitude e alta impedância. Sem tratamento adequado, esses sinais podem ser distorcidos, contaminados por ruído ou até mesmo ilegíveis pelo microcontrolador. O condicionamento de sinais é, portanto, o primeiro passo após a captura da variável física. Esse processo pode envolver etapas como amplificação, filtragem, offset e linearização. Amplificadores operacionais são frequentemente usados para elevar a amplitude de sinais de sensores, adequando-os à faixa de leitura das entradas analógicas do microcontrolador (normalmente de 0 a 5 V). Em alguns casos, circuitos de offset são adicionados para ajustar a base da leitura, como ocorre em sensores de temperatura com faixa negativa, ou sensores de pH com saída centrada em 2,5 V. 22 Além disso, filtros passivos ou ativos podem ser empregados para remover ruídos de alta frequência, especialmente em ambientes industriais ou em aplicações sensíveis. O objetivo do condicionamento não é apenas tornar o sinal legível, mas garantir que ele seja o mais representativo possível da variável física que está sendo monitorada. 2.4.2 Conversão Analógico-Digital (A/D) Muitos microcontroladores utilizados em sistemas embarcados, como os da plataforma Arduino, possuem entradas analógicas, mas essas entradas não processam sinais contínuos diretamente. O que ocorre é que esses sinais passam por um circuito conversor, chamado de conversor analógico-digital (A/D), que transforma uma tensão variável em um valor digital compatível com a lógica interna do dispositivo. Esse processo de conversão é baseado em dois elementos principais: resolução e tensão de referência. A resolução está relacionada ao número de bits utilizados para representar a leitura. Um conversor com 10 bits, por exemplo, divide o intervalo entre 0 V e a tensão de referência (geralmente 5 V ou 3,3 V) em 1024 níveis. Cada nível representa uma faixa específica de tensão. Assim, com 5 V de referência, cada incremento digital corresponde a aproximadamente 4,88 mV. Isso significa que mudanças pequenas no sinal só serão percebidas se ultrapassarem esse valor. Além da resolução, outros fatores influenciam o resultado da conversão. A frequência de amostragem, por exemplo, define quantas vezes por segundo o sinal será lido. Em sistemas onde a variável medida muda rapidamente, uma frequência baixa pode resultar em perda de informação. Da mesma forma, instabilidades na tensão de referência — como flutuações na alimentação da placa — podem introduzir erros sistemáticos nas leituras. Esses detalhes mostram que a etapa de conversão vai além de uma simples digitalização; ela exige atenção ao contexto do circuito e aos parâmetros envolvidos. 23 2.4.3 Ajuste de Curvas e Regressão Linear Após a conversão do sinal para o domínio digital, é comum que os valores obtidos precisem ser convertidos para unidades físicas, como graus Celsius, pH ou centímetros. Essa conversão é realizada por meio de funções de calibração, muitas vezes derivadas empiricamente com base em dados experimentais. O método mais comum para obter essas funções é a regressão linear, quando há indicativos de uma relação aproximadamente linear entre os dados de entrada e saída. Trata-se de um modelo estatístico que busca a melhor reta que se ajusta aos dados medidos, minimizando a soma dos erros quadráticos. Por exemplo, em um sensor de temperatura com saída analógica, é possível coletar pares de valores (tensão lida x temperatura real medida com instrumento de referência) e, a partir disso, ajustar uma equação do tipo: 𝑇 = 𝑎 ∙ 𝑉 + 𝑏, (1) onde T representa a temperatura estimada, V a tensão medida e a e b são coeficiente determinados através da regressão linear. Em casos em que a relação não é linear, outros modelos podem ser utilizados, como regressão polinomial, exponencial ou logarítmica, desde que respeitem o comportamento físico do sensor. 2.4.4 Coeficiente de Determinação (R²) Para avaliar se a função de ajuste representa bem os dados coletados, utiliza- se o coeficiente de determinação, indicado como R2. Esse parâmetro estatístico indica a proporção da variabilidade dos dados observados que é explicada pelo modelo adotado. Um valor de R2 = 1 indica que todos os pontos se ajustam perfeitamente à curva, enquanto um valor próximo de zero sugere que o modelo não representa bem os dados. Embora um alto valor de R2 não garanta que o modelo seja fisicamente coerente, ele é uma ferramenta importante na etapa de validação e permite comparar diferentes modelos de ajuste. 24 É comum, em sistemas de monitoração, exigir R2 superiores a 0,98 para que a função de conversão seja considerada confiável, especialmente quando os dados obtidos serão utilizados em processos de decisão ou controle automatizado. A confiabilidade dos sistemas embarcados de monitoração está diretamente relacionada à forma como os sinais são tratados e interpretados. Desde o instante em que um sensor gera um valor elétrico até o momento em que esse valor é convertido e exibido em uma unidade física compreensível, diversas etapas precisam ser cuidadosamente executadas. Entender o condicionamento do sinal, aplicar corretamente a conversão A/D e utilizar modelos matemáticos bem ajustados com validação estatística são práticas que garantem medições consistentes e contribuem para a robustez do sistema como um todo. 3 MATERIAIS E MÉTODOS Esta seção descreve os materiais utilizados e os procedimentos adotados para o desenvolvimento e simulação dos circuitos de monitoração embarcada. O foco está na leitura e interpretação de variáveis físicas — temperatura, pH e nível — por meio de sensores conectados a um microcontrolador programado em ambiente de simulação. A metodologia adotada buscou explorar recursos computacionais para validar o comportamento dos sensores e verificar a viabilidade da leitura e conversão de sinais em ambiente controlado, antes da montagem física dos dispositivos. 3.1 FERRAMENTAS E AMBIENTE DE SIMULAÇÃO Para o desenvolvimento dos circuitos e testes, foram utilizadas duas ferramentas principais: o software Proteus Design Suite e o ambiente de programação Arduino IDE. O Proteus foi escolhido por sua capacidade de simular circuitos integrando componentes analógicos, digitais e microcontrolados. Sua biblioteca contempla 25 sensores como o LM35, o TMP36, o DS18B20, módulos LCD (como o LM016L), resistores variáveis, capacitores e o microcontrolador ATmega328P, presente na placa Arduino Uno R3. Essa integração permite testar o funcionamento completo de um sistema embarcado sem a necessidade de montagem física imediata. A programação dos sensores foi realizada no Arduino IDE, com código escrito em C++. Após a codificação, os arquivos foram compilados e o binário resultante (.hex) foi exportado e carregado no microcontrolador simulado no Proteus. Isso garantiu que o mesmo código que seria utilizado em uma placa real pudesse ser testado virtualmente nas mesmas condições lógicas. 3.1.1 Simulação dos Circuitos de Temperatura e pH Nesta etapa, foram desenvolvidos circuitos simulados para aquisição e exibição de dados referentes às variáveis temperatura e pH, utilizando sensores conectados a um microcontrolador Arduino Uno R3 com exibição dos resultados em um display LCD LM016L. Para o monitoramento de temperatura, foram considerados três sensores semicondutores: LM35, TMP36 e DS18B20. Inicialmente, cada sensor foi conectado de forma individual à entrada analógica do microcontrolador, com a leitura sendo exibida diretamente no display. Posteriormente, os três sensores foram integrados em um único circuito com leituras simultâneas. A aquisição dos dados foi realizada no intervalo de –55 °C a 150 °C, com 206 amostras por sensor. Esses dados foram utilizados para análise da resposta dos sensores, avaliação da linearidade e cálculo da margem de erro em relação aos valores de referência simulados. No caso da variável pH, foi empregado um emulador de sensor com saída PWM, conectado à porta digital do microcontrolador. A leitura do sinal foi feita com média de dez amostras por ponto, com o objetivo de suavizar variações e reduzir ruídos eventuais. A conversão do valor de largura de pulso para unidades de pH foi realizada por meio de uma função linear obtida por regressão, ajustada com base em valores simulados de referência. 26 A Figura 3 apresenta os circuitos simulados no ambiente Proteus Design Suite. Em Figura 3a, observa-se o circuito correspondente ao sensor de temperatura LM35, incluindo alimentação, conversão analógica e exibição no display LCD. Em Figura 3b, é mostrado o circuito de simulação de pH, que inclui o módulo amplificador, o resistor variável representando a variação do sensor, e a conexão ao microcontrolador e ao display. Ambas as configurações permitiram validar a lógica de leitura e a estrutura dos sistemas de monitoração embarcados por meio de simulações completas. Figura 3 – Circuitos simulados no Proteus: a) leitura de temperatura com sensor LM35, Arduino Uno e display LCD; b) leitura de pH com emulador de sensor, módulo amplificador, Arduino Uno e display. 3.1.2 Simulação do Circuito Capacitivo para Medição de Nível A leitura do nível de líquido foi simulada por meio de capacitores de valores variados, com capacitâncias entre 100 nF e 2 µF. Esses capacitores foram conectados a um circuito RC, onde o microcontrolador gerava pulsos de ativação e monitorava o tempo de carga e descarga do capacitor, visualizado por meio de um osciloscópio simulado no Proteus. As leituras foram coletadas em diferentes configurações, representando níveis simulados de 0 a 9 cm. Os valores de tempo ou pulso resultantes foram convertidos em medidas métricas com o auxílio de funções de ajuste baseadas em regressão exponencial e linear. Os coeficientes foram determinados a partir dos dados experimentais simulados, permitindo estimar tanto a capacitância quanto o nível correspondente com boa fidelidade. b)a) 27 4 RESULTADOS Nesta seção, são apresentados e discutidos os principais resultados obtidos a partir das simulações realizadas no ambiente Proteus, com os códigos desenvolvidos no Arduino IDE. As análises foram conduzidas com o objetivo de avaliar a precisão e a consistência das leituras fornecidas pelos sensores simulados, bem como validar as funções de conversão adotadas para as variáveis monitoradas. 4.1 SENSORES DE TEMPERATURA Três sensores foram empregados para o monitoramento de temperatura: LM35, TMP36 e DS18B20 (ver Figura 1). Cada um deles foi avaliado individualmente em circuitos simulados no software Proteus, com posterior integração em um único sistema. O objetivo central foi verificar a precisão e a estabilidade dos sensores em leituras variando de –55 °C a 150 °C, especialmente nas faixas de interesse para aplicações agrícolas. 4.1.1 Sensor LM35 Para o sensor LM35, a simulação foi configurada para realizar leituras no intervalo de 2 °C a 150 °C. Embora, segundo o datasheet, o sensor seja capaz de medir temperaturas a partir de –55 °C, o circuito implementado no Proteus não incluiu um sistema de compensação de tensão (offset) para viabilizar a leitura de temperaturas negativas. Isso ocorre porque, nessas condições, o LM35 produz uma tensão negativa proporcional à temperatura, o que não pode ser interpretado corretamente pelas entradas analógicas do microcontrolador, como é o caso do Arduino. Em aplicações práticas, é possível contornar essa limitação utilizando um circuito de offset, que desloca a faixa de saída do sensor para o domínio positivo da 28 tensão, permitindo que temperaturas abaixo de 0 °C sejam representadas de forma válida para o sistema. Na simulação, no entanto, esse recurso não foi adotado, restringindo a faixa operacional analisada às temperaturas acima de zero. A Figura 4 mostra o circuito simulado para o sensor LM35, assim como o seu código descrito no IDE Arduino. Figura 4 – Etapas da simulação do sensor LM35 com Arduino Uno no ambiente Proteus. Em a) é apresentado o circuito simulado contendo o microcontrolador Arduino Uno R3, o sensor LM35 e o display LCD LM016L, responsável pela exibição da temperatura captada; em b) é mostrado o código desenvolvido na interface do Arduino IDE, o qual, após compilado, gera o arquivo com extensão (.hex) necessário para a simulação no Proteus; enquanto que em c) visualiza-se a etapa de configuração do componente Arduino dentro do Proteus, onde o arquivo (.hex) é carregado na aba ‘Program File’, permitindo a execução do código no microcontrolador durante a simulação. A Figura 4 mostra três momentos importantes do processo de simulação envolvendo o sensor LM35 e o microcontrolador Arduino Uno. Na Figura 4a, é a) b) c) 29 possível ver o circuito construído no ambiente Proteus, com o LM35 conectado ao pino analógico A0 da placa Arduino, e o display LCD LM016L acoplado aos pinos digitais D7 a D10, além dos sinais de controle RS e E. O circuito foi alimentado com 5 V, conforme indicado na documentação dos componentes. Vale destacar que, para fins de simulação, os pinos responsáveis pela retroiluminação do display não foram utilizados. Na imagem Figura 4b, aparece o código desenvolvido na interface do Arduino IDE, escrito em linguagem C++. Esse código importa a biblioteca do LCD e define os pinos de conexão, além de organizar a estrutura básica do programa com as funções setup() e loop(), necessárias para inicializar o display e realizar as leituras contínuas da temperatura captada pelo LM35. A função setup() organiza a forma como os dados serão apresentados no display, enquanto o loop() realiza a leitura contínua do sinal analógico proveniente do LM35 e realiza sua conversão para temperatura por meio de uma equação linear simples. Por fim, na Figura 4c, tem-se a etapa de configuração do componente Arduino no Proteus. Nessa etapa, o arquivo (.hex), gerado após a compilação do código no IDE, é carregado na aba ‘Program File’. Esse procedimento assegura que o microcontrolador execute, dentro do ambiente de simulação, exatamente o mesmo código que seria utilizado em um sistema físico. Com todas essas etapas concluídas, a simulação pode ser iniciada. O sistema responde às variações de temperatura simuladas, e os valores obtidos pelo LM35 são corretamente interpretados e exibidos no display LCD, validando o funcionamento do circuito e do algoritmo proposto. 4.1.2 Sensor DS18B20 O sensor DS18B20 se destaca por adotar uma interface digital com protocolo de comunicação One-Wire, o que elimina a necessidade de conversão analógica- digital por parte do microcontrolador e reduz interferências externas. A Figura 5 mostra o circuito simulado no Proteus, onde o sensor está conectado ao microcontrolador Arduino Uno e o respectivo código para a simulação do circuito. 30 Figura 5 – Simulação do sensor de temperatura digital DS18B20 utilizando Arduino e ambiente Proteus: a) apresenta o circuito implementado com o sensor DS18B20 conectado ao microcontrolador Arduino Uno, exibindo simultaneamente a leitura da temperatura em graus Celsius e Fahrenheit no display LCD e no terminal virtual. Também são mostradas as informações de identificação do sensor e os dados trafegados no barramento One-Wire; b) exibe o código desenvolvido no IDE do Arduino, responsável por realizar a leitura dos dados do sensor, converter os valores de temperatura para as duas escalas e enviá-los para as interfaces de saída simuladas. A Figura 5a mostra o circuito simulado com o sensor digital DS18B20, montado no ambiente Proteus. Nesse circuito, o sensor está conectado ao microcontrolador Arduino Uno, que por sua vez envia os valores de temperatura lidos para um display LCD do tipo LM016L. Além do LCD, foi utilizado também um terminal virtual, onde os dados do sensor são impressos em tempo real, incluindo o número de identificação único do chip, os dados da leitura e os valores convertidos em graus Celsius e Fahrenheit. Esse sensor utiliza apenas um pino para comunicação (DQ), e, como recomendado pelo fabricante, foi inserido um resistor de pull-up de 4,7 kΩ entre esse pino e a alimentação de +5 V, o que garante a estabilidade do sinal no barramento One-Wire. Na Figura 5b, tem-se o código implementado no Arduino IDE para fazer a leitura e o tratamento das informações enviadas pelo sensor. O programa envia os comandos necessários ao DS18B20, realiza a conversão da leitura em temperatura e exibe os dados tanto no LCD quanto na porta serial. A conversão é feita com base no valor binário bruto lido da memória do sensor, e o código também inclui um intervalo de espera (delay) de um segundo entre as medições, garantindo que a leitura tenha tempo suficiente para ser processada e exibida corretamente. Durante a simulação, foi possível observar que o circuito funcionou conforme o esperado, respondendo a variação conforme a temperatura fosse aumentada. O sensor respondeu de forma estável às requisições do microcontrolador e os valores exibidos no LCD coincidiram com os apresentados no terminal serial. Isso demonstra a) b) 31 que tanto o código quanto o circuito estavam corretamente configurados, e que o sensor DS18B20 pode ser utilizado com segurança em projetos que exigem monitoramento digital de temperatura, com a vantagem adicional de maior imunidade a ruídos quando comparado a sensores com saída analógica. O sensor DS18B20 se diferencia dos demais utilizados neste trabalho por contar com um microcircuito interno que amplia suas funcionalidades. Além de medir temperatura, ele possui memórias internas – do tipo SRAM, para armazenamento temporário, e EEPROM, para guardar configurações permanentes, como alarmes e a resolução da medição. Toda a comunicação com o microcontrolador acontece por meio do protocolo digital One-Wire, que utiliza apenas um fio para transmissão de dados e controle, facilitando a montagem do circuito e reduzindo o número de conexões. Para que a leitura de temperatura seja realizada corretamente, é necessário seguir três etapas básicas de comunicação. A primeira delas é a inicialização, em que o microcontrolador envia um pulso de reset de aproximadamente 480 microssegundos. Se o sensor estiver corretamente conectado, ele responde com um pulso de presença entre 60 e 240 microssegundos, indicando que está disponível no barramento. Em seguida, ocorre o processo de identificação. Cada DS18B20 possui um código exclusivo de 64 bits armazenado em sua memória ROM. Esse código permite ao microcontrolador selecionar qual sensor deseja acessar, mesmo que haja vários no mesmo barramento. No caso desta simulação, foi utilizado o comando Read ROM [33h], já que havia apenas um sensor no circuito. A terceira etapa envolve a execução dos comandos de função. O comando utilizado foi o Convert T [44h], que inicia a medição de temperatura. O valor medido é armazenado em um registrador interno de 2 bytes (chamado scratchpad), de onde pode ser lido com o comando Read Scratchpad [BEh]. A leitura dos dados é feita do byte menos significativo até o mais significativo. Após esse processo, o microcontrolador envia um novo pulso de reset, encerrando a comunicação. O tempo total para a conversão na resolução de 12 bits é de aproximadamente 750 milissegundos. A Figura 6 apresenta de forma detalhada as formas de onda obtidas no barramento de comunicação entre o microcontrolador e o sensor DS18B20, durante 32 a simulação no software Proteus. Essa representação permite identificar os principais eventos do protocolo One-Wire em tempo real, correspondentes aos três passos necessários para a leitura da temperatura. Figura 6 – Análise da comunicação entre o microcontrolador e o sensor DS18B20 durante a simulação no Proteus, utilizando o recurso de osciloscópio para visualizar os sinais no barramento de dados. A imagem geral da Figura 6 está dividida em cinco partes: a) mostra os três principais trechos da comunicação One-Wire entre o sensor e o microcontrolador: o primeiro pulso de presença enviado pelo DS18B20 após o pulso de reset do microcontrolador (setas azuis), o trem de pulsos correspondente aos comandos de ROM e conversão de temperatura (seta verde), e os dados referentes ao valor da temperatura convertida (seta vermelha); b) apresenta a marcação temporal de cada etapa: o tempo de resposta do sensor (250,67 ms), o tempo total da conversão (1,00 s) e o tempo total para finalização do processo (1,54 s); c) destaca o pulso de reset do microcontrolador com duração de aproximadamente 480 µs (confirmado com 490 µs na simulação), necessário para iniciar a comunicação; d) mostra o trecho de 21,97 ms correspondente ao envio dos comandos de ROM e início da conversão da temperatura; e) exibe o bloco final de 12,28 ms que contém os dados binários da temperatura lida pelo DS18B20. Na Figura 6a, visualiza-se a sequência dos sinais digitais representando as três fases da comunicação. As duas primeiras setas azuis indicam os pulsos de inicialização – o primeiro transmitido pelo microcontrolador e o segundo como resposta do sensor, sinalizando sua presença no barramento. A seta verde destaca 33 a sequência de pulsos referente à identificação do sensor e envio do comando de conversão de temperatura (etapas 2 e 3 do protocolo), enquanto a seta vermelha marca a transmissão dos dados correspondentes ao valor da temperatura. A Figura 6b da figura mostra os intervalos de tempo totais da simulação. Observa-se um tempo de resposta inicial de aproximadamente 250,67 ms, seguido pelo tempo de conversão de 1 s, totalizando 1,54 s para a leitura completa. Complementando a análise, a Figura 6c da confirma o tempo aproximado de 480 μs do pulso de reset inicial, de acordo com as especificações do fabricante. Em sequência, Figura 6d, a sequência de pulsos de 21,97 ms (seta verde) corresponde à fase de endereçamento e comando de função. Por fim, a Figura 6e destaca a transmissão dos dados de temperatura em 12,28 ms (seta vermelha), representando os bits armazenados no registrador interno do sensor. Essa visualização temporal dos sinais permite validar com precisão o comportamento do protocolo One-Wire e comprova a execução correta das etapas de comunicação e leitura do DS18B20. 4.1.3 Sensor TMP36 A Figura 7 apresenta o circuito simulado com três sensores de temperatura conectados ao Arduino Uno R3, sendo o TMP36 identificado como "Sensor C". A imagem mostra a montagem no ambiente Proteus, incluindo o display LCD LM016L e o terminal virtual. Adicionalmente, apresenta o código desenvolvido no IDE do Arduino, com destaque para a equação responsável pela conversão da leitura analógica em temperatura. 34 Figura 7 – Simulação da leitura de temperatura com o sensor TMP36. Em a), é mostrado o circuito no Proteus com os sensores LM35, TMP36 e DS18B20 conectados ao Arduino Uno e um display LCD para visualização dos dados. Em b), apresenta-se o código no Arduino IDE, com destaque para a equação de conversão que inclui o ajuste de offset característico do TMP36 (500mV a 0 °C), permitindo a correta exibição da temperatura. No caso do TMP36, o sensor foi alimentado com 5 V no pino 1, enquanto o pino 3 foi ligado ao terra e o sinal de saída foi retirado do pino 2, como indicado no datasheet. Um ponto que o diferencia do LM35 é a presença de um pequeno deslocamento de tensão (offset) na saída, que torna necessária uma compensação no cálculo da temperatura. Esse ajuste aparece no trecho do código mostrado na Figura 7b. Durante a simulação, as leituras exibidas no display mostraram-se 35 coerentes com os valores atribuídos ao sensor, confirmando que o circuito estava operando corretamente. A conversão de sinal foi feita considerando a resolução de 10 bits do conversor analógico-digital do Arduino, o que garante boa fidelidade nos resultados. Com isso, conclui-se a etapa de desenvolvimento do circuito contendo os três sensores de temperatura. Os códigos individuais foram unificados em um programa só, permitindo a leitura sequencial dos dispositivos. O sistema foi capaz de realizar as leituras de forma contínua, exibindo os valores no LCD, como previsto. Isso comprova que tanto os sensores quanto o código estavam integrados corretamente. 4.1.4 Análise comparativa entre os sensores de temperatura A Figura 8 apresenta o comportamento comparativo dos três sensores de temperatura analisados nessa dissertação – LM35, DS18B20 e TMP36 – no intervalo de –55 °C a 150 °C, em relação à temperatura ideal definida para a simulação. O gráfico foi construído a partir do conjunto de dados para cada sensor, obtidos durante as simulações no ambiente Proteus com exibição via display LCD LM044L, permitindo a leitura simultânea dos três dispositivos. 36 Figura 8 – Comportamento comparativo dos sensores de temperatura LM35 (preto), DS18B20 (vermelho) e TMP36 (azul) em relação à temperatura ideal, no intervalo de –55 °C a 150 °C. As curvas representam as leituras simuladas por cada sensor, demonstrando as faixas de operação e a precisão relativa entre os dispositivos Observando-se a Figura 8, é possível identificar claramente os limites operacionais de cada sensor. O DS18B20 foi o que apresentou o maior alcance efetivo, operando com precisão até aproximadamente 128 °C, com leituras nulas apenas a partir de 129 °C. O TMP36, por sua vez, teve sua faixa de resposta útil limitada a até 125 °C, cessando suas leituras após esse ponto. Já o LM35, embora tenha capacidade teórica para operar entre –55 °C e 150 °C, apresentou leitura zero para todas as temperaturas inferiores a 0 °C. Esse comportamento do LM35 se explica por uma limitação da simulação: o Arduino Uno utilizado não lê tensões negativas diretamente, o que impede que o microcontrolador interprete corretamente as saídas do LM35 em temperaturas negativas, já que o sensor gera tensões abaixo de 0 V nessas condições. Como resultado, as leituras abaixo de 0 °C foram registradas como zero no display e no gráfico. Em aplicações práticas, isso pode ser contornado utilizando um circuito de deslocamento de nível (offset) ou uma fonte de tensão negativa auxiliar, o que não foi implementado na presente simulação. -70 -45 -20 5 30 55 80 105 130 155 -60 -40 -20 0 20 40 60 80 100 120 140 160 y( d s1 8 b 2 0 ;l m 3 5 ; tm p 3 6 ) [° C ] Temperatura ideal [°C] Temperatura lida x temperatura ideal Temperatura LM35 Temperatura DS18B20 Temperatura TMP36 37 Com base nesses resultados, observa-se que o DS18B20 se destaca como o sensor mais confiável dentro do intervalo proposto, sendo o único capaz de cobrir praticamente toda a faixa de –55 °C a 128 °C com precisão. O TMP36 demonstrou boa linearidade até 125 °C, enquanto o LM35 mostrou-se adequado apenas a partir de 0 °C, sendo limitado pela forma como foi integrado ao sistema simulado. A Figura 9 reúne quatro gráficos que comparam os dados de temperatura registrados por cada sensor com os valores ideais simulados no intervalo de -55 a 150 °C. Ao analisar os gráficos, nota-se que os sensores DS18B20 e TMP36 apresentam um desempenho muito próximo do ideal. As curvas traçadas por ambos seguem quase que exatamente a linha de referência (y = x), sugerindo que as leituras feitas por esses sensores foram bastante coerentes com os valores simulados. No caso do DS18B20, essa correspondência é completa: a reta ajustada tem inclinação igual a 1, e o coeficiente de determinação (R²) indica uma precisão total. Já o TMP36 também apresentou excelente comportamento, com uma inclinação ligeiramente inferior a 1 (0,99895) e um pequeno deslocamento vertical. Ainda assim, o ajuste manteve uma correlação praticamente perfeita, evidenciada por um R² muito próximo de 1. 38 Figura 9 – Gráficos de regressão linear comparando a temperatura ideal com as leituras dos sensores: (a) curva ideal de referência com equação y = x; (b) comportamento do sensor LM35, com leve desvio no intercepto e inclinação próxima de 1; (c) resposta do DS18B20, com ajuste perfeito à linha ideal, apresentando coeficiente de determinação R² = 1; (d) desempenho do TMP36, com boa linearidade, intercepto próximo de zero e R² elevado, indicando alta precisão. Para o sensor LM35 o desempenho apresentado foi diferente. Como o Arduino não interpreta valores negativos, todas as leituras abaixo de 0 °C foram registradas como zero, o que criou um "degrau" visível no início da Figura 9b. Ainda assim, a partir de 0 °C, o sensor acompanha bem os valores ideais, com uma inclinação de 0,99757 e um desvio negativo no início da curva. Esses pequenos desvios não comprometem o desempenho do LM35 na faixa em que ele realmente opera, mas indicam que seu uso não é o mais adequado para temperaturas negativas sem a aplicação de técnicas de correção. Com os dados obtidos, é possível afirmar que todos os sensores avaliados operam de forma satisfatória entre 0 °C e 125 °C. O DS18B20 se destaca por apresentar resultados praticamente idênticos aos valores de referência, enquanto o TMP36 também mostra ótimo desempenho, com uma resposta muito próxima da linearidade ideal. O LM35, apesar de não registrar temperaturas abaixo de zero 39 devido à limitação do Arduino em interpretar valores negativos, mantém uma leitura consistente nas faixas positivas. Esses resultados fornecem uma boa base para a próxima etapa da análise, onde serão avaliadas as diferenças percentuais entre os sensores e os valores de referência para estimar a precisão de cada um. Tendo o conjunto de dados apresentados e agrupados nas Figura 8 e Figura 9, pode-se obter o cálculo percentual do erro de cada dispositivo, como apresentado na Figura 10 abaixo. Figura 10 – Margem percentual de erro dos sensores LM35, DS18B20 e TMP36 em relação à temperatura ideal, no intervalo de -55 °C a 150 °C. Observa-se que o DS18B20 apresenta erro nulo dentro de sua faixa de leitura (-55 °C a 128 °C), enquanto o LM35 mostra erro de 100% abaixo de 0 °C devido à limitação de leitura negativa. O TMP36 exibe maior imprecisão entre -10 °C e +10 °C, com pico de erro próximo a 1 °C. A Figura 10 apresenta a margem percentual de erro dos sensores LM35, DS18B20 e TMP36 em função da temperatura no intervalo de -55 °C a 150 °C. O primeiro ponto que chama atenção é o comportamento do LM35 abaixo de 0 °C: ele apresenta um erro de 100% nessa faixa, o que já era esperado, visto que o sensor não é capaz de fornecer leituras negativas diretamente – o Arduino interpreta essas leituras como zero, gerando erro total. Acima de 0 °C, o LM35 começa a mostrar desempenho mais consistente. Embora haja pequenos picos de erro, como por exemplo em torno de 6 °C (aproximadamente 5,8%) e em 26 °C (cerca de 1,5%), no restante da faixa útil – especialmente entre 30 °C e 130 °C – o sensor mantém a margem de erro abaixo de 1%, o que indica boa estabilidade para aplicações dentro desse intervalo. 40 O DS18B20 demonstra desempenho praticamente ideal dentro de sua faixa de operação. A linha permanece rente ao zero, o que indica erro percentual nulo entre -55 °C e 128 °C. Após esse ponto, o sensor deixa de fornecer leitura, o que justifica a ausência de dados entre 129 °C e 150 °C. Já o TMP36 cobre a faixa de - 40 °C a 125 °C, mas mostra certa instabilidade na região próxima ao zero. O maior erro percentual ocorre em torno de 1 °C, com um pico de 22%, sugerindo maior imprecisão nesse intervalo. Fora essa faixa crítica, o TMP36 mantém erro próximo ou inferior a 1%, especialmente entre 30 °C e 120 °C, o que o torna adequado para diversas aplicações. De maneira geral, a análise gráfica permite concluir que, embora todos os sensores apresentem boa resposta entre 30 °C e 125 °C, o DS18B20 é o mais preciso em toda sua faixa operacional. O LM35 e o TMP36 também apresentam desempenho satisfatório, com o primeiro limitado pela incapacidade de medir temperaturas negativas, e o segundo por certa sensibilidade em baixas temperaturas. 4.2 SENSOR DE PH Como visto, um sistema de monitoração requer muitas variáveis de leitura para constatar se valor medido está de acordo com a referência ou parâmetros importantes do sistema de controle garantindo o correto funcionamento de um processo. Portanto, adicionalmente, será analisado os dados de um circuito detector de acidez e alcalinidade, comumente conhecido como medidor pH (pH meter) para realizar a monitoração do sistema. 4.2.1 Simulação do circuito de pH 41 A Figura 11 mostra o comportamento do resistor variável de 50 kΩ utilizado na simulação como uma alternativa ao sensor de pH. A ideia por trás dessa substituição é simples, mas bastante eficaz: sabe-se, de maneira empírica, que soluções ácidas costumam ter baixa resistividade elétrica, enquanto as soluções alcalinas apresentam resistividade mais alta. Com base nisso, ao variar a resistência do componente no circuito, é possível simular o efeito da acidez ou alcalinidade de uma solução de forma prática. Na simulação, quando a resistência é diminuída, a tensão de saída também cai, o que corresponde a uma condição de pH mais ácido. Por outro lado, ao aumentar a resistência, a tensão na saída sobe, indicando um meio mais alcalino. A curva apresentada na Figura 11 reflete esse comportamento, revelando uma relação linear crescente entre a resistência aplicada e a tensão lida pelo sistema. Ou seja, quanto maior a resistência, maior a tensão medida. Vale lembrar que essa relação pode se comportar de forma diferente, dependendo do tipo de módulo amplificador usado no circuito. Em alguns casos, o padrão pode ser o oposto – com a tensão diminuindo conforme a resistência aumenta – especialmente se o condicionamento de sinal for projetado com essa inversão. Para garantir maior estabilidade na leitura exibida no display LCD, o sistema realiza uma média de 10 amostras antes de apresentar o valor final, evitando oscilações e aproximando o comportamento da simulação à realidade de um sensor físico. 42 Figura 11 – Relação linear crescente entre a resistência do potenciômetro (simulando o sensor de pH) e a tensão de saída. A simulação considera a variação do pH com base na resistividade, sendo a tensão mais alta associada a soluções alcalinas. A Figura 12 reúne as principais etapas da simulação do sistema de leitura digital de pH utilizando o Proteus e o Arduino Uno R3. Cada parte da figura mostra um momento importante da montagem, configuração e funcionamento do circuito. Figura 12 – Etapas de configuração da simulação para leitura de pH no Proteus: (a) circuito completo com sensor de pH, módulo condicionador, display LCD e Arduino Uno; (b) inserção do arquivo (.hex) no sensor; (c) código-fonte no IDE Arduino com equação de conversão de tensão em pH; (d) programação do Arduino com o respectivo arquivo compilado. 43 Na Figura 12a, é visto o circuito completo pronto para simulação. Ele é composto pelo sensor de pH (PH1), o display LCD LM016L e o Arduino Uno. O sinal de saída do sensor, gerado por modulação por largura de pulso (PWM), vai para o pino A2 do Arduino. É esse sinal que será processado para mostrar o valor de pH no display. A Figura 12b mostra como configurar o sensor de pH dentro do Proteus. É necessário carregar o arquivo pHMeterLibraryTEP.hex no campo ‘Program File’ para que o sensor funcione corretamente na simulação. Em (c), temos o código feito na plataforma Arduino IDE. Nele, o valor de pH é calculado com base na média das leituras feitas pelo Arduino e convertido usando a equação destacada (multiplicação por 2,8). Esse valor é então exibido no display. A fórmula foi obtida a partir de uma análise linear feita previamente com os dados simulados. Por fim, Figura 12d, é visto a configuração do Arduino dentro do Proteus. O arquivo (.hex), gerado ao compilar o código no IDE do Arduino, é carregado no campo correspondente ao ‘Program File’. Isso permite que o microcontrolador execute o programa corretamente durante a simulação. Essas etapas mostram, de forma prática, como montar e configurar um sistema de leitura digital de pH com Arduino e Proteus, desde a montagem do circuito até a exibição dos resultados. A Figura 13 apresenta os principais resultados obtidos durante a simulação do sistema de leitura digital de pH utilizando sinal PWM como saída do sensor e ajuste linear para conversão em valores reais. As subfiguras (a), (b) e (c) mostram as formas de onda do sinal PWM gerado pelo sensor de pH no Proteus para três diferentes níveis de pH simulados: 0,9 (a), 0,5 (b) e 0,1 (c), respectivamente. Esses valores referem-se ao duty cycle – ou ciclo de trabalho – da modulação por largura de pulso (PWM), e indicam diretamente o tempo em que o sinal permanece em nível alto durante cada ciclo de 2 ms de duração. 44 Figura 13 – Representação do comportamento do sinal PWM e da relação entre tensão média e níveis de pH. (a), (b) e (c) mostram formas de onda PWM com diferentes ciclos de trabalho representando níveis de pH distintos; (d) apresenta os dados coletados com os valores médios de tensão lidos e convertidos em níveis de pH; (e) exibe o mesmo conjunto de dados ajustado por regressão linear, evidenciando a equação 𝑦 = 2,8 ∙ 𝑥 com coeficiente de determinação 𝑅2 = 1, indicando excelente aderência ao modelo. As Figura 13 d-e mostram como os valores médios de tensão, obtidos a partir do sinal PWM, se relacionam com os níveis de pH simulados. Na Figura 13d é visto os pontos representando os dados coletados: cada ponto corresponde à média de leituras de tensão associada a um nível de pH. Já a Figura 13e traz esse mesmo conjunto de dados acompanhado de uma linha de tendência ajustada por regressão linear. O resultado do ajuste foi a equação 𝑦 = 2,8 ∙ 𝑥, com um coeficiente de determinação 𝑅2 = 1, o que indica uma correspondência perfeita entre os dados simulados e o modelo matemático. A tabela apresentada na Figura 13 reforça essa precisão: o intercepto é praticamente zero, e o coeficiente angular é exatamente 2,8 — valor utilizado na fórmula de conversão dentro do código de simulação. Esses resultados confirmam que o sistema responde de maneira linear às variações no sinal PWM, o que valida 45 o uso dessa abordagem para converter os sinais do sensor em valores de pH confiáveis. A coerência entre os parâmetros do PWM (formas de onda) e a linearidade dos dados reforça a precisão e confiabilidade da simulação. A simulação do sensor de pH demonstrou que o sistema desenvolvido opera de maneira satisfatória e consistente. Desde a configuração do circuito no Proteus até a implementação do código na plataforma Arduino, todas as etapas foram executadas com êxito, possibilitando a leitura e a conversão dos sinais PWM em valores de pH de forma clara e estável. A relação linear identificada entre a tensão média lida e os respectivos níveis de pH válida a equação utilizada no código, indicando que a abordagem adotada é adequada e eficaz para esse tipo de aplicação. Com isso, a simulação se mostrou útil não apenas para testar o funcionamento do sensor, mas também como ferramenta acessível para aplicações acadêmicas ou de prototipagem. 4.3 SENSOR DE NÍVEL (CAPACITIVO) Foram exploradas diferentes formas de confeccionar capacitores, sendo uma delas baseada no uso de duas fitas de alumínio ou cobre como eletrodos, papel como material dielétrico e polietileno como elemento de selagem. Esse tipo de construção pode resultar em valores capacitivos na faixa de submúltiplos do Farad (F), como nanofarad (nF) ou picofarad (pF). De maneira empírica, observa-se que a capacitância de tais dispositivos tende a diminuir quando o capacitor entra em contato com a água, o que altera a sua camada dielétrica. Quanto maior a profundidade de submersão, mais acentuada é essa redução, podendo, em alguns casos, alcançar valores ainda menores, como femtofarad (fF = 10-15 F) ou attofarad (aF = 10-15 F). Com base nesse comportamento, é possível simular um capacitor cuja capacitância varia de acordo com a profundidade submersa, representando uma leitura indireta do nível de água. A Figura 14 apresenta o circuito montado com o microcontrolador, utilizado para análise dessa variação capacitiva. 46 Figura 14 – Diagrama da simulação do circuito de medição capacitiva em função da submersão do sensor. O capacitor sensor (C1), posicionado dentro do tanque, tem sua capacitância lida e processada pelo microcontrolador (Arduino Uno), sendo o valor exibido no display LCD. A variação na capacitância, associada ao nível de submersão, permite estimar o nível de água de forma indireta. O circuito sensor mostrado na Figura 14 apresenta um comportamento semelhante ao de um circuito do tipo RC (resistor-capacitor). Ele é composto por três elementos principais: um gerador de frequência, um resistor e um capacitor. Nesse caso, o papel do gerador de frequência é assumido pelo microcontrolador (C), que fornece um sinal de 4545,45 kHz, como indicado Figura 15a. Na Figura 15b, observa-se que o período da onda quadrada gerada é de aproximadamente 220 µs, visualizado por meio do osciloscópio do Proteus. Além disso, o microcontrolador mantém essa frequência por cerca de 21,90 ms, como mostrado na Figura 15c, repetindo o ciclo a cada 2,09 segundos, conforme (Figura 15d). Esse comportamento periódico permite a análise da resposta do capacitor, que será influenciada pelo nível de submersão na água, funcionando como base para a medição indireta da capacitância. 47 Figura 15 – Sinais gerados pelo microcontrolador para leitura do sensor capacitivo. (a) Forma de onda quadrada; (b) Período de 220 µs (≈4545,45 Hz); (c) Duração do trem de pulsos: 21,90 ms; (d) Repetição a cada 2,09 s. Para realizar a aquisição dos dados, o microcontrolador foi programado para captar os sinais provenientes de um circuito composto por um capacitor e um resistor de 1 MΩ. A leitura da capacitância é feita por meio do recurso de conversão analógica-digital com função touch (ADC touch), disponível em alguns modelos de microcontroladores como o Arduino. Durante o processo de medição, é essencial garantir que os sinais estejam em regime permanente, ou seja, que apresentem estabilidade nos níveis de tensão ao longo das amostragens. Os dados obtidos pelo C, correspondentes à resposta do circuito, são então associados aos valores de capacitância utilizados na simulação, que variaram entre 1 pF e 200 µF. Essa associação permite avaliar a faixa de operação do sistema e identificar quais valores de capacitância o microcontrolador consegue detectar com precisão. A partir disso, torna-se possível escolher o capacitor mais adequado para atuar como sensor, considerando sua compatibilidade com o intervalo de detecção confiável do circuito. 48 Figura 16 – (a) Dispersão dos dados de leitura do microcontrolador em função da capacitância, com valores variando de 200 nF a 2,1 μF; (b) Ajuste exponencial de segunda ordem aos dados experimentais, com coeficiente de determinação R2 ≈ 0,998, indicando boa correlação entre as leituras do C e os valores reais de capacitância. Com base nos dados representados na Figura 16, foi possível estabelecer uma relação funcional entre os valores de leitura do microcontrolador e os respectivos valores de capacitância. A partir da distribuição dos pontos na Figura 16a, observa-se uma tendência de crescimento não linear, o que sugere o uso de um modelo exponencial para descrever esse comportamento. Para obter a função de conversão entre leitura e capacitância, foi utilizada o software Origin, que permitiu ajustar os dados experimentais a uma equação exponencial do tipo 𝑦 = 𝑒𝑥𝑝(𝑎 + 𝑏𝑥 + 𝑐𝑥2) conforme exibido no Figura 16b. A curva ajustada (em vermelho) apresenta excelente aderência aos pontos medidos, com coeficiente de determinação 𝑅2 = 0,99789 o que indica uma forte correlação entre os dados experimentais e a função ajustada. Apesar de um dos pontos apresentar leve desvio em relação à curva, os demais se mantêm muito próximos do ajuste, reforçando a precisão do modelo. Esse tipo de abordagem permite converter diretamente as leituras do C em valores de capacitância, com elevado grau de confiabilidade, desde que se permaneça no intervalo analisado. Assim, a função obtida torna-se uma ferramenta útil para sistemas de sensoriamento baseados em variações capacitivas. Com base na Figura 17, é possível avaliar duas propostas de função para converter os valores de capacitância em medidas de nível de líquido. Ambas as 49 abordagens utilizam os mesmos dados experimentais obtidos anteriormente e aplicam diferentes ajustes: exponencial na subfigura (a) e linear na subfigura (b). Figura 17 – Gráficos representando a relação entre a capacitância e a medida de nível de água. (a) Ajuste por decaimento exponencial aplicado aos dados, representando com precisão a tendência de redução do nível conforme aumenta a capacitância; (b) Ajuste linear limitado aos sete primeiros pontos da curva, perda de aderência nos últimos valores, indicando que a aproximação linear é válida apenas em uma faixa restrita. Na Figura 17a, a curva exponencial ajusta-se de forma mais abrangente, atravessando todos os 10 pontos experimentais com um coeficiente de determinação R2 elevado (próximo de 0,998), o que indica forte correlação entre os dados e a função proposta. Na Figura 17b, dá para ver que o ajuste linear melhor se ajusta nos primeiros dados, no entanto, isto limita este ajuste Por outro lado, a curva exponencial do gráfico (a) acompanha muito melhor os dados ao longo de toda a faixa analisada. Isso mostra que esse tipo de função representa com mais fidelidade o comportamento do sistema, especialmente quando se leva em conta uma variação maior na capacitância. Assim, usar o modelo exponencial para converter os dados em medidas de nível parece ser a escolha mais confiável e precisa. Assim, o ajuste exponencial se apesenta ser mais atrativo, pois engloba todos os pontos do gráfico. Para ter uma melhor escolha seria interessante analisar a margem de erro dos dois ajustes. A Figura 18 apresenta estas comparações entre as margens de erros entre os dois ajustes. 50 Figura 18 – Gráficos comparativos da margem de erro (%) entre os valores de nível reais e os estimados por duas funções de ajuste: exponencial e linear. (a) Apresenta o erro ao longo de toda a faixa de nível medida (0,01 a 0,10 m), evidenciando que a função linear apresenta erro elevado para valores iniciais, enquanto a função exponencial mantém erro mais distribuído. (b) Ampliação da região de interesse (0,02 a 0,10 m), destacando que, dentro dessa faixa operacional, ambos os modelos apresentam baixo erro, com vantagem para a função linear em termos de estabilidade e precisão pontual. Com base nos dados apresentados nas Figura 18a-b, observa-se que ambas as funções – exponencial e linear – apresentam margens de erro elevadas nas menores medidas de nível (0,01 a 0,02 m), indicando que essa faixa está fora da zona ideal de operação do sistema. Entretanto, a partir de 0,03 m, as duas funções passam a demonstrar um comportamento mais estável e com menor erro percentual. Figura 18b, que foca no intervalo de 0,02 a 0,10 m, permite uma análise comparativa mais detalhada. Nela, é possível verificar que a função linear, derivada do ajuste da Figura 17, mantém a margem de erro dentro de limites aceitáveis ao longo de sete pontos experimentais, especialmente entre 0,03 e 0,08 m. Já a função exponencial, ainda que também atenda a esse intervalo com erros reduzidos, apresenta maior variação nos valores iniciais e uma leve oscilação em níveis mais altos. Dessa forma, infere-se que o modelo linear da Figura 17b, reanalisado na Figura 18, oferece melhor precisão para aplicações práticas em sensores de nível capacitivos, desde que se restrinja à faixa operacional de 0,03 a 0,08 m. A escolha desse modelo se justifica pela sua simplicidade e maior estabilidade nos valores estimados dentro do intervalo em que o sistema demonstra maior confiabilidade. 51 Com base nos dados analisados e nas simulações realizadas, é possível concluir que o circuito medidor de nível capacitivo por toque apresenta desempenho satisfatório dentro de uma faixa operacional bem definida. A partir das análises dos gráficos de margem de erro, observou-se que tanto a função exponencial quanto a função linear apresentam grande variação no erro nas menores medidas de nível (entre 0,01 e 0,02 m). Contudo, a partir de 0,03 m até aproximadamente 0,08 m, os dois modelos passam a apresentar desempenho significativamente mais estável, com erros inferiores a 7,33%. Dentro desse intervalo, a função linear derivada da Figura 17b demonstrou ser a mais adequada para a conversão entre capacitância e nível, especialmente por sua menor complexidade e melhor precisão observada. A função 𝑓(𝑥) = 0,12 − 94498,00 ∙ 𝑥, utilizada na conversão, foi validada por meio de simulações com diferentes capacitores (900nF, 700 nF e 380 nF), resultando em margens de erro inferiores a 5,5% para a capacitância e inferiores a 5,5% para a medida de nível. Esses resultados reforçam a confiabilidade do sistema para aplicações práticas em faixas específicas. Dessa forma, conclui-se que o circuito desenvolvido é eficaz para a leitura e conversão de sinais capacitivos em medidas de nível, desde que operando na faixa validada. As funções de conversão implementadas no código do microcontrolador apresentaram coerência com os dados experimentais e com os valores exibidos nas simulações, comprovando a precisão e aplicabilidade do sistema. Com o encerramento dessa etapa, estabelece-se uma base sólida para avançar na discussão e integração das três partes do sistema completo de monitoração. Ao reunir e analisar todos os dados obtidos, fica evidente que cada sensor tem seus pontos fortes e limitações. A escolha do sensor ideal depende de um equilíbrio entre precisão, faixa de operação e tempo de resposta, sempre considerando as necessidades específicas do sistema em que será utilizado. Mesmo com as limitações das simulações, os resultados alcançados demonstram potencial de aplicação, especialmente em sistemas de monitoramento. Além disso, os dados reforçam a viabilidade de integrar esses sensores a tecnologias mais amplas, como a Internet das Coisas (IoT) e a Inteligência Artificial das Coisas (AIoT), o que pode 52 ampliar significativamente o alcance e a eficiência do controle remoto em ambientes industriais e ambientais. Com base na análise dos dados obtidos, é possível avaliar o desempenho de cada sensor de temperatura quanto à precisão, ao intervalo de operação e ao tempo de resposta. No caso do LM35, observou-se, além da faixa operacional e da precisão, um fator relevante relacionado às leituras no intervalo de -55 °C a 1 °C. Conforme descrito por Nasution et. al (23), o sensor apresenta erro de 100% nesse intervalo, o que foi confirmado na simulação realizada no Proteus. Apesar da leitura visual da temperatura ainda ocorrer no display, não há conversão correspondente em nível de tensão na saída. O fabricante informa que é possível operar o sensor nessa faixa utilizando uma tensão negativa de -5 V com um resistor pull-up, recurso não contemplado na simulação. No intervalo de 16 °C a 150 °C, o LM35 apresentou erros menos expressivos, com tendência de redução conforme a temperatura se eleva. A faixa de 0 °C a 15 °C, no entanto, concentrou os maiores desvios, atingindo até 5,8% a 6 °C. Ainda assim, o sensor demonstra bom desempenho em termos de resposta rápida, com conversão imediata da temperatura em sinal analógico. O sensor DS18B20 se destacou por sua excelente precisão ao longo de toda a faixa de operação, que abrange de -55 °C a 128 °C. Durante os testes realizados, praticamente não foram observados desvios significativos nas leituras, o que reforça a confiabilidade do dispositivo. Essa alta precisão está diretamente associada à sua arquitetura interna, composta por um microcircuito integrado com memória e comunicação digital via protocolo One-Wire. Diferentemente dos sensores analógicos, o DS18B20 realiza a leitura da temperatura em três etapas sequenciais, o que exige um tempo adicional para processamento. De acordo com o fabricante, o tempo total estimado para uma conversão completa é de aproximadamente 750 ms, podendo variar levemente conforme a carga de processamento do microcontrolador empregado, como o Arduino Uno no ambiente de simulação. Já o sensor TMP36 apresentou um comportamento parecido com o LM35, cobrindo bem a faixa de -40 °C a 125 °C. Seu desempenho também melhorou com o aumento da temperatura, mas, nas faixas mais baixas, especialmente entre -10 °C e 10 °C, surgiram variações mais acentuadas – chegando a 22% de erro a 1 °C e 17% a -1 °C. Apesar disso, o TMP36 se mostrou bastante eficiente na resposta, com 53 saídas analógicas que refletem rapidamente as mudanças de temperatura, o que é útil para aplicações que exigem atualização em tempo real. Além dos sensores de temperatura, o sistema de monitoramento desenvolvido também incorporou outros dispositivos, como o sensor de pH e o sensor capacitivo de toque. Embora esses não tenham sido analisados com o mesmo nível de detalhe, eles desempenham funções importantes dentro do sistema e foram devidamente simulados e ajustados para funcionar em conjunto com os demais elementos de monitoração. No caso do sensor de pH, foi utilizada uma resistência variável para simular a variação de condutividade associada à acidez das soluções. A média das leituras realizadas pelo microcontrolador foi convertida em valores de pH por meio de uma função linear previamente ajustada. O sensor capacitivo de toque, aplicado na medição de nível, funciona com base em uma propriedade bastante simples: sua capacitância muda conforme a imersão em água aumenta. Quanto maior a área em contato com o líquido, menor tende a ser o valor da capacitância. Para interpretar essas variações, foram testados dois modelos matemáticos, um linear e outro exponencial, com o objetivo de converter os sinais lidos pelo microcontrolador em valores de capacitância e, a partir disso, em alturas mensuráveis. Os resultados obtidos ao longo deste trabalho mostram que a escolha adequada dos sensores tem impacto direto na eficiência dos sistemas de monitoramento. Identificar o sensor mais apropriado para cada tipo de variável é fundamental, especialmente em contextos que exigem controle automatizado, como na produção de biogás em biodigestores. Sensores com boa precisão e confiabilidade garantem leituras consistentes, o que ajuda a reduzir falhas e melhora significativamente a tomada de decisões. Como ressaltado por Onu et. al (24), a qualidade dos sensores utilizados é um dos principais fatores que influenciam o desempenho de sistemas de controle. Outro aspecto relevante é o potencial de integrar o sistema proposto a tecnologias emergentes, como a Internet das Coisas (IoT) e a Inteligência Artificial das Coisas (AIoT). Essa integração pode ampliar as possibilidades de monitoramento remoto e automação, tornando o sistema mais eficiente, flexível e adaptável a diferentes contextos industriais e ambientais. 54 Entretanto, é importante reconhecer os limites inerentes ao ambiente de simulação utilizado. Embora as simulações no Proteus tenham fornecido resultados promissores, elas não contemplam por completo fatores do mundo real, como variações de temperatura, tolerâncias de componentes e interferências eletromagnéticas. Dessa forma, recomenda-se que os circuitos desenvolvidos sejam validados experimentalmente, sobretudo quando aplicados em contextos mais complexos ou críticos. 4.4 CALIBRAÇÃO DO SENSOR DE PH Primeiro, foi realizada a calibração do sensor de pH através do módulo que contém um potenciômetro ajustável (tripot). As conexões elétricas foram feitas com o terminal GND do módulo conectado ao GND do Arduino e o terminal VCC conectado à saída de 5 V. Para a calibração inicial, foi utilizado um multímetro conectado entre os terminais Po e GND do módulo, ajustando-se o potenciômetro até obter uma leitura de 2,5 V, que corresponde ao valor neutro (pH = 7), esta medida foi feita com o terminal de entrada do sensor de ph curto circuitado. Após esse ajuste inicial, o curto-circuito do módulo foi substituído pelo eletrodo sensor de pH, e procedeu-se com a calibração final utilizando o método dos dois pontos. Foram empregadas soluções tampão padrão com valores conhecidos: solução tampão ácida de Bifalato de Potácio /hidróxido de sódio (pH = 4) e solução tampão básica de Ácido Bórico / Cloreto de Potácio (pH = 10). As respectivas tensões medidas para essas soluções foram de 3,03 V para o pH 4 e de 2,0 V para o pH 10. Com base nessas medições experimentais, foi determinada a seguinte equação de calibração, que relaciona diretamente o valor do pH com a tensão de saída medida pelo sensor conectado ao Arduino: 𝑝𝐻 = −5,8236 ∙ 𝑉𝑙𝑒𝑖 + 21,617 onde Vlei é a tensão lida diretamente pelo sensor de pH via Arduino (em Volts). Nota-se que para o sensor real não há um valor de pH 0 para uma tensão 0. A calibração do sensor de pH (modelo DIY ph meter ph4502c) foi conduzida utilizando soluções tampão padrão de pH 4, 7 e 10, sob diferentes condições de temperatura (26, 40, 50, 60 e 70 °C). O objetivo foi avaliar a estabilidade e a 55 precisão do sensor frente a variações térmicas, de forma a estabelecer parâmetros confiáveis para sua aplicação em processos reais de monitoramento. O procedimento experimental consistiu na aquisição contínua de dados de pH e temperatura, utilizando Arduino Uno R3 associado a um sensor NTC. Os resultados foram organizados em três etapas principais: (i) análise da evolução do pH ao longo do tempo, (ii) avaliação comparativa de pH em função da temperatura, e (iii) determinação do pH médio e seu desvio-padrão em cada condição experimental. 4.4.1 Padronização em Solução Ácida (pH 4) Durante a etapa de padronização do sensor de pH, foi conduzido um experimento utilizando solução tampão padrão de pH 4, submetida a diferentes temperaturas (26, 40, 50, 60 e 70 °C). O sensor foi conectado a um sistema automatizado com Arduino Uno R3, possibilitando o registro contínuo das medições de pH ao longo do tempo. Esse procedimento teve como objetivo avaliar a estabilidade da resposta do sensor em meio ácido, considerando possíveis variações térmicas que ocorrem em processos práticos de monitoramento. A Figura 4.15 apresenta o conjunto de resultados obtidos, onde se observa que, em condições próximas à temperatura ambiente (26 °C), os valores de pH permaneceram estáveis e consistentes, enquanto em temperaturas elevadas surgiram oscilações mais pronunciadas. Na evolução temporal do pH é clara a estabilidade das leituras em 26 °C, em contraste com o aumento da v