Вы находитесь на странице: 1из 40

UNIVERSIDADE FEDERAL DO ESPRITO SANTO CENTRO TECNOLGICO DEPARTAMENTO DE ENGENHARIA ELTRICA PROJETO DE GRADUAO

MEDIDOR DE DISTNCIAS E REAS USANDO MICROCONTROLADOR

MRCIO SCRATES SPERANDIO GONALVES

VITRIA ES AGOSTO/2005

MRCIO SCRATES SPERANDIO GONALVES

MEDIDOR DE DISTNCIAS E REAS USANDO MICROCONTROLADOR

Parte manuscrita do Projeto de Graduao do aluno Marcio Scrates Sperandio Gonalves, apresentado ao Departamento de Engenharia Eltrica do Centro Tecnolgico da Universidade Federal do Esprito Santo, para obteno do grau de Engenheiro Eletricista.

VITRIA ES AGOSTO/2005

MRCIO SCRATES SPERANDIO GONALVES

MEDIDOR DE DISTNCIAS E REAS USANDO MICROCONTROLADOR

COMISSO EXAMINADORA:

___________________________________ Prof. Dr. Paulo Faria Santos Amaral Orientador

___________________________________ Prof. Dr. Ailson Rosetti de Almeida. Examinador

___________________________________ Prof. Dr. Evandro Ottoni Teatini Salles. Examinador

Vitria - ES, 05, agosto, 2005

DEDICATRIA

Aos meus pais, Ferdinando e Lourdes.

AGRADECIMENTOS Agradeo a todos os professores do Departamento de Engenharia Eltrica da UFES, principalmente, ao Professor Paulo F. S. Amaral, que me orientou e me ajudou na montagem e desenvolvimento deste projeto. Aos colegas e funcionrios do Curso, que de alguma forma, contriburam para a realizao deste trabalho.

ii

LISTA DE FIGURAS Figura 1 Diagrama de blocos do medidor...................................................................9 Figura 2 Sensor: Encoder CP-350 [2] .......................................................................10 Figura 3 Sinal de Sada do Encoder [2] ....................................................................11 Figura 4 Diagrama de blocos do HCTL-2016 [3] ....................................................12 Figura 5 HCTL2016 [3] ............................................................................................12 Figura 6 Pinagem do PIC [1] ....................................................................................14 Figura 7 Esquema de acionamento do LCD .............................................................15 Figura 8 - LCD e botes ..............................................................................................16 Figura 9 Fonte Chaveada [4] ....................................................................................16 Figura 10 Eficincia X Corrente de sada [4] ...........................................................17 Figura 11 Potncia Dissipada X Corrente de sada [4] .............................................17 Figura 12 Diagrama do circuito ................................................................................18 Figura 13 Medidor de Distncia e reas ..................................................................19 Figura 14 Roda, eixo e engrenagens .........................................................................20 Figura 15 Placa com o Microcontrolador .................................................................20 Figura 16 Menu 1 ......................................................................................................23 Figura 17 Fluxograma para medir distncias............................................................24 Figura 18 Clculo de uma rea complexa.................................................................25 Figura 19 Fluxograma para clculo da rea ..............................................................25 Figura 20 - Medindo distncia .....................................................................................28

iii

LISTA DE TABELA Tabela 1 Memria do PIC [1] ...................................................................................15 Tabela 2 - Distncia percorrida em 3 voltas da roda ...................................................27 Tabela 3 - Valores de raio encontrados .......................................................................27 Tabela 4 Valores medidos ........................................................................................29

iv

SUMRIO DEDICATRIA........................................................................................................... I AGRADECIMENTOS .............................................................................................. II LISTA DE FIGURAS ............................................................................................... III LISTA DE TABELA ................................................................................................ IV SUMRIO ....................................................................................................................v RESUMO ..................................................................................................................VII 1 INTRODUO ................................................................................................8 1.1 Motivao............................................................................................................8 1.2 Definio do problema e desafios .......................................................................8 1.3 O Funcionamento ................................................................................................9 1.4 Estrutura do trabalho ...........................................................................................9 2 O HARDWARE ..............................................................................................10 2.1 Introduo .........................................................................................................10 2.2 Descrio do circuito ........................................................................................10 2.2.1 O sensor ...................................................................................................10 2.2.2 Tratamento do sinal ..............................................................................11 2.2.3 O microcontrolador ...............................................................................13 2.2.4 O display ou LCD .................................................................................15 2.2.5 Alimentao do circuito........................................................................16 2.3 Diagrama do circuito.........................................................................................18 2.4 Concluses ........................................................................................................18 3 A MONTAGEM .............................................................................................19 3.1 Introduo .........................................................................................................19 3.2 A roda, eixo e reduo ......................................................................................19 3.3 Placa de circuito impresso ................................................................................20 3.4 Concluses ........................................................................................................21 4 O SOFTWARE ...............................................................................................22 4.1 Introduo .........................................................................................................22 4.2 Funcionamento do programa ............................................................................22 v

