patrício rafael gomes teixeira -...
TRANSCRIPT
Universidade do Minho Escola de Engenharia
Outubro 2009
Patrício Rafael Gomes Teixeira
Aplicação de Comunicações Sem Fio em
Ambiente Industrial e Doméstico
Tese de Mestrado
Mestrado Integrado em Engenharia Electrónica Industrial e
Computadores
Trabalho realizado sob a orientação cientifica do
Professor Doutor José A. Mendes
Professor Auxiliar do Departamento de Electrónica
Industrial da Universidade do Minho
i
"A vida sem ciência é uma espécie de morte."
(Sócrates)
ii
Agradecimentos
Ao longo destes cinco anos de universidade que culminaram com este projecto, várias
pessoas contribuíram para que fosse possível que este objectivo fosse realizado.
Quero agradecer aos meus pais e irmãos António Teixeira da Silva, Maria Amélia da Silva
Gomes, Rui Sérgio Gomes Teixeira e Nuno Filipe Gomes Teixeira, todo o apoio que me deram ao
longo destes anos de estudante.
Quero agradecer a todos os meus familiares e amigos que sempre me apoiaram ao
longo destes últimos anos, em todos os momentos delicados que foram “escalados” na minha
vida.
Ao meu grande amigo Professor Carlos Pereira que foi o orientador do meu percurso
escolar.
A todos os meus amigos que me acompanharam ao longo destes anos de universidade,
que estiveram ao meu lado nos bons e maus momentos.
Aos meus colegas que trabalharam comigo na IVV – automação, em especial ao Nuno
Brito que trabalhou comigo no projecto.
Ao meu orientador, Doutor José A. Mendes, pelo apoio prestado na elaboração deste
projecto.
iii
iv
Resumo
Aplicação de Comunicações Sem Fio em Ambiente Industrial
e Doméstico
As redes de comunicação sem fios têm evoluído no sentido de substituírem as
tradicionais redes em que o meio físico de propagação são cabos metálicos.
Ao longo dos últimos anos foram desenvolvidas tecnologias de rádio frequência que
proporcionaram o aparecimento de protocolos de comunicação sem fios que se tornaram uma
alternativa fiável aos tradicionais sistemas de comunicação com fios.
No presente trabalho pretende-se substituir as tradicionais redes com fios por uma rede
sem fios em dois tipos de ambientes distintos, doméstico e industrial.
Para efectuar este trabalho foi necessário escolher o protocolo que se adequava ao
projecto, bem como o dispositivo de comunicação do respectivo protocolo de comunicação
seleccionado.
Para o ambiente doméstico foi desenvolvida uma estação meteorológica que pode
comunicar através de rádio frequência ou por um dos tradicionais protocolos com fios. É um dos
dispositivos dum sistema de domótica, no qual os restantes módulos do sistema também
comunicam via rádio frequência.
Para o ambiente industrial foi desenvolvido um sistema de controlo de válvulas sanitárias
para a indústria cervejeira, no âmbito de um projecto europeu “Research for SMEs: Project
Hydract – Low-Energy Hydraulic Actuator for Valves in the Brewing, Dairy and Pharmaceutical
Industries”, no qual as comunicações entre os diversos módulos do sistema são efectuadas por
rádio frequência.
v
vi
Abstract
Wireless Communication Applications in Industrial and
Domestic Environment
Wireless communications have been growing in a continuous and sustainable way
allowing the replacement of wires in many situations.
The recent developments of new technologies in the field of radio communication in
small devices together with the development of new robust communication protocols opened a
reliable alternative to wired communications.
In this project, several options for wired communication replacement were studied and
new solutions were devised both for industrial and domestic environment.
In the case of the domestic application, it was developed a weather station for integration
in a home automation system that can communicate wirelessly using Zigbee protocol.
Regarding the industrial application, it was developed a wireless control system for
sanitary valves for the beer industry, according to a European project “Research for SMEs:
Project Hydract – Low-Energy Hydraulic Actuator for Valves in the Brewing, Dairy and
Pharmaceutical Industries”.
vii
viii
Índice
Lista de Abreviaturas e Siglas ........................................................................................................ x
Lista de Figuras ............................................................................................................................. xii
Lista de Tabelas ............................................................................................................................ xv
Capítulo 1 - Introdução ................................................................................................................. 1
1.1- Introdução .......................................................................................................................... 1
1.2 - Objectivos do trabalho ...................................................................................................... 1
1.3 - Estrutura do trabalho ........................................................................................................ 3
Capítulo 2 - Estado da Arte ........................................................................................................... 6
2.1 - Introdução ......................................................................................................................... 6
2.2 - Redes Sem fios .................................................................................................................. 6
2.3 - Comparação das diferentes tecnologias sem fios ............................................................. 8
2.4 - Protocolo ZigBee ............................................................................................................... 9
2.4.1 - Topologias de rede ................................................................................................... 10
2.4.2 - Aspectos técnicos ..................................................................................................... 12
2.4.3 - Arquitectura do protocolo ZigBee ............................................................................ 13
2.5 - Controlador de válvulas sanitárias da Alfa Laval ............................................................. 15
2.6 - Sistemas de domótica ..................................................................................................... 16
2.7 - Conclusões ...................................................................................................................... 17
Capítulo 3 - Arquitectura de comunicação ................................................................................. 18
3.1 - Introdução ao módulo de comunicação XBee ................................................................ 18
3.2 - Ligação do módulo XBee com o microcontrolador ......................................................... 20
3.3- Modos de funcionamento ................................................................................................ 21
3.3.1 - Modo transparente .................................................................................................. 21
3.3.2 - Modo API .................................................................................................................. 22
3.4 - Framework para utilização da API do XBee .................................................................... 28
3.4.1 - Construção das filas ................................................................................................. 30
3.4.2 - Algoritmo de recepção das frames .......................................................................... 31
3.4.3 - Algoritmo de processamento das frames ................................................................ 33
3.4.3 - Algoritmo de transmissão das frames...................................................................... 34
3.5 - Conclusões ...................................................................................................................... 37
Capítulo 4 - Aplicação do ZigBee na Domótica ........................................................................... 38
ix
4.1 - Introdução ....................................................................................................................... 38
4.2 - Hardware da estação meteorológica .............................................................................. 39
4.2.1 - Sensor de temperatura e humidade SHT11 ............................................................. 39
4.2.2 - Sensor de temperatura LM75 .................................................................................. 42
4.2.3 - Sensor de efeito de Hall ........................................................................................... 45
4.2.4 - Sensor de luminosidade ........................................................................................... 47
4.2.5 - Sensor de chuva ....................................................................................................... 49
4.2.6 - Fonte de alimentação .............................................................................................. 54
4.2.7 - Microcontrolador ..................................................................................................... 55
4.2.8 - Controlador CAN ...................................................................................................... 55
4.3-Software ............................................................................................................................ 56
4.3.1 - Software do microcontrolador ................................................................................. 56
4.3.2 - Software para computador ...................................................................................... 58
4.4 - Conclusões ...................................................................................................................... 59
Capítulo 5 - Aplicação do ZigBee em ambiente industrial .......................................................... 60
5.1 - Introdução ....................................................................................................................... 60
5.2 - Módulo Sensor ................................................................................................................ 62
5.2.1 - Hardware do módulo do sensor .............................................................................. 63
5.3 - Módulo GATEWAY........................................................................................................... 74
5.4 - Módulo Actuador ............................................................................................................ 75
5.5 - Emparelhamento entre sensor e actuador ..................................................................... 76
5.6 - Controlo do sistema através do computador ................................................................. 80
5.7 - Conclusões ...................................................................................................................... 86
Capítulo 6 - Conclusões e Trabalho Futuro ................................................................................. 87
6.1 - Conclusões ...................................................................................................................... 87
6-2 - Trabalho Futuro .............................................................................................................. 89
Anexos I – Estação meteorológica .............................................................................................. 92
Anexos II – Módulo do sensor ..................................................................................................... 97
Anexos III – Protocolo Hydract .................................................................................................. 103
x
Lista de Abreviaturas e Siglas ADC - Analog To Digital Converter
CAN - Controller Area Network
RS-232 - Recommended Standard 232
RS-485 - Recommended Standard 485
PCB - Printed Circuit Board
PC - Personal Computer
EEPROM - Electrically Erasable Programmable Read Only Memory
RAM - Random Access Memory
LED - Light Emitting Diode
CC - Corrente Contínua
V - Volt
Hz - Hertz
TWI - Two Wire Interface
I2C - Inter Integrated Circuit
W - Watt
uC - Microcontrolador
Tx - Transmissão
Rx – Recepção
FIFO - First Input Fisrt Output
FFD - Full Function Device
RFD - Reduced Function Device
IEEE - Instituto de Engenheiros Electricistas e Electrónicos
WPAN - Wireless Personal Area Network
WLAN - Wireless Local Area Network
LAN - Local Area Network
WMAN - Wireless Metropolitan Area Network
bps - bits por segundo
RF - Rádio Frequência
CPU - Central Processing Unit
USB - Universal Serial Bus
UART - Universal Asynchronous Receiver/Transmitter
xi
PLC - Programmable Logic Controller
NTC - Negative Temperature Coefficient
API - Application Programming Interface
MAC - Media Access Control
CSMA-CA - Carrier sense multiple access with collision avoidance
ISM – Industrial Scientifical and Medical
xii
Lista de Figuras
Figura 1-Imagem da estação meteorológica ................................................................................. 2
Figura 2-Esquema de princípio do sistema de controlo de válvulas sanitárias ............................ 3
Figura 3-Esquema de princípio da estação meteorológica ........................................................... 4
Figura 4-Esquema de princípio do módulo do sensor .................................................................. 5
Figura 5- Logótipos das tecnologias sem fios Wi-Fi, Bluetooth e ZigBee [7] ................................ 8
Figura 6-Topologia de rede em estrela [9] .................................................................................. 10
Figura 7-Topologia de rede em malha [9] ................................................................................... 11
Figura 8- Topologia de rede em árvore [9] ................................................................................. 11
Figura 9- Bandas de frequência de operação [10] ...................................................................... 12
Figura 10- Camadas da arquitectura protocolar do ZigBee [9] ................................................... 13
Figura 11- Arquitectura do protocolo ZigBee [9] ........................................................................ 14
Figura 12- Sistema de controlo de válvulas da Alfa Laval [11] .................................................... 15
Figura 13-Imagem frontal dos módulos XBee e XBee-Pro [13] ................................................... 18
Figura 14-Esquema de ligação entre o módulo XBee e o microcontrolador .............................. 20
Figura 15- Diagrama do fluxo internos dos dados [13] ............................................................... 22
Figura 16-Frame de dado padrão RS-232 de 8 bits [13] ............................................................. 22
Figura 17-Estrutura de uma frame do modo API[12] .................................................................. 23
Figura 18-Estrutura da frame de estado [12] .............................................................................. 24
Figura 19-Estrutura da frame de comando AT [12] .................................................................... 24
Figura 20-Estrutura da frame de configuração de comando AT ................................................. 24
Figura 21-Frame de resposta de comando AT [12] ..................................................................... 25
Figura 22-Estrutura da frame de configuração remota de comando AT [12] ............................. 25
Figura 23-Estrutura da frame de resposta de configuração de comando AT [12] ...................... 26
Figura 24-Estrutura da frame de transmissão [12] ..................................................................... 26
Figura 25-Estrutura da frame de confirmação da transmissão [12] ........................................... 27
Figura 26-Estrutura da frame de dados ...................................................................................... 27
Figura 27-Arquitectura de comunicação ..................................................................................... 28
Figura 28-Arquitectura de recepção ........................................................................................... 29
Figura 29-Arquitectura de transmissão ....................................................................................... 29
Figura 30-Funcionamento da fila ................................................................................................ 30
Figura 31- Algoritmo de recepção das frames ............................................................................ 32
Figura 32- Algoritmo de processamento de frames.................................................................... 34
Figura 33- Algoritmo da função que provoca o desencadear da transmissão dos dados .......... 35
Figura 34- Fluxograma que está na rotina de transmissão de dados ......................................... 36
Figura 35-Fluxograma que está na rotina de interrupção externa ............................................. 36
Figura 36-Diagrama de blocos da estação meteorológica .......................................................... 38
Figura 37- Imagem da caixa de plástico da estação meteorológica ........................................... 39
Figura 38- Imagem do SHT11[15] ................................................................................................ 39
Figura 39 - Diagrama de blocos SHT11 [15] ................................................................................ 40
Figura 40 Esquema de montagem do SHT11 [15] ....................................................................... 40
Figura 41- Comando de iniciar do SHT11 [15] ............................................................................. 40
Figura 42- Exemplo de sequência para um envio de comando [15] ........................................... 41
xiii
Figura 43- Imagem do LM75 [17] ................................................................................................ 42
Figura 44-Esquema de ligação do LM75 ..................................................................................... 42
Figura 45- Barramento I2C [19] ................................................................................................... 43
Figura 46- Esquema de comunicação no I2C [19] ....................................................................... 43
Figura 47- Registo do endereço [18] ........................................................................................... 44
Figura 48- Registo da temperatura do LM75 [18] ....................................................................... 44
Figura 49- Sensor de efeito Hall [21] ........................................................................................... 45
Figura 50- Íman do eixo de rotação ............................................................................................ 45
Figura 51- Esquema de ligação do sensor de hall ....................................................................... 46
Figura 52- Sensor de luz GA1A2S100SS ....................................................................................... 47
Figura 53- Gráfico do sensor de luz 0 .......................................................................................... 47
Figura 54- Ligação do sensor de luminosidade ........................................................................... 48
Figura 55-Imagem do sensor de chuva [23] ................................................................................ 49
Figura 56-Controlo do filamento resistivo .................................................................................. 49
Figura 57-Circuito da NTC............................................................................................................ 50
Figura 58- Controlo em malha fechada [24] ............................................................................... 51
Figura 59- Histerese [24] ............................................................................................................. 51
Figura 60- Gráfico da temperatura controlada pelo controlador ON-OFF ................................. 52
Figura 61- Circuito gerador de onda quadrada ........................................................................... 53
Figura 62- Sinal que o microcontrolador recebe quando não há ocorrência de chuva .............. 53
Figura 63- Sinal que o microcontrolador recebe quando há ocorrência de chuva ..................... 54
Figura 64- Circuito da fonte de alimentação ............................................................................... 54
Figura 65- Circuito de alimentação do microcontrolador ........................................................... 55
Figura 66- Circuito do controlador CAN ...................................................................................... 55
Figura 67- Diagrama de blocos do software da estação meteorológica ..................................... 56
Figura 68 - Fluxograma do software da estação meteorológica ................................................. 57
Figura 69- Separador de visualização das grandezas físicas ....................................................... 58
Figura 70- Separador de visualização dos eventos ..................................................................... 58
Figura 71- Diagrama de blocos do sistema de controlo de válvulas sanitárias........................... 61
Figura 72 - Diagrama de blocos do módulo do sensor ................................................................ 62
Figura 73 - Circuito da fonte de alimentação do módulo do sensor ........................................... 63
Figura 74- Circuito de alimentação do microcontrolador ........................................................... 64
Figura 75- Imagem do sensor de deslocamento Balluff [27] ...................................................... 65
Figura 76- Imagem da válvula sanitária com o sensor de deslocamento Balluff [27] ................ 65
Figura 77- Curva característica do sensor de deslocamento Balluff [27] .................................... 66
Figura 78-Esquema de ligação das entradas digitas com o microcontrolador ........................... 67
Figura 79-Esquema de ligação dos interruptores com microcontrolador .................................. 67
Figura 80- Esquema de ligação dos relés de estado sólido e o microcontrolador ...................... 68
Figura 81-Esquema de ligação dos leds com o microcontrolador .............................................. 68
Figura 82- Bounce provocado pelo premir de um botão [29] ..................................................... 69
Figura 83-Tipos de comandos ..................................................................................................... 70
Figura 84- Resultado do algoritmo de verificar o tipo de comando ........................................... 70
Figura 85- Algoritmo de verificação do estado da válvula .......................................................... 72
Figura 86- Algoritmo para enviar o comando para o actuador ................................................... 73
Figura 87- Imagem do módulo do gateway ................................................................................ 74
xiv
Figura 88- Módulo actuador ....................................................................................................... 75
Figura 89-Protocolo de emparelhamento ................................................................................... 76
Figura 90- Emparelhamentos críticos ......................................................................................... 78
Figura 91- Protocolo de emparelhamento crítico ....................................................................... 79
Figura 92- Imagem do software da tab de controlo e monitorização das válvulas .................... 80
Figura 93- Protocolo de transferência de dados do gateway para o PC ..................................... 81
Figura 94- Controlo das válvulas a partir do PC .......................................................................... 81
Figura 95- Imagem do software da tab "Diagnostic" .................................................................. 82
Figura 96- Posição da válvula fechada e aberta .......................................................................... 83
Figura 97 – Protocolo de calibração ............................................................................................ 83
Figura 98-Imagem do software da tab "Network ZigBee" .......................................................... 84
Figura 99-Imagem do software da tab "View Events" ................................................................ 85
xv
Lista de Tabelas
Tabela 1- Comparação das tecnologias de comunicação sem fios Wi-Fi, Bluetooth e ZigBee ..... 8
Tabela 2- Especificações dos módulos XBee ZNet 2.5 e XBee PRO ZNET 2.5 [13] ...................... 19
Tabela 3- Nome das frames da API e o respectivo valor de identificação [12] ........................... 33
Tabela 4- Tabela de comandos do SHT11 [15] ............................................................................ 41
Tabela 5- Características do microcontrolador [26].................................................................... 64
Tabela 6- Informação dos leds sobre o modo de funcionamento do módulo do sensor e o
estado da válvula ......................................................................................................................... 71
Tabela 7- Exemplo da estrutura de dados para guardar os dados das válvulas ......................... 77
1
Capítulo 1 - Introdução
1.1 - Introdução
As redes sem fios caracterizam todo o tipo de ligação que efectuam a transmissão de
informação sem recurso a fios ou cabos.
Numa rede sem fios estão ligados entre si diversos sistemas por tecnologia de rádio
frequência através do ar. As redes sem fios estão em contínuo crescimento devido à sua
facilidade de instalação e de utilização.
Este tipo de redes são uma alternativa às convencionais com fio, têm a mesma
funcionalidade, mas são muito mais flexíveis, permitindo a alteração da disposição física dos
dispositivos sem que haja necessidade de colocar novos cabos para que a rede chegue ao local
pretendido, podendo os dispositivos ser colocados de forma mais conveniente. As redes sem fios
caracterizam-se por serem facilmente configuráveis.
Actualmente existem diversas tecnologias de redes sem fio, como o Wi-Fi, Bluetooth,
ZigBee. Cada uma destas tecnologias tem as suas características: o alcance máximo, taxa de
transmissão, número de dispositivos que cada tipo de rede pode ter ligado, bem como o
consumo dos dispositivos. As características de cada tecnologia, dita qual delas se adequa
melhor ao tipo de rede que se pretende construir.
1.2 - Objectivos do trabalho
Este trabalho tem como objectivo substituir as convencionais redes de comunicação com
fio, por uma rede sem fios em dois tipos de ambiente distintos, o ambiente industrial e
doméstico.
Na domótica os sistemas de comunicação utilizam fios para efectuar as comunicações
entre dispositivos. Estes efectuam o controlo da casa forma a poderem dar mais comodidade
aos moradores. O projecto da domótica consiste em substituir as tradicionais redes com fios
(CAN, RS-458), por uma rede sem fios. Esta alteração permite reduzir o número de cabos da
instalação eléctrica de uma forma significativa e uma maior flexibilidade na colocação dos
dispositivos. Diversos módulos foram desenvolvidos, para permitirem efectuar o controlo da casa
como o controlador de estores, variador de luminosidade, gateway e uma estação meteorológica.
2
O projecto apresentado nesta dissertação consiste na concepção e desenvolvimento de
uma estação meteorológica sem fios que está representada na Figura 1.
Figura 1-Imagem da estação meteorológica
Este módulo tem como objectivo a medição das seguintes grandezas físicas:
Temperatura
Humidade
Luminosidade
Velocidade do vento
Ocorrência de chuva
Nos ambientes industriais as redes de comunicação na sua generalidade são com fios,
existindo ainda uma grande resistência na utilização de redes sem fios nos sistemas de
automação industrial.
O projecto consiste num sistema de controlo de válvulas sanitárias para a indústria
cervejeira, no âmbito de um projecto Europeu “Research for SMEs: Project Hydract – Low-Energy
Hydraulic Actuator for Valves in the Brewing, Dairy and Pharmaceutical Industries”. O facto das
comunicações serem efectuadas sem fios, permitirá uma maior flexibilidade na organização e
instalação dos diversos sistemas na fábrica.
O sistema é constituído por um módulo que faz actuar a válvula e um outro módulo que
monitoriza o estado da válvula e recebe os comandos de controlo que por sua vez são enviados
para o módulo actuador, para este fazer actuar a válvula. O sistema pode ser controlado através
de um computador central, onde além de controlar as válvulas poderá monitorizar o estado
destas, bem como registar todas as ocorrência de actuação e posicionamento das válvulas que
estão a ser controladas e monitorizas por este.
3
Figura 2-Esquema de princípio do sistema de controlo de válvulas sanitárias
1.3 - Estrutura do trabalho
Para construir uma estação meteorológica é necessário seleccionar os sensores que se
adequam às necessidades do projecto, para poder efectuar as medidas de grandezas físicas
como a temperatura, humidade, velocidade do vento, quantidade de luz e a ocorrência de chuva.
Todos estes sensores estão ligados a um microcontrolador, que se encarrega de receber a
informação, processá-la e enviar os dados para a central de controlo da casa.
4
Figura 3-Esquema de princípio da estação meteorológica
Na Figura 3 está representado o esquema de princípio da estação meteorológica a qual
é constituída por: um sensor que mede temperatura e humidade; um sensor de temperatura;
sensor de luminosidade; sensor de chuva; sensor de efeito de hall que serve para medir a
velocidade do vento. O microcontrolador recebe a informação dos sensores através de
comunicação série, nos casos do sensor de temperatura e do sensor de temperatura e
humidade. Através de um dos canais de ADC é lida a quantidade de luz existente no ambiente. A
leitura da velocidade do vento será efectuada pelo sensor de efeito de hall que está ligado a uma
interrupção externa do uC, onde o cata-vento desencadeia uma interrupção no microcontrolador,
sempre que dá uma volta. As comunicações com o exterior serão feitas através da tecnologia
sem fios ou através de fios. Todos estes sensores serão acomodados num único PCB.
O esquema do sistema de controlo de válvulas está representado na Figura 4, e é
constituído por diversos módulos: actuador, gateway e sensor. A este último será dado mais
destaque no desenvolvimento do software e hardware, enquanto os restantes serão abordados
apenas em termos de software. Para poder controlar e monitorizar o sistema de válvulas através
de um computador central foi desenvolvido um software na linguagem de programação C#. Para
que todo este sistema funcione correctamente, foi necessário construir um protocolo para que
todos os módulos se comuniquem e executem as tarefas que lhe forem destinadas.
5
Figura 4-Esquema de princípio do módulo do sensor
6
Capítulo 2 - Estado da Arte
2.1 - Introdução
As comunicações num futuro próximo serão efectuadas em fibras ópticas e por
comunicações sem fio, onde os cabos metálicos serão eliminados de uma forma gradual.
A necessidade de ter grandes taxas de transmissão, de modo a ter o máximo de dados
transferidos num período de tempo está a fazer com que se desenvolvam diversas tecnologias
que satisfaçam as necessidades de uma sociedade dependente de informação.
A proliferação de tecnologias de rede sem fios de diversos tipos de plataforma apoiadas
nas normas IEEE 802 está em grande expansão, visto que estas apresentam vantagens como a
rapidez, facilidade na montagem da rede, grande flexibilidade na disposição dos dispositivos da
rede e eliminação dos cabos metálicos [1].
2.2 - Redes Sem fios
Com o avanço tecnológico foi possível a criação de vários protocolos, onde estes
estavam vocacionados para a transmissão de voz e dados onde são necessárias taxas de
transmissão elevadas. Os preços destes equipamentos eram elevados, o que ditou que não fosse
um sucesso comercial.
O desenvolvimento de protocolos de comunicações sem fios com média e alta taxa de
transmissão como o BLUETOOTH e o Wi-Fi cobrem necessidades específicas para determinadas
aplicações, surgindo a necessidade de criar um protocolo para sistemas de controlo e actuação,
onde as taxas de transmissão não tivessem de ser elevadas [2].
Para as redes de comunicação industrial e de sistemas de domótica, onde o tipo de
informação que é transmitida serve para monitorizar o estado de sensores e efectuar o controlo
de dispositivos, as comunicações não têm de ter taxas de alto débito, sendo a maior
preocupação o consumo de energia destes dispositivos já que muitos sistemas são alimentados
a bateria, aumentando o tempo de vida da mesma. O protocolo ZigBee nasceu para colmatar a
necessidade de ter um sistema de comunicação que consumisse pouca energia mas com
elevada fiabilidade [3].
7
O grupo de trabalho dos onze do IEEE, como responsáveis pelas normas 802.11
considera que existem quatro grandes grupos de redes sem fios:
WPAN - São redes que ligam dispositivos de comunicação onde as distâncias são
relativamente curtas, onde os dados são transmitidos via rádio frequência. A ligação de um
periférico a um computador é um exemplo deste tipo de rede. Esta resulta da necessidade de
substituir os cabos de curta distância por sistema de transmissão sem fios mas que permita a
rapidez e fiabilidade da transmissão. O alcance é reduzido e não vai além dos dez metros e os
dispositivos devem estar em linha de vista [4].
WLAN - É sistema de comunicações sem fios que utiliza as mais recentes tecnologias de
rádio frequência, sendo utilizada para ligar o utilizador a uma rede LAN. Este tipo de rede tem
um alcance que vai dos cem metros a trezentos metros [5].
WMAN - O objectivo deste tipo de redes é interligar várias LAN geograficamente
próximas, cujo seu alcance máximo pode ir até algumas dezenas de quilómetros e com taxas de
transmissão elevadas[6].
WWAN - Este é o grupo mais amplo em termos de alcance, sendo usado em sistemas de
telecomunicações para distâncias de transmissão elevadas[7].
8
2.3 - Comparação das diferentes tecnologias sem fios
Figura 5- Logótipos das tecnologias sem fios Wi-Fi, Bluetooth e ZigBee [7]
Tabela 1- Comparação das tecnologias de comunicação sem fios Wi-Fi, Bluetooth e ZigBee
Através da Tabela 1 podemos observar algumas das características dos protocolos Wi-Fi,
Bluetooth e ZigBee.
O Wi-Fi é um protocolo cujas aplicações requerem taxas de transmissão elevadas, para
efectuar transferências de ficheiros, ter acesso a conteúdos multimédia e ligação à internet. A
sua pilha protocolar é bastante exigente com um tamanho elevado. O seu consumo é o mais
elevado dos protocolos analisados.
O Bluetooth é uma tecnologia que serve sobretudo para ligar um computador e os seus
periféricos onde a taxa de transmissão é média, permitindo gastar menos energia que o Wi-Fi.
O protocolo ZigBee é o que apresenta uma taxa de transmissão mais reduzida em
relação aos outros apresentados, mas o seu consumo é muito baixo, sendo o adequado para
sistemas de controlo e automação.
9
2.4 - Protocolo ZigBee
Nos últimos anos as redes sem fios têm tido uma grande evolução com o aparecimento
de novos protocolos para aplicações distintas.
O protocolo ZigBee que apareceu oficialmente no ano de 2005 tem como entidade
responsável a ZigBee Alliance. Esta empresa é uma aliança de mais de duzentas empresas de
diversos continentes [7].
Antes do aparecimento do protocolo ZigBee não havia nenhum que fosse uniformizado
especialmente para sistemas de monitorização e controlo.
Com aplicações em sistemas de automação industrial e doméstica, este apresenta
características importantes para a sua área de aplicação como:
Baixo consumo de energia;
Pilha protocolar pequena, de fácil introdução num microcontrolador;
Suporta um elevado número de nós (pode suportar teoricamente até 65535);
Podem ser criadas diferentes tipos de redes (malha, arvore, estrela);
Elevada segurança com um sistema de encriptação de 128 bits;
O tempo de ligação de um dispositivo à rede é muito mais reduzido que nos protocolo
Wi-Fi e Bluetooth;
O tempo de passagem para o modo de standby é muito reduzido
Elevada fiabilidade;
Tem três tipos de dispositivos na rede: coordenador, router e endpoint; Suporta duas classes de dispositivos físicos, podendo estar ambos na mesma rede:
o Full Function Device (FFD)
Estes dispositivos podem ser coordenador, router ou endpoint e estão ligados permanentemente, consumindo mais energia, podendo comunicar com qualquer dispositivo da rede.
o Reduced Function Device (RFD)
Estes dispositivos são os endpoint, não estão ligados permanentemente, consumindo menos energia, mas só podem comunicar com os dispositivos FFD
Baixo custo dos dispositivos.
10
2.4.1 - Topologias de rede
Numa rede ZigBee podem ser implementadas vários tipos de rede, não havendo uma
topologia predetermina, nem o controlo dos dados tem de passar obrigatoriamente pelo
coordenador. Apesar desta característica dinâmica a composição da rede cabe ao coordenador.
Numa rede ZigBee existem três tipos de dispositivos, cada um desempenhando uma
tarefa diferente na rede:
Coordenador: É um dispositivo FFD, que é responsável pelo iniciar da rede, atribuição de
endereços, manutenção da rede e reconhecimentos dos nós, podendo fazer de ligação
entre outras redes ZigBee.
Router: É um dispositivo FFD, tratando-se de um nó na rede que tem a função de
encaminhar os dados entre nós, sem necessitar do coordenador. O router permite a
expansão da rede e pode servir como amplificador de sinal.
Endpoint: Pode ser um dispositivo FFD ou RFD e é o nó que consome menos energia da
rede visto que a maior parte do tempo está a dormir.
Estrela (Star)
O módulo coordenador tem como função o controlo da rede, estando no ponto central
da rede e rodeado por dispositivos Endpoint. É o coordenador que inicia a rede e mantém os
dispositivos na rede. Os dados passam sempre pelo coordenador. Este tipo de rede é usada em
espaços abertos onde não existam obstáculos que dificultem a transmissão de dados.
Figura 6-Topologia de rede em estrela [9]
11
Malha (Mesh)
Nesta topologia os dispositivos FFD (Coordenador de router) podem comunicar entre si
sem qualquer tipo de restrição. Este facto permite que uma rede seja facilmente expansível. A
rede nesta topologia tem a capacidade de se ajustar para poder optimizar o tráfego de dados,
tendo vários caminhos possíveis para chegar ao destino.
Figura 7-Topologia de rede em malha [9]
Árvore (Tree)
Esta topologia funciona de uma forma muito idêntica à de malha, mas tem uma
hierarquia maior, tendo o coordenador um papel central na troca de informação entre o Endpoint
e os nós router.
Figura 8- Topologia de rede em árvore [9]
12
2.4.2 - Aspectos técnicos
A tecnologia ZigBee opera em três bandas de rádio frequência, sendo conhecidas como
ISM e estas são isentas de licenciamento.
A nível mundial a banda de operação é os 2,4GHz, nos Estados Unidos a banda de
operação é os 915MHz e na Europa os 868MHz.
Para cada uma das bandas de operação a taxa de transmissão difere e o número de
canais também. Na banda 2.4GHz a taxa de transmissão pode chegar aos 250kbps e tem
dezasseis canais de operação. Para banda de 915MHz a taxa de transmissão é de 40kbps e tem
dez canais de operação. Por fim a banda de 868MHz tem apenas um canal e a taxa de débito é
de 20kbps.
A modulação utilizada para a banda dos 2.4GHz é O-QPSK e para as bandas dos
915MHz e 868MHz é o BPSK [10].
Figura 9- Bandas de frequência de operação [10]
13
2.4.3 - Arquitectura do protocolo ZigBee
A arquitectura do protocolo ZigBee é composta por diversas camadas, cada uma delas
fornecendo funcionalidades às camadas que lhe estão superiormente.
Este modelo é baseado no OSI, que tem sete camadas. Na arquitectura protocolar
ZigBee estão apenas definidas as camadas no qual existe o interesse para que sejam efectuadas
as funcionalidades desejadas. Na Figura 10 podem ser vistas a camadas do protocolo ZigBee.
Figura 10- Camadas da arquitectura protocolar do ZigBee [9]
As duas camadas mais inferiores, a camada física (PHY Layer) e a camada de controlo
de acesso ao meio (MAC layer), estão definidas pela norma IEEE 802.15.14.
Em cima destas camadas está definido o protocolo ZigBee onde se define as camadas
de rede (NWK Layer) e a camada de aplicação (APL Layer) e por fim a camada que define o
perfil do dispositivo (Device Profile).
A camada física é responsável pela transmissão e recepção dos dados através de um
canal físico de rádio frequência. Esta camada permite detectar a quantidade de energia das
comunicações bem como a indicação da qualidade de transmissão e recepção, cabendo a esta
a selecção do canal de comunicação.
14
A camada MAC tem como objectivo o controlo de acesso aos canais de RF e para isso
utiliza mecanismos de prevenção de colisões CSMA-CA, tendo que comunicar com a camada
inferior. Especifica os tipos de dispositivos que permite na rede e define o tipo de tramas.
A camada NWK é a primeira camada definida pelo protocolo ZigBee, tendo que efectuar
o início e o fim da ligação de um dispositivo à rede. Tem também a responsabilidade de
descobrir mais dispositivos e armazenar a informação destes, atribuindo um endereço caso seja
um coordenador. A descoberta de rotas e encaminhamento dos pacotes é uma das suas tarefas.
A camada de aplicação pretende assegurar uma boa gestão dos recursos, de modo que
as aplicações que sejam criadas funcionem de uma forma correcta.
Para uma análise mais detalhada do protocolo ZigBee está representado o esquema da
arquitectura na Figura 11.
Figura 11- Arquitectura do protocolo ZigBee [9]
15
2.5 - Controlador de válvulas sanitárias da Alfa Laval
O sistema ThinkTop® que está representado na Figura 12 permite efectuar o controlo
das válvulas sanitárias, sendo fabricado pela Alfa Laval. É compatível com os principais sistemas
de PLC, e a comunicação é efectuada através de fios pelo sistema AS-interface. Este sistema de
controlo de válvulas tem aplicação na indústria alimentícia especialmente para produtos lácteos
e da cervejaria.
O ThinkTop® é uma cabeça de controlo que tem uma unidade de indicação e permite
efectuar o controlo das válvulas. É usado para controlar e supervisionar válvulas pneumáticas e é
montado no topo da válvula. Recebe os sinais de uma PLC para controlar a válvula e envia sinais
de retorno ao PLC para indicar a posição da válvula. Para adaptar a placa do sensor à válvula
específica da aplicação, o usuário configura o sistema através dum teclado local.
O sistema possui um sensor magnético para indicar a posição da válvula. Para efectuar
a medida é montado um ímã na haste da válvula. O campo magnético gerado é detectado pelos
circuitos integrados que determinam o ângulo que serve para localizar o posicionamento actual
da válvula, com uma precisão de ± 0.1 mm [11].
Figura 12- Sistema de controlo de válvulas da Alfa Laval [11]
16
2.6 - Sistemas de domótica
No mercado existe actualmente uma grande variedade de sistemas de domótica.
Estes sistemas permitem a gestão de todos os recursos da habitação, desde a automação,
iluminação, climatização, segurança e comunicações.
A domótica existe para tornar a vida mais confortável e segura numa casa, permitindo
efectuar rotinas aborrecidas de uma forma automática.
O manuseamento pode ser configurável com as necessidades dos moradores e desta
forma pode ser mais ou menos automático. Os sistemas mais avançados, com inteligência,
interpretam parâmetros e reagem de uma forma automática de modo a tomar decisões que o
habitante devia tomar. Deste modo os habitantes não precisarão de perder tempo a efectuar
determinadas tarefas, como o encerramento das janelas, quando começa a chover.
Um sistema de domótica é composto por diversos módulos que permitem o controlo da
casa como:
Controlador de estores;
Controlador de luminosidade;
Módulo de relés;
Fonte de alimentação;
Módulo de entradas;
Controlador de temperatura.
Para que seja possível a comunicação entre os diversos módulos são utilizados
protocolos de comunicação por fios como X10, CAN e RS-485.
17
2.7 - Conclusões
Com o estudo das diversas tecnologias de comunicação sem fios, Wi-Fi, Bluetooth e
ZigBee foi efectuada comparação das mesmas. O protocolo ZigBee é aquele que se adequa
melhor aos projectos que se pretendem efectuar. A sua taxa de transmissão é suficiente para as
necessidades, mas o baixo consumo de energia, custo dos dispositivos e fiabilidade da
transmissão foram os aspectos que pesaram mais na escolha.
18
Capítulo 3 - Arquitectura de comunicação
3.1 - Introdução ao módulo de comunicação XBee
Os módulos XBee são desenvolvidos pela empresa Digi International, sendo um membro
da ZigBee Alliance. Estes estão configurados por defeito, de modo a poderem ser usados sem
qualquer tipo de configuração prévia, mas podem ser configurados através de comandos AT.
Existe um grande conjunto de comandos, que permite ajustar o módulo de comunicação às
necessidades do projecto a ser desenvolvido. A Digi disponibiliza dois tipos de módulos: XBee e
XBee-Pro. Ambos são compactos optimizados para aplicações de baixo custo e baixa taxa de
transferência. Os consumos de energia são baixos caso o módulo esteja a ser alimentado por
baterias, o que permite o aumento do tempo de vida destas [12].
Os módulos XBee apresentam uma grande fiabilidade na transmissão dos dados, sendo
um aspecto muito importante no projecto de um sistema, quando o seu funcionamento está
totalmente dependente dos dados que são transmitidos pelos módulos de comunicação.
O alcance do módulo XBee-Pro é duas a três vezes maior do que o XBee comum, mas o
seu consumo também é superior.
Uma das características mais importantes nos módulos XBee é a sua dimensão
reduzida, como podemos observar na Figura 13.
Figura 13-Imagem frontal dos módulos XBee e XBee-Pro [13]
19
O aspecto mais importante do módulo XBee em relação aos módulos ZigBee
concorrentes existentes no mercado, é o facto de este ser compatível pino a pino com os outros
módulos, o que permite na hora de projectar o hardware uma total despreocupação como
alcance que será necessário obter, já que as versões de grande alcance são compatíveis com as
de alcance reduzido. Estes módulos podem funcionar de duas formas distintas, modo
transparente e modo API. Para configurar os módulos XBee a Digi disponibiliza gratuitamente o
software X-CTU.
Tabela 2- Especificações dos módulos XBee ZNet 2.5 e XBee PRO ZNET 2.5 [13]
Specficacion XBee ZNet 2.5 XBee PRO ZNet 2.5
Performance
Indoor/Urban Range Up to 133 ft. (40 m) Up to 300 ft. (100m)
Outdor RF line-of-sight Range Up to 400 ft. (120 m) Up to 1 mile. (1.6 km)
Transmit Power Output 3mW (+3dBm), boost mode
enabled
1.25mW (+1dBm), boost mode
disabled
63mw (+18 dBm)
10mW (+10 dBm) for
international variant
RF Data Rate 250,000 bps 250,00 bps
Power Requirements
Supply Voltage 2.1- 3.6 V 3.0- 3.4 V
Operating Current (transmit, max
output power)
40mA (@ 3.3 V, boost mode
enabled)
35mA (@ 3.3V, boost mode
disabled)
295mA (@ 3.3 V)
Operating Current (Receive) 40mA (@ 3.3 V, boost mode
enabled)
38mA (@ 3.3V, boost mode
disabled)
45 mA (@3.3 V)
Idle Current (Receiver off) 15 mA 15 mA
Power-down Current < 1uA @ 25°C < 1uA @ 25°C
20
3.2 - Ligação do módulo XBee com o microcontrolador
Figura 14-Esquema de ligação entre o módulo XBee e o microcontrolador
Na Figura 14 está representado o esquema de ligação efectuado entre o módulo de
comunicação XBee com o microcontrolador, que é utilizado em todos os módulos que serão
abordados nesta tese. O pino DIN do módulo está ligado ao pino TX do uC para receber os
dados que serão enviados. O pino DOUT do módulo está ligado ao RX do uC, de modo que este
receba os dados. Os pinos CTS e RTS servem para efectuar o controlo do fluxo dos dados.
Quando o buffer do microcontrolador estiver cheio, este activa o pino RTS do módulo XBee para
não enviar mais dados. O sinal vindo do pino CTS tem uma grande importância quando o
módulo de comunicação está configurado como Endpoint, já que este informa o
microcontrolador quando poderá enviar os dados que estão armazenados no seu buffer, estando
ligado a uma interrupção externa do microcontrolador de modo que este receba o sinal e de uma
forma instantânea descarregue o seu buffer de transmissão. Quando o módulo de comunicação
está configurado como Router ou Coordenador o pino CTS está sempre activo e o canal está
sempre aberto para enviar dados. O pino SLEEP_RQ serve para colocar o módulo XBee a
dormir, para que este consuma muita pouca energia, período em que não recebe nem envia
dados.
21
O circuito RC composto pela resistência R3 e o condensador C2 serve para efectuar o
reset do módulo de comunicação.
O pino RSSI do módulo de comunicação fornece a intensidade do sinal da última
recepção de dados efectuada por este, na forma de uma onda quadrada de frequência
configurável: o duty cycle da onda fornece a intensidade do sinal.
A resistência R1 e o condensador C1 implementam um filtro passa baixo, filtrando as
componentes espectrais do sinal, deixando passar apenas o valor da componente contínua do
sinal que pode ser lida pelo canal do ADC do microcontrolador, onde estabelece uma relação do
valor adquirido com a intensidade do sinal da última recepção.
3.3- Modos de funcionamento
Os módulos de comunicação XBee têm dois modos de funcionamentos distintos que
estão apresentados em seguida.
3.3.1 - Modo transparente
Neste modo o canal de comunicação é aberto entre o transmissor e o receptor antes de
realizar uma transmissão de dados. Estando o canal aberto, os dados podem ser enviados e
recebidos. Os dados recebidos no pino DIN são colocados na fila para serem transmitidos via
rádio frequência. No caso da recepção de dados, estes são recebidos pelo canal de rádio
frequência, sendo transmitidos pelo pino DOUT.
No modo transparente e API os dados são transmitidos e recebidos pelo padrão de
comunicação série RS-232. Os módulos têm dois buffers, um para a transmissão e outro para a
recepção de dados, com capacidade de 100 bytes.
22
Figura 15- Diagrama do fluxo internos dos dados [13]
Figura 16-Frame de dado padrão RS-232 de 8 bits [13]
3.3.2 - Modo API
No modo API as frames que são transmitidas têm que ser construídas. A sua
constituição tem que conter os dados a ser transmitidos e o endereço de destino. Os dados
recebidos também vêm em frames que tem um campo que indica o nível da potência do sinal
recebido. Através da frame recebida pode ser extraído o endereço fonte do dado recebido.
Sempre que é enviado uma frame é recebida uma mensagem contendo a informação
de chegada ao destino pretendido e caso não tenha sucedido informa qual o motivo.
Para os projectos a desenvolver optou-se pelo modo API pois, neste modo, pode
confirmar-se se um dado foi enviado, sendo um aspecto importante para verificar se a rede está
a funcionar nas melhores condições. Caso esteja a ocorrer perda de pacotes podem ser tomadas
medidas para corrigir o problema.
23
No modo API os pacotes têm de ser encapsulados em frames API, segundo uma
estrutura definida como é mostrada na Figura 17, no qual podem ser enviados até 100 bytes
empacotados na frame API.
Figura 17-Estrutura de uma frame do modo API[12]
A frame de dados possui os seguintes campos:
Inicialização - O início de uma frame API é identificada pelo byte 0x7E;
Tamanho da frame de dados - Este campo é composto por dois bytes que informam o
número de bytes de dados;
Frame de dados - A frame de dados é variável, dependendo do tipo de informação que
será enviada;
Checksum - Este campo serve para verificar a integridade da frame.
O cálculo do checksum da frame é efectuado pela seguinte expressão:
𝒏 = 𝒇𝒓𝒂𝒎𝒆[𝟐]
𝑪𝒉𝒆𝒄𝒌𝒔𝒖𝒎 = 𝟎𝒙𝑭𝑭 − 𝒇𝒓𝒂𝒎𝒆 𝒊
𝒏
𝒊=𝟑
No modo API existem diversos tipos de frames, cada uma contendo informação muito
específica, podendo ser dos seguintes tipos:
Frame de estado do modem;
Frame de comando AT;
Frame de configuração de comando AT;
Frame de resposta de comando AT;
Frame de configuração remota de comando AT;
Frame de resposta de configuração remota de comando AT;
Frame de transmissão de dados;
Frame de estado de transmissão;
Frame de dados recebidos.
24
A frame de estado é enviada pelo módulo de comunicação em resposta às condições
específicas. A estrutura da frame de estado está representada na Figura 18.
Figura 18-Estrutura da frame de estado [12]
A frame de comando AT é utilizada para saber o valor dos parâmetros do módulo de
comunicação. A estrutura da frame de comando AT está representada na Figura 19.
Figura 19-Estrutura da frame de comando AT [12]
A frame de configuração dos comandos AT serve para enviar o novo valor para um
parâmetro do módulo. A estrutura da frame de configuração de comando AT está representada
na Figura 20.
Figura 20-Estrutura da frame de configuração de comando AT
25
A frame de resposta de comando AT é recebida para confirmar se o valor do parâmetro
foi realmente alterado. A estrutura da frame de resposta de comando AT está representada na
Figura 21.
Figura 21-Frame de resposta de comando AT [12]
A frame de configuração remota de um comando AT, permite alterar um parâmetro de
um módulo remotamente. A estrutura da frame de configuração remota de um comando AT está
representada na Figura 22.
Figura 22-Estrutura da frame de configuração remota de comando AT [12]
26
A frame de resposta de configuração remota de um comando AT é recebida para
informar se o parâmetro foi realmente alterado. A estrutura da frame de resposta de
configuração de comando AT está representada Figura 23.
Figura 23-Estrutura da frame de resposta de configuração de comando AT [12]
A frame de transmissão de dados é utilizada para enviar dados aos módulos de
comunicação que se encontram na rede. A estrutura da frame de transmissão de dados está
representada na Figura 24.
Figura 24-Estrutura da frame de transmissão [12]
27
A frame de estado de transmissão é recebida para informar se realmente os dados
foram recebidos pelo módulo de comunicação de destino. A estrutura da frame de transmissão
está representada na Figura 25.
Figura 25-Estrutura da frame de confirmação da transmissão [12]
A frame de dados recebidos contém os dados que lhe foram enviados por um módulo de
comunicação que está na mesma rede. A estrutura da frame de dados recebidos está
representada na Figura 26.
Figura 26-Estrutura da frame de dados
28
3.4 - Framework para utilização da API do XBee
Para comunicar com o módulo de comunicação XBee foi construída uma framework
para facilitar a ligação entre o módulo e a aplicação [14]. Esta foi elaborada para poder ser
introduzida nos microcontroladorores da família avr. Esta framework tem parâmetros de reajuste
que permitem a fácil integração nos diversos microcontroladorores da família, tais como a
capacidade de memória, e configuração de registos. Para cada aplicação o microcontrolador
seleccionado tem de ter os requisitos necessários. Para esta Framework o factor mais
importante é a sua capacidade de memória de dados, já que o tamanho do buffer tem de ser
reajustado ao tipo de aplicação e ao microcontrolador onde está inserida. A arquitectura de
comunicação construída tem a estrutura representada na Figura 27.
Figura 27-Arquitectura de comunicação
A Framework está dividida em duas partes, a recepção e a transmissão de frames. Por
sua vez a recepção dos dados foi subdividida em quatro partes, sendo elas a recepção dos
dados, inserção na fila de recepção, remoção da fila e o processamento dos dados, como está
representado na Figura 28.
A transmissão das frames foi dividida em quatro partes, a montagem da frame de
acordo com a API, inserção dos dados na fila de transmissão de dados, remoção da fila e o
envio das frames, como está represento na Figura 29.
29
Figura 28-Arquitectura de recepção
Figura 29-Arquitectura de transmissão
30
3.4.1 - Construção das filas
As filas servem para armazenar frames de uma forma temporária para posteriormente
serem processadas. Nas filas os elementos são inseridos num extremo e retirados do outro
extremo, isto é, os elementos deixam a fila na mesma ordem que nela chegam, logo trata-se de
uma FIFO. Esta tem como restrição o facto de um elemento só poder ser inserido no final da fila,
assim como o único elemento a poder ser retirado, ser o primeiro da fila.
Na generalidade quando se fala de filas a sua capacidade é variável já que estas usam
alocação de memória dinâmica, mas quando se trata de programação num microcontrolador a
filosofia tem de ser outra, já que estes têm memória limitada. Mesmo que fosse usada esta
estratégia, a sua expansão pode corromper dados, o que pode provocar graves problemas no
funcionamento do software. Assim foi adoptada uma filosofia de memória estática onde o
tamanho das filas é definido de acordo com a necessidade da aplicação. Trata-se de uma fila
circular onde o seu funcionamento está representado na Figura 30.
Figura 30-Funcionamento da fila
31
3.4.2 - Algoritmo de recepção das frames
O algoritmo implementado para recepção de dados teve que ser construído para receber
frames de tamanho variável, de acordo com a estrutura da frame que está representada na
Figura 31. Na posição zero do buffer de recepção tem de estar o valor que determina o início de
uma frame. Caso isso não ocorra terá de haver uma rotação dos dados até encontrar o início de
uma outra, ou o índice do buffer ficar a zero.
Quando o tamanho da frame é maior que a capacidade do buffer, é porque ocorreu
algum erro na transmissão. O buffer tem de ser limpo e o índice da recepção colocado a zero.
Caso não seja este o procedimento adoptado corre-se o risco de haver sobreposição de dados, o
que poderá causar danos ao funcionamento do software.
Quando uma frame é recebida, é necessário calcular o checksum, para comparar com o
que vem na frame. Caso esteja correcto a frame é colocada na fila de recepção para
posteriormente ser processado. Caso não esteja correcto o buffer é limpo e o índice de recepção
passa para zero, para preparar uma nova recepção. Com estes cuidados que foram escritos a
recepção das frames é feita nas melhores condições sem que haja perda de dados. O
fluxograma do algoritmo de recepção que está na interrupção de recepção dos dados do
microcontrolador está representado na Figura 31.
32
Figura 31- Algoritmo de recepção das frames
33
3.4.3 - Algoritmo de processamento das frames
Como na API do módulo de comunicação existem vários tipos de frames, e cada uma
contém informação muito específica, estas terão de ser diferenciadas na hora de serem
processadas. Para executar está tarefa foi criada uma tabela de callback, na qual cada função
processa só um tipo de frames.
Em cada frame existe um campo, o byte quatro, que tem um valor que é associado ao
tipo de frames. Deste modo pode ser associada a respectiva função que foi criada para esse
propósito.
Na Tabela 3 está o valor que é associado a cada tipo de frames. Para processar a
diversidade de frames existentes, foi criado um algoritmo que está representado na Figura 32.
Este verifica se existem frames na fila de recepção e se existirem a frame é removida para um
buffer auxiliar. De seguida é necessário encontrar a função que corresponde à frame que está a
ser processada e ao encontrar o apontador da callback toma o valor do índice respectivo. Desta
forma quando uma frame chega à função destinada só existe a preocupação de processar o
campo dos dados que são enviados. O algoritmo de processamento das frames é chamado no
ciclo principal do programa, de modo que os dados sejam processados o mais rápido possível.
Tabela 3- Nome das frames da API e o respectivo valor de identificação [12]
Nome das frames da API Valor que identifica
Frame de estado do modem Ox8A
Frame de comando AT 0x08
Frame de configuração de comando AT 0x09
Frame de resposta de comando AT 0x88
Frame de configuração remota de comando AT 0x97
Frame de resposta de configuração remota de comando AT 0x17
Frame de transmissão de dados 0x10
Frame de estado de transmissão 0x8B
Frame de dados recebidos 0x90
34
Figura 32- Algoritmo de processamento de frames
3.4.3 - Algoritmo de transmissão das frames
O processo de transmissão de uma frame segue os passos representados na Figura 29,
sendo o primeiro passo, a construção da frame na qual foram construídas funções para montar
as diversas frames, de acordo com as regras estabelecidas pela API do módulo de comunicação.
Após a montagem das frames, estas são colocadas na fila de transmissão de dados para serem
enviadas. Após a inserção é chamada uma função para desencadear a transmissão dos dados.
Se o dispositivo estiver configurado como coordenador ou router o canal de transmissão está
sempre aberto, mas se for um endpoint terá que receber um sinal indicando abertura do canal
para pode desencadear a transmissão dos dados. Este sinal é recebido pela interrupção externa
35
do microcontrolador de modo a agilizar o processo de transmissão. O sinal é proveniente do pino
CTS do módulo de comunicação XBee.
A transmissão do primeiro byte desencadeia a transmissão da frame e os próximos
bytes são enviados quando a interrupção de transmissão activar. Enquanto houver dados para
enviar, estes serão enviados uns após os outros, sendo este efeito designado por efeito dominó.
Com esta filosofia o processo principal não terá que perder tempo a verificar se o dado já foi
enviado, tornando o processo mais rápido. Na Figura 33 está o fluxograma da função
“ProcessTransmit” que provoca o desencadear do envio dos dados.
Figura 33- Algoritmo da função que provoca o desencadear da transmissão dos dados
36
Figura 34- Fluxograma que está na rotina de transmissão de dados
Figura 35-Fluxograma que está na rotina de interrupção externa
37
3.5 - Conclusões
Após estudo de diversos módulos de transmissão por rádio frequência da tecnologia
ZigBee, concluiu-se que o que se adaptava melhor aos requisitos dos projectos elaborados era o
módulo XBee. Para trabalhar com este módulo foi criada a framework que permite elevar o nível
de abstracção, permitindo criar diversas aplicações sem haver a preocupação de saber o
funcionamento da API do módulo.
Ao fim de diversos testes, a filosofia implementada de criar uma framework revelou-se
extremamente eficiente para o propósito que foi construída.
38
Capítulo 4 - Aplicação do ZigBee na Domótica
4.1 - Introdução
Um sistema de domótica é composto por diversos módulos, que permitem o controlo de
uma casa para acomodarem melhor os moradores. Um dos módulos que constitui o sistema é a
estação meteorológica, que desempenha uma tarefa importante no sistema de automação.
A estação que foi estudada projectada e implementada para esta tese, tem como
objectivo a integração num sistema de domótica. A sua finalidade é medir grandezas físicas
como a temperatura, humidade, luminosidade, velocidade do vento e verificar a ocorrência de
chuva.
Para medir a temperatura, foram estudadas duas soluções, no qual o aspecto
económico foi determinante. Um dos sensores seleccionado, além de medir temperatura mede a
humidade relativa, mas o seu custo é bastante mais elevado em relação aquele que mede
simplesmente a temperatura. O produto final tem duas versões, dando a possibilidade de
escolha ao cliente em adquirir a solução que lhe é mais vantajosa.
A comunicação com a central de controlo da casa poderá ser feita por fios, através da
tecnologia CAN, ou sem fios via ZigBee. Esta flexibilidade permite escolher no momento da
montagem qual a tecnologia que se adequa melhor. O facto de a estação ficar no exterior de
uma casa, poderá ser um aspecto importante numa rede ZigBee, já que esta poderá funcionar
como router. O diagrama de blocos da estação meteorológica está representado na Figura 36.
Figura 36-Diagrama de blocos da estação meteorológica
39
4.2 - Hardware da estação meteorológica
O hardware da estação meteorológica é composto por diversos módulos, no qual o
microcontrolador é o componente central deste circuito, já que todos os sensores e dispositivos
de comunicação lhe estão ligados. A colocação dos diferentes sensores foi minuciosamente
estudada para permitir que estes efectuem a leitura das grandezas físicas nas melhores
condições de modo a não provocar erros de leitura. As dimensões do circuito impresso estão
limitadas à caixa de plástico que o albergará, que está representada na Figura 37.
Figura 37- Imagem da caixa de plástico da estação meteorológica
4.2.1 - Sensor de temperatura e humidade SHT11
O SHT11 que está representado na Figura 38 é um dispositivo que contém dois
sensores, um de humidade relativa e outro de temperatura. Permite medir temperaturas desde
dos -40 °C até +123,8°C e mede a humidade relativa desde o 0 até 100% [15].
Figura 38- Imagem do SHT11[15]
40
A sua tensão de alimentação pode variar desde os 2,4V a 5,5V,e a leitura das grandezas
físicas é efectuada por duas linhas de interface série (SCK, DATA). Além dos sensores, o SHT11
é composto por um conversor analógico digital de 14-bits. Um dos aspectos mais importantes
deste sensor é o facto deste se auto calibrar, o que faz com que ao longo do tempo não perca
precisão.
O diagrama de blocos do SHT11 está representado na Figura 39 [15]
Figura 39 - Diagrama de blocos SHT11 [15]
O esquema de ligação efectuado, foi o recomendado pelo fabricante que está na Figura 40.
Figura 40 Esquema de montagem do SHT11 [15]
Comunicação com o SHT11
Para dar início à transmissão de dados no SHT11, é necessário efectuar um
comando que consiste em baixar o sinal DATA enquanto o SCK está alto, depois baixar SCK e
levantar o DATA de novo enquanto o SCK está em cima. Sequência que está representada na
Figura 41.
Figura 41- Comando de iniciar do SHT11 [15]
41
O seguinte passo consiste em enviar o endereço de 3 bits (actualmente só suporta o
“000”) e os cinco bits que identifica o tipo de pedido a ser efectuado.
Quando detecta o comando, o SHT11 vai colocar a linha de dados a nível baixo de forma
a informar que o comando foi bem recebido. Após a queda da linha de dados este envia oito
impulsos do relógio e depois do nono impulso sinal DATA passa para nível alto.
Tabela 4- Tabela de comandos do SHT11 [15]
Após receber o comando de medição o sensor demora algum tempo a efectuar a leitura.
O sensor envia dois bytes contendo a leitura efectuada e a informação é posteriormente
processada no microcontrolador para este efectuar o cálculo da grandeza física medida.
Para indicar o fim da medição o SHT11 vai colocar a linda DATA a nível baixo e entra em
modo idle.
Figura 42- Exemplo de sequência para um envio de comando [15]
42
4.2.2 - Sensor de temperatura LM75
O LM75 que está representado na Figura 43 é um sensor de temperatura muito popular.
É usado na placa mãe do computador, para efectuar o controlo de temperatura. Este sensor é
fabricado por diversas empresas, apresentando algumas diferenças. Mas o facto de ser utilizado
em larga escala tornou este sensor bastante barato.
A gama de leitura do sensor vai desde os -55° a +125°C e para efectuar a comunicação
é utilizada a tecnologia I2C. A tensão de alimentação vai desde os 2.7V a 5.5V, sendo a corrente
consumida em funcionamento normal de 10mA.
Figura 43- Imagem do LM75 [17]
O esquema de ligação efectuado recomendado pelo fabricante, está representado na Figura 44.
Figura 44-Esquema de ligação do LM75
43
Comunicação com o LM75
A comunicação entre o sensor de temperatura LM75 com o microcontrolador é
efectuada pelo protocolo I2C.
O barramento I2C foi criado pela Philips 1996, com o objectivo de ligar vários circuitos
integrados de uma forma muito simples, usando para tal uma linha de controlo (SCL) e uma
linha de dados (SDA) [19].
“O princípio de funcionamento do barramento baseia-se no conceito de um dispositivo
master (dispositivo que gere a comunicação, gera o sinal de relógio e transmite os dados) e
outro slave (dispositivo que recebe os dados e confirma a recepção através do envio de um sinal
de acknowledge) ” [16].
Figura 45- Barramento I2C [19]
Figura 46- Esquema de comunicação no I2C [19]
44
O endereçamento do sensor é configurável através dos níveis de tensão aplicados nos
pinos A0, A1e A3, como mostra na Figura 44. Neste caso como os pinos estão colocados a nível
lógico baixo o endereço é dado pelo registo do sensor que está representado na Figura 47.
Figura 47- Registo do endereço [18]
A leitura dos dados é efectuada seguindo os seguintes passos:
1. Envio do comando start bit gerado pelo master
2. Envio do endereço de sete bits do dispositivo que pretende comunicar
3. Envia um bit para indicar se é para ler ou escrever dados
4. O slave após ter identificado com o endereço enviado envia um ACK
5. Os dados são enviados em oito bits
6. A cada envio de um byte este recebe um ACK
7. A tarefa de enviar dados repete-se enquanto que não seja enviado o sinal de stop
O envio da temperatura é efectuada em dois bytes como mostra a Figura 48.
Figura 48- Registo da temperatura do LM75 [18]
O cálculo da temperatura é efectuado através da seguinte expressão:
𝑣𝑎𝑙𝑜𝑟 = 𝑣𝑎𝑙𝑜𝑟 𝑑𝑜𝑠 𝑑𝑜𝑖𝑠 𝑏𝑦𝑡𝑒𝑠 𝑟𝑒𝑐𝑒𝑏𝑖𝑑𝑜𝑠
𝑇𝑒𝑚𝑝𝑒𝑟𝑎𝑡𝑢𝑟𝑎 =𝑉𝑎𝑙𝑜𝑟
32× 0,125 , °C
45
4.2.3 - Sensor de efeito de Hall
O sensor de efeito de Hall A1104 que está representado na Figura 49 foi utilizado para
medir a velocidade do vento da estação meteorológica. “ O efeito Hall refere-se à diferença de
potencial (potencial de Hall) nos lados opostos de uma fina folha de material condutor ou
semicondutor na forma de uma 'barra Hall' (ou um elemento de van der Pauw) através da qual
uma corrente eléctrica flui, criada por um campo magnético aplicado perpendicularmente ao
elemento Hall. A razão da tensão média pela intensidade de corrente é conhecida como
resistência Hall, e é característica do material no elemento. O físico estadunidense Edwin
Herbert Hall descobriu esse efeito em 1879.” [20]
Figura 49- Sensor de efeito Hall [21]
A estratégia utilizada para medir a velocidade de vento foi colocar um sensor de efeito de
Hall perpendicular ao veio de rotação do cata-vento. Sempre que o veio percorre uma volta, o
íman que está colocado no veio de rotação faz com que a saída do sensor active. A saída do
sensor está ligada a uma interrupção externa do microcontrolador, que faz gerar uma
interrupção.
.
Íman do eixo de rotação
Figura 50- Íman do eixo de rotação
46
O esquema de ligação do sensor de Hall está representado na Figura 51.
Figura 51- Esquema de ligação do sensor de hall
Para efectuar o cálculo da velocidade do vento é necessário saber quanto tempo demora
o veio do cata-vento a dar uma volta. Para tal existe um contador que é incrementado sempre
que o veio efectua uma volta. O cálculo do vento é efectuado de dois em dois segundos e deste
modo a resolução do anemómetro é de 0,25 m/s., sendo um valor aceitável para o tipo de
aplicação.
Para efectuar o cálculo é necessário saber o tempo que demora a dar uma volta.
O cálculo é efectuado através da seguinte expressão:
𝑇 =2 𝑠𝑒𝑔𝑢𝑛𝑑𝑜𝑠
𝑛ú𝑚𝑒𝑟𝑜 𝑑𝑒 𝑣𝑜𝑙𝑡𝑎𝑠 , 𝑠𝑒𝑔𝑢𝑛𝑑𝑜𝑠
A velocidade angular do veio do cata-vento é dada pela seguinte expressão:
𝑤 =2𝜋
𝑇, 𝑟𝑎𝑑/𝑠
O diâmetro entre as pás do cata-vento é de 16cm o seu raio é de 8cm, logo a velocidade do
vento é dada pela seguinte expressão:
𝑟𝑎𝑖𝑜 = 0,08𝑚
𝑣𝑒𝑙𝑜𝑐𝑖𝑑𝑎𝑑𝑒 = 𝑤 ∗ 𝑟𝑎𝑖𝑜 ,𝑚/𝑠
47
4.2.4 - Sensor de luminosidade
O sensor GA1A2S100S que está representado na Figura 52 foi escolhido para medir a
quantidade de luz existente. Este sensor, fabricado pela SHARP, mede a luminosidade no
ambiente onde está inserido. A sua tensão de alimentação do sensor vai dos -0.3V a +7V.
Figura 52- Sensor de luz GA1A2S100SS
A sua saída é dada em corrente, sendo proporcional à quantidade de luz existente no
ambiente onde está inserido, como pode ser observado no gráfico da Figura 53.
Figura 53- Gráfico do sensor de luz 0
48
Como a saída é dada em corrente, foi utilizada a resistência R4 para transformar a
corrente em tensão. Deste modo o microcontrolador através de um dos seus canais de ADC,
converte o valor analógico de tensão em digital. A resistência R4 é de precisão para que o erro
seja o menor possível. O esquema de ligação do sensor de luminosidade está representado na
Figura 54.
Figura 54- Ligação do sensor de luminosidade
49
4.2.5 - Sensor de chuva
A estação meteorológica possui um sensor para detectar a ocorrência de chuva,
tratando-se de um sensor capacitivo que está representado na Figura 55. O sensor é composto
por um condensador cuja sua capacidade varia com a ocorrência de chuva.
Para eliminar o orvalho possui um filamento resistivo que funciona como aquecedor e
deste modo as pequenas gotas são eliminadas. Para efectuar o controlo da temperatura do
filamento resistivo o sensor tem uma resistência variável com a temperatura (NTC) [23].
Figura 55-Imagem do sensor de chuva [23]
O controlo do filamento resistivo é efectuado pelo circuito que está representado na
Figura 56. O circuito é composto por um mosfet que tem uma resitência na sua gate. Quando a
gate do mosfet é alimentada, este entra em condução. O circuito resistivo que está nos terminais
SL1-1 e SL1-5 é alimentado, provocando um aquecimento no sensor.
Figura 56-Controlo do filamento resistivo
50
O valor da resistência NTC que está colocada junto ao filamento resistivo, vai variando
com a variação de temteratura. Através do valor da resistência NTC pode ser estabelicida uma
relação com a temperatura. Através do circuito que está representado na Figura 57, onde a NTC
está ligada nos terminais SL1-3 e SL1-4, faz-se um divisor de tensão com a resitencia R9. Com a
variação da resistência a tensão acompanha essa variação, esse valor é lido no canal de um
ADC do microcontrolador para ser estabelecida uma relação, permitindo assim o cálculo da
temperatura.
Figura 57-Circuito da NTC
Equação para determinar a temperatura:
𝑇𝑒𝑚𝑝𝑒𝑟𝑎𝑡𝑢𝑟𝑎 =𝛽
ln 𝐴𝐷𝐶
1024 − 𝐴𝐷𝐶 +
𝛽𝑇𝑎𝑚𝑏
− 𝑇𝑧𝑒𝑟𝑜
𝛽 = 4250
ADC =Valor lido nos registos ADCL e ADCH
Tzero= 273 °k
Tamb=298 °k (273° + 25°)
A gama de leitura é de -10°C a +60°C com um erro de 1°C.
51
Para eliminar o orvalho o sensor deve estar a uma determinada temperatura, cujo valor
é controlado por um controlador ON-OFF. Este tipo de controlo é utilizado quando o processo
permite uma oscilação da variável a ser controlada em torno do valor de referência. A saída do
controlador vai alternando entre ligada e desligada, ou vice-versa.
Figura 58- Controlo em malha fechada [24]
O sinal de controlo u(t) pode assumir dois valores, dependendo do valor do erro ser
positivo ou negativo.
𝑢 𝑡 = 𝑈1 𝑠𝑒 𝑒 𝑡 > 0𝑈2 𝑠𝑒 𝑒 𝑡 < 0
Para evitar que o controlador esteja sempre a ligar e desligar utiliza-se uma margem de
histerese como está representado na Figura 59.
Figura 59- Histerese [24]
52
Algoritmo:
erro = r(t) - temperaturaNTC
Se(erro <-histerese) {
Desliga resistência
}Senão {
Se(erro > histerese){
Liga resistência
}Senão {
Mantêm estado actual
}
}
O resultado do controlador ON-OFF implementado pode ser analisado no gráfico da
Figura 60. O tempo de amostragem do controlador é de 250ms, a margem de histerese é de
1°C e a temperatura de referência de +35°C.
Figura 60- Gráfico da temperatura controlada pelo controlador ON-OFF
53
O sensor de chuva é um condensador no qual a sua capacidade vai variando com a
quantidade de chuva que está retida em cima do sensor. A estratégia para saber se está a
chover foi de colocar o condensador num circuito gerador de onda quadrada que está
representado na Figura 61, onde a variação da capacidade faz variar a frequência da onda. Para
efectuar a leitura da frequência, o sinal foi ligado a uma entrada do microcontrolador para este
calcular a frequência do sinal. O sinal produzido pelo circuito gerador de onda quadrada, quando
não há ocorrência de chuva está representado na Figura 62 e o sinal para quando há ocorrência
de chuva está representado na Figura 63.
Figura 61- Circuito gerador de onda quadrada
Figura 62- Sinal que o microcontrolador recebe quando não há ocorrência de chuva
54
Figura 63- Sinal que o microcontrolador recebe quando há ocorrência de chuva
4.2.6 - Fonte de alimentação
O circuito da fonte de alimentação que foi construída para alimentar a estação
meteorológica está representada na Figura 64, é alimentado a uma tensão de +12V, gera uma
saída de +3.3V e fornece uma corrente máxima de 50mA.
Figura 64- Circuito da fonte de alimentação
55
4.2.7 - Microcontrolador
O circuito de alimentação do circuito do microcontrolador AT90CAN32 está representado
na Figura 65.
Figura 65- Circuito de alimentação do microcontrolador
4.2.8 - Controlador CAN
O circuito do controlador CAN ATA6660, é utilizado para efectuar a ligação do
barramento ao microcontrolador.
Figura 66- Circuito do controlador CAN
56
4.3-Software
4.3.1 - Software do microcontrolador
Para efectuar as leituras das grandezas físicas foi desenvolvido um software para ler os
dados enviados pelos sensores, podendo esses mesmos dados ser transmitidos via CAN ou
ZigBee.
O software do microcontrolador foi construído numa filosofia de blocos de código que
está representada na Figura 67, sendo cada um responsável por efectuar a leitura de uma
grandeza física e o envio dos dados. Para fazer a ligação dos blocos foi criado um bloco principal
que interliga todos eles e deste modo pode-se ter acesso aos valores das grandezas físicas
através de uma função que retorna o valor.
Esta filosofia foi implementada devido à grande dimensão do software. O facto de este
ser construído na linguagem de programação C, e esta não ser uma linguagem com um nível de
estruturação das linguagens de programação orientadas a objectos, cria algumas limitações na
hora de estruturar o código. Com esta filosofia consegue-se estabelecer um paralelismo com as
linguagens mais estruturas permitindo organizar o código. Com esta estratégia é mais fácil
depurar o código, já que quando ocorre algum erro, basta identificar o bloco a que pertence,
permitindo que a resolução deste seja muita mais rápida. O fluxograma do funcionamento básico
do software está representado na Figura 67.
Figura 67- Diagrama de blocos do software da estação meteorológica
57
Figura 68 - Fluxograma do software da estação meteorológica
58
4.3.2 - Software para computador
Para efectuar testes com estação meteorológica foi construído um software na
linguagem de programação C#, para colocar num computador. Os dados são enviados
periodicamente para o computador via rádio frequência através do protocolo ZigBee.
O software está dividido em dois separadores no qual o primeiro, que está representado
na Figura 69 tem as funções de selecção e abertura da porta série, definição do tempo de
amostragem e mostrar as grandezas físicas medidas pela estação meteorológica. O segundo
separador, representado na Figura 70, mostra a hora e a data de chegada de cada grandeza
física.
Figura 69- Separador de visualização das grandezas físicas
Figura 70- Separador de visualização dos eventos
59
4.4 - Conclusões
Concluída a estação meteorológica os objectivos que eram propostos foram cumpridos e
todas as grandezas físicas que se pretendiam medir foram efectuadas dentro das tolerâncias
aceitáveis.
A escolha do microcontrolador foi adequada ao projecto, devido à sua capacidade de
memória, tipos de comunicação existente, canais de conversão de analógico para digital e o
número de pinos de entrada e saída.
O sensor de efeito de Hall foi a escolha correcta para medir a velocidade do vento devido
às restrições da caixa da estação. O aspecto mais importante deste sensor é o seu
posicionamento vertical em relação ao íman para este funcionar correctamente.
O sensor de chuva é o que implica mais circuitos de apoio, para ligar e desligar a
resistência de temperatura, para ler a temperatura do sensor e o circuito gerador de onda
quadrada, mas desempenha a sua tarefa de uma forma correcta.
Os restantes sensores da estação são fáceis de trabalhar e funcionam de acordo com
aquilo que lhes é pretendido.
60
Capítulo 5 - Aplicação do ZigBee em ambiente industrial
5.1 - Introdução
O projecto industrial consiste em substituir a tradicional comunicação por fios, por uma
rede sem fios, através da tecnologia ZigBee. Esta tecnologia foi desenvolvida para aplicar em
sistemas de automação industrial, no qual as taxas de transmissão não necessitam de ser muito
elevadas, mas as comunicações têm de ser fiáveis.
O objectivo do projecto é efectuar o controlo de válvulas sanitárias para a indústria
cervejeira.
No sistema o módulo de controlo e monitorização da válvula estão separados
fisicamente do módulo de actuação. Estes comunicam via rádio frequência através da tecnologia
ZigBee. O facto de estarem fisicamente separados permite uma maior flexibilidade na
organização dos sistemas da fábrica. Esta maior flexibilidade provocou a necessidade de criar
algoritmos de emparelhamento entre o sistema de controlo e monitorização e o sistema de
actuação.
O módulo designado como sensor tem a tarefa de monitorizar o estado da válvula e
sempre que haja uma alteração esta tem de ser comunicada ao módulo de actuação. Além da
tarefa referida, os comandos de controlo da válvula são recebidos através das entradas do
módulo e estes comandos são provenientes de um autómato e dos dois botões que este tem. Os
comandos recebidos servem para fechar (CLOSE), abrir (OPEN) e limpar (FLUSH) a válvula,
terão de ser enviados para o actuador.
O módulo da actuação na realidade é constituído por dois tipos de dispositivos: gateway
e actuadores. Estes dois dispositivos comunicam através de um barramento CAN, onde poderão
estar diversos actuadores.
O gateway tem a tarefa de estabelecer uma ponte entre a tecnologia de comunicação
sem fios ZigBee e o protocolo com fios CAN e no caso de existir um computador central terá que
enviar todos os eventos recebidos para este.
Todo o controlo do sistema poderá ser efectuado através de um computador central.
Este poderá controlar todas as válvulas, bem como monitorizar diversos dados fornecidos pelo
módulo do sensor, posição da válvula, estado das entradas, saídas e dos leds, enviar a
intensidade do sinal da última recepção efectuada e o valor da alimentação do módulo.
61
A calibração da válvula consiste em indicar em que posição do curso desta é
considerada fechada ou aberta sendo esta operação efectuada através do computador. O
diagrama de blocos do sistema de controlo de válvulas está representado na Figura 71.
Figura 71- Diagrama de blocos do sistema de controlo de válvulas sanitárias
62
5.2 - Módulo Sensor
O módulo sensor tem como principais funcionalidades verificar o estado da válvula e
receber os comandos de actuação, sendo estes enviados via rádio frequência para o módulo de
actuação, para este actuar a válvula. O sinal do sensor está ligado num canal do ADC do
microcontrolador para converter um sinal analógico em digital.
As entradas digitais (IN1, IN2, IN3) servem para receber os sinais de actuação
provenientes de um autómato. Os leds (LED1, LED2, LED3, LED4, LED5) que estão no módulo
têm a função de informar o modo de funcionamento bem como o estado da válvula. Este módulo
terá de enviar sempre que lhe é pedido pelo computador central a posição da válvula, o estado
das entradas, saídas e leds, bem como o valor da tensão de alimentação e a intensidade de sinal
da última transmissão. Na Figura 72 está representado o diagrama de blocos do módulo do
sensor.
Figura 72 - Diagrama de blocos do módulo do sensor
63
5.2.1 - Hardware do módulo do sensor
Fonte de alimentação
Para implementar esta fonte de alimentação foi utilizado um conversor CC-CC em
topologia buck. O conversor pode fornecer 500mA de corrente na tensão de saída de 3.3V. À
entrada o conversor pode ser alimentado com uma tensão que pode variar dos 7V a 40V. A
tensão de saída é ajustável, e neste circuito foi ajustada para os 3,8V [25].
No caso de o circuito deixar de receber o sinal de alimentação, terá uma bateria para
salvaguardar que este nunca deixe de ser alimentado. Para determinar qual a fonte de energia a
alimentar o circuito foram colocados dois díodos nas saídas das duas fontes de energia, para
que a corrente circule no sentido de alimentar o circuito. Os díodos apresentam uma queda de
tensão de 0,4V. A tensão de saída da fonte comutada é de 3,8V e após o díodo é de 3,4V. Como
o sinal fornecido pela fonte é o mais elevado, então é a fonte que fornece energia ao circuito.
Quando há uma falha de energia da fonte, passa a ser a pilha o fornecedor de energia ao
circuito. Os valores para o condensador e a bobine são os recomendados pelo fabricante. O
circuito da fonte de alimentação do módulo do sensor está representado na Figura 73.
Figura 73 - Circuito da fonte de alimentação do módulo do sensor
O valor da tensão de saída é dado pela expressão:
𝑉𝑜𝑢𝑡 = 𝑉𝑟𝑒𝑓 1 +𝑅3
𝑅1
𝑅3 = 𝑅1 𝑉𝑜𝑢𝑡
𝑉𝑟𝑒𝑓− 1 ,𝐶𝑜𝑚 𝑉𝑟𝑒𝑓 = 1,23𝑉
64
Microcontrolador
O microcontrolador seleccionado para o módulo do sensor é o AT90CAN32. Na Figura
74 está representado o circuito de alimentação que é composto pelos condensadores
desacoplamento, circuito de reset e do cristal. As características do microcontrolador podem ser
visualizadas na Tabela 5.
Figura 74- Circuito de alimentação do microcontrolador
Tabela 5- Características do microcontrolador [26]
CPU 16MHz
Memória flash 32K Bytes
Memória EEPROM 1K Byte
Memória RAM 2K Bytes
Canais para a conversão A/D 8
Resolução dos canais A/D 10 Bits
Comunicação UART 2
Comunicação CAN 1
Timers 4
65
Sensor Balluff
As válvulas sanitárias que se pretendem controlar, deslocam-se para a posição de aberta
e fechada. O sistema de controlo tem a necessidade de saber a posição com exactidão para
efectuar o controlo de todo o sistema. Para efectuar esta tarefa foi seleccionado um sensor
magnético fabricado pela Balluff, tendo uma precisão de ±60µm e uma gama de leitura que
permite medir deslocamento de 0 a 60mm, com a gama linear a ir dos 5 a 55mm.
O sensor tem dois leds para informar se está fora da gama de leitura deste [27]. Na
Figura 75 está representada a imagem do sensor de deslocamento da Balluff
Figura 75- Imagem do sensor de deslocamento Balluff [27]
Para efectuar a tarefa de medir a posição da válvula o sensor de deslocamento foi
colocado junto à válvula. Um íman em forma toroidal está colocado no veio da válvula para
provocar o efeito magnético desejado permitindo efectuar a leitura da posição da válvula. Na
Figura 76 está a imagem da válvula sanitária com o sensor de deslocamento Balluff.
Figura 76- Imagem da válvula sanitária com o sensor de deslocamento Balluff [27]
66
Para efectuar o cálculo da posição exacta da válvula foi estudada a curva característica
do sensor de deslocamento que está representada na Figura 77.
Figura 77- Curva característica do sensor de deslocamento Balluff [27]
O declive da recta é dado pela seguinte expressão:
𝐷𝑒𝑐𝑙𝑖𝑣𝑒 =𝑈𝑎 max − 𝑈𝑎 𝑚𝑖𝑛
𝑆𝑎 𝑚𝑎𝑥 −𝑆𝑎 𝑚𝑖𝑛 , 𝑉 𝑚𝑚
Sabendo que:
𝑈𝑎 𝑚𝑖𝑛 = 0𝑉
𝑈𝑎 𝑚𝑎𝑥 = 10𝑉
𝑆𝑎 𝑚𝑖𝑚 = 0𝑚𝑚
𝑆𝑎 𝑚𝑎𝑥 = 60𝑚𝑚
Logo o valor do declive:
𝐷𝑒𝑐𝑙𝑖𝑣𝑒 =10 − 0
60 − 0=
1
6 𝑉/𝑚𝑚
A expressão do deslocamento é dada por:
𝑆 = 6 ∗ 𝑈𝑎 ,𝑚𝑚
67
Entradas
O módulo do sensor tem três entradas digitais para receber os comandos de controlo
para a válvula sanitária, provenientes de um autómato, que serão enviados via rádio frequência
para o actuador. Os comandos provenientes do autómato são para abrir (OPEN), fechar (CLOSE)
e para limpar a válvula (FLUSH). Na Figura 78 está representado o esquema de ligação das
entradas com o microcontrolador. O circuito contém uma resistência (R8) de pull-up, uma
resistência (R11) para limitar a corrente na entrada do microcontrolador e um varistor (ZV2) para
proteger a entrada.
Figura 78-Esquema de ligação das entradas digitas com o microcontrolador
O módulo do sensor tem mais duas entradas digitais, sendo estas provenientes de dois
interruptores, e servem para seleccionar os vários modos de funcionamento e actuar a válvula.
Na Figura 79 está representado a ligação dos interruptores e o microcontrolador.
Figura 79-Esquema de ligação dos interruptores com microcontrolador
68
Saídas
Este módulo contém cinco saídas para controlar dispositivos e foram usados relés de
estado sólidos o CPC1002N fabricados pela CLARE. A entrada e a saída do relé está opto
isolada e os interruptores MOSFET permitem controlar correntes até 700mA[28]. Na Figura 80
está representado o esquema de ligação dos relés de estado sólido e o microcontrolador.
Figura 80- Esquema de ligação dos relés de estado sólido e o microcontrolador
Leds
O módulo do sensor tem cinco leds para informar o que está a ocorrer e estes informam
o estado da válvula bem como o modo de funcionamento actual do módulo.
Na Figura 81 está representado o esquema de ligação dos leds com o microcontrolador.
Figura 81-Esquema de ligação dos leds com o microcontrolador
69
Software para o módulo do sensor
O software que foi desenvolvido para o módulo do sensor tem como tarefas a verificação
da posição da válvula e receber e enviar comandos para o actuador controlar a válvula, sejam
eles provenientes das suas entradas digitais (IN1, IN2, IN3) ou dos botões S1 e S2, e efectuar o
emparelhamento do módulo do sensor com o actuador.
Para efectuar estas tarefas foram criados três modos de funcionamento: normal, teste e
configuração. No modo normal efectua a tarefa de verificar a posição da válvula e envia os
comandos recebidos pelas entradas digitais (IN1, IN2, IN2). O modo teste, além das mesmas
tarefas do modo normal, tem ainda a função de receber os comandos de fechar e abrir válvula
proveniente dos botões S1 e S2. Este modo permite testar a abertura e fecho da válvula no
próprio módulo, de uma forma muita prática. Por fim o modo de configuração serve para o
módulo se emparelhar com o actuador que controla a válvula que pretende.
A entrada dos modos são efectuados através dos botões S1 e S2, mas como os
interruptores são mecânicos estes provocam o efeito de bounce. Para eliminar este problema foi
desenvolvido um algoritmo que elimina o bounce e detecta o tipo de comando que foi efectuado
no botão. O efeito de bounce trata-se de algumas oscilações de origem mecânica que ocorrem
quando o botão é pressionado como pode ser observado na Figura 82.
Figura 82- Bounce provocado pelo premir de um botão [29]
70
O algoritmo criado permite saber que tipo de comando foi efectuado através dos botões,
sejam eles o simples pressionar de um dos botões ou um click simultâneo de dois botões que
originam uma entrada virtual. Cada entrada tem uma estrutura de dados que fornece o tempo
de inicio e fim do comando para poder saber quanto tempo este foi pressionado. Os tipos de
comandos que pode detectar estão representados na Figura 83.
Figura 83-Tipos de comandos
O resultado do algoritmo que está representado na Figura 84 pode ser analisado através
da variável “n_transicoes”, onde os bits indicam o número de transições que ocorreram e se o
botão continua pressionado.
Figura 84- Resultado do algoritmo de verificar o tipo de comando
71
A entrada nos diversos modos de funcionamento do módulo do sensor é efectuada
através do premir simultâneo dos dois botões (S1, S2). Para entrar nos modos é necessário
pressionar os botões durante um determinante período de tempo. Os leds informam se a
operação de entrada está a ser bem efectuada, e indicam o instante em que se pode deixar de
premir os botões para se dar entrada no correspondente modo. Informam ainda quando o
comando é mal efectuado.
Para efectuar a entrada e saída dos modos de uma forma correcta, é necessário premir
os botões em simultâneo. O utilizador é informado do que está a acontecer através dos leds e
para efectuar esta tarefa foi criada uma máquina de estados. Deste modo o utilizador pode saber
se está a efectuar o comando correctamente e caso não o esteja os leds informam.
No arranque o módulo está no modo normal. Para que passe para o modo de teste é
necessário premir os botões em simultâneo num tempo compreendido de dois a quatro
segundos. Para sair deste mesmo modo efectua o mesmo comando.
A entrada no modo de configuração é efectuada quando se encontra no modo normal e
os botões são premidos simultaneamente num tempo compreendido de seis a oitos segundos.
Para sair deste modo efectua o mesmo comando mas se o emparelhamento for bem efectuado
este passa para o modo normal automaticamente.
O módulo do sensor tem como tarefa a verificação do estado da válvula sanitária e
sempre que ocorra uma alteração do seu estado é enviado o estado actual para o actuador via
gateway, para este actuar. Para efectuar a tarefa de verificar a posição do sensor foi elaborado o
algoritmo que está representado na Figura 85.
O módulo do sensor tem 5 leds para informar o modo de funcionamento e a posição da
válvula. Os leds 1,2 3 indicam o modo de funcionamento e os leds 4 e 5 o estado da válvula. Na
Tabela 6 pode ser analisado o que cada led informa.
Tabela 6- Informação dos leds sobre o modo de funcionamento do módulo do sensor e o estado da válvula
72
Figura 85- Algoritmo de verificação do estado da válvula
73
O módulo do sensor tem como tarefa receber os comandos de fechar, abrir e limpar a
válvula, provenientes de um PLC que é enviado para o seu respectivo actuador. Para efectuar
está tarefa foi desenvolvido o algoritmo que está representado na Figura 86.
Figura 86- Algoritmo para enviar o comando para o actuador
74
5.3 - Módulo GATEWAY
O módulo de gateway que está representado na Figura 87 é usado para ligar os vários
protocolos de comunicação do sistema. Este módulo permite interligar três tipos, CAN, USB e
ZigBee, mas para este sistema o USB não foi utilizado.
Os comandos provenientes dos módulos dos sensores são enviados via rádio frequência
para o gateway e este encarrega-se de enviar o comando para o actuador via protocolo CAN.
No módulo do gateway tem uma estrutura de dados com os emparelhamentos dos
sensores com os respectivos actuadores. Esta tabela serve para confirmar se o comando
enviado do sensor para o actuador, via gateway, está registado na respectiva estrutura de dados.
Caso não esteja o comando é ignorado.
.
Figura 87- Imagem do módulo do gateway
75
5.4 - Módulo Actuador
O módulo do actuador que está representado Figura 88, serve para controlar as válvulas
sanitárias do sistema onde cada módulo destes tem capacidade para controlar duas válvulas
através das suas saídas por relé. As ordens de actuação são provenientes dos módulos dos
sensores e estes enviam via rádio frequência para o gateway para este enviar via CAN para o
actuador.
Este módulo possui dois botões e dois comutadores rotativos que servem para efectuar
o emparelhamento do actuador com o módulo do sensor.
Figura 88- Módulo actuador
76
5.5 - Emparelhamento entre sensor e actuador
No sistema de controlo de válvulas sanitárias o módulo do sensor está fisicamente
separado do actuador. Como o sistema é composto por várias válvulas, tem vários actuadores e
vários sensores. Para efectuar o emparelhamento dos módulos sensores com o seu respectivo
actuador foi desenvolvida uma estratégia que permite que cada módulo do sensor possa estar
emparelhado em qualquer actuador do sistema, mas este só pode estar ligado a um actuador de
cada vez. Para efectuar um emparelhamento o utilizador terá de efectuar os seguintes passos:
1. Colocar o sensor em modo de configuração.
2. Colocar o actuador em modo de programação.
3. Seleccionar o módulo actuador na posição zero ou um.
4. Pressionar o botão Y do módulo de actuação.
Caso o emparelhamento seja bem sucedido os leds do módulo actuador efectuam uma
animação e o módulo do sensor passa automaticamente para modo de funcionamento normal.
Para que ocorra um emparelhamento os diferentes módulos têm que se comunicar,
para que haja a transferência de informação. O sensor terá de saber para que actuador irá
enviar os comandos de controlo e o posicionamento da válvula. O módulo sensor terá de saber o
endereço da rede ZigBee do módulo gateway e o endereço CAN e o número do módulo de
actuação. Para efectuar esta troca de informação foi criado um protocolo no qual o seu
funcionamento está representado na Figura 89.
Figura 89-Protocolo de emparelhamento
77
A primeira mensagem é enviada em broadcast, de modo a que todos os módulos sensor
recebam a mensagem, embora o único a responder afirmativamente ao início de um novo
emparelhamento, sendo esta a segunda mensagem, seja o módulo de sensor que está em modo
de configuração. Ao responder, o gateway vai guardar o seu endereço da rede ZigBee para poder
comunicar directamente com este. O módulo do gateway tem armazenado todos os
emparelhamentos dos actuadores que estão ligados no seu barramento CAN e essa estrutura de
dados contém o endereço do módulo do sensor, o endereço CAN do actuador, o número do
actuador e a posição da válvula. A Tabela 7 mostra um exemplo da estrutura de dados que foi
criada para guardar os dados das válvulas.
Tabela 7- Exemplo da estrutura de dados para guardar os dados das válvulas
O gateway envia a terceira mensagem para o actuador de modo a que o utilizador
receba a confirmação que todo o processo foi bem sucedido através de uma animação dos leds
do módulo de actuação. A quarta mensagem é enviada para o módulo do sensor com a
informação do endereço ZigBee do gateway, o endereço CAN do actuador e o número do
actuador, já que cada módulo pode controlar duas válvulas. O módulo do sensor ao receber a
confirmação que o emparelhamento foi bem sucedido guarda os dados que lhe foram enviados,
para este poder enviar os comandos de actuação bem como o posicionamento da válvula. A
quinta mensagem e última só ocorre quando no sistema existe um computador a monitorizar e
controlar todo o sistema. Esta mensagem serve para enviar dados do novo emparelhamento.
O endereço de um dispositivo é composto por 64 bits, mas a estrutura de dados só
guarda os 32 bits menos significativos. Os 32 bits mais significativos são iguais em todos os
dispositivos de comunicação, porque estes são todos do mesmo fabricante. Cada fabricante de
dispositivos ZigBee tem um endereço de 32 bits que responde aos mais significativos e deste
modo é garantido que cada dispositivo de comunicação ZigBee tenha um endereço único. Ao
guardar só os 32 bits menos significativos é poupada memória de dados do microcontrolador.
78
Nesta filosofia de emparelhamento existem alguns problemas que tiveram que ser
analisados e resolvidos, tais como o emparelhamento de um sensor ou actuador, quando estes
já se encontram emparelhados. Nestes casos o módulo do sensor que vai ser desemparelhado
tem de ser informado que a partir daquele momento não tem que monitorizar nem enviar
comandos para o actuador. Na Figura 90 estão representados os casos de emparelhamento em
que existe a necessidade de efectuar o fim de emparelhamento.
Figura 90- Emparelhamentos críticos
79
Em ambos os casos apresentados na Figura 90 existe a necessidade de informar o
sensor 1 que vai deixar de estar emparelhado o que é efectuado através da mensagem 4. Na
Figura 91 está representado o procedimento.
Figura 91- Protocolo de emparelhamento crítico
O procedimento que está representado na Figura 91 é muito idêntico ao que foi
mostrado anteriormente. A única diferença é o envio ao sensor 1 de uma mensagem, neste caso
a 4, informando que não está mais emparelhado. Para efectuar o protocolo foi criada uma tipo
de frames destinadas para efectuar o emparelhamento que está no anexo III.
80
5.6 - Controlo do sistema através do computador
Para que o controlo do sistema seja possível ser efectuado através de um computador,
foi necessário desenvolver uma aplicação na linguagem de programação C#. Através deste
software podem ser controladas todas a válvulas, bem como monitorizar todos os eventos de
comando e de posicionamento da válvula. No software, toda a rede ZigBee pode ser visualizada
e as comunicações testadas.
Para que seja possível controlar o sistema através do computador, este tem um módulo
de comunicação ZigBee ligado. Foi desenvolvida uma framework idêntica à que é descrita no
capítulo 3 desta tese na linguagem de programação C#, tendo algumas diferenças pelo facto
deste software correr em cima de um sistema operativo.
O software está dividido em três partes, controlo e visualização dos dados das válvulas,
visualização da rede ZigBee e por fim o registo de todos os eventos ocorridos no sistema.
Na Figura 92 está uma imagem do software da tab de controlo e monitorização do sistema de
controlo de válvulas sanitárias.
Figura 92- Imagem do software da tab de controlo e monitorização das válvulas
81
Quando o computador é ligado é necessário transferir os dados referentes às válvulas
que estão armazenados nos módulos dos gateways. Para efectuar esta tarefa foi criado um
protocolo que faz com que no instante em que o software do computador seja ligado os dados
das válvulas sejam enviados automaticamente. O protocolo está representado na Figura 93.
Figura 93- Protocolo de transferência de dados do gateway para o PC
A primeira mensagem é enviada para todos os dispositivos da rede, mas o computador
só recebe a resposta dos módulos gateways, sendo esta a segunda mensagem. A terceira
mensagem consiste em pedir a cada módulo de gateway os dados que têm armazenado das
válvulas que têm registadas. A quarta e última mensagem é o envio dos dados para o
computador.
Na tab ” View Valves” podem ser visualizadas todas válvulas registadas do sistema, bem
como os seus dados, tais como o endereço da rede ZigBee do sensor e gateway no qual o
actuador está ligado, o endereço CAN do actuador, número do controlador e a posição actual da
válvula.
A tab” View Valves” está por sua vez dividida em três partes que permitem efectuar o
controlo da válvula, efectuar um diagnóstico ao módulo do sensor e calibrar o sensor.
Para efectuar o controlo da válvula são disponibilizados três botões para fechar, abrir e
limpar. Ao clicar no botão é enviada uma mensagem via rádio frequência para o gateway onde
se encontra alojado o actuador, para este enviar via CAN o comando de controlo. Em resposta o
gateway envia uma mensagem para o computador a informar que recebeu o comando. Para
efectuar o controlo foi criado um protocolo que está representado na Figura 94.
Figura 94- Controlo das válvulas a partir do PC
82
A tab de fazer diagnóstico permite saber o estado actual dos leds de cada módulo do
sensor. Os leds indicam o modo de funcionamento com a posição da válvula, o estado actual
das entradas e saídas do módulo, a tensão de alimentação, a posição exacta do sensor e a
intensidade de transmissão da última comunicação estabelecida. Na Figura 95 está a imagem
da tab “Diagnostic”.
Figura 95- Imagem do software da tab "Diagnostic"
83
O sensor de magnético do módulo sensor tem de ser calibrado devido ao facto da sua
gama de leitura ser superior ao deslocamento da válvula, existindo a necessidade de definir a
posição da válvula fechada e aberta, dentro da gama linear de leitura do sensor, como é
demonstrado na Figura 96.
Figura 96- Posição da válvula fechada e aberta
A calibração do sensor é efectuada a partir do computador, para a qual foi criado um
protocolo que está descrito em baixo na Figura 97.
Figura 97 – Protocolo de calibração
O protocolo de calibração segue os seguintes passos:
1. Computador envia uma mensagem ao sensor para dar início à calibração
2. Sensor responde que também iniciou a calibração
3. Envio de um comando para fechar a válvula do PC para gateway
4. Reenvio do comando para fechar a válvula do gateway para o actuador
5. Envio da confirmação do comando fechar para o PC
6. O PC envia um comando para o sensor para este gravar o valor da válvula fechada
7. O sensor envia para PC a confirmação que gravou o valor da válvula fechada
8. Envio de um comando para abrir a válvula do PC para gateway
9. Reenvio do comando para abrir a válvula do gateway para o actuador
10. Envio da confirmação do comando abrir para o PC
11. O PC envia um comando para o sensor para este gravar o valor da válvula aberta
12. O sensor envia para PC a confirmação que gravou o valor da válvula aberta
13. O PC envia para o sensor um comando para terminar a calibração
14. Envio do fim da calibração do sensor para o PC
84
A tab ” Network ZigBee” que está na Figura 98, serve para visualizar todos os
dispositivos que se encontram na rede. Para cada dispositivo pode ser visualizado o seu
endereço de 64 bits através do SH e SL, endereço de 16 bits através do MY, o nome que foi
atribuído ao módulo no parâmetro NI e o tipo de dispositivo na rede. O dispositivo que aparece
em primeiro na tabela é o que está ligado directamente ao computador e os restantes têm uma
ordem aleatória.
O botão “Node Discovery” permite actualizar a tabela de dispositivos, e sempre que um
dispositivo é ligado este é inserido automaticamente na tabela. Este comando tem grande
utilidade para verificar se algum módulo está desligado da rede.
O botão “Supply Voltage” permite saber qual a tensão de alimentação de cada módulo,
sendo uma forma de testar a comunicação entre esse dispositivo e o que está ligado ao
computador.
Figura 98-Imagem do software da tab "Network ZigBee"
85
Na tab ” View Events” que está na Figura 99 podem ser visualizados todos os comandos
de actuação das válvulas, porque estes são enviados para o computador com a actualização do
posicionamento exacto das válvulas sempre que acorra uma mudança de estado.
O botão “Save Events” serve para gravar os dados num ficheiro no formato txt na raiz do
disco C do computador, para que os dados possam ser analisados.
Figura 99-Imagem do software da tab "View Events"
86
5.7 - Conclusões
Concluído o hardware módulo do sensor, foram criados os softwares para o computador,
gateway e módulo do sensor e elaborado um protocolo para que todas as funcionalidades que
eram propostas fossem alcançadas. Cumpridas estas etapas conclui-se que todos os módulos
cumpriram os requisitos que eram propostos e todo o sistema cumpria com as funcionalidades
que foram impostas.
87
Capítulo 6 - Conclusões e Trabalho Futuro
6.1 - Conclusões
A estação meteorológica desenvolvida tinha como objectivo a medição das seguintes
grandezas físicas: temperatura, humidade, velocidade do vento, luminosidade e ocorrência de
chuva. Para efectuar estas tarefas foram seleccionados os sensores que se adequavam melhor
ao projecto, tendo como critério de selecção o aspecto económico e a adaptabilidade dos
sensores à caixa de plástico da estação meteorológica. Os sensores seleccionados cumpriram
integralmente a sua tarefa.
Os dois sistemas de comunicação que foram implementados na estação, um com fios e
outro sem fios, permitem uma grande flexibilidade na hora da instalação, já que se adaptam a
qualquer meio onde esta seja inserida.
A estação meteorológica foi desenvolvida como um protótipo, cumpriu todos os
objectivos que estavam definidos no inicio do projecto, sendo uma solução economicamente
viável como um produto para integrar um sistema de domótica.
Para o sistema de controlo de válvulas sanitárias que foi desenvolvido para a indústria
cervejeira, foi necessário o desenvolvimento de vários módulos. O módulo do sensor que foi o
mais aprofundado, pelo facto de ter sido desenvolvido integralmente quer a plataforma de
hardware quer o software. Para os restantes módulos foi apenas desenvolvido o software. O
módulo sensor que tinha como objectivo monitorizar o estado da válvula e receber os comandos
de controlo e posterior envio para o actuador via gateway cumpriu com todos os objectivos.
Recorrendo a um sensor magnético que mede a posição da válvula obtêm-se leituras de elevada
precisão.
O sistema desenvolvido encontra-se a funcionar sem qualquer tipo de problemas,
cumprindo todos os objectivos que lhe eram propostos.
Para implementar o sistema de comunicações entre os diversos módulos foram usados
dois tipos de comunicações, um com fios e outro sem fios. O sistema de comunicação com fios
que foi implementado foi o CAN. Desde o início do projecto era sabido que é um sistema muito
fiável, mesmo em ambientes hostis para as comunicações. No projecto elaborado funcionou
sem qualquer tipo de problemas como era esperado.
O sistema de comunicação sem fios que foi utilizado, o protocolo ZigBee, era uma
incógnita quanto a sua fiabilidade na fase inicial, porque os sistemas de comunicação por rádio
88
frequência são vistos como problemáticos em ambientes industriais. Após a conclusão do
projecto do sistema de controlo de válvulas e depois de efectuar os tradicionais testes de
funcionamento, o protocolo ZigBee cumpriu a sua tarefa na totalidade.
89
6-2 - Trabalho Futuro
A estação meteorológica encontra-se actualmente a funcionar com os objectivos que
eram propostos, mas tem alguns aspectos que podem ser melhorados, sendo proposto como
trabalho futuro:
Aumentar a capacidade da fonte alimentação da estação meteorológica, quando
a comunicação é efectuada por rádio frequência pelo protocolo ZigBee, pois o
módulo de comunicação configurado como router consome mais corrente do
que um Endpoint, provocando um aquecimento no regulador de tensão da fonte;
A colocação do sensor de temperatura tem de ser repensada, já que a
temperatura medida é superior à temperatura real, devido a uma espécie de
efeito de estufa que é gerado à volta do sensor.
O sistema de controlo de válvulas sanitárias cumpre com todos os objectivos que eram
propostos, mas como se trata de um protótipo, para que possa ser comercializada como produto
tem alguns aspectos a ser repensados:
O módulo do sensor tem de ser refeito para que as suas dimensões sejam
compatíveis com a da caixa que será dimensionada para este;
As entradas para receber os comandos do PLC têm de ser compatíveis com o
PLC que será escolhido.
90
Referências
[1] IEEE 802 – Wikipedia, the free encyclopedia - http://en.wikipedia.org/wiki/IEEE_802 - Online
(1-10-2008)
[2] Bluetooth - Wikipédia, a enciclopédia livre - http://pt.wikipedia.org/wiki/Bluetooth - Online (1-
10-2008)
[3] Wikipedia, the free encyclopedia - http://en.wikipedia.org/wiki/ZigBee - Online (1-10-2008)
[4] WPAN - Wikipédia, a enciclopédia livre - http://pt.wikipedia.org/wiki/WPAN - Online (2-10-
2008)
[5] WLAN - Wikipédia, a enciclopédia livre - http://pt.wikipedia.org/wiki/WLAN - Online (2-10-
2008)
[6] WMAN - Wikipédia, a enciclopédia livre - http://pt.wikipedia.org/wiki/WMAN - Online (2-10-
2008)
[7] Wwan - Wikipédia, a enciclopédia livre - http://pt.wikipedia.org/wiki/Wwan - Online (2-10-
2008)
[8] ZigBee Alliance - http://www.zigbee.org/ - Online (4/10/2008)
[9] RelatorioTEC15.pdf - http://paginas.fe.up.pt/~ee02055/RelatorioTEC15.pdf - Online
(16-9-2008)
[10] zigbee.pdf - www.sinemergen.com/zigbee.pdf - Online (17/10/2008)
[11] http://www.ivesequipment.com/customer/iveqco/principals/alfalaval/Product%20Data%20
Leaflets/Valves/ThinTop%20Digital%208%2030%20VDC%20PNP%20NPN.pdf – Online (2-2-
2009)
[12] Home Page – Rogercom -http://www.rogercom.com/ - Online (5-10-2008)
[13] 90000991_a.pdf - http://ftp1.digi.com/support/documentation/90000991_a.pdf -
Online(17-2-2008)
[14] Framework - Wikipédia, a enciclopédia livre - http://pt.wikipedia.org/wiki/Framework -
Online (11-11-2008)
[15] Digital Humidity Sensor SHT11 - All-round relative humidity sensor for any application –
Sensirion AG
http://www.sensirion.com/en/01_humidity_sensors/02_humidity_sensor_sht11.htm -
Online (17-12-2008)
[16] Artigo – “Os segredos do I2C” Revista Elektor, edição portuguesa de Maio 2008, artigo “Os
segredos do I2C”, autor Etienne Boyer
[17] Digi-Key - 568-4226-5-ND (Manufacturer - LM75AD,112)
http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&name=568-4226-5-ND – (18-
12-2008)
[18] LM/LM75.pdf- http://www.national.com/ds/LM/LM75.pdf - Online (19-12-2008)
[19] I²C ou I2C - http://lusorobotica.com/index.php/topic,33.0.html – Online (23-1-2009)
[20] Efeito Hall – Wikipedia, a enciclopédia livre - http://pt.wikipedia.org/wiki/Efeito_Hall -
Online (18-12-2008)
91
[21] 1101.pdf - http://www.allegromicro.com/en/Products/Part_Numbers/1101/1101.pdf -
Online(18- 12-2008)
[22] sharpworld.com| Sharp World | Sharp | Sharp Mobile | Sharp Gx10
http://sharpworld.com/products/device/lineup/data/pdf/datasheet/ga1a2s100ss_ly_e.pdf
- Online (20-12-2008)
[23] Rain%20Sensor_eng.pdf -
http://www.telecontrolli.com/pdf/sensors/Rain%20Sensor_eng.pdf - Online (21- 12-2008)
[24] o Liga-Desliga ( On-off) -
http://www.ece.ufrgs.br/~jmgomes/pid/Apostila/apostila/node20.html - Online
(21-2-2009)
[25] LM2574.pdf - http://www.national.com/ds/LM/LM2574.pdf - Online ( 2- 2 -2009)
[26] 7679S.pdf - http://www.atmel.com/dyn/resources/prod_documents/7679S.pdf - Online
(6-10- 2009)
[27] KT_Wegmessung_Bil_EN.pdf - http://www.balluff.com/NR/rdonlyres/222E3D74-5A96-
4911-9DD0-E6532B34CFEE/0/KT_Wegmessung_Bil_EN.pdf - Online (12-3-2009)
[28] CPC1002N_R03.pdf -
http://www.clare.com/home/pdfs.nsf/www/CPC1002N_R03.pdf/$file/CPC1002N_R03.p
df - Online (6-2-2009)
[29] Switch Debouncing - The Lab Book Pages -
http://www.labbookpages.co.uk/electronics/debounce.html (12- 5-2009)
92
Anexos I – Estação meteorológica
93
Circuito final da estação meteorológica
94
95
Lista de componentes
Nome Valor Quantidade
IC1 ATA6660 1
IC2 AT90CAN32 1
SHT11 SHT11 1
HALL A1104ELHLT-T 1
Sensor Luz SENSOR_LIGHT 1
LM75A LM75A 1
C1,C3,C4,C5,C6,C11,C12,C14,C15,C16,C18,C21,C22,C10 100nF 14
C2,C9 18pF 2
C13,C19 10nF 2
C8 47uF 1
C17 220uF 1
CR1 8MHZ 1
D1 MSS1P2L-E3-89A 1
IC3 LM358 1
L2 120ohm 1
Q1 BSH103 1
ZV2,ZV3 Varistor 2
REG1 LP2980IM5-3.3 1
RA2 33R 1
R1,R2,R3,R6,R7,R9 1K 7
R10 1M 1
R11,R12 100k 2
R4 50k 1
R5 500R 1
R13 1.5M 1
R14 300k 1
R15 (Varistor) ERZ10D390 1
CON_CAN CON_CAN 1
CON_JTAG CON 1
JP1 TERM 1
LED1 led0603 1
96
PCB
O PCB foi desenvolvido na plataforma Eagle 5.0.0, tendo os cuidados necessários no
dimensionamento das pistas condutoras, especialmente as da alimentação. Este PCB foi
desenvolvido para que a soldadura possa ser efectuada através de onda.
97
Anexos II – Módulo do sensor
98
Circuito final do módulo sensor
99
100
Lista de componentes
Nome Valor Quantidade
IC1 LM2574 1
IC2 AT90CAN128 1
R1 2k 1
R3 4,22K 1
L1 330uH 1
C1 220uF 1
C3 47uF 1
C4,C4 18pF 2
C2,C6,C7,C8,C9,C11,C13 1uF 7
C12 1,5uF 1
D1,D2,D3,D4,D5 MSS1P2L-E3-89A 5
L2 120ohm 1
CR1 8Mhz 1
CON_JTAG CON_JTAG 1
R2,R4,R4,R7,R8,R9,R10,R11,R13,R14,R17,R21,R22 510R 13
R6,R16,R19,R20 10K 4
R15,R18 22K 2
R23 100K 1
X1 MKKDS10 5
SOCKET Xbee Xbee 2
OC1,OC2,OC3,OC4 CPC1002N 4
ZV2,ZV3,ZV4 Varistor 3
ZV1 Varistor 1
S1,S2 10-XX 2
LED1,LED2,LED3,LED4,LED5 LED3MM 5
RA1 33R 1
101
PCB
O PCB foi desenvolvido na plataforma Eagle 5.0.0, tendo os cuidados necessários no
dimensionamento das pistas condutoras, especialmente as da alimentação. Este PCB foi
desenvolvido para que a soldadura possa ser efectuada através de onda.
102
103
Anexos III – Protocolo Hydract
Para o projecto de controlo de válvulas sanitárias foi desenvolvido um protocolo para que
os diversos módulos se comuniquem e efectuem as tarefas que lhes foram destinadas.
Estado das entradas
Esta frame serve para enviar o estado das entradas do módulo sensor para o
computador. Os bytes 4, 5, 6, 7 e 8 servem para confirmar se alguma válvula com aquele
endereço está registada para poder processar a informação.
API- Valor de identificação: 0x20
Byte 1- Indica qual o número que identifica a trama do protocolo.
Byte 2- Byte DATA envia o estado das entradas do módulo do sensor.
Byte 3- Reservado para futuras actualizações do hardware e software.
Byte 4-Envio do endereço CAN do actuador.
Byte 5- Byte6- Byte7- Byte8- Contém os 32 bits menos significativos do endereço de 64 bits do
seu dispositivo XBee.
104
Estado das saídas
Esta frame serve para enviar o estado das saídas do módulo sensor para o computador.
Os bytes 4, 5, 6, 7 e 8 servem para confirmar se alguma válvula com aquele endereço está
registada para poder processar a informação.
API- Valor de identificação: 0x21.
Byte 1- Indica qual o número que identifica a trama do protocolo.
Byte 2- Byte DATA envia o estado das saídas do módulo do sensor.
Byte 3- Reservado para futuras actualizações do hardware e software.
Byte 4- Envio do endereço CAN do actuador.
Byte 5- Byte6- Byte7- Byte8- Contém os 32 bits menos significativos do endereço de 64 bits do
seu dispositivo XBee.
105
Estado dos Leds
Esta frame serve para enviar o estado dos leds do módulo sensor para o computador. Os
bytes 4, 5, 6, 7 e 8 servem para confirmar se alguma válvula com aquele endereço está
registada para poder processar a informação.
API- Valor de identificação: 0x22.
Byte 1- Indica qual o número que identifica a trama do protocolo.
Byte 2- Byte DATA envia o estado dos leds do módulo do sensor.
Byte 3- Reservado para futuras actualizações do hardware e software.
Byte 4- Envio do endereço CAN do actuador.
Byte 5- Byte6- Byte7- Byte8- Contém os 32 bits menos significativos do endereço de 64 bits do
seu dispositivo XBee.
106
Tensão de alimentação
API- Valor de identificação: 0x23.
Esta frame serve para enviar o valor de alimentação do módulo sensor para o
computador. Os bytes 4, 5, 6, 7 e 8 servem para confirmar se alguma válvula com aquele
endereço está registada para poder processar a informação.
Byte 1- Indica qual o número que identifica a trama do protocolo.
Byte 2- Byte DATA0 MSB do valor de 16 bits que permitirá calcular a tensão de alimentação do
módulo.
Byte 3- Byte DATA1 LSB do valor de 16 bits que permitirá calcular a tensão de alimentação do
módulo.
Byte 4- Envio do endereço CAN do actuador.
Byte 5- Byte6- Byte7- Byte8- Contém os 32 bits menos significativos do endereço de 64 bits do
seu dispositivo XBee.
107
Posição da válvula
API- Valor de identificação: 0x24.
Esta frame serve para enviar a posição exacta da válvula para o computador. Os bytes 4,
5, 6, 7 e 8 servem para confirmar se alguma válvula com aquele endereço está registada para
poder processar a informação.
Byte 1- Indica qual o número que identifica a trama do protocolo.
Byte 2- Byte DATA0 MSB do valor de 16 bits que permitirá calcular a tensão de alimentação do
módulo, valor obtido no ADC do microcontrolador de 10 bits.
Byte 3- Byte DATA0 LSB do valor de 16 bits que permitirá calcular a tensão de alimentação do
módulo, valor obtido no ADC do microcontrolador de 10 bits.
Byte 4-Envia o endereço de CAN de destino da trama.
Byte 5- Byte6- Byte7- Byte8- Contém os 32 bits menos significativos do endereço de 64 bits do
seu dispositivo XBee.
108
Intensidade do sinal
API- Valor de identificação: 0x25.
Esta frame serve para enviar a intensidade do sinal da última transmissão efectuada
pelo computador. Os bytes 4, 5, 6, 7 e 8 servem para confirmar se alguma válvula com aquele
endereço está registada para poder processar a informação
Byte 1- Indica qual o número que identifica a trama do protocolo.
Byte 2- Byte DATA envia a intensidade do sinal da última transmissão.
Byte 3-Não é usado.
Byte 4- Envio do endereço CAN do actuador.
Byte 5- Byte6- Byte7- Byte8- Contém os 32 bits menos significativos do endereço de 64 bits do
seu dispositivo XBee.
109
Emparelhamento
API- Valor de identificação: 0x26.
Esta frame serve para efectuar o emparelhamento entre um sensor e um actuador. A
frame é enviada pelo sensor para o gateway e vice-versa. Os bytes 3, 4, 5, 6, 7 e 8 servem para
enviar a informação necessária para que seja efectuado o emparelhamento.
Byte 1- Indica qual o número que identifica a trama do protocolo.
Byte 2
DATA = 0 - Iniciar o emparelhamento.
DATA = 1- Confirmar o emparelhamento.
DATA = 2 - Parar o emparelhamento.
DATA = 4 – Informar que o sensor passou a estar desemparelhado.
Byte 3-Indica o número do actuador.
Byte 4- Envio do endereço CAN do actuador.
Byte 5- Byte6- Byte7- Byte8- Contém os 32 bits menos significativos do endereço de 64 bits do
seu dispositivo XBee.
110
Estado da válvula
API- Valor de identificação: 0x27.
Esta frame serve para enviar o estado da válvula para o gateway onde o actuador está
registado, sendo de seguida enviada do gateway para o actuador. Os bytes 4, 5, 6, 7 e 8 servem
para confirmar se alguma válvula com aquele endereço está registada para processar a
informação.
Byte 1- Indica qual o número que identifica a trama do protocolo.
Byte 2
DATA = 0- Válvula entre o estado fechada e aberta.
DATA = 1- Válvula fechada.
DATA = 2 – Válvula aberta.
DATA = 3 – Válvula fora da gama (aberta).
DATA= 4 – Válvula fora da gama (fechada).
Byte 3-Não é usado.
Byte 4- Envio do endereço CAN do actuador.
Byte 5- Byte6- Byte7- Byte8- Contém os 32 bits menos significativos do endereço de 64 bits do
seu dispositivo XBee.
111
Actuar válvula
API- Valor de identificação: 0x28.
Esta frame serve para enviar um comando de actuação da válvula para o gateway onde
está o actuador registado e de seguida este envia os dados para o actuador e computador caso
este exista. Os bytes 4, 5, 6, 7 e 8 servem para confirmar se alguma válvula com aquele
endereço está registada para poder processar a informação.
Byte 1- Indica qual o número que identifica a trama do protocolo.
Byte 2
DATA = 0- Fechar válvula.
DATA = 1- Abrir válvula.
DATA = 2 - Limpar válvula.
Byte 3-Não é usado.
Byte 4- Envio do endereço CAN do actuador.
Byte 5- Byte6- Byte7- Byte8- Contém os 32 bits menos significativos do endereço de 64 bits do
seu dispositivo XBee.
112
Dados da válvula
API- Valor de identificação: 0x29.
Esta frame serve para enviar os dados de uma nova válvula para ser registada no
computador ou enviar os dados de uma válvula que foi apagada para o computador retirar da
lista de válvulas. Os bytes 4, 5, 6, 7 e 8 servem para confirmar se alguma válvula com aquele
endereço está registada para poder processar a informação
Byte 1- Indica qual o número que identifica a trama do protocolo.
Byte 2
DATA = 1 – Enviar os dados de uma nova válvula.
DATA = 2 - Apagar a válvula dos dados.
Byte 3- Byte 4- Byte 5 – Byte 6- Contém os 32 bits menos significativos do endereço de 64 bits
do XBee.
Byte 7- Envio do endereço CAN do actuador.
Byte 8 - Indica o número do actuador da válvula.
Byte 9 – Indica o estado da válvula.
113
Comunicação entre PC e Gateway
API- Valor de identificação: 0x30.
Esta frame serve para iniciar a comunicação entre o gateway e o computador e vice-
versa. Os bytes 3, 4, 5, 6 são o endereço do dispositivo com quem pretende comunicar.
Byte 1- Indica qual o número que identifica a trama do protocolo.
Byte 2
DATA = 0x16 - Iniciar comunicação.
DATA = 0x17 - Confirmar o inicio da comunicação.
Byte 3- Byte 4- Byte 5- Byte 6- Contém os 32 bits menos significativos do endereço de 64 bits do
seu dispositivo XBee.
114
Calibração
API- Valor de identificação: 0x31.
Esta frame serve para efectuar a calibração do sensor. A calibração é efectuada entre o
computador e o módulo do sensor. Os bytes 4, 5, 6, 7 e 8 servem para confirmar se alguma
válvula com aquele endereço está registada para processar a informação.
Byte 1 - Indica qual o número que identifica a trama do protocolo.
Byte 2
DATA = 0x00 - Iniciar calibração.
DATA = 0x01 - Guardar o valor da válvula fechada.
DATA = 0x02 - Guardar o valor da válvula aberta.
DATA= 0x03 - Fim de calibração.
DATA=0xFF - Valor correcto de calibração.
DATA=0x80 - Valor errado de calibração.
Byte 3 e Byte4- Valor da posição da válvula.
Byte 5 - Byte 6- Byte 7 - Byte 7 - Contém os 32 bits menos significativos do endereço de 64 bits
do seu dispositivo XBee.