Universidade do Minho - Desenvolvimento de uma Placa para...

89
Marco Francisco Faria Ferreira Desenvolvimento de uma Placa para Monitorização da Quantidade de Azeite existente em Cubas Marco Francisco Faria Ferreira Outubro de 2010 UMinho | 2010 Desenvolvimento de uma Placa para Monitorização da Quantidade de Azeite existente em Cubas Universidade do Minho Escola de Engenharia

Transcript of Universidade do Minho - Desenvolvimento de uma Placa para...

Page 1: Universidade do Minho - Desenvolvimento de uma Placa para ...intranet.dei.uminho.pt/gdmi/galeria/temas/pdf/40526.pdfSempre existiu a necessidade de armazenar os produtos produzidos

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

Page 2: Universidade do Minho - Desenvolvimento de uma Placa para ...intranet.dei.uminho.pt/gdmi/galeria/temas/pdf/40526.pdfSempre existiu a necessidade de armazenar os produtos produzidos

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

Page 3: Universidade do Minho - Desenvolvimento de uma Placa para ...intranet.dei.uminho.pt/gdmi/galeria/temas/pdf/40526.pdfSempre existiu a necessidade de armazenar os produtos produzidos

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

Page 4: Universidade do Minho - Desenvolvimento de uma Placa para ...intranet.dei.uminho.pt/gdmi/galeria/temas/pdf/40526.pdfSempre existiu a necessidade de armazenar os produtos produzidos

iv

Page 5: Universidade do Minho - Desenvolvimento de uma Placa para ...intranet.dei.uminho.pt/gdmi/galeria/temas/pdf/40526.pdfSempre existiu a necessidade de armazenar os produtos produzidos

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.

Page 6: Universidade do Minho - Desenvolvimento de uma Placa para ...intranet.dei.uminho.pt/gdmi/galeria/temas/pdf/40526.pdfSempre existiu a necessidade de armazenar os produtos produzidos

vi

Page 7: Universidade do Minho - Desenvolvimento de uma Placa para ...intranet.dei.uminho.pt/gdmi/galeria/temas/pdf/40526.pdfSempre existiu a necessidade de armazenar os produtos produzidos

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.

Page 8: Universidade do Minho - Desenvolvimento de uma Placa para ...intranet.dei.uminho.pt/gdmi/galeria/temas/pdf/40526.pdfSempre existiu a necessidade de armazenar os produtos produzidos

viii

Page 9: Universidade do Minho - Desenvolvimento de uma Placa para ...intranet.dei.uminho.pt/gdmi/galeria/temas/pdf/40526.pdfSempre existiu a necessidade de armazenar os produtos produzidos

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 

Page 10: Universidade do Minho - Desenvolvimento de uma Placa para ...intranet.dei.uminho.pt/gdmi/galeria/temas/pdf/40526.pdfSempre existiu a necessidade de armazenar os produtos produzidos

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 

Page 11: Universidade do Minho - Desenvolvimento de uma Placa para ...intranet.dei.uminho.pt/gdmi/galeria/temas/pdf/40526.pdfSempre existiu a necessidade de armazenar os produtos produzidos

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 

Page 12: Universidade do Minho - Desenvolvimento de uma Placa para ...intranet.dei.uminho.pt/gdmi/galeria/temas/pdf/40526.pdfSempre existiu a necessidade de armazenar os produtos produzidos

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 

Page 13: Universidade do Minho - Desenvolvimento de uma Placa para ...intranet.dei.uminho.pt/gdmi/galeria/temas/pdf/40526.pdfSempre existiu a necessidade de armazenar os produtos produzidos

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 

Page 14: Universidade do Minho - Desenvolvimento de uma Placa para ...intranet.dei.uminho.pt/gdmi/galeria/temas/pdf/40526.pdfSempre existiu a necessidade de armazenar os produtos produzidos

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

Page 15: Universidade do Minho - Desenvolvimento de uma Placa para ...intranet.dei.uminho.pt/gdmi/galeria/temas/pdf/40526.pdfSempre existiu a necessidade de armazenar os produtos produzidos

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

Page 16: Universidade do Minho - Desenvolvimento de uma Placa para ...intranet.dei.uminho.pt/gdmi/galeria/temas/pdf/40526.pdfSempre existiu a necessidade de armazenar os produtos produzidos

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