4.2.1 Medio de distncias .............................................................................23 4.2.2 Clculo da rea ........................................................................................24 4.3 Concluses ........................................................................................................26 5 RESULTADOS ...............................................................................................27 5.1 Introduo .........................................................................................................27 5.2 Mtodo de calibrao ........................................................................................27 5.3 Medies de distncias .....................................................................................28 5.4 Clculo de reas ................................................................................................29 6 CONCLUSES ..............................................................................................30

REFERNCIAS BIBLIOGRFICAS.....................................................................31 APNDICE A CDIGO DO PROGRAMA ........................................................32

vi

RESUMO Neste trabalho apresenta-se a construo de um equipamento para medir distncias, e reas com a forma geomtrica de um retngulo. O projeto composto de um roda com um suporte, acoplada a um encoder CP350 que converte o sinal tico gerado com o movimento da roda, em um sinal eltrico, que ser enviado placa com um microcontrolador. Os pulsos adquiridos so contados e atravs de uma multiplicao, realizada pelo microcontrolador, da quantidade de pulsos contados pelo valor de distncia que um pulso representa, teremos as dimenses das distncias desejadas. Efetuadas 2 medidas de distncias, o microcontrolador capaz de calcular a rea, fazendo o produto de um comprimento vezes a largura e armazenar este resultado se assim for desejado para compor um resultado de uma rea mais complexa. A construo deste equipamento resultou em um produto de fcil manuseio, com alta preciso e confiabilidade.

vii

INTRODUO

1.1 Motivao Medies de distncias realizadas de forma manual, com auxlio de uma trena, normalmente uma operao cansativa e pouco precisa. A utilizao equipamentos que utilizam laser ou ultra-som tambm possui limitaes em relao distncia de alcance e a necessidade de uma superfcie refletora para funcionarem. Os conhecimentos adquiridos ao longo do curso de Engenharia Eltrica foram utilizados para o desenvolvimento de um medidor de distncias digital, que aplica conhecimentos de eletrnica, microcontroladores e linguagem de programao.

1.2 Definio do problema e desafios Um medidor de distncias digital deve ser um produto de baixo custo, porttil e de fcil manuseio, e ainda com uma boa preciso. Um equipamento de medio deste tipo, aparentemente pode parecer um problema simples de se resolver, porm no momento em que se comea a pensar na construo de uma soluo porttil, vivel e estvel, os desafios comeam a surgir. O primeiro desafio encontrado surgiu no momento de realizar a leitura do encoder e enviar o sinal para o microcontrolador, visto que a interferncia de rudos poderia gerar erros na leitura. Para resolver este problema, poderia ser implementada uma soluo via software que permitiria minimizar estes erros, porm o conhecimento de um chip adequado para realizar a interface do encoder com o microcontrolador, permitiu uma soluo mais rpida e confivel, sendo esta a escolhida. Outro problema foi o erro na medio devido posio inicial em que se inicia a medio e a posio final de chegada, que pode ocasionar um erro de at 2 cm, decorrente da inclinao do suporte do equipamento. Para resolver esta questo faz-se necessrio que a posio inicial da medio coincida com a inclinao no ponto final da medio.

9 1.3 O Funcionamento O sistema baseado em uma roda com um suporte para fixao do seu eixo, acoplada a um encoder que converter o sinal tico gerado com o movimento da roda, em um sinal eltrico, que ser enviado para a placa com o microcontrolador. Os pulsos adquiridos sero contados pelo HCTL e lidos pelo PIC, que efetuar uma multiplicao da quantidade de pulsos contados pelo valor de distncia que um pulso representa, apresentando as dimenses das distncias desejadas no display. O diagrama de blocos apresentado na figura 1.

Figura 1 Diagrama de blocos do medidor

1.4 Estrutura do trabalho Na primeira parte, abordamos o problema com uma viso mais ampla, mostrando de forma geral o funcionamento do medidor digital de distncias e reas, e os desafios que existiram na construo de um produto confivel e de fcil manuseio. Nos prximos captulos sero expostos detalhadamente os passos para a construo e o funcionamento do equipamento. No captulo 2 ser abordada a obteno do circuito eletrnico do medidor, no captulo 3, a montagem da roda com a reduo, o suporte para o encoder e da placa microcontrolada contendo o display. O captulo 4 apresenta o funcionamento do programa que o microcontrolador executa. No captulo 5, aparecem os resultados e no captulo 6 as concluses.

10

O HARDWARE

2.1 Introduo Aps a determinao dos problemas existentes, comea-se a pensar no funcionamento do circuito, que o foco deste captulo. Sero abordados os problemas e solues encontradas para a obteno do hardware do equipamento.

