Universidade do Minho - Desenvolvimento de uma Placa para...
Transcript of Universidade do Minho - Desenvolvimento de uma Placa para...
Marco Francisco Faria Ferreira
Desenvolvimento de uma Placa paraMonitorização da Quantidade deAzeite existente em Cubas
Mar
co F
ranc
isco
Faria
Fer
reira
Outubro de 2010UMin
ho |
201
0De
senv
olvi
men
to d
e um
a Pl
aca
para
Mon
itoriz
ação
da
Qua
ntid
ade
de A
zeite
exi
sten
te e
m C
ubas
Universidade do MinhoEscola de Engenharia
Outubro de 2010
Tese de MestradoCiclo de Estudos Integrados Conducentes ao Grau deMestre em Engenharia Electrónica Industrial e Computadores
Trabalho efectuado sob a orientação doProfessor Doutor José A. Mendes
Co-Orientador:Professor Doutor Paulo Francisco S. Cardoso
Marco Francisco Faria Ferreira
Desenvolvimento de uma Placa paraMonitorização da Quantidade deAzeite existente em Cubas
Universidade do MinhoEscola de Engenharia
Desenvolvimento de uma placa para monitorização da quantidade de azeite existente em cubas
iii
Agradecimentos
Gostaria de agradecer aos técnicos e funcionários das oficinas do Departamento de
Engenharia Electrónica Industrial pela disponibilidade e simpatia com que facultaram materiais e
os seus serviços no decorrer da tese.
Quero também agradecer aos meus colegas, especialmente ao Nuno ribeiro pela
colaboração no desenvolvimento do sistema e pelo seu companheirismo.
Quero ainda agradecer aos orientadores desta dissertação assim como da dissertação
paralela a esta pelo apoio e coordenação prestado.
Agradeço à minha família pelo esforço feito durante todo o meu percurso estudantil e em
especial a minha irmã a sua disponibilidade para me guiar e ajudar.
Guimarães, Outubro 2010
Marco Ferreira
iv
Desenvolvimento de uma placa para monitorização da quantidade de azeite existente em cubas
v
Resumo
Sempre existiu a necessidade de armazenar os produtos produzidos industrialmente
para posterior distribuição. Ao longo do tempo esse armazenamento foi evoluindo e, em relação
ao armazenamento do azeite, não só se alterou o material das cubas (reservatório) como o
método pelo qual a quantidade de produto armazenado é controlada.
Nesta dissertação apresenta-se um sistema para medir a quantidade de produto (neste
caso azeite) disponível em armazém. O objectivo é apresentar um sistema capaz de recolher os
dados sobre a quantidade de produto disponível em cada cuba e guardá-lo num servidor que
disponibiliza esses dados através da rede.
Foi feito um estudo das tecnologias e componentes mais adequados ao sistema
pretendido. O tipo de sensor escolhido foi o ultra-som que além do baixo custo permite medições
precisas para este tipo de produto. Já a rede escolhida para a comunicação entre placas foi a
CAN por ser a mais robusta para uma aplicação industrial. Depois de escolhidas as tecnologias
foi seleccionado o material para passar ao desenvolvimento do sistema. Nesta dissertação
apresentam-se os protótipos desenvolvidos e os testes efectuados durante a elaboração deste
sistema de Monitorização.
Como parte do projecto, foram também criados uma placa e dois módulos para permitir
que o mesmo hardware possa fazer as duas funções necessárias na rede de sensores: a placa
de sensor mede o produto presente na cuba e envia pela rede CAN o valor para placa colectora,
que por sua vez fornece os valores de todas as placas de sensor na rede CAN ao servidor,
quando solicitado. No servidor o programa (software) desenvolvido recolhe os dados da placa
colectora que está ligada ao servidor por um cabo USB (comunicação RS232) e armazena-os na
base de dados. Os dados da base de dados são depois acedidos através de uma página Web.
Esta dissertação demonstra como, com as tecnologias actualmente disponíveis, é
possível criar um sistema de Monitorização capaz de monitorizar um armazém deste género de
forma simples, barata e sem necessitar de mão-de-obra excessiva para controlo de stock,
disponibilizando ainda o resultado da monitorização por internet para facilitar o acesso aos
dados do sistema.
vi
Desenvolvimento de uma placa para monitorização da quantidade de azeite existente em cubas
vii
Abstract
There has always been the need to store industrially produced products for posterior
distribution. Over time the way to store these products has evolved and, for the storage of olive oil
for example, not only has the material of which the tanks (reservoirs) are made, as has the
method by which the amount of stored product is monitored and controlled.
This dissertation presents a system to measure the amount of product (in this case olive
oil) available in storage. The objective is to provide a system capable of collecting data on the
amount of available product in each tank and of saving that information in a server that then
provides the data over a network.
During the development of this dissertation, the technologies and components most
suitable for the intended system were researched. The type of sensor eventually chosen was the
ultrasound that, in addition to its low cost, also has the benefit of providing accurate
measurements for this type of product. The selected network for communication between the
plates was the CAN as this is the most robust network for industrial application. After selecting
the technologies, we selected the material that would be used to develop the monitoring system.
This dissertation presents the prototypes and tests undertaken during the preparation of this
monitoring system.
As part of the project, a board and two modules were created to allow the same piece of
hardware to perform the two functions required in the sensors’ network: a sensor board
measures the product in the tank and sends the information via the CAN network to the collector
board, which provides the values of all sensor boards in the CAN network to the server when
requested. The program (software) on the server which was developed to the effect collects data
from the collector board that is connected to the server via a USB cable (RS232) and stores it in
the database. The data from the database then becomes accessible through a Web page.
This dissertation demonstrates how, with the technologies currently available, you can
create a system capable of monitoring a warehouse, which is simple, not very expensive and
does not require a lot of manpower to control the stock, providing the information easily over the
Internet to facilitate access to the data in the system.
viii
Desenvolvimento de uma placa para monitorização da quantidade de azeite existente em cubas
ix
Índice 1 Introdução ............................................................................................................. 1
1.1 Introdução ..................................................................................................... 2
1.2 Objectivos da Tese ......................................................................................... 3
1.3 Estrutura da Tese .......................................................................................... 4
1.4 Esquema descrição do sistema global ............................................................ 5
2 Estado da Arte ....................................................................................................... 7 2.1 Introdução ..................................................................................................... 8
2.2 Sistemas Actuais ........................................................................................... 9
2.3 Sensores ultra-som ...................................................................................... 11
2.3.1 6500 Series Ranging Module ................................................................... 11
2.3.2 LV-MaxSonar-EZ1 .................................................................................... 12
2.4 Redes .......................................................................................................... 13
2.4.1 RS485 .................................................................................................... 13
2.4.2 CAN (Controller Area Network) ................................................................. 14
2.4.3 ZigBee (sem fios)..................................................................................... 15
2.5 Microcontroladores ...................................................................................... 16
2.5.1 AT90CAN32\AT90CAN64\ AT90CAN128 ............................................... 16
2.5.2 PIC com CAN .......................................................................................... 17
2.6 Desenvolvimento do Software ....................................................................... 17
2.6.1 Visual C++ .Net ....................................................................................... 18
2.6.2 Wamp ..................................................................................................... 18
2.6.3 AVR Studio , WINAVR e AVR Dragon ......................................................... 18
2.7 Desenvolvimento do PCB ............................................................................. 19
2.8 Conclusões .................................................................................................. 19
x
2.9 Referências .................................................................................................. 20
3 Hardware e Software ........................................................................................... 21 3.1 Introdução ................................................................................................... 22
3.2 Aplicação de teste dos sensores ultra-som .................................................... 22
3.3 Aplicação de teste das placas AT90CAN32 ................................................... 23
3.3.1 Ligação ao Sensor ................................................................................... 24
3.3.2 Ligação USB ao PC ................................................................................. 24
3.3.3 Rede CAN ............................................................................................... 24
3.4 Aplicação do Software .................................................................................. 26
3.4.1 Leitura dos dados da rede CAN ............................................................... 26
3.4.2 Guardar dados no servidor ....................................................................... 27
3.4.3 Configuração da placa de sensor ............................................................. 29
3.5 Conclusões .................................................................................................. 29
3.6 Referências .................................................................................................. 30
4 Desenvolvimento da Placa Protótipo ..................................................................... 31 4.1 Introdução ................................................................................................... 32
4.2 Desenho do protótipo ................................................................................... 32
4.2.1 Placa Micro ............................................................................................. 33
4.2.2 Módulo USB ............................................................................................ 36
4.2.3 Módulo ZigBee ........................................................................................ 37
4.3 Conclusões .................................................................................................. 38
4.4 Referências .................................................................................................. 38
5 Resultados .......................................................................................................... 39 5.1 Introdução ................................................................................................... 40
5.2 Resultados Finais ......................................................................................... 41
5.2.1 Hardware ................................................................................................ 41
Desenvolvimento de uma placa para monitorização da quantidade de azeite existente em cubas
xi
5.2.2 Software .................................................................................................. 46
6 Conclusões e Trabalho Futuro ............................................................................. 57 6.1 Conclusões .................................................................................................. 58
6.2 Trabalho Futuro ........................................................................................... 58
Anexos ....................................................................................................................... 59 Anexo A - Como instalar o sistema ....................................................................... 60
xii
Índice Figuras
Fig. 1 - Esquema do sistema ....................................................................................... 5
Fig. 2 - Cuba com barómetro ....................................................................................... 9
Fig. 3 - Barómetro ....................................................................................................... 9
Fig. 4 - Cuba com sensor de pressão ......................................................................... 10
Fig. 5 - Módulo 6500 ................................................................................................. 11
Fig. 6 - Exemplo Single-Echo-Mode do Módulo 6500 da SensComp ............................ 11
Fig. 7 - MaxSonar EZ1 ............................................................................................... 12
Fig. 8 - Esquema rede rs485 ..................................................................................... 13
Fig. 9 - Tempo de segmentos Bit .............................................................................. 14
Fig. 10 - As topologias ZigBee ................................................................................... 15
Fig. 11 - Características de microcontroladores Atmel ................................................ 17
Fig. 12 - Características de microcontroladores da Microchip com CAN ...................... 17
Fig. 13 - Visual studio ................................................................................................ 18
Fig. 14 - Wamp ......................................................................................................... 18
Fig. 15 - AVR Dragon ................................................................................................. 18
Fig. 16 - Osciloscópio onda sensor 1 ......................................................................... 22
Fig. 17 - Osciloscópio onda sensor 2 ......................................................................... 22
Fig. 18 - Placa com o AT90CAN32 ............................................................................ 23
Fig. 19 - Janela configurar ......................................................................................... 27
Fig. 20 - Janela principal ........................................................................................... 27
Fig. 21 - Janela connect BD ....................................................................................... 28
Fig. 22 - Erro Base Dados (BD) .................................................................................. 28
Fig. 23 - Dados inseridos na BD dinâmica .................................................................. 28
Fig. 24 - Janela para configurar placa sensor ............................................................. 29
Fig. 25 - Esquema no Altium do step down ................................................................ 33
Fig. 26 - Esquema placa principal .............................................................................. 34
Fig. 27 - PCB no Altium da placa principal ................................................................. 36
Fig. 28 - Esquema do módulo USB ............................................................................ 36
Fig. 29 - PCB no Altium do módulo USB .................................................................... 37
Desenvolvimento de uma placa para monitorização da quantidade de azeite existente em cubas
xiii
Fig. 30 - Esquema da placa ZigBee ............................................................................ 37
Fig. 31 - PCB no Altium da placa ZigBee .................................................................... 38
Fig. 32 - Placas Ligadas na rede CAN ........................................................................ 40
Fig. 33 - Placa principal com sensor .......................................................................... 41
Fig. 34 - Características da placa Sonar2030 ............................................................. 42
Fig. 35 - Módulo USB ................................................................................................ 43
Fig. 36 - Algoritmo placa colectora ............................................................................. 44
Fig. 37 - Algoritmo placa sensor ................................................................................. 46
Fig. 38 - Janela Configurar ......................................................................................... 47
Fig. 39 - Escolha de modo de funcionamento ............................................................. 48
Fig. 40 - Programa Ligado por USB ............................................................................ 48
Fig. 41 - Programa a ligar a base de dados ................................................................ 49
Fig. 42 - A desligar o programa .................................................................................. 50
Fig. 43 - Minimizar janela .......................................................................................... 50
Fig. 44 - Janela no System tray .................................................................................. 51
Fig. 45 - Placa não responde ..................................................................................... 52
Fig. 46 - Configurar placa sensor ............................................................................... 53
Fig. 47 - Tabela Placas na BD .................................................................................... 54
Fig. 48 - Tabela medições na BD ............................................................................... 54
Fig. 49 - Tabela do protocolo de comunicação ........................................................... 55
xiv
LISTA DE ACRÓNIMOS
PC - Personal Computer (Computador Pessoal)
BD - Base Dados
CAN - Controller area network
DC – Direct current
PWM - Pulse-width modulation
FFD – Full Function Device
RFD - Reduced Function Device
USART – Universal Synchronous Asynchronous Receiver Transmitter
PCB - Printed circuit board
Desenvolvimento de uma placa para monitorização da quantidade de azeite existente em cubas
1
1 Introdução
Neste capítulo fez-se uma introdução geral aos assuntos tratados na tese. São também
apresentados os objectivos da tese e por fim é delineada uma breve descrição dos capítulos
constituintes da tese.
1.1 Introdução
1.2 Objectivos da Tese
1.3 Estrutura da Tese
1.4 Esquema descrição do sistema global
2
1.1 Introdução
Não se sabe ao certo quando surgiu o azeite, mas foram encontrados em Creta no
Palácio de Cnossos ânforas de cerâmica para armazenar azeite datados da idade do bronze.
Este azeite armazenado e sua comercialização era a base económica de Creta, que exportava o
produto para todo o Mediterrâneo.
É provável que os gregos e os fenícios sejam os grandes responsáveis pela propagação
da cultura do azeite pelo Mediterrâneo. Os gregos e os romanos como povos apreciadores das
qualidades do azeite descobriram várias aplicações deste produto, desde a culinária, aplicações
medicinais na forma de unguento ou bálsamo; como perfume; como combustível para
iluminação; lubrificante de alfaias e até impermeabilizante.
A cultura do azeite chega mais tarde, através das explorações marítimas dos
portugueses e espanhóis, ao continente americano, acabando por se espalhar por todo o mundo
e proliferando onde se encontravam condições de cultivo favoráveis.
Em Portugal, existem vestígios da existência de oliveiras já na Idade do Bronze, mas só
há registo de cultivo para produção nos séculos XV e XVI. Os árabes foram os principais
impulsionadores do cultivo da oliveira e da sua exploração em Portugal. Mesmo após a
reconquista de todo o território, os descendentes deste povo asseguraram a continuidade do
cultivo da oliveira no território português.
O "Código Visigótico" é o primeiro documento conhecido nas leis de protecção da
agricultura que refere directamente a oliveira, prevendo uma multa para quem arrancasse uma
oliveira que não lhe pertencesse. Ilustrativo da importância atribuída à oliveira é o facto de a
multa por fazer o mesmo com outra árvore qualquer ser significativamente inferior.
O azeite torna-se assim, a par do vinho, num dos primeiros produtos exportados por
Portugal, sendo ainda na época dos Descobrimentos uma das exportações mais importantes
para Portugal.
Numa altura em que a maior despesa das empresas é a mão-de-obra, é necessário
desenvolver sistemas que permitam reduzir o número de funcionários a efectuarem tarefas
repetitivas e não-especializadas, substituindo a mão-de-obra humana por sistemas autónomos,
em funções passíveis de serem feitas por estes. Desta forma liberta-se capital para investir em
Desenvolvimento de uma placa para monitorização da quantidade de azeite existente em cubas
3
funções especializadas, que contribuam para o desenvolvimento do negócio e para uma cultura
de inovação dentro da empresa.
Como referido anteriormente, já na idade do bronze o azeite era armazenado para
comercialização posterior. Actualmente também se armazena em reservatórios após produção
mas, para além do reservatório ter mudado de ânforas de cerâmica para cubas de materiais
mais comuns, também o método para verificar o nível do reservatório mudou. Hoje em dia não
faz sentido ocupar um funcionário a olhar para dentro do reservatório para verificar se este está
cheio. Desenvolvem-se para este efeito sistemas que tornam essa medição mais simples e
eficaz. O desenvolvimento de um desses sistemas é o assunto que será desenvolvido nesta tese.
O objectivo deste sistema é o de possibilitar a monitorização das cubas com sensores ultra-sons
de baixo custo, ao invés dos sensores de pressão normalmente utilizados. Estes últimos, são
instalados na zona inferior das respectivas cubas, o que significa que é necessário removê-los
aquando da limpeza das cubas, processo esse normalmente moroso. Além disso, a sonda
destes sensores encontra-se em contacto com o produto o que não é desejável.
1.2 Objectivos da Tese
O objectivo deste trabalho de mestrado integrado é o desenvolvimento de um sistema
dedicado para a medição da quantidade de azeite existente em cubas num lagar. O trabalho foi
dividido em duas partes a realizar em duas dissertações distintas. A parte do projecto relativa à
presente dissertação é responsável pelas seguintes tarefas:
Projecto e desenvolvimento de uma placa de circuito impresso para integrar o circuito de
controlo de ultra-sons e um microcontrolador com interface CAN.
Desenvolvimento do software para controlo da placa, gestão da placa e comunicações
com a rede e com o PC.
Desenvolvimento de software em PC para testes e comunicação das diversas placas
ligadas em rede.
Software de interface com a base de dados de registo dos dados de configuração,
comunicação e placas, permitindo registar todo o conjunto de eventos que digam respeito ao
controlo da quantidade de azeite existente e estado dos diversos componentes do sistema.
4
1.3 Estrutura da Tese
O documento encontra-se dividido em seis capítulos.
No primeiro faz-se uma breve introdução à tese, aos seus objectivos e estrutura.
No segundo capítulo apresenta-se o estudo feito pela equipa de investigadores para
escolha dos componentes e metodologias a ser usadas no desenvolvimento do sistema.
Os componentes e metodologias escolhidas após a pesquisa, assim como os primeiros
protótipos de hardware e software são apresentados no terceiro capítulo.
No quarto capítulo é apresentado todo o desenvolvimento do protótipo da placa (PCB),
cujos resultados são descritos no capítulo número cinco.
Finalmente, no sexto capítulo é discutido o que pode ainda ser acrescentado a este
sistema no futuro, tendo em conta os resultados obtidos e são também apresentadas as
conclusões finais da tese.
Desenvolvimento de uma placa para monitorização da quantidade de azeite existente em cubas
5
1.4 Esquema descrição do sistema global
A quantidade de azeite na cuba é detectada pela placa de sensor que disponibiliza esse
valor pela rede CAN à placa colectora; a placa colectora recolhe todos os dados das placas de
sensor na rede CAN e comunica-os com o servidor por USB (comunicação RS232).
O servidor recolhe os dados recebidos e guarda-os numa BD dinâmica. Estes valores são
depois utilizados para preencher a página Web que o servidor disponibiliza na rede local e
internet. Qualquer PC local ou PC com ligação à internet pode aceder à pagina Web através do
seu browser e obter informação sobre estado actual das cubas e o histórico (página Web pede
login).
Fig. 1 - Esquema do sistema
6
Desenvolvimento de uma placa para monitorização da quantidade de azeite existente em cubas
7
2 Estado da Arte Neste capítulo apresenta-se o estudo feito pela equipa de investigadores para escolha dos
componentes e metodologias a serem usadas no desenvolvimento do sistema.
2.1 Introdução
2.2 Sistemas Actuais
2.3 Sensores ultra-som
2.4 Redes
2.5 Microcontroladores
2.6 Desenvolvimento de Software
2.7 Desenvolvimento de PCB
2.8 Conclusões
2.9 Referências
8
2.1 Introdução
O sistema desenvolvido nesta tese terá de competir com os já existentes no mercado.
Neste capítulo vamos fazer uma breve apresentação dos sistemas existentes e o seu
funcionamento.
Actualmente ainda é usado um sistema que apenas permite visualizar o nível de azeite
no exterior da cuba, porem alguns já usam sistemas automatizados para facilitar o controlo do
estado das cubas.
Discute-se ainda as vantagens e desvantagens dos sistemas e tecnologias actualmente
utilizados neste ramo.
O sensor de distância a ser utilizado no sistema para medir o preenchimento das cubas
tem de ser sem contacto e de baixo custo. No mercado encontramos dois tipos de sensor que se
enquadram nesta descrição.
Os sensores infravermelhos emitem uma luz infravermelha e recebem a luz reflectida;
com a intensidade de luz reflectida recebida podemos calcular distância ao objecto. Este tipo de
sensor não é o mais recomendado para este sistema pois o azeite, assim como outros líquidos
transparentes ou translúcidos, não reflecte a luz, não sendo, portanto, possível medir a distância
do azeite ao sensor sem colocar algum objecto a flutuar no azeite (contacto não desejado).
Os sensores ultra-sons enviam durante um curto período de tempo um sinal ultra-sónico.
Calculando o tempo que demorou a receber-se o eco do sinal e a velocidade do som pode-se
calcular a distância do objecto ao sensor. O azeite reflecte o som, permitindo deste modo o
correcto funcionamento do sensor. Como tal, conclui-se que este tipo de sensor de baixo custo e
sem contacto parece ser o mais indicado para o sistema a desenvolver.
Existem actualmente vários módulos de ultra-sons, com diferentes intervalos de alcance,
precisão e diferentes métodos de disponibilizar os resultados.
Os módulos têm o transdutor com circuito de controlo, e quando activados devolvem o
resultado em vários formatos dependendo do módulo. Os mais recentes possuem calibrações
automáticas e detecção de erros interna não sendo necessário ao utilizador desenvolver estas
rotinas, e devolvem o resultado por rs-232, saída analógica ou saída em pulso, entre outros.
Actualmente é possível encontrar várias redes de baixo consumo, neste caso era
necessário encontrar uma rede que possa conter um número razoável de placas de sensores
Desenvolvimento de uma placa para monitorização da quantidade de azeite existente em cubas
9
que podem estar separados por distâncias de algumas dezenas de metros, com a melhor
estabilidade possível.
Nos dias de hoje os microcontroladores podem ser encontrados em praticamente todos
os produtos electrónicos. Num só produto podemos encontrar vários microcontroladores para
controlar as funções desse produto.
É necessário controlar o sonar de cada cuba individualmente e depois fornecer os dados
deste por uma rede ao servidor. Para esse efeito escolhe-se um microcontrolador que possa
interagir com o sonar e trabalhar na rede escolhida.
O sistema tem de ser fácil de utilizar, a calibração e preparação tem de ser intuitiva e
rápida. Para tal é necessário um software de configuração das placas para instalação e um
software de recolha de dados relativamente simples.
No decorrer deste capítulo são apresentados os programas utilizados no
desenvolvimento desta tese.
2.2 Sistemas Actuais
Como o material utilizado para o fabrico das cubas de azeite (inox principalmente) não
possibilita uma fácil visualização do seu interior, surgiu a necessidade de possibilitar a
verificação do preenchimento do exterior da cuba. O método mais comum é a simples aplicação
das leis fundamentais da hidrostática.
Fig. 3 - Barómetro Fig. 2 - Cuba com barómetro
10
Como se pode observar na Fig.2 e 3 se for ligado um pequeno tubo ao depósito este
devido a pressão exercida pelo líquido armazenado vai colocar o líquido que passa para o tubo
ao mesmo nível (altura) do depósito. Sendo possível assim com a colocação de um tubo
transparente ligado ao depósito saber o nível de preenchimento deste do exterior. O mesmo
efeito pode ser alcançado com uma cuba que permita visualizar o interior lateralmente.
Actualmente muitas vezes este metodo já não e satisfatório, visto o estado da cuba ter
ainda de ser verificado por um funcionário regularmente. Esta necessidade de não prender um
funcionario numa tarefa tao basica, deu origem a criação de um sistema autonomo com
sensores de pressão.
Neste sistema e colocado um sensor na parte inferior do depósito que sofre a pressão (a
mesma que possibilita o método anterior), este sensor está ligado a um autómato que lê o seu
valor, este valor é depois convertido para o volume ocupado na cuba podendo assim sinalizar
quando a cuba estiver cheia. Este sistema tem a grande vantagem controlar as cubas sem
necessidade de constante verificação de um funcionário. As desvantagens deste sistema são a
obrigatoriedade de desmontar o sensor a cada limpeza da cuba, e o sensor ter de estar em
contacto com o azeite.
Fig. 4 - Cuba com sensor de pressão
2.3
Series
exem
ultra-s
2.3.1
este m
uma
A alim
módu
corre
2000
Modeentrada
INTER
progr
criass
ajusta
‘1’ se
módu
conta
receb
press
Sensor
São apres
s Ranging M
mplares dispo
som recente
1 6500 Se
Segundo
módulo tem
distância mín
mentação nec
ulo é de entre
nte em trans
0mA.
Para testa
e, onde para obte
a INIT da placa a
ERNAL BLANK
O módulo
ramado para
se um PWM
ado de modo
eja pelo men
ulo.
O microco
ar do momen
ber o sinal do
sionado, o PW
Desenvoexistente
es ultra-s
sentados ago
odule actualm
níveis, e o LV
de baixo cus
eries Rangi
o fabricante
um alcance
nima detectá
cessária para
e 4.5v e 6.8v
smissão pode
ar foi usado o
er a distância tem
a ‘1’ e contar o te
KING (2,36m
o foi ligado a
que, quando
ligado à entr
o a que o tem
os o tempo d
ontrolador te
nto que o PW
o ECHO. Cad
WM tem vinte
olvimento de e em cubas
om
ora os dois m
mente produ
V-MaxSonar-E
sto e com vá
ng Module
(SensComp)
de 10 metro
ável de 20 cm
a activar o
v DC e a
e chegar a
o Single-Echo
mos de colocar a
empo que demor
ms) obtém-se
um micropro
o premido um
rada INIT. O
mpo que este
de voo máxim
em um tempo
WM passa a’1
da vez que o
e mudanças
uma placa p
módulos ultra
uzido pela Se
EZ1 da MaxB
árias funciona
)
os e
m.
ho-
ra o sinal ECHO d
o tempo de
ocessador
m botão
PWM foi
e está a
mo do
orizador a
’ até
botão é
de
para monitori
-sons testado
ensComp, do
Botix, que foi
alidades já in
da placa a passa
voo.
Fig. 5 - Módu
Fig. Módulo 6500
zação da qua
os para esta
qual existiam
encomendad
ncluídas.
r a ‘1’. Ao retirar
ulo 6500
6 - Exemplo Si da SensComp
antidade de
tese: o 6500
m alguns
do por ser um
r do tempo result
ingle-Echo-Mod
azeite
11
0
m
tante o
de do
12
estado. Deste modo, conseguem-se vinte valores da mesma distância, sendo possível verificar a
precisão das medições do sensor.
A empresa fabricante foi contactada sobre a possibilidade de obter os componentes
deste módulo individualmente para serem incluídos numa placa final. Contudo, o representante
para a Europa informou que só vendem a placa do módulo já montada.
O módulo revelou-se fiável e com precisão suficiente para o fim desejado, sendo de
lamentar a impossibilidade de obter os seus componentes individualmente para incluir na placa
a desenvolver.
2.3.2 LV-MaxSonar-EZ1
Este módulo da MaxBotix tem um
alcance de 15cm até 6.45m. A alimentação
necessária é de 2.5v até 5.5v e a corrente é de
3mA máximo.
Este módulo disponibiliza o resultado
da distância em três saídas com diferentes
métodos.
A saída TX devolve o resultado por uma
comunicação em série assíncrona RS232
devolvendo um ‘R’ seguido do valor da distância em inches. A comunicação funciona com um
baud rate de 9600, 8 bits, sem paridade e um stop bit.
A AN é uma saída analógica em que o valor de saída depende da distância do objecto,
mas também do Vcc(Vcc/512). Dependendo do Vcc cada inche vai corresponder a uma tensão.
Por exemplo, para 5V ~9.8mV/in.
Na saída PW há um pulso em que cada inche corresponde 147uS (tempo que o sinal
fica a ‘1’).
De acordo com o mesmo método de teste aplicado ao módulo 6500, usou-se a saída
PW, sendo que este sensor assim que é alimentado começa a enviar medições. Sendo assim, o
microcontrolador foi programado para alimentar o sensor, fazer 20 medidas e desligar o sensor.
Fig. 7 - MaxSonar EZ1
consu
2.4
núme
entre
nós e
2.4.1
possu
outro
mens
forma
imple
Mbit/
pode
Este reve
umo e preço
Redes
Na escolh
ero de senso
si. É então n
e de distância
De seguid
1 RS485
A rede RS
uam porta UA
, mas apena
O RS485
sagens num
a de identific
ementados p
A distânc
/s pode ating
obter-se um
Fig
Desenvoexistente
lou-se um m
reduzido, te
ha da rede de
res possíveis
necessário en
a entre estes
da são aprese
S485 foi criad
ART. Qualqu
as um de cad
não é um pr
barramento
ação dos dis
elo utilizador
ia atingida po
gir uma distâ
a distância d
g. 8 - Esquema
olvimento de e em cubas
ódulo versáti
ndo ainda au
eve ter-se em
s de ligar na
ncontrar uma
s de uma pon
entadas as r
da para se fo
er dispositivo
da vez (modo
rotocolo; é ap
de série mul
spositivos, de
r.
or esta rede
ncia até 10 m
de até 1200
a rede rs485
uma placa p
il, com uma
uto-calibração
m conta o núm
mesma rede
a rede que p
nta à outra da
edes com fio
ormar uma re
o conectado
o half-duplex)
penas o cam
tiponto. A es
etecção de co
depende da
m, mas coloc
m.
para monitori
precisão razo
o interna.
mero de nós
e, e ainda a d
possa conter
a rede.
os e sem fios
ede multipon
no barramen
.
minho físico q
strutura da m
olisão de dad
velocidade d
cando-se a c
zação da qua
oável, compa
necessários
distância que
o maior núm
s estudadas p
nto com dispo
nto pode com
ue permite a
mensagem, te
dos, entre ou
de comunicaç
omunicação
antidade de
acto, de baix
s, ou seja o
e os nós pode
mero possível
para esta tes
ositivos que
municar com
a transmissão
empo de env
tros, tem de
ção: para 35
a 100 kbit/s
azeite
13
xo
em ter
de
e.
o de
io,
ser
s
distân
a colo
de se
2.4.2
ser ro
outra
neces
Essa
serviç
autom
contr
proto
aume
veloc
a dist
14
Esta rede
ncia entre os
ocação de di
A RS485
er implement
2 CAN (Co
Como foi
obusta em am
s aplicações
As redes
ssários para
estrutura es
ço. A CAN é s
móveis, aviõe
Como a c
oladores CAN
colo de raiz.
A rede tem
entado se ne
idade máxim
tância obtida
Fig. 9
e aguenta nor
s dispositivos
spositivos de
não tem det
tada no softw
ntroller Area
inicialmente
mbientes com
.
CAN, além d
o endereçam
pecífica e os
segura e fiáv
es e outros ve
camada de lig
N, a rede pod
Este facto to
m normalme
cessário. As
ma de 1Mbps
a é de 500 m
9 - Tempo de s
rmalmente 3
, pode ser au
e alta impedâ
ecção de col
ware.
Network)
desenvolvid
m ruído elect
do meio físico
mento de pac
tempos de t
vel, por isso p
eículos, assim
gação de dad
de ser aplica
orna a CAN n
ente um barra
distâncias de
podemos al
m.
egmentos Bit
32 dispositivo
umentado co
ância.
isão de dado
a para o sec
tromagnético
o da comunic
cotes e a dete
transmissão
pode encontr
m como no s
dos já está in
ada num siste
numa das red
amento até 6
ependem da
cançar até 4
os, mas este
om a inclusão
os nativa. Ca
tor automóve
o, mas hoje e
cação, têm ta
ecção e corre
servem para
rar-se em am
sector indust
ncluída nos m
ema sem a n
des mais util
64 nós, mas
velocidade d
40 m; já para
número, ass
o de repetido
so seja nece
el, a CAN foi
em dia é usa
ambém os m
ecção de col
a garantir a q
mbientes crític
rial.
microcontrola
necessidade
izadas no se
este número
de transmiss
a uma velocid
sim como a
ores automát
essária, esta t
concebida p
da em muita
mecanismos
isões de dad
ualidade do
cos como
adores ou
de se criar u
ector industria
o pode ser
são: para a
dade de 125
ticos e
tem
para
as
dos.
m
al.
Kbps
2.4.3
ser m
outra
Bluet
sobre
aplica
uma
de tra
maior
sistem
hardw
rede
reduz
os qu
Contu
existi
todas
para
3 ZigBee (
A ZigBee
mais simples
s redes WPA
ooth). É uma
etudo direccio
ações onde s
rede segura,
ansferência d
r autonomia
O consum
mas de contr
Numa red
ware mais co
como coorde
zidas (RFD) s
ue consomem
udo, só pode
A topolog
rem grandes
s e constituíd
um local de
Desenvoexistente
(sem fios)
foi criada pa
e barata que
ANs (ex.
a rede sem fi
onada para
seja necessá
com baixa t
de dados e co
das baterias
mo de energia
rolo e monito
de ZigBee po
omplexo e ma
enador ou ro
são mais sim
m menos ene
em comunica
ia ZigBee a u
s obstáculos
da por um nó
grande exten
olvimento de e em cubas
500Kbps
250Kbps
125Kbps
ara
e as
ios,
ria
taxa
om
s.
a e custo red
orização sem
odemos enco
aior consumo
uter e ainda
mples e só po
ergia podend
ar com dispos
utilizar depen
pode utilizar-
ó coordenado
nsão ou com
uma placa p
s - 100 metro
s - 200 metro
- 500 metros
duzido da Zig
fios.
ntrar disposi
o de energia
como end de
dem assumi
o passar a m
sitivos FFD (c
nde do local o
-se a topolog
or mais os nó
muitos obst
Fig. 10 -
para monitori
os (328 ft)
os (656 ft)
s (1640 ft)
gBee permite
tivos de funç
para podere
device. Os dis
r o papel de
maior parte d
coordenador
onde a rede
gia estrela (st
ós end device
táculos, utiliz
As topologias
zação da qua
a sua imple
ções complet
em funcionar
spositivos de
end device.
o tempo em
r, router).
será instalad
tar), que é a
e necessários
zar-se as topo
ZigBee
antidade de
ementação em
tas (FFD), co
r na topologia
funções
São, no enta
modo sleep.
da. Se não
mais simples
s. Se a rede
ologias árvore
azeite
15
m
om
a de
anto,
.
s de
é
e
16
(Cluster tree) ou malha (mesh). Na malha ou ponto-a-ponto a rede organiza-se automaticamente
para optimizar o tráfego de dados na inicialização ou na adição e remoção de nós, o que lhe dá
maior flexibilidade. Já a topologia árvore é a junção de sub-redes através de nós router,
permitindo assim mais de um coordenador, onde cada um controla a sua sub-rede.
2.5 Microcontroladores
O microcontrolador tem de possuir uma ou mais portas USART ou UART para ligar a
placa ao PC, e possuir tecnologia CAN para ligar as placas em rede. Para esta tese exploraram-
se duas hipóteses de microcontroladores com as capacidades necessárias: um da Atmel do qual
existiam disponíveis placas para testes, e outro da Microchip.
2.5.1 AT90CAN32\AT90CAN64\ AT90CAN128
É um microcontrolador de baixo consumo, de apenas 8 bits, baseado na arquitectura
RISC da Atmel. As placas a que se teve acesso têm saída USB ligada a uma das duas portas
USART do microcontrolador e uma ficha para ligar o barramento CAN.
Têm ainda uma ligação JTAG, o que permite não só programar o microcontrolador mas
também depurar o código correndo-o passo a passo, acompanhando a linha de código em que o
microcontrolador está.
Desenvolvimento de uma placa para monitorização da quantidade de azeite existente em cubas
17
AT90CAN32\64\128
Fabricante Atmel Tipo 8bit Memória FLASH 32KB\64KB\128KB Memória RAM 2KB\4KB\4KB Frequência 16MHz Tamanho EEPROM 1KB\2KB\4KB Temperatura de funcionamento
-40 ºC ~ 85 ºC
Comunicação CAN Controller CAN2.0A & CAN2.0B Outras comunicações ID2C, SPI, UART/USART JTAG IEEE std. 1149.1 Compliant Tensão de alimentação 2,7 V ~5,5 V
Fig. 11 - Características de microcontroladores Atmel
2.5.2 PIC com CAN
Na tabela em baixo podem ver-se microcontroladores de 8-bits da Microchip com CAN, com os
requisitos necessários para este projecto.
Fig. 12 - Características de microcontroladores da Microchip com CAN
Como o preço é semelhante e havia a possibilidade de testar com placas existentes com
o microcontrolador da Atmel, o AT90CAN32 foi o microcontrolador escolhido para o
desenvolvimento deste projecto.
2.6 Desenvolvimento do Software
O software tem de ter a capacidade de configurar as placas através da ligação USB,
atribuindo-lhe um endereço para a rede de sensores assim como dados da instalação. O mesmo
software, ou outro, terá de comunicar com uma placa da rede de sensores por USB, para
recolher e armazenar numa base de dados dinâmica o estado das cubas ligadas na rede. Este
software e a base de dados são desenvolvidos com os programas apresentados em seguida.
18
2.6.1 Visual C++ .Net
Microsoft Visual C + + é um ambiente de programação
usado para criar aplicações para sistemas operativos Microsoft
Windows, que usa C + + como linguagem de base mas contém
mais bibliotecas. Permite também usar .NET Framework, uma vez
que é implementado no Microsoft Visual C + +. NET.
2.6.2 Wamp
WampServer é um ambiente de
desenvolvimento Web para Windows. Que permite criar
aplicações web com Apache, PHP e bases de dados
MySQL. Inclui ainda o phpMyAdmin para gerir
facilmente as bases de dados.
2.6.3 AVR Studio , WINAVR e AVR Dragon
A Atmel fornece de forma gratuita o AVR
Studio, um ambiente de programação específico
para os seus microcontroladores. Com o AVR
Studio mais o WINAVR, pode compilar-se o código
para os microcontroladores da Atmel. Este
ambiente permite ainda fazer o debug por
simulador ou, com a ajuda da placa AVR Dragon, fazer debug do código a correr no próprio
microcontrolador a programar.
Os microcontroladores da Atmel permitem ligação JTAG com a placa AVR Dragon o que,
para além de permitir programar o microcontrolador, permite também fazer debug do
microcontrolador a correr na placa onde este está instalado.
Fig. 13 - Visual studio
Fig. 14 - Wamp
Fig. 15 - AVR Dragon
Desenvolvimento de uma placa para monitorização da quantidade de azeite existente em cubas
19
2.7 Desenvolvimento do PCB
Utilizou-se o Altium Designer 6 para desenhar as placas para a tese. Este programa
permite desenvolver placas e criar vários tipos de ficheiros de saída destas para diferentes
métodos de fabrico. Permite também ver se as pistas e componentes estão as distâncias
mínimas definidas pelo utilizador e, ainda, uma visão 3D da placa.
2.8 Conclusões
Após o estudo do mercado feito apenas se encontrou um sistema comparável ao
proposto nesta tese, os outros apenas permitem a visualização o volume ocupado na cuba do
exterior sem qualquer sistema automatizado de medição.
Embora o sistema autónomo com sensor de pressão seja eficaz, este sistema encontre-
se com ligação a um servidor local, não possui em nenhum dos modelos encontrados ligação a
um servidor que permita ver o estado das cubas remotamente, e são-lhe ainda apontados pelos
utilizadores os defeitos referidos anteriormente, relacionados com o contacto directo com o
produto, o que implica a desmontagem do sistema de Monitorização aquando da limpeza das
cubas.
O sistema desta tese usa um sensor ultra-sons colocado no topo da cuba o que permite
a limpeza desta sem necessidade de o remover, e este sensor não necessita de entrar em
contacto com o azeite para fazer a medição. Alem disso os estados e histórico das cubas serão
armazenadas num servidor o que ira permitir aceder-lhes remotamente quando desejado.
Foram apresentados dois sensores de ultra-sons para medição da distância. Embora
ambos os modelos fossem satisfatórios para a função desejada, o modelo da SensComp tinha
um tamanho superior ao desejado. Tentou-se obter os componentes para incluir a placa na placa
final do projecto, mas segundo o representante da SensComp tal não era possível. Deste modo,
a escolha recaiu no modelo da MaxBotix, mais moderno, de tamanho mais reduzido e com
vários métodos para obtenção do resultado, além de um consumo muito menor que o sensor da
SensComp.
Para as redes com fios optou-se pela CAN. Como a rede é para instalar no meio
industrial e pode estar sujeita a interferências, foi escolhida a rede mais robusta, o que é a
20
escolha mais indicada. Decidiu-se ainda no desenho da placa possibilitar a inclusão de um
módulo Zigbee.
Com base nesta escolha da rede, decidiu-se que o microcontrolador teria o módulo CAN
incluído. Analisaram-se então microcontroladores de dois fabricantes sem que fosse detectada
grande diferença de preço ou performance aparente nos estudos feitos. Optou-se pelo
microcontrolador da Atmel, pois tal como referido anteriormente neste capítulo, havia disponíveis
não só placas com o AT90CAN32 para utilizar no desenvolvimento do projecto, mas também
acesso a uma placa AVR Dragon para programar e fazer debug por JTAG na placas de teste e na
final.
2.9 Referências
o http://www.lammertbies.nl/comm/info/RS-485.html
o http://www.rs485.com/rs485spec.html
o http://en.wikipedia.org/wiki/EIA-485
o http://www.seika.de/english/html_e/NG360_e.htm
o http://www.rogercom.com/ZigBee/ZigBee.htm
o http://en.wikipedia.org/wiki/ZigBee
o http://www.vivasemfio.com/blog/zigbee/
o http://www.gta.ufrj.br/grad/07_1/zigbee/topologias.html
o http://en.wikipedia.org/wiki/Controller_area_network
o http://usapiens.blogspot.com/2007/10/rs485-vs-can.html
o http://zone.ni.com/devzone/cda/tut/p/id/2732
o http://www.can-cia.org/
o www.atmel.com
o www.microchip.com
o www.senscomp.com
o www.maxbotix.com
Desenvolvimento de uma placa para monitorização da quantidade de azeite existente em cubas
21
3 Hardware e Software
Neste capítulo são descritas as ligações entre ultra-sons e a placa do microcontrolador, assim
como deste à rede CAN e ao PC. São ainda descritos os testes feitos às placas assim como à
rede CAN e Rs-232 (entre a placa controlo da rede CAN e o PC).
3.1 Introdução
3.2 Aplicação de teste dos sensores ultra-som
3.3 Aplicação de teste das placas AT90CAN32
3.4 Aplicação do software
3.5 Conclusões
3.6 Referências
22
3.1 Introdução
Neste capítulo vai abordar-se a aplicação do sensor e a forma de obter o resultado deste
com um microcontrolador. Em seguida, aborda-se a ligação das placas com sensor em rede
CAN e a ligação de uma placa sem sensor ao PC por uma porta USB. É explicado o
funcionamento do código das placas e o software que recolhe os valores pela porta USB e coloca
numa base de dados dinâmica.
3.2 Aplicação de teste dos sensores ultra-som
O sensor LV-MaxSonar–EZ1 da
MaxBotix fornece o resultado da
distância numa saída rs-232,uma
analógica e ainda uma em largura de
pulso. Depois de alguns testes em
cada uma das saídas, como todas
deram resultados satisfatórios foi
decidido não desperdiçar uma porta
USART do microcontrolador para ler o
valor do sensor. Como já se tinha feito
um código para ler o valor da largura de pulso para o sensor da SensComp optou-se por
escolher essa saída.
Esta saída deve ser colocada a
‘1’ (5v) com a emissão do ultra-som e
só deve ser colocada a 0 quando o eco
é recebido pelo sensor, ou então
quando o tempo máximo é atingido. Ou
seja, se contarmos o tempo que o
pulso está a ‘1’ temos o tempo de voo
e podemos com este calcular a
distância do objecto.
Fig. 16 - Osciloscópio onda sensor 1
Fig. 17 - Osciloscópio onda sensor 2
Desenvolvimento de uma placa para monitorização da quantidade de azeite existente em cubas
23
Na imagem (Fig.16) retirada do osciloscópio durante os testes podemos ver uma
medição com um objecto colocado a uma distância de 2 metros. O tempo que o sinal está a ‘1’
é de aproximadamente 12ms tendo em conta que o fornecedor diz que cada 147us equivalem a
2,54cm o resultado dá a distância de aproximadamente 2 metros, o que é muito perto da
distância real. Na segunda figura (Fig.17) podemos ver que o tempo de voo é muito reduzido
pois o objecto foi colocado próximo do sensor.
3.3 Aplicação de teste das placas AT90CAN32
As placas utilizadas para os testes têm incorporado uma saída JTAG o que permite, além
de programar o microcontrolador at90can32, correr o código passo a passo na própria placa.
Este debug facilita a detecção de erros. No debug utilizado normalmente o microcontrolador é
simulado no computador e nem sempre um código funciona no microcontrolador como na
simulação. Com o JTAG pode-se fazer um debug já no microcontrolador com este inserido na
placa como estará depois de programado, sendo o teste muito mais preciso.
Para utilizar as potencialidades do JTAG será usada a placa AVR Dragon. Esta placa
permite fazer debug por JTAG em microcontroladores da AVR, suportando ainda múltiplos modos
de programação.
Fig. 18 - Placa com o AT90CAN32
A placa tem também uma saída USB ligada à porta USART1 do microcontrolador
at90can32 para permitir a comunicação com o PC. Cada placa ligada ao PC terá uma porta
COM virtual atribuída para que se possa criar uma comunicação série com a placa. Tem ainda
uma ficha com as linhas necessárias para ligar à rede CAN e alimentação.
24
O microcontrolador funciona na placa com um cristal de 8MHz.
3.3.1 Ligação ao Sensor
Como dito anteriormente, o método escolhido para ler o sensor foi a saída de largura de
pulso. Para esse efeito é necessário ligar essa saída do ultra-som a um pino do microcontrolador
preparado para detectar uma interrupção externa.
O código para o funcionamento do sensor desenvolvido na dissertação paralela a esta
funciona da seguinte forma, o microcontrolador detecta a passagem do pino de 0 para 1 e inicia
a contagem com um temporizador, até que o pino volte a mudar de estado (de 1 para 0). Em
seguida devolve o valor dessa contagem pela USART para que o utilizador tenha acesso às
medidas no PC.
O microcontrolador apenas conta o tempo de voo 20 vezes cada vez que se pedem
medições, sendo o pedido feito através do clique de um botão (através de outro pino que se
coloca a 0 para pedir as medições).
3.3.2 Ligação USB ao PC
A placa tem um integrado FT232R para converter a USART1 do microcontrolador para
uma saída USB. Ao ligar-se a porta USB mini da placa ao PC ele vai tentar automaticamente
instalar controladores. Se tal não for possível, o fabricante colocou os controladores no site para
que possam ser descarregados. Depois de reconhecido o integrado o PC vai atribuir-lhe uma
porta COM virtual A partir desse momento pode-se utilizar esta porta para fazer comunicação
padrão do interface RS-232.
O programa do microcontrolador devolve ao PC o valor da distância do objecto ao sensor
cada vez que este enviar o pedido à placa, este valor é obtido depois das vinte amostras serem
tratadas de forma a retirar interferências que possam ter ocorrido.
3.3.3 Rede CAN
No teste feito para a rede CAN ligaram-se 3 placas de teste, mas apenas uma ligada a
um sensor, outra foi utilizada para enviar um valor fixo quando pedido pela terceira placa que fez
Desenvolvimento de uma placa para monitorização da quantidade de azeite existente em cubas
25
de placa de controlo da rede, recolhendo os valores das restantes e comunicando estes com o
PC sempre que solicitado pelo mesmo.
Na programação das placas foi usada a livraria da Atmel - can_lib. Num primeiro teste a
placa de controlo foi colocada em ciclo a pedir constantemente os valores às outras duas placas.
Nos testes seguintes foi colocada a pedir apenas após receber uma ordem pela porta USART1.
Este pedido gera uma interrupção que apenas guarda o valor do pedido.
De seguida, na main do código, de acordo com o caracter recebido, pede pela rede CAN
o valor da placa que o PC pretende (0 para a placa com sensor e 1 para a placa sem sensor),
para depois a enviar de volta para o PC.
De seguida será descrita a rede CAN propriamente dita. Cada placa tem a sua
identificação (ex. #define ID_TAG_BASE 128). A placa de controlo pede a uma das placas na
rede o seu valor enviando para a rede a identificação (ID_TARGET= id[x];) da placa desejada e o
formato em que pretende que os dados sejam enviados.
Se a comunicação demorar tempo demais, a comunicação é abortada e pode também
enviar a informação ao PC de que o erro ocorreu, caso se opte por esta função.
A placa com o sensor, por sua vez tem, de estar à escuta da rede CAN, à espera de um
pedido da placa de controlo.
Foi criado um código para as placas receberem automaticamente um ID da placa de
controlo quando inserida na rede. A placa inserida envia um pedido à placa de controlo que
possui ID fixo e conhecido, e espera reposta desta com o seu ID de rede. Neste sistema, esta é a
única vez que a placa de sensor faz um pedido à rede e após ter o seu ID atribuído, apenas
responderia a pedidos da placa de controlo. Já a placa de controlo, cada vez que não está a
fazer pedidos está a verificar se alguma nova placa está a espera de ID.
A placa com sensor verifica se a rede está livre e pede um ID à placa de controlo até
obter resposta.
O processo é semelhante ao que é usado pela placa de controlo para pedir os valores do
sensor, com a leve diferença de apenas pedir um dado. Depois de recebido o novo ID da placa,
esta parte do código não volta a correr até a placa ser reiniciada.
A placa de controlo quando não esta a pedir dados verifica se existe alguma placa nova
na rede.
26
A placa de controlo espera durante 800ms por um pedido de ID, se no fim desse tempo
não recebeu nenhum pedido, esta aborta e continua com o resto do programa.
3.4 Aplicação de Software
No âmbito desta tese é necessário recolher os dados dos sensores num servidor para
poderem ser acedidos por uma página Web. Para esse efeito foi desenvolvido o software que
será apresentado de seguida. Foi também desenvolvida uma outra pequena aplicação para
configurar as placas antes da instalação. A razão da criação desta aplicação será explicada mais
tarde nas conclusões deste capítulo.
O software tem, portanto, de recolher os valores obtidos por todos os sensores na rede
CAN e armazená-los numa base de dados dinâmica para que possam depois ser acedidos via
Web. Como dito anteriormente, devem poder configurar-se as placas antes da sua instalação.
3.4.1 Leitura dos dados da rede CAN
A leitura dos dados é feita por comunicação série através da porta COM virtual criada
aquando da ligação da placa pela porta USB. Essa ligação tem de ser configurada no programa
de acordo com as definições na placa de controlo. Depois pede-se à placa de controlo o valor de
uma das placas na rede, que neste programa de teste é o simples envio de um número de 0 a
10, que e o intervalo de endereços possíveis das placas de sensor no programa de teste.
Contudo, como a rede só tem duas placas além da controladora o valor das respostas restantes
será NULL.
Como se pode verificar na Fig. 19, colocam-se os valores para configurar a comunicação
e ao aceitá-los (OK) estes ficam gravados num ficheiro de configuração na pasta onde o
programa está instalado.
Desenvolvimento de uma placa para monitorização da quantidade de azeite existente em cubas
27
De seguida escolhe-se a placa de sensor da qual se pretende o valor. A placa de controlo
tem o endereço (rede CAN) 0X80, a placa com o sensor o 0x81 e a placa que envia o valor fixo
têm o endereço de 0x82. Se se pedir a placa 0 recebe-mos o valor da 0x81, se pedirmos a 1
recebemos o valor da placa 0x82.
Quando se faz um pedido à placa de controlo esta devolve 3 bytes, com o ID da placa e
dois bytes com o valor da distância (o mais significativo e depois o menos significativo).
No caso de a placa não estar na rede a resposta serão 3 bytes nulos.
Na elaboração desta parte do código no Visual C++ .net foi usada a livraria CSerialPort.
3.4.2 Guardar dados no servidor
Existem algumas livrarias disponíveis para trabalhar com bases de dados. No caso
presente foi utilizada a MYSQLWrapp, para permitir o fácil acesso à base de dados criada para o
efeito da tese.
Fig. 19 - Janela configurar Fig. 20 - Janela principal
28
O programa precisa aceder à base de dados (BD) no servidor para introduzir os dados
sempre que este os actualizar.
No teste inicial, o programa sempre que recebia os dados guardava-os na BD. Como
podemos ver na Fig 21 se pedirmos um valor antes de fazer a ligação à BD dinâmica o
programa abre um aviso. Só depois de conectado é que ele insere automaticamente os dados na
BD.
Fig. 23 - Dados inseridos na BD dinâmica
A BD fica com o ID da placa e o valor. Embora o programa final tenha de incluir mais
informações, neste teste o objectivo era colocar todas as partes constituintes da tese a funcionar
correctamente para começar a trabalhar no protótipo final.
Fig. 21 - Janela connect BD Fig. 22 - Erro Base Dados (BD)
Desenvolvimento de uma placa para monitorização da quantidade de azeite existente em cubas
29
O Botão BD2 presente na janela do programa foi utilizado para testar a BD, introduzindo
um novo dado fictício nesta quando premido.
3.4.3 Configuração da placa de sensor
Foi criada uma função no programa para iniciar uma placa nova, enviando-lhe o seu
endereço e mais alguns dados. Nesta situação, a placa fica com esses dados gravados na
EEPROM e estes só podem ser alterados por este mesmo programa. A comunicação é RS-232
como anteriormente mas as placas de sensores têm um mini protocolo diferente para funcionar
com este programa. No caso de a placa de sensor receber o caracter que indica gravação de
dados, fica à espera dos dados para gravar na EEPROM. Se por outro lado receber o caracter de
pedido de dados existentes, então envia os dados de volta pela porta USB.
3.5 Conclusões
Esta fase teve como objectivo colocar todos os passos necessários a funcionar.
Estudando o sistema foi possível ver os problemas da ideia inicial e encontrar soluções para se
poder passar com segurança para o protótipo.
Fig. 24 - Janela para configurar placa sensor
30
Detectou-se um problema no decorrer do teste à CAN. Embora o código CAN para a
auto-atribuição de ID das placas introduzidas facilite a instalação das placas nas cubas, a
utilização do mesmo iria trazer problemas na identificação da cuba correspondente a cada placa
na página Web. Por este motivo decidiu criar-se um programa capaz de alterar os dados da
placa e, assim, garantir que na instalação cada placa fica com a sua cuba atribuída.
Com todos os outros patamares essenciais à tese testados com sucesso, passou-se ao
desenvolvimento do protótipo. Procedeu-se ainda à alteração do software e do código das placas,
de forma a tornar a utilização do sistema o mais simples e eficaz possível.
3.6 Referências
o http://www.atmel.com/dyn/products/product_card.asp?part_id=3795
o http://www.atmel.com/dyn/resources/prod_documents/doc4012.pdf
o http://www.functionx.com/vcnet/
o http://www.codeguru.com/
o http://www.codeproject.com/
o http://msdn.microsoft.com/en-us/visualc/default.aspx
o http://www.avrfreaks.net/
Desenvolvimento de uma placa para monitorização da quantidade de azeite existente em cubas
31
4 Desenvolvimento da Placa Protótipo
Neste capítulo explica-se todo o processo de desenvolvimento da placa de circuito impresso
(PCB) através do ambiente de desenvolvimento Altium. São também apresentadas as placas
desenhadas.
4.1 Introdução
4.2 Desenho do protótipo
4.4 Conclusões
4.5 Referências
32
4.1 Introdução
Apresentam-se de seguida os passos do desenvolvimento do circuito impresso, desde a
elaboração do esquema do circuito eléctrico da placa, até à passagem deste para PCB. Nesta
fase são também explicados os cuidados que existiram na distribuição dos componentes.
Por fim são apresentadas as placas desenvolvidas, assim como as razões da sua
elaboração e da existência de módulos.
4.2 Desenho do protótipo
Nesta fase foi criado no Altium um novo projecto PCB e adicionados a estes os ficheiros
para fazer o esquema e para o PCB.
No ficheiro esquema foi desenhado o circuito desejado para a placa de circuito
impresso, e foi necessário ter em atenção se o socket de cada componente correspondia ao
desejado, para depois na passagem para PCB não ser necessário alterar o formato dos
componentes. É conveniente, antes de desenhar a placa no ficheiro PCB, certificar que os
componentes no esquema estão todos disponíveis.
Depois de os componentes e esquema estarem preparados pode avançar-se e importar
os componentes e suas as ligações para o ficheiro onde será desenhado o PCB. Se o tamanho e
formato da placa estiverem previamente definidos, pode atribuir-se no programa o tamanho
pretendido para se organizar a placa de acordo com esse espaço.
Com os componentes e as suas ligações definidos, é necessário distribuir na placa os
componentes de forma a reduzir a placa ao mínimo possível.
Em função dos instrumentos existentes na universidade, foi decidido criar-se uma placa
de uma só camada, o que impede a redução do tamanho da placa ao mínimo possível.
Desenvolvimento de uma placa para monitorização da quantidade de azeite existente em cubas
33
Como a placa protótipo é de apenas uma camada, os componentes têm de ser
distribuídos de forma permitir que as pistas fiquem todas na camada inferior. Todos os
componentes que necessitem de furos são colocados na camada superior e os SMD (não
necessitando furos) na camada em que colocamos as pistas.
Depois de todos os componentes estarem organizados pode começar-se a desenhar as
pistas. Embora o Altium tenha um sistema automático nem sempre fica muito bem, por isso é
aconselhado para placas pequenas, principalmente as de apenas uma camada que as pistas
sejam feitas de forma manual.
Durante o processo, ajusta-se a colocação dos componentes à medida que se fazem as
ligações. Convém ter também em atenção a largura das pistas, colocando-as de acordo com a
corrente prevista em cada pista.
Durante o desenho da placa foi necessário incluir resistências de zero para permitir fazer
algumas ligações, sem ter de se aumentar muito a placa.
De seguida apresentam-se ver as placas desenhadas e os seus esquemas, assim como
a explicação das suas funções.
4.2.1 Placa Micro
Esta é a placa principal com o microcontrolador e todos os componentes necessários ao
seu funcionamento, incluindo a ligação JTAG que permite a programação e debug na própria
placa.
Fig. 25 - Esquema no Altium do step down
34
Fig. 26 - Esquema placa principal
Desenvolvimento de uma placa para monitorização da quantidade de azeite existente em cubas
35
Pode ver-se no esquema o circuito para ligação à rede CAN com dois jumpers (CAN_d e
RES_CAN) para escolher modos ou inclusão de resistência entre linhas.
A placa tem as duas saídas USART, mais a alimentação, ligadas a barras de pinos para
possibilitar a ligação a módulos de comunicação como USB e ZigBee, os dos quais se irá falar
mais à frente. A saída com o nome sonar que será ligada à placa do ultra-som está ligada
através de um NPN a um pino do microcontrolador para permitir alimentar apenas o ultra-som
quando necessário, sem necessidade de este estar continuamente em funcionamento.
36
A placa tem um led para sinalizar se a placa está a ter alimentação ou não e outro para
dar sinal da activação do ultra-som.
4.2.2 Módulo USB
Esta pequena placa apenas usa o integrado ft232rl para criar uma ligação Série com a
porta USART do microcontrolador pela porta USB. O módulo é ligado à placa do
microcontrolador pelos pinos designados, através dos quais lhe é fornecida a alimentação e a
ligação à porta USART do microcontrolador. Ou seja a alimentação desta placa é proveniente da
placa principal e não da porta USB.
Fig. 28 - Esquema do módulo USB
Como apenas a placa de controlo necessita de ter uma ligação USB permanente, e as
outras só precisam do USB na iniciação dos valores para instalação, não é necessário todas as
placas terem esta parte do circuito.
Este módulo foi criado para diminuir o número de componentes desnecessários nas
placas, e para que assim fosse possível iniciar todas as placas de sensores, ligando-as
Fig. 27 - PCB no Altium da placa principal
Desenvolvimento de uma placa para monitorização da quantidade de azeite existente em cubas
37
temporariamente a este módulo. A única excepção é a placa de controlo que tem de ter um
destes módulos permanentemente ligado.
Fig. 29 - PCB no Altium do módulo USB
4.2.3 Módulo ZigBee
Neste caso, o módulo não foi criado para poupar componentes que eram pouco
necessários como o USB, mas antes para possibilitar a criação de uma rede ZigBee entre as
placas de sensores.
Fig. 30 - Esquema da placa ZigBee
38
Este módulo foi ligado à outra porta USART disponível no microcontrolador; a placa tem
um encaixe para os módulos XBee da Digi International. Isto permite criar uma rede ZigBee entre
as placas. Como o módulo XBee requer 3,3V foi tambem colocado um regulador.
4.3 Conclusões
Durante o desenvolvimento do protótipo foram tomadas várias decisões de acordo com
os problemas encontrados e as circunstâncias. Exemplo disto, como foi referido anteriormente, é
facto de os instrumentos que a universidade possui para produzir placas levarem ao desenho de
placas de uma só face. Outro exemplo é o facto de, dado que as placas seriam montadas de
forma manual decidiu-se se ter reduzido os componentes SMD ao mínimo. Estes factores
contribuíram para que o tamanho das placas não fosse ainda mais reduzido que o alcançado.
Foram ainda criados uma placa principal e dois módulos para evitar gastos
desnecessários ao fabricar as placas para o sistema criado.
4.4 Referências
o http://wiki.altium.com/
o http://www.altium.com/community/libraries/en/libraries_home.cfm
o http://www.atmel.com/
Fig. 31 - PCB no Altium da placa ZigBee
Desenvolvimento de uma placa para monitorização da quantidade de azeite existente em cubas
39
5 Resultados
Neste capítulo é apresentado o sistema desenvolvido no âmbito da tese. O funcionamento e os
objectivos dos módulos de hardware e software são explicados individualmente.
5.1 Introdução
5.2 Resultados Finais
40
5.1 Introdução
A placa desenvolvida pode efectuar as duas funções necessárias na rede CAN, pode
funcionar como placa colectora e ou como placa de sensor. A placa colectora recolhe os dados
das placas de sensor na rede CAN e envia, quando requisitados, esses mesmos dados para o
PC pela porta USB (módulo USB). Já quando funciona como placa de sensor, activa
periodicamente o ultra-som para recolher o espaço existente na cuba em que está instalada e
disponibilizar o resultado à placa colectora sempre que esta o pedir.
Fig. 32 - Placas Ligadas na rede CAN
Foi criado um protocolo simples para a comunicação série pela porta USB permitindo
maior troca de dados entre as placas e o PC. Deste modo é possível: pedir os valores das placas
de sensor, ver se as placas na rede CAN comunicam correctamente, introduzir ou apagar placas
na lista de placas com que a placa colectora vai comunicar na rede CAN, e ainda alterar tempo
entre leituras.
Desenvolvimento de uma placa para monitorização da quantidade de azeite existente em cubas
41
O PC guarda os dados recolhidos numa BD dinâmica que depois é acedida através de
um site criado para permitir fácil visualização do estado das cubas e do seu histórico. Para este
efeito foi desenvolvida uma aplicação para comunicar com a placa colectora, recolhendo os
estados das cubas e armazenando todos os dados na BD. Esta aplicação permite ainda
configurar por USB as placas de sensor a instalar, atribuindo um ID para a rede CAN e o tempo
entre leituras do sensor.
5.2 Resultados Finais
5.2.1 Hardware
Fig. 33 - Placa principal com sensor
42
Sonar2030
Microcontrolador AT90CAN64 JTAG Sim CAN 2.0B e CAN 2.0A Sim Saída módulo USB Sim Saída módulo ZigBee Sim Led on (vermelho) Sim Led Ultra-som (amarelo) Sim Botão reset Sim Tensão de alimentação 5v (7v aconselhável) - 60v (LM2574HV)
Fig. 34 - Características da placa Sonar2030
A placa apresentada no capítulo anterior foi desenvolvida para funcionar como placa
colectora ou como placa de sensor.
A placa é alimentada pela ficha P1, para o funcionamento correcto da placa a
alimentação pode ser de 5V (aconselhável 7v) ate um máximo de 60V, nesta ficha tem-se ainda
a ligação para as duas linhas da rede CAN.
A placa principal têm conectores para ligar os módulos e sensor para permitir o
funcionamento em funções diferentes sem desperdício de componentes e espaço, o sensor e
módulos são ligados apenas se necessário. A placa tem o conector Mod_USB para ligar a placa
ao módulo USB, o Mod_XBee para ligar ao módulo XBEE e ainda a ficha para ligar o sensor
Ultra-Som. Assim de acordo com a função da placa liga-se apenas o necessário, por exemplo se
a placa for colocada como placa de sensor liga-se o sensor e o módulo USB apenas para
configurar a placa e depois pode ser desligado para a placa ser colocada na cuba.
Desenvolvimento de uma placa para monitorização da quantidade de azeite existente em cubas
43
Fig. 35 - Módulo USB
O módulo USB faz a ponte entre o microcontrolador da placa principal e a porta USB do
PC, convertendo a saída da USART do microcontrolador para USB. O PC atribui uma porta COM
ao módulo USB que é usada para criar uma ligação serie com a placa.
5.2.1.1 Placa colectora
Como a placa colectora tem de estar ligada ao PC, foi incluído o módulo USB
apresentado no capítulo quatro. Esta placa está ligada às placas de sensor por um barramento
CAN e periodicamente pede os valores a cada uma das placas na rede CAN. O tempo entre cada
leitura das placas de sensor assim como os ID das placas na rede CAN estão guardados na
EEPROM do microcontrolador da placa colectora e só podem ser alterados pelo PC. O tempo
entre leituras das placas de sensor na rede CAN é controlado por um timer, descontando a flag
(com o tempo a esperar) por interrupção ate 0. Na main a flag é verificada e quando está a 0 é
iniciada a comunicação com as placas. Depois de acabar a comunicação, a placa reinicia a flag
(coloca de novo no tempo escolhido) e volta a esperar pelo fim do tempo.
Quando a comunicação com uma das placas de sensor falha é decrementada uma flag
referente a essa placa até 0 para que o PC possa ser informado de que uma placa de sensor
pode não estar a funcionar correctamente, essa mesma flag é colocada novamente a 3 cada vez
que o programa comunica com a placa correspondente.
44
O protocolo de comunicação entre a placa colectora e o PC é apresentado mais à frente
quando for apresentado o software.
Fig. 36 - Algoritmo placa colectora
Desenvolvimento de uma placa para monitorização da quantidade de azeite existente em cubas
45
5.2.1.2 Placa sensor
A placa de sensor apenas tem de ser ligada directamente ao PC por USB na instalação
para se atribuir o seu ID e tempo entre leituras do sensor, não sendo assim necessário incluir o
módulo USB na placa de sensor, usando o mesmo módulo para configurar todas as placas a
instalar no sistema (pode ser a mesma que fica ligada à placa controladora). Os valores são
guardados na EEPROM e só podem ser alterados pelo PC.
O sensor Ultra-som é ligado a esta placa na ficha preparada para o efeito.
A placa de acordo com as configurações activa periodicamente o sensor e lê o valor,
esse valor depois é enviado para a placa colectora sempre que solicitado. O tempo é controlado
da mesma forma que placa colectora (Timer-interrupção).
A placa de sensor cada vez que faz uma medição envia pela porta USART o respetivo
valor, assim em caso de falha de comunicação com o sistema pode verificar-se se a placa está a
funcionar normalmente conectando a placa ao PC com um módulo USB.
46
Fig. 37 - Algoritmo placa sensor
5.2.2 Software
A instalação do programa é simples, sendo possível alterar o directório de instalação se
desejado, no fim da instalação é criado um atalho no ambiente de trabalho. A explicação passo a
passo da instalação do sistema pode ser encontrada em anexo.
O programa foi criado para recolher os valores das cubas da placa colectora e armazená-
los na BD, permitindo ainda a configuração das placas de sensor pré-instalação.
Desenvolvimento de uma placa para monitorização da quantidade de azeite existente em cubas
47
Fig. 38 - Janela Configurar
Para comunicar com a placa pela porta USB temos de configurar a comunicação RS232;
clicando no botão configurar abre-se a janela de configuração do programa.
Nesta Janela temos de escolher as configurações de comunicação série igual à da placa
com que queremos comunicar e ainda a porta COM correspondente à placa ligada ao PC com
que o programa vai comunicar. A configuração dos pedidos CAN será discutida mais a frente.
Após introduzidos os valores desejados podemos ligar a comunicação com a placa
carregando em ligar.
48
Fig. 39 - Escolha de modo de funcionamento
Fig. 40 - Programa Ligado por USB
O programa liga-se também à BD dinâmica criada no PC para permitir que o programa
insira dados na BD. A ligação é feita carregando no botão Connect-BD e carregando OK depois
de introduzir os dados pedidos.
Desenvolvimento de uma placa para monitorização da quantidade de azeite existente em cubas
49
Fig. 41 - Programa a ligar a base de dados
A ligação à BD e à porta COM para comunicação com a placa pode ser definida como
automática ao ligar o programa se desejado.
Por segurança ao premir botões que alteram o decorrer normal do programa é pedida
confirmação dessa acção.
50
Fig. 42 - A desligar o programa
Depois de configurado e activado o programa pode ficar a correr no fundo sem
necessidade de ter a janela aberta, basta para isso minimizar o programa que ele fica apenas
com um ícone no system tray como se pode ver na Fig. 44. Para voltar a aparecer a janela do
programa basta clicar no icon do system tray.
Fig. 43 - Minimizar janela
Desenvolvimento de uma placa para monitorização da quantidade de azeite existente em cubas
51
Fig. 44 - Janela no System tray
De seguida explica-se o funcionamento do programa e os protocolos de comunicação do
PC com as placas.
52
5.2.2.1 Configuração placas de sensor
As placas de sensor têm de ser configuradas antes de serem instaladas, para atribuir a
identificação da cuba correspondente e a frequência que mede o estado da cuba. O programa
tem então uma opção para alterar os valores na placa de sensor que se liga ao PC.
Quando se carrega no botão (nova Placa/Alterar) aparece na janela de texto uma
mensagem a informar que está à espera dos dados da placa. Assim que recebe os dados abre a
janela para eles serem alterados, caso não receba nada informa que a placa não está ligada ou
não está a comunicar correctamente.
Fig. 45 - Placa não responde
Desenvolvimento de uma placa para monitorização da quantidade de azeite existente em cubas
53
Fig. 46 - Configurar placa sensor
Na janela ‘configurar placa’ podemos meter o valor da ID da placa para a rede CAN e o
do tempo entre leituras do sensor. Além disso, temos o valor da versão que é enviado pela placa
e não pode ser alterado. A data e altura da cuba são valores apenas necessários para a BD pois
ao clicar em configurar o programa vai automaticamente introduzir os dados desta placa na BD.
Ao carregar no botão (nova Placa/Alterar) é enviada para a placa o carácter '0' (pedido
de valores actuais). Após receber este pedido, a placa envia os valores e fica à espera dos novos.
Depois de recebidos estes valores, a placa começa a funcionar normalmente aplicando os
valores recebidos.
5.2.2.2 Recolha e armazenamento dos valores das cubas
A placa colectora pode ser configurada com o programa enviando-lhe o tempo de leitura
(tempo entre cada varrimento que a placa colectora faz pelas placas de sensor na rede CAN) e
adicionando ID’s de placas na lista da placa colectora. Se desejado pode ainda pedir-se a lista de
ID’s CAN existente na placa colectora através do botão Ler. Ao premir o botão Ler a placa
54
colectora devolve o ID de cada uma das placas de sensor e se elas estão a funcionar ou não,
enviando 0 se ela não estiver a comunicar.
Antes de carregar em Activar para começar a recolher os valores automaticamente
temos de configurar o programa. Carregando no botão Configurar obtemos uma janela onde,
além de se poder configurar a comunicação RS232, podemos definir de quanto em quanto
tempo o PC vai pedir (no modo automático) os dados da placa e a lista de placas das quais se
vão pedir dados.
Depois de ter o programa e a placa colectora configurados podemos ligar o modo
automático, o programa vai então pedindo no intervalo de tempo determinado na configuração
os valores das placas da lista à placa colectora e guardando-os na BD.
Fig. 47 - Tabela Placas na BD
Fig. 48 - Tabela medições na BD
Na tabela podemos ver o mini protocolo criado para comunicar com a placa colectora.
Para pedir um valor de uma placa de sensor basta enviar o ID desta à placa colectora e ela
Desenvolvimento de uma placa para monitorização da quantidade de azeite existente em cubas
55
devolve os valores. Como os valores na tabela estão pré determinados para funções especiais
não podem ser usados como ID de placas de sensor.
Byte Acção
99(0x63) Adiciona ID a lista
98(0x62) Altera tempo
97(0x61) Envia ID de placas na rede
96(0x60) Apaga dados (seguido do id da
placa a apagar ou 0x60 para
apagar tudo)
Fig. 49 - Tabela do protocolo de comunicação
56
Desenvolvimento de uma placa para monitorização da quantidade de azeite existente em cubas
57
6 Conclusões e Trabalho Futuro
No capítulo final são apresentadas as conclusões sobre o trabalho elaborado no decorrer desta
tese, e ainda o trabalho que ainda pode ser feito para optimizar e melhorar o sistema
desenvolvido.
6.1 Conclusões
6.2 Trabalho Futuro
58
6.1 Conclusões
O hardware criado permite criar uma rede CAN entre as cubas de um armazém e ligar a
placa de controlo (ou colectora) da CAN ao PC, podendo assim ter a informação de todo o
sistema acessível num só ponto.
Com o software apresentado no capítulo anterior os dados do sistema podem ser
recolhidos e armazenados na BD dinâmica, criando assim um histórico do estado das cubas. A
BD foi criada para permitir o acesso aos dados por uma página Web.
O sistema criado é simples de utilizar e fácil de instalar e como são usados sensores
ultra-som não há contacto directo com o azeite. Pode fazer-se a limpeza das cubas sem
necessidade de desmontar o sistema, e caso a placa de uma cuba deixe de funcionar pode-se
substituir a placa facilmente pois esta encontra se no topo da cuba.
Com o sistema é também instalado no servidor o site para permitir a visualização do
estado das cubas de qualquer dispositivo com browser e acesso à rede local ou internet,
permitindo um controlo simples e eficaz das cubas sem necessidade de constantemente verificar
as cubas ao armazém.
6.2 Trabalho Futuro
O sistema respondeu positivamente aos testes feitos em laboratório mas é aconselhável
proximamente testá-lo num lagar de azeite, para corrigir possíveis erros que possam ser
detectados ao aplicar o sistema em maior escala e recolher informação de possíveis melhorias a
fazer ao sistema.
Embora o sistema tenha sido desenvolvido para funcionar em rede CAN também se
encontra preparado para funcionar com rede sem fios ZigBee, mas o módulo ZigBee não foi
testado nem configurado. Dado a importância que uma instalação livre de fios pode ter para este
tipo de sistema é aconselhável colocar este módulo totalmente operacional assim como escolher
uma bateria para acoplar ao sistema quando instalado com o módulo sem fios.
Desenvolvimento de uma placa para monitorização da quantidade de azeite existente em cubas
59
Anexos
Anexo A - Como instalar o sistema
60
Anexo A - Como instalar o sistema
Neste anexo é explicado passo a passo como instalar e configurar o sistema de monitorização de
nível de azeite baseado em Sensores Ultra-Sons
1 Instalar software
2 Janela principal do programa
3 Configurar programa
4 Ligar placa por USB
5 Configurar placas de sensor
6 Configurar placa colectora
7 Ligar placas na rede CAN
Desenvolvimento de uma placa para monitorização da quantidade de azeite existente em cubas
61
1. Instalar software 1.1. Executar o Sonar2030_inst
1.2. Clicar em next
1.3. Escolher a pasta onde se pretende que o programa fique instalado
62
1.4. Confirmar em start para começar a instalação
1.5. Abre a linha de comandos e a instalação do WampServer, clique em next
1.6. Aceite a Licença de software e clique next, na janela seguinte escolha a pasta para
instalar o wamp e clique next
1.7. Escolha se desejar a criação automática de um atalho para o wamp e carrega next, na
janela seguinte carregue install
Desenvolvimento de uma placa para monitorização da quantidade de azeite existente em cubas
63
1.8. No fim da instalação coloque a opção launch wampserver now (para permitir a criação
automática das tabelas na BD) e faça finish
1.9. Quando aparecer a janela connect se não tiver coloque os dados:
Host- localhost
User-root (por defeito)
Port-3306 (por defeito)
Password- não colocar nada (por defeito)
Estes valores são criados por defeito na instalação se alterar as configurações do mysql
tem de colocar aqui os valores escolhidos.
64
1.10. Depois de ter os valores introduzidos clique ok. Agora se os dados estiverem
correctos e a base de dados ligada deve confirmar (ok) quando aparecer a janela a
perguntar se quer criar as tabelas, se algo estiver incorrecto aparece uma janela a dizer
falha de ligação e tem de verificar se os dados estão correctos e o mysql está online.
Desenvolvimento de uma placa para monitorização da quantidade de azeite existente em cubas
65
1.11. Na Janela site 2030 escolhe-se a pasta www no mesmo local onde foi instalado
o wampserver, se ele foi instalado no c:\ por defeito basta clicar install
1.12. Depois clica-se em exit e a instalação é terminada. O programa fica instalado na
pasta escolhida e é ainda criado um atalho para o programa no ambiente de trabalho.
66
2. Janela principal do programa
(1) Abre janela de configuração da comunicação Série e do modo automático de leitura dos
dados.
(2) Liga a comunicação série (RS232) de acordo com os valores de configuração no programa,
e activa os botões que geram funções que utilizam esta comunicação.
(3) Envia por RS232 o pedido do valor do sensor da placa com o ID seleccionado (17).
(4) Desliga a comunicação RS232 e desactivar os botões que deixam de funcionar sem
comunicação RS232.
(5) Activa a recolha de dados automática.
(6) Abre lista de opções (configurações do programa).
(7) Pede por RS232 a lista de placas que a placa colectora tem e coloca-as no ponto (9) com o
seu estado actual, se está a comunicar (ok) ou não (off).
(8) Nesta lista aparecem os dados recebidos por RS232, informações de erros e outras
mensagens sobre funções do programa a decorrer.
(9) Lista de placas de que o PC vai pedir valores em modo automático.
(10) Meter valor do intervalo entre leituras desejado para a placa colectora.
Desenvolvimento de uma placa para monitorização da quantidade de azeite existente em cubas
67
(11) Valor do ID de uma placa que queremos incluir na lista da placa colectora.
(12) Ao clicar envia (por RS232) o pedido de alteração do intervalo de tempo na placa
colectora para o valor colocado no (10).
(13) Envia o ID de uma placa da rede CAN (em (11)) a adicionar na lista de placas da placa
colectora.
(14) Apaga os dados escolhidos (18) da placa conectada (RS232) ao programa.
(15) Envia pedido para alterar valores da placa de sensor ligada (por RS232) ao programa, se
a placa responder abre a janela de configuração placa de sensor, caso não receba nada
coloca em (8) a mensagem a informar de falha de comunicação.
(16) Abre janela para configurar e conectar o programa à Base de Dados.
68
3. Configurar Programa
Depois de abrir o programa escolhemos a opção configurar, para abrir a janela de
configuração.
Desenvolvimento de uma placa para monitorização da quantidade de azeite existente em cubas
69
Nesta janela pode configurar-se a comunicação série e o tempo entre cada pedido de
dados à placa colectora. O que é pedido à placa colectora é o valor das placas que estiverem na
lista também configurável nesta janela.
Os valores da comunicação série têm de ser iguais aos da placa com a qual queremos
comunicar: BaudRate-38400; Parity-None; databits-8; Stopbits-1; SendBuffer-512 (Não
necessário para funcionamento).
A COM é atribuída pelo PC à placa; para identificar a porta COM da placa com que
queremos comunicar podemos ir ao gestor de dispositivos do PC e ver que porta COM é activada
ao ligar a placa ao PC.
Para configurar a ligação do programa à Base dados, clica-se em connect-BD
70
Na janela Connect colocam-se os valores com os quais a Base Dados foi configurada e
escolhe-se se o programa vai memorizar a palavra-chave ou não. Se não se escolher guardar a
palavra-chave, esta tem de ser introduzida de cada vez que se ligar o programa.
OS valores por defeito são: Host-localhost; Database-sonar; User-root; Port-3306;
Password-Sonar.
4. Ligar placa por USB
O Windows deve atribuir automaticamente uma porta COM à Placa (mais propriamente
ao módulo USB ligado à placa). Se depois de ligar a placa ao PC o Windows não instalar
automaticamente o controlador necessário, instalam-se os controladores da ftdichip que podem
ser encontrados no site: http://www.ftdichip.com/Drivers/VCP.htm.
Depois de instalados liga-se novamente a placa e o Windows atribuirá uma porta COM
automaticamente ao Modulo USB ligado a placa.
5. Configurar placas de sensor
Para configurar uma placa de sensor tem de configurar-se a comunicação série com
valores e porta COM da placa a configurar, tal como demonstrado anteriormente.
Desenvolvimento de uma placa para monitorização da quantidade de azeite existente em cubas
71
Depois de configurado carrega-se no botão ligar. Só então, com a comunicação RS232
ligada, pode carregar-se em Nova Placa/Alterar.
Se tudo estiver ligado e configurado correctamente abre-se uma janela para configurar a
placa. Se o programa não receber resposta da placa ele coloca uma mensagem na janela
principal a informar da falha de comunicação.
72
Na janela configurar placa tem de se inserir o ID que deseja para esta placa e o tempo
de leitura (tempo de intervalo entre leituras). Inserem-se ainda os valores data (data actual) e a
altura da cuba, que contudo não são necessários para o funcionamento da placa de sensor. O
valor da versão não dá para alterar. Este valor é enviado pela placa para informar da versão do
código na mesma.
Ao clicar em configurar não só se actualizam os dados da placa como os da Base de
dados no PC.
Depois de configurado desliga-se a comunicação RS232 no programa, e já pode colocar-
se a placa na rede CAN.
6. Configurar placa colectora
Para configurar a placa colectora temos de configurar a comunicação série com valores
e a porta COM da placa a configurar, tal como demonstrado anteriormente.
Na mesma janela de configuração da RS232 pode ainda definir-se o tempo que o
computador espera entre cada leitura da lista de placas, lista esta que também pode alterar-se
na janela introduzindo as placas de sensor na rede CAN de que se pretende obter o valor.
Depois de configurado o programa liga-se a comunicação com a placa. Agora sim pode
configurar-se a placa.
Desenvolvimento de uma placa para monitorização da quantidade de azeite existente em cubas
73
Depois de o programa estar conectado à placa pode enviar-se o intervalo de tempo (10),
adicionar novas placas na lista da placa (11) e apagar os dados já existentes na placa. Se
desejado pode pedir-se (7) a lista de placas de sensor na rede CAN que a placa colectora tem,
aparecendo em (9) além do endereço o estado actual (ON \OFF) de cada placa.
74
Agora que a placa colectora está devidamente configurada pode activar-se a leitura
automática carregando em Activar (5).
O programa lê os valores pretendidos periodicamente de acordo com os dados
introduzidos anteriormente na janela de configurações (1).
7. Ligar placas na rede CAN
Os pinos das placas são ligados nas respectivas linhas da rede como demonstrado na
Figura. É importante que antes de ser colocada na rede a placa de sensor seja configurada.
Como no sistema a placa colectora está ligada ao computador pode ser configurada
depois de colocada na rede CAN.
Desenvolvimento de um
a placa para monitorização da quantidade de azeite existente em cubas
75