Page 17: Universidade do Minho - Desenvolvimento de uma Placa para ...intranet.dei.uminho.pt/gdmi/galeria/temas/pdf/40526.pdfSempre existiu a necessidade de armazenar os produtos produzidos

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.

Page 18: Universidade do Minho - Desenvolvimento de uma Placa para ...intranet.dei.uminho.pt/gdmi/galeria/temas/pdf/40526.pdfSempre existiu a necessidade de armazenar os produtos produzidos

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.

Page 19: Universidade do Minho - Desenvolvimento de uma Placa para ...intranet.dei.uminho.pt/gdmi/galeria/temas/pdf/40526.pdfSempre existiu a necessidade de armazenar os produtos produzidos

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

Page 20: Universidade do Minho - Desenvolvimento de uma Placa para ...intranet.dei.uminho.pt/gdmi/galeria/temas/pdf/40526.pdfSempre existiu a necessidade de armazenar os produtos produzidos

6

Page 21: Universidade do Minho - Desenvolvimento de uma Placa para ...intranet.dei.uminho.pt/gdmi/galeria/temas/pdf/40526.pdfSempre existiu a necessidade de armazenar os produtos produzidos

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

Page 22: Universidade do Minho - Desenvolvimento de uma Placa para ...intranet.dei.uminho.pt/gdmi/galeria/temas/pdf/40526.pdfSempre existiu a necessidade de armazenar os produtos produzidos

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

Page 23: Universidade do Minho - Desenvolvimento de uma Placa para ...intranet.dei.uminho.pt/gdmi/galeria/temas/pdf/40526.pdfSempre existiu a necessidade de armazenar os produtos produzidos

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

Page 24: Universidade do Minho - Desenvolvimento de uma Placa para ...intranet.dei.uminho.pt/gdmi/galeria/temas/pdf/40526.pdfSempre existiu a necessidade de armazenar os produtos produzidos

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

Page 25: Universidade do Minho - Desenvolvimento de uma Placa para ...intranet.dei.uminho.pt/gdmi/galeria/temas/pdf/40526.pdfSempre existiu a necessidade de armazenar os produtos produzidos

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

Page 26: Universidade do Minho - Desenvolvimento de uma Placa para ...intranet.dei.uminho.pt/gdmi/galeria/temas/pdf/40526.pdfSempre existiu a necessidade de armazenar os produtos produzidos

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

Page 27: Universidade do Minho - Desenvolvimento de uma Placa para ...intranet.dei.uminho.pt/gdmi/galeria/temas/pdf/40526.pdfSempre existiu a necessidade de armazenar os produtos produzidos

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

Page 28: Universidade do Minho - Desenvolvimento de uma Placa para ...intranet.dei.uminho.pt/gdmi/galeria/temas/pdf/40526.pdfSempre existiu a necessidade de armazenar os produtos produzidos

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

Page 29: Universidade do Minho - Desenvolvimento de uma Placa para ...intranet.dei.uminho.pt/gdmi/galeria/temas/pdf/40526.pdfSempre existiu a necessidade de armazenar os produtos produzidos

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

Page 30: Universidade do Minho - Desenvolvimento de uma Placa para ...intranet.dei.uminho.pt/gdmi/galeria/temas/pdf/40526.pdfSempre existiu a necessidade de armazenar os produtos produzidos

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

Page 31: Universidade do Minho - Desenvolvimento de uma Placa para ...intranet.dei.uminho.pt/gdmi/galeria/temas/pdf/40526.pdfSempre existiu a necessidade de armazenar os produtos produzidos

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.

Page 32: Universidade do Minho - Desenvolvimento de uma Placa para ...intranet.dei.uminho.pt/gdmi/galeria/temas/pdf/40526.pdfSempre existiu a necessidade de armazenar os produtos produzidos

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

Page 33: Universidade do Minho - Desenvolvimento de uma Placa para ...intranet.dei.uminho.pt/gdmi/galeria/temas/pdf/40526.pdfSempre existiu a necessidade de armazenar os produtos produzidos

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

Page 34: Universidade do Minho - Desenvolvimento de uma Placa para ...intranet.dei.uminho.pt/gdmi/galeria/temas/pdf/40526.pdfSempre existiu a necessidade de armazenar os produtos produzidos

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

Page 35: Universidade do Minho - Desenvolvimento de uma Placa para ...intranet.dei.uminho.pt/gdmi/galeria/temas/pdf/40526.pdfSempre existiu a necessidade de armazenar os produtos produzidos

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