2.2 Descrio do circuito Para facilitar o entendimento do seu funcionamento, o captulo ser dividido em blocos distintos, na mesma linha de raciocnio que levou criao do projeto.

2.2.1 O sensor O circuito eletrnico necessita de um sensor para capturar a rotao do eixo da roda e assim medir a distncia percorrida. O sensor usado para capturar a rotao do eixo um encoder rotativo. O encoder um dispositivo tico que converte uma posio mecnica em um sinal eltrico, atravs de um disco moldado ou uma escala, uma fonte luminosa e elementos fotossensveis. Com uma interface eletrnica, posio e velocidade podem ser obtidas. Utilizou-se o encoder CP-350, da Computer Optical Encoder [2]. um dispositivo pequeno (40mm) e robusto, em que a fonte luminosa um nico diodo de silcio monoltico. O encoder visvel na figura 2.

Figura 2 Sensor: Encoder CP-350 [2]

O Encoder alimentado com uma tenso de 5V DC e drena uma corrente de 36 mA. O sinal de sada digital e incremental, possuindo 6 sinais em quadratura na sada: 2 canais (A e B), 1 ndice de canal e seus respectivos sinais invertidos.

11 O sinal de sada do encoder TTL (Transistor Transistor Logic), da srie 74LS04, isto , pode operar na faixa de temperatura 0C a +70C e apresenta boa velocidade e baixo consumo de corrente. Os circuitos integrados da famlia TTL se caracterizam por exigir uma tenso de alimentao de 5V. Para que a entrada reconhea o nvel lgico baixo, preciso que a tenso seja de 0 a 0,8V. Analogamente, uma entrada alta deve estender-se de 2 a 5V [3]. Este encoder apresenta 400 pulsos por volta por canal. Foi montada uma reduo entre o eixo da roda e o encoder, para aumentar a preciso do equipamento. A preciso obtida foi considerada excelente, visto que, a cada volta completa da roda, o encoder gira 60/14 vezes. Resultando em uma constante p, que utilizada no clculo da distncia.
p= 2. .14 = 0,0036652 60.400

Como mostrado na figura 3, o sinal em quadratura, ou seja, dois sinais com um deslocamento de 90 na fase, o arranjo mais comum para indicar a direo e taxa de rotao do sinal medido pelo sensor. Quando o deslocamento para uma direo o canal A fica adiantado em relao ao canal B e na direo oposta, o inverso.

Figura 3 Sinal de Sada do Encoder [2]

2.2.2 Tratamento do sinal Para realizar a interface entre o encoder e o microcontrolador, utilizou-se um decodificador de quadratura e contador, o HCTL-2016, da Agilent Technologies Inc. Este chip responsvel por decodificar os sinais do encoder de quadratura e manter um contador interno que representar a posio do encoder. Funciona com freqncia

12 de operao de at 14 MHz, tenso de alimentao de 5 V DC, decodifica at 4 sinais de entrada e possui alta imunidade ao rudo, sendo muito usado em aplicaes que requerem alta preciso e confiabilidade [3]. O HCTL-2016 possui um encapsulamento com 16 pinos e sua operao mostrada de forma simplificada no diagrama de blocos apresentado na figura 4. O filtro digital responsvel por filtrar o rudo que chega junto com o sinal em quadratura e garantir a integridade dos dados que vo para o decodificador. Este envia o sinal filtrado para um contador interno de 16 bits, porm a interface com o microcontrolador de 8 bits e o HCTL armazena em um latch o resultado que ser lido usando 2 leituras sucessivas de 8 bits. H uma mquina de estado interna que determina a ordem correta do byte de sada [3]. Os pinos do HCTL-2016 esto mostrados na figura 5.

Figura 4 Diagrama de blocos do HCTL-2016 [3]

Figura 5 HCTL2016 [3]

13 Existem 3 pinos no HCTL-2016 que so usados para controlar operaes de leitura: SEL, OE e CLK. SEL controla qual byte est sendo acessado, o OE permite o chip colocar dados no barramento do microcontrolador e na transio negativa do clock seja iniciada a transferncia dos dados. Existe tambm o sinal de RST, que usado para inicializar o HCTL-2016.

