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.
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.
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.
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
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
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.
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:
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.
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.
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.
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.
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.
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.
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.
.
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.
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.
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
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.
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.
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.
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