Page 36: Universidade do Minho - Desenvolvimento de uma Placa para ...intranet.dei.uminho.pt/gdmi/galeria/temas/pdf/40526.pdfSempre existiu a necessidade de armazenar os produtos produzidos

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

Page 37: Universidade do Minho - Desenvolvimento de uma Placa para ...intranet.dei.uminho.pt/gdmi/galeria/temas/pdf/40526.pdfSempre existiu a necessidade de armazenar os produtos produzidos

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.

Page 38: Universidade do Minho - Desenvolvimento de uma Placa para ...intranet.dei.uminho.pt/gdmi/galeria/temas/pdf/40526.pdfSempre existiu a necessidade de armazenar os produtos produzidos

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

Page 39: Universidade do Minho - Desenvolvimento de uma Placa para ...intranet.dei.uminho.pt/gdmi/galeria/temas/pdf/40526.pdfSempre existiu a necessidade de armazenar os produtos produzidos

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.

Page 40: Universidade do Minho - Desenvolvimento de uma Placa para ...intranet.dei.uminho.pt/gdmi/galeria/temas/pdf/40526.pdfSempre existiu a necessidade de armazenar os produtos produzidos

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.

Page 41: Universidade do Minho - Desenvolvimento de uma Placa para ...intranet.dei.uminho.pt/gdmi/galeria/temas/pdf/40526.pdfSempre existiu a necessidade de armazenar os produtos produzidos

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

Page 42: Universidade do Minho - Desenvolvimento de uma Placa para ...intranet.dei.uminho.pt/gdmi/galeria/temas/pdf/40526.pdfSempre existiu a necessidade de armazenar os produtos produzidos

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)

Page 43: Universidade do Minho - Desenvolvimento de uma Placa para ...intranet.dei.uminho.pt/gdmi/galeria/temas/pdf/40526.pdfSempre existiu a necessidade de armazenar os produtos produzidos

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

Page 44: Universidade do Minho - Desenvolvimento de uma Placa para ...intranet.dei.uminho.pt/gdmi/galeria/temas/pdf/40526.pdfSempre existiu a necessidade de armazenar os produtos produzidos

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/

Page 45: Universidade do Minho - Desenvolvimento de uma Placa para ...intranet.dei.uminho.pt/gdmi/galeria/temas/pdf/40526.pdfSempre existiu a necessidade de armazenar os produtos produzidos

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

Page 46: Universidade do Minho - Desenvolvimento de uma Placa para ...intranet.dei.uminho.pt/gdmi/galeria/temas/pdf/40526.pdfSempre existiu a necessidade de armazenar os produtos produzidos

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.

Page 47: Universidade do Minho - Desenvolvimento de uma Placa para ...intranet.dei.uminho.pt/gdmi/galeria/temas/pdf/40526.pdfSempre existiu a necessidade de armazenar os produtos produzidos

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

Page 48: Universidade do Minho - Desenvolvimento de uma Placa para ...intranet.dei.uminho.pt/gdmi/galeria/temas/pdf/40526.pdfSempre existiu a necessidade de armazenar os produtos produzidos

34

Fig. 26 - Esquema placa principal

Page 49: Universidade do Minho - Desenvolvimento de uma Placa para ...intranet.dei.uminho.pt/gdmi/galeria/temas/pdf/40526.pdfSempre existiu a necessidade de armazenar os produtos produzidos

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.

Page 50: Universidade do Minho - Desenvolvimento de uma Placa para ...intranet.dei.uminho.pt/gdmi/galeria/temas/pdf/40526.pdfSempre existiu a necessidade de armazenar os produtos produzidos

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

Page 51: Universidade do Minho - Desenvolvimento de uma Placa para ...intranet.dei.uminho.pt/gdmi/galeria/temas/pdf/40526.pdfSempre existiu a necessidade de armazenar os produtos produzidos

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

Page 52: Universidade do Minho - Desenvolvimento de uma Placa para ...intranet.dei.uminho.pt/gdmi/galeria/temas/pdf/40526.pdfSempre existiu a necessidade de armazenar os produtos produzidos

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

Page 53: Universidade do Minho - Desenvolvimento de uma Placa para ...intranet.dei.uminho.pt/gdmi/galeria/temas/pdf/40526.pdfSempre existiu a necessidade de armazenar os produtos produzidos

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

