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.