Buscar

TCC2017_LuizFernandoConteSiviero

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 105 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 105 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 105 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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

Continue navegando