2.2.3 O microcontrolador O microcontrolador escolhido foi o PIC16F877-04P, da Microchip Technology Inc.[1], que incorpora no mesmo encapsulamento um microprocessador, memria de programa e dados e vrios perifricos como temporizadores, watchdog timer, comunicao serial, conversores analgico/digital, geradores de PWM, etc, fazendo com que o hardware final fique extremamente complexo. Entretanto, o medidor, utiliza somente o processador, memria de programa e dados para calcular a distncia percorrida pela roda, e exib-la no display. A arquitetura do microcontrolador RISC, o que permite um alto desempenho, alm de apresentar um mapa de registradores verstil e arquitetura de instrues em pipeline. Algumas caractersticas gerais do PIC so apresentadas a seguir: Apenas 35 palavras de instruo para aprender Todas instrues com um ciclo exceto para desvios que levam dois ciclos Velocidade de operao: DC at 20 MHz de clock Instrues com 14 bits de largura Barramento de dados de 8 bits 16 registradores de funes especiais de hardware Pilha com 8 nveis de profundidade Modos de endereamento direto, indireto e relativo para dados e instrues. Capacidade de interrupo Em relao aos perifricos, so destacadas as seguintes caractersticas:

14 33 pinos de I/O individualmente configurados Temporizador/Contador de 8 bits com 8 bits de pr-escala Power-On Reset (POR) Temporizador Watch-Dog (WDT) com oscilador prprio para operaes seguras Proteo de Cdigo Programvel Modo SLEEP para diminuio de consumo de energia. Opes de oscilador selecionvel: o RC oscilador RC de baixo custo o XT cristal padro o HS Cristal de alta velocidade o LP Cristal de baixa freqncia (reduo de consumo) Programao Serial in-circuit (atravs de dois pinos) 4 bytes de identificao (ID) programveis pelo usurio A pinagem do PIC est mostrada na figura 6.

Figura 6 Pinagem do PIC [1]

Na tabela 1 vemos a quantidade de memria disponvel no microcontrolador.

15
Tabela 1 Memria do PIC [1]

Program Memory Microcontrolador (14 bits-words) PIC16F877 8K

Data RAM (bytes) 368

Data EEPROM (bytes) 256

Max. Freq. (MHz) 20

2.2.4 O display ou LCD Para que os valores de distncias e rea medidos pudessem ser lidos pelo usurio, foi utilizado um LCD de 2 linhas e 16 caracteres, baseado no chip controlador HD 44780, um chip que praticamente um padro no segmento de mdulos LCD. Esses controladores permitem uma interface simples com o microcontrolador. Utilizou-se a comunicao no modo 4 bits, onde so usados apenas as 4 linhas mais significativas de dados (D7 a D4), dividindo o byte em 2 nibbles que so transferidos sempre iniciando pelo mais significativo seguido pelo menos significativo. So ligadas mais 3 linhas de sinalizao, Enable, RS, R/W e a alimentao de 5V.

Figura 7 Esquema de acionamento do LCD

16 Atravs do boto Luz, na interface do medidor, possvel ligar ou desligar a luz de fundo (background) do display, permitindo assim uma economia de 70 mA quando este estiver desligado.

Figura 8 - LCD e botes

2.2.5 Alimentao do circuito A alimentao do circuito deve atender a necessidade de tenso do microcontrolador e dos outros componentes presentes no equipamento. O PIC pode funcionar com uma faixa de tenso de 2V at 5.5V. Operando em 4 MHz, o microcontrolador apresenta um baixo consumo de corrente, cerca de 0.6 mA. Foi escolhida uma alimentao atravs de uma bateria Duracell de 9V e 565 mAh [5]. Utilizou-se um regulador de tenso, PT5101A Texas Instruments, para alimentar o circuito com 5V. Os mdulos PT5100 so fontes chaveadas que utilizam circuito integrado (ISR - Integrated Switching Regulators) fceis de usar e compatveis com a maioria dos TO-220, estilo regulador linear [4].

Figura 9 Fonte Chaveada [4]

17 O uso deste componente apresentou benefcios em relao eficincia e dissipao de potncia e mostrou uma tima preciso na tenso de sada e na regulao da corrente na carga. Para o circuito apresentado, a eficincia da fonte chaveada de +/- 80%, o que proporciona uma maior autonomia ao equipamento com a utilizao da bateria de 9V.

Figura 10 Eficincia X Corrente de sada [4]

Figura 11 Potncia Dissipada X Corrente de sada [4]

18 2.3 Diagrama do circuito O diagrama do circuito eletrnico do medidor mostrado na figura 11.

Figura 12 Diagrama do circuito

O circuito composto de um oscilador 4430008 da NDK, alimentado em 5 V, capaz de gerar clocks de 4 MHz para o microcontrolador PIC e para o HCTL-2016.

2.4 Concluses Neste captulo apresentou-se a interligao dos componentes que formam o hardware do medidor. A elaborao de um circuito eletrnico requer experincia para fazer a unio perfeita entre todos os componentes.

19

A MONTAGEM

3.1 Introduo Aps a elaborao do circuito, foi projetada uma estrutura onde todos os dispositivos foram acomodados. Alguns cuidados com a calibrao da roda e uma boa fixao do encoder devem ser tomados.