Page 54: Universidade do Minho - Desenvolvimento de uma Placa para ...intranet.dei.uminho.pt/gdmi/galeria/temas/pdf/40526.pdfSempre existiu a necessidade de armazenar os produtos produzidos

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.

Page 55: Universidade do Minho - Desenvolvimento de uma Placa para ...intranet.dei.uminho.pt/gdmi/galeria/temas/pdf/40526.pdfSempre existiu a necessidade de armazenar os produtos produzidos

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

Page 56: Universidade do Minho - Desenvolvimento de uma Placa para ...intranet.dei.uminho.pt/gdmi/galeria/temas/pdf/40526.pdfSempre existiu a necessidade de armazenar os produtos produzidos

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.

Page 57: Universidade do Minho - Desenvolvimento de uma Placa para ...intranet.dei.uminho.pt/gdmi/galeria/temas/pdf/40526.pdfSempre existiu a necessidade de armazenar os produtos produzidos

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.

Page 58: Universidade do Minho - Desenvolvimento de uma Placa para ...intranet.dei.uminho.pt/gdmi/galeria/temas/pdf/40526.pdfSempre existiu a necessidade de armazenar os produtos produzidos

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

Page 59: Universidade do Minho - Desenvolvimento de uma Placa para ...intranet.dei.uminho.pt/gdmi/galeria/temas/pdf/40526.pdfSempre existiu a necessidade de armazenar os produtos produzidos

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.

Page 60: Universidade do Minho - Desenvolvimento de uma Placa para ...intranet.dei.uminho.pt/gdmi/galeria/temas/pdf/40526.pdfSempre existiu a necessidade de armazenar os produtos produzidos

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.

Page 61: Universidade do Minho - Desenvolvimento de uma Placa para ...intranet.dei.uminho.pt/gdmi/galeria/temas/pdf/40526.pdfSempre existiu a necessidade de armazenar os produtos produzidos

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.

Page 62: Universidade do Minho - Desenvolvimento de uma Placa para ...intranet.dei.uminho.pt/gdmi/galeria/temas/pdf/40526.pdfSempre existiu a necessidade de armazenar os produtos produzidos

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.

Page 63: Universidade do Minho - Desenvolvimento de uma Placa para ...intranet.dei.uminho.pt/gdmi/galeria/temas/pdf/40526.pdfSempre existiu a necessidade de armazenar os produtos produzidos

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.

Page 64: Universidade do Minho - Desenvolvimento de uma Placa para ...intranet.dei.uminho.pt/gdmi/galeria/temas/pdf/40526.pdfSempre existiu a necessidade de armazenar os produtos produzidos

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

Page 65: Universidade do Minho - Desenvolvimento de uma Placa para ...intranet.dei.uminho.pt/gdmi/galeria/temas/pdf/40526.pdfSempre existiu a necessidade de armazenar os produtos produzidos

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.

Page 66: Universidade do Minho - Desenvolvimento de uma Placa para ...intranet.dei.uminho.pt/gdmi/galeria/temas/pdf/40526.pdfSempre existiu a necessidade de armazenar os produtos produzidos

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

Page 67: Universidade do Minho - Desenvolvimento de uma Placa para ...intranet.dei.uminho.pt/gdmi/galeria/temas/pdf/40526.pdfSempre existiu a necessidade de armazenar os produtos produzidos

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

Page 68: Universidade do Minho - Desenvolvimento de uma Placa para ...intranet.dei.uminho.pt/gdmi/galeria/temas/pdf/40526.pdfSempre existiu a necessidade de armazenar os produtos produzidos

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

Page 69: Universidade do Minho - Desenvolvimento de uma Placa para ...intranet.dei.uminho.pt/gdmi/galeria/temas/pdf/40526.pdfSempre existiu a necessidade de armazenar os produtos produzidos

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

Page 70: Universidade do Minho - Desenvolvimento de uma Placa para ...intranet.dei.uminho.pt/gdmi/galeria/temas/pdf/40526.pdfSempre existiu a necessidade de armazenar os produtos produzidos

56

Page 71: Universidade do Minho - Desenvolvimento de uma Placa para ...intranet.dei.uminho.pt/gdmi/galeria/temas/pdf/40526.pdfSempre existiu a necessidade de armazenar os produtos produzidos

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

Page 72: Universidade do Minho - Desenvolvimento de uma Placa para ...intranet.dei.uminho.pt/gdmi/galeria/temas/pdf/40526.pdfSempre existiu a necessidade de armazenar os produtos produzidos

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.

