Beruflich Dokumente
Kultur Dokumente
Professor: Danilo Carlos Rossetto Minhoni Nome Bruno Rodrigues dos Santos Vinicius Brunelli Vallim Willian Luan Bonfanti
Sumrio
LISTA DE FIGURAS ......................................................................................... 3 LISTA DE SIGLAS ............................................................................................ 4 LISTA DE TABELAS ......................................................................................... 6 1. INTRODUO ........................................................................................... 7 1.1. 1.2. 1.3. 1.4. 1.5. 2. 3. 4. 5. 6. Sistema Geral de Medio ................................................................... 7 Sistema de Medio de Presso .......................................................... 8 Sensores utilizados na medio de presso ...................................... 11 Transdutor de presso piezoeltrico .................................................. 11 Conversor Analgico/Digital (A/D) ...................................................... 12
PROPOSTA DO PROJETO...................................................................... 14 DESCRITIVO DO PROJETO.................................................................... 15 DIAGRAMA DE BLOCO ........................................................................... 17 ESQUEMTICO DO CIRCUITO ............................................................... 18 MATERIAIS E MTODOS ........................................................................ 19 6.1 Materiais ................................................................................................ 19 6.2 Mtodos ................................................................................................. 19 6.2.1 1 ETAPA SIMULAES EM SOFTWARE ............................. 20
6.2.1.1 Esquema sensor - conversor A/D ........................................................................20 6.2.1.2 Esquema micro 8051 LCD ................................................................................22 6.2.1.3 Converso da presso.........................................................................................23
6.2.2
6.2.2.1 Circuito de teste com LEDs ................................................................................26 6.2.2.2 Curva Bits x Presso Real ....................................................................................29
7.
RESULTADOS ......................................................................................... 32
8. 9.
LISTA DE FIGURAS
Figura 1: Esquema geral de um sistema de medio genrico. ....................................................7 Figura 2: Escala de presso...........................................................................................................9 Figura 3: Principais unidades de converso de presso. ............................................................10 Figura 4: Transdutor de presso piezoeltrico. ..........................................................................12 Figura 5: Sensor de presso piezoeltrico. .................................................................................12 Figura 6: Interface entre conversor A/D e microprocessador. ...................................................13 Figura 7: Esquemtico do circuito. .............................................................................................17 Figura 8: Layout do circuito no PROTEUS v7.7 SP2. ....................................................................18 Figura 9: Esquema de ligao do sensor e do conversor A/D. ....................................................20 Figura 10: Grfico Tenso de sada x Presso de entrada. .........................................................21 Figura 11: Esquema de ligao micro 8051 e LCD. .....................................................................23 Figura 12: Tenso mnima e mxima de operao do sensor. ....................................................24 Figura 13: Grfico Vsada_sensor x Presso ...............................................................................25 Figura 14: Grfico do nmero de Presso x Bits. ........................................................................25 Figura 15: Circuito de teste do ADC0804. ...................................................................................27 Figura 16: Circuito de teste. .......................................................................................................29 Figura 17: Grfico Presso Real x BITS. .......................................................................................30 Figura 18: Presso de 12KPa. .....................................................................................................32 Figura 19: Presso de 40 KPa......................................................................................................33 Figura 20: Presso de 93 KPa......................................................................................................34 Figura 21: Presso de 200 KPa....................................................................................................35 Figura 22: Medies finais. .........................................................................................................36 Figura 23: Unidades de medio. ...............................................................................................36 Figura 24: Circuito completo implementado. .............................................................................37
LISTA DE SIGLAS
LCD Liquid Cristal Display LED Diodo Emissor de Luz ABS Presso Absoluta A/D Conversor Analgico Digital /WR Pino de escrita do A/D /INTR Pino de verificao do estado da converso /CS Pino do A/D /RD Pino de leitura do A/D MPX5700GP Modelo do sensor piezoresistivo utilizado KPa Unidade de presso [N/m2] atm Unidade de presso (atmosferas) mmHg Unidade de presso (milmetros de Mercrio) PSI Unidade de presso V Unidade de tenso ADC 0804 Modelo do A/D utilizado Vin+ - Pino de entrada do A/D para a tenso mensurada C Linguagem de Programao AT89C51RD2 Famlia de processadores 8051 AT89C51ED2 Famlia de processadores 8051 P1_4_bit Pino 1.4 do Microcontrolador 8051 P1_5_bit Pino 1.5 do Microcontrolador 8051 P1_6_bit Pino 1.6 do Microcontrolador 8051 P1_7_bit Pino 1.7 do Microcontrolador 8051 P3_6_bit - Pino 3.6 do Microcontrolador 8051 P3_7_bit - Pino 3.7 do Microcontrolador 8051 P2_4_bit - Pino 2.4 do Microcontrolador 8051
P2_5_bit - Pino 2.5 do Microcontrolador 8051 P2_6_bit - Pino 2.6 do Microcontrolador 8051 P2_7_bit - Pino 2.7 do Microcontrolador 8051 sbit Set bit LCD_RS Pino do registrador de seleo do sinal Alto (High) / Baixo (Low) LCD_EN Pino do registrador de Habilito do Sinal LCD_D4 Pino de dados do LCD LCD_D5 Pino de dados do LCD LCD_D6 Pino de dados do LCD LCD_D7 Pino de dados do LCD
LISTA DE TABELAS
Tabela 1: Resumo dos dados para o clculo da converso. Tabela 2: Valores binrios reais. Tabela 3: Clculo do erro.
1. INTRODUO
1.1. Sistema Geral de Medio
Um sistema de medio uma ferramente, que atravs da leitura de uma varivel fsica (grandeza fsica), capaz de expressar a magnitude daquela grandeza, podendo armazen-la (memria) e/ou apresent-la (e.x.: LCD (Liquid Cristal Display)). Um padro geral para um sistema de medio est ilustrado na Figura 1. Basicamente, um sistema de medio consiste em quatro estgios: Estgio do sensor-transdutor; Estgio de condicionamento de sinal; Estgio de sada; Estgio de controle e realimentao.
Figura 1: Esquema geral de um sistema de medio genrico. Fonte: Livro Teoria e Projeto para Medies Mecnicas .
No estgio do sensor-transdutor, o sensor o responsvel por captar a varivel que est sendo medida, no caso, ele sensvel sua magnitude. J o
7
transdutor converte essa informao em um sinal (mecnico ou eltrico, por exemplo). Por exemplo, o lquido contido no interior de um bulbo no termmetro de bulbo troca energia com a sua vizinhana at que os dois estejam em equilbrio trmico. Nesse ponto, lquido e vizinhana esto mesma temperatura. Essa troca de energia o sinal de entrada para esse sistema de medio. O fenmeno da expanso trmica do lquido resulta em seu deslocamento para cima e para baixo na haste, que nesse caso o sinal de sada a partir do qual determinamos a temperatura. O lquido no bulbo age como sensor. Forando o lquido em expanso em um tubo capilar estreito, esse sistema de medio transforma uma informao trmica em um deslocamente mecnico. Deste modo, o tubo capilar interno age como transdutor. O estgio de condicionamento de sinal recebe o sinal do transdutor e pode, se necessrio, modificar a sua magnitude. Por exemplo, a relao entre o dimetro do tubo capilar de um termmetro e o volume do bulbo determina quanto o lquido subir na haste com o aumento da temperatura. Ele condiciona o sinal por meio da amplificao do deslocamento do lquido. Tambm pode remover parte do sinal indesejada, como rudos. O estgio de sada indica ou registra o valor medido. Este pode ser um simples mostrador de sada, uma escala graduada ou mesmo um dispositivo de registro, como a unidade de um computador. Nos sistemas de medio envolvidos no controle de um processo, um quarto estgio, o estgio de controle da realimentao, contm um controlador que interpreta o sinal medido de uma deciso referente ao controle do processo. Essa deciso resulta num sinal que modifica o parmetro do processo que afeta a magnitude da varivel captada.
A Figura 2 representa uma escala de presso manomtrica. Podemos ver que existem trs classificaes para a presso: manomtrica, absoluta e diferencial (ou relativa). De forma geral, a diferena bsica entre elas a referncia com a qual elas trabalham.
Figura 2: Escala de presso. Fonte: Livro Teoria e Projeto para Medies Mecnicas.
A definio desses trs tipos de presso pode ser vista a seguir: Presso absoluta: essa presso obtida em relao ao vcuo total, ou seja, a referncia o zero absoluto. comum encontrar a notao ABS, indicando que se trata da presso absoluta (e.x.: PABS). Presso diferencial: essa presso toma como referncia uma outra presso diferente de zero. O seu uso comum quando deseja-se, por exemplo, tomar a diferena de presso entre dois tanques desnivelados. Presso manomtrica (Gauge): essa a presso tomada com referncia a presso atmosfrica. Em outras palavras, ela a
9
diferena entre a presso absoluta (componente a ser medido) do local e a presso atmosfrica. Veja que ela no deixa de ser uma presso diferencial, porm, recebeu esse nome para
intrinsicamente que a presso de referncia a presso atmosfrica, a qual sabemos o valor. A Figura 3 traz as principais unidades de converso de presso.
10
Esse trabalho utilizar um transdutor do tipo piezoeltrico. A descrio do funcionamento do mesmo segue a diante.
11
Figura 4: Transdutor de presso piezoeltrico. Fonte: Livro Teoria e Projeto para Medies Mecnicas.
Figura 5: Sensor de presso piezoeltrico. Fonte: Livro Teoria e Projeto para Medies Mecnicas.
12
Vale fazer um paralelo entre o funcionamento do conversor A/D e a forma de controle do mesmo. Como ele converte os dados para um sinal discreto, o funcionamento dele no contnuo, mas sim em intervalos de tempo prdefinidos. Por esse motivo que, como veremos mais frente, necessrio controlar o intervalo de tempo em que o conversor A/D faz a leitura do sinal analgico e o intervalo de tempo em que ele envia os dados coletados adiante. A Figura 6a ilustra a interface entre um conversor A/D e um microprocessador. Na Figura 6b podemos ver o esquema de ligao necessrio para controlar o disparo para a leitura e o envio de dados pelo conversor A/D atravs de uma chave, que controla o momento em que so enviados os pulsos para as portas /WR e /INTR.
13
2. PROPOSTA DO PROJETO
Construir o prottipo de um manmetro digital utilizando o Kit 8051 Study (8051LS V3.0) e um transdutor de presso modelo MPX5700GP. Havero 4 botes que permitiro a escolha da unidade em que a presso ser exibida (KPa, atm, mmHg, PSI). No haver preciso decimal no projeto.
14
3. DESCRITIVO DO PROJETO
O sensor de presso escolhido para o projeto, MPX5700GP, um transdutor piezoeltrico projetado para vrias aplicaes. Esse sensor possui uma sada do tipo analgica. O sensor MPX5700GP ser conectado sada pneumtica do sistema do qual deseja-se medir a presso. A sua sada varia de 0 a 5V. Esse sinal ser convertido pelo conversor A/D em valores binrios, pois o micro 8051 reconhece apenas valores binrios. Dessa forma, ser necessrio o uso de um conversor A/D para que a entrada analgica decimal (sensor) possa ser convertida para binrio (micro 8051). O conversor A/D que ser utilizado nesse trabalho o modelo ADC0804. Aps o micro 8051 receber os dados (binrios) do conversor A/D, ser feita a converso dos dados de binrio para decimal para que seja feita a converso e o respectivo clculo da presso. Mais frente ser descrito o procedimento de converso do valor recebido pelo micro 8051 em presso (KPa, bar, PSI, mmHg). importante observar que o controle da leitura e envio de dados do conversor A/D ser realizado pelo micro 8051, assim como a converso dos dados recebidos no valor da presso propriamente dita. O cdigo em linguagem C do projeto ser apresentado posteriormente. O software utilizado para a programao ser o MikroC Pro for 8051 v3.5.0. O projeto foi dividido, basicamente, em duas etapas: 1 Etapa: desenvolvimento do projeto no software PROTEUS v7.7 SP2 para anlise e simulao do prottipo. 2 Etapa: desenvolvimento do projeto fsico, no protoboard, utilizando o kit 8051. Uma observao importante a se fazer de que no software PROTEUS V7.7 SP2 no h o modelo de sensor utilizado nesse projeto, no caso, h
15
apenas o modelo MPX4250. Por isso, a faixa de presso lida no PROTEUS V7.7 SP2 ser de 0 a 250KPa. No entanto, isso no gera nenhum problema na construo do projeto, pois a nica coisa que mudar ser o cdigo de converso da presso (linguagem C).
16
4. DIAGRAMA DE BLOCO
A Figura 7 traz o fluxograma de funcionamento do manmetro digital do projeto. Veja que no h um ciclo envolvendo o sensor, pois no existe um sistema de controle sobre o processo. Basicamente, o sensor ser responsvel por realizar a medio da presso. Essa medio gerar um sinal que ser enviado para o conversor A/D. O conversor A/D realizar a converso do sinal que chega at ele para um valor binrio que posteriormente ser enviado para o micro 8051. O micro 8051 ser responsvel pelo controle do conversor A/D (momento de converso e momento de envio de dados) e tambm pelo processamento do sinal recebido pelo conversor A/D e a transformao desse valor em presso que ser enviado para o display LCD.
17
5. ESQUEMTICO DO CIRCUITO
A Figura 8 mostra o esquemtico completo do circuito montado no PROTEUS v7.7 SP2 para a realizao da 1 Etapa do projeto.
18
6. MATERIAIS E MTODOS
6.1 Materiais
1x Kit 8051 Study (8051LS V3.0); 1x Transdutor de presso modelo MPX5700GP; 1x Conversor A/D modelo ADC0804; 1x Protoboard; 1x Fonte de celular de 5.1V; 1x Capacitor de 220F; 1x Resistor de 10K; 2x Resistores de 1K; 4x botes PUSH-BOTTON; 8 LEDs vermelhos; 8 Resistores de 330; Conexo de engate rpido para mangueira de presso; 20 cm mangueira de presso PU 6x4.
6.2 Mtodos
Aqui ser descrito todo o procedimento de desenvolvimento do projeto. A 1 Etapa consiste na parte computacional, onde foi desenhado todo o circuito no software PROTEUS v7.7 SP2 e tambm realizadas as simulaes necessrias. A 2 Etapa consiste na montagem do circuito em protoboard, teste de ajuste do circuito e, por fim, na medio propriamente dita. No caso, a fonte de presso escolhida foi a linha de presso do Centro de Usinagem da Oficina do
19
Ncleo de Engenharia. A escolha se deu porque a faixa de presso com que a mquina trabalha justamente a faixa de presso de leitura do sensor.
6.2.1
20
O pino 1 do sensor deve ser conectado ao pino Vin+ do ADC0804. Esse pino enviar o valor da leitura da presso dentro de uma escala de 0.2V a 4.7V (conforme seu datasheet), o pino 2 controlado pelo 8051 (cdigo em C) e o pino 3 recebe uma tenso de entrada de 5V. A Figura 10 mostra o grfico de tenso de sada em funo da presso de entrada.
Figura 10: Grfico Tenso de sada x Presso de entrada. Fonte: Datasheet MPX5700 SERIES (Motorola).
Na Figura 9 (sensor e conversor A/D), podemos ver os pinos /CS, /RD, /WR, /INTR do ADC0804, que sero conectados ao micro 8051. Esses 4 pinos so responsveis pela converso da tenso recebida do sensor e o posterior envio dos dados para o micro 8051. De acordo com o datasheet do ADC0804, para que obtenhamos uma converso contnua no decorrer do tempo, so necessrias as seguintes condies dos 4 pinos em questo: O pino CS ficar sempre em nvel lgico baixo, ou aterrado; O pino /INTR o responsvel pela verificao do momento em que a converso comea e termina. No caso, quando a converso est ocorrendo, esse pino verificador fica em nvel lgico alto, quando a converso acaba, ele vai para nvel lgico baixo. Na lgica de programao, o controle desse pino ficar em um lao com o controle do pino /WR;
21
O pino /RD ficar em nvel lgico alto, e no momento em que ele receber um pulso para nvel lgico baixo, sero enviados os dados do A/D para o micro 8051. O cdigo que contm o trecho responsvel pelo controle do A/D pode ser visto ANEXO A.
22
Figura 11: Esquema de ligao micro 8051 e LCD. Fonte: Prprio autor.
O esquema de ligao entre os pinos do LCD e do micro 8051 foram retirados do Help do software MikroC Pro, assim como a linguagem para a impresso de dados no LCD. Conforme dito, esse esquema j est montado no kit 8051, tornando desnecessrios comentrios respeito deste tpico.
decimal. Na segunda, feita a converso desse valor decimal para binrio, que ser enviado para o micro 8051. Na ltima etapa, feita a converso do valor binrio para o clculo da tenso de acordo com a frmula que ser demonstrada a seguir. Lembrando que, nessa fase do projeto, o sensor que est sendo simulado o MPX4250, portanto, as frmulas aqui apresentadas sero referentes sua escala. Posteriormente, as equaes sero alteradas para a escala do sensor que ser utilizado no projeto (MPX5700GP). O PROTEUS v7.7 SP2 fornece uma tenso mnima do sensor de 0.26V e mxima de 4.87V, conforme a Figura 12.
Figura 12: Tenso mnima e mxima de operao do sensor. Fonte: Prprio autor.
A Figura 13 mostra o grfico da tenso de sada do sensor em funo da presso lida pelo mesmo. A Figura 14 mostra o grfico da presso lida pelo sensor versus a tenso de sada do sensor convertida em Bits.
24
25
De acordo com a Tabela 1, podemos encontrar a seguinte relao entre o nmero de bits e o valor da presso, conforme segue:
Na equao acima, x representa o nmero de bits, e y o valor da presso desejada em KPa. O cgido completo em C do projeto pode ser visto no ANEXO A. Foram retiradas imagens da simulao no PROTEUS v7.7 SP2, onde podem ser vistas a presso no sensor e a respectiva presso convertida mostrada no LCD. Vide ANEXO B.
6.2.2
teste do
funcionamento do componente. O teste foi feito aplicando-se um tenso de entrada que simulava a tenso do sensor e comcomitantemente foi conferida a sequncia de LEDs acesos e apagados. Esse teste foi importante por dois motivos: 1. Na simulao em software necessria a aplicao de um clock nas portas 3 e 5 do ADC0804. Os testes em software foram feitos com um clock de 1Hz nessas portas. No entanto, quando foram feitos os testes prticos em bancada, o ADC0804 no funcionava.
26
Como soluo, foi adotado o circuito da Figura 15 encontrado em um site sobre eletrnica. Esse circuito funcionou, e foi possvel dar continuidade ao andamento do projeto. importante observar que o capacitor aqui usado de 220pF e no de 150pF, como recomendado no datasheet.
2. Um segundo ponto, ainda mais importante, foi constatar que a tenso VREF/2 importantssima para o correto funcionamento do ADC0804, pois, na prtica, uma diferena de aproximadamente 0.2V resultava em uma converso incorreta feita pelo A/D. A fonte de alimentao disponvel para os testes no conseguia manter a tenso constante sobre essa porta, levando a um constante erro na converso. Para minimizar esse problema, foi utilizada uma fonte de alimentao de celular que possui uma sada de tenso constante de 5.1V. Essa tenso est dentro do permitido pelo sensor.
27
importante
salientar
que
esse
mesmo
circuito
ser
utilizado
posteriormente para retirada da curva real de Presso x BITS. No Anexo D podemos ver algumas figuras com os resultados dos testes com LED descrito neste tpico comparados com uma simulao idntica no PROTEUS V7.7 SP2. Embora o circuito de simulao em software tenha seuas diferenas em relao ao circuito real, conforme j discutido, essa comparao serviu de validao para o teste proposto.
28
O procedimento realizado bem simples. Atravs de um registro na linha de presso, variou-se a presso de 20 em 20 PSI, at a presso mxima, no caso, 101.5 PSI ( 100 PSI).
29
A cada presso selecionada, conferia-se a sequncia dos LEDs que estavam acesos e apagados. Isso porque cada um deles representava o nvel lgico em que estava cada porta do ADC0804. Feito isso, era feita a converso da sequncia binria para um valor decimal, obtendo-se assim o grfico que podemos ver na Figura 17.
Como podemos ver, embora a curva obtida seja linear, como deveria ser, ela no cruza a origem (em (0,0)). Isso aconteceu porque os parmetros da equao utilizada no cdigo em C no eram adequados. importante salientar que esse erro no foi aleatrio, visto que a equao foi baseada nos dados do sensor utilizado nas simulaes no PROTEUS v7.7 SP2, e que nesses simulaes em software no houve erro entre a presso do sensor e a presso convertida. A Tabela 2 traz os dados obtidos no experimento.
Tabela 2: Valores binrios reais.
Vale observar que a presso real medida foi at 80 PSI, e no at 100 PSI, pois nessa presso, o valor dos Bits no resultava na correta converso
30
da presso. Como as 5 medies obtidas foram lineares, decidiu-se ignorar esse ltimo valor. Para correo da curva obtida no primeiro teste, foi calculado, de maneira iterativa, quais seriam os melhores parmetros da equao que resultasse no menor erro at obter um erro total de 0.01%, conforme a Tabela 3. Esse valor foi considerado aceitvel, dada a proposta do projeto de um prottipo.
Tabela 3: Clculo do erro.
Presso (PSI) Erro Parcial 1.3 1.3% 19.0 -1.0% 39.7 -0.3% 60.5 0.5% 79.5 -0.5% Erro Total 0.01%
Dessa forma, chegou-se na equao abaixo. Os valores que foram otimizados esto destacados em verde.
A constante 0.1450377 apenas para converter a presso de KPa para PSI, pois seria a forma mais fcil de obter o valor em PSI por conta do cdigo em C que calcula primeiramente a presso em KPa. Veja que a equao encontrada expressa em PSI, pois essa escala, no caso do sensor utilizado, vai at 100. Como o A/D de 8 bits, a sua resoluo de 256 nmeros. Como a escala em PSI at 100, ns conseguimos trabalhar com um passo de 1 PSI por leitura do A/D. No ANEXO C podemos ver o cdigo final em C que foi implementado no projeto.
31
7. RESULTADOS
Os primeiros resultados obtidos foram comparados com os resultados em simulao, para verificao do correto funcionamento do projeto. Foram realizadas algumas medies com valores de presso aleatrios e comparados com a presso na simulao em software. Tambm possvel a comparao entre a tenso de sada do sensor em ambos os casos. Essas comparaes so a primeira etapa da validao do sistema de leitura de presso.
32
33
34
35
Aps essas medies aleatrias para comparao com o software, foram medidas e comparadas as presses na linha de presso e a presso convertida pelo circuito. As imagens podem ser vistas na Figura 22.
Por fim, na Figura 23, temos uma medio onde podemos ver a leitura apresentada em 4 unidades diferentes, conforme a proposta do projeto.
36
37
8. CONCLUSO
A 1 Etapa do projeto correu de maneira relativamente tranquila, onde o maior desafio foi compreender o ciclo de funcionamento do conversor A/D (leitura e converso) para que o cdigo de controle em C pudesse ser implementado. No entanto, o cdigo construdo funcionou muito bem. A 2 Etapa transcorreu sem grandes problemas. Sendo que o maior obstculo foi o funcionamento do ADC0804. Aps isso, o grupo montou o circuito em protoboard e iniciou os testes com presso obtendo bons resultados. Por fim, o resultado ao qual o projeto se props foi cumprido com sucesso. As fotos das medies realizadas podem ser vistas no ANEXO D.
38
9. REFERNCIAS
FIGLIOLA, Richard S.; BEASLEY, Donald E..Teoria e Projeto para Medies Mecnicas: Conceitos Bsicos de Mtodos de Medio. 4. ed. Rio de Janeiro: Ltc, 2007. Cap. 1, p. 1-2. FIGLIOLA, Richard S.; BEASLEY, Donald E..Teoria e Projeto para Medies Mecnicas: Amostragem, Instrumentos Digitais e Aquisio de Dados. 4. ed. Rio de Janeiro: Ltc, 2007. Cap 7, p.204. FIGLIOLA, Richard S.; BEASLEY, Donald E..Teoria e Projeto para Medies Mecnicas: Medies de Presso e Velocidade. 4. ed. Rio de Janeiro: Ltc, 2007. Cap 9, p.310. CASSIOLATO, Tecnologias Csar. MEDIO e DE PRESSO: Caractersticas, em:
Tendncias. Disponvel
<http://www.smar.com/newsletter/marketing/index23.html>. Acesso em: 19 set. 2013. PROJTEC. ADC0804 (CONVERSOR A/D). Disponvel em:
<http://www.projetostecnologicos.com/Componentes/CIsAnalogicos/ADC0804/ ADC0804.html>. Acesso em: 22 set. 2013. BRAGA, Newton C.. Conversor A/D de 8 bits (ART171). Disponvel em: <http://www.newtoncbraga.com.br/index.php/artigos/54-dicas/1234..>. em: 08 out. 2013. TODAY, Circuits. Interfacing ADC to 8051. Disponvel em: Acesso
39
ANEXO A
///////////////////////////Interface com o ADC0804////////////////////////////// void Interface_ADC0804() { int INTR = 1;
// Lcd module connections sbit LCD_RS at P2_2_bit; sbit LCD_EN at P2_3_bit; sbit LCD_D4 at P2_4_bit; sbit LCD_D5 at P2_5_bit;
40
sbit LCD_D6 at P2_6_bit; sbit LCD_D7 at P2_7_bit; // End Lcd module connections
char txt1[] = "Kpa"; char txt2[] = "atm"; char txt3[] = "PSI"; char txt4[] = "mmHg";
void Calcula_pressao() { pressao_dec = (P3_0_bit)*1 + (P3_1_bit)*2 + (P3_2_bit)*4 + (P3_3_bit)*8 + (P3_4_bit)*16 + (P3_5_bit)*32 + (P3_6_bit)*64 + (P3_7_bit)*128; if (P0_0_bit = 1) botao=1; if (P0_1_bit = 1) botao=2; if (P0_2_bit = 1) botao=3; if (P0_3_bit = 1)
41
botao=4;
switch (botao) { case 1: pressao = (250 * ((pressao_dec - 13)/235.)); // valor em KPa Lcd_Out(1,7, txt1); break; case 2: pressao = (0.009869233 * (250 * ((pressao_dec - 13)/235.))); // valor em atm Lcd_Out(1,7, txt2); break; case 3: pressao = ( 0.1450377 * (250 * ((pressao_dec - 13)/235.))); // valor em PSI Lcd_Out(1,7, txt3); break; case 4: pressao = ( 7.500617 * (250 * ((pressao_dec - 13)/235.))); // valor em mmHg Lcd_Out(1,7, txt4); break; default: break; }
42
Lcd_Init();
Lcd_Cmd(_LCD_CLEAR); Lcd_Cmd(_LCD_CURSOR_OFF);
43
ANEXO B
44
45
46
ANEXO C
///////////////////////////Interface com o ADC0804////////////////////////////// void Interface_ADC0804() { int INTR = 1;
sbit LCD_D4 at P2_4_bit; sbit LCD_D5 at P2_5_bit; sbit LCD_D6 at P2_6_bit; sbit LCD_D7 at P2_7_bit; 47
char txt1[] = "KPa "; // note que h um espao aps KPa char txt2[] = "atm "; // note que h um espao aps atm char txt3[] = "PSI "; // note que h um espao aps PSI char txt4[] = "mmHg"; // note que no h um espao aps mmHg
void Calcula_pressao() { pressao_dec = (P3_0_bit)*1 + (P3_1_bit)*2 + (P3_2_bit)*4 + (P3_3_bit)*8 + (P0_4_bit)*16 + (P0_5_bit)*32 + (P0_6_bit)*64 + (P0_7_bit)*128;
switch (botao) { case 1: pressao = (700 * ((pressao_dec - 5)/235.)); // valor em KPa Lcd_Out(1,7, txt1); break; case 2: pressao = ( 0.009869233 * (700 * ((pressao_dec - 5)/235.))); // valor em atm Lcd_Out(1,7, txt2); break; case 3: pressao = ( 0.1450377 * (700 * ((pressao_dec - 5)/235.))); // valor em PSI
49
Lcd_Out(1,7, txt3); break; case 4: pressao = ( 7.500617 * (700 * ((pressao_dec - 5)/235.))); // valor em mmHg Lcd_Out(1,7, txt4); break; default: break; } } ///////////////////////////Programa principal/////////////////////////////////// void main(){
Lcd_Init();
IntToStr(pressao, press); // realiza a converso de inteiro para char para poder ser mostrado no LCD
ANEXO D
51