3.2 A roda, eixo e reduo A praticidade quanto ao tamanho da roda em relao ao manuseio e a facilidade de se encontrar no mercado foram os critrios importantes que conduziram a escolha da roda. Utilizou-se uma roda de bicicleta. A calibrao da roda foi realizada colocando 20 lb/pol2 de presso em sua cmara de ar. Um garfo de bicicleta foi utilizado para prender a roda e guiar at o suporte onde est localizada a placa do circuito, juntamente com o display. Um apoio manual possibilita uma total praticidade e comodidade para o mesmo efetuar suas medidas.

Figura 13 Medidor de Distncia e reas

20 Junto ao eixo da roda, foi instalada uma engrenagem de 60 dentes que atravs de uma correia dentada, transmite o movimento da roda a outra engrenagem de 14 dentes, ligada ao encoder, posicionado em um suporte especfico, tambm instalado no eixo da roda. A utilizao desta reduo por engrenagens proporciona um aumento na preciso do equipamento e facilita o acoplamento do encoder com a roda.

Figura 14 Roda, eixo e engrenagens

3.3 Placa de circuito impresso Responsvel pela acomodao do microcontrolador, o display e os botes que fazem a interface com o usurio, a localizao da placa foi crucial para um timo desempenho do produto. Um cabo realiza a ligao entre a placa e o encoder, garantindo o funcionamento do equipamento.

Figura 15 Placa com o Microcontrolador

21 Na parte inferior da placa est localizada a bateria e a fonte chaveada para a alimentao do circuito.

3.4 Concluses muito importante que um prottipo seja construdo para visualizarmos as possveis melhorias em um equipamento. A montagem desta estrutura resultou em uma boa preciso na medida efetuada mostrando-se bastante satisfatria, atingindo o objetivo proposto. A roda utilizada tem a necessidade de estar bem calibrada, para no gerar erro na medida. A grande vantagem de ter sido usada esta roda que se pode trabalhar nas mais diversas superfcies, desde asfaltos at terrenos pedregosos. A incluso de um suporte para possibilitar que o medidor permanea na posio vertical poder auxiliar em seu manuseio.

22

O SOFTWARE

4.1 Introduo O microcontrolador deve ser programado com uma seqncia de comandos para que o medidor funcione corretamente. Sero abordadas neste captulo a lgica de programao e a tcnica utilizada para o mesmo.

4.2 Funcionamento do programa Com base no manual do PIC e o manual de referncia C [6], foi possvel programar a memria Flash utilizando a linguagem de programao C, que se mostrou muito eficaz. Para transferir o programa para a memria do microcontrolador foi utilizado o gravador PICSTART PLUS, que funciona acoplado a um computador PC via cabo serial padro RS232 em ambiente Windows atravs do software MPLAB-IDE na verso 5.00. No programa existem duas funes especficas do HCTL-2016, a zera_hctl( ) e le_hctl( ) . A funo zera_hctl( ) responsvel por colocar o Reset do HCTL em 1 e zerar o contedo do buffer de sada. A outra funo, o l_hctl( ) responsvel pelo controle de leitura do sinal proveniente do encoder. Os 2 pinos no HCL-2016 que so controlados por esta funo so o SEL e OE. Primeiramente faz-se SEL = 0, pois ele responsvel por controlar qual byte est sendo acessado, para acessar o high byte, logo aps colocamos SEL = 1 para ler o low byte. Em seguida o OE = 1 permite o chip colocar dados no barramento e na transio negativa do clock seja iniciada a transferncia dos dados e reiniciar o ciclo de leitura. O programa possui 2 Menus, sendo o primeiro para a realizao das medies de distncias e o segundo para o clculo da rea, armazenamento de reas medidas e para ligar ou desligar a luz do display.

23 4.2.1 Medio de distncias O programa responsvel por monitorar o sensor que incrementa a varivel pulsos. O microcontrolador realiza o clculo da distncia atravs dos pulsos contados, vezes uma constante p e o raio (r). O PIC tambm responsvel por mostrar o resultado no display, atravs do driver lcd.c. Ele analisa se a distncia menor que 1000 e mostra o valor em milmetros (mm), caso o valor medido seja maior ele converte para metros (m).

Figura 16 Menu 1

Ao pressionar o boto On/Off, quatro opes so mostradas no menu 1: o Ini Quando estiver posicionado, aperte esta tecla para comear a medir. o Fim Quando chegar ao ponto desejado, este boto finaliza a medio. o R+ Este boto soma o valor medido com 2 vezes o raio da roda para a medida linear total, deve ser usado para medies que vo de uma parede a outra. o > Este boto avana ao Menu 2, referente ao clculo da rea.

24 Na figura 17 verifica-se o fluxograma do programa para medir distncia.

Figura 17 Fluxograma para medir distncias

