1
UNIVERSIDADE POSITIVO
CARLOS HENRIQUE ALCÂNTARA G. DOS SANTOS
MEDIDOR DA DIREÇÃO E VELOCIDADE DO VENTO
A PARTIR DE UM BALÃO PILOTO
CURITIBA
2009
2
CARLOS HENRIQUE ALCÂNTARA G. DOS SANTOS
MEDIDOR DA DIREÇÃO E VELOCIDADE DO VENTO
A PARTIR DE UM BALÃO PILOTO
Trabalho de conclusão de curso apresentado como
requisito parcial à obtenção do grau de Engenheiro
Eletricista da Universidade Positivo.
Orientador: Prof. Solivan Arantes Valente.
CURITIBA
2009
3
Freqüentemente, a formulação de um
problema é mais essencial que sua solução.
Albert Einstein
4
AGRADECIMENTOS
Agradeço primeiramente a Deus pela
oportunidade de concluir esta fase de minha vida.
Agradeço a minha esposa Maitê e meu filho
Kaike pela força e pela compreensão.
Agradeço ao meu Orientador, Professor
Solivan por mostrar os caminhos para o projeto.
Agradeço a minha Mãe Rosângela, que já
faleceu, por sempre acreditar em mim.
Agradeço a minha Vó Luzinete, por sempre
me apoiar, mesmo nas horas mais difíceis.
5
LISTA DE FIGURAS
Figura - 1 Vetores u e v de sondas de PIBAL e rádio sonda com GPS..............................
15
Figura - 2 Geometria do vôo do Balão................................................................................
16
Figura - 3 Projeção do vôo do balão no plano horizontal.....................................................
17
Figura - 4 Cálculo do vento horizontal e posição em três dimensões do balão....................
19
Figura - 5 Diagrama em blocos do sistema...........................................................................
21
Figura - 6 Potenciômetro 1 ligado à porta A/D do PIC........................................................
24
Figura - 7 Potenciômetro 2 ligado à porta A/D do PIC........................................................
25
Figura - 8 Circuito do display...............................................................................................
26
Figura - 9 Fonte de alimentação...........................................................................................
27
Figura - 10 Kit Didático de microcontroladores PIC...........................................................
28
Figura - 11 Circuito de interface com MAX 232.................................................................
29
Figura - 12 Display montado com conector.........................................................................
30
Figura - 13 Trimpot de ajuste do LCD.................................................................................
30
6
LISTA DE TABELAS
Tabela 1 – Custo dos componentes......................................................................................
36
7
SUMÁRIO
1
INTRODUÇÃO ............................................................................................. 10
1.1 Problema ......................................................................................................... 10
1.2 Justificativa ..................................................................................................... 10
1.3 Objetivos Específicos ...................................................................................... 12
2
FUNDAMENTAÇÃO TEÓRICA ................................................................ 14
3
ESPECIFICAÇÃO TÉCNICA ..................................................................... 20
3.1 Visão geral do projeto ..................................................................................... 20
3.2 Interface com o usuário ................................................................................... 20
3.3 Diagrama em blocos do sistema ...................................................................... 21
3.4 Descrição dos blocos ....................................................................................... 21
3.5 Fluxograma do funcionamento do sistema ....................................................... 22
3.6 Descrição funcional dos blocos ....................................................................... 23
4
3.6.1
Microcontrolador ................................................................................. 23
3.6.2
Potenciômetro da bússola .................................................................... 23
3.6.3
Potenciômetro do inclinômetro ............................................................ 24
3.6.4
Display ................................................................................................ 24
3.6.5
Fonte de alimentação ........................................................................... 26
IMPLEMENTAÇÃO .................................................................................... 27
4.1 Descrição da montagem .................................................................................. 27
4.1.1
Kit Didático de Microcontroladores PIC .............................................. 27
4.1.2
Circuito de interface RS232 .................................................................. 29
4.1.3
LCD .................................................................................................... 29
4.1.4
Potenciômetro para a leitura do azimute ............................................... 30
4.1.5
Potenciômetro para a leitura da inclinação ........................................... 31
4.2 TESTES COM O HARDWARE ...................................................................... 31
4.2.1
Testes com a bússola digital HMC ....................................................... 31
4.2.2
Testes com o inclinômetro ADIS16 ...................................................... 31
4.3 TESTES COM O SOFTWARE ...................................................................... 32
4.3.1
Inicialização e escrita no LCD ............................................................. 32
4.3.2
Bibliotecas do PIC16F877 .................................................................... 33
4.3.3
Comunicação I2C rotinas ..................................................................... 33
8
4.3.4
Leitura do sinal do potenciômetro do azimute ...................................... 34
4.3.5
Leitura do sinal do potenciômetro da elevação (inclinação) .................. 34
4.3.6
Função Main azimute .......................................................................... 34
4.4 PROTOCOLO DE TESTES ............................................................................ 35
4.5 CUSTOS DO PROJETO ................................................................................. 35
4.5.1
Componentes e materiais ..................................................................... 35
4.6 LIMITAÇÕES DO PROJETO ........................................................................ 36
4.7 DIFICULDADES ENCONTRADAS NA IMPLEMENTAÇÃO ..................... 36
5
RESULTADOS .............................................................................................. 37
6
CONSIDERAÇÕES FINAIS ......................................................................... 38
REFERËNCIAS BIBLIOGRÁFICAS .......................................................... 39
9
LISTA DE SIGLAS E ABREVIATURAS
BACKLIGHT - LCD com a opção de cores em seu display.
LCD - Display de cristal líquido.
LED - Diodo emissor de luz.
NIBBLE - Sucessão de quatro cifras binárias bits.
PIBAL - Balão Piloto.
PIC - Peripheral Interface Control. Microcontrolador da Microchip.
PULL UP - Recurso disponível no microcontrolador PIC, onde as portas “b” possuem a
função de assegurar em uma entrada o nível lógico 1.
PWM - Pulse Width Modulation. Modulação por largura de pulso
SDA - Serial DAta Line
SCL - Serial Clock
UTC - Coordinated Universal Time
10
1
INTRODUÇÃO
1.1
Problema
Com a invenção do balão em 1783, surgiu a necessidade em determinar o estudo
do sentido do vento e da velocidade. O termo balão piloto (chamado PIBAL, Pilot
Balloon), foi composta por um grupo de navegadores de balão, com a idéia de adotar
em prática, um pequeno balão de papel antes da subida do balão de ar quente tripulado
com a finalidade em determinar o sentido provável do vôo. (Berry, F.A.1945)
Ao longo do tempo, surgiu o primeiro teodolito apropriado para a observação de
balão piloto, projetado por A. de Quervain e produzido em 1905. Este instrumento
incorporou o “eixo curvado” ou “ângulo-direito”, onde permite que a linha central do
ocular permaneça na horizontal, mesmo com a elevação da objetiva do telescópio.
(Berry, F.A.1945)
Aliado a isto, em 1910, J. S. Dines modificou o projeto do Teodolito de
Quervain para incorporar uma característica de gravação própria. O acessório da
gravação foi arranjado de modo que as mudanças na elevação ou no azimute fossem
gravadas por duas penas separadas que se movem horizontalmente em um cilindro
conduzido por um maquinismo de relojoaria.
Porém esta melhora não se refletiu na evolução dos equipamentos ao longo das
décadas, ambos se tornaram arcaicos, geravam medições imprecisas, o que ocasionavam
erros na determinação do real sentido e velocidade do vento. Atualmente o PIBAL é
utilizado para medidas de baixa altitude do vento, enquanto que para alta altitude são
usadas rádio-sonda com GPS. (Berry, F.A.1945).
Logo, por não disponibilizar aos usuários uma medição mais precisa, podemos
fazer um mapa do sentido e da velocidade dos ventos, utilizado como referencia balões
inflados de hidrogênio ou gás hélio para fornecer uma taxa de subida fixa e visivelmente
ser observado nos testes práticos (Murillo,2005).
1.2
Justificativa
Para atender a necessidade do esporte de balonismo no Brasil, surge a idéia de
fazer a medição do vento em diversas camadas da atmosfera superficial, considerando
como foco principal o estudo do teodolito, um dispositivo que consiste em um
11
telescópio curvado da linha central, montado em dois suportes móveis e como
característica, podendo ser observado visivelmente a subida de um balão piloto em
intervalos de tempo minuciosos.
Para um desempenho significativo, o principal diferencial do medidor da direção
e velocidade do vento é utilizar um dispositivo eletrônico, capaz de utilizar um módulo
inteiramente integrado de uma bússola digital que combina sensores magneto-resistivo
em dois eixos cartesianos com os circuitos analógico e digital requeridos,
microprocessador e algoritmos digitais necessários para o armazenamento dos dados
(Martin Brenner,2000).
Com relação aos produtos disponíveis hoje, há pelo menos mundialmente 5
fabricantes de teodolitos de PIBAL. O custo de um instrumento tradicional novo varia
de aproximadamente 8 mil dólares a 17 mil dólares dependendo do fabricante e das
opções. Os teodolitos eletrônicos representam uma variedade de métodos tradicionais
para balão piloto com um sistema de processamento de dados (Martin Brenner,2003).
Os modelos de teodolitos de PIBAL disponíveis no mercado oferecem
dispositivos eletrônicos, capazes de fazer calculo do ângulo mostrando no LCD e saída
de RS-232-C, com fácil adaptação ao teodolito (Martin Brenner,2003).
Vale salientar que um dos teodolitos de PAIBAL que mais se assemelham ao
projeto é o Windsock, um sistema que não dispõe de tripé e utiliza-se de uma
calculadora cientifica HP 48 para a computação dos dados enviados do módulo de
aquisição dos ângulos, porém a leitura não é tão precisa por não utilizar tripé e não
possuir um hardware para armazenamento dos cálculos de dados. (Martin
Brenner,2003).
O custo elevado para adquirir teodolitos do PIBAL importado, através da
internet torna se inviável para consumidor final. A importância no desenvolvimento de
um novo dispositivo eletrônico de baixo custo vem acrescentar um beneficio para
esporte de balonismo, atendendo a necessidade de medição, um sistema eficiente,
projetado para tomar leituras angulares e do tempo em diversos intervalos de tempo e
permitindo que o operador do teodolito siga continuamente um alvo, e com as leituras
do azimute e da elevação gravadas automaticamente (Martin Brenner,2000).
12
Apesar das dificuldades encontradas e do desafio, o desenvolvimento desta idéia
busca contribuir para que a prática de balonismo torne-se cada vez mais seguros e
confiáveis, visando auxiliar na navegação de balão de ar quente tripulado.
1.3
Objetivos Específicos
Desenvolver um aparelho de baixo custo, que disponibilize ao usuário do
sistema de medição, o controle da direção e velocidade do vento nas várias camadas da
atmosfera superficial:
•
Projetar, montar e testar o medidor da direção e velocidade do vento a partir
de um balão piloto;
•
Cálculo da direção e da velocidade do vento (2D) para cada ponto medido
em altitudes distintas;
•
Interpretar a leitura do ângulo de elevação por meio de potenciômetro ou
acelerômetro;
•
Interpretar a leitura do ângulo com relação ao norte por meio de
potenciômetro ou bússola digital;
•
Interpretar a taxa de ascensão do PIBAL fornecida pelo usuário, que será
considerada constante, juntamente com a altitude do local medido e o
intervalo de aquisição dos dados;
•
Apresentar a manipulação dos dados em comunicação com o computador
para arquivar as medições;
•
Escrever o software dedicado no computador para pós-processamento e
apresentação dos valores medidos e calculados.
•
Apresentar o relatório com todas as informações calculadas, visando auxiliar
a navegação de um balão de ar quente tripulado ou incrementar dados
utilizados em análises meteorológicas.
Seguindo a idéia inicial que consiste no desenvolvimento de um dispositivo de
baixo custo voltado para prática do balonismo, optou-se em dispor apenas do necessário
de interação com o usuário.
Assim, no visor do LCD (Liquid Crystal Display), aparecem os valores
angulares medidos instantaneamente durante as medições, para que ao final da aquisição
de dados seja possível computar os dados para revelar a velocidade e direção do vento.
13
Para diferenciar o projeto no contexto geral a taxa de ascensão do balão piloto é
considerada constante (fornecida pelo usuário), uma vez que os trabalhos relacionados
ao PIBAL afirmam que o erro com relação ao valor médio é pequeno, e que está
incerteza está presente em toda sondagem de balão piloto e não pode ser reduzida
facilmente (Murillo,2005). Lembrando que se no antigo sistema de medição o PAIBAL
utilizado para balonismo era basicamente uma pistola conectado a uma calculadora
científica HP 48, porém a leitura não é tão precisa por não utilizar tripé e não possuir
um hardware para armazenamento dos cálculos de dados (Martin Brenner,2000).
14
2
FUNDAMENTAÇÃO TEÓRICA
Um método amplamente utilizado para determinar a velocidade e sentido do
vento, em várias altitudes, é o uso de balões meteorológicos.
O método consiste
basicamente em soltar um balão cheio de gás hélio e seguir visualmente a trajetória
percorrida, utilizando-se para isto de um teodolito ou outro instrumento de medição. A
taxa de ascensão do balão é considerada como sendo constante, e será explorado no
próximo parágrafo. A partir dos ângulos de inclinação e dos azimutes encontrados,
utilizando-se de relações trigonométricas, é possível calcular a velocidade do vento e
sentido do mesmo para altitudes pré-determinadas (Federal Meteorological Handbook
3, 1997).
As informações dos próximos dois parágrafos foram extraídas de MURILLO,
2005.
Observações especiais foram feitas de 1997 a 2005 para monitorar a
variabilidade do vento sobre a America intertropical com um projeto chamado Rede de
Sondagem
Pan-americana de Estudos Climáticos (Pan-American Climate Studies Sounding Network PACS-SONET), suportada pelo programa PACS do escritório de Programas
Globais do NOAA (National Oceanic and Atmospheric Administration of USA).
Observações de PIBAL foram feitas uma vez ou duas vezes por dia ao mesmo tempo
em até 20 localidades, contando com 8 países desde o México até o Paraguai. Uma vez
que a base de dados já consiste de mais de 40.000 observações e é suficientemente
longa e pode ser útil nas avaliações de variações em curto prazo do clima e à verificação
de produtos, o controle da qualidade dos dados é uma preocupação importante.
A taxa de subida do balão é considerada como sendo constante,
independentemente da altura. A base para essa consideração é uma serie de medições de
duplo teodolito feitas para determinar diretamente a altura do balão em função do
tempo. Essas medições mostraram um erro de 5% na taxa linear de ascensão do balão.
Esta incerteza está presente em toda sondagem de PIBAL e não pode ser reduzida
facilmente. Imperfeições ligeiras em cada balão, pequenos erros de inflação, e a
possibilidade de pequenos movimentos verticais na atmosfera (cânion, encostas de
altura elevada) contribuem para esta incerteza.
Os movimentos verticais atmosféricos são geralmente fracos logo acima do solo,
longe de possível instabilidade que venha gerar turbulência. Tomando-se alguns
15
cuidados com a escolha do local de lançamento (longe de cânion ou grandes paredões
rochosos que possam gerar turbulência) e com o horário das medições (os horários
apropriados são 30 minutos depois do nascer do sol e no final da tarde para
supostamente encontrar uma atmosfera seca e com poucas nuvens).
Nas sondagens realizadas no PACS-SONET (base de dados de 40.000
observações), foram encontradas taxas de ascensão entre 3,2 e 3,8 m/s, dependendo do
peso extra utilizado.
A figura 1 mostra os gráficos comparativos entre os componentes u e v que
descrevem a velocidade do vento de uma medição de PIBAL (taxa de ascensão
constante) e uma rádio sonda com GPS.
Figura 1 - Vetores u e v de sondas de PIBAL e rádio sonda com GPS.
O gráfico da esquerda mostra dados de Julho/2004, usando 0000 UTC
(Coordinated Universal Time) apenas; o gráfico da direita mostra o mesmo para horário
de 1200 UTC. Uma boa aproximação existe entre as componentes médias do balão
piloto e da rádio sonda, sugerindo que na média, a taxa de ascensão suposta para a
subida dos balões piloto seja próxima à taxa real da ascensão do balão (MURILLO,
2005).
16
Para entender como é o cálculo envolvido neste estudo é necessário entender o
trajeto percorrido pelo balão na subida. A geometria básica do vôo do balão é mostrada
na figura 2. Em um tempo tί o balão está no ponto P, com um ângulo de azimute αί,
com respeito à direção de referência (o eixo X – ou o Norte da bússola) e o ângulo de
elevação βί é visto pelo observador do PIBAL localizado na origem. O balão está a uma
altura Zί do plano horizontal que se encontra o observador. A projeção vertical neste
plano é o ponto P’. Em outro tempo tj o balão moveu-se para o ponto Q, com os
ângulos αj e βj, e com projeção Q’ no plano horizontal. O comprimento P’e Q’
representa a distância horizontal viajada durante um tempo ∆t= tj – tί.
A velocidade durante um tempo ∆t é dado pelo vetor:
(1) Figura 2 - Geometria do vôo do Balão (JOHNSON, 2006).
Como a distância vertical Zί é sabida a partir da taxa de elevação do balão e do
tempo variado desde que foi solto o balão, a distância rί pode ser computada como:
(2)
17
A projeção do vôo do balão no plano horizontal é mostrada na figura 3. A
distância Aί é dada por:
(3)
A distância Bί é dada por uma expressão similar:
(4)
As projeções de P’e Q’ nos eixos X e Y são dadas por:
(5)
(6)
O comprimento P’e Q’ então é dado por:
(7)
$
!" # "
Figura 3 - Projeção do vôo do balão no plano horizontal (JOHNSON, 2006)
18
Aplicando o comprimento P’e Q’ na equação do vetor velocidade, temos:
(8)
$
!" # " Sendo: vetor velocidade Uίj [m/s], comprimento P’e Q’[m] e ∆t[s]
O ângulo δ mostra a direção do trajeto de vôo do balão com respeito ao eixo X,
que é o próprio Norte para o projeto:
(9)
)
% &'( *
A figura 4 mostra um resumo de como são computados os vetores U e V
separadamente, que descrevem a velocidade do vento em intervalos de tempos
seqüenciais.
(10)
+ ',-./'01,2 3 &+ 4 /5+ 4 + Computar → 6+ 4 7+ 4 +
8 6+ 68 98 7+ 78 (11)
8 ',-./'01,2 3 &8 4 /58 4 8 Computar → 68 4 78 4 8
" 68 6" 9" 78 7" (12)
" ',-./'01,2 3 &" 4 /5" 4 " Computar → 6" 4 7" 4 "
: 6" 6: 9: 7" 7: (13)
: ',-./'01,2 3 &: 4 /5: 4 : Computar → 6: 4 7: 4 :
19
Sendo:
&; 3azimute no ponto “n”;
/5; 3elevação no ponto “n”;
; 3 altitude no ponto “n”;
; 3 velocidade na direção “x”no ponto “n”;
9; 3 velocidade na direção “x”no ponto “n”;
3intervalo de tempo entre dois pontos observados (n-1 e n);
6; /7; 3 deslocamentos nas direções “x”e “y” no ponto “n”.
Figura 4 - Cálculo do vento horizontal e posição em três dimensões do balão.
20
3
ESPECIFICAÇÃO TÉCNICA
3.1
Visão geral do projeto
Este projeto utiliza os conceitos básicos de medição da velocidade do vento,
circuitos analógicos, digitais, microcontroladores e programação.
Para realização das funções propostas, é feito o cálculo da direção e da
velocidade do vento em duas dimensões para cada ponto medido em altitudes distintas.
Os valores dos ângulos são atualizados simultaneamente, com o intuito de
apresentar ao usuário uma visão imediata de “o que está acontecendo no momento com
o balão”.
O pós-processamento e apresentação de todos valores medidos são enviados via
serial para o PC.
3.2
Interface com o usuário
Ao usuário é disponibilizado de um display e um botão para sinalizar ao
equipamento que o PC está conectado e pode ser enviados os dados via serial, além de
botão de liga-desliga e cabo serial mais um adaptador SERIAL para USB para a
transferência do dados.
21
3.3
Diagrama em blocos do sistema
Figura 5 – Diagrama em blocos do sistema
3.4
Descrição dos blocos
•
MICROCONTROLADOR - Tem a função de controlar a leitura do ângulo
de elevação por meio de um potenciômetro e com relação ao norte por meio de um
potenciômetro, monitorando os valores angulares medidos instantaneamente durante as
medições, para que ao final da aquisição de dados seja possível computar os dados para
revelar a velocidade e direção do vento em um relatório no PC.
•
POTENCIÔMETRO DA BÚSSOLA - Tem a função de interpretar a leitura
do ângulo com relação ao norte por meio de um potenciômetro (previamente zerado
para a direção do norte) e disponibilizá-lo ao microcontrolador.
•
POTENCIÔMETRO DO INCLINÔMETRO - Tem a função de interpretar a
leitura do ângulo de elevação por meio de um potenciômetro e disponibilizá-lo ao
microcontrolador.
• DISPLAY - Permite a visualização dos valores angulares medidos
instantaneamente durante as medições, para que ao final da aquisição de dados seja
possível computar os dados para revelar a velocidade e direção do vento
22
• FONTE DE ALIMENTAÇÃO - Responsável pelo fornecimento de 5V para
alimentar os componentes do circuito.
3.5
Fluxograma do funcionamento do sistema
INÍCIO DA MEDIÇÃO
INTERVALO DE
MEDIÇÃO (10s)
MEDIÇÃO DO AZIMUTE
ATRAVEZ DO SINAL DO
POTENCIÔMETRO 1
MEDIÇÃO DA INCLINAÇÃO
ATRAVEZ DO SINAL DO
POTENCIÔMETRO 2
MOSTRAR NO LCD
OS ÂNGULOS
MEDIDOS
CHEGOU NA
ALTITUDE FINAL?
NÃO
SIM
MOSTRAR NO LCD:
“MEDIÇÃO
TERMINADA”
ENVIAR
DADOS NA
SERIAL ?
SIM
ENVIAR DADOS PARA
O PC
NÃO
23
3.6
Descrição funcional dos blocos
3.6.1 Microcontrolador
O microcontrolador PIC 16F877 (MICROCHIP Technology Inc., USA.) é
composto de 40 pinos sendo 33 deles portas de entrada/saída configuráveis e divididas
em cinco conjuntos de portas, RA0 a RA5, RB0 a RB7, RC0 a RC7, RD0 a RD7 e RE0
a RE2.
O 16F877 possui memória de programação E2PROM FLASH (8 Kbytes),
memória interna E2PROM (não volátil) de 256 bytes, memória RAM com 368 bytes, 3
timers, 14 interrupções e um conjunto de 35 instruções RISC, operando com freqüência
de 4 MHz, obtida através de um cristal conectado aos pinos 13 e 14.
3.6.2
Potenciômetro da bússola
Um terminal do potenciômetro 1 de <=>? foi ligado ao port “c4”,uma das
portas A/D do PIC, o outro terminal vai ligado ao 5V e o terceiro terminal ligado ao gnd
do microcontrolador, que lê a resistência de acordo com o ângulo girado no
potenciômetro. Nenhum componente externo é necessário, uma vez que a entrada A/D
do PIC está preparada para fazer a leitura correta. Pode-se ver a ligação dos terminais do
potenciômetro no esquema abaixo.
Figura 6: Potenciômetro 1 ligado à porta A/D do PIC.
Fonte: Própria.
24
3.6.3
Potenciômetro do inclinômetro
Seguindo a mesma lógica, um terminal do potenciômetro 2 de <=>@ foi ligado
ao port “c5”,uma das portas A/D do PIC, o outro terminal vai ligado ao 5V e o terceiro
terminal ligado ao gnd do microcontrolador, que lê a resistência de acordo com o ângulo
girado no potenciômetro. Nenhum componente externo é necessário, uma vez que a
entrada A/D do PIC está preparada para fazer a leitura correta. Pode-se ver a ligação dos
terminais do potenciômetro no esquema abaixo.
Figura 7: Potenciômetro 2 ligado à porta A/D do PIC.
Fonte: Própria.
3.6.4
Display
No display são mostrados o ângulo de inclinação e o azimute do próximo ponto
a ser armazenado. Optou-se em utilizar o display LCD ITM-1602B (FREE 1602
Datasheet) da INTECH, como mostra a figura abaixo:
25
Figura 8 – Circuito do display
O ITM-1602B é constituído de três blocos: o controlador, o driver e o painel. O
controlador permite a interface com o microcontrolador, utilizando um barramento
ajustável de 4 ou 8 bits, e mais 3 linhas de sinalização: ENABLE, RS e R/W.
A comunicação no modo de 4 bits é realizada utilizando apenas as quatro linhas
mais significativas de dados (D7 a D4), dividindo o byte em dois nibbles que são
transferidos sempre iniciando pelo mais significativo seguido do menos significativo.
O controlador dispõe ainda de 80 bytes de memória RAM, 64 bytes de RAM
para o gerador de caracteres do usuário e 9920 bits de memória ROM do gerador de
caracteres, perfazendo um total de 208 caracteres 5x8 mais 32 caracteres 5x10
(PEREIRA Fábio,2002).
O ITM-1602B é composto de 16 pinos, sendo os 2 primeiros destinados à opção
de backlight, que não está disponível neste modelo, o pino 3-VSS, pino 4-VDD, pino 5VEE (controle de contraste), pino 6-RS (register select), pino 7-R/W (seleção de escrita
e leitura) e pino 8-E (habilitação para escrita/leitura).
Como é utilizado o barramento de dados de 4 bits, somente os pinos D4 a D7
estão ligadas às portas RB4 a RB7 do PIC respectivamente, a porta RB1 do PIC está
ligada ao RS do LCD, assim como a RB2 no pino R/W e RB3 ao pino E.
26
3.6.5 Fonte de alimentação
Para o bom funcionamento do circuito, tanto para o microcontrolador, como a
bussola digital e o inclinômetro, principais componentes deste projeto, é necessário usar
uma fonte de alimentação estável.
De acordo com as especificações técnicas fornecidas pelos fabricantes, a tensão
de alimentação deve estar compreendida dentro de uma faixa, e qualquer variação fora
do limite especificado pode até mesmo danificar o circuito integrado. Para ter a
estabilidade pretendida, a solução mais simples foi utilizar uma bateria de 9V e um
regulador de tensão LM7805C (NATIONAL Semiconductor Corporation, 2003), que
fornece na sua saída uma tensão estável de +3V e 5V.
Foram inseridos dois capacitores de 100uF para garantir a estabilidade do
circuito e eliminar possíveis ruídos, e disponibilizado ainda uma entrada para fonte
externa, caso o usuário faça opção de não utilizar bateria recarregável.
Figura 9 – Fonte de Alimentação
27
4
IMPLEMENTAÇÃO
Nesse capítulo são tratados os detalhes práticos que envolveram a
implementação, desde a descrição de como foram as montagens, os testes, medições e
configurações dos componentes que compõem o projeto, passando pelo código fonte
envolvido em cada etapa, placas de circuito impresso, e principalmente dos testes de
cada componente em separado.
Ocorreu um problema com o principal componente, o inclinômetro, que não
funcionou conforme esperado e nos fez partir para um potenciômetro para substituí-lo.
4.1
Descrição da montagem
Inicialmente para a realização dos testes a montagem foi realizada em
protoboard e kit didático do microcontrolador para a simulação das principais rotinas
programadas no PIC. Nele foram utilizadas suas portas de saídas, endereçamentos,
sendo uma para simular a saída I2C do circuito bússola digital.
O Medidor da velocidade e direção do vento é composto basicamente de sete
circuitos. São eles:
-
Microcontrolador (PIC 18F452);
-
Circuito de Interface RS232;
-
LCD (Display 16x2);
-
Potenciômetro para a leitura do azimute;
-
Potenciômetro para a leitura da inclinação;
Vale salientar que inicialmente a idéia do projeto era de utilizar um CI da
Honeywell como bússola digital e um CI da Analog Device como inclinômetro, mas
nos testes os mesmos não funcionaram como esperado, forçando o uso de
potenciômetro para os ângulos de inclinação e azimute.
4.1.1 Kit Didático de Microcontroladores PIC
Optou-se por utilizar o Kit Didático de microcontroladores PIC 16F877A
fornecido
pela
Universidade
Positivo
para
facilitar
a
implementação
do
microcontrolador PIC 16F877A, usando suas funcionalidades de entrada e saída,
programação, e comunicação com periféricos, tendo em vista que o Kit Didático é um
28
produto bastante testado e confiável. O Kit é composto pela placa devidamente
projetada com base nos microcontroladores da família 16F, fornecendo ao usuário
inúmeras quantidades de configurações aproveitando a maioria das características de
funcionalidade da arquitetura dos “Midrange” no qual se enquadra o PIC 16F877A.
A placa possui acesso aos pinos de entrada e saída embutida na própria placa
juntamente com um circuito de interface serial pelo CI MAX232. Além das facilidades
de operação do microcontrolador, a placa integra também a função de gravação “in
circuit” do PIC. Aliando isso ao uso do bootloader, programa que permite gravar o PIC
via USB, as funcionalidades e a devida aplicação no projeto puderam ser agilizadas com
a gravação via USB.
A figura 10 mostra o Kit Didático de Microcontroladores PIC devidamente
montado.
Figura 10: Kit Didático de microcontroladores PIC.
Fonte: Própria.
Vale salientar que o Kit Didático não é um equipamento fornecido pela
Universidade Positivo pronto para o uso, sendo que somente a placa de circuito
impresso está disponível para a venda no almoxarifado. Fica a cargo de o aluno adquirir
todos os componentes e realizar a soldagem de todos os componentes.
Uma dificuldade encontrada na montagem do Kit Didático foi a solda do
componente SMD que compõem a placa.
29
4.1.2 Circuito de interface RS232
O circuito de interface serial com a MAX232 já está integrado na placa do Kit
Didático, disponibilizando conexão de saída para o PC através de um conector DB9
“macho”. A figura 11 mostra o circuito de interface serial com o CI MAX232.
Figura 11: Circuito de interface com MAX 232.
Fonte: Própria.
O circuito utiliza para a conexão os terminais do PIC RC6 e RC7, para recepção
e transmissão de dados respectivamente.
4.1.3 LCD
O display de cristal líquido utilizado é o LCD ITM1602B do fabricante
INTECH conforme comentado no detalhamento técnico. A placa do Kit Didático possui
em sua lateral um conector para ligação direta ao LCD, portanto não houve problema
em sua montagem. Os pinos utilizados para conexão do display ao microcontrolador
foram os pinos do port ”D” configurados para comunicação paralela unidirecional.
A figura 12 mostra o LCD, bem como sua conexão. O Trimpot de <=>@
responsável pelo ajuste de contraste do display também é parte integrante da placa do
Kit Didático conforme figura 13.
30
Figura 12: Display montado com conector. Fonte: Própria.
Figura 13: Trimpot de ajuste do LCD.
Fonte: Própria.
4.1.4 Potenciômetro para a leitura do azimute
A implementação do potenciômetro ligado à porta A/D do PIC foi simples, uma
vez que não foi necessário nenhum componente externo, pois a própria porta A/D faz a
leitura correta. Foi preciso fazer medidas de 0º a 360º, variando de 10 em 10 graus e
registrar os valores encontrados no A/D em uma planilha de excel. Com os valores
calculou-se a equação da reta que mais se aproximava aos valores lidos, retornando uma
equação com boa lineariedade. Com o uso desta equação foi possível inserir a equação
ao programa do PIC, que retornou boa precisão ao sistema.
31
4.1.5
Potenciômetro para a leitura da inclinação
A implementação do potenciômetro para a inclinação seguiu o mesmo padrão da
leitura do azimute, variando apenas as medidas para 0º a 180º, com a mesma variação
de 10 em 10 graus.
4.2
TESTES COM O HARDWARE
Os testes com o hardware foram divididos em duas etapas, primeiro os testes
com a bússola digital HMC, segundo os testes com o inclinômetro ADIS16,
inicialmente pretendidos antes da implementação dos potenciômetros.
4.2.1 Testes com a bússola digital HMC
Para realizar os testes com o HMC, foi necessário criar a rotina no PIC
para receber a comunicação pelo I2C e demonstrá-las no LCD. Esse foi o trabalho
maior, pois o HMC é de fácil instalação, não oferecendo nenhuma dificuldade na sua
operação.
Após a elaboração da rotina, foi conectado os 2 fios na entrada da bússola,
conferindo os mesmos no LCD.
Mesmo seguindo todas as orientações do fabricante, o HMC não funcionou.
A solução encontrada para substituí-lo foi de utilizar um potenciômetro
devidamente zerado com o norte da bússola para encontrar o ângulo desejado.
4.2.2 Testes com o inclinômetro ADIS16
Para realizar a ligação não foi necessário nenhum componente externo, sendo
necessário apenas ligar os pinos Din (entrada de dados), Dout (saída de dados), o pino
de clock e e pino de chip select, além da alimentação do CI e o GND equalizado com a
placa do PIC.
Inicialmente definimos os pinos do PIC a ser utilizados na comunicação SPI e as
bibliotecas utilizadas. Após declarar as variáveis, um comando de inicialização do LCD
é executado. Depois os comandos spi_escreve_zera e spi_escreve_zera2 são enviados
para o ADIS com a função de zerar o ângulo a fim de ter um referencial para as
32
medições do ângulo de inclinação. Logo após, um comando de leitura é enviado a fim
de se obter o ângulo de inclinação. Depois seguem os comandos do LCD a fim de
mostrar os valores encontrados no display.
O inclinômetro funciona com interface SPI, o que gerou bastante transtorno. A
rotina de comunicação SPI no PIC foi seguida, respeitando os tempos dos sinais de
sinalização como dizia no datasheet do ADIS. Os comandos de escrita e de leitura
foram seguidos, mas o componente não se comportou como esperado. Mesmo seguindo
todas as orientações do fabricante, o ADIS16 não funcionou.
A solução encontrada para substituí-lo foi de utilizar um potenciômetro para
encontrar o ângulo de inclinação desejado.
4.3
TESTES COM O SOFTWARE
Para facilitar os testes com o software, o mesmo foi desenvolvido com um
grande número de funções, o que facilitou a localização de eventuais problemas
existentes no código, outro fator que contribuiu bastante para o desenvolvimento do
software, foi a possibilidade de utilizar o LCD para indicar mensagens, pois mensagens
diferentes poderiam ser chamadas ao longo da execução do código.
Os principais testes realizados com o software foram divididos em testes com:
- Inicialização e escrita no LCD;
- Bibliotecas do PIC16F877
- Comunicação I2C;
- Interface com o potenciômetro da bússola;
- Interface com o potenciômetro da inclinação;
- Função main azimute;
4.3.1 Inicialização e escrita no LCD
Para realizar a inicialização e escrita no LCD, foi necessário criar várias rotinas,
segue um breve comentário das principais:
Rotina para escrever a mensagem inicial – Esta rotina foi criada para escrever
“Azimute em graus” que ficará no display antes do usuário iniciar a medição;
Rotina de reset no LCD – Tem a função de limpar o LCD, retirando qualquer
configuração que por ventura esteja em sua memória;
33
Rotina de inicialização do LCD – Configura o display no modo 4 bits, 16
colunas por duas linhas;
Rotina de envio de instruções ao LCD – Efetua a lógica para que o LCD receba
um comando que deva ser executado. Para se escrever um código no LCD, o pino CD
dele tem que estar em nível baixo;
Rotina de operação com AND’s – como o LCD está operando no modo 4 bits, é
necessário posicionar o nible a ser enviado, bem como zerar os outros bit’s não
enviados ao LCD;
Rotina de envio de caracteres ao LCD – Rotina necessária para se escrever um
caractere no LCD, pois o pino CD dele tem que estar em nível alto;
Rotina para atualizar o LCD, escrever o caractere contador da medição atual e
contador;
Rotina de conversão ASCII – Faz uma soma lógica com o valor binário,
convertendo o número para ASCII, permitindo assim que ele possa ser corretamente
mostrado no LCD;
Após a criação dessas rotinas pode-se ver no display todos os dados propostos
no projeto. Os testes foram realizados com o Kit Didático de Microcontroladores PIC
juntamente com o LCD utilizado.
4.3.2 Bibliotecas do PIC16F877
No início dessa biblioteca define-se o endereçamento da pinagem; esse valor
corresponde à quantidade de entradas e saídas que o PIC vai utilizar conforme a
funcionalidade necessária no projeto.
4.3.3 Comunicação I2C rotinas:
HMC6352_I2C_WRITE_ADDRESS e HMC6352_GET_DATA_COMMAN).
Faz a simulação, aplicando a contagem bit a bit em LSB ao MSB, pulsos de
subia e descida, retornando em int16 lsb ou int16 msb e decrementando 8 bits no
endereço 42(hex).
34
4.3.4 Leitura do sinal do potenciômetro do azimute
Esta rotina é uma função que lê o valor do ADC com um comando simples de
read_adc(). Depois foi inserido a equação com os dados previamente medidos para os
ângulos correspondentes, visando uma linearização do potenciômetro.
O programa em PIC do potenciômetro do azimute segue abaixo:
void Bussola()
{
int16 i = 0;
set_adc_channel(1); //setar canal analógico
delay_ms(10);
i = read_adc();
/* Calculo de ajuste da bússola. Relacao 1024 - 360º */
iCalcBussola[t] = (i*0.2134)+2.2652;
}
4.3.5 Leitura do sinal do potenciômetro da elevação (inclinação)
Esta rotina é uma função que lê o valor do ADC com um comando simples de
read_adc(). Depois foi inserido a equação com os dados previamente medidos para os
ângulos correspondentes, visando uma linearização do potenciômetro.
O programa em PIC do inclinômetro segue abaixo:
void fLerInclinometro()
{
int16 i = 0;
set_adc_channel(0); //setar canal analógico
delay_ms(10);
i = read_adc();
/* Calculo de ajuste do inclinometro. Relacao 1024 - 360º */
iCalcInclinometro[t] = (i*0.2134)+2.2652;
}
4.3.6 Função Main azimute
É a função considerada o corpo principal do programa, e nela possui algumas
rotinas como:
•
Instruções para limpar todos os pinos das portas necessárias;
35
•
Instruções para limpar os contadores parcial e total;
•
Instruções para configurar os registradores, nos quais existem as configurações
dos timer´s, das portas;
•
Realizar o controle de medição em graus, chamando as rotinas necessárias.
O teste com essa função foi realizada no momento em que os testes com as demais
rotinas envolvidas eram realizados.
4.4
PROTOCOLO DE TESTES
O protocolo de testes utilizado seguiu o seguinte procedimento:
4.5
•
Alimentar o circuito;
•
Identificar o endereçamento das portas do PIC;
•
Testar a interface serial I2C;
•
Testar a sinalização do protocolo I2C;
•
Testar os parâmetros de sinal bit a bit;
•
Monitorar os valores bit a bit MSB;
•
Monitorar os valores bit a bit LSB;
•
Certificar a interpretação do ângulo de acordo com o posicionamento.
CUSTOS DO PROJETO
4.5.1 Componentes e materiais
A Tabela 1 apresenta os valores dos componentes utilizados que correspondem
aos valores mínimos encontrados no mercado. Foi realizado um levantamento de preços
comparando-se os preços pela internet e por telefone.
Depois de realizada a pesquisa, verificou-se que os preços praticados nas lojas
locais eram praticamente os mesmos que nas demais, assim optou-se em adquiri-los em
lojas onde os preços mostraram-se mais baixos, dentre elas a Pares Eletrônica
Comercial e site pela internet através dos distribuidores da Analog Divices e do
mercado livre diretamente com vendedor.
36
Deve-se lembrar que os valores pesquisados são para aquisição de uma ou
poucas unidades de componentes. No caso de compra em larga escala os valores
decairiam consideravelmente.
TABELA 1 – CUSTO DOS COMPONENTES
COMPONENTE
VALOR
4.6
PIC 16F877
R$14,00
LCD 16X2
R$17,90
Componentes diversos
R$70,00
Placa Kit Teste
R$ 300,00
CUSTO TOTAL
R$ 401,70
LIMITAÇÕES DO PROJETO
Caso o usuário esqueça posicionar a bússola, sempre deverá zerar a leitura do
ângulo com relação ao norte para o bom funcionamento do circuito, o usuário deve
observar após o término da medição a contagem em graus e verificar o valor presente no
display.
4.7
DIFICULDADES ENCONTRADAS NA IMPLEMENTAÇÃO
As principais dificuldades encontradas foram:
•
Utilizar o gravador de PIC, pois as falhas eram constantes;
•
Interpretação do datasheet em relação a complexidade do componente;
•
Fazer a rotina de acordo para interpretação da leitura do ângulo para
identificar o posicionamento e a contagem em graus;
•
Implementação dos circuitos da bússola digital e do inclinômetro.
37
5
RESULTADOS
Um dos problemas encontrados foi que o inclinômetro (CI ADIS16) não
funcionou como esperado. Mesmo seguindo todos os passos do Datasheet, o
componente não funcionou. A solução encontrada foi utilizar um potenciômetro que,
devidamente linearizado, cumpriu o papel de inclinômetro, mesmo que com menor
precisão que o ADIS. Isso resolveu o problema da inclinação e deu continuidade ao
projeto.
Outro problema encontrado foi que a bússola (HMC) funcionou nas primeiras
apresentações das implementações, porém o mesmo parou de funcionar, sem sabermos
se o CI foi avariado. Devido aos prazos do TCC, não foi possível utilizar um
componente reserva, pois o mesmo é um SMD difícil de soldar e precisaria ser
executado por uma empresa especializada. Partimos então para o uso de um outro
potenciômetro para simular a bússola, com o requisito apenas de “zerar” o
potenciômetro na direção do Norte de uma bússola, para que o mesmo atende-se aos
requisitos do projeto de informar o azimute.
Feito isso foi possível adquirir os ângulos de inclinação e de azimute, para que
fossem calculados as variáveis necessárias para direção e velocidade do vento.
Nesse ponto encontramos mais uma dificuldade, os cálculos envolvidos. O
microcontrolador utilizado não suportou todos os cálculos envolvidos, dando estouro na
ROM do PIC. A saída encontrada para o problema foi realizar as medições e calcular
apenas duas variáveis envolvidas (X e Y), para que fossem mandados via serial para o
PC. O software utilizado leu esses dados enviados e organizou os dados para que
fossem gravados em um arquivo de EXCEL, onde assim pode ser finalizados os
cálculos envolvidos e mostrado a velocidade e direção do vento, nas varias camadas de
altitude do trajeto do balão, formando o relatório do vento no local medido a ser
utilizado por pilotos de balão de ar quente tripulado ou por medições meteorológicas.
38
6
CONSIDERAÇÕES FINAIS
O projeto visava, a partir da medição dos ângulos de inclinação e de azimute de
um balão de gás Hélio, calcular e mostrar as condições do vento nas camadas
superficiais. O resultado esperado era gerar um relatório contendo as altitudes e as
respectivas velocidades e direções do vento.
Com o transcorrer do projeto pudemos perceber as dificuldades encontradas por
quem desenvolve um produto eletrônico, bem como as limitações do microcontrolador
PIC para aplicações que envolvem processamento.
No caso deste projeto de TCC, acabamos por perceber que perdemos precisão
nas medições dos ângulos, uma vez que os componentes escolhidos tiveram que ser
substituídos por potenciômetros, o que gerou erros na ordem de 5 a 10%.
Outra fonte de erro foi o microcontrolador, que por possuir uma memória
limitada forçou-nos a diminuir a precisão dos cálculos para que o programa coube-se no
PIC.
Uma sugestão de melhoria do projeto seria utilizar os componentes previamente
escolhidos, aliados a um microcontrolador com mais memória para que o sistema fosse
mais preciso e com isso, mais eficiente, o que tornaria o projeto mais próximo de um
produto comercializável.
39
REFERÊNCIAS BIBLIOGRÁFICAS
BERRY, F.A., Handbook of Meteorology. New York – London: 1945 .et al
Federal Meteorological Handbook 3, 1997 Acesso em 30 Abril, 2009.
http://www.ofcm.gov/fmh3/text/default.htm
FREE 1602 Datasheet Apresenta conteúdo disponível em:
< http://www.datasheets.org.uk/>.Acesso em 01 maio, 2009.
GIMENEZ, Salvador Pinillos. Microcontroladores 8051. 1 ed. São Paulo: Person
Education do Brasil Ltda. 2002
JOHNSON, Gary L. Wind Energy Systems. Manhattan, KS, 2006
MURILLO, J. et al. Quality control of pilot balloon network data for climate
monitoring. CIMMS University of Oklahoma, [2005]. Disponível em:
<http://www.nssl.noaa.gov/projects/pacs/preprints/PREPRINTS/3MB_PDF_qualitycontrol.pdf>.
Acesso em 15 fevereiro, 2009.
Martin Brenner, Pilot Balloon Observation Theodolites,2003. Disponível em
http://www.pilotballoon.com/theodoli.htm. Acesso em: 18 maio 2009
MICROCHIP Technology Inc., USA. Apresenta conteúdo disponível em:
<http://www.microchip.com/>. Acesso em 15 abril, 2009.
NATIONAL Semiconductor Corporation, 2003 Apresenta conteúdo disponível em:
<http://www.national.com/>. Acesso em 15 maio, 2009
PEREIRA Fábio, Microcontroladores PIC. Técnicas Avançadas. São Paulo: Érica
2002.
SOUZA, David José de. Desbravando o PIC. São Paulo: Érica, 2000.
Download

1 universidade positivo carlos henrique alcântara g. dos santos