Você está na página 1de 131

Diogo Alexandre de Jesus Ferreira

Licenciado em Ciências de Engenharia Eletroténica e de Computadores

Plataforma IoT Multi-sensor para Monitorização


Integrada de Materiais PCM

Dissertação para obtenção do Grau de Mestre em


Engenharia Eletrotécnica e de Computadores

Orientador:João Pedro Abreu de Oliveira, Professor Doutor,


Universidade Nova de Lisboa
Co-orientador: João Miguel Murta Pina, Professor Doutor,
Universidade Nova de Lisboa

Júri
Presidente: Prof. Doutor Paulo Miguel de Araújo Borges Montezuma de Carvalho
Arguente: Prof. Doutor Rui Miguel Amaral Lopes
Vogal: Prof. Doutor João Pedro Abreu de Oliveira

Fevereiro, 2020
Plataforma IoT Multi-sensor para Monitorização Integrada de Materiais PCM

Copyright © Diogo Alexandre de Jesus Ferreira, Faculdade de Ciências e Tecnologia, Uni-


versidade NOVA de Lisboa.
A Faculdade de Ciências e Tecnologia e a Universidade NOVA de Lisboa têm o direito,
perpétuo e sem limites geográficos, de arquivar e publicar esta dissertação através de
exemplares impressos reproduzidos em papel ou de forma digital, ou por qualquer outro
meio conhecido ou que venha a ser inventado, e de a divulgar através de repositórios
científicos e de admitir a sua cópia e distribuição com objetivos educacionais ou de inves-
tigação, não comerciais, desde que seja dado crédito ao autor e editor.

Este documento foi gerado utilizando o processador (pdf)LATEX, com base no template “novathesis” [1] desenvolvido no Dep. Informática da FCT-NOVA [2].
[1] https://github.com/joaomlourenco/novathesis [2] http://www.di.fct.unl.pt
Para Orlando Ferreira
Ag r ad e c i m e n t o s

Primeiramente, quero agradecer ao meu orientador Professor João Pedro Oliveira e ao


meu coorientador João Murta Pina pela disponibilidade demonstrada e auxilio oferecido
durante o decorrer do projecto da dissertação.
Não posso deixar de agradecer à Universidade Nova de Lisboa, Faculdade de Ciências
e Tecnologia e a todo o corpo docente que me acompanhou no meu percurso académico,
proporcionando um grande crescimento tanto a nível académico como a nível pessoal.
Gostaria de agradecer aos meus amigos Pedro Boto e Rui Martins que me acompanha-
ram neste percurso e que o tornaram bastante divertido e sempre cheio de momentos que
irei recordar. Entre este momentos, gostaria de mencionar os almoços no ”forum” ao qual,
ainda havemos de ir lá outra vez.
Um muito obrigado também, a todos os que integram o meu grupo de amigos e que
de alguma forma contribuíram tanto para a realização do meu percurso académico como
para a realização da minha dissertação, salientando um obrigado ao Gonçalo Biscaia e ao
André Antunes.
Por ultimo, um agradecimento muito especial à minha família, especialmente aos
meus pais e irmã, por todo o apoio, carinho, dedicação e paciência que têm demonstrado
na realização deste percurso académico.

A todos,
Muito Obrigado!

vii
"The most important thing is to keep the most important thing
the most important thing."
- Donald P. Coduto
Resumo

A eficiência energética é um conceito de grande relevância nos dias de hoje devido à


presente crise económica, energética e ambiental. O que era outrora um bom fator de efi-
ciência poderá já não o ser, por isso é necessário pesquisar e implementar novos métodos
que permitam melhorar a eficiência energética dos equipamentos. Posto isto, pretende-se
com a implementação de phase change materials efetuar esse melhoramento, ao armaze-
nar o calor gerado de uma maneira mais pratica e eficiente utilizando propriedades de
thermal energy storage, no entanto para determinar se a implementação destes materiais
é efetivamente benéfica, é imprescindível a projeção de um sistema de monitorização
capaz de fornecer as métricas necessárias para o calculo da performance energética de
equipamentos antes e depois da introdução de PCM.
Neste sentido, pretende-se com esta dissertação efetuar a projeção e implementação
inicial de uma plataforma internet of things multi-sensor para a monitorização integrada
de PCM. Pretende-se que esta plataforma seja: versátil e modular, de modo a acomodar
o maior numero de sistemas que possam ser equipados com PCM; reconfigurável, para
que seja possível estabelecer comunicação à plataforma IoT em vários ambientes e que
as métricas obtidas se adequem ao sistema monitorizado; por fim, pretende-se que a
plataforma possua a capacidade de armazenar e exibir os dados de uma maneira simples
para facilitar análises posteriores.
Os resultados obtidos demonstram que a plataforma implementada possui uma perfor-
mance notável, possuindo a estabilidade necessária para estar longos períodos de tempo
ativa e uma precisão semelhante relativamente à verificada em equipamentos comum-
mente utilizados na industria. Porém, verificou-se que, mediante a alteração das condições
físicas de funcionamento, o sistema poderia ter comportamentos irregulares, no entanto, é
possível melhorar bastante a performance do sistema numa segunda iteração, permitindo
assim a monitorização de virtualmente qualquer equipamento.

Palavras-chave: Eficiência Energética, Phase Change Materials, Thermal Energy Storage,


Internet of Things, Monitorização, Multi-Sensor.

xi
A b s t r ac t

Energy efficiency is a concept of great relevance today due to the current economic, energy
and environmental crisis. What was once a good efficiency factor may no longer be, so it
is necessary to research and implement new methods to improve the energy efficiency of
equipments. That said, it is intended with the implementation of phase change materials
to make this improvements, by storing the heat generated in a more practical and efficient
way using properties of thermal energy storage, however to determine if the implementa-
tion of these materials is indeed beneficial, it is essential to design a monitoring system
capable of providing the necessary metrics for calculating the energy performance of the
equipment before and after the introduction of PCM.
In this sense, this dissertation intends to carry out the projection and initial imple-
mentation of a multi-sensor internet of things platform for the integrated monitoring of
PCM. This platform is intended to be: versatile and modular, in order to accommodate
the largest number of systems that can be equipped with PCM; reconfigurable, so that it
is possible to establish communication to the IoT platform in various environments and
that the obtained metrics are adapted to the monitored system; finally, it is intended that
the platform has the ability to store and display data in a simple way to facilitate further
analysis.
The results obtained demonstrate that the implemented platform has a remarkable
performance, having the necessary stability to be active for long periods of time and an
accuracy similar to that verified in equipments commonly used in the industry. However,
it was found that, by changing the physical operating conditions, the system could behave
irregularly, however, it is possible to greatly improve the performance of the system in a
second iteration, thus allowing the monitoring of virtually any equipment.

Keywords: Energy efficiency, Phase Change Materials, Thermal Energy Storage, Internet
of Things, Monitoring, Multi-Sensor.

xiii
Índice

Lista de Figuras xvii

Lista de Tabelas xxi

Listagens xxiii

Siglas xxv

1 Introdução 1
1.1 Motivação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Objectivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.3 Estrutura do Documento . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

2 Revisão da Literatura e Fundamentos Tecnológicos 5


2.1 Conceito de Calor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.1.1 Calor Latente e sensível . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2 Armazenamento de Energia Térmica . . . . . . . . . . . . . . . . . . . . . 7
2.3 Materiais de Mudança de Fase (PCM) . . . . . . . . . . . . . . . . . . . . . 8
2.3.1 Materiais orgânicos . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.3.2 Materiais inorgânicos . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.3.3 Eutécticos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.4 Métodos de incorporação de PCMs . . . . . . . . . . . . . . . . . . . . . . 13
2.4.1 Aplicações . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.5 Internet of Things para a Monitorização Integrada de Sistemas . . . . . . . 16
2.5.1 Micro-Controladores . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.5.2 Analog to Digital Converters . . . . . . . . . . . . . . . . . . . . . . 23
2.5.3 Módulos de sensores . . . . . . . . . . . . . . . . . . . . . . . . . . 25

3 Projeto da Arquitetura e Implementação do Sistema de Monitorização para


PCM 29
3.1 Equipamento a utilizar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.2 Arquitetura do Sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.3 Módulo de sensores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.3.1 Medição de temperatura . . . . . . . . . . . . . . . . . . . . . . . . 33

xv
ÍNDICE

3.3.2 Módulo de monitorização de potência . . . . . . . . . . . . . . . . 35


3.4 Módulo de aquisição de dados . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.4.1 Escolha do MCU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.4.2 Implementação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.5 Módulo de comunicação . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.5.1 Implementação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.6 Plataforma IoT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.6.1 Implementação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

4 Resultados Experimentais 51
4.1 Validação da plataforma . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
4.1.1 Cenário 1 - Teste controlo utilizando uma carga conhecida. . . . . 51
4.1.2 Cenário 2 - Monitorização do funcionamento de um frigorífico com-
binado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
4.1.3 Cenário 3 - Monitorização do funcionamento de um jarro elétrico 64
4.1.4 Cenário 4 - Monitorização de uma chocolateira industrial . . . . . 66
4.2 Ensaio em equipamento com materiais PCM . . . . . . . . . . . . . . . . . 72
4.2.1 Casos de estudo e montagem do sistema para o ensaio . . . . . . . 72
4.2.2 Análise dos dados obtidos . . . . . . . . . . . . . . . . . . . . . . . 73

5 Conclusão e Trabalhos Futuros 77


5.1 Trabalhos futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

Bibliografia 81

I Código utilizado no MCU PSoC 5Lp 85

II Código utilizado no MCU ESP32 97

III Query utilizada no serviço Stream Analytics 105

xvi
L i s ta d e Fi g u r a s

2.1 Diagrama teórico de mudança de fase Sólido-Liquido. . . . . . . . . . . . . . 7