4.2.2 Clculo da rea Aps ter realizado as 2 medidas referentes a largura e o comprimento de uma determinada rea, avana-se o menu pressionando o boto >, e seleciona-se a opo Area". Aparecer no display o resultado da rea calculado. Este resultado poder ser armazenado, apertando o boto A+, ideal para se obter o resultado de uma rea formada por diversos retngulos. possvel, subtrair uma determinada rea, fazendo uma das 2 medies de distncias negativa, ou seja, girando a roda no sentido contrrio ao sentido em que foi realizada a primeira medida. A figura 18 mostra um exemplo de clculo de rea usando este recurso, mede-se as dimenses de largura e comprimento do retngulo completo (10 m x 6 m), calculase a rea e armazena-se o resultado, em seguida medem-se as dimenses da rea que dever ser subtrada (-5 m x 3 m). Observe que uma das medidas deve ser feita

25 girando-se a roda do medidor no sentido em que a distncia mostrada no display aparea com sinal de menos (ex.: -5 ). Calcula-se a rea e em seguida pressiona-se A+ para obter o valor real da rea da figura 18.
10 metros

6 m 3 m 5 metros Figura 18 Clculo de uma rea complexa

Observa-se o fluxograma do programa para o clculo da rea na figura 15.

Figura 19 Fluxograma para clculo da rea

26 4.3 Concluses A lgica de programao do medidor no foi complicada, visto que, so realizadas operaes simples. O bom entendimento da linguagem de programao C para PIC, usando o compilador PCW, permitiu superar os desafios que surgiram ao longo da elaborao do software.

27

RESULTADOS

5.1 Introduo Nesse captulo sero mostrados alguns resultados obtidos com o medidor desenvolvido e o mtodo de calibrao do equipamento.

5.2 Mtodo de calibrao A calibrao do equipamento muito importante para determinar o valor exato do raio da roda, que um fator que est diretamente relacionado com a confiabilidade das medidas efetuadas. Aps encher o pneu da roda com exatamente 20 lb/pol, mediu-se, com uma trena, a distncia percorrida pela roda em trs voltas completas.
Tabela 2 - Distncia percorrida em 3 voltas da roda

Distncia medida (mm) Pneu-(lb/pol) 20 Vazio M-1 3.705 3.670 M-2 3.710 3.678 M-3 3.705 3.671

Com estas distncias medidas, calculou-se o raio da roda utilizando a equao do permetro de uma circunferncia (permetro = 2..r). Nos clculos, foi considerado o valor de sendo 3,14159265359.
Tabela 3 - Valores de raio encontrados

Raio da roda (mm) Pneu-(lb/pol) 20 Vazio R-1 R-2 R-3 196,56 196,82 196,56 194,70 195,12 194,75

A variao do raio entre o pneu cheio e vazio de aproximadamente 1,8 mm, o que ocasiona um acrscimo na medida, pois o software est programado para um valor de raio fixo e se o valor real do raio estiver menor, a quantidade de pulsos gerada pelo encoder em virtude do movimento da roda ser maior, resultando em uma medida

28 mostrada no display maior do que a realidade. Da verifica-se a importncia de calibrarmos o pneu antes de se efetuar medies com o medidor digital. O valor escolhido com sendo o raio da roda foi r = 196,56 mm. Verificou-se com este valor de raio medies com desvios muito pequenos como mostrados na tabela 4.

5.3 Medies de distncias A figura 20 mostra uma pessoa efetuando uma medida de distncia.

Figura 20 - Medindo distncia

Na tabela 4 so mostrados alguns resultados de medidas realizadas com o medidor digital de distncias e uma trena de 50 metros. Verificaram-se desvios muito pequenos das medies realizadas com a trena e com o medidor construdo.

29
Tabela 4 Valores medidos

Medidor (m) Local Largura do Lab. Micro Comprimento do Lab. Micro Largura do LCEE Comprimento do LCEE Corredor superior do CT 02 Largura do corredor do CT 02 Passarela em frente ao CT 02 Passarela do CT 02 ao CT 03 Passarela em frente Petrobrs Trena (m) 6,47 8,73 7,05 8,74 44,21 2,95 25,41 90,15 39,01 M-1 6,46 8,74 7,04 8,73 44,18 2,95 25,40 90,10 39,00 M-2 6,47 8,73 7,05 8,73 44,17 2,95 25,41 90,08 38,99

Desvio (%) D-1 0,15 -0,11 0,14 0,11 0,07 0,00 0,04 0,06 0,03 D-2 0,00 0,00 0,00 0,11 0,09 0,00 0,00 0,08 0,05