Page 73: Universidade do Minho - Desenvolvimento de uma Placa para ...intranet.dei.uminho.pt/gdmi/galeria/temas/pdf/40526.pdfSempre existiu a necessidade de armazenar os produtos produzidos

Desenvolvimento de uma placa para monitorização da quantidade de azeite existente em cubas 

59

Anexos

Anexo A - Como instalar o sistema

Page 74: Universidade do Minho - Desenvolvimento de uma Placa para ...intranet.dei.uminho.pt/gdmi/galeria/temas/pdf/40526.pdfSempre existiu a necessidade de armazenar os produtos produzidos

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

Page 75: Universidade do Minho - Desenvolvimento de uma Placa para ...intranet.dei.uminho.pt/gdmi/galeria/temas/pdf/40526.pdfSempre existiu a necessidade de armazenar os produtos produzidos

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

Page 76: Universidade do Minho - Desenvolvimento de uma Placa para ...intranet.dei.uminho.pt/gdmi/galeria/temas/pdf/40526.pdfSempre existiu a necessidade de armazenar os produtos produzidos

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

Page 77: Universidade do Minho - Desenvolvimento de uma Placa para ...intranet.dei.uminho.pt/gdmi/galeria/temas/pdf/40526.pdfSempre existiu a necessidade de armazenar os produtos produzidos

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.

Page 78: Universidade do Minho - Desenvolvimento de uma Placa para ...intranet.dei.uminho.pt/gdmi/galeria/temas/pdf/40526.pdfSempre existiu a necessidade de armazenar os produtos produzidos

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.

Page 79: Universidade do Minho - Desenvolvimento de uma Placa para ...intranet.dei.uminho.pt/gdmi/galeria/temas/pdf/40526.pdfSempre existiu a necessidade de armazenar os produtos produzidos

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.

Page 80: Universidade do Minho - Desenvolvimento de uma Placa para ...intranet.dei.uminho.pt/gdmi/galeria/temas/pdf/40526.pdfSempre existiu a necessidade de armazenar os produtos produzidos

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.

Page 81: Universidade do Minho - Desenvolvimento de uma Placa para ...intranet.dei.uminho.pt/gdmi/galeria/temas/pdf/40526.pdfSempre existiu a necessidade de armazenar os produtos produzidos

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.

Page 82: Universidade do Minho - Desenvolvimento de uma Placa para ...intranet.dei.uminho.pt/gdmi/galeria/temas/pdf/40526.pdfSempre existiu a necessidade de armazenar os produtos produzidos

68

3. Configurar Programa

Depois de abrir o programa escolhemos a opção configurar, para abrir a janela de

configuração.

Page 83: Universidade do Minho - Desenvolvimento de uma Placa para ...intranet.dei.uminho.pt/gdmi/galeria/temas/pdf/40526.pdfSempre existiu a necessidade de armazenar os produtos produzidos

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

Page 84: Universidade do Minho - Desenvolvimento de uma Placa para ...intranet.dei.uminho.pt/gdmi/galeria/temas/pdf/40526.pdfSempre existiu a necessidade de armazenar os produtos produzidos

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.

Page 85: Universidade do Minho - Desenvolvimento de uma Placa para ...intranet.dei.uminho.pt/gdmi/galeria/temas/pdf/40526.pdfSempre existiu a necessidade de armazenar os produtos produzidos

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.

Page 86: Universidade do Minho - Desenvolvimento de uma Placa para ...intranet.dei.uminho.pt/gdmi/galeria/temas/pdf/40526.pdfSempre existiu a necessidade de armazenar os produtos produzidos

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.

Page 87: Universidade do Minho - Desenvolvimento de uma Placa para ...intranet.dei.uminho.pt/gdmi/galeria/temas/pdf/40526.pdfSempre existiu a necessidade de armazenar os produtos produzidos

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.

Page 88: Universidade do Minho - Desenvolvimento de uma Placa para ...intranet.dei.uminho.pt/gdmi/galeria/temas/pdf/40526.pdfSempre existiu a necessidade de armazenar os produtos produzidos

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.

Page 89: Universidade do Minho - Desenvolvimento de uma Placa para ...intranet.dei.uminho.pt/gdmi/galeria/temas/pdf/40526.pdfSempre existiu a necessidade de armazenar os produtos produzidos

Desenvolvimento de um

a placa para monitorização da quantidade de azeite existente em cubas 

75