2.2 Diagrama de Armazenamento de Energia Térmica. (Adaptado de ( [9]). . . . 8
2.3 Diagrama materiais PCM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.4 Diagrama representativo da mudança de fase. (Adaptado de [12]). . . . . . . 10
2.5 Painel flexível contendo Phase Change Materials (PCM). . . . . . . . . . . . . . 14
2.6 Micro cápsula PCM. (Adaptado de [13]). . . . . . . . . . . . . . . . . . . . . . 15
2.7 Conceitos essenciais para Internet of Things (IoT). . . . . . . . . . . . . . . . . 17
2.8 Produtos Arduino. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.9 ESP32. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.10 PSoC 5Lp. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.11 Diagrama de blocos PSoC 5Lp, famila CY8C58LP. (Adaptado de [25]). . . . . 21
2.12 Raspberry Pi modelo 4 B. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.13 Funcionamento SAR ADC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.14 Fluxograma SAR Logic. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.15 Diagrama simplificado ADC Sigma Delta e noise shaping. . . . . . . . . . . . 24
2.16 Análise espectral de ADC Sigma-Delta. (Adaptado de [30]). . . . . . . . . . . 25

3.1 Equipamento a utilizar - Chocolateira industrial. . . . . . . . . . . . . . . . . 30


3.2 Diagrama de blocos do equipamento . . . . . . . . . . . . . . . . . . . . . . . 30
3.3 Arquitetura do sistema. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.4 Arquitetura do sistema, agrupamento de módulos. . . . . . . . . . . . . . . . 32
3.5 Arquitetura do sistema diferentes comunicações. . . . . . . . . . . . . . . . . 32
3.6 Ligação entre o sensor e o Microcontrolador em modo Single-drop. . . . . . . 34
3.7 Implementação de sensores DS18B20 com recurso a um bloco de interface
pré-programado. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.8 Fluxograma referente ao funcionamento do bloco utilizado para fazer a inter-
face com os sensores DS18B20. . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.9 Diagrama de blocos funcional referente ao ic ACS71020. . . . . . . . . . . . . 36
3.10 Divisor de tensão para leitura de tensão utilizando ACS71020. . . . . . . . . 37
3.11 Bloco de comunicação SPI com tensão de referencia de 3,3V gerada por DAC
de tensão. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.12 Bloco I2C slave presente no PSoC 5Lp. . . . . . . . . . . . . . . . . . . . . . . 41

xvii
L I S TA D E F I G U R A S

3.13 Fluxograma referente ao comportamento do módulo de aquisição de dados. . 42


3.14 Fluxograma do funcionamento do módulo de comunicação. . . . . . . . . . . 44
3.15 Serviços utilizados na plataforma IoT. . . . . . . . . . . . . . . . . . . . . . . 46
3.16 Criação do serviço IoT Hub. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.17 Chave de acesso primária. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.18 Criação de uma conta de armazenamento. . . . . . . . . . . . . . . . . . . . . 48
3.19 Definições detalhadas sobre a adição dos serviços IoT Hub e Blob Storage ao
Stream Analytics. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

4.1 Módulo de monitorização de potência. (A) - Alimentação 3,3v, (B) - Comuni-


cação e alimentação, (C) - Divisor resistivo, (D) - Bloco de terminais para Fase
e Neutro. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
4.2 Montagem completa. Alimentação a partir de um Power Bank. . . . . . . . . . 52
4.3 Medidor de potência PM9C da Scheneider Electric. . . . . . . . . . . . . . . . . 53
4.4 Lâmpada de incandescência de 70W com sensor de temperatura. . . . . . . . 53
4.5 Consumo energético e temperatura de uma lâmpada de incandescência de
70W em função do tempo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
4.6 Esquema termodinâmico do frigorífico combinado. (1)(2) - Compressores, (3)
- Unidade condensadora, (4)(5) - Unidades evaporadoras. . . . . . . . . . . . 57
4.7 Perfil de carga de um frigorífico, congelador e combinados. . . . . . . . . . . 58
4.8 Consumo energético e temperatura de um frigorífico combinado em função do
tempo. Consumo estável, seguido de um período sem consumo e um arranque
do ciclo de refrigeração do congelador. . . . . . . . . . . . . . . . . . . . . . . 59
4.9 Consumo energético e temperatura de um frigorífico combinado em função
do tempo. Arranque de ambos os ciclos de refrigeração. . . . . . . . . . . . . 60
4.10 Consumo energético e temperatura de um frigorífico combinado em função
do tempo. Arranque de ambos os ciclos de refrigeração seguida de uma única
abertura da porta do frigorífico. . . . . . . . . . . . . . . . . . . . . . . . . . . 62
4.11 Consumo energético e temperatura de um frigorífico combinado em função
do tempo. Uso quotidiano. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
4.12 Teste de monitorização de um jarro elétrico. . . . . . . . . . . . . . . . . . . . 65
4.13 Chocolateira industrial equipada com sensores de temperatura e monitoriza-
dor de potência consumida. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
4.14 Teste de monitorização de uma chocolateira industrial de 3000W. . . . . . . 67
4.15 Esquema representando o equipamento, sistema de monitorização e problema
devido ao isolamento do medidor de potência. . . . . . . . . . . . . . . . . . . 69
4.16 Simulação problema de isolamento, queda de tensão eficaz em função da re-
sistência à massa do sensor de temperatura. . . . . . . . . . . . . . . . . . . . 70
4.17 Teste de monitorização de uma chocolateira industrial de 3000W com valores
de tensão e fator de potência corrigidos. . . . . . . . . . . . . . . . . . . . . . 71

xviii
L I S TA D E F I G U R A S

4.18 Esquerda para a direita: mistura de chocolate e leite, PCM (S34) encapsulado
e PCM (S34) aplicado na chocolateira. . . . . . . . . . . . . . . . . . . . . . . 73
4.19 Ensaio de controlo utilizando água e uma mistura de chocolate e leite. Carga
e descarga com armazenamento térmico sensível. . . . . . . . . . . . . . . . . 74
4.20 Ensaio utilizando PCM e uma mistura de chocolate e leite.Carga e descarga
com armazenamento térmico latente. . . . . . . . . . . . . . . . . . . . . . . . 75

xix
L i s ta d e Ta b e l a s

2.1 Comparação entre tipos de PCMs. (Adaptado de [10]). . . . . . . . . . . . . . 9


2.2 Características de Ceras de Parafina Puras. (Adaptado de [13]). . . . . . . . . 10
2.3 Características de Ácidos Gordos. (Adaptado de [7].) . . . . . . . . . . . . . . 11
2.4 Características de Glicóis. (Adaptado de [15]). . . . . . . . . . . . . . . . . . . 11
2.5 Características de metais. (Adaptado de [14]). . . . . . . . . . . . . . . . . . . 12
2.6 Características Hidratos de Sal. (Adaptado de [14]). . . . . . . . . . . . . . . . 13
2.7 Características Eutécticos. (Adaptado de [14]). . . . . . . . . . . . . . . . . . . 13
2.8 Comparação dos Micro-controladores. . . . . . . . . . . . . . . . . . . . . . . 22
2.9 Sensores de temperatura. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.10 Módulos medição de energia eléctrica. . . . . . . . . . . . . . . . . . . . . . . 27

3.1 Registos do ic ACS71020, grandezas correspondentes e fator de escala . . . . 39

xxi
L i s tag e n s

3.1 Exemplo de medição de temperaturas. . . . . . . . . . . . . . . . . . . . . 35


3.2 Rotinas de escrita e leitura I2c. . . . . . . . . . . . . . . . . . . . . . . . . . 43
I.1 Código PSoC 5Lp. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
II.1 Código ESP32. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
III.1 Query utilizada no serviço Stream Analytics. . . . . . . . . . . . . . . . . . 105

xxiii
Siglas

ADC Analog to Digital Converter.


AVAC Aquecimento Ventilação e Ar Condicionado.

BLE Bluetooth Low Energy.

CEE Conservação Energética e Eficiencia.


CLK Clock.
CS Chip-Select.
CSV Comma-separated values.

DAC Digital to Analog Converter.


DNL Differential Nonlinearity.

EEPROM Electrically-Erasable Programmable Read-Only Memory.

I2C Inter-Integrated Circuit.


IC Integrated Circuit.
IDE Integrated Development Environment.
INL Integral Nonlinearity.
IoT Internet of Things.

JSON JavaScript Object Notation.

LSB Least Significant Bit.

MCU Microcontroller Unit.


MQTT Message Queuing Telemetry Transport.
MQTT MQ Telemetry Transport.

xxv
SIGLAS

NFC Near Field Communication.

OpAmp Operational Amplifier.

PCM Phase Change Materials.


PSoC Programmable System-on-Chip.
PWM Pulse Width Modulation.

RAM Random Access Memory.


RFID Radio-Frequency Identification.
RTC Real Time Clock.
RTD Resistance Temperature Detector.

S&H Sample and Hold.


SAR Successive Aproximation Register.
SCL Serial Clock.
SDA Serial Data.
SPI Serial Peripheral Interface.
SQL Structured Query Language.

TES Thermal Energy Storage.

UART Universal Asynchronous Receiver-Transmitter.


UDB Universal Digital Blocks.
UL Underwriters Laboratories.
USB Universal Serial Bus.

WISP Wireless Identification and Sensing Platforms.


WSAN Wireless Sensor and Actuator Networks.

xxvi
Capítulo
1
I n t r o d u ç ão

1.1 Motivação
Nos tempos de crise económica, energética e ambiental a Conservação Energética e Efici-
encia (CEE) são conceitos chave para o sector energético [1]. Os combustíveis fosseis têm
vindo a servir e cumprir todas as necessidades humanas ao longo desta era, no entanto,
ao mesmo tempo causaram os danos ambientais que vieram a levar aos mais emergentes
problemas ambientais com os quais lidamos. Sendo assim, é necessário desenvolver méto-
dos que visam o melhoramento da eficiência energética, de maneira a que a energia não
seja consumida de uma maneira irresponsável e com desperdício.
Com o intuito de dar mais um passo em direção à conservação e eficiência energé-
tica, esta dissertação focar-se-á na criação de uma plataforma Internet of Things (IoT)
multi-sensor para monitorização de sistemas que façam uso de Phase Change Materials
(PCM), sendo que a utilização desses mesmos materiais em sistemas térmicos é uma das
soluções com maior potencial na conservação e utilização eficiente de energia térmica,
nomeadamente o calor latente.
PCMs são substâncias que libertam ou absorvem energia (calor latente e sensível) no
processo de mudança de fase, de modo a fornecer um aquecimento ou arrefecimento de
uma maneira mais eficiente. Calor pode ser armazenado na forma de calor sensível e ou
latente. O armazenamento de calor latente é normalmente usado com transições de fase
sólido-liquido devido a limitações volumétricas das instalações [2].

1.2 Objectivos
Esta dissertação terá como objetivos principais os seguintes pontos:

• Apresentar o tema da necessidade de conservação e armazenamento de energia;

1
CA P Í T U LO 1 . I N T R O D U ÇÃO

• Analisar os diferentes tipos de armazenamento de energia térmica e os tipos de


PCM existentes, orgânicos, inorgânicos e eutécticos;

• Referir os possíveis tipos de incorporação1 de PCMs;

• Apresentar o conceito de IoT;

• Estudar e comparar os micro-controladores, sensores e plataformas IoT existentes


no mercado;

• Analisar as diferentes características, vantagens e desvantagens dos diferentes tipos


de sensores utilizados;

• Descrever todo o trabalho realizado para a criação e implementação de uma Plata-


forma IoT Multi-Sensor para Monitorização Integrada de PCM.

Gostaria também de se mencionar que este trabalho foi possível, em parte, pela colabo-
ração da empresa METALOGONDE Indústria Metalomecânica Lda. a quem se agradece
a contribuição para o protótipo experimental.

1.3 Estrutura do Documento


A presente dissertação possui diferentes capítulos com o intuito de levar o leitor a uma
explicação do trabalho realizado encontrando-se estruturado em cinco capítulos, sendo
estes:

• Introdução;

• Revisão da Literatura e Fundamentos Tecnológicos;

• Projeto da Arquitetura e do Sistema de Monitorização para PCM;

• Resultados Experimentais;

• Conclusão e Trabalhos Futuros.

No capitulo Revisão da Literatura e Fundamentos Tecnológicos, é realizada uma


leitura aprofundada acerca dos temas chave relacionados com esta dissertação. Primeira-
mente serão apresentados os diferentes conceitos de energia térmica necessários para a
compreensão do funcionamento e das características dos PCM, após realizado um estudo
sobre os materiais serão abordados os métodos atuais de incorporação dos mesmos. De
seguida, será abordado o tema referente ao IoT onde será feita uma pequena análise do
mesmo seguida de alguns exemplos de práticos. Posteriormente, será feita uma análise
de mercado onde se pretende determinar quais serão os Microcontroller Unit (MCU) e
1 Técnicas utilizadas para inserir o PCM em outros materiais ou meios.

2
1 . 3 . E S T R U T U R A D O D O C U M E N TO

sensores que se destacam no âmbito da monitorização, para que possam ser utilizados no
sistema a implementar.
O capitulo Projeto da Arquitetura e do Sistema de Monitorização para PCM, con-
siste na explicação das decisões tomadas para a criação da arquitetura e para a escolha,
dimensionamento e implementação dos diferentes sensores,MCU e plataformas IoT dis-
poníveis.
De seguida, no capitulo Resultados Experimentais, são introduzidos os diversos ce-
nários utilizados para o teste de características especificas do sistema de monitorização
implementado. Estes cenários focam-se primeiramente no teste do sistema de monitori-
zação em si, avaliando a precisão dos dados obtidos e a estabilidade de funcionamento
em longos períodos de monitorização. Por fim, serão efetuados ensaios experimentais
onde se pretende testar o funcionamento de um equipamento que utilize armazenamento
térmico latente. Após determinado o seu perfil de funcionamento, esse mesmo equipa-
mento foi equipado com PCM, passando efetivamente para um armazenamento térmico
sensível. Tendo um ponto de comparação os perfis de funcionamento são comparados, de
modo a determinar os benefícios e desvantagens da utilização de materiais PCM para o
armazenamento térmico.
Por fim, no capitulo Conclusões e Trabalhos Futuros, é averiguado se foi possível
corresponder ás características de implementação desejadas e é formulada uma conclu-
são à cerca de todo o trabalho desenvolvido, apresentando no final alternativas, desde
otimizações ao sistema desenvolvido, até novas implementações de serviços e funções que
se consideram úteis para o desenvolvimento de uma ferramenta capaz de ser utilizada
em todo o tipo de equipamentos, condições e funções.

3
Capítulo
2
R e v i s ão da L i t e r at u r a e Fu n da m e n t o s
Te c n o l ó g i c o s

Pretende-se neste capitulo efectuar um estudo sobre os (PCM) e a sua monitorização


via (IoT). Primeiramente, serão abordados os conceitos fundamentais de armazenamento
de energia térmica transitando para o estudo das características e funcionamento dos
PCM. Seguidamente, serão abordados os temas referentes ao IoT, analisando também os
equipamentos que poderão ser utilizados para esta aplicação.

2.1 Conceito de Calor

Para que se entenda realmente o que é calor latente e sensível é necessário primeiro
compreender o conceito de calor, mais propriamente, energia térmica. Para tal, é habitual
fazer uma pequena analogia entre o conceito de trabalho e energia cinética.

O conceito de trabalho está normalmente associado ao deslocamento de um sistema


na presença de uma força, que atua sobre o mesmo [3]. Sendo assim, trabalho é definido
pelo produto entre a força e o deslocamento. O sistema desloca-se a uma determinada
velocidade, fazendo assim com que cada vez que é aplicado trabalho ao sistema este tem
a sua energia cinética alterada [4]. Analogamente, é possível associar energia térmica
ao trabalho gerado pelos átomos pertencentes a um sistema, visto que estes possuem
energia cinética. É de notar que o conceito de temperatura e de calor são distintos. O
calor corresponde à energia transferida devido a uma diferença de temperatura [3]. A
temperatura é proporcional à energia cinética média dos átomos e moléculas presentes
no sistema(entropia) [4].

5
CA P Í T U LO 2 . R E V I SÃO DA L I T E R AT U R A E F U N DA M E N TO S T E C N O LÓ G I CO S

2.1.1 Calor Latente e sensível


O foco principal do presente estudo é o armazenamento de calor latente e sensível, sendo
que ambos são componentes da energia interna de um sistema (Ulatente ) e (Usensivel ) res-
pectivamente, e que em conjunto são referidos como energia térmica (Ut ) [5]. Esta energia
térmica pode ser armazenada usando processos, químicos ou físicos, sendo que cada um
possui características distintas. Relativamente aos tipos de calor, calor sensível é a porção
de energia térmica utilizada para que um sistema mude de temperatura. Adicionalmente,
calor latente é a porção de energia térmica, absorvida ou libertada, durante uma mudança
de fase de um material. Na Figura 2.1 é possível observar a diferença entre calor sensível
e latente presente numa mudança de fase. Existem três mudanças de fase possíveis:

• Liquido-gás: Esta mudança de fase está normalmente associada a quantidades de


energia superiores relativamente às outras mudanças de fase descritas; Este processo
é fortemente dependente das condições do meio, nomeadamente, volume constante,
pressão constante em sistemas fechados e, por último, pressão constante em sistemas
abertos [6];

• Sólido-Liquido: Neste processo de mudança de fase ocorre normalmente uma pe-


quena mudança de volume, cerca de 10%. Se o recipiente estiver adequadamente
dimensionado à fase com maior volume, normalmente liquida, não existirá uma
grande mudança de pressão [6]. Sendo este um processo isotérmico1 numa pressão
praticamente constante (onde se encontram os PCMs mais comuns) esta mudança de
fase é uma das mais adequadas para aplicações técnicas. Fazendo também com que
seja possível selecionar um PCM,com base na temperatura de fusão do mesmo [7];

• Sólido-Sólido: Este tipo de mudança de fase apresenta características semelhantes


à mudança de fase Sólido-Liquido, no entanto não possui um balanço energético
tão expressivo [6].

1 Transformação termodinâmica que ocorre a temperatura constante num sistema fechado, sistema este
que permite trocas de energia com o exterior, mas não de matéria.

6
2 . 2 . A R M A Z E N A M E N TO D E E N E R G I A T É R M I CA

Calor armazenado

Temperatura
latente Sensível
Tf usao

Sensível

Calor armazenado

Figura 2.1: Diagrama teórico de mudança de fase Sólido-Liquido.

2.2 Armazenamento de Energia Térmica


Com a utilização de sistemas de Thermal Energy Storage (TES), é possível efectuar o ar-
mazenamento de energia que outrora seria desperdiçada. É também possível evitar o
consumo excessivo de energia, devido ao facto de existir à partida energia armazenada e
pronta a ser utilizada, fazendo com que a necessidade do consumo de energia proveniente
de outras fontes seja reduzida. O armazenamento de energia térmica é um processo de
conservação de energia temporário, onde se armazena calor para uma utilização futura [8].
Alguns exemplos de TES são:

• Acumulação de energia solar para utilização à noite;

• Armazenamento de calor nas horas de baixa tarifa eléctrica, para uso posterior em
horas de tarifa alta;

• Utilização de baterias térmicas para alimentação de sistemas;

Na Figura 2.2 é possível observar um diagrama que ílustra os diferentes tipos de


armazenamento térmico.
No processo de armazenamento de energia térmica existem duas opções seleccioná-
veis. A primeira consiste no aquecimento ou arrefecimento de uma substância de modo
a inserir ou retirar calor sensível do sistema em causa. A segunda opção consiste na al-
teração de fase de uma substância, nomeadamente PCM, onde o material poderá sofrer
solidificação, fusão ou vaporização sendo estes os processos onde se armazenará calor
latente ou se libertará o mesmo caso ocorram os processos inversos.
Os sistemas de armazenamento de calor sensível não são ser estudados neste trabalho.
Porém, os sistemas de armazenamento de calor latente e os seus materiais, PCM, são
estudados com mais detalhe nas secções seguintes.

7
CA P Í T U LO 2 . R E V I SÃO DA L I T E R AT U R A E F U N DA M E N TO S T E C N O LÓ G I CO S

Armazenamento de Energia Térmica

Calor Sensível Calor Latente

Liquido Sólido Subterrâneo


PCM detalhe
(Agua, sal (Rochas, (Aquíferos,
em Figura 2.3
fundido) Tijolo, Poços)
Ceramicos)

Figura 2.2: Diagrama de Armazenamento de Energia Térmica. (Adaptado de ( [9]).

2.3 Materiais de Mudança de Fase (PCM)

Com base nas propriedades de mudança de fase dos materiais, a tipificação é composta
por três categorias distintas: PCMs sólido-sólido, PCMs sólido-liquido e PCMs liquido-
gás. Dentro da categoria sólido-liquido encontram-se os PCMs mais adequados para TES.
Nesta categoria, sólido-liquido, encontram-se três grupos distintos de PCMs os orgânicos,
inorgânicos e eutécticos [10]. Na figura 2.3 é possível observar um diagrama que organiza
os diferentes tipos de PCMs bem como o material constituinte.

PCM

Orgânico Inorgânico Eutético

Composto à Orgânico-
Hidratos de Sal
base de parafina Orgânico

Composto Orgânico-
Metais
sem parafina Inorgânico

Inorgânico-
Inorgânico

Figura 2.3: Diagrama materiais PCM.

8
2 . 3 . M AT E R I A I S D E M U DA N ÇA D E FA S E ( P CM )

De modo a compreender o funcionamento destes materiais, é necessário ter em conta


algumas propriedades que caracterizam os PCMs e que ajudarão, mais à frente, a fazer
uma comparação entre PCMs diferentes. Estas propriedades são o calor latente de fusão
(∆Hf us ), temperatura de fusão (Tf us ) e condutividade térmica (K) [7].
A tabela 2.1 resume as vantagens e desvantagens de cada tipo de PCM.

Tabela 2.1: Comparação entre tipos de PCMs. (Adaptado de [10]).

Tipo Vantagens Desvantagens


Orgânicos 1. Disponibilidade em várias temperaturas de 1.Baixa condutividade
fusão. térmica.
2. Alta Temperatura de fusão. 2. Grande alteração de
3. Ausência de super-arrefecimento. volume relativo.
4. Quimicamente estável e reciclável 3. Inflamável.
5. Boa compatibilidade com outros materiais.
Inorgânicos 1.Alta Temperatura de fusão. 1. Super-arrefecimento.
2. Alta condutividade térmica. 2. Corrosão.
3. Pequena alteração de volume relativo.
4. Disponível a baixo custo.
Eutéticos 1. Temperatura de fusão altamente precisa. 1. Falta de dados sobre
2. Alta densidade volumétrica de armazena- propriedades termo-
mento térmico. físicas.

De acordo com [11], é possível observar três comportamentos distintos aquando da


fusão:

• Fusão Congruente: Dada uma temperatura especifica (Tf us ) é possível que estes ma-
teriais fundão e solidifiquem sem que exista uma segregação de fase ou degradação
do seu ∆Hf us ;

• Fusão Incongruente: Ocorre quando o sal não é inteiramente solúvel na água. Existe
elevada segregação de fase;

• Fusão Semi-Congruente: Apresenta um comportamento intermédio entre a fusão


congruente e incongruente. Existe segregação de fase durante o processo de fusão;

Na figura 2.4 é possível verificar que o PCM ao receber calor inicia o processo de fusão e
ao emitir calor inicia o seu processo de solidificação.

2.3.1 Materiais orgânicos

Os materiais orgânicos podem ser divididos em duas subcategorias: compostos à base de


parafina e compostos sem parafina, figura 2.3. Estes materiais que possuem proprieda-
des de fusão congruente, têm grande estabilidade térmica, estão disponíveis em várias

9
CA P Í T U LO 2 . R E V I SÃO DA L I T E R AT U R A E F U N DA M E N TO S T E C N O LÓ G I CO S

Figura 2.4: Diagrama representativo da mudança de fase. (Adaptado de [12]).

temperaturas de fusão e estão ausentes de super-arrefecimento2 . Ver tabela 2.1 para mais
detalhes.

2.3.1.1 Compostos à Base de Parafina

As parafinas utilizadas como PCM para TES são normalmente mencionadas como ceras de
parafina, compostas maioritariamente por uma cadeia de n-alcanos em linha. É necessário
salientar que ceras de parafina puras são bastante dispendiosas e apenas ceras de parafina
de grau técnico devem ser utilizadas como PCM [11]. De acordo com [13], ao aumentar a
cadeia de alcanos, a temperatura de fusão(Tf us ) aumenta. Na tabela 2.2, encontram-se a
Tf us e ∆Hf us em função do numero de átomos que compõem a cadeia.

Tabela 2.2: Características de Ceras de Parafina Puras. (Adaptado de [13]).

Numero de átomos de carbono Tf us (ºC) ∆Hf us (Kj/Kg)


15 10.0 205
16 16.7 237
17 21.7 213
18 28.0 244
19 32.0 222
20 36.7 246
21 40.2 200
22 44.0 249
23 47.5 232
24 50.6 255

2.3.1.2 Compostos sem Parafina

É dentro desta categoria que se encontra a maior quantidade de PCMs com as mais
diversas propriedades físicas e químicas. Estes compostos, à semelhança dos compostos
à base de parafina (em 2.3.1.1) são inflamáveis e possuem uma baixa condutividade
2 Estado particular de um material que se encontra liquido enquanto a sua temperatura é inferior à
temperatura de congelamento.

10
2 . 3 . M AT E R I A I S D E M U DA N ÇA D E FA S E ( P CM )

térmica, ver tabela 2.1 para mais detalhes. Estes compostos podem ser consequentemente
divididos nas seguintes categorias:

• Ácidos Gordos: Possuem um elevado calor latente de fusão (∆Hf us ) comparável aos
valores das ceras de parafina e apresentam um comportamento estável aquando da
fusão e solidificação, estando também ausentes de super-arrefecimento. No entanto
possuem a desvantagem de serem 2-2.5 vezes mais dispendiosos que as ceras de
parafina de grau técnico e são ligeiramente corrosivos [14]. Na tabela 2.3, é possível
observar Tf us e ∆Hf us em função do numero de átomos que compõem a cadeia.

Tabela 2.3: Características de Ácidos Gordos. (Adaptado de [7].)

Nome Comum Nº de átomos de C. Tf us (ºC) ∆Hf us (Kj/Kg)


Ácido Caprílico 8 16.1 144.2
Ácido Cáprico 10 31.5 155.5
Ácido Dodecanoico 12 43.6 184.3
Ácido Mirístico 14 54.7 189.7
Ácido Palmítico 16 61.3 197.9
Ácido Esteárico 18 66.8 259.0

• Glicóis: ou glicóis de polietileno são solúveis em água e em compostos orgânicos [7].


Possuem também características desejáveis em PCMs como baixa pressão de vapor
quando fundidos, são química e termicamente estáveis, não inflamáveis, biodegra-
dáveis, não tóxicos e por último não são corrosivos [15]. Na tabela 2.4, é possível
observar Tf us e ∆Hf us em função da massa molar (M) média.

Tabela 2.4: Características de Glicóis. (Adaptado de [15]).

Massa Molar média M (g · mol −1 ) Tf us (ºC) ∆Hf us (Kj/Kg)


400 3.2 91.4
600 22.2 108.4
1000 32.0 149.5
1500 46.5 176.3
2000 51.0 181.4
3400 56.6 174.1
4000 59.7 189.7
6000 64.8 189.0
10000 66.0 189.6
20000 68.7 187.8

2.3.2 Materiais inorgânicos


PCMs Inorgânicos podem ser divididos em dois subgrupos: metálicos e hidratos de
sal. Os PCMs metálicos são raramente utilizados graças ao seu preço e disponibilidade

11
CA P Í T U LO 2 . R E V I SÃO DA L I T E R AT U R A E F U N DA M E N TO S T E C N O LÓ G I CO S

reduzida [13].

2.3.2.1 Metálicos

Apesar de serem raramente utilizados na maioria das aplicações, existem condições e apli-
cações especiais onde se torna vantajoso o uso destes PCMs, nomeadamente em condições
onde o espaço de trabalho é reduzido, (e.g. no campo da Astronáutica). Estes materiais
são assim utilizados, pois possuem um calor latente de fusão por unidade de volume e
condutividade térmica superior aos outros tipos de PCMs [14]. Na tabela 2.5, é possível
ver uma lista de PCMs e as suas características.
Tabela 2.5: Características de metais. (Adaptado de [14]).

Material Tf us (ºC) ∆Hf us (Kj/Kg)


Gálio 30 80.3
Cerrolow Eutético 58 90.8
Bi-Cd-In Eutético 61 25
Cerrobend Eutético 70 32.6
Bi-Pb-In Eutético 70 29

2.3.2.2 Hidratos de sal

É nesta categoria que se encontram os PCMs mais conhecidos e mais estudados. Estes
compostos, caracterizados pela formula química AB · nH2 O (AB representa um sal inorgâ-
nico), são ligas de sais inorgânicos e água [13, 16]. Além das características descritas na
tabela 2.1, estes materiais possuem também:

• Abundância de materiais diferentes no mercado;

• Baratos com factor custo beneficio elevado;

• Toxicidade ligeira.

Aquando da fusão existem três comportamentos que podem ser esperados por estes ma-
teriais: fusão congruente, fusão incongruente e fusão semi-congruente. Uma explicação
destes tipos de comportamentos encontra-se na secção 2.3.
A tabela 2.6, resume as características dos hidratos de sal pertencentes à categoria dos
materiais inorgânicos.

12
2 . 4 . M É TO D O S D E I N CO R P O R AÇÃO D E P CM S

Tabela 2.6: Características Hidratos de Sal. (Adaptado de [14]).

Material Tf us (ºC) ∆Hf us (Kj/Kg)


CaCl2 · 12H2 O 29.8 174
LiN O3 · 2H2 O 30.0 296
LiN O3 · 3H2 O 30.0 189
KFe(SO4 )2 · 12H2 O 33.0 173
CoSO4 · 7H2 O 40.7 270
Ca(N O3 ) · 4H2 O 47.0 153
Ca(N O3 )2 · 3H2 O 51.0 104
N aOH · H2 O 64.3 273
MgCl2 · 6H2 O 117 167

2.3.3 Eutécticos
Um material eutéctico é uma composição de dois ou mais componentes. Sendo que, cada
um destes materiais possui propriedades congruentes na fusão e solidificação, formando
uma mistura de cristais no momento da cristalização [17].
Adicionalmente, estão ausentes de segregação de fase e possuem uma temperatura de
fusão bastante regular. Sendo esta, um pouco inferior à temperatura de fusão dos materi-
ais de que é constituído o PCM, a esta temperatura chama-se "temperatura eutéctica" [7,
14]. Na tabela 2.7, encontram-se alguns materiais eutécticos e as suas características.

Tabela 2.7: Características Eutécticos. (Adaptado de [14]).

Material Composição (%) Tf us (ºC) ∆Hf us (Kj/Kg)


Trietiloletano + Água + Ureia 38.5+31.5+30 13.4 160
CaCl2 + MgCl2 · 6H2 O 50+50 25 95
N H2 CON H2 + N H4 N O3 53+47 46 95
Mg(N O3 )3 · 6H2 O + MgCl2 · 6H2 O 58.7+41.2 59 132
Naftalina + Ácido Benzóico 67.1+32.9 67 124
LiN O3 + N H4 N O3 + N H4 Cl 27+68+5 81.6 108

2.4 Métodos de incorporação de PCMs


A Incorporação de PCM consiste na inserção do mesmo em outros materiais ou meios
recorrendo a um conjunto de métodos. De acordo com [18] os métodos de incorporação
mais usuais são:

• Incorporação Directa: É o método mais simples no qual se insere o PCM directa-


mente em outros materiais e.g. adicionar PCM directamente a gesso ou cimento
num edifício. De acordo com [18] a temperatura de fusão pode ser alterada e é
necessário ter em consideração a compatibilidade do PCM com os materiais em que
este irá ser incorporado;

13
CA P Í T U LO 2 . R E V I SÃO DA L I T E R AT U R A E F U N DA M E N TO S T E C N O LÓ G I CO S

• Imersão: Ao contrário do método anterior, em que o PCM é incorporado no mo-


mento em que o composto final é criado, neste método, o PCM é absorvido pelo
material base. Sendo assim, a incorporação é feita mergulhando o material num
banho de PCM, fazendo com que este seja absorvida pelos poros do material por
efeito de acção capilar3 [10]. É de notar que este método pode sofrer perdas de PCM
a longo prazo;

• Encapsulamento, composto por duas técnicas, macro e micro encapsulamento:

1. Macro-encapsulamento: consiste no encapsulamento de PCM em tubos, pai-


néis ou esferas, de forma a evitar o contacto do PCM com o ambiente exterior,
no caso de o recipiente ser rígido acrescenta durabilidade mecânica. Com este
método, o problema das fugas é evitado e ao ser aplicado a estruturas estas são
menos afectadas. Possui, no entanto, as desvantagens de condutividade térmica
reduzida, tendência para solidificar nos cantos e ser difícil de se implementar.
Na figura 2.5, é possível observar um painel flexível contendo PCM com o in-
tuito de diminuir o consumo energético de sistemas Aquecimento Ventilação e
Ar Condicionado (AVAC);

Figura 2.5: Painel flexível contendo PCM.

2. Micro-encapsulamento: Consiste no encapsulamento de PCM num polímero


ou membrana, com dimensões na ordem dos µm. Uma das grandes vantagens
desta tecnologia é o facto de aumentar a relação superfície-volume, efectiva-
mente melhorando a transferência de calor por unidade de volume [8]. Esta
tecnologia permite, facilidade de manuseamento, ausência de fugas e manu-
tenção do PCM [13]. Na figura 2.6, está representado uma micro cápsula de
PCM Micronal™, com um diâmetro de aproximadamente 5µm, onde o PCM
utilizado é cera.
3 Ocorre quando a força de adesão é superior à de coesão, fazendo com que um liquido seja atraído por
um solido.

14
2 . 4 . M É TO D O S D E I N CO R P O R AÇÃO D E P CM S

Figura 2.6: Micro cápsula PCM. (Adaptado de [13]).

2.4.1 Aplicações
Em adição às propriedades descritas nas secções anteriores e de acordo com [19], existem
duas características chave que fazem com que a indústria procure a implementação de
PCM nos seus sistemas. Estas características são: a capacidade de estabilizar termicamente
um sistema, reduzindo assim variações de temperatura do sistema e a capacidade de
armazenar energia calorifica. Posto isto, destacam-se assim as seguintes aplicações de
PCM na indústria:

• Aplicações na indústria culinária, para transporte de alimentos a temperaturas


constantes ou para utilização em electrodomésticos industriais (e.g. fornos, frigorí-
ficos e congeladores);

• Aplicações médicas, maioritariamente para transporte de sangue ou órgãos, no


entanto, existem também aplicações em colchões para recém-nascidos para o trata-
mento de hipoxia;

• Aplicações electrónicas, utilizado normalmente para dissipação de calor;

• Aplicações arquitectónicas, armazenamento de energia térmica durante as horas


de maior calor;

• Aplicações de Aquecimento Ventilação e Ar Condicionado (AVAC).

Como a maioria destes sistemas têm como função o aquecimento de um material


ou de um fluído, é possível determinar que o seu funcionamento é composto por um
elemento de aquecimento e um elemento de controlo de temperatura à excepção de
casos muito específicos, os componentes utilizados são uma resistência e um termostato
respectivamente.

15
CA P Í T U LO 2 . R E V I SÃO DA L I T E R AT U R A E F U N DA M E N TO S T E C N O LÓ G I CO S

Ao instalar estes materiais, PCMs, num sistema como o descrito anteriormente, é


necessário obter dados que comprovem que o sistema, após essa mesma instalação, irá
beneficiar das características estudadas. Sendo assim, é necessária uma solução de mo-
nitorização, com a função de analisar parâmetros como a potência eléctrica consumida
ao longo do seu funcionamento e as várias temperaturas presentes na montagem. Deste
modo, irá ser estudado na secção seguinte o conceito de Internet of Things (IoT) e as suas
possíveis aplicações para a monitorização integrada de sistemas.

2.5 Internet of Things para a Monitorização Integrada de


Sistemas
Ao longo dos anos houve uma acentuada evolução no que toca à tecnologia computaci-
onal e às suas aplicações. Começando em 1999, o termo IoT foi introduzido por Kevin
Ashton, termo este que ficou difundido por todo o mundo, graças ao trabalho produzido
no Auto-Id Centre, grupo de investigação no campo da identificação por Radio-Frequency
Identification (RFID) [20]. Com a evolução da tecnologia e do conceito de IoT, o sistema
RFID manteve-se na vanguarda do conceito IoT orientado as ”coisas”, devendo-se isto à
maturidade do mesmo, ao baixo custo e ao forte apoio da indústria. Contudo, também
se constatou o crescimento várias de tecnologias como: Near Field Communication (NFC),
Wireless Sensor and Actuator Networks (WSAN) e Wireless Identification and Sensing Plat-
forms (WISP). Sendo que, neste caso se visava o conceito de IoT numa vertente orientada
à ”internet” [21].
Atualmente a tecnologia IoT encontra-se bem estabelecida, sendo possível aplicar a
mesma a um grande quantidade de áreas, desde aplicações pessoais a industriais. Devido
a este crescimento e ao facto de esta se encontrar presente em diversas aplicações, o
foco de interesse apresenta-se maioritariamente sobre as tecnologias de privacidade e
segurança[22].
Posto isto, destacam-se assim as seguintes aplicações de IoT:

• Comunicação entre máquinas (indústria 4.0);

• Comunicação entre máquinas e infraestruturas (indústria 4.0);

• Smart aplications e.g. Cidades, Edifícios, Habitação, Agricultura, carros, parquea-


mento, entre outros;

• Monitorização, controlo industrial e Controlo de qualidade;

• Segurança remota;

O conceito de IoT refere-se à interconexão de dispositivos com a Internet, ou seja,


é uma rede hierarquizada de dispositivos, com a capacidade de adquirir, processar e

16
2.5. INTERNET OF THINGS PARA A MONITORIZAÇÃO INTEGRADA DE SISTEMAS

Qualidade Arquitectura
Custo
e Confia- e esca-
Beneficio
bilidade lamento

Nó de Pro-
Eficiência
cessamento IoT
Energética
Local

Comunicação
Segurança Nó sensorial com/sem
fios

Figura 2.7: Conceitos essenciais para IoT.

transmitir dados. Na figura 2.7, está presente um diagrama com diferentes conceitos, que
podem ou devem, estar presentes numa aplicação IoT.
De modo a obter um nó IoT operacional, é necessário projectar uma arquitectura que
se adeque ao projecto em questão. Para tal, é necessário a utilização de diversos módulos,
cada um com uma função especifica, para que o objectivo final seja alcançado. De entre
esse módulos, estão alguns como:

• MCU ou micro-controlador;

• Módulos de comunicação;

• Módulos de Sensores;

• Analog to Digital Converter (ADC).

2.5.1 Micro-Controladores

O MCU ou micro-controlador, tem como função adquirir, processar, armazenar e expor-


tar os dados provenientes dos sensores que são utilizados em simultâneo com o micro-
controlador.

17
CA P Í T U LO 2 . R E V I SÃO DA L I T E R AT U R A E F U N DA M E N TO S T E C N O LÓ G I CO S

Neste capítulo, devido à enorme variedade de micro-controladores, ir-se-á apenas


estudar os que mais se têm destacado no mercado durante os últimos anos. Visto que, estes
mesmos micro-controladores vêm acompanhados de plataformas de desenvolvimento,
não se irá utilizar o nome dado ao micro-controlador, mas sim, o nome da plataforma em
si. De entre os micro-controladores existentes, os que mais se destacaram no mercado são:

• Arduino;

• ESP;

• Psoc.

• Raspberry Pi;

2.5.1.1 Arduino

O Arduino, é uma plataforma de desenvolvimento open-source4 , criada em 2005 por Her-


nando Barragán, com o principal objectivo de ser fácil de utilizar, em termos de hardware
e software. À semelhança de outros micro-controladores, o Arduino já sofreu também ao
longo dos anos várias iterações, possuindo até este momento inúmeros modelos, cada um
com diferentes pontos fortes e fracos (figura 2.8).

Figura 2.8: Produtos Arduino.

Esta plataforma de desenvolvimento possui várias versões, visando diferentes tipos


de aplicações, sendo a mais conhecida, o Arduino UNO. Esta plataforma encontra-se
4 Modelo de desenvolvimento, que promove licenciamento livre para o design ou esquematização de um
produto e a sua subsequente redistribuição universal, com a possibilidade de livre consulta, examinação ou
modificação do mesmo, sem que seja necessário pagar uma licença comercial.

18
2.5. INTERNET OF THINGS PARA A MONITORIZAÇÃO INTEGRADA DE SISTEMAS

equipada com um micro-controlador de 8bits, funcionando a 16MHz, possuindo pontos


fortes como a componente open-source, a simplicidade e facilidade da linguagem de pro-
gramação, o seu Integrated Development Environment (IDE), a interoperabilidade entre
plataformas e o seu preço. Apesar do Arduino uno ser relativamente limitado em termos
de velocidade de clock e de possuir uma quantidade reduzida de memória, existem outros
modelos superiores, e.g. o Arduino DUE encontra-se equipado com um processador ARM
de 32bits, funcionando a 84MHz e possui uma quantidade de memória superior.

2.5.1.2 ESP32

O ESP32 (figura 2.9) é um módulo de processamento pertencente à família ESP, lançada


em 2014 pela Espressif Systems, este apresenta apenas a opção de se utilizar como um
todo, não existindo a possibilidade de se utilizar apenas o micro-controlador de forma
isolada [23, 24].

Figura 2.9: ESP32.

Este módulo encontra-se bastante completo e com um elevado poder de processa-


mento, devido ao seu processador com dois núcleos podendo atingir frequências de clock
de 240MHz, antenas Wi-Fi e Bluetooth V4.2 com suporte para Bluetooth Low Energy (BLE)
e dois ADC de 12bits do tipo SAR. Ao implementar este módulo ESP32 é necessário ter em
considerações as limitações da tensão de alimentação, visto que este suporta apenas uma
alimentação e nível lógico de 3,3V, dificultando assim a implementação com módulos que
utilizem um nível lógico de 5V.

2.5.1.3 PSoC 5Lp

O Programmable System-on-Chip (PSoC) presente na figura 2.10, foi criado nos Estados
Unidos da América pela Cypress Semiconductor em 2002. Com a ajuda de um desafio, PSoC
Design Challenge, patrocinado na revista Circuit Cellar, começou a ser comercializado em
quantidades elevadas.

19
CA P Í T U LO 2 . R E V I SÃO DA L I T E R AT U R A E F U N DA M E N TO S T E C N O LÓ G I CO S

Figura 2.10: PSoC 5Lp.

Na figura 2.11 é possível observar o diagrama de blocos do PSoC 5lP, mais espe-
cificamente da familia CY8C58LP. Onde é possível observar que o MCU se encontra
dividido em quatro secções contendo grupos específicos de blocos que se encontram
inter-conectados por um barramento de sistema. Estas quatro secções são:

• Sub-sistema do CPU: Esta secção encontra-se construída em torno de um proces-


sador ARM Cortex-M3 de 32bits, com uma frequência até clock até 80MHz. Nesta
mesma secção encontram-se também os blocos responsáveis pelo controlo dos vários
tipos de memória presentes no MCU e pela programação e depuração do mesmo;

• Recursos gerais do sistema: Esta secção engloba dois blocos distintos, o primeiro
é responsável pela geração das diferentes frequências de clock do sistema, estando
o mesmo equipado com um gerador variável de clock interno projectado para alta
estabilidade e precisão. O segundo é responsável pela regulação da tensão de alimen-
tação, podendo ser alimentado com tensões desde 0,5V até 5V, devido à utilização
conversor de tensão síncrono em modo boost;

• Sistema digital: Tem como função a conexão de sinais digitais provenientes de


quaisquer tipo de periféricos a qualquer pino à escolha. Adicionalmente este bloco
providencia um grande quantidade de periféricos digitais através de Universal Digi-
tal Blocks (UDB), 4 temporizadores de 16bits, funções Pulse Width Modulation (PWM)
e comunicações digitais como Inter-Integrated Circuit (I2C) e Universal Serial Bus
(USB);

• Sistema analógico: Tem como função o roteamento de sinais analógicos para inte-
rior e exterior do dispositivo através de um barramento analógico. Adicionalmente,
contem todos os periféricos analógicos do MCU, sendo os mais relevantes um ADC
sigma-delta configurável até 20bits e 2 do tipo SAR com uma capacidade de 12bits;

20
2.5. INTERNET OF THINGS PARA A MONITORIZAÇÃO INTEGRADA DE SISTEMAS

Figura 2.11: Diagrama de blocos PSoC 5Lp, famila CY8C58LP. (Adaptado de [25]).

Em suma, o PSoC está munido de um processador 32bits ARM Cortex-M3 com uma
frequência até 80MHz, com imensos componentes e recursos à sua disposição, desde
Digital to Analog Converter (DAC), filtros, Operational Amplifier (OpAmp), Real Time Clock
(RTC), Interfaces do comunicação, entre outros. Por fim, à semelhança do Arduino, o PSoC
possui um IDE próprio com o nome de PSoC Creator onde é possível tomar partido de
todas as funcionalidades oferecidas pelo PSoC.

2.5.1.4 Raspberry Pi

O Raspberry Pi (figura 2.12), apesar não ser um micro-controlador encontra-se nesta sub-
secção, visto que, devido ao seu tamanho e preço é comummente utilizado para a realiza-
ção tarefas mais exigentes, onde não é possível a utilização de um MCU convencional ou
a implementação de um processador de alta performance. O Raspberry Pi é um pequeno
computador do tamanho de um cartão de crédito, lançado em 2012 no Reino Unido pela
fundação Raspberry Pi. Ao longo dos anos tem havido inúmeras iterações deste pequeno
computador, sendo que a primeira possuía um processador com um único núcleo a funci-
onar a 700MHz com apenas 256MB de Random Access Memory (RAM), o último modelo,
no entanto, já possui um processador com quatro núcleos a 1.4GHz e 1GB RAM .
Este computador, está munido de várias entradas de periféricos e I/O, sendo capaz

21
CA P Í T U LO 2 . R E V I SÃO DA L I T E R AT U R A E F U N DA M E N TO S T E C N O LÓ G I CO S

Figura 2.12: Raspberry Pi modelo 4 B.

de ser utilizado com vários sistemas operativos. Podendo também, ser utilizado para
aplicações que necessitem de um poder de processamento elevado. No entanto, não possui
ADC, nem um RTC fazendo com que aplicações que necessitem de um controlo em tempo
real, ou de análise de dados provenientes de sensores analógicos necessitem de módulos
complementares.

2.5.1.5 Análise comparativa dos micro-controladores

Como demonstrado nos capítulos supracitados, existe uma quantidade bastante abran-
gente de micro-controladores disponíveis no mercado. Sendo assim, esta secção tem como
objectivo expor os pontos forte de cada micro-controlador presente na tabela 2.8. É de
notar, que os factores de comparação, devem ser adaptados à aplicação que se está a im-
plementar, e não de uma maneira generalista. Deste modo, foram escolhidos os seguintes
pontos: Sistema Operativo, Linguagem de programação, ADCs, RTCs, Wi-Fi, Bluetooth,
potência, dimensão e preço.

Tabela 2.8: Comparação dos Micro-controladores.

Raspberry Pi 3B+[26] Arduino UNO[27] ESP32[28] PSoC 5Lp[25]


Processador BCM2837B0 ATmega238p Xtensa LX6 ARM CortexM3
Frequência 1.4GHz 16MHz 240MHz 80MHz
Tensão 5V 5-12V 3,3V 0.5-5V
Sistema Operativo Linux N/A N/A N/A
Linguagem de Qualquer C++ Micro Python C (Psoc Creator
Programação (Arduino IDE) C IDE)
ADC Não 10bits SAR 12bit SAR 20bit Σ∆
12bit SAR
INL* N/A ±1.5 ±12 ±32 & ±2
DNL* N/A ±0.7 ±7 ±1 & ±2
RTC Não Sim Sim Sim
Wi-Fi Sim Não Sim Não
Bluetooth Não Não Sim Não
Potência (mW ) ≈ 4000 ≈ 230 ≈ 50 ≈ 77
Dimensões (mm) 84 × 56 65 × 50 50 × 30 110 × 24
Preço (€) ≈ 40€ ≈ 30€ ≈ 10€ ≈ 14€
Podem existir discrepâncias consoante os modelos e data de fabrico.
*Integral Nonlinearity (INL); *Differential Nonlinearity (DNL).

22
2.5. INTERNET OF THINGS PARA A MONITORIZAÇÃO INTEGRADA DE SISTEMAS

2.5.2 Analog to Digital Converters


Nesta secção, ir-se-ão estudar os componentes essenciais para a obtenção de sinais ana-
lógicos e a sua conversão para um sinal digital. Como este componente está responsável
pela conversão do sinal analógico, a sua exactidão e precisão necessitam de ser elevadas,
pois algum erro gerado nesta fase, ir-se-à propagar ao longo de todo o processo. Posto isto,
irão ser estudados os dois tipos de ADCs mais comuns, sendo que, estes estão também
presentes nos micro-controladores apresentados na tabela 2.8.

2.5.2.1 Successive Aproximation Register (SAR) ADC

Successive Aproximation Register (SAR), ou em português registo de aproximações su-


cessivas, é uma classe de ADC, que como o nome indica, necessita de alguns ciclos de
comparação e aproximação para que efectue a conversão do sinal recebido. Sendo assim,
estes ADCs possuem tempos de operação reduzidos, fazendo com que sejam um dos tipos
de ADC mais utilizados em aplicações de baixo consumo e velocidade [29]. Atendendo
aos micro-controladores analisados anteriormente, este ADC encontra-se empregue em
todos eles, à excepção do Raspberry Pi.
Na seguinte figura 2.13, é possível observar um diagrama simplificado do funcio-
namento do ADC. Adicionalmente, o bloco Sample and Hold (S&H) é responsável pela
amostragem do sinal a converter, e o DAC encontra-se responsável por gerar a tensão de
comparação.

Figura 2.13: Funcionamento SAR ADC.

Este ADC, de modo a efectuar a comparação do sinal recebido, necessita de um algo-


ritmo adicional, SAR Logic ou Successive aproximation algorithm, onde são controladas as
comparações entre o sinal amostrado e as tensões de referencia presentes no ADC. Na
seguinte figura 2.14, é possível observar o fluxograma representativo do algoritmo.

23
CA P Í T U LO 2 . R E V I SÃO DA L I T E R AT U R A E F U N DA M E N TO S T E C N O LÓ G I CO S

S&H

Dout=0,
i=nbits − 1

Douti = 1

Sim
Vin > Dac

Não
Douti = 0

i = i−1

Douti = 0

i>1
Sim
Não
Fim

Figura 2.14: Fluxograma SAR Logic.

2.5.2.2 Sigma-Delta ADC

Este tipo de ADC apoia-se no princípio da sobre-amostragem, figura 2.15, de maneira a


dividir o ruído proveniente da quantização de um sinal numa maior largura de banda.
Posto isto, é possível aumentar a relação de sinal ruido, fazendo efectivamente com que a
resolução do DAC aumente [30].

Clk

Sinal y Filtro Noise z nbits


ADC
Shaping

x
DAC

Figura 2.15: Diagrama simplificado ADC Sigma Delta e noise shaping.

24
2.5. INTERNET OF THINGS PARA A MONITORIZAÇÃO INTEGRADA DE SISTEMAS

Ao utilizar um filtro de noise shaping é possível deslocar, mas não eliminar, o ruído
restante para fora da banda do sinal que se quer converter. Na seguinte figura 2.16 é
possível observar o efeito do filtro de noise shaping.

Figura 2.16: Análise espectral de ADC Sigma-Delta. (Adaptado de [30]).

Sendo assim, este ADC devido ao seu funcionamento, oferece uma maior resolução
e uma maior mitigação de ruído em relação ao ADC do tipo SAR, no entanto, estas ca-
racterísticas são restringidas pelas sua velocidade, limitando assim as suas aplicações e
fazendo com que não seja aconselhado a utilização do mesmo para gamas superiores às
das frequências sonoras. Adicionalmente, este ADC encontra-se utilizado por apenas um
dos micro-controladores analisados na secção anterior, sendo este o PSoC 5lP.

2.5.3 Módulos de sensores

Os módulos de sensores são possivelmente o elemento mais básico presente num nó IoT.
No entanto, são também um dos mais importantes, pois sem estes torna-se impossível
captar dados de um dado ambiente. De acordo com dados presentes nos capítulos, é
possível determinar que poderão ser necessários os seguintes sensores:

• Sensor de temperatura;

• Sensor de nível;

• Sensor de energia eléctrica.

2.5.3.1 Sensores de temperatura

A medição da temperatura em vários pontos de um sistema é crucial para o estudo dos be-
nefícios que o PCM poderá trazer. Dadas as condições em que o sistema poderá estar, será
necessário que este seja compatível em uma vasta gama de temperaturas, e que seja de

25
CA P Í T U LO 2 . R E V I SÃO DA L I T E R AT U R A E F U N DA M E N TO S T E C N O LÓ G I CO S

alguma maneira á prova de água. Adicionalmente, será benéfico se estes sensores possuí-
rem um, ou mais, protocolos de comunicação, sendo estes one-wire, I2C, Serial Peripheral
Interface (SPI) ou qualquer forma de comunicação wireless.
De entre os diversos tipos de sensores de temperatura é possível destacar três, sendo
estes: termistor, termopar e o Resistance Temperature Detector (RTD) ou em português
detector de temperatura por resistência.
O termistor é um dispositivo semi-condutor com uma ligação de 2 fios, estes sen-
sores têm como funcionamento básico a variação da sua resistência interna em função
da temperatura. Dentro desta categoria de sensores existem duas classes, os NTC e os
PTC. Os sensores NTC estão associados à diminuição da sua resistência em função do
aumento da temperatura e os PTC estão associados ao aumento da resistência em função
do aumento da temperatura. Por fim, este sensores são bastante utilizados devido à sua
elevada estabilidade e precisão associadas as suas dimensões e preços reduzidos.
De seguida tem-se os sensores de temperatura do tipo termopar, estes são compostos
pela junção de dois metais diferentes, que devido ao efeito de Seebeck geram uma diferença
de potencial entre os mesmos. É possível, com este tipo de sensores, medir uma variada
gama de temperaturas ao alterar o tipo de junção, ou seja, alterar os tipos de metais que
constituem a mesma.
Por último, tem-se os sensores de temperatura RTD que à semelhança do termistor
variam a sua resistência em função da variação de temperatura. No entanto, estes não são
um semi-condutor, mas sim uma termo-resistência composta normalmente por platina
ou níquel. Um exemplo bastante conhecido de um sensor RTD é a famosa PT-100, sendo
esta uma termo-resistência de platina que apresenta uma resistência de 100Ω a 0°C.
Posto isto, foi possível encontrar dados sobre dois sensores, presentes na tabela 2.9,
que se adequam as especificações, sendo estas: a capacidade de medir uma vasta gama de
temperaturas, possuir algum tipo de protocolo de comunicação e a capacidade de ser à
prova de água.

Tabela 2.9: Sensores de temperatura.

Sensor DS18B20 [31] MNS-9-W1-TS-WT-L03 [32]


Gama (ºC) -55ºC a 125ºC -40ºC a 125ºC
Comunicação 1-wire Rádio frequência
À prova de água Sim Sim
Preço (€) ≈8€ ≈60€

2.5.3.2 Sensores de nível

Como o nome indica, este sensor tem como função medir o nível de um certo liquido,
garantindo assim que o sistema poderá trabalhar com a quantidade adequada de fluido.
Estes sensores podem ser divididos em duas classes: medição continua ou medição dis-
creta. Medição continua indica continuamente o nível do fluido enquanto este sobe e

26
2.5. INTERNET OF THINGS PARA A MONITORIZAÇÃO INTEGRADA DE SISTEMAS

desce, por outro lado, medição discreta indica quando um fluido está em certos pontos
definidos (e.g. máximo, metade e mínimo). Existem vários tipos de sensores disponíveis,
sendo estes os mais comuns:

• Ópticos;

• Ultra sónicos;

• Flutuantes;

• Capacitivos;

• Resistivos.

Devido à construção do equipamento descrito no capitulo 3.1, será difícil de equipar


este tipo de sensor, no entanto, foi possível encontrar alguns dados sobre um sensor que
poderá ser utilizado. Este sensor é o NC57, produzido por FISCHER Messtechnik [33],
custando aproximadamente 200€. Este é um sensor discreto, fazendo apenas medidas
em pontos específicos.

2.5.3.3 Sensor de energia eléctrica

A medição de energia eléctrica é também um factor bastante importante, pois é neces-


sário verificar se a eficiência do sistema melhora com a introdução de PCM. Para tal, é
necessário um módulo que tenha a capacidade de medir no mínimo potência activa (P),
factor de potência, frequência e valores RMS de tensão e corrente. Após alguma pesquisa,
foi possível encontrar os módulos presentes na tabela 2.10.

Tabela 2.10: Módulos medição de energia eléctrica.

Sensor MSP430AFE2x3 [34] 78M6613 [35] ACS71020 [36]


Fabricante Texas Instruments Maxim Integrated Allegro Micro
Tensão e corrente RMS Sim Sim Sim
Potência(S,Q,P)* Sim Sim Sim
Fator de potência Sim Sim Sim
Frequência Sim Sim Sim
Comunicação UART/SPI UART SPI/I2C
Preço (€) ≈5€ N /a ≈5€
Podem ser necessários componentes adicionais.
*Potência(S,Q,P): Aparente; Reativa e Ativa respetivamente.

27
Capítulo
3
P r o j e t o da A r q u i t e t u r a e I m p l e m e n taç ão d o
S i s t e m a d e Mo n i t o r i z aç ão pa r a P CM

Neste capítulo, primeiramente, é abordado o equipamento que se pretende equipar com


PCM e consequentemente monitorizar o seu funcionamento. Seguidamente, é abordada
a arquitetura do sistema, onde são explicadas todas as características, especificações e
decisões tomadas referentes à mesma, visto ser fulcral para a implementação de qualquer
projeto. Na secção referente ao módulo de sensores, são apresentados os conceitos chave
e parâmetros de funcionamento deste módulo, bem como os seus constituintes como o
módulo de monitorização de potência e temperatura onde serão identificados os recursos
que estão ao ser dispor e o dimensionamento necessário para o bom funcionamento dos
mesmos.
Na secção relativa ao módulo de aquisição de dados, são apresentadas as característi-
cas chave do módulo, seguida de uma explicação, de forma generalizada, do seu funcio-
namento. Nas restantes secções, são abordados genericamente, os pontos fundamentais
e as escolhas realizadas referentes ao módulo de comunicação e à escolha da plataforma
IoT, bem como, uma breve explicação do funcionamento dos mesmos.

3.1 Equipamento a utilizar


De maneira a obter dados experimentais válidos é necessário criar um cenário de testes,
onde seja possível aplicar os conceitos estudados nos capítulos anteriores. Para tal, ir-se-á
utilizar um equipamento industrial pertence à área da restauração, pois este, possui um
funcionamento adequado ao teste de PCMs.
Este equipamento trata-se de uma chocolateira industrial, Figura 3.1, da marca Campe-
ona [37] que faz uso de um de painel de aquecimento (método indireto) para confecionar o
chocolate, sendo bastante fácil a introdução de PCM no mesmo. O painel de aquecimento

29
CA P Í T U LO 3 . P R O J E TO DA A R QU I T E T U R A E I M P L E M E N TAÇÃO D O S I S T E M A
D E M O N I TO R I Z AÇÃO PA R A P CM

recorre à utilização de um liquido, nomeadamente água, para se aquecer de forma lenta,


indireta e uniforme uma dada substância até uma temperatura definida.

Figura 3.1: Equipamento a utilizar - Chocolateira industrial.

Após uma análise do funcionamento deste equipamento, foi possível determinar que
o mesmo é composto por:

1. Termostato, responsável pelo controlo de temperatura;

2. Elemento elétrico de aquecimento, responsável pelo aquecimento da água utilizada


no painel de aquecimento;

3. Cuba em contacto com água, de modo a aquecer a substância.

De maneira a estudar o efeito que os PCM poderão ter na eficiência energética deste sis-
tema, pretende-se introduzir sensores de temperatura no compartimento onde estará a
água utilizada no painel de aquecimento, na cuba de aquecimento, no exterior do equi-
pamento e monitorizar a potência elétrica que este sistema consome. Após completar os
testes de controlo, pretende-se substituir a água utilizada no painel de aquecimento por
um PCM e proceder a mais testes. No diagrama 3.2, é possível observar, com recurso a
um diagrama de blocos o funcionamento do equipamento que se pretende utilizar

Condições exteriores
Temperatura
desejada Controlo e.g. Elemento de
Sistema
termostato aquecimento

Temperatura
do sistema

Figura 3.2: Diagrama de blocos do equipamento

30
3 . 2 . A R QU I T E T U R A D O S I S T E M A

3.2 Arquitetura do Sistema

Nesta dissertação é proposto o desenvolvimento e implementação de um nó IoT multisen-


sor, mais concretamente de um sistema com a capacidade de recolher, processar, exibir
e armazenar dados provenientes de diversas fontes em tempo real para uma plataforma
IoT. Apesar de se conhecer o equipamento a monitorizar anteriormente ao desenvolvi-
mento desta arquitetura, pretende-se que a mesma seja de fácil aplicação a um diverso
conjunto de máquinas e equipamentos, posto isto, é necessário criar uma arquitetura que
seja modular e reconfigurável.
Para cumprir as especificações descritas é necessário dividir a arquitetura em secções
cada uma com uma função especifica. Ao fazer esta divisão será fácil garantir a modu-
laridade e a configurabilidade do sistema, restando assim a escolha das funções destas
diferentes secções.
Para este sistema em concreto onde se pretende recolher, processar, enviar e armazenar
dados serão necessárias quatro secções (figura 3.3), sendo estas, o módulo de aquisição de
dados, o módulos de sensores, o módulo de comunicação e por fim o módulo IoT que irá
representar a plataforma IoT e todos os seus serviços.

Módulo de
Módulo de Módulo IoT
Módulos de sensores Aquisição de Dados Comunicação

Power Meter

Figura 3.3: Arquitetura do sistema.

Como módulo de mais baixo nível temos o módulo de sensores, onde é feita a interface
com o equipamento a monitorizar e a recolha de dados físicos para o meio digital. Este
será o modulo que mais alterações vai sofrer conforme o equipamento que se pretende
monitorizar, visto que, cada equipamento terá um grupo de características e pontos críti-
cos diferentes que se pretendem observar, fazendo assim com que os sensores necessários
variem consideravelmente. Em seguida, temos o módulo de aquisição de dados, onde é
feita a interface e recolha dos dados provenientes dos sensores presentes no módulo des-
crito anteriormente, caso seja necessário algum processamento de dados o MCU presente
neste módulo estará encarregue dessa tarefa.
Ao fazer a divisão desta maneira será também possível agrupar os módulos de sen-
sores ao modulo de aquisição de dados numa camada superior, criando assim, o modulo
de monitorização. Com este modulo é então possível fazer um sistema altamente versá-
til, onde é possível recolher e transmitir dados de inúmeros módulos de monitorização
em simultâneo. Adicionalmente, ao agrupar o módulo de monitorização ao modulo de
comunicação obtém-se então o Nó IoT como se pode ver na figura 3.4.

31
CA P Í T U LO 3 . P R O J E TO DA A R QU I T E T U R A E I M P L E M E N TAÇÃO D O S I S T E M A
D E M O N I TO R I Z AÇÃO PA R A P CM

Nó IoT

Módulo de
monitorização

Módulo de Módulo IoT


Comunicação

Módulo de
monitorização

Figura 3.4: Arquitetura do sistema, agrupamento de módulos.

Por último, o módulo IoT que representa a plataforma e os seus serviços tem a capaci-
dade de receber dados de inúmeros nós IoT, fazendo então com que seja fácil implementar
um sistema sobre uma área de grandes dimensões. No entanto, ao tentar implementar
este sistema sobre uma grande área existe um problema que se torna evidente, sendo
este, a comunicação entre o nó IoT e plataforma IoT. Posto isto, ao equipar o nó IoT com
módulos de comunicação com diferentes métodos de comunicação, com ou sem fios, é
possível colmatar esta falha fazendo assim com que o sistema seja facilmente aplicável a
virtualmente qualquer ambiente. Na seguinte figura 3.5, é possível observar um exemplo
onde três nós IoT estabelecem uma conexão com a plataforma utilizando diferentes tipos
de comunicação, neste caso, Wi-Fi, Ethernet e por último 5G.

Nó IoT

Nó IoT Módulo IoT

Nó IoT

Figura 3.5: Arquitetura do sistema diferentes comunicações.

32
3 . 3 . M Ó D U LO D E S E N S O R E S

3.3 Módulo de sensores


Como um dos elementos mais simples deste sistema temos o sensor. O sensor tem como
seu funcionamento básico a produção de um sinal de uma maneira especifica, normal-
mente em tensão, correspondente a um estimulo físico, químico ou biológico. Este sinal é
então processado de maneira a corresponder a uma grandeza física para fins de medição
e ou de monitorização. De acordo com o sistema descrito em 3.1, as principais grandezas
que se pretendem monitorizar são a temperatura, seja esta, ambiente ou intrínseca ao
funcionamento do equipamento e o consumo energético do mesmo.

3.3.1 Medição de temperatura


Para efetuar medições de temperatura foi selecionado o sensor digital DS18B20 descrito
na subsecção 2.5.3.1, pois este suporta uma elevada gama de temperaturas e tem a ca-
pacidade de enviar e receber informação proveniente do microcontrolador através de
comunicação One-Wire.
Este sensor além de possuir as características acima descritas fornece uma leitura de
temperatura entre 9bits a 12bits, sendo esta programável de acordo com os requisitos
necessários, é de notar que com o aumento da resolução de medida advém também um
maior tempo de conversão AD, chegando a 750ms na resolução mais elevada. Possui
também funções de alarme de excesso e/ou insuficiência de temperatura com recurso a
memória não volátil programável pelo utilizador, um numero de série de 64bits fazendo
com que se possam ter múltiplos dispositivos no mesmo barramento de dados One-wire
e por último a capacidade de funcionar com fonte de alimentação ou em modo parasita1
[31].

3.3.1.1 Implementação

Atendendo ao facto de que para os sistemas a monitorizar a não existe a necessidade de ter
um numero relativamente elevado de sensores, decidiu-se então, utilizar os sensores em
modo "single-drop", sendo que este modo consiste em ter uma linha de dados para cada
sensor. Na figura 3.6 é possível observar o esquema de ligação entre o sensor DS18B20 e
um MCU, utilizando o modo "single-drop" com fonte de alimentação.
Posto isto, deixa de ser necessário a utilização de um algoritmo de pesquisa e arma-
zenamento de números de serie presentes no barramento de dados One-wire, pois este
sensor tem a possibilidade de receber comandos que não sejam endereçados a um sensor
especifico, utilizando o comando "Skip rom - (CC)h " presente no datasheet [31], seguido
do comando que se pretende utilizar, e.g. a ordem de conversão de temperatura.

1 Modo onde o sensor deriva a própria alimentação da linha de comunicação, eliminando assim a necessi-
dade de uma fonte de alimentação externa.

33
CA P Í T U LO 3 . P R O J E TO DA A R QU I T E T U R A E I M P L E M E N TAÇÃO D O S I S T E M A
D E M O N I TO R I Z AÇÃO PA R A P CM

Vcc

1
Vcc
DS18B20

MCU
Rp 4.7kΩ
Vcc Data Gnd
1 2 3

2
Data
3 Gnd
Gnd

Figura 3.6: Ligação entre o sensor e o Microcontrolador em modo Single-drop.

Após definidas as condições de funcionamento resta então fazer a implementação dos


sensores no MCU escolhido. Visto que o MCU é um PSoC 5Lp, descrito em 2.5.1.3, ir-se-á
utilizar o IDE PSoC Creator onde é possível importar blocos com funções pré-programadas.
Sendo que o comportamento destes blocos depois de ativos se assemelha à utilização de
uma biblioteca de programação. Na figura 3.7 é possível observar um bloco DS18B20
com quatro terminais, cada um associado a um sensor de temperatura, com a função de
realizar a interface com os respetivos sensores através de One-wire.

Figura 3.7: Implementação de sensores DS18B20 com recurso a um bloco de interface


pré-programado.

Atendendo ao datasheet [38] do bloco utilizado e ao respetivo fluxograma representado


na figura 3.8 é possível ver que o seu funcionamento é composto por 4 fases.
Na fase inicial o bloco encontra-se preparado. Caso se pretenda fazer uma medição
de temperatura é efetuado um pedido de dados, após este pedido ocorre um período de
espera de 750ms para que os sensores acabem a conversão de temperatura, é de notar que
este período de espera é não bloqueante fazendo com que o MCU continue com o seu
funcionamento. Decorridos os 750ms é ativada uma flag com o nome de "_DataReady"
sinalizando que os dados estão preparados para serem recolhidos.
Por fim utilizando o código exemplo presente na listagem 3.1 é possível efetuar medi-
ções utilizando os quatro sensores presentes.

34
3 . 3 . M Ó D U LO D E S E N S O R E S

Sensores preparados

Não
Pedido de dados

Sim

Interrupt
_DataReady

Sim

Leitura de dados

Figura 3.8: Fluxograma referente ao funcionamento do bloco utilizado para fazer a inter-
face com os sensores DS18B20.

Utilizando a função DS18B20_SendT emperatureRequest() é possível enviar um pe-


dido de conversão a todos os sensores conectados ao bloco. Após isto resta apenas esperar
que os dados estejam preparados utilizando a flag DS18B20_DataReady e recolher os mes-
mos utilizando DS18B20_ReadT emperature() e DS18B20_GetT emperatureAsFloat().

Listagem 3.1: Exemplo de medição de temperaturas.


1 #include"project.h"
2 float T1 ,T2 ,T3 ,T4 = 0; // Variaveis globais
3
4 int main(void ){
5 CyGlobalIntEnable ; // Interrupts globais
6 DS18B20_Start (); // Ativar bloco DS18B20
7 for (;;) // loop principal
8 {
9 DS18B20_SendTemperatureRequest ();
10 while (! DS18B20_DataReady ){}
11 DS18B20_ReadTemperature ();
12 T1 = DS18B20_GetTemperatureAsFloat (0);
13 T2 = DS18B20_GetTemperatureAsFloat (1);
14 T3 = DS18B20_GetTemperatureAsFloat (2);
15 T4 = DS18B20_GetTemperatureAsFloat (3);
16 }
17 }

3.3.2 Módulo de monitorização de potência


Como uma das características mais importantes a monitorizar, senão a mais importante,
temos a potência consumida pelo equipamento. Sendo assim, é necessário arranjar uma

35
CA P Í T U LO 3 . P R O J E TO DA A R QU I T E T U R A E I M P L E M E N TAÇÃO D O S I S T E M A
D E M O N I TO R I Z AÇÃO PA R A P CM

solução simples, efetiva e de baixo custo com a capacidade de monitorizar no mínimo ten-
são, corrente e fator de potência, grandezas estas que podem ser posteriormente utilizadas
para calcular a potência consumida pelo equipamento.
Adicionalmente funções como, medição automática de potência ativa, aparente, rea-
tiva e frequência, bem como, protocolos de comunicação I2C ou SPI são chave para um
sistema de monitorização eficiente.
Para tal, foi escolhido o Integrated Circuit (IC) ACS71020 descrito em 2.5.3.3, visto que,
este possui todas as características supracitadas. Além do mais são necessários pouquís-
simos componentes externos, a gama de correntes suportadas é bastante ampla e os pro-
tocolos de comunicação são adequados a este tipo de sistemas, fazendo então com que a
solução final seja de baixo custo e com a possibilidade de ter dimensões físicas reduzidas.
O ACS71020 é um IC de monitorização de potência de 16bits equipado com uma
Electrically-Erasable Programmable Read-Only Memory (EEPROM) programável pelo utili-
zador, um condutor primário de 0.85mΩ de modo a reduzir as perdas por efeito de joule
e isolamento reforçado até 517V rms, certificado pela Underwriters Laboratories (UL).
Este IC, representado no diagrama de blocos presenta na figura 3.9, utiliza tecnologia
de medição de corrente em modo diferencial com isolamento galvânico baseada em efeito
de Hall. Estas características fazem com que o IC não só, tenha a capacidade de rejeitar
erros introduzidos por campos magnéticos em modo comum, mas também evite o uso de
componentes caros e de dimensões elevadas como bobinas de rogowski, transformadores
de corrente, OpAmp’s isolados ou a perda de energia em resistências shunt.
Para efetuar uma medição de tensão este IC recorre ao uso de um divisor de tensão,
de modo a reduzir a tensão de entrada nos pinos V inp e V inn a um máximo de 275mV .
Após reduzida a tensão à entrada do IC é feita a polarização da entrada V inn para que
posteriormente se possa medir a diferença de potencial entre as duas entradas recorrendo
ao uso de amplificadores de instrumentação.

Figura 3.9: Diagrama de blocos funcional referente ao ic ACS71020.

36
3 . 3 . M Ó D U LO D E S E N S O R E S

Observa-se também na figura 3.9 que as duas medições analógicas são convertidas
para o domino analógico por via de dois ADC’s e introduzidas no bloco Metrology Engine.
Este bloco tem como função a correção e compensação, devido a fenómenos térmicos, de
ambas as medidas de acordo com os dados fornecidos pelo bloco Temperature Compensa-
tion Logic. Após corrigidas as medições estas encontram-se prontas a serem utilizadas nos
restantes cálculos e guardadas em registos que podem ser lidos pelo utilizador.

3.3.2.1 Implementação

De modo a efetuar medições de tensão eficaz é necessário recorrer a um divisor de tensão


de modo a limitar a tensão de entrada para um valor máximo de 275mV . Para tal foi
utilizado o esquema aconselhado no datasheet presente na figura 3.10 . De acordo com
[39] é aconselhado deixar uma margem de 40% da escala total, fazendo assim com que a
queda de tensão aconselhada na resistência de medição seja de aproximadamente 165mV .

R1 R2
Fase V inp
1MΩ 1MΩ

Rsense

R3 R4
Neutro V inn
1MΩ 1MΩ

Figura 3.10: Divisor de tensão para leitura de tensão utilizando ACS71020.

Desenvolvendo a equação 3.1, referente ao divisor de tensão, é possível obter um valor


aproximado da resistência Rsense a ser utilizada. Onde Vsense é a queda de tensão desejada
na resistência Rsense e Vin é o valor de pico da tensão proveniente da rede que se pretende
medir.

Rsense
Vsense = ·v (3.1)
Rsense + (R1 + R2 + R3 + R4 ) in
Como R1 , R2 , R3 e R4 são conhecidas podem ser agrupadas, fazendo RT = R1 + R2 + R3 + R4
obtém-se:
Rsense
Vsense = ·v (3.2)
Rsense + RT in
Desenvolvendo a expressão em ordem a Rsense obtém-se a seguinte expressão:

Vsense · RT
Rsense = (3.3)
vin + Vsense

Sabendo que se deve deixar uma margem de 40% da escala total pode-se calcular então
Vsense que será por sua vez os restantes 60%, Vin e RT são também valores conhecidos

37
CA P Í T U LO 3 . P R O J E TO DA A R QU I T E T U R A E I M P L E M E N TAÇÃO D O S I S T E M A
D E M O N I TO R I Z AÇÃO PA R A P CM

sendo estes valor de pico da tensão da rede de baixa tensão e a soma das restantes resis-
tências presentes no circuito.

−3 −3
Vsense = 0, 6 · 275 · 10 = 165, 6 × 10 V




 √
(3.4)

Vin = 2 · 230V



R = 4 × 106 Ω


T

Posto isto é então possível substituir os valores conhecidos de modo a obter o valor da
resistência Rsense :

165, 6 × 10−3 · 4 × 106


Rsense = √ = 2035, 43Ω (3.5)
2 · 230 + 165, 6 × 10−3
Visto que o valor da resistência Rsense não deve ser superior a 2035, 43Ω, pois uma re-
sistência de um valor superior se traduz numa maior queda de tensão em Vsense , escolheu-
se como valor a utilizar 2000, 0Ω sendo este um valor mais comum, que por sua vez se
traduz numa maior facilidade de se adquirir.
Agora que a resistência de sense se encontra dimensionada é necessário calcular o
valor de pico máximo de tensão que se pode medir e o pico máximo de potência ativa que
este IC suporta. Estes valores são necessários, pois o IC não retorna valores concretos das
medições que efetua, mas sim valores referentes a um fator de escala da grandeza que
está a medir.
Utilizando assim a equação 3.2, resolvendo a mesma em ordem vin_max e substituindo
Vsense por os 275mV , mencionado anteriormente é possível calcular o pico de tensão
máxima que se pode medir com este IC.

4 × 106
! !
RT −3
vin_max = Vsense · 1 + = 275 × 10 · 1 + = 550, 275V (3.6)
Rsense 2 × 103
Sabendo que o IC que foi adquirido tem um limite de 30A(Ipr ) de medição, e pos-
suindo agora o valor de pico da tensão máxima que o mesmo é capaz de medir é então
possível calcular o pico máximo de potência ativa, utilizando a formula da potência 3.6.

Pmax = vin_max · Ipr = 550, 275 · 30 = 16508, 25W (3.7)

Após definidos os parâmetros de funcionamento e calculados os dados necessários é


necessário realizar a interface entre o sensor e o MCU. Para tal é necessário importar o
bloco referente ao protocolo de comunicação SPI presente na figura 3.11, sendo que neste
caso é necessário um master com um nível lógico de 3, 3V , pois o IC que foi adquirido não
é tolerante a 5V . De maneira a conseguir um nível lógico de 3, 3V foi utilizado em DAC
de tensão, configurado para essa mesma tensão, conectado aos pinos de saída escolhidos
para a comunicação SPI.
Por último é necessário configurar o bloco de SPI para um modo compatível com o
IC, para tal é necessário o modo onde a fase de Clock (CLK) e a polaridade de CLK são

38
3 . 3 . M Ó D U LO D E S E N S O R E S

Figura 3.11: Bloco de comunicação SPI com tensão de referencia de 3,3V gerada por DAC
de tensão.

iguais a 1 com uma frequência compreendida entre 1MHz e 10MHz com 8bits de dados
em formato Least Significant Bit (LSB).
Estando agora todas as configurações feitas resta então realizar uma leitura de dados
do IC. De maneira a efetuar a leitura de um registo presente no IC basta enviar recorrendo
as funções pertencentes ao bloco de SPI, o endereço do registo em questão alterando o
bit mais significativo para 1 ou 0 caso se pretenda uma leitura ou escrita respetivamente,
sendo necessário a função "SP IM_1_W riteT xData(Address)".
Feito o pedido de leitura o IC ira retornar uma resposta de 32bits, pela linha MISO,
com o conteúdo do registo que se pretende ler, para se efetuar a leitura desta resposta
é necessário criar uma rotina que faça quatro leituras consecutivas de 8bits, de modo a
perfazer 32bits lidos, utilizando a seguinte função "SP IM_1_ReadRxData()". Na seguinte
tabela 3.1 é possível observar os registos referentes as leituras de tensão e corrente RMS,
bem como as potências, o fator de potência, o tipo de valor que se pode obter e o fator de
escala.
Tabela 3.1: Registos do ic ACS71020, grandezas correspondentes e fator de escala

Grandeza Endereço Tipo Intervalo Factor de escala


Tensão 0x20 15bits fracionários sem sinal [0; ∼1[ vin_max
Corrente 0x20 15bits sem sinal com 14 bits fracionários [0; ∼2[ Ipr
Potência Activa 0x21 17bits com sinal com 15 bits fracionários [-2-, 2[ Pmax
Potência Aparente 0x22 16bits sem sinal com 15 bits fracionários [0; 2[ Pmax
Potência Reactiva 0x23 16bits sem sinal com 15 bits fracionários [0; 2[ Pmax
Factor de Potência 0x24 11bits com sinal com 9 bits fracionários [-2; 2[ N/A

39
CA P Í T U LO 3 . P R O J E TO DA A R QU I T E T U R A E I M P L E M E N TAÇÃO D O S I S T E M A
D E M O N I TO R I Z AÇÃO PA R A P CM

3.4 Módulo de aquisição de dados


O módulo de aquisição de dados tem como função fazer a interface com os sensores que a
ele estão ligados e recolher dados provenientes dos mesmos, para posteriormente serem
processados e recolhidos pelo módulo de comunicação.
Visto que este modulo estará apenas encarregue de recolher e processar dados é neces-
sário fazer a escolha de um MCU com algum poder de processamento e boas ferramentas
de hardware e software ao seu dispor. Porem características como Wi-Fi e Bluetooth, bem
como capacidade de captura e processamento de vídeo, vêm-se como desnecessárias de-
vido à função primária deste módulo e ao facto de esta solução ainda se encontrar numa
fase de prototipagem.
Na subsecção seguinte ir-se-á mais ao detalhe sobre da escolha do MCU que melhor
se adequa, não só pelas suas funções, mas também pelo seu fator custo/beneficio e sobre
o funcionamento do módulo como um todo.

3.4.1 Escolha do MCU

Atendendo aos MCU’s presentes na subsecção 2.5.1.5 determinou-se que o Raspberry Pi


3B+ não é adequado para pertencer a este bloco visto que, o seu consumo de potência é
elevado comparativamente aos outros MCU’s, o seu custo base é o mais elevado de todos
os MCU’s presentes e não possui ADC’s, fazendo com que a sua implementação seja mais
difícil resultando num custo final mais elevado.
Apesar de o MCU ESP32 possuir todas as capacidades necessárias para fazer as fun-
ções não só do módulo de aquisição de dados, bem como simultaneamente, fazer as fun-
ções do módulo de comunicação, decidiu-se que o ESP32 seria apenas utilizado no módulo
de comunicações resultando assim numa arquitetura mais versátil como foi explicitado
anteriormente.
Restando dois MCU’s na tabela 2.8 é necessário fazer uma comparação mais detalhada,
de modo a escolher o MCU que melhor se adequa tantos as necessidades presentes do
módulo de aquisição de dados bem como as necessidades futuras e os possíveis sensores
com que poderá vir a fazer interface com.
Primeiramente tem-se o Arduíno Uno, esta placa de desenvolvimento open-source
está equipada com um MCU de 8bits, com uma frequência de funcionamento até 16MHz
possuindo também, 32KB de memória programável um módulo de comunicação Universal
Asynchronous Receiver-Transmitter (UART), dois módulos de comunicação SPI e I2C e por
fim um ADC de 10bits e seis canais.
Em segundo tem-se o PSoC 5Lp, esta placa de desenvolvimento faz uso de um proces-
sador de 32bits Arm Cortex-M3 com uma frequência até 80MHz, tem a capacidade de
ter ate 6 níveis de tensão interna, 256KB de memória programável, um ADC Sigma-Delta
de 20bits e um ADC SAR de 12bits, uma corrente de 2µA em modo sleep e de 300nA em
modo de hibernação e por último a capacidade de se importar múltiplos blocos SPI e I2C

40
3 . 4 . M Ó D U LO D E AQU I S I ÇÃO D E DA D O S

em simultâneo e em diferentes modos, quer sejam, master ou slave.


Esta ultima característica é bastante importante pois pretende-se, numa fase mais
avançada do projeto que existam vários módulos de monitorização ligados a apenas um
módulo de comunicação, fazendo assim com que seja necessário efetuar uma comunicação
I2C slave com o módulo de comunicação e uma possível comunicação I2C master os
módulos de sensores. Atendendo as estas características e à fase do projeto, o Arduíno
Uno encontra-se como uma opção bastante viável no entanto, o facto de apenas ter um
módulo de comunicação I2C e o seu preço ser superior, por um fator de 2, ao do PSoC
5Lp faz com que a melhor placa de desenvolvimento a ser utilizada, do ponto de vista
técnico e monetário, seja o PSoC 5Lp.

3.4.2 Implementação

Nesta subsecção pretende-se explicitar apenas o funcionamento do modulo de aquisição


de dados e as interações pretendidas com o módulo de comunicação, visto que, o funci-
onamento do modulo de aquisição de dados com os módulos de sensores já se encontra
abrangido nas secções anteriores.
Atendendo às características da arquitetura que se pretendem implementar será neces-
sário um protocolo de comunicação endereçável, bidirecional e simples de implementar.
Para tal, foi decidido que a comunicação que mais se adequava seria a comunicação I2C,
pois esta tem uma grande vantagem relativamente à alternativa a comunicação SPI, sendo
esta vantagem o método de endereçamento dos dispositivos.
No caso da comunicação SPI o endereçamento é feito utilizando o sinal de Chip-Select
(CS) onde é apenas ativado 1bit endereçando apenas um dispositivo, isto significa que
serão necessários tantos sinais de CS quanto o numero de dispositivos no barramento SPI.
Em contrapartida, na comunicação I2C o endereçamento é feito a partir do barramento
de dados, Serial Data (SDA), onde o primeiro byte a ser enviado no barramento contem
o endereço de 7bits do dispositivo alvo mais 1bit sinalizando se a comunicação que se
pretende efetuar é uma leitura ou uma escrita. Por último, ao possuir um endereço de
7bits em teoria é possível ter até 127 dispositivos em apenas uma linha I2C. Posto isto,
resta então importar o bloco presente no PSoC responsável pela comunicação I2C como
se pode observar na figura 3.12.

Figura 3.12: Bloco I2C slave presente no PSoC 5Lp.

41
CA P Í T U LO 3 . P R O J E TO DA A R QU I T E T U R A E I M P L E M E N TAÇÃO D O S I S T E M A
D E M O N I TO R I Z AÇÃO PA R A P CM

Após configurar o endereço ao qual este módulo irá responder será necessário inici-
alizar dois buffers um para o envio e outro para a receção de dados e por fim, conectar
as linhas SDA e Serial Clock (SCL) a dois pinos bidirecionais, configurados em modo de
coletor aberto de maneira a fazer drive de ambas as linhas a ground sinalizando assim
1bit.

Configurada a comunicação I2C é necessário programar o comportamento deste mó-


dulo de aquisição de dados para que consoante o comando recebido, proveniente do
modulo de comunicação, efetue e armazene medições dos diferentes sensores para pos-
teriormente serem solicitados pelo modulo de comunicação. No fluxograma presente na
figura 3.13 é possível observar o funcionamento base do modulo de aquisição de dados.

Início

Escrita I2C
Master-Slave Leitura I2C
Slave-Master

Sim Envia os dados presentes


Efetua medição de Comando = "X" no buffer de resposta ao
temperatura e potência
master

Não

Comando = "l", "k", "j", Não


"p", "c", "v", "i"

Sim
Introduz os dados
correspondentes ao comando no
buffer de resposta I2C

Fim

Figura 3.13: Fluxograma referente ao comportamento do módulo de aquisição de dados.

Este fluxograma primeiramente encontra-se em um estado de espera até que se efetue


uma escrita ou uma leitura, no caso de se receber o comando ”x” ir-se-á efetuar uma medi-
ção de todos os sensores presentes, caso se receba outro comando irá introduzir os dados
no buffer de envio de dados, ou simplesmente ignorar se o comando não for reconhecido.
Ao receber um pedido de leitura serão enviados os dados previamente introduzidos no
buffer.

42
3 . 5 . M Ó D U LO D E COM U N I CAÇÃO

3.5 Módulo de comunicação


O módulo de comunicação tem como função coletar os dados recolhidos pelos módulos
de monitorização presentes no sistema, para posteriormente serem enviados para uma
plataforma IoT, de modo a serem armazenados e exibidos de uma forma simplificada.
Sendo assim, de grosso modo, o módulo de comunicação é uma ”ponte” entre os módulos
de monitorização e a plataforma IoT devido ao facto de apenas coletar informação e enviar
essa mesma informação através de um protocolo de mensagens web para a plataforma
escolhida.
Para realizar esta função foi escolhido o MCU ESP32, visto que este tem uma maior
facilidade de integração e programação, graças as funcionalidades de Wi-Fi e Bluetooth
incluídas e a capacidade de utilizar como ambiente de programação o IDE Arduíno, sendo
possível a compilação e programação do MCU através da porta USB. Adicionalmente, o
custo deste MCU é substâncialmente menor que o custo do Arduíno e a sua performance
superior.

3.5.1 Implementação

Atendendo à especificação de que a comunicação entre o módulo de aquisição de dados


e o módulo de comunicação deve ser I2C, recorreu-se à biblioteca ”Wire.h” que permite
a declaração de pinos I/O a serem utilizados na comunicação, nomeadamente SDA e
SCL e a alteração da frequência de clock presente na linha de SCL. Posto isto, resta a
criação de algumas rotinas com as funções de escrita e leitura I2C, de maneira a que a
implementação de rotinas de maior dimensão e complexidade seja simplificada.
Na listagem 3.2 é possível observar duas rotinas, sendo que a primeira tem como
função a escrita de informação para um dispositivo I2C slave e a segunda tem como
função a leitura de dados. Estas rotinas utilizam funções como Wire.beginTransmission(),
Wire.write(), Wire.requestFrom(,), Wire.available() e Wire.endTransmission() para começar
uma transmissão, escrever, fazer um pedido de leitura, verificar se existe atividade por
parte de um slave e terminar a transmissão respetivamente.

Listagem 3.2: Rotinas de escrita e leitura I2c.


1 // escrita de um carácter master -slave
2 static void Data_Write(char f, int addr ){
3 Wire. beginTransmission (addr );
4 Wire.write(f);
5 Wire. endTransmission ();}
6 // leitura de dados slave -master
7 static void Data_Read(int addr ){
8 Wire.requestFrom(addr ,5);
9 while( Wire.available () ){
10 x = Wire.read ();
11 response += x;}}

43
CA P Í T U LO 3 . P R O J E TO DA A R QU I T E T U R A E I M P L E M E N TAÇÃO D O S I S T E M A
D E M O N I TO R I Z AÇÃO PA R A P CM

A interação entre do módulo de comunicação e a plataforma IoT será feita através de


um protocolo de mensagens web, neste caso MQ Telemetry Transport (MQTT) operando
sobre Wi-Fi, de maneira a tomar partido das funcionalidades presentes no MCU ESP32.
Visto que a plataforma a utilizar será a plataforma Azure for IoT, recorreu-se a uma
biblioteca especifica para o ESP32 onde os protocolos de comunicação necessários já se
encontram configurados, de modo a estabelecer uma conexão com a plataforma de uma
forma rápida e segura.
Para estabelecer a ligação entre o módulo e a plataforma é apenas necessário utilizar
uma rotina de conexão pertencente à biblioteca, introduzindo na mesma a chave única de
conexão à plataforma e o ID único associado a essa chave, que se encontram disponíveis
na listagem de dispositivos autorizados na plataforma. Após estabelecida a conexão basta
organizar os dados provenientes do módulo de monitorização num formato aceite pela
plataforma, seja este JavaScript Object Notation (JSON) ou Comma-separated values (CSV)
e fazer o envio dos mesmos através de uma outra rotina pertencente à biblioteca.
Estando definidas e configuradas as funcionalidades básicas do módulo de comunica-
ção é necessário definir o comportamento do módulo como um todo para que este realize
a sua função. Para tal, recorre-se ao uso de um fluxograma presenta na figura 3.14 para
definir o seu comportamento.

Escrita I2C do
Início
comando 'x'

Tentativa de
Periodo de espera
conexão Wi-fi

Conexão Escrita I2C de um


Wi-Fi ? comando e leitura
Não do valor medido

Sim

Envio dos
Tentativa de conexão
dados atraves de
MQTT a AzureIoT
MQTT

Conexão Sim
MQTT ? Periodo de espera
Não

Figura 3.14: Fluxograma do funcionamento do módulo de comunicação.

44
3 . 6 . P L ATA FO R M A I O T

No fluxograma tem-se o comportamento desejado para o módulo de comunicação.


Partindo do inicio o módulo tem de assegurar que possui uma conexão sólida à Internet
através de Wi-Fi, após conectado à Internet é necessário estabelecer uma ligação através
de MQTT à plataforma para que posteriormente seja possível enviar os dados recolhidos.
Caso alguma destas duas tentativas de conexão falhe não será possível que o módulo
efetue a sua função, sendo assim é necessário continuar a realizar tentativas até que sejam
estabelecidas as ligações com sucesso.
Estando conectado à Internet e à plataforma é então necessário enviar um comando de
sinalização para que o módulo de aquisição de dados efetue medições necessárias, sendo
que o comando que sinaliza esta ação é o caracter ”x”. Seguidamente, será necessário
efetuar um período de espera de aproximadamente 800ms.
A razão para a qual se efetua um período de espera neste momento é devido ao
facto de alguns sensores, como os sensores de temperatura, necessitarem de tempo para
efetuar a conversão analógica digital e o MCU presente no módulo de aquisição de dados
necessitar de efetuar medições sobre diversos sensores, com a possibilidade de realizar
algum processamento sobre os dados. Ao definir um período de amostragem é imperativo
ter em conta este primeiro período que não deve ser inferior a 800ms. Posto isto, o período
de amostragem é então a soma do primeiro período de espera mais o segundo período
presente no fluxograma.
Realizado o primeiro período de espera efetua-se a escrita de um comando referente
ao valor que se pretende obter e seguidamente faz-se a leitura desse mesmo valor. Nesta
fase é possível efetuar a leitura de vários valores, para que sejam enviados em simultâneo
na mesma mensagem JSON. Após enviados os dados realiza-se mais um período de espera,
para que a próxima mensagem a ser enviada cumpra o período de amostragem pretendido
e retorna-se ao ponto do fluxograma onde se verifica se existe conexão MQTT criando
assim um ciclo de verificação de conexão e envio de dados para a plataforma.

3.6 Plataforma IoT


Pretende-se ao implementar uma plataforma IoT que esta suporte algumas características
chave sendo estas, a capacidade de estabelecer uma ligação segura entre o dispositivo
IoT e a plataforma, a possibilidade de gerir diferentes dispositivos IoT de modo a ter
um influxo de dados estável e organizado, a capacidade de fazer roteamento de dados
seletivo, a possibilidade de integração com diversas outras plataformas e funcionalidades
de modo a armazenar os dados recebidos e exibir os mesmo num formato lógico e de fácil
compreensão para o utilizador final e por fim o custo associado a estes serviços.
Atendendo as características necessárias existem três serviços que se destacam, sendo
estes a AWS IoT core, Azure for IoT e a Google Cloud IoT Core pois possuem mais que
um tipo de ferramenta para gestão de dispositivos, protocolos de comunicação sendo
o MQTT suportado em todas elas, diversos tipos de armazenamento seja este frio (com
pouco acesso aos dados e uma longa duração de armazenamento) ou quente (acesso muito

45
CA P Í T U LO 3 . P R O J E TO DA A R QU I T E T U R A E I M P L E M E N TAÇÃO D O S I S T E M A
D E M O N I TO R I Z AÇÃO PA R A P CM

frequente a dados com duração de armazenamento indefinida) e integração com várias


outras plataformas [40].
Visto que todas estas plataformas possuem as capacidades necessárias resta então
analisar o custo associado a cada uma. De acordo com [41] é possível constatar que a
Azure for IoT é a plataforma que mais serviços grátis possui, será também importante
mencionar que a AWS IoT core é a única plataforma que não possui um serviço grátis para
a conexão de apenas um dispositivo IoT. Posto isto a Azure for IoT é a plataforma que
mais simplifica a integração de serviços IoT para um projeto na fase de prototipagem.
Adicionalmente, existe um programa para estudantes que pretendam utilizar a pla-
taforma Azure for IoT. Este programa visa que os estudantes tenham a capacidade de
experimentação, mesmo que limitada, de funcionalidades que não se encontrem grátis
ao fornecer um crédito de 100$ que poderá ser gasto em qualquer funcionalidade da
plataforma ao longo de 12 meses. Por estas razões a plataforma Azure for IoT foi escolhida
como a plataforma a utilizar, pois possui o maior numero de funcionalidades e integrações
mantendo simultaneamente um custo bastante competitivo.

3.6.1 Implementação
De modo a satisfazer as necessidades supracitadas é necessário utilizar vários tipos de
serviços, na figura 3.15 é possível observar todos os serviços utilizados e as ligações entre
os mesmos.

Figura 3.15: Serviços utilizados na plataforma IoT.

Primeiramente, para conectar qualquer tipo de dispositivo IoT será necessário a imple-
mentação do serviço IoT Hub, figura 3.16, este serviço habilita uma comunicação segura e
fiável com os dispositivos, possuindo apenas um canal de output contendo todos os dados
recebidos. Adicionalmente este serviço possui algumas funções de gestão e aprovisiona-
mento, de modo ligar e gerir os dispositivos IoT conectados.
Ao criar este serviço é necessário ter em atenção o nome que será dado ao Resource
Group, apesar de a utilização de caracteres como espaços ser autorizada estes podem criar
conflitos ao serem utilizados com os serviços seguintes, a região onde este se encontra
é também importante estar correta visto que possui um grande impacto na latência do
serviço e nos custos associados à transferência de dados entre servidores.

46
3 . 6 . P L ATA FO R M A I O T

Figura 3.16: Criação do serviço IoT Hub.

Criado o serviço é então necessário adicionar um dispositivo, para que seja gerada
uma chave única de acesso primário, bem como um ID único associado ao dispositivo.
Após aceder ao menu IoT devices e adicionar um dispositivo, obtêm-se algumas chaves de
acesso, na figura 3.17 encontra-se delineada a vermelho a chave que é necessário adicionar
ao módulo de comunicação descrito anteriormente. Estando adicionado um dispositivo
IoT será necessário aceder ao menu Built-in endpoints, para que seja criado um Consumer
Group que terá como função a associação dos dados recebidos num grupo definido.

Figura 3.17: Chave de acesso primária.

Estando criado um serviço que permite a conexão de dispositivos IoT é necessário


adicionar os restantes serviços, no caso de se pretender apenas um tipo de funcionalidade
desta plataforma poder-se-ia conectar diretamente o serviço associado a essa funcionali-
dade ao IoT Hub, no entanto neste caso pretende-se que a plataforma tenha a capacidade
de exibir e armazenar os dados recebidos simultaneamente.
Sendo que são necessários dois tipos de serviços, será necessário adicionar um meca-
nismo com a capacidade de criar vários canais de output de dados ou neste caso pipeline’s.
Para tal, é necessário utilizar o serviço Stream Analytics, sendo que este serviço permite a
criação de pipeline’s ponto-a-ponto onde é possível efetuar query’s sobre os dados a serem

47
CA P Í T U LO 3 . P R O J E TO DA A R QU I T E T U R A E I M P L E M E N TAÇÃO D O S I S T E M A
D E M O N I TO R I Z AÇÃO PA R A P CM

enviados utilizando Structured Query Language (SQL), tendo a possibilidade de adicionar


funcionalidades personalizadas utilizando JavaScript ou C#. Ao criar o serviço Stream
Analytics é necessário ter em atenção, à semelhança do IoT Hub o Resource Group que
neste caso já se encontra criado e a localização do servidor.
Após introduzido o mecanismo que permite a transmissão de dados para diferentes
destinos, será então necessário escolher e ativar os serviços que vão desempenhar as
funções pretendidas nesta plataforma IoT. Para a visualização de dados foi utilizada
a ferramenta PowerBI, contendo uma coleção de serviços de software e aplicações que
funcionam em conjunto para converter dados não relacionados em informação coerente
e causal, visualmente envolvente e interativa. Quanto ao armazenamento de dados será
utilizado o serviço Blob Storage, visto que este se encontra otimizado para armazenar
quantidades em grande escala de dados não estruturados. De modo a utilizar o serviço
de Blob Storage é necessário a criação de uma conta de armazenamento, na figura 3.18,
encontram-se as definições utilizadas para a criação da mesma.

Figura 3.18: Criação de uma conta de armazenamento.

Os dados gerados pelo nó IoT são considerados não estruturados devido ao facto
de alterarem consideravelmente consoante o sistema que se pretende monitorizar, e.g.
para um sistema de dimensões reduzidas poderá ser necessário apenas um sensor de
temperatura enquanto que, num sistema de dimensões elevadas poderão ser necessários
vários sensores de temperatura, alterando assim a estrutura dos dados que são enviados
para a plataforma IoT.
Estando criada a conta de armazenamento é então necessário indicar ao serviço o for-
mato de dados que se pretende armazenar, sendo o formato não estruturado é necessário

48
3 . 6 . P L ATA FO R M A I O T

a adição de um container.
Estando todos os serviços criados é necessário adicionar ao Stream Analytics o IoT Hub
como um serviço de entrada, visto que este é a fonte de dados, e os serviços Blob Storage e
PowerBI serão adicionados da mesma forma no entanto serão serviços de saída.
Para a adição destes serviços é necessário aceder ao menu Job topology selecionando
inputs ou outputs consoante o que se deseja adicionar. Em relação ao Power Bi basta
efetuar a vinculação do serviço, sendo que não serão necessárias configurações adicionais.
Quanto aos dois restantes serviços que se pretendem adicionar, será necessário definir
algumas configurações, para o IoT Hub é necessário adicionar o Consumer group criado
anteriormente e definir o Shared access policy name de modo a que o nome do serviço esteja
seguido de ”owner”. Para a adição de um serviço Blob Storage é necessário a utilização do
container criado previamente, na figura 3.19, encontram-se as definições utilizadas em
detalhe.

Figura 3.19: Definições detalhadas sobre a adição dos serviços IoT Hub e Blob Storage ao
Stream Analytics.

Por fim, de modo a efetuar o roteamento dos dados para os diferentes serviços é
necessário a criação de uma Query, utilizando os serviços adicionados previamente aos

49
CA P Í T U LO 3 . P R O J E TO DA A R QU I T E T U R A E I M P L E M E N TAÇÃO D O S I S T E M A
D E M O N I TO R I Z AÇÃO PA R A P CM

inputs e outputs. No anexo III é possível analisar a Query implementada para visualizar e
armazenar os dados provenientes do módulo de comunicação.

50
Capítulo
4
R e s u ltad o s E x p e r i m e n ta i s

Neste capitulo serão apresentados alguns cenários de teste, realizados com o intuito de
testar o desempenho e o funcionamento da arquitetura proposta no capitulo anterior.
Após a validação da plataforma, será apresentado um ensaio onde se pretende estudar os
efeitos da utilização de materiais PCM para o armazenamento térmico de energia.

4.1 Validação da plataforma


Os cenários visam o teste de alguns atributos específicos e de elevada importância para a
caracterização das capacidades e limitações do sistema implementado, sendo os atributos:
a precisão esperada pelo módulo de monitorização potência; a estabilidade do sistema
ao efetuar testes de longa duração; a sensibilidade do sistema a estímulos exteriores; e
os pontos de funcionamento critico do sistema em diferentes ambientes.
Será também importante mencionar que para alguns destes testes seria ideal a utili-
zação de equipamento de precisão elevada, no entanto, é possível obter dados bastante
robustos combinando análises teóricas com cenários teste onde é possível diminuir os
estímulos exteriores para um mínimo e a utilização de um equipamento de medição com
uma precisão de medição de classe 1 bastante utilizada na industria.

4.1.1 Cenário 1 - Teste controlo utilizando uma carga conhecida.


Neste primeiro cenário pretende-se efetuar um teste de controlo utilizando uma carga
conhecida de modo a analisar a precisão que se pode obter com o IC ACS71020, utilizando
a montagem descrita na figura 3.10. Adicionalmente, pretende-se testar o funcionamento
dos sensores de temperatura DS18B20 e da plataforma Azure for IoT, traçando os dados
armazenados pela plataforma de modo a observar a causalidade entre o consumo de
energia e o aumento da temperatura da carga em função do tempo.

51
CA P Í T U LO 4 . R E S U LTA D O S E X P E R I M E N TA I S

4.1.1.1 Sistema utilizado para a monitorização

Para tal, efetuou-se a montagem do módulo de monitorização de potência presente na


figura 4.1. Esta montagem possui um regulador de tensão, de modo a converter os 5V
provenientes do PSoC 5Lp para os 3, 3V necessários para alimentar o ACS71020, possui
também dois condutores de 0, 75mm2 , em paralelo, para a medição de corrente perfazendo
assim uma secção de 1, 5mm2 capaz de suportar uma intensidade de corrente até 19A e o
divisor resistivo para efetuar medições de tensão.

Figura 4.1: Módulo de monitorização de potência. (A) - Alimentação 3,3v, (B) - Comuni-
cação e alimentação, (C) - Divisor resistivo, (D) - Bloco de terminais para Fase e Neutro.

Depois de efetuada a montagem do módulo de monitorização de potência conectaram-


se os sensores de temperatura e o módulo ao PSoC 5lp. Posteriormente efetuou-se a
ligação entre o módulo de monitorização e o módulo de comunicação tendo sempre em
atenção os esquemas e métodos de conexão mencionados no capitulo anterior, obtendo
assim o sistema presente na figura 4.2.

Figura 4.2: Montagem completa. Alimentação a partir de um Power Bank.

De modo a verificar se os valores de potência recolhida pelo módulo descrito ante-


riormente estão corretos utilizou-se o medidor de potência PM9C da Scheneider Electric

52
4 . 1 . VA L I DAÇÃO DA P L ATA FO R M A

presente na figura 4.3. Este medidor foi equipado com uma ficha monofásica para se co-
nectar à rede de baixa tensão e duas tomadas monofásicas para que seja possível conectar
os dispositivos a serem medidos.

Figura 4.3: Medidor de potência PM9C da Scheneider Electric.

Para efetuar o teste de controlo foi escolhida como carga conhecida uma lâmpada de
incandescência de 70W presente na figura 4.4, esta possui apenas um elemento resistivo
no seu interior fazendo assim com que não existam consumos de corrente não lineares,
visto que o seu fator de potência é aproximadamente 1, ou seja, uma carga puramente
resistiva. A lâmpada foi conectada ao módulo de monitorização de potência utilizando o
casquilho apropriado e para se obter uma leitura de temperatura foi colocado um sensor
de temperatura o mais perto possível da lâmpada, na seguinte figura é possível observar
a montagem descrita.

Figura 4.4: Lâmpada de incandescência de 70W com sensor de temperatura.

53
CA P Í T U LO 4 . R E S U LTA D O S E X P E R I M E N TA I S

4.1.1.2 Análise dos dados obtidos

Agora que o cenário de testes se encontra estruturado, resta então proceder ao teste.
Para tal, conectou-se a montagem à rede de baixa tensão, fazendo com que o medidor
PM9C seja o primeiro equipamento de medição seguido pelo módulo de monitorização
de potência e por fim a carga. Na figura 4.5 encontram-se representados os dados de
potência e temperatura da carga em função do tempo.

Monitorização de potência e temperatura em lâmpada incandescente


Período de amostragem = 3 segundos
60 80
Lâmpada
Ambiente
Potência Ativa

50 60

Potência Ativa [W]


Temperatura [ºC]

40 40

30 20

20 0
0 1 2 3 4 5 6 7
Tempo [Minutos]

Figura 4.5: Consumo energético e temperatura de uma lâmpada de incandescência de


70W em função do tempo.

Ao analisar os dados recolhidos, é possível observar que a temperatura da lâmpada


começa a aumentar no momento em que a mesma começa a consumir energia elétrica
e diminui de uma forma mais lenta no momento em que a lâmpada é desligada, sendo
assim possível retirar a simples conclusão que existe um efeito de causalidade entre o
consumo energético numa carga e a sua temperatura. Este efeito por si só já seria esperado,
no entanto com este teste foi possível observar que o módulo de aquisição de dados está a
funcionar corretamente pois não existe nenhum comportamento fora do normal e o dados

54
4 . 1 . VA L I DAÇÃO DA P L ATA FO R M A

aparentam estar sincronizados. Adicionalmente detetou-se que o consumo de potência


da lâmpada de 70W se encontra relativamente elevado, aproximando-se dos 75W , este
erro de medição poderá derivar de vários fatores como, o valor da tensão de alimentação
não ser exatamente 230V, a existência de um erro intrínseco aos valores das resistências
utilizadas no divisor resistivo responsável pela medição de tensão, um erro associado
à medição de corrente por efeito de hall e o facto de a montagem efetuada em 4.1 ser
relativamente sensível a ruídos e interferências exteriores.
Ao fazer o teste foi possível constatar, utilizando o medidor PM9C, que o valor da
tensão (Vreal ) se encontrava ligeiramente elevado sendo este 233V. Recorrendo a um
calculo simples é possível verificar que esta diferença na tensão de alimentação se converte
num acréscimo de aproximadamente 1, 83W ao valor nominal.

V2
P= (4.1)
R
Utilizando a formula 4.1 é possível retirar o valor da resistência da lâmpada de in-
candescência, visto que o valor da resistência altera pouco com a temperatura é seguro
ignorar esta variação.

V 2 2302
R= = = 755, 7143Ω (4.2)
P 70
Tendo agora o valor da resistência da lâmpada será possível calcular o valor real da po-
tência consumida (Preal ).

2332
Preal = = 71, 83W (4.3)
755, 7143
Sabendo agora que a potência real consumida pela carga é de 71, 83W , resta então
calcular o erro associado à medição de potência de maneira confirmar se o pico de 75, 3W
estará dentro do intervalo de erro aceite. Para tal, foi realizada uma análise de monte
carlo sobre o circuito presente na figura 3.10, onde se utilizou resistências com 1% de
erro, obtendo-se como valor de pior caso possível uma tensão Vsense de 117, 1mV quando
são aplicados 230V no divisor resistivo, sendo que o valor teórico calculado é de 114, 9mV .
Posto isto é possível calcular que o erro relativo de medição da tensão é de aproximada-
mente 1, 915%.

100
Er_V = (117, 1 × 10−3 − 114, 9 × 10−3 ) · = 1, 915% (4.4)
114, 9 × 10−3
Atendendo ao datasheet do IC ACS71020 é possível verificar que o erro relativo da
medição de corrente (Er_I ) é de aproximadamente 3%. Tendo agora dados suficientes
relativamente ao erros associados às medidas efetuadas é então possível calcular o erro
associado à medição de potência (Er_P ot ). Sendo a potência o produto de duas grandezas
o seu erro relativo será a soma dos erros relativos respetivos ao produto (Er_V e Er_I ).

Er_P ot = Er_V + Er_I = 1, 915 + 3 = 4, 915% (4.5)

55
CA P Í T U LO 4 . R E S U LTA D O S E X P E R I M E N TA I S

De modo a verificar se o pico de 75, 3W estará dentro do intervalo de erro aceite, será
necessário utilizar a potência real consumida e o erro relativo associado à medição de
potência para obter um intervalo de potências aceites.


Einf = 71, 83 · (1 − 0, 04915) = 68, 3W



 (4.6)
Esup = 71, 83 · 1, 04915 = 75, 4W

Visto que este intervalo se encontra compreendido entre [68, 3; 75, 4]W , é seguro dizer
que a medição de 75, 3W está correta de acordo com o erro relativo presente no módulo
de monitorização de potência.

4.1.2 Cenário 2 - Monitorização do funcionamento de um frigorífico


combinado

Pretende-se com este cenário de testes, efetuar a monitorização de um frigorífico combi-


nado, com o intuito de verificar a estabilidade do sistema implementado ao monitorizar
um maior numero de parâmetros, durante um período de monitorização extenso.
Este equipamento foi escolhido para ser monitorizado devido ao seu tipo de funcio-
namento termodinâmico e cíclico. Enquanto que o equipamento descrito em 3.1 efetua
o aquecimento de uma substância, o frigorífico possui um comportamento inverso reti-
rando calor de duas zonas alvo enviando o mesmo para o exterior.
Em consequência dos cálculos das margens de erro efetuados na secção anterior, é
possível considerar os dados obtidos são confiáveis, sendo assim pretende-se também
com este cenário de testes estudar a sensibilidade do sistema implementado a estímulos
pontuais, sejam estes devido a abertura de portas do frigorífico ou o arranque de um
compressor no ciclo de refrigeração.

4.1.2.1 Funcionamento do sistema a monitorizar e dados esperados

O frigorífico que foi escolhido para ser monitorizado é um frigorífico combinado, signifi-
cando isto que possui um compartimento de refrigeração leve e um compartimento onde
a refrigeração é mais intensa, sendo estes o compartimento do frigorífico e do congelador
respetivamente.
Adicionalmente, o circuito termodinâmico deste frigorífico é composto por dois ci-
clos de refrigeração, cada um com um compressor e um evaporador partilhando uma
única unidade condensadora de maiores dimensões no exterior, a unidade exterior pode
também ser chamada de radiador. A unidade evaporadora ou interior tem como função
efetuar a permutação de calor do meio, considerado quente, para o fluido refrigerante
fazendo com que este aumente a sua temperatura e evapore dentro das tubagens. Após
a receção de calor por parte da unidade evaporadora, o fluido percorre as tubagens com
alguma assistência do compressor, ao chegar à unidade condensadora é comprimido com

56
4 . 1 . VA L I DAÇÃO DA P L ATA FO R M A

auxilio de um tubo capilar em junção com o compressor aumentado assim a sua tempe-
ratura, o seu ponto de ebulição e o seu estado físico vê-se alterado. Estando no estado
liquido a uma temperatura elevada, a permutação de calor para o exterior é efetuada por
meio da unidade condensadora ou radiador, fazendo com que o liquido refrigerante dimi-
nua a sua temperatura. Visto que, a sua temperatura foi reduzida o liquido encontra-se
pronto para ser utilizado de novo nas unidades evaporadoras.
Na figura 4.6 encontra-se o esquema termodinâmico do frigorífico onde é possível
identificar as ligações entre os diferentes componentes descritos.

Figura 4.6: Esquema termodinâmico do frigorífico combinado. (1)(2) - Compressores, (3)


- Unidade condensadora, (4)(5) - Unidades evaporadoras.

Visto que o sistema termodinâmico é composto por dois ciclos, onde a ativação de
um deles é completamente independente do outro, prevê-se que existiram momentos
durante o funcionamento do frigorífico e a monitorização do mesmo que exista consumo
energético de apenas um dos ciclos, de ambos em simultâneo ou de nenhum.
Posto isto, será possível utilizar os perfis de carga de um frigorífico e congelador
convencionais para modelar um perfil de carga teórico para este frigorífico combinado,
de acordo com [42, 43] e visto que ambos utilizam como elemento consumidor de energia
um compressor, espera-se que os perfis de carga sejam relativamente semelhantes tanto
no seu formato como nos picos de arranque, variando apenas no consumo de energia e na
sua duração.
Na figura 4.7 encontram-se três perfis de carga, o primeiro perfil refere-se ao fri-
gorífico estando representados três períodos de carga. O segundo perfil é referente ao
congelador onde é apresentado apenas um período para o mesmo espaço de tempo, visto
que possui um ritmo de funcionamento inferior ao frigorífico. O terceiro perfil trata-se
de uma sobreposição dos dois perfis mencionados anteriormente, onde é possível ver três
casos possíveis, sem consumo, consumo de apenas uma carga e consumo das duas cargas
em simultâneo.

57
CA P Í T U LO 4 . R E S U LTA D O S E X P E R I M E N TA I S

Perfil de carga de frigorífico combinado


Frigorífico Congelador Perfil combinado
Fator referente ao consumo de potência nominal 1 1 2

0.9 0.9 1.8

0.8 0.8 1.6

0.7 0.7 1.4

0.6 0.6 1.2

0.5 0.5 1

0.4 0.4 0.8

0.3 0.3 0.6

0.2 0.2 0.4

0.1 0.1 0.2

0 0 0

Figura 4.7: Perfil de carga de um frigorífico, congelador e combinados.

4.1.2.2 Sub-cenário 2.1 - Monitorização sem estímulos exteriores.

Neste sub-cenário pretende-se observar o comportamento do frigorífico em condições de


funcionamento ideais, ou seja, sem estímulos exteriores como a abertura das portas tanto
do frigorífico como do congelador, de maneira o obter uma ideia do seu funcionamento
normal em termos energéticos e térmicos.
Para tal, foi utilizado a mesma montagem utilizada no cenário 1, sendo que a única
diferença foi a ativação de mais dois sensores de temperatura para que seja possível
observar todos os pontos de interesse do frigorífico, sendo estes as temperaturas ambiente,
do frigorífico, do congelador e do radiador que se encontra partilhado por ambos os
circuitos de refrigeração.
Por inspeção da figura 4.8 é possível observar que ambos os circuitos de refrigeração se
encontram ativos, consumindo aproximadamente 80W . Relacionando a temperatura do
radiador com as temperaturas internas e o consumo energético é possível determinar que
na marca das 1, 25 horas o circuito de refrigeração do congelador desligou. Sendo possível
chegar a esta conclusão, visto que a temperatura do radiador começa a decrescer de forma
gradual enquanto que a temperatura do congelador, apesar de ter alguma latência, é a
primeira que começa a aumentar também. Será de notar que como o compartimento

58
4 . 1 . VA L I DAÇÃO DA P L ATA FO R M A

do frigorífico possui uma temperatura interna mais próxima da temperatura ambiente,


comparativamente à temperatura do compartimento do congelador, este irá ter um maior
impacto no aumento e decréscimo da temperatura do radiador.
Utilizando o mesmo método de inspeção do gráfico é possível confirmar que na marca
das 1, 5 horas o circuito de refrigeração do frigorífico desliga, sendo também possível
confirmar a afirmação anterior de que o circuito de refrigeração do frigorífico tem um
maior impacto na temperatura do radiador. Na marca das 2, 5 horas é possível determinar
que o circuito de refrigeração do congelador voltou a ligar tendo um pico de 705W com
um factor de potencia de 0, 8 e um período de estabilização relativamente curto visto
que a temperatura não se encontrava particularmente elevada. Será também possível
observar nas próximas figuras, que este período de estabilização é altamente dependente
da temperatura interna dos compartimentos na altura em que os circuito de refrigeração
iniciam o seu funcionamento.

Monitorização de potência e temperatura de um frigorífico combinado


Período de amostragem = 3 segundos, Fator de potência normal = 0.3
55 180
Congelador Ambiente
50 170
Frigorífico Potência Ativa
45 Radiador 160

40 Pico de 705W 150


com FP de 0.8
35 140

30 130

25 120

20 110
Potência Ativa [W]
Temperatura [ºC]

15 100

10 90

5 80

0 70

-5 60

-10 50

-15 40

-20 30

-25 20

-30 10

-35 0
0 0.25 0.5 0.75 1 1.25 1.5 1.75 2 2.25 2.5 2.75 3 3.25 3.5
Tempo [Horas]

Figura 4.8: Consumo energético e temperatura de um frigorífico combinado em função


do tempo. Consumo estável, seguido de um período sem consumo e um arranque do ciclo
de refrigeração do congelador.

59
CA P Í T U LO 4 . R E S U LTA D O S E X P E R I M E N TA I S

Na figura 4.9, em baixo, é possível observar o perfil de carga do frigorífico combinado


num caso semelhante ao perfil de carga teórico no segundo período da figura 4.7. É
possível conferir que não só existem ambos os picos de arranque tanto para o circuito de
refrigeração do frigorífico como do congelador, como também existe a sobreposição de
carga quando estas se ligam no mesmo espaço de tempo à semelhança do perfil de carga
teórico.

Monitorização de potência e temperatura de um frigorífico combinado


Período de amostragem = 3 segundos, Fator de potencia normal = 0.3
55 180
Congelador Ambiente
50 170
Frigorífico Potência Ativa
45 Radiador 160

40 150
Pico de 903W
35 com FP de 0.74 140

30 130

25 120

20 110

Potência Ativa [W]


Temperatura [ºC]

15 100

10 90

5 80

0 70

-5 60

-10 50

-15 40

-20 30

-25 20

-30 10

-35 0
0 0.25 0.5 0.75 1 1.25
Tempo [Horas]

Figura 4.9: Consumo energético e temperatura de um frigorífico combinado em função


do tempo. Arranque de ambos os ciclos de refrigeração.

Um dos pontos que é importante referir é facto de que no perfil de carga teórico não
existe período de estabilização da carga, no entanto nos dados obtidos na figura 4.9, fa-
cilmente se observa que após ligarem os circuitos de refrigeração existe uma pequena
sobre-elevação para o circuito de refrigeração do frigorífico e um comportamento de de-
caimento exponencial para o congelador. Estas diferenças entre os perfis de carga teóricos
e reais devem-se ao facto de o frigorífico não ser novo, possuindo aproximadamente 25

60
4 . 1 . VA L I DAÇÃO DA P L ATA FO R M A

anos, fazendo com que exista algum desgaste nos circuitos de refrigeração. Adicional-
mente o frigorífico e o congelador encontravam-se com produtos no interior, existia uma
massa de gelo no compartimento do congelador e a temperatura ambiente era de aproxi-
madamente 27°C, sendo todos estes fatores que contribuem para uma alta inercia térmica
e o aumento de dificuldade para efetuar a permutação de calor, fazendo com que o com-
pressor tenha um maior esforço para efetuar a deslocação e consequente compressão do
gás na unidade condensadora resultando assim num maior consumo energético durante
este período.

4.1.2.3 Sub-cenário 2.2 - Monitorização com estímulos exteriores

Neste sub-cenário pretende-se observar o comportamento do frigorífico em condições de


funcionamento de uso diário ou seja, com a existência de estímulos exteriores como a
abertura das portas tanto do frigorífico como do congelador, de maneira a obter alguns
resultados práticos sobre a sensibilidade do sistema de monitorização.
Para tal, todas as condições de teste utilizadas no sub-cenário 2.1 foram mantidas, de
maneira a criar resultados diretamente comparáveis com o sub-cenário anterior.
No seguimento do teste realizado na sub-secção anterior, figura 4.9, obteve-se os dados
presentes na figura 4.10, sendo que esta ultima é apenas a continuação do teste anterior,
onde foi decidido introduzir em uma primeira instância um e apenas um único estimulo
exterior, a abertura da porta do frigorífico.
Após o arranque de ambos os circuitos de refrigeração e do período de estabilização
das cargas, a porta do frigorífico foi aberta por cerca de 1 minuto, fazendo assim com que
a sua temperatura interna aumentasse por 1°C.
Inspecionando o gráfico, presente na figura 4.10, é possível reconhecer uma pequena
sobre-elevação tanto da temperatura do frigorífico, como da temperatura do radiador
e da potência consumida na marca das 1, 75 horas. A sobre-elevação na potência está
diretamente relacionada com o aumento da temperatura interior do frigorífico, ou seja a
temperatura da unidade evaporadora, por consequência existe uma maior permutação de
calor para o fluido refrigerante, fazendo com que o compressor tenha de consumir uma
maior quantidade de energia para expelir o calor para o meio ambiente, criando uma
sobre-elevação na temperatura do radiador.
Será de notar que existe também um pequeno aumento da temperatura ambiente
no entanto, este acontecimento está apenas levemente relacionado com o aumento da
temperatura no radiador, pois a real causa do aumento da temperatura ambiente são
as atividades do dia-à-dia que estavam a ser realizadas na divisão onde o teste estava
a decorrer, como por e.g. a confeção de refeições utilizando alguns eletrodomésticos,
nomeadamente o fogão e o forno.
O facto de a temperatura ambiente estar apenas levemente relacionada com a tem-
peratura ambiente, pode ser corroborado, ao relacionar a temperatura ambiente com a

61
CA P Í T U LO 4 . R E S U LTA D O S E X P E R I M E N TA I S

temperatura do radiador no período entre as 0, 25 e 0, 75 horas, onde é possível obser-


var que um aumento de aproximadamente 10°C no radiador resultou num aumento de
apenas 0, 5 a 1°C.

Monitorização de potência e temperatura de um frigorífico combinado


Período de amostragem = 3 segundos Fator de potência normal = 0.3
55 170
Congelador Ambiente
50 160
Pico de 903 W Frigorífico Potência Ativa
45 com FP de 0.74 Radiador
150
40 140
35 130
30
120
25
110
20

Potência Ativa [W]


Temperatura [ºC]

100
15
90
10
80
5
70
0
Abertura da porta do frigorífico
60
-5
50
-10

-15 40

-20 30

-25 20

-30 10

-35 0
0 0.25 0.5 0.75 1 1.25 1.5 1.75 2 2.25 2.5 2.75 3 3.25 3.5 3.75 4 4.25
Tempo [Horas]

Figura 4.10: Consumo energético e temperatura de um frigorífico combinado em função


do tempo. Arranque de ambos os ciclos de refrigeração seguida de uma única abertura da
porta do frigorífico.

Possuindo agora os dados necessários, relativos ao comportamento do frigorífico e do


sistema de monitorização face a um estimulo exterior, será possível realizar testes mais
caóticos onde não se limitam os tempos de abertura das portas nem a sua frequência e
ao mesmo tempo manter o nível de controlo e conhecimento necessário para que esses
mesmo dados continuem a fazer sentido.
Sendo assim, foi efetuado o teste presente na figura 4.11, este teste além de possuir
múltiplas aberturas das portas do frigorífico é também o teste mais longo que é possível
efetuar com um período de amostragem de 3 segundos, visto que a plataforma Azure for
IoT e o serviço IoT Hub no seu modelo grátis permitem apenas 8000 mensagens por dia.

62
4 . 1 . VA L I DAÇÃO DA P L ATA FO R M A

Monitorização de potência e temperatura de um frigorifíco combinado


Período de amostragem = 3 Fator de potência normal = 0.3
65
Congelador Ambiente
60 180
Frigorifíco Potência Ativa
55 Radiador

50 160
45
40 140
35
30 120

Potência Ativa [W]


Temperatura [ºC]

25
20 100
15
10 80
5
0 60
-5
-10 40
-15
-20 20
-25
-30 0
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 6 6.5 7 7.5
Tempo [Horas]

Figura 4.11: Consumo energético e temperatura de um frigorífico combinado em função


do tempo. Uso quotidiano.

Inspecionando o gráfico presente na figura 4.11 é possível determinar que nas pri-
meiras duas horas do teste ocorreram 5 aberturas da porta do frigorífico, onde cada uma
destas aberturas provoca um comportamento idêntico ao comportamento observado na
teste anterior. De modo a despistar falsos positivos todos as aberturas da porta do frigorí-
fico ou do congelador, caso existissem, foram anotados no momento. Posto isto é possível
confirmar que as 5 aberturas que se podem observar na gráfico são reais e não existe um
único falso positivo.
Ao efetuar este teste, foi também possível determinar que a temperatura a que o
circuito de refrigeração do frigorífico desligou foi diferente da temperatura em que o
circuito de refrigeração desligou no primeiro teste do sub-cenário 2.1. Sendo que, sem
estímulos exteriores o circuito de refrigeração parou o seu funcionamento quando a sua
temperatura interna era de 1°C enquanto que neste teste desligou ao chegar a 7°C e
voltou a ligar ao chegar aos 10°C como nos teste anteriores. Isto deve-se ao facto de o

63
CA P Í T U LO 4 . R E S U LTA D O S E X P E R I M E N TA I S

termostato encarregue desta função estar embutido nas paredes do frigorífico, causando
assim alguma latência e ou insensibilidade a variações rápidas e pontuais de temperatura,
como aquelas que estão presentes neste teste.
Posto isto, ao fazer esta sequência de testes em diferentes cenários, foi possível testar
a estabilidade do sistema de monitorização ao efetuar testes de longa duração, chegando
mesmo a consumir todas as mensagens disponíveis na plataforma. Foi possível também,
obter um entendimento geral sobre a sensibilidade do sistema a variações de temperatura
e potência sejam estas de grandes ou pequenas magnitudes e do funcionamento interno
do equipamento a testar, graças ao facto de ser possível relacionar estas variações com o
funcionamento seu teórico e a ocorrência de estímulos não controláveis.

4.1.3 Cenário 3 - Monitorização do funcionamento de um jarro elétrico

O escopo dos cenários anteriores manteve-se maioritariamente sobre o funcionamento,


estabilidade e precisão do sistema de monitorização implementado, no entanto, neste
terceiro cenário pretende-se efetuar testes num equipamento com um funcionamento
semelhante ao equipamento mencionado em 3.1.
Para tal, foi escolhido como alvo dos testes um jarro elétrico, visto que este, à seme-
lhança do equipamento mencionado anteriormente, tem como função o aquecimento de
um liquido recorrendo a uma resistência de aquecimento imersa no mesmo, desligando a
uma temperatura definida por via de um termostato.
Após escolhido o equipamento a monitorizar é necessário equipar o mesmo com um
numero adequado de sensores, neste caso como jarro possui a capacidade de aquecer no
máximo 1, 25 Litros escolheu-se introduzir dois sensores de temperatura no interior do
jarro, tendo o cuidado de os por a alturas diferentes com o intuito de confirmar se seria
possível verificar os efeitos causados pela convecção do liquido ao aquecer rapidamente e
por fim um sensor de temperatura ambiente.

4.1.3.1 Análise dos dados obtidos

Estando o jarro equipado procedeu-se à recolha de dados do funcionamento do mesmo,


obtendo assim os gráficos presentes na figura 4.12, visto que se observou alguns compor-
tamentos fora do normal para este tipo de carga foi necessário adicionar dados sobre a
tensão, corrente e fator de potência medidos, com o intuito de efetuar alguma resolução
de erros. Adicionalmente é possível verificar que na rampa de aquecimento o sensor infe-
rior se encontra mais quente que o sensor superior, indicando que a temperatura da agua
perto do elemento resistivo é superior à temperatura no topo do jarro.
Analisando os dados obtidos é possível verificar que a potência medida se encontra
ligeiramente fora do esperado, sendo o consumo esperado 1900W e o consumo medido
2000W com uma pequena sobre-elevação no inicio do mesmo. Ao estudar os restantes
dados sobre a tensão, corrente e fator de potência é possível verificar que tanto a tensão

64
4 . 1 . VA L I DAÇÃO DA P L ATA FO R M A

como fator de potência medidos possuem comportamentos algo instáveis ao contrário da


medição de corrente que se encontra estável em qualquer momento do teste.
Utilizando novamente o medidor PM9C, referido no primeiro cenário, confirmou-se
que o valor da tensão apesar de ligeiramente elevado se encontrava estável em qualquer
momento do teste, o fator de potência à semelhança da tensão também se encontrava
estável e que a corrente medida estava correta, ao contrário dos valores de tensão e fator
de potência.

Monitorização de potência e temperatura de um jarro eletrico


Período de amostragem = 3 segundos
110 2250
100 Ambiente 2000

Potência Ativa [W]


Superior
Temperatura [ºC]

90 1750
Inferior
80 P. Activa 1500
70 1250
60 1000
50 750
40 500
30 250
20 0
0 1 2 3 4 5 6 7 8
Tempo [minutos]

Tensão e Corrente RMS Fator de potência


270 12
1

220 9
Corrente [A]
Tensão [V]

0.5
170 6

120 3
Tensão
0
Corrente
70 0
0 1 2 3 4 5 6 7 8 0 1 2 3 4 5 6 7 8
Tempo [minutos] Tempo [minutos]

Figura 4.12: Teste de monitorização de um jarro elétrico.

Posto isto, foi possível determinar, ainda que sem certezas, que existe um problema
no isolamento do IC ACS71020, fazendo com que a medição de tensão fique incorreta,
originando assim medições menores do que o esperado quando a carga não está ligada,
e medições demasiado elevadas quando a carga está ativa, estás medições de tensão in-
corretas são consequentemente utilizadas pelo IC para calcular a potência e o fator de
potência, propagando assim o erro.
Visto que existe uma maior facilidade de determinar e modelar exatamente a causa

65
CA P Í T U LO 4 . R E S U LTA D O S E X P E R I M E N TA I S

do problema caso este se intensifique foi decidido efetuar alguns testes a chocolateira
industrial descrita em 3.1, com o intuito de verificar se o problema encontrado neste
teste persistia com a mesma intensidade ou se aumentava ao utilizar um equipamento de
maiores dimensões, suportando consequentemente uma maior massa de agua e com um
exterior metálico.

4.1.4 Cenário 4 - Monitorização de uma chocolateira industrial

Pretende-se com este cenário de testes, efetuar a monitorização de uma chocolateira


industrial de 3000W, figura 4.13, com o intuito de verificar se o problema encontrado
no cenário anterior persiste com a mesma intensidade ou se este se agrava, tornando-se
assim mais fácil de se detetar e modelar teoricamente de modo a confirmar se é de facto
devido à falta de isolamento do IC ACS71020.

Figura 4.13: Chocolateira industrial equipada com sensores de temperatura e monitoriza-


dor de potência consumida.

Para tal, a chocolateira foi equipada com três sensores de temperatura em pontos
específicos, sendo estes a cuba de aquecimento do chocolate e o compartimento onde
foi utilizado PCM, tendo sempre o cuidado de utilizar os sensores e o IC ACS71020 em
condições semelhantes ao cenário anterior de maneira a ser possível recriar o problema.

66
4 . 1 . VA L I DAÇÃO DA P L ATA FO R M A

4.1.4.1 Análise dos dados obtidos

Equipada a chocolateira industrial, efetuou-se o aquecimento da mesma até aos 30°C,


obtendo assim os dados presentes na figura 4.14. Após um primeira análise deste teste
com a duração de 10 minutos é possível detetar que o formato dos dados obtidos são
semelhantes ao do cenário anterior, sendo este o resultado pretendido, onde a tensão
medida se encontra com um comportamento fora do normal afetando assim os valores
que dependem da mesma, sendo estes o fator de potência e a potência medida.

Teste de aquecimento da chocolateira industrial para 30ºC


Período de amostragem = 3segundos
40 3000
Superior Inferior Exterior Interior P. Activa 2700
2400

Potência Ativa [W]


Temperatura [ºC]

35
2100
1800
30 1500
1200
900
25
600
300
20 0
0 1 2 3 4 5 6 7 8 9 10
Tempo [minutos]

Tensão e Corrente RMS Fator de potência


270 16 1

0.8
220 12
0.6
Corrente [A]
Tensão [V]

0.4
170 8
0.2
120 4 0
Tensão
Corrente -0.2
70 0
0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10
Tempo [minutos] Tempo [minutos]

Figura 4.14: Teste de monitorização de uma chocolateira industrial de 3000W.

Ao efetuar uma análise mais detalhada é possível verificar que, a tensão medida antes
e durante o período onde a chocolateira está ativa é de aproximadamente 185V, sendo
que este valor é consideravelmente menor que o valor de tensão de 225V medido no cená-
rio anterior. Adicionalmente após completado o aquecimento da chocolateira é possível
verificar que a tensão medida decresceu para valores próximos de 80V. Comparando estes
dados com os dados provenientes do medidor PM9C foi possível determinar que os mes-
mos se encontram incorretos, sendo o valor real da tensão 231V, confirmando-se assim
que o problema se intensificou ao efetuar um teste na chocolateira.

67
CA P Í T U LO 4 . R E S U LTA D O S E X P E R I M E N TA I S

Analisando o problema em questão, assumiu-se que seria devido à falta ou quebra do


isolamento do medidor de potência ACS71020 por parte do corpo do sensor de tempera-
tura que estaria avariado, criando assim uma passagem à massa, sabendo que o isolamento
é um factor necessário para o bom funcionamento do medidor este problema inviabiliza
as medições efetuadas.
A razão para esta teoria é a de que tanto em 4.1.1 como em 4.1.2, onde as medições
efetuadas se encontram corretas, o exterior dos equipamentos monitorizados que estão em
contacto com os sensores se encontram isolados, sendo que em 4.1.1 o vidro da lâmpada
não condutor e em 4.1.2 o corpo do frigorífico ser feito de plástico, outro material não
condutor. Enquanto isso, tanto no jarro eléctrico como na chocolateira é plausível que o
isolamento seja quebrado devido à existência de uma corrente de fuga, suficientemente
pequena para não ser detetada pelo interruptor diferencial, com origem no elemento
resistivo que está em contacto com a agua presente nos equipamentos e com os sensores
que estão imersos na agua.
Posto isto, no final do teste os sensores de temperatura foram retirados da agua, apro-
ximadamente na marca dos 8 minutos, sendo possível verificar que a temperatura dos
mesmos desceu rapidamente e por consequência a tensão medida alterou-se imediata-
mente para um valor correto, dentro da margem de erro calculada em 4.1.1.2, na marca
dos 9 minutos aproximadamente voltou-se a inserir e retirar um dos sensores de dentro
de agua, fazendo com que a tensão diminui-se para 80V e voltasse para um valor cor-
reto, confirmando assim que seria um problema de quebra de isolamento. Após o teste
acabado efetuou-se uma medição de resistência entre o exterior metálico dos sensores
em questão e a massa conectada ao IC ACS71020 obtendo-se valores entre os 10KΩ e os
27KΩ confirmando assim o problema esperado.

4.1.4.2 Modelação teórica do problema encontrado

Estando a origem do problema determinada, procedeu-se à simulação do sistema utili-


zado para efetuar a monitorização tanto do jarro eléctrico presente no cenário 3 como
da chocolateira industrial presente neste mesmo cenário, com recurso ao software de
simulação LtSpice.
Na figura 4.15, encontra-se o desenhado o circuito utilizado para efetuar a simulação,
sendo possível observar no mesmo todas as ligações efetuadas, desde a rede de baixa ten-
são conectada a carga e ao divisor resistivo que por sua vez estará ligado ao IC ACS71020
até às correntes de fugas criadas pelo elemento resistivo do equipamento e pelos sensores
de temperatura danificados.
De maneira a obter dados úteis para a compreensão do problema em causa, efetuou-
se uma simulação, presente na figura 4.16, onde se compara o valor eficaz ou RMS da
queda de tensão na resistência Rsense com os diferentes valores que a resistência R11 e R5
podem tomar, sendo estas a ligação à terra e a resistividade entre o corpo do sensor de
temperatura e a massa respetivamente.

68
4 . 1 . VA L I DAÇÃO DA P L ATA FO R M A

Figura 4.15: Esquema representando o equipamento, sistema de monitorização e pro-


blema devido ao isolamento do medidor de potência.

Para a resistência R11 foram utilizados dois valores resistivos específicos, com o intuito
de simular se o equipamento se encontra conectado ou não à terra de proteção.
Para a resistência R5 foram utilizados todos os valores resistivos que esta pode tomar
desde 1Ω até 1GΩ, significando os mesmo um curto-circuito à massa ou isolamento total
respetivamente. Será de notar que ao utilizar este software de simulação é necessário
que todos os circuitos possuam como referencia a massa, posto isto de modo a simular o
isolamento são utilizadas resistência de valores na ordem dos MΩ ou GΩ.
Examinando as curvas presentes na figura 4.16, é possível identificar dois comporta-
mentos distintos, sendo estes o aumento da queda de tensão em Rsense ou a diminuição,
caso a terra de proteção se encontre conectada ou não respetivamente, sendo que o for-
mato das curvas estará diretamente dependente da intensidade da corrente de fuga im-
posta por R10. Esta corrente de fuga dependerá de como o equipamento está construído,
no entanto para efeitos de simulação foi utilizado um valor de aproximadamente 288mA
sendo este um valor plausível e indetetável por um interruptor diferencial de 500mA
comummente utilizado.
Será de notar que tanto no circuito simulado presente na figura 4.15, como no gráfico
da figura 4.16 foram utilizados valores de tensão eficazes com o intuito de simplificar a
leitura dos mesmos.
No caso de não se possuir terra de proteção, sendo este o caso que se observou tanto
na figura 4.12 e na figura 4.14, a corrente de fuga criada por R10 é injetada partir da
resistência R5 na massa do IC ACS71020, fazendo com que a tensão em Vinn aumente,
visto que a tensão em Vinp se encontra com um valor estático a diferença de potencial
entre os dois nós diminui, diminuindo assim a tensão Vsense medida pelo IC.
No caso de a terra de proteção estar conectada é possível verificar o comportamento
inverso, visto que a tensão em Vinn diminui a diferença de potencial entre os dois nós

69
CA P Í T U LO 4 . R E S U LTA D O S E X P E R I M E N TA I S

aumenta, aumentando assim a tensão Vsense medida pelo IC chegando mesmo a um ponto
onde o amplificador de instrumentação satura corrompendo por completo todas as medi-
ções efetuadas.

Simulação LtSpice, Tensão V sense em função de resistencia à massa


250
Margem de erro aceitável
Valor teorico calculado
Com Terra de proteção
200 Sem Terra de proteção
Tensão V sense [mV]

150

100

50

0
10 1 10 2 10 3 10 4 10 5 10 6 10 7 10 8 10 9
Resistência [ ]

Figura 4.16: Simulação problema de isolamento, queda de tensão eficaz em função da


resistência à massa do sensor de temperatura.

Para ambos os casos simulados foi utilizada uma margem de ±5mV, identificada a
verde, centrada no valor teórico calculado no capitulo anterior, no entanto visto que o
circuito interno utilizado pelo IC é extremamente sensível a este tipo de estímulos, não é
possível determinar um valor de resistência à massa baixo e próximo o suficiente do valor
real onde seja possível obter uma medição de tensão correta.
Apesar de os resultados obtidos neste teste não estarem corretos ao efectuar esta simu-
lação tornou-se óbvio o porquê de o isolamento do IC ACS71020 ser uma característica
essencial para o bom funcionamento do mesmo, visto que caso o isolamento seja quebrado
é praticamente impossível efectuar uma medição correta com a topologia utilizada.
Posto isto, é possível retificar os erros causados pela medição de tensão, pois a medição
de corrente se encontra correta e está imune ao problema de falta de isolamento, adicio-
nalmente como a carga é puramente resistiva o facto de as medições de fator de potência
estarem erradas não afetarão o novo calculo de potência, visto que podem também ser
corrigidas.
Substituindo o valor de tensão por 231V, valor este medido pelo equipamento de
medição PM9C e recalculando os novos valores de potência obtém-se o gráfico seguinte
presente na figura 4.17.
No entanto, apesar de ser possível corrigir os dados obtidos é importante mencionar
que estes nunca poderão substituir uma medição efetuada corretamente, mesmo assim os

70
4 . 1 . VA L I DAÇÃO DA P L ATA FO R M A

dados corrigidos presentes na figura 4.17 possuem informações relevantes ao funciona-


mento da chocolateira industrial.
Analisando os dados corrigidos, determina-se que à semelhança do teste efetuado no
jarro eléctrico, é possível detetar alguma latência entre o consumo de energia elétrica e
a subida das temperaturas internas dos equipamentos, sendo que devido as dimensões
consideravelmente maiores da chocolateira, que resultam em um maior volume de agua
no seu interior em relação ao jarro eléctrico, obteve-se uma latência térmica superior.

Teste de aquecimento da chocolateira industrial para 30ºC


Valor de tensão e PF corrigido, Período de amostragem = 3 segundos
40 4000
Superior Inferior Exterior Interior P. Activa
3500

Potência Ativa [W]


Temperatura [ºC]

35 3000
2500
30 2000
1500
25 1000
500
20 0
0 1 2 3 4 5 6 7 8 9 10
Tempo [minutos]

Tensão e Corrente RMS Fator de potência


270 16 1

0.8
220 12
Corrente [A]
Tensão [V]

0.6
170 8
0.4

120 4
Tensão 0.2
Corrente
70 0 0
0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10
Tempo [minutos] Tempo [minutos]

Figura 4.17: Teste de monitorização de uma chocolateira industrial de 3000W com valores
de tensão e fator de potência corrigidos.

Outro ponto onde se podem efectuar comparações entre a chocolateira e o jarro é


na subida das temperaturas superiores e inferiores do compartimento de aquecimento
e no interior do jarro devido ao efeito da convecção. Enquanto que no jarro é possível
distinguir um diferencial de 2°C entre a temperatura superior e inferior, na chocolateira
devido ao seu porte superior é possível detetar não só uma diferença mais elevada, sendo
esta de 4°C em alguns pontos, mas também uma replicação do perfil criado pela subida
da temperatura inferior por parte da temperatura superior.

71
CA P Í T U LO 4 . R E S U LTA D O S E X P E R I M E N TA I S

Ao realizar estes diferentes cenários de teste foi possível determinar as limitações catu-
ais do sistema de monitorização implementado, sendo o problema da falta de isolamento
catastrófico, pois sem a utilização do medidor PM9C para confirmação os dados obtidos
todas as medições efetuadas teriam sido inutilizadas.
Estes resultados, apesar de não serem satisfatórios, pois o sistema de monitorização
não funcionou como se pretendia no cenário 3 e 4, são extremamente úteis para o desen-
volvimento de uma ferramenta robusta a todo o tipo de ambientes e situações, no entanto
é importante não invalidar que o sistema para ambientes menos inóspitos mantém-se
funcional com um grau de precisão bastante aceitável. Posto isto, ao saber exatamente os
pontos fracos do sistema é possível em uma segunda iteração efectuar a retificação dos
mesmos, obtendo assim um sistema de monitorização extremamente robusto.

4.2 Ensaio em equipamento com materiais PCM

Pretendeu-se neste cenário, estudar a capacidade de armazenamento de calor latente dos


materiais PCM em aplicações de TES. Para tal, efetuaram-se ensaios com a chocolateira
industrial utilizada em 4.1.4, equipada com materiais PCM e uma mistura de chocolate
e leite. Esta mistura foi utilizada com a intenção de testar o impacto que os materiais
PCM podem ter no processo de aquecimento e arrefecimento controlado de uma dada
substância.
Os métodos de TES utilizados na agroindústria, onde é geralmente utilizada água
devido à sua facilidade de utilização e ao facto de ser um material inerte, dependem
fortemente do armazenamento de calor sensível. Apesar da utilização da água limitar as
temperaturas de funcionamento dentro da gama dos 0°C a 100°C, e de fazer com que a
temperatura varie facilmente em função da energia armazenada [44]. Fazendo o arma-
zenamento de energia térmica em forma de calor latente, recorrendo a materiais PCM,
é possível manter uma temperatura estável durante a maioria do período de armazena-
mento e, simultaneamente, aumentar a gama de temperaturas de funcionamento.

4.2.1 Casos de estudo e montagem do sistema para o ensaio

De modo a analisar o impacto do PCM, foram considerados quatro casos, envolvendo a


carga e descarga do painel de aquecimento de 11,5L com e sem PCM. A cuba de aqueci-
mento do material foi parcialmente cheia, aproximadamente a 60%, com uma mistura de
chocolate e leite.
Quanto ao PCM, foi selecionado um material inorgânico composto à base de hidratos
de sal, denominado de S34. Este material foi utilizado, pois estes compostos apresentam
temperaturas de fusão que se encontram na faixa de operação de processamento de ali-
mentos e capacidades de armazenamento de calor latente superiores aos compostos à
base de parafina.

72
4 . 2 . E N SA I O E M E QU I PA M E N TO COM M AT E R I A I S P CM

O PCM escolhido (S34) possui uma temperatura de fusão de 34°C, que se adequa à
temperatura de fusão da mistura de chocolate e leite. É encapsulado recorrendo a um
polímero plástico retangular, dividido em bolsas retangulares de menor dimensão, de
modo a diminuir o risco de segregação do sal. Este método de encapsulamento providen-
cia também a flexibilidade mecânica necessária para que o PCM (S34) possa ser aplicado
ao painel de aquecimento de uma forma adequada. Na figura 4.18, da esquerda para a
direita, observam-se a mistura de chocolate e leite na cuba de aquecimento, o material
PCM (S34) onde é possível observar o tipo de encapsulamento utilizado e, por último, o
material PCM aplicado ao painel de aquecimento.

Figura 4.18: Esquerda para a direita: mistura de chocolate e leite, PCM (S34) encapsulado
e PCM (S34) aplicado na chocolateira.

Foram posicionados 3 sensores de temperatura dentro da chocolateira. Prevendo-se


a existência de gradientes de temperatura entre o centro da mistura utilizada e as suas
extremidades, os sensores foram aplicados: no painel de aquecimento, de modo a monito-
rizar o material de aquecimento; na extremidade da mistura de chocolate utilizada; e no
centro da mistura. Desta forma, foi possível observar as diferenças de temperatura entre
o material presente no painel de aquecimento e os diferentes pontos na mistura. Este posi-
cionamento de sensores permitiu obter informações quanto à inversão das temperaturas
no centro da mistura e da sua extremidade no ensaio de controlo sem o uso de PCM no
momento da descarga.
Por fim, foi também utilizado em conjunção com os sensores de temperatura o medi-
dor de potência desenvolvido em 3.3.2 e o medidor de potência PM9C.

4.2.2 Análise dos dados obtidos


A partir dos ensaios experimentais, foram obtidos os dados para gerar os gráficos ilustra-
dos nas figuras 4.19 e 4.20. A figura 4.19 refere-se ao ensaio de controlo, onde se utilizou
água para aquecer a mistura na cuba e a figura 4.20 refere-se ao ensaio utilizando o mate-
rial PCM no painel de aquecimento. É também importante de referir que, para o ensaio

73
CA P Í T U LO 4 . R E S U LTA D O S E X P E R I M E N TA I S

de controlo, visto que se utiliza água, o armazenamento térmico é do tipo sensível. Por
sua vez, ao utilizar um PCM, o armazenamento é do tipo latente.
Efetuando uma análise comparativa entre casos de ensaio, determinou-se que, com a
introdução de um material PCM, apesar do consumo energético ser superior, a capacidade
de armazenamento térmico foi melhorada, o ritmo de perda de temperatura foi reduzido,
a estabilidade térmica do material foi melhorada e o período de operação foi prolongado.

Ensaio de carga e descarga térmica com 11,5L água, chocolate e sem PCM
Período de amostragem = 21,7segundos
45
Centro da mistura PCM Extremidade da mistura P. Activa

40

35 3000

Potência Ativa [W]


Temperatura [ºC]

30 2400

25 1800

20 1200

15 600

10 0
0 2 4 6 8 10 12 14 16
Tempo [Horas]

Figura 4.19: Ensaio de controlo utilizando água e uma mistura de chocolate e leite. Carga
e descarga com armazenamento térmico sensível.

A solução com PCM (figura 4.20) apresentou um aumento no consumo energético


de 54, 9% (515W h para 798W h) para completar a carga, o qual foi compensado pelo
aumento do armazenamento térmico, o prolongamento do ciclo de operação e o aumento
da estabilidade térmica, sem a necessidade de reativar o aquecimento. Sendo assim, caso
exista possibilidade de alimentar a carga recorrendo a fontes renováveis, em períodos
de baixa exploração das mesmas ou em períodos horários onde a tarifa seja menor, será
possível obter um ganho de eficiência e flexibilidade energética, não por redução de
consumo em si, mas sim pela redução das perdas no seu aproveitamento e consumo.
Na figura 4.20, aquando da descarga foi possível observar que a mistura de chocolate
descarrega com aproximadamente o mesmo ritmo do PCM, ao contrário do que acontece
na figura 4.19, em que a água arrefece mais rapidamente que a mistura, fazendo com
que a própria mistura comece a fornecer energia térmica à água, sendo isto contraprodu-
tivo. Como na figura 4.20 não existe o caso onde a mistura fornece energia térmica ao
PCM, obtém-se um ganho de aproximadamente 32% (1hora e 20minutos) no período de
operação.

74
4 . 2 . E N SA I O E M E QU I PA M E N TO COM M AT E R I A I S P CM

Ensaio de carga e descarga térmica com 8L água, 3,5L de PCM e chocolate


Período de amostragem = 21,7segundos
45
Centro da mistura PCM Extremidade da mistura P. Activa

40

35

Potência Ativa [W]


Temperatura [ºC]

30
3500
25 3000
2500
20 2000
1500
15 1000
500
10 0
0 5 10 15 20 25 30 35 40 45
Tempo [Horas]

Figura 4.20: Ensaio utilizando PCM e uma mistura de chocolate e leite.Carga e descarga
com armazenamento térmico latente.

Além do aumento da capacidade de armazenamento de energia térmica local, a intro-


dução do PCM permite aumentar a estabilidade térmica ao longo do período de operação,
visto que o ritmo de perda a abaixo da temperatura de fusão (34°C) foi reduzido de 0, 74
°C/h para 0, 46 °C/h.
Por último, observa-se que no processo de descarga, figura 4.19, a variação de tem-
peratura foi linear entre os 38 °C e os 30 °C. Analogamente, no ensaio utilizando PCM
(figura 4.20), observa-se um ponto de inflexão centrado nos 34°C, estando este associado
ao inicio do processo de solidificação do PCM devido à diminuição de energia térmica
sensível, tanto por fornecimento à mistura como por perdas de radiação.
No processo destes ensaios, foi demonstrada a capacidade de implementação e incor-
poração de PCM diretamente na estrutura de equipamentos, substituindo parcialmente a
água como fonte de armazenamento de energia térmica, efetuando assim uma passagem
de armazenamento térmico latente para sensível, obtendo-se benefícios tanto ao nível do
armazenamento térmico como da estabilidade térmica. A substituição da água permitiu
um aumento considerável na capacidade de armazenamento de energia térmica.

75
Capítulo
5
Co n clu s ão e Tr a ba l h o s Fu t u r o s

A adaptação e utilização de diferentes tecnologias e componentes para a implementação


de um sistema autónomo com uma determinada função pode apresentar vários desafios
na definição das suas funções gerais, na conceção de uma solução prática, no seu custo e
por fim na implementação e resolução de problemas.
A utilização de PCM é um exemplo de uma solução com bastante potencial, podendo
solucionar alguns problemas referentes à carência energética para o aquecimento de subs-
tâncias e à sua ineficiência. No entanto, o uso deste material ainda comporta alguns
problemas como praticabilidade e eficácia, visto que é difícil de se determinar o compor-
tamento de um sistema ao ser equipado com este material.
Nesta dissertação foram propostas e desenvolvidas as bases de uma plataforma de
monitorização IoT flexível, escalável e de baixo custo com a capacidade de monitorizar
sistemas que tenham em algum ponto do seu funcionamento o aquecimento de substân-
cias. O sistema de monitorização foi dividido em quatro secções que podem ser agrupadas
para criar um nó IoT, sendo estas: módulo de sensores, módulo de aquisição de dados,
módulo de comunicação e a plataforma IoT. As grandezas a monitorizar que foram esco-
lhidas devido às características predominantes dos PCM’s de reter energia térmica e dos
equipamentos que têm por base efetuar o aquecimento de uma substância foram inicial-
mente a potência ativa, o fator de potência e as temperaturas do sistema a monitorizar. No
entanto, com a evolução e complexidade do sistema de monitorização foram adicionadas
grandezas como tensão e corrente RMS, visto que com estas é possível obter um melhor
entendimento de alguns comportamentos inesperados.
Os sensores selecionados adequaram-se às características dos equipamentos a monito-
rizar, fornecendo dados precisos sobre o funcionamento dos mesmos nos cenários de teste,
à exceção dos cenários presentes em 4.1.3 e 4.1.4. Devido ao método de construção dos
sensores de temperatura e dado que estes se encontravam imersos num líquido condutor

77
CA P Í T U LO 5 . CO N C LU SÃO E T R A BA L H O S F U T U R O S

fizeram com que existissem alguns problemas de falta de isolamento, provocando assim
alterações nos dados obtidos provenientes do equipamento responsável pela medição de
potência.
O módulo de aquisição de dados encontra-se implementado em conjunto com o nó
de comunicação utilizando um protocolo de comunicação simples, fazendo com que alte-
rações aos dados transmitidos sejam efetuadas com facilidade para que este se adeque a
qualquer tipo de combinação de sensores e dados adquiridos.
A plataforma IoT escolhida, encontra-se como uma das melhores não só no seu de-
sempenho e características mas também relativamente ao seu custo, a implementação de
funções futuras encontra-se também simplificada devido à documentação detalhada que
é fornecida aos utilizadores.
Após efetuada a validação da plataforma foi realizado um ensaio onde se testou o fun-
cionamento de um dado equipamento, antes e depois de ser introduzido o material PCM.
Neste ensaio foi possível determinar que, ao utilizar PCM para efetuar o armazenamento
de energia térmica latente o ciclo de operação e a estabilidade térmica do equipamento
eram melhorados sem que existisse a necessidade de reativar o elemento de aquecimento,
no entanto, o consumo energético deste mesmo equipamento aumentou em 54,9%. Sendo
assim, caso exista possibilidade de alimentar a carga recorrendo a fontes renováveis, em
períodos de baixa exploração das mesmas ou em períodos horários onde a tarifa seja
menor, será possível obter um ganho de eficiência e flexibilidade energética.
Posto isto, o nó IoT implementado cumpre todas as especificações impostas, forne-
cendo armazenamento de dados e um método de monitorização dos mesmos em tempo
real com uma precisão notável, exceto em algumas condições pontuais. Este sistema de
monitorização devido às métricas que monitoriza, possui a capacidade de se tornar uma
ferramenta útil no controlo e estudo da implementação de PCM para o armazenamento
térmico latente.

5.1 Trabalhos futuros


Primeiramente, sugere-se a adição de um maior conjunto de sensores prontos a utilizar
em conjunto com o módulo de aquisição de dados, fazendo efetivamente com que exista
uma maior facilidade de se monitorizar diferentes equipamentos consoante a necessidade.
Adicionalmente, a criação de bibliotecas para os diversos sensores é visto como um ponto
importante no que toca à rápida implementação dos mesmos.
Em segundo lugar, propõe-se a alteração da implementação do IC ACS71020. A adi-
ção de um método de derivação de alimentação elétrica vinda da rede de baixa tensão,
utilizando um pequeno transformador redutor com um retificador de onda completa e
um conversor em modo buck em conjunto com algum mecanismo de isolamento galvâ-
nico das linhas de comunicação é imperativo para o bom funcionamento do IC em todas
as situações de funcionamento por mais adversas que estas se encontrem.

78
5 . 1 . T R A BA L H O S F U T U R O S

Depois, sugere-se a alteração dos sensores de temperatura a utilizar caso estes neces-
sitem de estar imersos em líquidos condutores. Visto que com o aquecimento e arrefeci-
mento sucessivo dos sensores pode surgir falhas no invólucro, criando assim situações
problemáticas difíceis de processar e descobrir, tornando uma implementação simples e
rápida num processo moroso e ineficiente.
Por último, sugere-se a utilização de algumas funções presentes na plataforma Azure
for IoT de maneira a acelerar e melhorar o desempenho da mesma. A utilização do meca-
nismo de adição automática de dispositivos IoT ao serviço IoT Hub é vista como uma boa
adição ao melhoramento e facilidade de implementação dos sistemas de monitorização.
A adição de serviços de inteligência artificial e machine learning poderão também, trazer
mais-valias ao sistema de monitorização, visto que estes podem ajudar na descoberta
de padrões de utilização, fenómenos difíceis de relacionar e na deteção preventiva de
problemas e falhas.

79
Bibliografia

[1] P. Linares e X. Labandeira. “Energy efficiency: Economics and policy”. Em: Journal
of Economic Surveys 24.3 (2010), pp. 573–592. i s s n: 09500804. d o i: 10.1111/j.
1467-6419.2009.00609.x.
[2] D. Y. Perraudin, S. R. Binder, E. Rezaei, A. Ortona e S. Haussener. “Phase change
material systems for high temperature heat storage”. Em: Chimia 69.12 (2015),
pp. 780–783. i s s n: 00094293. d o i: 10.2533/chimia.2015.780.
[3] A. Bejan. Thermodynamics Other books by Adrian Bejan : i s b n: 9781119052098.
[4] P. P. Urone. Heat. 2019. u r l: https : / / phys . libretexts . org / Bookshelves /
College_Physics/Book%3A_College_Physics_(OpenStax)/14%3A_Heat_and_
Heat_Transfer_Methods/14.02%3A_Heat.
[5] A. S. L. Frank P. Incropera, David P. Dewitt, Theodore L. Bergman. Fundamentals
of Heat and Mass Transfer. Vol. 53. 9. 2013, pp. 1689–1699. i s b n: 9788578110796.
do i: 10.1017/CBO9781107415324.004. arXiv: arXiv:1011.1669v3.
[6] H. Mehling e L. F. Cabeza. “PHASE CHANGE MATERIALS AND THEIR BASIC
PROPERTIES”. Em: Thermal Energy Storage for Sustainable Energy Consumption.
Ed. por H. Ö. Paksoy. Dordrecht: Springer Netherlands, 2007, pp. 257–277. i s b n:
978-1-4020-5290-3.
[7] D. Lora. “Phase change material product design. Market and business development
assessment in the food industry”. Em: Instituto superior técnico de lisboa (2014),
p. 113.
[8] S. Pereira e L. Costa. “Armazenamento de Energia Térmica Através de Materiais de
Mudança de Fase”. Em: Faculdade de engenharia universidade do porto (2014), p. 162.
u r l: https://repositorio-aberto.up.pt/bitstream/10216/73754/2/98207.
pdf.
[9] N. Pfleger, T. Bauer, C. Martin, M. Eck e A. Wörner. “Thermal energy storage -
overview and specific insight into nitrate salts for sensible and latent heat storage”.
Em: Beilstein Journal of Nanotechnology 6.1 (2015), pp. 1487–1497. issn: 21904286.
do i: 10.3762/bjnano.6.154.

81
BIBLIOGRAFIA

[10] D. Zhou. “Review on thermal energy storage with phase change materials (PCMs)
in building applications”. Em: School of Engineering, University of Warwick; 2School
of Mechanical Engineering, Shanghai Jiaotong University (2012), pp. 593–605.
[11] K. Pielichowska e K. Pielichowski. “Phase change materials for thermal energy
storage”. Em: Progress in Materials Science 65.May 2012 (2014), pp. 67–123. i s s n:
00796425. d o i: 10.1016/j.pmatsci.2014.03.005.
[12] S. Mondal. “Phase change materials for smart textiles - An overview”. Em: Applied
Thermal Engineering 28.11-12 (2008), pp. 1536–1550. i s s n: 13594311. d o i: 10 .
1016/j.applthermaleng.2007.08.009.
[13] C. Sunliang. “State of the Art Thermal Energy Storage Solutions for High Perfor-
mance Buildings”. Em: University of Jyväskylä (2010), p. 201.
[14] A. Sharma, V. V. Tyagi, C. R. Chen e D. Buddhi. “Review on thermal energy storage
with phase change materials and applications”. Em: Renewable and Sustainable
Energy Reviews 13.2 (2009), pp. 318–345. i s s n: 13640321. d o i: 10.1016/j.rser.
2007.10.005.
[15] N. Sarier e E. Onder. “Organic phase change materials and their textile applications:
An overview”. Em: Thermochimica Acta 540 (2012), pp. 7–60. issn: 00406031. doi:
10.1016/j.tca.2012.04.013. u r l: http://dx.doi.org/10.1016/j.tca.2012.
04.013.
[16] G. A. Lane. Solar Heat Storage: Latent Heat Materials Vol1. 1983.
[17] S. Sharma e K. Sagara. “Latent Heat Storage Materials and Systems: A Review”. Em:
International Journal of Green Energy 2.1 (2005), pp. 1–56. i s s n: 1543-5075. d o i:
10.1081/ge-200051299.
[18] D. W. Hawes, D. Feldman e D. Banu. “Latent heat storage in building materials”.
Em: Energy and Buildings 20.1 (1993), pp. 77–86. i s s n: 03787788. d o i: 10.1016/
0378-7788(93)90040-2.
[19] H. Ö. Paskoy. Thermal energy Storage for sustainable Energy Consumptiom, Fundamen-
tals, Case Studies and Design. i s b n: 9781402052880.
[20] R. van Kranenburg e A. Bassi. “IoT Challenges”. Em: Communications in Mobile
Computing 1.1 (2012), pp. 1–5. i s s n: 2192-1121. d o i: 10.1186/2192-1121-1-9.
[21] L. Atzori, A. Iera e G. Morabito. “The Internet of Things: A survey”. Em: Computer
Networks 54.15 (2010), pp. 2787–2805. i s s n: 13891286. d o i: 10.1016/j.comnet.
2010.05.010.
[22] J. H. Nord, A. Koohang e J. Paliszkiewicz. “The Internet of Things: Review and
theoretical framework”. Em: Expert Systems with Applications 133 (2019), pp. 97–
108. i s s n: 09574174. d o i: 10.1016/j.eswa.2019.05.014.
[23] Espressif. ESP32 Overview | Espressif Systems. 2017. url: https://www.espressif.
com/en/products/hardware/esp32/overview.

82
BIBLIOGRAFIA

[24] E. Embedded. Overview of ESP32 features. u r l: https://www.exploreembedded.


com/wiki/Overview_of_ESP32_features._What_do_they_practically_mean%
3F.
[25] CYPRESS PSOC. 32-bit Arm® Cortex®-M3 PSoC® 5LP. url: https://www.cypress.
com/products/32-bit-arm-cortex-m3-psoc-5lp.
[26] Raspberry Pi Foundation. Raspberry Pi 3 Model B+ Datasheet. 2016. u r l: https:
//static.raspberrypi.org/files/product- briefs/Raspberry- Pi- Model-
Bplus-Product-Brief.pdf.
[27] Atmel. ATmega328P 8-bit AVR Microcontroller with 32K Bytes In-System Program-
mable Flash DATASHEET. 2015.
[28] Espressif. ESP32 Series Datasheet. 2019. u r l: https : / / www . espressif . com /
sites/default/files/documentation/esp32_datasheet_en.pdf.
[29] C. C. Liu, S. J. Chang, G. Y. Huang e Y. Z. Lin. “A 10-bit 50-MS/s SAR ADC with a
monotonic capacitor switching procedure”. Em: IEEE Journal of Solid-State Circuits
45.4 (2010), pp. 731–740. i s s n: 00189200. d o i: 10.1109/JSSC.2010.2042254.
[30] M. R. Miller e C. S. Petrie. “A multibit sigma-delta ADC for multimode receivers”.
Em: IEEE Journal of Solid-State Circuits 38.3 (2003), pp. 475–482. i s s n: 00189200.
do i: 10.1109/JSSC.2002.808321.
[31] Maximintegrated. DS18B20 Programmable Resolution 1-Wire Digital Thermometer
DS18B20 Programmable Resolution 1-Wire Digital Thermometer Absolute Maximum
Ratings. 2019. url: https://datasheets.maximintegrated.com/en/ds/DS18B20.
pdf.
[32] R. M. Solutions. Monnit Wireless temperature sensor datasheet. 2020. u r l: https:
//monnit.azureedge.net/content/documents/datasheets/sensors/MDS-001-
Temperature-Sensor-Data-Sheet.pdf.
[33] Fischer. NC56 Capacitive Level Sensor - Datasheet. 2000. u r l: http://www.alvi.
com.au/wp-content/product-pdf/DB_GB_NC56.pdf.
[34] Texas Instruments. MSP430AFE2x3 single-phase energy meter IC. 2011. url: https:
//e2e.ti.com/cfs-file/__key/communityserver-discussions-components-
files/196/slyt428.pdf.
[35] M. Integrated. AC Power Measurement IC Table of Contents. 2012. u r l: https://
datasheets.maximintegrated.com/en/ds/78M6613.pdf.
[36] A. Microsystems. Single Phase , Isolated , Power Monitoring IC with Voltage Zero
Crossing and Overcurrent Detection. 2018. u r l: https://www.allegromicro.com/
en/products/sense/current- sensor- ics/zero- to- fifty- amp- integrated-
conductor-sensor-ics/acs71020.
[37] Campeona. Txm/20-lb Datasheet. url: http://campeona.es/product.php?lang=
en&param1=txm20-lb.

83
BIBLIOGRAFIA

[38] Cypress. DS18x8 Digital Temperature Sensor General description Input-output connec-
tions.
[39] A. Microsystems. User Manual User Manual. 2012. url: https://www.allegromicro.
com/~/media/Files/Demo-Boards/ASEK71020-Eval-Board-User-Manual.ashx.
[40] H. Hejazi, H. Rajab, T. Cinkler e L. Lengyel. “Survey of platforms for massive IoT”.
Em: 2018 IEEE International Conference on Future IoT Technologies, Future IoT 2018
2018-Janua (2018), pp. 1–8. d o i: 10.1109/FIOT.2018.8325598.
[41] P. Pierleoni, R. Concetti, A. Belli e L. Palma. “Amazon, Google and Microsoft So-
lutions for IoT: Architectures and a Performance Comparison”. Em: IEEE Access 8
(2020), pp. 5455–5470. i s s n: 21693536. d o i: 10.1109/ACCESS.2019.2961511.
[42] R. Stamminger. “Synergy Potential of Smart Appliances”. Em: D2.3 of WP2 from the
Smart-A project (2008), p. 237. i s s n: 1540-7977. u r l: http://ieeexplore.ieee.
org/xpl/freeabs_all.jsp?arnumber=5452928.
[43] M. Pipattanasomporn, M. Kuzlu, S. Rahman e Y. Teklu. “Load profiles of selected
major household appliances and their demand response opportunities”. Em: IEEE
Transactions on Smart Grid 5.2 (2014), pp. 742–750. issn: 19493053. doi: 10.1109/
TSG.2013.2268664.
[44] S. Furbo. Using water for heat storage in thermal energy storage (TES) systems. 2015,
pp. 31–47. i s b n: 9781782420965. d o i: 10.1533/9781782420965.1.31.

84
Anexo
I
Có d i g o u t i l i z ad o n o M C U P S o C 5 L p

Listagem I.1: Código PSoC 5Lp.


1 / * ========================================
2 /*
3 / * Autor: Diogo Alexandre Ferreira ,
4 / * Ano: 2020, Novembro
5 / * Descriao: Código pertencente ao Nó IoT
6 / * com o intuito de fazer uma monitorizaçao
7 / * integrada de materiais PCM.
8 /*
9 / * ========================================
10 */
11 #include "project.h"
12 #include <stdio.h>
13 #include <stdlib.h>
14 #include <math.h>
15
16 #define high 1
17 #define low 0
18
19 // *************** Endereços ACS71020 ***************
20 #define VrmsIrms 0x20
21 #define Pactive 0x21
22 #define Saparent 0x22
23 #define Qreactive 0x23
24 #define PFactor 0x24
25 #define Pinst 0x2c
26 #define Numsamp 0x25
27
28 #define ACCESS 0x2e
29 #define code 0x4F70656E

85
A N E XO I . CÓ D I G O U T I L I Z A D O N O M C U P S O C 5 L P

30 #define read 0x80


31 #define write 0x00
32 // *************** Variaveis Globais **************
33 float VRMs = 0.0000; // Tensao RMS
34 float IRMs = 0.0000; // corrente RMS
35 float P = 0.0000; //Potência activa
36 float S = 0.0000; //Potência aparente
37 float Q = 0.0000; //Potência Reactiva
38 float PF = 0.0000; // Factor de potência
39 // *************** Constantes Globais *************
40 float fullscaleV =550.0; // Full scale voltage
41 float IPR = 30.0; // Dispositivo vem calibrado de fábrica
42 float Vstep= 0.00003051757; // passar para numero fraccionário 15 bitfrac
43 float Istep= 0.00006103515; // passar para numero fraccionário 14 bitfrac
44 float PFstep =0.001953125; // passar para numero fraccionário 9bitfrac
45 float MxPwr =16500.0; // full scale power calculated by fullscaleV * IPR
46 int TRIM = 0; // Trims readings to zero when voltage is under 15 volt
47 // *************** Variaveis globais de temperatura *************
48 float T1 = 0;
49 float T2 = 0;
50 float T3 = 0;
51 float T4 = 0;
52
53
54 void SPIrequestData32 (int rw , uint8 addr , uint8 p, uint8 s, uint8 t, uint8 q){
55 / * ******************************************************************
56 /* Pedido de dados de um registo com permissoes de leitura ou escrita
57 /* e guarda uma resposta de 32 btis no buffer Rx de SPI
58 /* Inputs int RW , uint8 addr Clears TxRx&FIFO
59 /* RW == 1 READ RW==0 Write
60 /* resposta de 32bit é guardada em SPI_RxDataBuffer
61 / ****************************************************************** * /
62 uint8 Address = 0x00;
63 // clear buffers
64 SPIM_1_ClearTxBuffer ();
65 SPIM_1_ClearRxBuffer ();
66 SPIM_1_ClearFIFO ();
67 // enviar o enderesso com o bit de RW
68 // uint8 Address = ((0 x1E) | read );
69 if(rw ==1){
70 Address = (( addr) | read );
71 }else if (rw == 0){
72 Address = (( addr) | write );
73 }
74 // esperar uma resposta de 32bit == 4 frames
75 if(rw ==1){
76 SPIM_1_WriteTxData (Address );
77 SPIM_1_WriteTxData (0x00);
78 SPIM_1_WriteTxData (0x00);
79 SPIM_1_WriteTxData (0x00);

86
80 SPIM_1_WriteTxData (0x00 );}
81 if(rw ==0){
82 SPIM_1_WriteTxData (Address );
83 SPIM_1_WriteTxData (p);
84 SPIM_1_WriteTxData (s);
85 SPIM_1_WriteTxData (t);
86 SPIM_1_WriteTxData (q);}
87 while (!( SPIM_1_ReadTxStatus () & SPIM_1_STS_SPI_DONE ));
88
89 }
90
91 void resetvars (){
92 / * ******************************************************************
93 /* Reset a variaveis globais ( VRMs IRMs P S Q and PF)
94 / ****************************************************************** * /
95 VRMs = 0.0000; // Tensao RMS
96 IRMs = 0.0000; // corrente RMS
97 P = 0.0000; //Potência activa
98 S = 0.0000; //Potência aparente
99 Q = 0.0000; //Potência Reactiva
100 PF = 0.0000; // Factor de potência
101
102 }
103
104 void V_I_RMS (){
105 / * ******************************************************************
106 /* Transforma uma resposta de 32 bits em VRMS(V) and IRMS(A) values
107 /* output variaveis globais VRMs IRMs
108 / ****************************************************************** * /
109 uint8 primeiro = 0;
110 uint8 segundo = 0;
111 uint8 terceiro = 0;
112 uint8 quarto = 0;
113 uint16 V = 0;
114 uint16 I = 0;
115 uint16 aux = 0;
116 uint16 aux2 = 0;
117 for(uint8 i = 0u; i<5u; i++){
118 // ignorar o primeiro
119 switch(i){
120 case 0: SPIM_1_ReadRxData (); break; // ingorar o primeiro
121 case 1: primeiro = SPIM_1_ReadRxData (); break;
122 case 2: segundo = SPIM_1_ReadRxData (); break;
123 case 3: terceiro = SPIM_1_ReadRxData (); break;
124 case 4: quarto = SPIM_1_ReadRxData (); break;
125 default:break;
126 }
127
128 }
129 // Tensao é um numero fraccionario de 15 bits , 16 obit

87
A N E XO I . CÓ D I G O U T I L I Z A D O N O M C U P S O C 5 L P

130 V = (( segundo <<8) | primeiro );


131 VRMs = (fullscaleV * ( (float)V / (float )0 x8000) );
132
133 // corrente é um numero de 15 bits com 14 bits fraccionários
134 I = ((quarto <<8) | terceiro );
135 // mascara para tirar o numero das unidades
136 aux = I & 0 b0100000000000000 ;
137 if(aux == 0x4000 ){ aux = 1;}
138 else if (aux == 0){ aux = 0;}
139 // mascara para retirar o numero fraccionário
140 aux2 = (I & 0 b0011111111111111 );
141 // corrente é dada pela multiplicaçao do IPR pela soma
142 //das unidades com a parte fraccionária
143 IRMs = IPR * (aux + (aux2 * Istep ));
144
145
146 }
147
148 void ActivePower (){
149 / * ******************************************************************
150 /* Transforma uma resposta de 32 bits em potencia in Watts
151 /* output variaveis globais P
152 / ****************************************************************** * /
153 uint8 primeiro = 0;
154 uint8 segundo = 0;
155 uint8 terceiro = 0;
156 uint16 Power = 0;
157 float neg =0.0;
158 uint16 aux =0;
159 uint16 unid =0;
160 uint16 frac =0;
161 for(uint8 i = 0u; i<5u; i++){
162 // ignorar o primeiro
163 switch(i){
164 case 0: SPIM_1_ReadRxData (); break; // ingorar o primeiro
165 case 1: primeiro = SPIM_1_ReadRxData (); break;
166 case 2: segundo = SPIM_1_ReadRxData (); break;
167 case 3: terceiro = SPIM_1_ReadRxData (); break;
168 default:break;
169 }
170
171 }
172 // potencia activa é um signed17bit com 15 bits fraccionários
173 Power = (( segundo <<8) | primeiro );
174 terceiro = terceiro & 0b00000001; // retirar o bit de sinal
175 if( terceiro == 1 ){neg = -1.0; Power = ~Power ;}
176 else if( terceiro == 0){ neg = 1.0;}
177
178
179 aux = Power & (0 b1000000000000000 ); // retirar o bit das unidades

88
180
181 if( aux == 0x8000 ){ unid = 1.0;}
182 else if(aux == 0){ unid = 0.0;}
183
184 frac= Power & (0 b0111111111111111 ); // retirar a parte fraccionaria
185
186 P=MxPwr * neg * ( unid + (( float)frac /( float )0 x8000) );
187
188
189 }
190
191 void ApparentPower (){
192 / * ******************************************************************
193 /* Transforma uma resposta de 32 bits em VoltAmpere
194 /* output variaveis globais S
195 / ****************************************************************** * /
196 uint8 primeiro = 0;
197 uint8 segundo = 0;
198 uint16 Power = 0;
199 uint16 aux =0;
200 uint16 unid =0;
201 uint16 frac =0;
202 for(uint8 i = 0u; i<5u; i++){
203 // ignorar o primeiro
204 switch(i){
205 case 0: SPIM_1_ReadRxData (); break; // ingorar o primeiro
206 case 1: primeiro = SPIM_1_ReadRxData (); break;
207 case 2: segundo = SPIM_1_ReadRxData (); break;
208 default:break;
209 }
210
211 }
212 Power = (( segundo <<8) | primeiro );
213
214 aux = Power & (0 b1000000000000000 );
215 if( aux == 0x8000 ){ unid = 1.0;}
216 else if(aux == 0){ unid = 0.0;}
217
218 frac= Power & (0 b0111111111111111 );
219 S = (unid + (frac * Vstep )) * MxPwr;
220
221 }
222
223 void ReactivePower (){
224 / * ******************************************************************
225 /* Transforma uma resposta de 32 bits em VoltAmpereReactive
226 /* output variaveis globais Q
227 / ****************************************************************** * /
228 uint8 primeiro = 0;
229 uint8 segundo = 0;

89
A N E XO I . CÓ D I G O U T I L I Z A D O N O M C U P S O C 5 L P

230 uint16 Power = 0;


231 uint16 aux =0;
232 uint16 unid =0;
233 uint16 frac =0;
234 for(uint8 i = 0u; i<5u; i++){
235 // ignorar o primeiro
236 switch(i){
237 case 0: SPIM_1_ReadRxData (); break; // ingorar o primeiro
238 case 1: primeiro = SPIM_1_ReadRxData (); break;
239 case 2: segundo = SPIM_1_ReadRxData (); break;
240 default:break;
241 }
242
243 }
244 Power = (( segundo <<8) | primeiro );
245
246 aux = Power & (0 b1000000000000000 );
247 if( aux == 0x8000 ){ unid = 1.0;}
248 else if(aux == 0){ unid = 0.0;}
249
250 frac= Power & (0 b0111111111111111 );
251
252 Q = (unid + (frac * Vstep )) * MxPwr;
253
254 }
255
256 void PowerFactor (){
257 / * ******************************************************************
258 /* Transforma uma resposta de 32 bits em PowerFactor
259 /* output variaveis globais PF
260 / ****************************************************************** * /
261 uint8 primeiro = 0;
262 uint8 segundo = 0;
263 uint16 phi = 0;
264 uint16 aux =0;
265 uint16 unid =0;
266 uint16 frac =0;
267 float neg =0.0;
268 for(uint8 i = 0u; i<5u; i++){
269 // ignorar o primeiro
270 switch(i){
271 case 0: SPIM_1_ReadRxData (); break; // ingorar o primeiro
272 case 1: primeiro = SPIM_1_ReadRxData (); break;
273 case 2: segundo = SPIM_1_ReadRxData (); break;
274 default:break;
275 }
276
277 }
278 phi = (( segundo <<8) | primeiro );
279

90
280 neg = phi & (0 b0000010000000000 );
281 if( neg == 0x400 ){neg = -1.0; phi= ~phi;}
282 else if(neg == 0){ neg = 1.0;}
283 aux = phi & (0 b0000001000000000 );
284 if( aux == 0x200 ){ unid = 1;}
285 else if(aux == 0){ unid = 0;}
286
287 frac= phi & (0 b0000000111111111 );
288
289 PF = neg * ( unid +( frac * PFstep ));
290
291 }
292
293 void customermode(uint8 addr , uint8 p, uint8 s, uint8 t, uint8 q){
294 / * ******************************************************************
295 /* Envia o codigo de cliente depois de um pequeno delay envia a mensagem
296 /que se pretende escrever na eeprom
297 /* inputs uint8 addr , uint8 p, uint8 s, uint8 t, uint8 q
298 /(P is least significant byte and Q most significant byte ...
299 / out of a 32bit message)
300 / ****************************************************************** * /
301 CyDelay (40);
302 SPIrequestData32 (0,0x2f ,0x6e ,0x65 ,0x70 ,0x4f);
303 CyDelay (40);
304 SPIrequestData32 (0,addr ,p,s,t,q);
305 }
306
307 void avg50 (){
308 / * ******************************************************************
309 /* media de 50 leituras
310 / ****************************************************************** * /
311
312 float v = 0.0000; // Tensao RMS
313 float i = 0.0000; // corrente RMS
314 float p = 0.0000; //Potência activa
315 float s = 0.0000; //Potência aparente
316 float q = 0.0000; //Potência Reactiva
317 float pf = 0.0000; // Factor de potência
318
319
320 for(uint8 j = 0u; j <50; j++){
321 resetvars ();
322 SPIrequestData32 (1, Pactive ,0,0,0,0);
323 SPIrequestData32 (1, Pactive ,0,0,0,0);
324 ActivePower ();
325 // CyDelay (10);
326
327 SPIrequestData32 (1, VrmsIrms ,0,0,0,0);
328 SPIrequestData32 (1, VrmsIrms ,0,0,0,0);
329 V_I_RMS ();

91
A N E XO I . CÓ D I G O U T I L I Z A D O N O M C U P S O C 5 L P

330 // CyDelay (10);


331
332 SPIrequestData32 (1, Saparent ,0,0,0,0);
333 SPIrequestData32 (1, Saparent ,0,0,0,0);
334 ApparentPower ();
335 // CyDelay (10);
336
337 SPIrequestData32 (1, Qreactive ,0,0,0,0);
338 SPIrequestData32 (1, Qreactive ,0,0,0,0);
339 ReactivePower ();
340 // CyDelay (10);
341
342 SPIrequestData32 (1, PFactor ,0,0,0,0);
343 SPIrequestData32 (1, PFactor ,0,0,0,0);
344 PowerFactor ();
345 // CyDelay (10);
346
347 if(VRMs <15 && TRIM == 1){
348 v = v + 0;
349 i = i + 0;
350 p = p + 0;
351 s = s + 0;
352 q = q + 0;
353 pf = pf + 0;
354 }else{
355 v = v + VRMs;
356 i = i + IRMs;
357 p = p + P;
358 s = s + S;
359 q = q + Q;
360 pf = pf + PF;
361 }
362 }
363
364 VRMs = v/50.0;
365 IRMs = i/50.0;
366 P = p/50.0;
367 S = s/50.0;
368 Q = q/50.0;
369 PF = pf /50.0;
370
371 }
372
373
374 int main(void)
375 {
376 CyGlobalIntEnable ; / * Enable global interrupts. * /
377 // *********** I2C ***********
378 uint8 userArray [10];
379 uint8 byteCnt =0;

92
380 uint8 wrBuf [10] = {0};
381 char rdBuf [10] = {0};
382 char function = ’0’;
383 I2C_Start (); // inicializaçao do bloco i2c
384 // inicializaçao do buffer de escrita do I2C Slave <-Master
385 I2C_SlaveInitWriteBuf (( uint8 * ) wrBuf , 10);
386 // inicializaçao do buffer de leitura do I2C Master <-Slave
387 I2C_SlaveInitReadBuf (( uint8 * ) rdBuf , 10);
388 // *************************
389 // *** iniciar sensores **
390 // inicializaçao do bloco de comunicaçao com os sensores de temperatura
391 DS18B20_Start ();
392 DS18B20_CheckPresence ();
393 //SPI start
394 SPIM_1_Start ();
395 VDAC8_1_Start ();
396 SPIM_1_EnableRxInt ();
397 // *************************
398
399 CyDelay (5000);
400 SPIrequestData32 (1, VrmsIrms ,0,0,0,0);
401 CyDelay (500);
402
403 TRIM =1;
404
405 LED_Write (1);
406
407
408 for (;;) // main loop
409 {
410 // escrita i2c do master
411 // Espera que o master acabe de escrever
412 if( I2C_SlaveStatus () & I2C_SSTAT_WR_CMPLT ){
413 // retorna o numero de bytes escritos pelo master
414 byteCnt = I2C_SlaveGetWriteBufSize ();
415 // retorna o estado de escrita e dá reset a flag de slave write status
416 I2C_SlaveClearWriteStatus ();
417 for(int i=0; i<byteCnt; i++){
418 // tranferir dados do buffer de escrita para um buffer que se possa
419 // utilizar com segurança
420 userArray[i]= wrBuf[i];
421 }
422 I2C_SlaveClearWriteBuf ();
423 LED_Write( ! LED_Read () );
424 function = userArray [0];
425 // neste caso ao receber qualquer tipo de comunicaçao i2c o psoc
426 //irá fazer logo o pedido de temperatura ao sensor
427 if( function == ’x’){ DS18B20_SendTemperatureRequest (); avg50 ();}
428 // pedido de temperatura ds18b20 e potencia ACS71020
429 }

93
A N E XO I . CÓ D I G O U T I L I Z A D O N O M C U P S O C 5 L P

430
431 // leitura i2c do master
432 if( I2C_SlaveStatus () & I2C_SSTAT_RD_CMPLT ){
433 // passar a resposta para o buffer de leitura i2c
434 I2C_SlaveClearReadStatus ();
435 I2C_SlaveClearReadBuf ();
436 }
437 if( DS18B20_DataReady ){
438 DS18B20_ReadTemperature ();
439 T1 = DS18B20_GetTemperatureAsFloat (0);
440 T2 = DS18B20_GetTemperatureAsFloat (1);
441 T3 = DS18B20_GetTemperatureAsFloat (2);
442 T4 = DS18B20_GetTemperatureAsFloat (3);
443
444 }
445
446 switch(function ){
447 case ’l’:
448 sprintf(rdBuf ,"%.4f", T1 );
449 break;
450 // pedido de leitura ao ds18b20
451 case ’k’:
452 sprintf(rdBuf ,"%.4f",T2 );
453 break;
454 // pedido de leitura ao ds18b20
455 case ’j’:
456 sprintf(rdBuf ,"%.4f",T3 );
457 break;
458 // pedido de leitura ao ds18b20
459 case ’h’:
460 sprintf(rdBuf ,"%.4f",T4 );
461 break;
462 // pedido de leitura ao ds18b20
463 case ’p’:
464 sprintf(rdBuf ,"%.2f",P);
465 break;
466 // pedido de potencia activa
467 case ’c’:
468 sprintf(rdBuf ,"%.2f",PF);
469 break;
470 // pedido de factor de potencia
471 case ’y’:
472 sprintf(rdBuf ,"%.2f",VRMs );
473 break;
474 // pedido de tensao rms
475 case ’i’:
476 sprintf(rdBuf ,"%.2f",IRMs );
477 break;
478 // pedido de corrente rms
479 case ’x’: break;

94
480 // comando de pedido de mediçoes sem funçao nesta parte
481 // Qualquer outro comando que nao esteja ainda implementado ou errado
482 default: strcpy(rdBuf , "NEC");
483 }
484
485 }
486 }
487
488 / * [] END OF FILE * /

95
Anexo
II
Có d i g o u t i l i z ad o n o M C U E S P 3 2

Listagem II.1: Código ESP32.


1 #include <WiFi.h>
2 #include <Wire.h>
3 #include "AzureIotHub.h"
4 #include " Esp32MQTTClient .h"
5
6 #define INTERVAL 1500 // intervalo ente mensagens para o IoT Hub
7 #define DEVICE_ID "esp32" //ID deste dispositovo na hub
8 #define MESSAGE_MAX_LEN 256 // Tamanho max da mensagem
9
10 #define SDA 21
11 #define SCL 22
12 #define Data_Request_interval 800
13 #define smallWait 50
14 #define swait 5
15 #define SLAVE_ADDR 10
16 #define I2C_msg_size 8
17
18 // Variaveis comunicacao IoT
19 // Please input the SSID and password of WiFi
20 const char * ssid = "SSID";
21 const char * password = "PASSWORD";
22
23 / * String containing Hostname , Device Id & Device Key in the format: * /
24 / * "HostName=<host_name >; DeviceId=<device_id >; SharedAccessKey=<device_key >" * /
25 / * "HostName=<host_name >; DeviceId=<device_id >;
26 SharedAccessSignature =<device_sas_token >" * /
27 static const char * connectionString =
28 "HostName=PcmHubIoT.azure -devices.net;DeviceId=esp32;
29 SharedAccessKey= NBmdusW5qgJETacQgDmdT / J6iigqAq6rjpW5oFo8Lag =";

97
A N E XO I I . CÓ D I G O U T I L I Z A D O N O M C U E S P 3 2

30
31 const char * messageData = "{\" deviceId \":\"%s\",\" messageId \":%d,
32 \" Temperature1 \":%s,\" Temperature2 \":%s,\" Temperature3 \":%s,
33 \" Temperature4 \":%s,\" ActiveP \":%s,\" PowerFactor \":%s}";
34
35 // const char * messageData ="{\" deviceId \":\"%s\", \" messageId \":%d,
36 \" TemperatureS \":%f,\" Temperaturel \":%f}";
37
38 int messageCount = 1;
39 static bool hasWifi = false;
40 static bool messageSending = true;
41 static uint64_t send_interval_ms ;
42 // /////////////////////////////////////
43 //I2C Communication Variables
44 String responser = "";
45 String responsep = "";
46 String responsec = "";
47 String response1 = "";
48 String response2 = "";
49 String response3 = "";
50 String response4 = "";
51 char x = ’0’;
52 String responsey = "";
53 String responsei= "";
54 // /////////////////////////////////////
55 // Utilities
56 static void InitWifi ()
57 {
58 Serial.println("Connecting ...");
59 WiFi.begin(ssid , password );
60 while (WiFi.status () != WL_CONNECTED) {
61 delay (500);
62 Serial.print(".");
63 }
64 hasWifi = true;
65 Serial.println("WiFiconnected");
66 Serial.println("IPaddress:");
67 Serial.println(WiFi.localIP ());
68 }
69
70 static void SendConfirmationCallback ( IOTHUB_CLIENT_CONFIRMATION_RESULT result)
71 {
72 if (result == IOTHUB_CLIENT_CONFIRMATION_OK )
73 {
74 Serial.println("SendConfirmationCallbackfinished.");
75 }
76 }
77
78 static void MessageCallback (const char * payLoad , int size)
79 {

98
80 Serial.println("Messagecallback:");
81 Serial.println(payLoad );
82 }
83
84 static void DeviceTwinCallback ( DEVICE_TWIN_UPDATE_STATE updateState ,
85 const unsigned char * payLoad , int size)
86 {
87 char * temp = (char * ) malloc(size + 1);
88 if (temp == NULL)
89 {
90 return;
91 }
92 memcpy(temp , payLoad , size );
93 temp[size] = ’\0’;
94 // Display Twin message.
95 Serial.println(temp );
96 free(temp );
97 }
98
99 static int DeviceMethodCallback (const char * methodName ,
100 const unsigned char * payload , int size ,
101 unsigned char ** response , int * response_size)
102 {
103 LogInfo("Trytoinvokemethod%s", methodName );
104 const char * responseMessage = "\" Successfullyinvokedevicemethod \"";
105 int result = 200;
106
107 if (strcmp(methodName , "start") == 0)
108 {
109 LogInfo("Startsendingtemperatureandhumiditydata");
110 messageSending = true;
111 }
112 else if (strcmp(methodName , "stop") == 0)
113 {
114 LogInfo("Stopsendingtemperatureandhumiditydata");
115 messageSending = false;
116 }
117 else
118 {
119 LogInfo("Nomethod%sfound", methodName );
120 responseMessage = "\"Nomethodfound \"";
121 result = 404;
122 }
123
124 * response_size = strlen( responseMessage) + 1;
125 * response = (unsigned char * ) strdup(responseMessage );
126
127 return result;
128 }
129 // funcoes criadas individualmente para evitar

99
A N E XO I I . CÓ D I G O U T I L I Z A D O N O M C U E S P 3 2

130 // perda de tempo


131 static void Data_Request(char f, int addr ){
132 Wire. beginTransmission (addr );
133 Wire.write(f);
134 Wire. endTransmission ();
135 }
136 static void Data_Readl(int addr ){
137 Wire.requestFrom(addr ,I2C_msg_size );
138 while( Wire.available () ){
139 x = Wire.read ();
140 response1 += x;
141 }
142 }
143 static void Data_Readk(int addr ){
144 Wire.requestFrom(addr ,I2C_msg_size );
145 while( Wire.available () ){
146 x = Wire.read ();
147 response2 += x;
148 }
149 }
150
151 static void Data_Readj(int addr ){
152 Wire.requestFrom(addr ,I2C_msg_size );
153 while( Wire.available () ){
154 x = Wire.read ();
155 response3 += x;
156 }
157 }
158 static void Data_Readh(int addr ){
159 Wire.requestFrom(addr ,I2C_msg_size );
160 while( Wire.available () ){
161 x = Wire.read ();
162 response4 += x;
163 }
164 }
165 static void Data_Readp(int addr ){
166 Wire.requestFrom(addr ,I2C_msg_size );
167 while( Wire.available () ){
168 x = Wire.read ();
169 responsep += x;
170 }
171 }
172 static void Data_Readc(int addr ){
173 Wire.requestFrom(addr ,I2C_msg_size );
174 while( Wire.available () ){
175 x = Wire.read ();
176 responsec += x;
177 }
178 }
179 static void Data_Readv(int addr ){

100
180 Wire.requestFrom(addr ,I2C_msg_size );
181 while( Wire.available () ){
182 x = Wire.read ();
183 responsey += x;
184 }
185 }
186 static void Data_Readi(int addr ){
187 Wire.requestFrom(addr ,I2C_msg_size );
188 while( Wire.available () ){
189 x = Wire.read ();
190 responsei += x;
191 }
192 }
193 // /////////////////////////////////////
194 // Arduino sketch
195 void setup ()
196 {
197 Serial.begin (115200);
198 Serial.println("ESP32Device");
199 Serial.println("Initializing ...");
200
201 // Initialize I2C
202 Wire.begin(SDA ,SCL);
203
204 // Initialize the WiFi module
205 Serial.println(">WiFi");
206 hasWifi = false;
207 InitWifi ();
208 if (! hasWifi)
209 {
210 return;
211 }
212 randomSeed(analogRead (0));
213
214 Serial.println(">IoTHub");
215 Esp32MQTTClient_SetOption (OPTION_MINI_SOLUTION_NAME , "GetStarted");
216 Esp32MQTTClient_Init (( const uint8_t * ) connectionString , true );
217
218 Esp32MQTTClient_SetSendConfirmationCallback ( SendConfirmationCallback );
219 Esp32MQTTClient_SetMessageCallback ( MessageCallback );
220 Esp32MQTTClient_SetDeviceTwinCallback ( DeviceTwinCallback );
221 Esp32MQTTClient_SetDeviceMethodCallback ( DeviceMethodCallback );
222
223 send_interval_ms = millis ();
224 }
225
226 void loop ()
227 {
228 if (hasWifi)
229 {

101
A N E XO I I . CÓ D I G O U T I L I Z A D O N O M C U E S P 3 2

230 if (messageSending && (int)( millis () - send_interval_ms ) >= INTERVAL)


231 {
232 // Data Request from slave
233 Data_Request(’x’, SLAVE_ADDR );
234 delay( Data_Request_interval );
235
236 Data_Request(’l’, SLAVE_ADDR );
237 delay(smallWait );
238 Data_Readl(SLAVE_ADDR );
239 delay(swait );
240 Data_Request(’k’, SLAVE_ADDR );
241 delay(smallWait );
242 Data_Readk(SLAVE_ADDR );
243 delay(swait );
244 Data_Request(’j’, SLAVE_ADDR );
245 delay(smallWait );
246 Data_Readj(SLAVE_ADDR );
247 delay(swait );
248 Data_Request(’h’, SLAVE_ADDR );
249 delay(smallWait );
250 Data_Readh(SLAVE_ADDR );
251 delay(swait );
252 Data_Request(’p’, SLAVE_ADDR );
253 delay(smallWait );
254 Data_Readp(SLAVE_ADDR );
255 delay(swait );
256 Data_Request(’c’, SLAVE_ADDR );
257 delay(smallWait );
258 Data_Readc(SLAVE_ADDR );
259 delay(swait );
260 Data_Request(’y’, SLAVE_ADDR );
261 delay(smallWait );
262 Data_Readv(SLAVE_ADDR );
263 Data_Request(’i’, SLAVE_ADDR );
264 delay(smallWait );
265 Data_Readi(SLAVE_ADDR );
266
267 // opcional serve apenas para testes e debug
268 Serial.print("ReceivedT1:");
269 Serial.println(response1 );
270 Serial.print("ReceivedT2:");
271 Serial.println(response2 );
272 Serial.print("ReceivedT3:");
273 Serial.println(response3 );
274 Serial.print("ReceivedT4:");
275 Serial.println(response4 );
276 Serial.print("ReceivedP:");
277 Serial.println(responsep );
278 Serial.print("ReceivedC:");
279 Serial.println(responsec );

102
280 Serial.print("ReceivedVrms:");
281 Serial.println(responsey );
282 Serial.print("ReceivedIrms:");
283 Serial.println(responsei );
284 // *******
285 // Envio dos dados recebidos por i2c
286 char messagePayload [MESSAGE_MAX_LEN ];
287 snprintf(messagePayload ,MESSAGE_MAX_LEN , messageData , DEVICE_ID ,...
288 messageCount ++, response1 , response2 , response3 , response4 ,...
289 responsey , responsei , responsep , responsec );
290 Serial.println(messagePayload );
291 EVENT_INSTANCE * message = ...
292 Esp32MQTTClient_Event_Generate (messagePayload ,MESSAGE );
293 Esp32MQTTClient_Event_AddProp (message , "temperatureAlert ", "true");
294 Esp32MQTTClient_SendEventInstance (message );
295 response1 = "";
296 response2 = "";
297 response3 = "";
298 response4 = "";
299 responsey = "";
300 responsep = "";
301 responsec = "";
302 responsei = "";
303 x=’0’;
304 send_interval_ms = millis ();}
305 else{ Esp32MQTTClient_Check (); } }
306 delay (10);}

103
Anexo
III
Query u t i l i z ada n o s e r v i ç o Stream Analytics

Listagem III.1: Query utilizada no serviço Stream Analytics.


1 SELECT
2 CAST(iothub.EnqueuedTime AS datetime) AS TimeStamp ,
3 CAST(messageId AS bigint ) AS MessageID ,
4 CAST(Temperature1 AS float) AS Temperature1_DS18B20 ,
5 CAST(Temperature2 AS float) AS Temperature2_DS18B20 ,
6 CAST(Temperature3 AS float) AS Temperature3_DS18B20 ,
7 CAST(Temperature4 AS float) AS Temperature4_DS18B20 ,
8 CAST(Vrms as float) AS VoltageRMS ,
9 CAST(Irms as float) AS CurrentRMS ,
10 CAST(ActiveP AS float) AS ActivePower ,
11 CAST(PowerFactor AS float) AS PowerFactor
12 INTO IotHubOutput
13 FROM IoTHubInput
14
15 SELECT
16 CAST(iothub.EnqueuedTime AS datetime) AS TimeStamp ,
17 CAST(messageId AS bigint ) AS MessageID ,
18 CAST(Temperature1 AS float) AS Temperature1_DS18B20 ,
19 CAST(Temperature2 AS float) AS Temperature2_DS18B20 ,
20 CAST(Temperature3 AS float) AS Temperature3_DS18B20 ,
21 CAST(Temperature4 AS float) AS Temperature4_DS18B20 ,
22 CAST(Vrms as float) AS VoltageRMS ,
23 CAST(Irms as float) AS CurrentRMS ,
24 CAST(ActiveP AS float) AS ActivePower ,
25 CAST(PowerFactor AS float) AS PowerFactor
26 INTO blobstorageoutput
27 FROM IoTHubInput

105

Você também pode gostar