Os resultados obtidos com o medidor digital, em sua maioria, ficaram em torno de 1 cm abaixo da medida realizada com a trena. A justificativa para esta diferena, provavelmente se deva ao erro ocasionado na medida pela trena, devido dificuldade em mant-la plenamente esticada em longas distncias. Para os desvios em que a distncia lida atravs do medidor digital seja maior que a medida pela trena, pode ser justificada pela dificuldade em seguir uma linha reta no momento em que se est andando com o medidor. A inexatido da medida tambm pode ser decorrente da diferena na inclinao do suporte do medidor entre o instante inicial e final da medida. Esta diferena de posio pode ocasionar um erro de +/- 2 cm. O erro ocasionado pela diferena na inclinao do suporte pode ser eliminado com a instalao de uma chave tica, que garantiria a mesma inclinao inicial e final.

5.4 Clculo de reas Ao avaliar o resultado da rea, constatou-se que os resultados obtidos foram exatos, pois o microcontrolador realiza precisamente a multiplicao das dimenses medidas, consideradas lados do retngulo. Para exemplificar, a rea obtida para o laboratrio de microprocessadores foi de 56,40 m, quando medimos as dimenses de 6,46 m x 8,73 m.

30

CONCLUSES
Neste trabalho foi apresentada uma descrio de montagem e funcionamento de

um medidor digital de distncias e reas usando um microcontrolador. O PIC16F877 se mostrou uma soluo atraente, por se tratar de um microcontrolador bastante conhecido, o que facilitou sua programao e interface com outros dispositivos como o HCTL e o HD-44780. A disponibilidade de informaes ao seu respeito em livros e na Internet facilitou muito os estudos de seu funcionamento e programao. A realizao deste projeto de graduao proporcionou uma oportunidade muito boa para criao de um produto prtico e til, que atenda as expectativas do usurio. A preciso alcanada; em virtude do sensor utilizado que permitiu uma resoluo 0,72 mm; superou as expectativas em possveis aplicaes topogrficas e outras medies que no requeiram precises acima de 1 cm, como terrenos, campos de futebol, estacionamentos etc. Em relao preciso do raio da roda, observou-se a necessidade de se trabalhar com o pneu calibrado em 20 lb/in, pois a diferena entre os raios com o pneu cheio e vazio de cerca de 1%, o que pode gerar diferenas em torno de 10 mm por volta entre medida real e a mostrada no display. Observou-se a vantagem de ter sido usada esta roda especfica, que apesar da necessidade de uma boa calibrao, pode-se trabalhar nas mais diversas superfcies, desde asfaltos at terrenos pedregosos. No entanto, para superfcies lisas e asfaltadas, uma roda rgida, que desprezasse a calibrao do pneu, certamente se tornaria mais prtica. O equipamento apresentou resultados muito bons. Os desvios foram menor que 0,15% implicando em uma preciso de 99,85% (15 cm / 100 m). No se observou limite de velocidade de medio e o medidor tem a capacidade de exibir at 99.999,99 m (7 dgitos). O sistema permite que uma nica pessoa mea distncias lineares e faa o levantamento de reas com velocidade, preciso e conforto.

31 REFERNCIAS BIBLIOGRFICAS [1] MICROCHIP. PIC16F87X Data Sheet Microcontrollers [on line] 2001. Disponvel: http://www.microchip.com/downloads/en/DeviceDoc/30292c.pdf [capturado em 28/03/2005]. [2] Computer Optical Products, Inc.. CP-300 Series Housed Encoders [on line] 2000. Disponvel: http://www.opticalencoder.com/summaries/cp-300_summary.html [capturado em 28/03/2005]. [3] Agilent Technologies, Inc.. Quadrature Decoder/Counter Interface ICs Technical Data [on line] 1999. Disponvel: http://www.chipdocs.com/datasheets/ datasheet-pdf/HP/HCTL-2000.html [capturado em 25/04/2005]. [4] TEXAS INSTRUMENTS. A Positive Step-down Integrated Switching Regulator [on line] 2001. Disponvel: http://www.ti.com/productcontent [capturado em 18/05/2005]. [5] DURACELL . Procell Alkaline Batteries [on line] 2005. Disponvel: http://www.mouser.com/catalog/622/1422.pdf [capturado em 01/06/05]. [6] C Compiler Reference Manual [on line] 2005. Disponvel: http://www.ccsinfo.com/picc [capturado em 11/02/2005]. [7] SOUZA, D. J. Desbravando o PIC. 8 ed. So Paulo: rica, 2003. [8] PEREIRA, F. Microcontroladores PIC: Programao em C. 3 ed. So Paulo: RICA, 2003.

32 APNDICE A CDIGO DO PROGRAMA


