Baixe o app para aproveitar ainda mais
Prévia do material em texto
Universidade Estadual de Londrina Centro de Tecnologia e Urbanismo Departamento de Engenharia Elétrica Luiz Fernando Conte Siviero Monitoramento via ultrassom, temperatura e umidade no armazenamento de grãos com acionamento do sistema de aeração Londrina 2017 Universidade Estadual de Londrina Centro de Tecnologia e Urbanismo Departamento de Engenharia Elétrica Luiz Fernando Conte Siviero Monitoramento via ultrassom, temperatura e umidade no armazenamento de grãos com acionamento do sistema de aeração Trabalho de Conclusão de Curso orientado pelo Prof. Dr. Walter Gemanovix intitulado “Monitoramento via ultrassom, temperatura e umidade no armazenamento de grãos com acionamento do sistema de aeração” e apresentado à Universidade Estadual de Londrina, como parte dos requisitos necessários para a obtenção do Título de Bacharel em Engenharia Elétrica. Orientador: Prof. Dr. Walter Gemanovix Londrina 2017 Ficha Catalográfica Luiz Fernando Conte Siviero Monitoramento via ultrassom, temperatura e umidade no armazenamento de grãos com acionamento do sistema de aeração - Londrina, 2017 - 103 p., 30 cm. Orientador: Prof. Dr. Walter Gemanovix 1.Termometria. 2. Sistemas Embarcados. 3. Sensores. 4. RS485. I. Universidade Estadual de Londrina. Curso de Engenharia Elétrica. II. Monitoramento via ultrassom, temperatura e umidade no armazenamento de grãos com acionamento do sistema de aeração. Luiz Fernando Conte Siviero Monitoramento via ultrassom, temperatura e umidade no armazenamento de grãos com acionamento do sistema de aeração Trabalho de Conclusão de Curso apresentado ao Curso de Engenharia Elétrica da Universidade Estadual de Londrina, como requisito parcial para a obtenção do título de Bacharel em Engenharia Elétrica. Comissão Examinadora Prof. Dr. Walter Gemanovix Universidade Estadual de Londrina Orientador Prof. Dr. Aziz Elias Demian Junior Universidade Estadual de Londrina Prof. Dr. Ernesto Fernando Ferreyra Ramírez Universidade Estadual de Londrina Londrina, 22 de janeiro de 2018 Dedico este trabalho a todos aqueles que, de alguma forma, auxiliaram para a concretização desta etapa. Agradecimentos Agradeço à minha família, por todo apoio e incentivo recebido nessa caminhada, sem seu exemplo com certeza não estaria aqui hoje. Agradeço aos amigos que fiz na universidade, que além de me trazerem alegria em diversos momentos também foram essenciais para a conclusão deste trabalho. Aos professores que dedicaram seu tempo para transmitir um pouco do conhecimento que têm, em especial ao meu orientador Walter Germanovix, por toda sua paciência e empenho não somente neste trabalho, mas também durante o tempo em que fiz parte do Projeto 8060. Aos técnicos Luís Carlos Mathias e Luiz Fernando Schmidt, pela colaboração e pres- tatividade. Por fim, agradeço a Universidade Estadual de Londrina, em função da qualidade técnica e estrutura apresentadas. "Só sei que nada sei” (Sócrates) Luiz Fernando Conte Siviero. Monitoramento via ultrassom, temperatura e umi- dade no armazenamento de grãos com acionamento do sistema de aeração. 2017. 103 p. Trabalho de Conclusão de Curso em Engenharia Elétrica - Universidade Estadual de Londrina, Londrina. Resumo Grãos armazenados estão sujeitos à degradação causada por fatores como fungos, insetos e condições climáticas desfavoráveis que causam perda na qualidade. A utilização de sistemas de monitoramento aliados à técnicas que reduzam a temperatura e controlem a umidade dos grãos pode evitar estes problemas. Dada a falta de produtos especializados que monitorem a umidade, propõe-se um sistema que, além da temperatura, também seja capaz de medi-la. Os sensores são utilizados em conjunto com um microprocessador MSP430 e um sensor de ultrassom que detecta a presença de grãos. Esta unidade remota é responsável por monitorar uma pequena região da massa de grãos, e se comunica com uma unidade central micro processada por meio do barramento RS485. A unidade central é responsável pelo acionamento do sistema de aeração e apresenta uma interface gráfica que permite ao usuário visualizar as informações medidas pelas diversas unidades remotas, bem como controlar manualmente a aeração e escolher o tipo de grão que está sendo armazenado. A escolha dos grãos modifica os limiares de temperatra e umidade que o sistema usa para acionar automaticamente os ventiladores. Palavras-Chave: 1.Termometria. 2. Sistemas Embarcados. 3. Sensores. 4. RS485. Luiz Fernando Conte Siviero. Monitoring via ultrasound, temperature and humi- dity in grain storage with aeration system activation. 2017. 103 p. Monograph in Electrical Engineering - Londrina State University, Londrina. Abstract Stored grains are subject to degradation caused by factors such as fungus, insects and unfavorable climatic conditions that lead to quality loss. The use of monitoring systems coupled with techniques that reduce temperature and control grain moisture can prevent these problems. Due to the lack of specialized products that monitor humidity, a system that, besides temperature, is also capable of measuring umidity was designed. The sensors are used in conjunction with an MSP430 microprocessor and an ultrasonic sensor that detect the presence of grains. This remote unit is responsible for monitoring a small region of the grain mass, and communicate with a microprocessor-based central unit via RS485 bus. The central unit is responsible for activating the aeration system and present a graphical interface allowing the user to view the values obtained by the several remote units, as well as manually controilling the aeration and choosing the type of grain being stored. The chosen grain type modifies the limits used by the system to automatically activate the fans. Key-words: 1. Thermometry. 2. Embedded Systems. 3. Sensors. 4. RS485. Lista de ilustrações Figura 1 – Ecossistema no armazenamento . . . . . . . . . . . . . . . . . . . . . . 27 Figura 2 – Diagrama da boa conservação . . . . . . . . . . . . . . . . . . . . . . . 28 Figura 3 – Tabela de equilíbrio higroscópico do arroz . . . . . . . . . . . . . . . . 29 Figura 4 – Correntes de convecção e transferência de calor e umidade no interior de um silo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 Figura 5 – Esquema básico de um sistema de aeração em silo vertical . . . . . . . 31 Figura 6 – Esquema básico de um sistema de aeração em silo vertical . . . . . . . 32 Figura 7 – Sensores de umidade de efeito capacitivo . . . . . . . . . . . . . . . . . 34 Figura 8 – Esquema de funcionamento de um sensor de ultrassom . . . . . . . . . 35 Figura 9 – Topologia de uma rede daisy-chain implementada de maneira correta . 40 Figura 10 – Esquema de rede RS485 half-duplex . . . . . . . . . . . . . . . . . . . . 40 Figura 11 – Diagrama de blocos do sistema . . . . . . . . . . . . . . . . . . . . . . 41 Figura 12 – Sensor DHT22 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 Figura 13 – Diagrama de tempos para a comunicação com o sensor DHT22 . . . . . 43 Figura 14 – Sensor HCSR04 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 Figura 15 – Placa de desenvolvimento MSP-EXP430G2 LaunchPad . . . . . . . . . 45 Figura 16 – Fluxograma do loop principal da unidade remota . . . . . . . . . . . . 46 Figura 17 – Esquema e composição de uma tela touchscreen . . . . . . . . . . . . . 47 Figura 18 – Esquema de comunicação de uma tela e controlador touchscreen . . . . 48 Figura 19 – Telas da interface gráfica do usuário . . . . . . . . . . . . . . . . . . . 48 Figura 20 – Tabelas de equilíbrio higroscópico . . . . . . . . . . . . . . . . . . . . . 49 Figura 21 – Diagrama de blocos do sistema . . . . . . . . . . . . . . . . . . . . . . 50 Figura 22 – Fluxograma da função responsável pela atualização de tela . . . . . . . 51 Figura 23 – Diagrama de blocos da função responsável pela análise das mensagens recebidas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 Figura24 – Diagrama de blocos da função que trata os toques na tela . . . . . . . 53 Figura 25 – Diagrama de blocos da função que verifica os limiares de temperatura e umidade do sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 Figura 26 – Diagrama de blocos da função responsável pelo acionamento automá- tico dos ventiladores . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 Figura 27 – Diagrama de blocos da função responsável pelo controle do envio de mensagens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 Figura 28 – Pacotes utilizados no protocolo de comunicação . . . . . . . . . . . . . 56 Figura 29 – Diagrama de blocos da interrupção da USART do ARM . . . . . . . . 57 Figura 30 – Diagrama de blocos da interrupção de recepção do MSP . . . . . . . . 57 Figura 31 – Diagrama de blocos da interrupção de envio do MSP . . . . . . . . . . 58 Figura 32 – Esquemático do transceiver RS485 (SN65HVD75) . . . . . . . . . . . . 58 Figura 33 – Placa adaptadora RS485 da unidade central . . . . . . . . . . . . . . . 59 Figura 34 – Circuito da unidade remota . . . . . . . . . . . . . . . . . . . . . . . . 60 Figura 35 – Layout da placa da unidade remota . . . . . . . . . . . . . . . . . . . . 61 Figura 36 – Placas montadas e sensores utilizados . . . . . . . . . . . . . . . . . . . 63 Figura 37 – Placas funcionando conectadas ao barramento . . . . . . . . . . . . . . 63 Figura 38 – Tela de monitoramento mostrando as temperaturas e umidades medidas 64 Figura 39 – Tela de monitoramento mostrando as temperaturas e umidades medidas 64 Figura 40 – Tela de nível de grãos . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 Figura 41 – Tela de controle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 Figura 42 – Processo automático de acionamento . . . . . . . . . . . . . . . . . . . 67 Figura 43 – Seleção de grãos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 Lista de tabelas Tabela 1 – Transmissão de dados DHT22 . . . . . . . . . . . . . . . . . . . . . . . 42 Tabela 2 – dados hipotéticos DHT22 . . . . . . . . . . . . . . . . . . . . . . . . . 42 Tabela 3 – Transmissão de dados DHT22 . . . . . . . . . . . . . . . . . . . . . . . 44 Tabela 4 – Custos na produção da unidade central . . . . . . . . . . . . . . . . . . 69 Tabela 5 – Custos na produção da unidade remota . . . . . . . . . . . . . . . . . . 69 Lista de Siglas e Abreviaturas ARM Advanced RISC Machine ASAE American Society of Agricultural and Biological Engineers CI Circuito integrado CR Carriage return DE Driver enable EIA Electronic Indstries Association EXTI External interrupt/event controller FMC Flexible memory controller GPIO General purpose input/outputs I2C Inter-integrated circuit interface IBGE Instituto Brasileiro de Geografia e Estatística ID Identificação de cada unidade remota LCD Display de cristal líquido LF Line feed LSPA Levantamento Sistemático da Produção Agrícola LTDC LCD-TFT controller MISO Master in Slave out MSP Mixed Signals Processor MOSI Master out Slave in NTC Negative Temperature Coeficient NVIC Nested vectored interrupt controller PDIP Plastic Dual in-line Package PTC Positive Temperature Coeficient PWM Pulse Width Modulation RE Receiver enable RS485 Recomended Standart 485 RTD Resistance Temperature Detector SCL Serial Clock SDA Serial Data SMD Surface Mounted Devices SPI Serial Peripheral Interface TIA Telecommunications Industry Association TFT Thin Film Transistor USART Universal synchronous/asynchronous receiver transmitters µC Microcontrolador Sumário 1 INTRODUÇÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 1.1 Motivação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 1.2 Justificativa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 1.3 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 1.4 Organização do trabalho . . . . . . . . . . . . . . . . . . . . . . . 25 2 FUNDAMENTAÇÃO TEÓRICA . . . . . . . . . . . . . . . . . 27 2.1 Armazenamento de grãos . . . . . . . . . . . . . . . . . . . . . . . 27 2.1.1 Conservação de grãos . . . . . . . . . . . . . . . . . . . . . . . . . 27 2.1.2 Equilíbrio higroscópico . . . . . . . . . . . . . . . . . . . . . . . . 28 2.1.3 Termometria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 2.1.4 Aeração . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 2.1.5 Intra e transilagem . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 2.2 Fundamentos básicos de eletrônica . . . . . . . . . . . . . . . . . 33 2.2.1 Sensores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 2.2.1.1 Sensores de temperatura . . . . . . . . . . . . . . . . . . . . . . . . . . 33 2.2.1.2 Sensores de umidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 2.2.1.3 Sensores Ultrassônicos . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 2.2.2 Microcontroladores . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 2.2.2.1 Microcontroladores ARM . . . . . . . . . . . . . . . . . . . . . . . . . 35 2.2.2.2 Microcontrolador MSP430 . . . . . . . . . . . . . . . . . . . . . . . . . 37 2.2.3 Protocolos de comunicação . . . . . . . . . . . . . . . . . . . . . . 38 2.2.3.1 Inter-integrated circuit (I2C) . . . . . . . . . . . . . . . . . . . . . . . 38 2.2.3.2 Serial peripheral interface (SPI) . . . . . . . . . . . . . . . . . . . . . 38 2.2.4 TIA/EIA 485 (RS485) . . . . . . . . . . . . . . . . . . . . . . . . . 39 3 DESENVOLVIMENTO . . . . . . . . . . . . . . . . . . . . . . . 41 3.1 Organização do sistema em blocos . . . . . . . . . . . . . . . . . 41 3.2 Aquisição de dados de temperatura e Umidade . . . . . . . . . 41 3.3 Nível de grãos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 3.4 Programação do microcontrolador MSP430 . . . . . . . . . . . 45 3.5 Interface gráfica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 3.6 Programação do microcontrolador ARM . . . . . . . . . . . . . 50 3.6.1 MS_LCD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 3.6.2 SERIAL_CHECK . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 3.6.3 TOUCH_HANDLER e TOUCH_INTERRUPT . . . . . . . . 52 3.6.4 TEMP& UMI_CHECK . . . . . . . . . . . . . . . . . . . . . . . . 54 3.6.5 SEND_INTERRUPT . . . . . . . . . . . . . . . . . . . . . . . . . 55 3.7 Comunicação entre as unidades . . . . . . . . . . . . . . . . . . . 55 3.7.1 Protocolo de comunicação . . . . . . . . . . . . . . . . . . . . . . 55 3.7.2 Interrupções do µC ARM (Unidade Central) . . . . . . . . . . 56 3.7.3 Interrupções do µC MSP (Unidade Remota) . . . . . . . . . . . 57 3.7.4 Implementação do padrão RS485 e layout da placa . . . . . . . 58 3.8 Placa de circuito impresso da unidade remota . . . . . . . . . . 60 4 RESULTADOS E DISCUSSÕES . . . . . . . . . . . . . . . . . . 63 5 CONCLUSÕES . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 5.1 Trabalhos futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 REFERÊNCIAS . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 A APÊNDICE A - CÓDIGOS DA UNIDADE REMOTA . . . . 77 A.1 Rotina e funções principais (main.c) . . . . . . . . . . . . . . . . 77 A.2 Definições e constantes (main.h) . . . . . . . . . . . . . . . . . . 79 A.3 Interrupções de trnasmissão e timers (interrupcoes.c) . . . . . 80 A.4 Definições e constantes utilizadas nas rotinas de interrupção (interrupcoes.h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 B APÊNDICE B - CÓDIGOS DA UNIDADE CENTRAL . . . . 85 B.1 Rotina e funções principais (main.c) . . . . . . . . . . . . . . . . 85 B.2 Definições e constantes (main.h) . . . . . . . . . . . . . . . . . . 97 B.3 Interrupções e configurações (delaracoes.c) . . . . . . . . . . . . 99 23 1 Introdução Segundo o Levantamento Sistemático da Produção Agrícola (LSPA) de maio de 2017, divulgado pelo IBGE, a produção nacional de cereais, leguminosas e oleaginosas deve crescer29,2% neste ano, quando comparado com a produção de 2016 (IBGE, maio de 2017). Este crescimento é ainda maior do que as estimativas anteriores também publicadas pelo IBGE, porém uma parcela significativa dessa produção é perdida. Infelizmente, dados oficiais relacionados a essa perda não são divulgados com a mesma frequência dos relacionados à produção. Segundo estimativas, do plantio à pré-colheita foram perdidos 6,1% da produção de milho entre 1996 e 2002 (ARAUJO, 12 de março de 2013), no transporte, segundo Ca- neppele e Sardinha (2014), foram perdidos cerca de 2,7 bilhões de reais, equivalente à 14 milhões de toneladas. Analisando especificamente o armazenamento, acredita-se que as perdas, em geral, sejam menores que 10%, porém podendo chegar a mais de 50% em casos críticos (ARAUJO, 12 de março de 2013). Estes riscos acabam desencorajando os produtores a estocar a produção para vender apenas quando o mercado apresentar boas condições, prejudicando o lucro do produtor. (JUNIOR; TSUNECHIRO, abril de 2011). As perdas nesta etapa estão diretamente ligadas à qualidade do grão e são causadas majoritariamente pela ação de insetos e fungos que normalmente o contaminam ainda antes da colheita e, caso negligenciados, encontram na armazenagem a oportunidade de se proliferar (BRITO, 28 de julho de 2015). De acordo com o pesquisador Marco Aurelio Guerra Pimentel “o monitoramento e o controle das operações na lavoura, assim como no armazenamento, podem contribuir para a redução destas perdas” (BRITO, 28 de julho de 2015). Um estudo realizado por Calderwood et al. (1984) concluiu que o processo de aeração foi decisivo na diminuição de pragas em arroz armazenado por 54 meses, mantendo a temperatura da massa de grãos abaixo dos valores ideais para o desenvolvimento de insetos e com isso produzindo um excelente produto. Os resultados deste estudo são corroborados por Arthur (01 October 1994) que através de um processo semelhante conseguiu o mesmo efeito em grãos de milho. A aeração consegue esse efeito graças ao controle da temperatura e umidade no interior do silo, o processo reduz o gradiente de temperatura da massa de grãos evitando assim um processo conhecido como migração de umidade, no qual as correntes de ar no interior do silo transportam umidade de uma região para a outra, aumentando a proliferação dos agentes contaminadores ((BROOKER; BAKKER-ARKEMA; HALL, 1992), (CASADA; YOUNG, 1994), (CHANG; STEELE, 1995). O controle destes fatores ambientais não deve ser feito apenas para evitar a ação de animais, o próprio grão é extremamente dependente das condições climáticas, devendo 24 Capítulo 1. Introdução permanecer em estado de dormência durante todo o tempo de armazenamento (CITOLIN, 2012). Um aumento na temperatura e umidade tem influência direta no metabolismo do grão podendo desencadear ou acelerar o processo de germinação, prejudicando a qualidade do produto final e gerando perdas (ELIAS et al., outubro de 2010). Sendo assim, é imprescindível que exista um meio confiável de se verificar as condições no interior do armazém. De acordo com o engenheiro agrônomo Alberto Rossetto “Exis- tem sistemas que simplesmente informam a temperatura e a umidade de todos os grãos no silo e produzem um relatório. Alguns têm um alarme que avisa quando algo está errado. Outros têm um processo inteiramente automatizado, no qual o produtor literalmente não precisa fazer nada” (TERRA, 14 de maio de 2013). O processo de obtenção dos valores de temperatura e umidade é denominado ter- mometria, coletando dados através de sensores (normalmente termopares) dispostos em diferentes alturas e regiões do silo (PUZZI, 2000 apud FERRASA; BIAGGIONI; DIAS, 2010). A termometria possui diferentes abordagens no meio acadêmico e comercial. FER- RASA, BIAGGIONI e DIAS (2010) optam por utilizar os sensores LM35 e HS15P conec- tados à multiplexadores que se comunicam com um servidor central por meio de rádio frequência. Já Elias et al. (outubro de 2010) optam pelo uso de termopares, que são a escolha mais comum da indústria. Citolin (2012) ainda optou por uma terceira opção, termistores, que variam sua resistência de acordo com a temperatura. Outro aspecto abordado nos trabalhos é a visualização dos dados, Souza (2010) uti- liza o protocolo RS-485 para enviar os dados coletados, os quais são analisados por um software de modo a controlar todo o processo de aeração. Já na Urbano Agroindustrial o sistema utiliza a plataforma IBM Bluemix combinada com a tecnologia IBM Watson para transmitir o volume de grãos armazenados (SENIOR, 2017). Este trabalho visa apresentar um sistema simplificado que possibilite o monitoramento tanto da temperatura quanto da umidade no interior de um silo, bem como uma estimativa do nível de grãos armazenados. Através dos dados coletados, ações deverão ser tomadas automaticamente visando manter estas grandezas dentro de patamares considerados óti- mos, proporcionando assim uma melhor qualidade do produto final. 1.1 Motivação A área de sistemas embarcados sempre foi o foco de minha graduação e dado que a produção de grãos sempre esteve intimamente ligada à economia no norte do Paraná é gratificante participar de um projeto que possa unir tecnologia à essa área tão forte em nosso país, especialmente tendo como objetivo melhorias que possam afetar produtores de diferentes escalas. 1.2. Justificativa 25 1.2 Justificativa A agricultura ainda representa grande parte do mercado brasileiro, e conforme ob- servado por Junior e Tsunechiro (abril de 2011) e comprovado pelo crescente número de eventos e programas como a HACKATHON - SMART AGRO e o CNAGRO (Congresso Nacional de Inovações Técnico-Científica, Inclusão Social e Valor Agregado do Agronegó- cio), o mercado está em busca de soluções que aliam o uso da tecnologia à um aumento da produção e produtividade no campo. Um novo sistema de termometria que também permite a verificação da umidade vem de encontro à essa ideia, aliando o conhecimento agrícola com o desenvolvimento em prol de menores prejuízos e desperdícios. 1.3 Objetivos Deseja-se criar um sistema que monitore continuamente a umidade do ar e temperatura da massa de grãos em um silo, procurando manter um custo competitivo. Através dos valores obtidos com as leituras dos sensores o sistema também deve automatizar o processo de aeração dos grãos armazenados, visando manter a qualidade dos mesmos e garantindo assim uma maior produtividade e rentabilidade. Para a aquisição de dados serão desenvolvidas unidades remotas compostas de sensores de temperatura e umidade, e um sensor que permita avaliar a presença de grãos. Estas deverão se comunicar com uma unidade central, que contará com uma interface gráfica que possibilite ao usuário alterar parâmetros do sistema de controle, bem como acionar manualmente os sistemas do silo. Por fim, o sistema proposto será validado em uma versão em escala reduzida de um silo, controlando suas funções básicas de preservação do conteúdo. 1.4 Organização do trabalho O presente trabalho está dividido em 4 capítulos além deste. Na fundamentação teórica são abordados os conteúdos básicos relacionados à armazenagem de grãos e eletrônica. No capítulo seguinte, desenvolvimento, são detalhados os procedimentos e escolhas de projetos realizadas. Os resultados obtidos após as montagens estão no capítulo 4, e por fim as conclusões e projeções para trabalhos futuros estão detalhados no capítulo 5. 27 2 Fundamentação Teórica 2.1 Armazenamento de grãos Para uma melhor compreensão e desenvolvimento do trabalho são necessários alguns conhecimentos básicos relacionados ao armazenamento de grãos em silos: 2.1.1 Conservação de grãos Os grãos são o principal organismo presente dentro do silo, e deveriam passar todo o tempo de armazenamento sem sofrer alterações físicas ou químicas. Porém, como fazem parte de um ambiente não isolado, isso não é possível. Além do grão estão presentes diversos seres vivos, como pássaros, roedores, insetos, fungos e bactérias, os chamados fatoresbióticos de deterioração. Estes sofrem influência dos fatores abióticos: temperatura, umidade, pressão, circulação do ar, condição física dos grãos entre outros. Esse conjunto de fatores e a interação que ocorre entre eles é denominado ecossistema de armazenamento (ELIAS et al., outubro de 2010), conforme pode ser observado na figura 1. Figura 1 – Ecossistema no armazenamento Fonte: Elias et al. (outubro de 2010) 28 Capítulo 2. Fundamentação Teórica A conservação está diretamente ligada ao controle de alguns fatores abióticos que tenham grande influência no estado desejado do produto. A temperatura e umidade nor- malmente são os escolhidos, pois, tem impacto direto no desenvolvimento do ecossistema, conforme pode ser observado na figura 2. Figura 2 – Diagrama da boa conservação Fonte: Hara (2008) O chamado “Diagrama da boa conservação”, estabelecido por Burges e Burrel (In- glaterra), pode ser aplicado no manejo de cereais (trigo, cevada, centeio, milho, etc.) e possui 4 zonas principais, sendo uma boa e três nas quais haverá problemas, sejam eles insetos, fungos ou até mesmo a germinação do cereal estocado (ALMEIDA & CIA, 2017). Conforme pode ser observado, o teor de umidade descrito no gráfico não é do ar e sim o teor de umidade base úmida do grão (%b.u.), ou seja, a razão entre o peso da água presente no grão (Pa) e o peso total (Pms + Pa), o peso total é dado pelo peso da água mais o peso da massa seca (Pms). O cálculo pode ser feito através da equação 2.1, retirada de Silva e Rufato (2001). Ub.u. = 100 · Pa Pms + Pa (2.1) 2.1.2 Equilíbrio higroscópico Sendo os grãos materiais higroscópicos, ou seja, tem capacidade de ceder ou absorver água, o valor da umidade presente dentro dele depende da umidade e temperatura externas 2.1. Armazenamento de grãos 29 e para cada grão o comportamento destas três grandezas é diferente (ALMEIDA & CIA, 2017). Essa relação dinâmica sempre busca igualar a pressão de vapor da semente e do ar. Quando esse ponto é atingido dizemos que o grão se encontra em equilíbrio higroscópico. Como durante esse processo existe a perda ou absorção de água, a massa final sofre alterações até que as pressões sejam estabilizadas (EQUIPASA - TECNOLOGIA EM ARMAZENAGEM E CONSERVAçãO DE GRãOS, 2017). Conforme dito anteriormente o valor de equilíbrio varia de acordo com o tipo de semente, por isso cada produto possui uma tabela de equilíbrio higroscópico diferente. O método de consulta é explicado em ALMEIDA & CIA (2017), primeiro encontra-se a linha correspondente à temperatura no interior do armazenamento, em seguida procura-se a coluna referente à umidade relativa do ar, a intersecção destes dará o valor estimado do teor de umidade presente no grão após um tempo exposto àquelas condições. Na figura 3 podemos ver a tabela de equilíbrio higroscópico do arroz, já destacando as zonas ótimas (verdes), zonas de risco de deterioração (vermelha) e zonas de secagem, na qual peso será perdido devido à perda de água pelo grão (amarelas). Figura 3 – Tabela de equilíbrio higroscópico do arroz Fonte: (ALMEIDA & CIA, 2017) 30 Capítulo 2. Fundamentação Teórica 2.1.3 Termometria Segundo EQUIPASA - Tecnologia em Armazenagem e Conservação de Grãos (2017) a termometria é o meio utilizado para medir a temperatura no interior do armazena- mento, normalmente formado por “um conjunto de sensores distribuídos simetricamente no interior de um silo ou graneleiro e conectados a um painel dotado de instrumento de medição”, conforme visto em ALMEIDA & CIA (2017). A condutibilidade térmica do conteúdo armazenado não é boa, sendo assim, uma mudança em determinada região demora para se espalhar, por este motivo são necessários os diversos pontos de medição. Estes focos, geralmente de aquecimento, devem ser combatidos pois levam à formação dos gradientes de temperatura, que por sua vez causam um fenômeno chamado migração de umidade, no qual o vapor de água se desloca de uma região mais fria para uma mais quente, devido às correntes de convecção formadas na unidade de armazenamento (CITOLIN, 2012), conforme observado na figura 4. Figura 4 – Correntes de convecção e transferência de calor e umidade no interior de um silo (a) Temperatura externa menor, conden- sação na parte superior (b) Temperatura externa maior, conden- sação na parte inferior Fonte: (ELIAS et al., outubro de 2010) Essa concentração pode fazer com que as condições passem a ser favoráveis ao desen- volvimento de microrganismos, podendo levar a uma degradação acentuada e precoce das sementes. Para combater, ou pelo menos amenizar este problema procura-se manter a tempera- tura uniforme dentro do silo. Isto é conseguido principalmente com o uso de uma técnica chamada aeração. 2.1. Armazenamento de grãos 31 2.1.4 Aeração De acordo com Bragatto e Barrella (2001): “Aeração é o movimento forçado de ar através da massa de grãos, obje- tivando a diminuição e uniformização da temperatura, propiciando condições favoráveis para a conservação da qualidade durante o tempo de armazena- mento, pois impede a migração da umidade e a formação de bolsas de calor”. Para que a eficácia do processo não seja comprometida é necessário que o ar soprado possua temperatura pelo menos igual à temperatura interna do silo. Visto que haverá troca de calor entre as sementes e o ar, existe o risco de elevação da temperatura da massa de grãos causando todos os diversos problemas supracitados. Silva, Filho e Devilla (2000) define que um sistema de aeração é composto pelo menos por: • Ventilador com motor; • Dutos; • Dispositivos para monitoramento. Conforme observado na figura 5. Figura 5 – Esquema básico de um sistema de aeração em silo vertical Fonte: (SILVA; FILHO; DEVILLA, 2000) Ainda segundo Silva, Filho e Devilla (2000) o ventilador deve ser capaz de fornecer um fluxo de ar adequado e ter força suficiente para vencer a resistência dos grãos. Já os dutos podem estar dispostos de diferentes formas no interior do silo, e podem ou não serem acompanhados por um fundo perfurado, como pode ser visto na figura 6 32 Capítulo 2. Fundamentação Teórica Figura 6 – Esquema básico de um sistema de aeração em silo vertical Fonte: (SILVA; FILHO; DEVILLA, 2000) Um dos obstáculos para a realização da aeração é a compactação dos grãos, que pre- judica a passagem de ar e podem impedir que se atinja o resultado desejado. Além da compactação, impurezas e grãos danificados também têm efeito negativo na aeração. Para contornar estes problemas, podem ser utilizados ventiladores auxiliares ou partir para outros processos que visam o mesmo objetivo que a aeração, dentre esses é válido citar a intra e a transilagem. 2.1.5 Intra e transilagem Os processos de intra-silagem e transilagem são similares tanto no resultado almejado quanto no processo em si, consistindo basicamente na movimentação dos grãos para a uniformização de temperatura e facilitação da passagem de ar no processo de aeração. A diferença principal entre eles está no fato de a intra-silagem movimentar o grão dentro do silo onde ele se encontra, também chamado de revolvimento dos grãos, ou passá-los apenas pelo elevador de grãos e deposita-los novamente na mesma unidade armazenadora. Já a transilagem é a transferência completa do produto para outro silo (ELIAS et al., outubro de 2010). De acordo com Silva, Filho e Devilla (2000) estes dois processos até podem ser alter- nativas válidas para a resolução dos problemas, porém apresentam os seguintes inconve- nientes: • Aumenta o risco de danos mecânicos ao produto durante o processo; • Demanda mais tempo para sua execução, pois apenas uma circulação pode não ser suficiente para solucionar o problema; 2.2. Fundamentos básicos de eletrônica 33 • Tem custo elevado (no caso da transilagem), visto que é necessário possuir outra unidade armazenadora vazia; Diante desses problemas foi decidido que este projeto abordaria apenas os ventiladores auxiliares como alternativa à aeração. 2.2 Fundamentos básicos de eletrônica Nesta seção serãodiscutidos os conceitos de elétrica e eletrônica necessários para en- tender o desenvolvimento, implementação e escolhas do projeto. 2.2.1 Sensores Como explica PAPAVASSILIOU (2008), sensores podem ser definidos como dispo- sitivos capazes de converter alguma grandeza ou energia mensurável em uma grandeza elétrica. Neste projeto, os principais sensores utilizados são de temperatura, umidade e ultrassom. 2.2.1.1 Sensores de temperatura Como o nome sugere, estes dispositivos conseguem mudar suas características elétricas a partir de uma mudança de temperatura, os tipos mais comuns são as termorresistências, os termopares e os termistores: • TERMORESISTÊNCIAS - Também chamados de RTDs (resistance tempera- ture detector), são dispositivos que variam a resistência de acordo com sua tem- peratura. Normalmente fabricados utilizando um metal puro (como a platina) ou ligas metálicas à base de níquel ou cobre. Têm como características principais a linearidade em ampla faixa de operação e o alto tempo de resposta (ALUTAL, 2016). • TERMOPARES - São dispositivos formados pela junção de dois metais diferentes, devido ao Efeito de Seebeck geram uma diferença de potencial entre seus terminais a partir da temperatura à que são submetidos. Apresentam altíssimas temperaturas máximas de funcionamento, porém não possuem comportamento linear (SHTAR- GOT; MIRZA, 2011). • TERMISTORES - Assim como os RTDs, variam sua resistência conforme a tem- peratura que atingem, porém são normalmente feitos de polímeros ou materiais cerâ- micos que impedem seu uso em altas temperaturas, além de apresentarem uma curva de RESISTÊNCIA X TEMPERATURA exponencial. Esta curva também define os dois tipos possíveis: NTC, no qual a resistência diminui conforme a temperatura 34 Capítulo 2. Fundamentação Teórica aumenta e PTC, no qual a resistência e temperatura são diretamente proporcionais (JúNIOR, 2010). Para este projeto foi escolhido um sensor do tipo NTC que também apresenta no mesmo encapsulamento um sensor de umidade, o DHT22, se funcionamento e caracterís- ticas serão abordados no capítulo 3. 2.2.1.2 Sensores de umidade Quando medimos a umidade, na maioria das vezes nos referimos à umidade relativa do ar, como é o caso deste trabalho. Os sensores responsáveis por realizar essa medida podem ser divididos em 2 tipos distintos, os baseados no efeito capacitivo e os baseados no efeito resistivo. O princípio de ambos é relativamente parecido, sendo formados por eletrodos separados por um polímero capaz de absorver o vapor de água presente no ar e com isso mudar suas características elétricas (JAIN, 2012). Como o nome sugere, em um sensor baseado no efeito capacitivo os eletrodos formam um capacitor e o polímero tem a função de dielétrico, ao absorver ou perder água a capacitância é modificada e com isso obtém-se o valor da umidade relativa do ar. Já os de efeito resistivo possuem os eletrodos e o polímero montados de tal forma que atuam como um resistor, de forma análoga ao caso anterior, sua resistência é modificada pela absorção ou perda de água. A figura 7 mostra os dois tipos. Figura 7 – Sensores de umidade de efeito capacitivo 2.2.1.3 Sensores Ultrassônicos Este tipo de sensor encontra aplicações na indústria, podendo ser usado para detectar a passagem de objetos ou pessoas, medir distâncias, ou até mesmo medir o nível em reservatórios (BRAGA, 2013). Seu funcionamento é baseado no princípio de reflexão de ondas mecânicas, similar a um sonar, conforme visto na figura 8. O dispositivo é formado 2.2. Fundamentos básicos de eletrônica 35 por um par transmissor/receptor de ondas ultrassônicas, normalmente na faixa de 40 kHz, gerando sinais elétricos no envio e na recepção destas ondas. Figura 8 – Esquema de funcionamento de um sensor de ultrassom Fonte: Braga (2013) Quando se deseja medir a distância entre o sensor e o objeto basta verificar o tempo entre a transmissão e a detecção da onda refletida, multiplicá-lo pela velocidade do som no meio e dividir por dois, já que a onda percorreu duas vezes a distância, conforme a equação 2.2. dist[m] = t[s] · 340[m/s]2 (2.2) 2.2.2 Microcontroladores Penido e Trindade (2013) definem microcontrolador como um computador em um chip, contendo Unidade Lógica e Aritmética (ULA), memória e periféricos. Esta definição é defendida por BYTECRAFT (2002) que ainda ressalta que devido ao seu tamanho reduzido possuem recursos limitados quando comparados aos computadores pessoais. Segundo Plínio (2012) é necessário fazer a diferenciação entre microprocessadores e microcontroladores, o primeiro não conta com os periféricos em seu chip, sendo necessário acrescentá-los à placa onde ele será montado. Sendo assim, microcontroladores são dispo- sitivos utilizados em sistemas com finalidades específicas, enquanto os microprocessadores são mais genéricos. Os microcontroladores se dividem em famílias específicas de acordo com sua arqui- tetura interna e seus fabricantes, neste trabalho serão abordados os microcontroladores ARM e MSP. 2.2.2.1 Microcontroladores ARM A arquitetura ARM foi desenvolvida visando o melhor desempenho possível aliado à simplicidade e baixo consumo, reconhecidos por sua versatilidade são utilizados em diversos tipos de aplicações, como smartphones e carros (BOCCATO, 2012). Neste trabalho foi utilizado o kit de desenvolvimento 32F429IDISCOVERY, que possui um microcontrolador STM32F429ZIT6 de 32bits da família ARM Cortex R© M4, capaz de 36 Capítulo 2. Fundamentação Teórica operar em frequências de até 180MHz. Os principais periféricos utilizados são descritos a seguir: • General purpose input/outputs (GPIO): Responsável por gerenciar os diversos pinos de entrada e saída presentes no chip do microcontrolador, sendo que estes podem ser configurados via software para se comportarem como entrada analógica1, entrada digital ou saída2. • External interrupt/event controller (EXTI): São 23 linhas detectoras de borda responsáveis por gerar interrupções através de sinais externos. Cada linha pode ser configurada de maneira independente, sendo sensível à borda de subida, descida ou ambas. • Nested vectored interrupt controller (NVIC): Gerencia as requisições de interrupção em até 16 níveis de prioridade, sejam elas geradas por linhas externas (EXTI) ou outros periféricos. • Timers (TIMx): O microcontrolador utilizado possui 14 módulos independentes de controladores de tempo que podem ser utilizados simultaneamente. Estes são capazes de gerar e identificar sinais PWM e pulsos externos. São módulos de 16 e 32 bits que podem realizar contagem ascendente ou descendente a partir de diferentes fontes de clock disponíveis, cabendo ao programador realizar a escolha. É importante esclarecer que os módulos são divididos em 3 classes distintas, con- troladores avançados, controladores de uso geral e controladores básicos, sendo que apenas os do primeiro tipo podem realizar todas as funções descritas e ainda gerar pulsos PWM trifásicos. Os de uso geral realizam todas as funções exceto PWM trifásico e os básicos normalmente são empregados para sincronização de outros periféricos, mas ainda podem ser utilizados como contadores genéricos. • Universal synchronous/asynchronous receiver transmitters (USART): É o periférico responsável pela comunicação serial do microcontrolador com outros dispositivos. São 8 módulos, sendo 4 deles limitados a apenas comunicação assín- crona (UART), ou seja, sem linha de clock. • Serial Peripheral Interface (SPI): Este periférico é um caso especial da USART, sendo dedicado exclusivamente à comunicação SPI. São 6 módulos capazes de operar tanto como escravo quanto 1 Open-drain, push-pull 2 Floating, pull-up e pull-down 2.2. Fundamentos básicos de eletrônica 37 mestre, podendo utilizar palavras de 8 e 16 bits. A comunicação SPI em si será abordada mais adiante neste trabalho. • Inter-integrated circuit interface (I2C): Outro tipo de comunicação serial que possui seu periférico exclusivo. São 3 interfaces podendo operar em modo mestre ou escravoe na velocidade padrão (100kHz) ou rápida (400KHz). • Chrom-ART AcceleratorTM (DMA2D): Um periférico DMA (Direct Access Memory) possibilita o acesso direto à memória sem utilizar a CPU, liberando o mesmo para realizar outras tarefas. O DMA2D é um tipo específico de DMA que foi otimizado para lidar com transferência de imagens. • Flexible memory controller (FMC): Este periférico tem como função comunicar a CPU com uma memória externa pre- servando espaço na memória flash e na memória RAM interna do microprocessador. • LCD-TFT controller (LTDC): Possibilita o uso de duas camadas de informações para serem mostradas pelo display, gerenciando qual será mostrada ou até mesmo se as duas serão exibidas ao mesmo tempo com transparências diferentes. Pode acessar tanto a memória do display quanto o controlador, ou até mesmo acessar uma memória externa em conjunto com o FMC utilizando ela para salvar as informações de quaisquer camadas. Todos os periféricos citados foram descritos brevemente, para um melhor entendimento recomenda-se a leitura do datasheet (STMICROELECTRONICS, 2016) disponibilizado pelo fabricante. 2.2.2.2 Microcontrolador MSP430 É uma linha de microcontroladores de 16 bits de baixo custo e baixo consumo desenvol- vida e comercializada pela Texas Instruments R©, possui uma grande família de dispositivos que variam a quantidade de memória, periféricos e velocidade do clock, visando se adequar às mais diversas necessidades. Neste projeto foi utilizado o modelo MSP430G2553, que conta com 2kB de memória flash, onde é salvo o programa que irá ser executado, 2 timers, 1 UART3 e pode operar em frequências de até 16MHz. Os periféricos citados têm a mesma função que no micro- controlador ARM, porém menos velocidade e em menor quantidade (os timers disponíveis no ARM são 14, no MSP apenas 2). 3 Similar à USART, porém sem a capacidade de sincronizar o clock entre os dispositivos 38 Capítulo 2. Fundamentação Teórica Por tentar balancear performance e custo, este microcontrolador possui uma caracte- rística interessante, por exemplo o oscilador interno de baixo consumo. Além de dispensar o uso de cristal e circuitaria externa para gerar o clock ele ainda é capaz de se manter estável o suficiente para que a comunicação serial com outro dispositivo ocorra de maneira normal. Assim como a ST Microeletronics R©, a Texas Instruments R© também disponibiliza o manual do usuário para este microcontrolador, onde existe uma descrição mais detalhada de cada periférico e suas configurações (TEXAS INSTURMENTS, 2013). 2.2.3 Protocolos de comunicação 2.2.3.1 Inter-integrated circuit (I2C) O protocolo de comunicação I2C (Inter-Integrated circuit) foi desenvolvido pela Philips Semiconductors (hoje NXP semiconductors) em 1982 (NXP SEMICONDUCTORS, 2014). A transmissão utiliza um barramento de 2 fios, sendo um para a comunicação de dados (SDA) e outro para o clock de sincronização (SCL). Por essa característica, é impossível realizar uma comunicação full − duplex (transmissão e recepção de dados ao mesmo tempo). Os dispositivos conectados podem ser mestres ou escravos, sendo que o primeiro é o responsável por iniciar a comunicação, já os escravos apenas respondem às requisições feitas pelo mestre. A identificação de cada elemento é feita através de um endereço de 7 bits, que durante uma transmissão deve ter um oitavo bit acrescentado em seu final. Acrescentar o bit com valor 1 implica que uma leitura será realizada, caso o bit seja 0 implica que o mestre deseja realizar uma escrita no dispositivo escravo (REIS, 2014). 2.2.3.2 Serial peripheral interface (SPI) Assim como o I2C, a comunicação SPI também possui um sinal de clock que sincroniza os dispositivos ligados ao barramento e possui as categorias mestre e escravo para os dispositivos, porém, o barramento é composto de 4 fios: clock, MISO, MOSI e Slave- select. Os canais MOSI e MISO são respectivamente a linha de transmissão de dados do mestre para os escravos e dos escravos para o mestre. Diferentemente do que ocorre na comunicação (I2C), neste caso cada escravo tem um pino específico para seleção, o cha- mado Slave-select. Sendo assim, para transmitir ou receber de um determinado dispositivo escravo basta colocar a respectiva entrada em nível lógico baixo (GRUSIN, 2013). O buffer de comunicação é um registrador de deslocamento, ligado em loop fechado com o registrador do outro dispositivo, cada pulso de clock gerado pelo master transmite um bit. Essa condição implica que toda comunicação acaba sendo bidirecional, ou seja, o sistema é capaz de operar em modo full-duplex. 2.2. Fundamentos básicos de eletrônica 39 2.2.4 TIA/EIA 485 (RS485) Primeiramente, é importante frisar que este padrão define apenas a camada física, ou seja, especificações elétricas e físicas, como níveis de tensão, impedância de linha, fios, etc. O protocolo de comunicação em si não está especificado, como podemos ver nesta passagem do padrão publicado pela Electronic Industries Association (1983): "This Standard does not specify other characteristics, such as signal quality, ti- ming, protocol, pin assignments, power supply voltage, operating temperature range, etc., that are essential for proper operation of interconnected equip- ment." Dentre as características pode-se destacar: • Transmissão balanceada; • Limites máximos de tensão em modo comum -7V até +12V; • Velocidade de até 10 Mbps com distâncias até 12m • Distâncias de até 1200m para velocidades de até 100 kbps O padrão estabelece que os dispositivos se comunicam utilizando um barramento com- posto por dois fios, normalmente chamados de A e B, com níveis de tensão exatamente opostos durante uma transmissão, ou seja, para um VA = 1V temos VB = -1V, sendo a detecção do sinal feita medindo-se VAB (ANALOG DEVICES, 2008). Este arranjo recebe o nome de transmissão balanceada Devido às altas frequências e grandes distâncias é altamente recomendado que se utilize resistores de terminação. Idealmente estes componentes devem ter uma impedância igual à do cabo utilizado e devem ser colocados nos dois extremos do barramento, nunca em nós intermediários, com isso evita-se reflexões de sinal (MAXIM INTEGRATED, 2001). Além da terminação, é recomendado que se implemente um circuito de failsafe. For- mado por 3 resistores, um pull-up ligado ao fio A (também chamado não inversor), um pull-down ligado à B (também chamado inversor) e o resistor de terminação Este arranjo força uma tensão constante e positiva entre A e B quando não há trans- missão, deste modo o receptor identifica que o barramento está ocioso. Quando não existe esse circuito, a tensão VAB pode entrar na zona de indeterminação, normalmente ±200mV, o que acarreta em um comportamento imprevisível. Principalmente quando se utiliza o periférico UART, esta condição pode ser interpretada como a transmissão de um 0. Com isso, o receptor pode não identificar o 0 enviado como start-bit comprometendo a comunicação (GINGERICH, 2005). Outra característica de projeto que não pode ser ignorada é a topologia da rede. De modo geral, recomenda-se utilizar a topologia daisy-chain (figura 9), na qual o próximo 40 Capítulo 2. Fundamentação Teórica nó é ligado diretamente no anterior, não existindo derivações no barramento. Com isso minimiza-se as reflexões causadas por emendas (BIES, 2015). Figura 9 – Topologia de uma rede daisy-chain implementada de maneira correta Fonte: DAE CONTROL (2015) O que determina se a rede irá operar em modo full-duplex ou half-duplex é a caracte- rística dos transmissores e receptores que serão utilizados. Normalmente estes dispositivos vem encapsulados em um único CI e apresentam características distintas no que tange o número máximo de nós, velocidade máxima do barramento e tensão de alimentação, dependendo do modelo e do fabricante. O que é comum a todos é o fato de existirem pinos que habilitam a transmissão e a recepção, e que nos casos de comunicação full-duplex é necessário utilizar mais dois fios, comumente chamados de Z e Y, e possuindoa mesma função de A e B, na figura 10 observa-se um arranjo de transceivers (transmissor e receptor em um mesmo CI) em uma rede half-duplex sem circuito de failsafe. Figura 10 – Esquema de rede RS485 half-duplex Fonte: Analog Devices (2008) 41 3 Desenvolvimento 3.1 Organização do sistema em blocos O sistema proposto pode ser organizado em um diagrama de blocos conforme a figura 11. Figura 11 – Diagrama de blocos do sistema Temperatura e umidade Ultrassom Sensores Microcontrolador MSP Microcontrolador ARM RS485 Display LCD Touchscreen Modulo de reles I2C SPI Ventilador 4Ventilador 3Ventilador 2Ventilador 1 Fonte: Próprio autor Os sensores e o MSP formam as chamadas unidades remotas, responsáveis por coletar os dados temperatura e umidade e enviá-las à unidade central. A unidade central é formada pelo µC ARM e pelo display, responsável por mostrar de maneira adequada e inteligível as informações coletadas. Além disso é através dela que o usuário interage com o sistema, podendo substituir o controle automático por suas próprias decisões. Tanto o controle automático quanto as decisões tomadas pelo usuário têm efeito sobre os ventiladores ligados ao módulo de relés. Estes são os responsáveis por realizar os processos de aeração que visa preservar o conteúdo armazenado no silo. O sistema é composto de três unidades remotas que serão colocadas em três locais distintos para monitoramento. Todas as unidades, incluindo a central, são conectadas a um barramento RS485 por onde são transmitidos os dados obtidos pelos sensores. 3.2 Aquisição de dados de temperatura e Umidade Para medir a temperatura e umidade relativa do ar presente no interior do silo foi escolhido o sensor DHT221 (figura 12), que pode medir com precisão de até ±2% a faixa 1 Também conhecido como: AM2302, AM2303, RHT03 42 Capítulo 3. Desenvolvimento de umidade entre 20 e 80%, e com ±5% a faixa restante. A faixa de temperatura vai de -40oC até 80oC com precisão de até ±1oC. Figura 12 – Sensor DHT22 Fonte: (AOSONG, 2014) De acordo com o datasheet (AOSONG, 2014) o sensor conta com um µC de 8 bits e circuitos de compensação de temperatura. O elemento que mede a temperatura é um NTC, e a umidade fica por conta de um elemento capacitivo, discutidos anteriormente neste trabalho. A vantagem deste componente é que ele combina os dois sensores em um mesmo encapsulamento, além de contar com calibração feita pela fábrica, onde o coeficiente de calibração é gravado em uma memória não volátil (não perde os dados após o desligamento de energia). Além disso, o sensor também não necessita de condicionamento de sinal, visto que a comunicação é realizada por um único fio, pelo qual os bytes são enviados na ordem mostrada na tabela 1. Tabela 1 – Transmissão de dados DHT22 Umidade Temperatura Checksum byte 1 byte 2 byte 3 byte 4 byte 5 Fonte:Próprio autor Os dados das grandezas são de 16 bits, seguidos pelo Checksum de 8 bits, a conversão dos bits em valores decimais é feita da seguinte forma: 1. Assumindo uma transmissão de 40 bits hipotéticos mostrados na tabela 2 Tabela 2 – dados hipotéticos DHT22 Umidade Temperatura Checksum 0000 0010 1001 0010 0000 0001 0000 1101 1010 0010 Fonte:Próprio autor 3.2. Aquisição de dados de temperatura e Umidade 43 2. A soma dos 4 primeiros bytes deve ser igual ao último em uma transmissão de sucesso, como mostrado na equação 3.1 0000 0010 + 1001 0010 + 0000 0001 + 0000 1101 = 1010 0010 (3.1) 3. Umidade e temperatura são calculados praticamente da mesma maneira, o valor é a conversão do binário para decimal, considerando o último dígito como sendo a primeira casa decimal, conforme as equações 3.2 e 3.3 UMIDADE: (0000 0010 1001 0010)b = 658→ 65, 8% (3.2) TEMPERATURA: (0000 0001 0000 1101)b = 269→ 26, 9oC (3.3) A diferença é que a temperatura apresenta uma particularidade, quando o valor é abaixo de 0oC o bit mais significativo passa a ter valor 1. O protocolo de comunicação é proprietário do dispositivo e baseado na quantidade de tempo em que o sinal assume determinados estados. Uma transmissão sempre é requi- sitada pelo dispositivo mestre com um pulso de valor baixo, e nunca devem existir duas requisições consecutivas em menos de 2 segundos. O diagrama de tempos da comunicação pode ser visto na figura 13 com os valores de cada tempo organizados na tabela 3. Figura 13 – Diagrama de tempos para a comunicação com o sensor DHT22 Fonte: Aosong (2014) 44 Capítulo 3. Desenvolvimento Tabela 3 – Transmissão de dados DHT22 Símbolo Parâmetro min tip max UUnidade Tbe Início gerado pelo mestre 0.8 1 20 ms Tgo Tempo de barramento liberado pelo mestre 20 30 200 µs Trel Período em baixo da resposta do sensor 75 80 85 µs Treh Período em alto da resposta do sensor 75 80 85 µs TLOW Tempo em baixo do sinal "0"ou "1" 48 50 55 µs TH0 Tempo em alto do sinal "0" 22 26 30 µs TH1 Tempo em alto do sinal "1" 68 70 75 µs Ten Tempo para barramento liberado pelo sensor 45 50 55 µs Fonte: Aosong (2014) 3.3 Nível de grãos Juntamente com o sensor DHT22 foi utilizado um sensor de ultrassom, modelo HCSR04 (figura 14), para detectar a presença de grãos na região onde a unidade remota se encon- tra. Normalmente este tipo de sensor é utilizado para calcular distâncias, porém neste trabalho ele funcionará como um sensor de presença, ajudando a estimar o nível de grãos presente dentro da unidade de armazenamento. Figura 14 – Sensor HCSR04 Fonte: (ELECFREAKS, 2015) Partindo do princípio que uma detecção positiva indica que existem grãos no entorno de determinada unidade remota, basta saber sua localização para estimar a altura da coluna de grãos. Como dificilmente temos os grãos perfeitamente nivelados mesmo medindo a distância da unidade até o grão o resultado ainda seria uma estimativa, porém tornaria o projeto mais complexo sem trazer o benefício desejado. O funcionamento do sensor se baseia na propagação do som no ar, ao receber um pulso em seu pino de trigger, o sensor dispara 8 pulsos de 40kHz e eleva o sinal do pino echo para nível alto. Ao detectar os sinais refletidos, o pino echo tem seu valor mudado 3.4. Programação do microcontrolador MSP430 45 para nível lógico baixo e o tempo transcorrido entre estas é medido pelo µC, utilizando a equação 2.2. Sendo usado apenas para detectar presença, o sensor não tem seu funcionamento modificado, basta determinar um limiar máximo para o tempo de reflexão, e tudo que for maior que esse valor representa que não há grãos. 3.4 Programação do microcontrolador MSP430 O µC foi programado utilizando o software CodeComposer7.2.0 R© disponível no site da fabricante em conjunto com a placa de desenvolvimento MSP-EXP430G2XX LaunchPad R© (figura 15), que já contém a interface de programação embarcada e possibilita a conexão direta com o computador por meio de um simples cabo USB. Figura 15 – Placa de desenvolvimento MSP-EXP430G2 LaunchPad Fonte: (TEXAS INSTURMENTS, 2016a) A placa conta com um conector PDIP para realizar a montagem do microcontrolador a ser programado, esta característica possibilita que mais de um componente seja progra- mado, bastando realizar a troca. Além disso, permite que a placa da unidade remota não precise ter um circuito para programação, visto que utilizando um encaixe semelhante é possível programar no Launchpad R© e transpor o µC para a unidade remota. Um dos diferenciais do MSP é seu modo de baixíssimo consumo de energia, a uni- dade remota permanece nesse estado até receber um comando via UART que ativa uma interrupção ativando o dispositivo. A partir daí o sistema funciona com base numa má- quina de estados finitos, onde em cada estado uma tarefa é executada, conforme visto no fluxograma da figura 16. No tratamento da interrupção há uma verificação que valida a mensagem recebida, indicando se o processo de medição deve ser iniciado ou não. Isso é necessário pois 46 Capítulo 3. Desenvolvimento o dispositivo está conectado a um barramento, diversas mensagens estarão trafegando, porém apenas uma indica que a unidade deveser ativada. Em caso de verificação positiva dá-se início à rotina de coleta de dados do sensor DHT22, que leva aproximadamente 60ms de acordo com o datasheet. Após a coleta o sensor de ultrassom é ativado e dispara os pulsos de 40kHz. Ao mesmo tempo um contador de tempo é iniciado no µC. A passagem para o próximo estado é realizada assim que o contador atinge um valor máximo ou que uma resposta do sensor é identificada pelo microcontrolador, no segundo caso a distância é calculada e comparada com o limiar de 5 cm, caso seja menor existe a identificação da presença de grãos. Após a coleta de informações tudo é colocado em um buffer e enviado à unidade central. O processo de envio bem como o layout da placa de circuito impresso da unidade remota será abordado em uma seção posterior do trabalho. Figura 16 – Fluxograma do loop principal da unidade remota INÍCIO CONFIGS ESTADO INÍCIO ULTRASSOM RESPOSTA? TIMEOUT? SLEEP QUAL ESTADO? LÊ OS DADOS DO DHT22 ENVIA DADOS AGUARDA RESPOSTA PREENCHE BUFFER DE TRANSMISSÃO ENVIA PULSO PARA O SENSOR DE ENVIO INTERRUPÇÃO HABILITA DISTÂNCIA? CALCULA DISTÂNCIA NÃO SIM >5cm <=5cm NÃO SIM GRÃOS PRESENTES SEM GRÃOS =ENVIA DADOS ESTADO =AGUARDA RESPOSTA ESTADO ESTADO =ULTRASSOM Fonte: Próprio autor 3.5 Interface gráfica Paralelamente ao desenvolvimento das rotinas de leitura dos sensores e envio dos dados pelo MSP foi implementada a interface gráfica do sistema no display que a acompanha a placa de desenvolvimento STM32F429-DISCOVERY. O equipamento possui resolução de 240x320 pixels e tecnologia touchscreen resistiva. 3.5. Interface gráfica 47 O controle do display é feito por um controlador especializado que se comunica através do protocolo I2C. Para diminuir o chamado flickering (situação no qual a tela aparenta estar piscando) foi utilizado o periférico LTDC em conjunto com a memória SDRAM presente na placa. Aproveitando as bibliotecas padrão disponibilizadas pela STMicroeletronics R© foi im- plementado um sistema que basicamente utiliza duas camadas para a tela, assim basta desenhar ou atualizar a camada que não está sendo exibida e quando o processo for fi- nalizado inverte-se as camadas, com isso a tela é atualizada de uma vez só e evita-se o problema acima descrito. A posição do toque na tela é determinada pela tensão medida após a junção de duas placas condutoras sobrepostas, como visto na figura 17. As camadas que formam o painel touch são: uma camada superior flexível, uma camada transparente revestida (o reves- timento é feito geralmente de óxido de índio e estanho ou ITO), entreferro e espaços de isolamento, outra camada de ITO transparente e finalmente uma camada estável, indo da camada mais externa para a mais interna (BAKER; FANG, 2007). Figura 17 – Esquema e composição de uma tela touchscreen Fonte: BAKER e FANG (2007) De maneira simplificada, ao tocar na tela, faz-se uma pressão que deforma a camada flexível e conecta as duas camadas condutoras naquele ponto. Neste instante, em uma das placas condutoras aplica-se uma tensão, medindo a tensão gerada nos terminais da outra placa condutora. Esta tensão medida é convertida para uma palavra digital, pela qual o controlador do touchscreen determina em qual posição da tela ocorreu o toque e envia um comando para a unidade central informando que houve um toque na tela. A comunicação entre o microcontrolador e o controlador touchscreen presente na placa de desenvolvimento é feita utilizando a interface SPI, como indicado na figura 18 O desenvolvimento foi separado para cada função presente mais os ajustes, totalizando 4 telas diferentes: MONITORAMENTO, NÍVEL DE GRÃOS , CONTROLE e SELEÇÃO DE GRÃOS. Todas podem ser vistas na figura 19. 48 Capítulo 3. Desenvolvimento Figura 18 – Esquema de comunicação de uma tela e controlador touchscreen Fonte: BAKER e FANG (2007) Figura 19 – Telas da interface gráfica do usuário (a) MONITORAMENTO (b) NÍVEL DE GRÃOS (c) CONTROLE (d) SELEÇÃO DE GRÃOS Fonte: Próprio autor 3.5. Interface gráfica 49 A primeira, que é mostrada assim que o sistema é energizado, mostra os valores de temperatura e umidade medidos pelos 3 sensores, por limitações do sensor que já foram discutidas a atualização dos valores ocorre a cada 2 segundos, sendo que cada um é atualizado separadamente. A segunda tela indica a estimativa de altura dos grãos no silo, tendo três unidades remotas temos três níveis distintos além de vazio. A terceira tela foi feita pensando no controle dos ventiladores, a parte superior indica o estado de cada um (ON ou OFF), ao passo que ao pressionar em cima do nome o estado muda. Abaixo existe o seletor entre modo de controle automático ou manual. É importante destacar que ao acionar manualmente qualquer ventilador o controle muda para manual sem a necessidade do usuário alterar esta configuração. Por fim a última opção deste menu leva à última tela, na qual podemos escolher os parâmetros de controle para arma- zenamento de três grãos distintos. Estes limiares são baseados nas tabelas de equilíbrio higroscópico mostradas anteri- ormente. Os ventiladores são acionados assim que as condições atingem os quadrados vermelhos, e desligados assim que elas atingem a região amarela. Além do arroz já mos- trado na figura 3, foram utilizadas as tabelas para o milho e a soja, vistas na figura 20 Figura 20 – Tabelas de equilíbrio higroscópico (a) Tabela de equilíbrio higroscópico da soja (b) Tabela de equilíbrio higroscópico do milho Fonte: (ALMEIDA & CIA, 2017) 50 Capítulo 3. Desenvolvimento 3.6 Programação do microcontrolador ARM O programa principal pode ser dividido em 4 tarefas distintas que ocorrem em sequên- cia dentro do laço principal mais as 2 interrupções, conforme visto na figura 21, as tarefas que ocorrem antes do laço principal correspondem apenas à configuração e inicialização de periféricos. Figura 21 – Diagrama de blocos do sistema INÍCIO MS LCD TOUCH HANDLER SERIAL CHECK TEMP&UMI CHECK SEND INTERRUPT TOUCH INTERRUPT MODO AUTOMÁTICO? CONFIGURAÇÃO DOS PERIFÉRICOS SIM NÃO Fonte: Próprio autor 3.6.1 MS_LCD Baseado no conceito de máquina de estados finitos, este bloco do programa é respon- sável por atualizar as informações presentes no display, seja pela chegada de novos dados vindos dos sensores ou pela interação do usuário. O controle destas atualizações é feito por flags setadas em outras partes do programa, e cada estado pode ser entendido como cada uma das telas. Em cada uma delas o sistema desenha os elementos visuais da interface na camada oculta do LTDC, e assim que tudo está desenhado é realizada a troca das camadas. O fluxograma completo pode ser visto na figura 22. 3.6. Programação do microcontrolador ARM 51 Figura 22 – Fluxograma da função responsável pela atualização de tela MS LCD SIM NÃO 12 CONTROLE AJUSTES MONITORMAENTO NÍVEL DE GRÃOS FIMATUALIZAR TELA? ZERA FLAG DE ATUALIZAÇÃO ATUALIZA CAMADA 1 ATUALIZA CAMADA 2 ATIVA? CAMADA QUAL MENU? BOTÕES DESENHA DESENHA STATUS VENTILADORES DESENHA MODO SELECIONADO BOTÕES DESENHA MENU DESNEHA BOTÕES E STATUS DOS GRÃOS SELECIONADOS BOTÕES DESENHA BOTÕES DESENHA DESENHA SILO DESENHA SILO NÍVEL DESENHA TEMPERATURA ESCREVE UMIDADE ESCREVE TROCA CAMADA ATIVA Fonte: Próprio autor 3.6.2 SERIAL_CHECK O próximo bloco do programa principal tem a função de realizar o parser (processo de leitura e processamento das informações contidas na mensagem) das mensagens recebidas no barramento. A estrutura segue o modelo de mensagem ilustrado na figura 28. O controle da verificação é feito por uma flag setada na interrupção da USART, que será detalhada juntamente com o protocolo na seção 3.7.2. O diagrama de blocos desta função pode ser visto na figura 23. 52 Capítulo 3. Desenvolvimento Figura 23 – Diagrama de blocos da função responsável pela análise das mensagens rece- bidas SERIAL CHECK FIM FLAG DE RECEPÇÃO ATUALIZA VALOR LIMPA FLAG RECEBE ”INÍCIO” DE MENSAGEM RECEBE ”ID” RECEBE PACOTEDHT22 CALCULA CHECKSUM RECEBE FLAG ULTRASSOM RECEBE ”FIM” DE MENSAGEM OK 1 = NOVOS DADOS SEM NOVOS DADOS0 = ERRODESCARTA VALOR Fonte: Próprio autor 3.6.3 TOUCH_HANDLER e TOUCH_INTERRUPT Ao detectar um toque na tela o controlador touchscreen gera uma interrupção para o microcontrolador da unidade central. Ao atender a interrupção e chamar a função correspondente (TOUCH_INTERRUPT) a unidade central lê as coordenadas deste toque através de comando enviados no barramento I2C e seta uma flag de novo toque que será utilizada na função descrita a seguir. A função TOUCH_HANDLER verifica continuamente a flag de novo toque, ao detec- tar um valor 1 ela verifica qual tela está sendo exibida, em seguida compara as coordenadas lidas no controlador com os botões existentes naquele momento. Caso exista uma cor- respondência a função referente àquele botão é executada. Por exemplo, ao clicar para ativar um ventilador a rotina desencadeada começa com a mudança para o modo manual, em seguida a flag troca de estado e a função de controle de acionamento é chamada. No caso de ser um dos botões inferiores, que têm a função de alternar as telas, a flag correspondente à atualização de tela é setada. Assim, quando o programa volta a executar a função MS_LCD uma nova tela será mostrada. A “FLAG MENU” indica qual tela deve ser apresentada, já a “FLAG MODO”, que só é modificada no menu controle, indica o modo de operação do sistema (manual ou automático). A letra “n” no caso 3.6. Programação do microcontrolador ARM 53 dos ventiladores pode indicar qualquer um dos N presentes, assim como o “n” dos grãos indica qualquer um dos tipos de grãos embarcados no sistema. O diagrama de blocos desta função pode ser visto na figura 24. Figura 24 – Diagrama de blocos da função que trata os toques na tela TOUCH HANDLER MENU MONITORAMENTO NÍVEL DE GRÃOS CONTROLE AJUSTES ”AJUSTES” ”VENTILADOR n” ”MODO n” ”CTRL” ”NÍVEL” ”GRÃO n” ”TEMP” FIM FLAG MENU = CONTROLE FLAG MENU = NÍVEL DE GRÃOS FLAG MENU = MONITORAMENTO FLAG MODO = ”n” FLAG MENU = AJUSTES ALTERA LIMIARES PARA TABELA GRÃO n NOVO TOQUE? ZERA FLAG DE TOQUE NÃO SIM QUAL MENU? BOTÃO? QUAL BOTÃO? QUAL ”CTRL” FLAG MENU = CONTROLE BOTÃO? QUAL ”NÍVEL” FLAG MENU = NÍVEL DE GRÃOS ”TEMP” FLAG MENU = MONITORAMENTO ”NÍVEL” FLAG MENU = NÍVEL DE GRÃOS ”TEMP” FLAG MENU = MONITORAMENTO BOTÃO? QUAL CONTROLE DOS VENTILADORES SETA FLAG DE ATUALIZAR A TELA NENHUM NENHUM NENHUM NENHUM ESTADO DO ALTERNA VENTILADOR n FLAG MODO =MANUAL Fonte: Próprio autor 54 Capítulo 3. Desenvolvimento 3.6.4 TEMP& UMI_CHECK Este bloco só é executado caso o modo selecionado seja o de controle automático, neste caso, os valores de temperatura e umidade de cada sensor são comparados com os limiares provenientes da tabela de equilíbrio higroscópico do grão selecionado. Caso seja preciso acionar algum ventilador a flag correspondente é setada e a função de controle de acionamento é chamada. Nesta função todas as flags são verificadas e os respectivos atuadores ativados ou desativados. As figuras 25 e 26 representam o diagrama de blocas destas funções. Figura 25 – Diagrama de blocos da função que verifica os limiares de temperatura e umi- dade do sistema TEMP&UMI CHECK ID = 0 ID = MÁX TEMPERATURA UMIDADE FIM ID++ > LIMIARES DE ACIONAMENTO? SETA FLAG VENTILADOR ZERA FLAG VENTILADOR CONTROLE DOS VENTILADORES SIM NÃO NÃO SIM Fonte: Próprio autor Figura 26 – Diagrama de blocos da função responsável pelo acionamento automático dos ventiladores ID = 0 ID++ ID = MAX FIM FLAG? 10 CONTROLE DOS VENTILADORES ACIONA VENTILADOR DESACIONA VENTILADOR Fonte: Próprio autor 3.7. Comunicação entre as unidades 55 3.6.5 SEND_INTERRUPT Por fim, o bloco mais simples do programa principal, responsável apenas por ativar a interrupção de envio de dados e selecionar a unidade remota que será ativada, incremen- tando o ID a cada chamada da função. Essa operação é realizada a cada 750ms (tempo controlado pelo periférico TIM), e assim como nas anteriores teve seu diagrama de blocos representado (figura 27). Figura 27 – Diagrama de blocos da função responsável pelo controle do envio de mensa- gens ID > MAX ID = 0 INÍCIO FIM HABILITA DE ENVIO INTERRUPÇÃO HABILITA TRANSMISSOR INCREMENTA ID UNIDADE REMOTA SIM NÃO Fonte: Próprio autor 3.7 Comunicação entre as unidades O processo de comunicação pode ser divido entre o protocolo de comunicação utilizado, a circuitaria necessária para a implementação do barramento RS485 e as interrupções de cada microcontrolador. 3.7.1 Protocolo de comunicação Como o padrão RS485 não estabelece um protocolo de comunicação definido, foi pre- ciso desenvolver um que se adequasse às necessidades do projeto, que são: • Capacidade de acionar separadamente cada unidade sem que isso interfira na ope- ração das unidades restantes; • Baixa complexidade; • Evitar colisões2 no barramento. A maneira encontrada foi dar a cada unidade remota um número de identificação, e esse valor seria o responsável por fazer a respectiva unidade ser “acordada” e aguardar as instruções. Neste momento a única instrução enviada é o início da medição, porém, caso o projeto venha a ser aperfeiçoado futuramente essa abordagem facilita a implementação de novas funções. 2 Momento no qual dois ou mais dispositivos tentam utilizar o barramento para transmitir, causando corrompimento e perda dos dados 56 Capítulo 3. Desenvolvimento Basicamente o protocolo é composto de dois tipos de mensagens, a enviada pela uni- dade central e a resposta enviada pelas unidades remotas, o diagrama contendo os bytes de cada tipo de mensagem pode ser visto na figura 28. Figura 28 – Pacotes utilizados no protocolo de comunicação (a) Pacote enviado pela unidade central (b) Pacote enviado pela unidade remota Fonte: Próprio autor A partir destas mensagens pré-definidas foi desenvolvida a rotina de verificação de mensagens, observada na figura 23 e explicada em mais detalhes na seção anterior, e a rotina que inicia a coleta de dados pelas unidades remotas. Ambas rotinas de recebimento foram implementadas utilizando interrupções, que serão detalhadas a seguir. 3.7.2 Interrupções do µC ARM (Unidade Central) Neste microcontrolador a mensagem enviada é composta apenas do byte de início de mensagem, comando de WAKE-UP e ID da unidade remota. Como destes 3 apenas o ID da unidade irá variar, foi criado um buffer de três posições que contém estas informações, e sempre que a função SEND_INTERRUPT é chamada esse valor é modificado. Como dito anteriormente, além desse incremento a interrupção de envio é ativada. Neste caso, a USART gera uma nova interrupção sempre que é possível enviar um novo byte, o diagrama de blocos da rotina chamada pode ser visto na figura 29. Neste bloco um ponteiro indica qual byte do buffer deve ser enviado, e a cada execução ele é incrementado. Assim que o ponteiro aponta para o último elemento a interrupção é desativada e o microcontrolador passa a aguardar a resposta daquela unidade. A interrupção de recepção é ainda mais simples, um buffer de fila circular é utilizado para armazenar todos os dados que são recebidos, sendo que dois ponteiros marcam a posição do primeiro e do último elemento recebido naquela mensagem. Ao detectar que foram recebidos os caracteres de fim de mensagem na sequência cor- reta 3 a flag que indica nova mensagem é setada e no próximo loop principal a função SERIAL_CHECK fará o processamento destes dados alinhando os ponteiros ao final do processo, para que a próxima mensagem seja gravada nas posições subsequentes e não sobre as informações já recebidas. Ambas interrupções chamam a mesma função, que 3 “CR” “LF” em ASCII 3.7. Comunicação entre as unidades 57 checa qual foi a fonte que a gero para executar as respectivas instruções, como mostrado na figura 29 Figura 29 – Diagrama de blocos da interrupção da USART do ARM USART INTERRUPT FIM NOVO DADO RECEBIDO USART LIVRE PARA ENVIAR DADO SALVANO BUFFER SETA FLAG DE RECEPÇÃO INCREMENTA PONTEIRO DADO =”CR” INCREMENTA PONTEIRO FIM DO BUFFER? =”LF” ANTERIOR DADO O QUE GEROU? ENVIA DADO APONTADO PELO PONTEIRO HABILITA RECEPTOR DESABILITA INTERRUPÇÃO DE ENVIO SIM NÃO SIM SIM NÃO NÃO Fonte: Próprio autor 3.7.3 Interrupções do µC MSP (Unidade Remota) A primeira interrupção implementada foi a de recepção de dados, ela analisa a ordem dos bytes recebidos no pacote e verifica se o ID é o correto, em caso positivo dá-se início à leitura dos sensores, conforme ilustrado na figura 30. Figura 30 – Diagrama de blocos da interrupção de recepção do MSP ESTADO INTERRUPT USART RX DADO RECEBE ESTADO? QUAL ID WAKE UP START =WAKE UP ESTADO =ID ESTADO =INÍCIO ESTADO =START DADO =WAKE UP DADO DADO =ID =START ESTADO SLEEP FIM SIM NÃO SIM SIM NÃO HABILITA TRANSMISSOR Fonte: Próprio autor A interrupção de envio é semelhante à da unidade central, enviando os bytes contidos no buffer até que o ponteiro indique o fim do mesmo. A diferença está na mensagem em 58 Capítulo 3. Desenvolvimento si que, como indicado na figura 28, é composta pelo caractere de início de mensagem, seguido do ID da unidade que está sendo transmitida, os dados lidos do sensor DHT22, a flag que indica a presença de grãos e por fim os dois bytes terminadores de mensagem. O fluxograma da rotina pode ser visto na figura 31 Figura 31 – Diagrama de blocos da interrupção de envio do MSP FIM INCREMENTA PONTEIRO FIM DO BUFFER? ENVIA DADO APONTADO PELO PONTEIRO HABILITA RECEPTOR DESABILITA INTERRUPÇÃO DE ENVIO USART TX INTERRUPT SIM NÃO Fonte: Próprio autor 3.7.4 Implementação do padrão RS485 e layout da placa O primeiro passo após a implementação das rotinas de comunicação é a escolha do receptor/transmissor que fará a conversão do sinal da USART para o padrão RS485. Dentre as inúmeras opções disponíveis no mercado optou-se pelo CI SN65HVD72, da Texas Instruments R©. Este circuito integrado é um transceiver, capaz de operar com até 256 dispositivos no mesmo barramento, além disso possui uma velocidade máxima de comunicação de 20Mbps, que não foi utilizada em sua totalidade devido à falta de necessidade e ao fato das distâncias presentes em um armazém real não permitirem. Uma característica importante desse CI e que impacta diretamente no projeto é o fato dele ser half-duplex. Assim para que ele funcione como receptor ou transmissor é preciso enviar o sinal correto para os pinos de habilitação destes recursos, RE e DE vistos na figura 32. Figura 32 – Esquemático do transceiver RS485 (SN65HVD75) Fonte: TEXAS INSTURMENTS (2016b) Como um é ativo em alto e o outro em baixo é possível e até mesmo recomendado que eles sejam ligados à mesma saída do microcontrolador. Por esse motivo em todos os fluxogramas que envolviam transmissão de dados existe um bloco de habilitar transmissor ou receptor. 3.7. Comunicação entre as unidades 59 Este processo deve ser feito sempre antes de se iniciar o envio ou recepção dos dados, para que seja possível estabilizar os circuitos internos do CI. Os sinais devem apresentar valores condizentes com a alimentação do CI, que neste caso é de 3,6V no máximo e no mínimo 3V. Como a placa de desenvolvimento será utilizada na unidade central, para que ela seja integrada ao barramento é necessário confeccionar uma placa com o transceiver. Aproveitando a disponibilidade de uma saída de 3V, esta nova placa contém apenas o CI e os circuitos terminadores e de fail-safe. Seu circuito e layout podem ser vistos na figura 33. Figura 33 – Placa adaptadora RS485 da unidade central (a) Circuito da placa adaptadora do barra- mento RS485 (b) Layout da placa adaptadora do barramento RS485 Fonte: Próprio autor Devido a limitações do projeto, era preciso que a placa possuísse apenas um layer, sendo assim, optou-se por colocar o CI SMD no mesmo layer das trilhas e os outros componentes que são true-hole (seus terminais atravessam a placa) foram colocados do lado oposto. Após a fabricação da placa foi constatado um erro no layout do circuito de fail-safe, os resistores foram montados invertidos, pull-up no B e pull-down no A. Como o CI já havia sido soldado e não havia sobressalente disponível, optou-se por realizar a solda dos terminais trocados. Seria possível retirar o CI e confeccionar uma nova placa, porém a falta de uma estação de solda coloca em risco a integridade do mesmo. Sendo assim, foi tomada essa escolha de projeto, não foi a mais elegante, mas cumpriu seu papel. 60 Capítulo 3. Desenvolvimento 3.8 Placa de circuito impresso da unidade remota O transceiver possui tensão de alimentação compatível com o MSP e o DHT22, porém, o sensor de ultrassom possui alimentação nominal de 5V, permitindo que ele realize medi- das de até 4m de distância. Ao utilizar uma alimentação de 3,6V essa distância cai para aproximadamente 50cm, o que ainda é perfeitamente aceitável para esta aplicação, por este motivo optou-se por utilizar um design com apenas um regulador de tensão ajustado para gerar 3,6V. O modelo escolhido foi o TPS773301 também da Texas Instruments R©. Este regulador ajustável pode fornecer até 250mA de corrente, o que é mais que suficiente para a apli- cação, as correntes máximas dos dispositivos são: 60mA, 15mA, 420µA e 8mA, para o transceiver, sensor de ultrassom, MSP e DHT22 respectivamente. Somando todas temos menos de 100mA, em uma hipotética e improvável situação onde todos estão ativos e drenando o máximo de corrente possível. O circuito final da unidade remota contendo o circuito de alimentação e as conexões entre todos os dispositivos pode ser visto na figura 34. Figura 34 – Circuito da unidade remota Fonte: Próprio autor 3.8. Placa de circuito impresso da unidade remota 61 O desenvolvimento do layout da placa teve como diretrizes a proximidade da alimen- tação do MSP e do transceiver com os capacitores de desacoplamento do circuito de alimentação e manter apenas um layer, assim como no adaptador utilizado na unidade central. O resultado final pode ser visto na figura 35 Figura 35 – Layout da placa da unidade remota Fonte: Próprio autor 63 4 Resultados e Discussões As 3 unidades remotas montadas, os sensores e a placa adaptadora utilizada na unidade central podem ser vistas nas figuras 36 e 37. Figura 36 – Placas montadas e sensores utilizados Fonte: Próprio autor Figura 37 – Placas funcionando conectadas ao barramento Fonte: Próprio autor 64 Capítulo 4. Resultados e Discussões Ao energizar o sistema as leituras são feitas e os valores de temperatura e umidade lidos em cada uma das unidades remotas passam a ser mostrados no display da unidade central, conforme visto na figura 38. Figura 38 – Tela de monitoramento mostrando as temperaturas e umidades medidas Fonte: Próprio autor Nota-se que mesmo estando muito próximas os valores lidos por cada unidade não são exatamente iguais, sendo que a diferença é maior no momento em que o sistema é ligado, com os valores se aproximando após 2 leituras. Esse erro é intrínseco ao próprio sensor, e já era esperado, perceba que a diferença máxima entre cada unidade é de apenas 0.2 OC e 3,4% de umidade, dentro da tolerância do sensor. Além disso, após alguns segundos os sensores se estabilizaram e os valores ficaram mais próximos, como indica a figura 39. Figura 39 – Tela de monitoramento mostrando as temperaturas e umidades medidas Fonte: Próprio autor 65 Pressionando o botão inferior esquerdo (“VOL”) têm-se acesso à tela de nível de grãos. Ao colocar um obstáculo em frente ao sensor ultrassônico da unidade 2, simulando a presença de grãos, vemos que a tela passa a indicar o nível intermediário (figura 40(a)), ao passo que colocando obstáculos na frente dos três sensores o nível sobe até seu valor máximo (figura 40(b)). Figura 40 – Tela de nível de grãos (a) Nível intermediário (obstáculo na unidade 2) (b) Nível máximo (obstáculo nem todas as unida- des) Fonte: Próprio autor Pressionando o botão direito podemos acessar
Compartilhar