/******************************************************************* *UNIVERSIDADEFEDERALDOESPIRITOSANTO* ** *MEDIDORDIGITALDEDISTANCIAS* ** *EAREASUSANDOMICROCONTROLADOR* ** *PIC16F87704/P,LCDHD44780,CP350,HCTL2016* ** *ORIENTADOR:PROF.DR.PAULOFARIASANTOSAMARAL* *ALUNO:MARCIOSOCRATESSPERANDIOGONCALVES* *******************************************************************/ #devicePIC16F877 #fusesHS,NOWDT,NOPROTECT,PUT,BROWNOUT,NOLVP,NOCPD,NOWRT #include"c:\marcio\medidor\medidor.h" #include"c:\marcio\medidor\lcd.c" #definer196.56//raiodarodaemmmcom20lb/in^2 #definep0.0036652//(2*3.141592654)/((60/14)*400) signedlongintult_hctl=0; signedint32pulsos=0; signedinti=0; floatd[4]={0,0,0,0}; booleanmede,area,next,luz,raio=0; //**********************************************************************// voiddebounce()//debounce:leocontatonobotaoumaunicavez { } //**********************************************************************// //FunesdoHCTL2016em4MHZ// //**********************************************************************// voidzera_hctl() { //colocaoedohctl2016em1 if(port_D!=0xFF) { delay_ms(200); while(port_D!=0xFF); delay_ms(200);}

33
output_high(PIN_C1); //colocaSELdohctl2016em0 output_low(PIN_C0);

//colocaResetdohctl2016em1 output_high(PIN_C2); output_low(PIN_C2); delay_us(1);

output_high(PIN_C2); } signedlongintle_hctl() { signedlongintvalor,incremento; //parainibiratualizaoSEL=0eOE=0pormaisde1tclk output_low(PIN_C1); //SELjzero,colocaOEem0 delay_us(2); ult_hctl=0;

//portdtemohighbyte } //**********************************************************************// main()//programaprincipal { disable_interrupts(GLOBAL); setup_counters(RTCC_INTERNAL,RTCC_DIV_2);//Timer0comclockinterno valor=port_D; output_high(PIN_C0); //SEL=1lowbyte delay_us(1); valor=(valor<<8)+port_D; output_high(PIN_C1); //voltaOEpara1 delay_us(1); output_low(PIN_C0); //voltaSELpara0 incremento=valorult_hctl; ult_hctl=valor; return(incremento);

//Prescalerligadoaotimer0edividindopor2 option_reg=option_reg&0xbf; setup_port_a(RA0_RA1_RA3_ANALOG); setup_adc(ADC_CLOCK_INTERNAL); setup_timer_1(T1_INTERNAL|T1_DIV_BY_8);//Configuraotimer1com

//clockinternoeprescalerdotimer1dividindopor8 lcd_init(); zera_hctl(); set_timer1(3036);

34
disable_interrupts(GLOBAL); printf(lcd_putc,"\ProjetoGrad."); printf(lcd_putc,"\nMedidorDigital"); delay_ms(2000); while(true) { if(mede){ lcd_gotoxy(1,1); pulsos=pulsos(signedint32)le_hctl(); if(raio==1) d[i]=((float)(pulsos)*r*p)+2*r;else d[i]=((float)(pulsos)*r*p); if((d[i]>1000)||(d[i]<1000)) printf(lcd_putc,"D%d=%7.2fm",i,d[i]/1000);else printf(lcd_putc,"D%d=%7.2fmm",i,d[i]); } if(area){ lcd_gotoxy(1,1); d[0]=d[1]*d[2]; if((d[0]>1000000)||(d[0]<1000000)) printf(lcd_putc,"A=%7.2fm^2",d[0]/1000000);else printf(lcd_putc,"A=%7.2fmm^2",d[0]);} if(next==0) {printf(lcd_putc,"\nIniFimR+>"); switch(input_D()){ case0xFE:{ mede=1;//mededistancia pulsos=0; area=0; raio=0; if(i<2)i=i+1;elsei=1; zera_hctl(); debounce();

break; } case0xFD: { mede=0;

35
area=0; debounce();

break; } case0xBF: { area=0;//somaraio mede=1; raio=1; debounce(); break; } case0x7F: { lcd_limpa(1);//reset lcd_gotoxy(1,1); pulsos=0; mede=0;area=0; i=0;next=1; raio=0; debounce();

break; } }//switch }//if if(next==1) {printf(lcd_putc,"\n<AreaA+Luz"); switch(input_D()){ case0xFE: { lcd_limpa(1);//reset

lcd_gotoxy(1,1); pulsos=0; mede=0;area=0; i=0;next=0; debounce();

break; } case0xFD: {

36
area=1; break; } case0xBF: { area=0; lcd_gotoxy(1,1); printf(lcd_putc,"ArmazedoArea"); delay_ms(1500); lcd_limpa(1); lcd_gotoxy(1,1); d[3]=d[3]+d[0]; printf(lcd_putc,"A=%7.2fm^2",d[3]/1000000); debounce(); break; } case0x7F: { if(luz==1)luz=0;elseluz=1; if(luz)output_high(PIN_C4);elseoutput_low(PIN_C4); debounce(); break; } }//switch }//if }//while }//main

37

Вам также может понравиться