relatório final microcontroladores

52
Microprocessadores e Microcontroladores II Relatório de Projeto Final TEMA MANÔMETRO DIGITAL Professor: Danilo Carlos Rossetto Minhoni Data: 10/12/2013 Nome R.A. Bruno Rodrigues dos Santos 65220 Vinicius Brunelli Vallim 65125 Willian Luan Bonfanti 62419

Upload: bruno-santos

Post on 29-Dec-2015

53 views

Category:

Documents


1 download

DESCRIPTION

Projeto de um sistema de leitura de pressão utilizando o sensor de pressão MPX5700.

TRANSCRIPT

Page 1: Relatório Final Microcontroladores

Microprocessadores e Microcontroladores II

Relatório de Projeto

Final

TEMA

MANÔMETRO DIGITAL

Professor: Danilo Carlos Rossetto Minhoni Data: 10/12/2013

Nome R.A.

Bruno Rodrigues dos Santos 65220

Vinicius Brunelli Vallim 65125

Willian Luan Bonfanti 62419

Page 2: Relatório Final Microcontroladores

1

Sumário

LISTA DE FIGURAS ......................................................................................... 3

LISTA DE SIGLAS ............................................................................................ 4

LISTA DE TABELAS ......................................................................................... 6

1. INTRODUÇÃO ........................................................................................... 7

1.1. Sistema Geral de Medição ................................................................... 7

1.2. Sistema de Medição de Pressão .......................................................... 8

1.3. Sensores utilizados na medição de pressão ...................................... 11

1.4. Transdutor de pressão piezoelétrico .................................................. 11

1.5. Conversor Analógico/Digital (A/D) ...................................................... 12

2. PROPOSTA DO PROJETO...................................................................... 14

3. DESCRITIVO DO PROJETO .................................................................... 15

4. DIAGRAMA DE BLOCO ........................................................................... 17

5. ESQUEMÁTICO DO CIRCUITO ............................................................... 18

6. MATERIAIS E MÉTODOS ........................................................................ 19

6.1 Materiais ................................................................................................ 19

6.2 Métodos ................................................................................................. 19

6.2.1 1ª ETAPA – SIMULAÇÕES 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 Conversão da pressão .........................................................................................23

6.2.2 2ª ETAPA – SIMULAÇÕES EM BANCADA ................................ 26

6.2.2.1 Circuito de teste com LED’s ................................................................................26

6.2.2.2 Curva Bits x Pressão Real ....................................................................................29

7. RESULTADOS ......................................................................................... 32

Page 3: Relatório Final Microcontroladores

2

8. CONCLUSÃO ........................................................................................... 38

9. REFERÊNCIAS ........................................................................................ 39

ANEXO A ........................................................................................................ 40

ANEXO B ........................................................................................................ 44

ANEXO C ........................................................................................................ 47

Page 4: Relatório Final Microcontroladores

3

LISTA DE FIGURAS

Figura 1: Esquema geral de um sistema de medição genérico. ....................................................7

Figura 2: Escala de pressão...........................................................................................................9

Figura 3: Principais unidades de conversão de pressão. ............................................................10

Figura 4: Transdutor de pressão piezoelétrico. ..........................................................................12

Figura 5: Sensor de pressão piezoelétrico. .................................................................................12

Figura 6: Interface entre conversor A/D e microprocessador. ...................................................13

Figura 7: Esquemático do circuito. .............................................................................................17

Figura 8: Layout do circuito no PROTEUS v7.7 SP2. ....................................................................18

Figura 9: Esquema de ligação do sensor e do conversor A/D. ....................................................20

Figura 10: Gráfico Tensão de saída x Pressão de entrada. .........................................................21

Figura 11: Esquema de ligação micro 8051 e LCD. .....................................................................23

Figura 12: Tensão mínima e máxima de operação do sensor. ....................................................24

Figura 13: Gráfico Vsaída_sensor x Pressão ...............................................................................25

Figura 14: Gráfico do número de Pressão x Bits. ........................................................................25

Figura 15: Circuito de teste do ADC0804. ...................................................................................27

Figura 16: Circuito de teste. .......................................................................................................29

Figura 17: Gráfico Pressão Real x BITS. .......................................................................................30

Figura 18: Pressão de 12KPa. .....................................................................................................32

Figura 19: Pressão de 40 KPa......................................................................................................33

Figura 20: Pressão de 93 KPa......................................................................................................34

Figura 21: Pressão de 200 KPa....................................................................................................35

Figura 22: Medições finais. .........................................................................................................36

Figura 23: Unidades de medição. ...............................................................................................36

Figura 24: Circuito completo implementado. .............................................................................37

Page 5: Relatório Final Microcontroladores

4

LISTA DE SIGLAS

LCD – Liquid Cristal Display

LED – Diodo Emissor de Luz

ABS – Pressão Absoluta

A/D – Conversor Analógico Digital

/WR – Pino de escrita do A/D

/INTR – Pino de verificação do estado da conversão

/CS – Pino do A/D

/RD – Pino de leitura do A/D

MPX5700GP – Modelo do sensor piezoresistivo utilizado

KPa – Unidade de pressão [N/m2]

atm – Unidade de pressão (atmosferas)

mmHg – Unidade de pressão (milímetros de Mercúrio)

PSI – Unidade de pressão

V – Unidade de tensão

ADC 0804 – Modelo do A/D utilizado

Vin+ - Pino de entrada do A/D para a tensão mensurada

C – Linguagem de Programação

AT89C51RD2 – Família de processadores 8051

AT89C51ED2 – Família 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

Page 6: Relatório Final Microcontroladores

5

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 seleção do sinal Alto (High) / Baixo (Low)

LCD_EN – Pino do registrador de Habilitção 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

Page 7: Relatório Final Microcontroladores

6

LISTA DE TABELAS

Tabela 1: Resumo dos dados para o cálculo da conversão.

Tabela 2: Valores binários reais.

Tabela 3: Cálculo do erro.

Page 8: Relatório Final Microcontroladores

7

1. INTRODUÇÃO

1.1. Sistema Geral de Medição

Um sistema de medição é uma ferramente, que através da leitura de uma

variável física (grandeza física), é capaz de expressar a magnitude daquela

grandeza, podendo armazená-la (memória) e/ou apresentá-la (e.x.: LCD

(Liquid Cristal Display)).

Um padrão geral para um sistema de medição está ilustrado na Figura 1.

Basicamente, um sistema de medição consiste em quatro estágios:

Estágio do sensor-transdutor;

Estágio de condicionamento de sinal;

Estágio de saída;

Estágio de controle e realimentação.

Figura 1: Esquema geral de um sistema de medição genérico.

Fonte: Livro “Teoria e Projeto para Medições Mecânicas”.

No estágio do sensor-transdutor, o sensor é o responsável por captar a

variável que está sendo medida, no caso, ele é sensível à sua magnitude. Já o

Page 9: Relatório Final Microcontroladores

8

transdutor converte essa informação em um sinal (mecânico ou elétrico, por

exemplo).

Por exemplo, o líquido contido no interior de um bulbo no termômetro de

bulbo troca energia com a sua vizinhança até que os dois estejam em equilíbrio

térmico. Nesse ponto, líquido e vizinhança estão à mesma temperatura. Essa

troca de energia é o sinal de entrada para esse sistema de medição. O

fenômeno da expansão térmica do líquido resulta em seu deslocamento para

cima e para baixo na haste, que nesse caso é o sinal de saída a partir do qual

determinamos a temperatura. O líquido no bulbo age como sensor. Forçando o

líquido em expansão em um tubo capilar estreito, esse sistema de medição

transforma uma informação térmica em um deslocamente mecânico. Deste

modo, o tubo capilar interno age como transdutor.

O estágio de condicionamento de sinal recebe o sinal do transdutor e

pode, se necessário, modificar a sua magnitude. Por exemplo, a relação entre

o diâmetro do tubo capilar de um termômetro e o volume do bulbo determina

quanto o líquido subirá na haste com o aumento da temperatura. Ele

“condiciona” o sinal por meio da amplificação do deslocamento do líquido.

Também pode remover parte do sinal indesejada, como ruídos.

O estágio de saída indica ou registra o valor medido. Este pode ser um

simples mostrador de saída, uma escala graduada ou mesmo um dispositivo de

registro, como a unidade de um computador. Nos sistemas de medição

envolvidos no controle de um processo, um quarto estágio, o estágio de

controle da realimentação, contém um controlador que interpreta o sinal

medido de uma decisão referente ao controle do processo. Essa decisão

resulta num sinal que modifica o parâmetro do processo que afeta a magnitude

da variável captada.

1.2. Sistema de Medição de Pressão

A medição de pressão, foco deste trabalho, é de grande importância em

sistemas de controle de processos na indústria porque através dela podemos

avaliar outras grandezas, como densidade, volume, força, velocidade, entre

tantas outras. Além disso, a pressão é uma grandeza de fácil medição.

Page 10: Relatório Final Microcontroladores

9

A Figura 2 representa uma escala de pressão manométrica. Podemos ver

que existem três classificações para a pressão: manométrica, absoluta e

diferencial (ou relativa). De forma geral, a diferença básica entre elas é a

referência com a qual elas trabalham.

Figura 2: Escala de pressão.

Fonte: Livro “Teoria e Projeto para Medições Mecânicas”.

A definição desses três tipos de pressão pode ser vista a seguir:

Pressão absoluta: essa pressão é obtida em relação ao vácuo

total, ou seja, a referência é o zero absoluto. É comum encontrar a

notação ABS, indicando que se trata da pressão absoluta (e.x.:

PABS).

Pressão diferencial: essa pressão toma como referência uma

outra pressão diferente de zero. O seu uso é comum quando

deseja-se, por exemplo, tomar a diferença de pressão entre dois

tanques desnivelados.

Pressão manométrica (Gauge): essa é a pressão tomada com

referência a pressão atmosférica. Em outras palavras, ela é a

Page 11: Relatório Final Microcontroladores

10

diferença entre a pressão absoluta (componente a ser medido) do

local e a pressão atmosférica. Veja que ela não deixa de ser uma

pressão diferencial, porém, recebeu esse nome para

intrinsicamente que a pressão de referência é a pressão

atmosférica, a qual sabemos o valor.

A Figura 3 traz as principais unidades de conversão de pressão.

Figura 3: Principais unidades de conversão de pressão.

Fonte: http://www.smar.com/newsletter/marketing/index23.html

Page 12: Relatório Final Microcontroladores

11

1.3. Sensores utilizados na medição de pressão

Um transdutor de pressão, basicamente, converte a pressão em um sinal

elétrico ou mecânico. O transdutor pode ser definido como um sensor-

transdutor híbrido. O sensor se trata de um dispositivo com características

elásticas, que se deforma ao receber uma carga (pressão). Eles podem ser o

tubo de Bourdon, o fole, a cápsula e o diafragma. Já o transdutor converte a

deflexão mecânica em um sinal como, por exemplo, uma tensão elétrica. Os

transdutores de pressão estão sujeitos aos erros de: resolução, deslocamento

do zero, linearidade, sensibilidade, histerese.

Os tipos diferentes encontrados de sensores de pressão são listados

abaixo:

Capacitância variável (capacitivos);

Peizoresistivo (String Gage);

Potenciométrico

Piezoelétrico;

Relutância variável;

Ressonante, entre outros.

Esse trabalho utilizará um transdutor do tipo piezoelétrico. A descrição do

funcionamento do mesmo segue a diante.

1.4. Transdutor de pressão piezoelétrico

Um transdutor de pressão piezoelétrico possui um cristal piezoelétrico

que, sob a ação de um força se deforma e gera uma carga (elétrica) na sua

superfície, que é proporcional à força aplicada sobre ele. Em um transdutor de

pressão piezoelétrico, um cristal pré-carregado é instalado no sensor de

diafragma conforme indicado nas Figuras 4 e 5. A pressão age normalmente ao

eixo do cristal e varia a espessura do cristal, gerando a carga elétrica.

Page 13: Relatório Final Microcontroladores

12

Figura 4: Transdutor de pressão piezoelétrico.

Fonte: Livro “Teoria e Projeto para Medições Mecânicas”.

Figura 5: Sensor de pressão piezoelétrico.

Fonte: Livro “Teoria e Projeto para Medições Mecânicas”.

1.5. Conversor Analógico/Digital (A/D)

Como vimos anteriormente, quando trabalhamos com a medição de uma

grandeza física, normalmente lidamos com um sinal analógico, que seria o

sinal enviado pelo sensor/transdutor. Porém, para que o sinal possa ser

“trabalhado” pelo microcontrolador (dispositivo digital), é necessário que esse

sinal chegue como um sinal digital. Basicamente, a diferença entre um sinal

analógico para um digital é a de que o analógico é contínuo na amplitude e no

tempo, e o digital é discreto na amplitude e no tempo. Portanto a interface

necessária entre o dispositivo analógico e o digital é o conversor A/D.

Page 14: Relatório Final Microcontroladores

13

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 não é contínuo, mas sim em intervalos de tempo pré-

definidos. Por esse motivo que, como veremos mais à frente, é necessário

controlar o intervalo de tempo em que o conversor A/D faz a leitura do sinal

analógico 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 ligação

necessário para controlar o disparo para a leitura e o envio de dados pelo

conversor A/D através de uma chave, que controla o momento em que são

enviados os pulsos para as portas /WR e /INTR.

Figura 6: Interface entre conversor A/D e microprocessador.

Fonte:

www.projetostecnologicos.com/Componentes/CIsAnalogicos/ADC0804/ADC0804.html.

Page 15: Relatório Final Microcontroladores

14

2. PROPOSTA DO PROJETO

Construir o protótipo de um manômetro digital utilizando o Kit 8051 Study

(8051LS V3.0) e um transdutor de pressão modelo MPX5700GP. Haverão 4

botões que permitirão a escolha da unidade em que a pressão será exibida

(KPa, atm, mmHg, PSI). Não haverá precisão decimal no projeto.

Page 16: Relatório Final Microcontroladores

15

3. DESCRITIVO DO PROJETO

O sensor de pressão escolhido para o projeto, MPX5700GP, é um

transdutor piezoelétrico projetado para várias aplicações. Esse sensor possui

uma saída do tipo analógica.

O sensor MPX5700GP será conectado à saída pneumática do sistema do

qual deseja-se medir a pressão. A sua saída varia de 0 a 5V. Esse sinal será

convertido pelo conversor A/D em valores binários, pois o micro 8051

reconhece apenas valores binários.

Dessa forma, será necessário o uso de um conversor A/D para que a

entrada analógica decimal (sensor) possa ser convertida para binário (micro

8051). O conversor A/D que será utilizado nesse trabalho é o modelo

ADC0804.

Após o micro 8051 receber os dados (binários) do conversor A/D, será

feita a conversão dos dados de binário para decimal para que seja feita a

conversão e o respectivo cálculo da pressão. Mais à frente será descrito o

procedimento de conversão do valor recebido pelo micro 8051 em pressão

(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 conversão dos

dados recebidos no valor da pressão propriamente dita. O código em

linguagem C do projeto será apresentado posteriormente. O software utilizado

para a programação 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 análise e simulação do protótipo.

2ª Etapa: desenvolvimento do projeto “físico”, no protoboard, utilizando o

kit 8051.

Uma observação importante a se fazer é de que no software PROTEUS

V7.7 SP2 não há o modelo de sensor utilizado nesse projeto, no caso, há

Page 17: Relatório Final Microcontroladores

16

apenas o modelo MPX4250. Por isso, a faixa de pressão lida no PROTEUS

V7.7 SP2 será de 0 a 250KPa. No entanto, isso não gera nenhum problema na

construção do projeto, pois a única coisa que mudará será o código de

conversão da pressão (linguagem C).

Page 18: Relatório Final Microcontroladores

17

4. DIAGRAMA DE BLOCO

A Figura 7 traz o fluxograma de funcionamento do manômetro digital do

projeto. Veja que não há um ciclo envolvendo o sensor, pois não existe um

sistema de controle sobre o processo.

Basicamente, o sensor será responsável por realizar a medição da

pressão. Essa medição gerará um sinal que será enviado para o conversor

A/D.

O conversor A/D realizará a conversão do sinal que chega até ele para um

valor binário que posteriormente será enviado para o micro 8051.

O micro 8051 será responsável pelo controle do conversor A/D (momento

de conversão e momento de envio de dados) e também pelo processamento

do sinal recebido pelo conversor A/D e a transformação desse valor em

pressão que será enviado para o display LCD.

Figura 7: Esquemático do circuito. Fonte: Próprio autor.

Page 19: Relatório Final Microcontroladores

18

5. ESQUEMÁTICO DO CIRCUITO

A Figura 8 mostra o esquemático completo do circuito montado no

PROTEUS v7.7 SP2 para a realização da 1ª Etapa do projeto.

Figura 8: Layout do circuito no PROTEUS v7.7 SP2.

Fonte: Próprio autor.

Page 20: Relatório Final Microcontroladores

19

6. MATERIAIS E MÉTODOS

6.1 Materiais

1x Kit 8051 Study (8051LS V3.0);

1x Transdutor de pressão modelo MPX5700GP;

1x Conversor A/D modelo ADC0804;

1x Protoboard;

1x Fonte de celular de 5.1V;

1x Capacitor de 220µF;

1x Resistor de 10KΩ;

2x Resistores de 1KΩ;

4x botões PUSH-BOTTON;

8 LED’s vermelhos;

8 Resistores de 330Ω;

Conexão de engate rápido para mangueira de pressão;

20 cm mangueira de pressão PU 6x4.

6.2 Métodos

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 também realizadas as simulações

necessárias.

A 2ª Etapa consiste na montagem do circuito em protoboard, teste de

ajuste do circuito e, por fim, na medição propriamente dita. No caso, a fonte de

pressão escolhida foi a linha de pressão do Centro de Usinagem da Oficina do

Page 21: Relatório Final Microcontroladores

20

Núcleo de Engenharia. A escolha se deu porque a faixa de pressão com que a

máquina trabalha é justamente a faixa de pressão de leitura do sensor.

6.2.1 1ª ETAPA – SIMULAÇÕES EM SOFTWARE

6.2.1.1 Esquema sensor - conversor A/D

O software utilizado foi o PROTEUS V7.7 SP2.

A Figura 9 mostra o esquema de ligação do sensor MPX5700GP e o

conversor ADC0804. Os esquemas de ligação do sensor e do ADC0804 (e

seus componentes) foram retirados dos respectivos datasheets. Segundo o

datasheet do sensor, os pinos 4, 5 e 6 nunca são utilizados.

Figura 9: Esquema de ligação do sensor e do conversor A/D.

Fonte: Próprio autor.

Page 22: Relatório Final Microcontroladores

21

O pino 1 do sensor deve ser conectado ao pino Vin+ do ADC0804. Esse

pino enviará o valor da leitura da pressão dentro de uma escala de 0.2V a 4.7V

(conforme seu datasheet), o pino 2 é controlado pelo 8051 (código em C) e o

pino 3 recebe uma tensão de entrada de 5V. A Figura 10 mostra o gráfico de

tensão de saída em função da pressão de entrada.

Figura 10: Gráfico Tensão de saída x Pressão 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 serão conectados ao micro 8051. Esses 4 pinos

são responsáveis pela conversão da tensão recebida do sensor e o posterior

envio dos dados para o micro 8051. De acordo com o datasheet do ADC0804,

para que obtenhamos uma conversão contínua no decorrer do tempo, são

necessárias as seguintes condições dos 4 pinos em questão:

O pino CS ficará sempre em nível lógico baixo, ou aterrado;

O pino /INTR é o responsável pela verificação do momento em que a

conversão começa e termina. No caso, quando a conversão está

ocorrendo, esse pino verificador fica em nível lógico alto, quando a

conversão acaba, ele vai para nível lógico baixo. Na lógica de

programação, o controle desse pino ficará em um laço com o controle do

pino /WR;

Page 23: Relatório Final Microcontroladores

22

O pino /RD ficará em nível lógico alto, e no momento em que ele receber

um pulso para nível lógico baixo, serão enviados os dados do A/D para o

micro 8051.

O código que contém o trecho responsável pelo controle do A/D pode ser

visto ANEXO A.

6.2.1.2 Esquema micro 8051 – LCD

Será utilizado o kit 8051 que já possui, também, o LCD. Porém, na fase de

simulação em software, se fez necessário a montagem desses dois

componentes na simulação para a realização dos testes de “impressão”, no

LCD, da pressão lida. Os componentes ligados às portas do micro 8051,

conforme Figura 11, foram retirados do seu respectivo datshseet.

Vale observar que o micro 8051 utilizado no PROTEUS v7.7 SP2 foi o

modelo da família AT89C51RD2, pois não há o modelo AT89C51ED2 em sua

biblioteca. Enquanto que o micro do kit 8051 é o modelo da família

AT89C51ED2. Isso não ocasionará nenhum problema já que os dois modelos

são equivalentes, e o código em C rodará normalmente.

Page 24: Relatório Final Microcontroladores

23

Figura 11: Esquema de ligação micro 8051 e LCD.

Fonte: Próprio autor.

O esquema de ligação entre os pinos do LCD e do micro 8051 foram

retirados do “Help” do software MikroC Pro, assim como a linguagem para a

“impressão” de dados no LCD. Conforme dito, esse esquema já está “montado”

no kit 8051, tornando desnecessários comentários à respeito deste tópico.

6.2.1.3 Conversão da pressão

Aqui, veremos como foi feito o cálculo da pressão no PROTEUS v7.7 SP2.

O processo para encontrar a fórmula da conversão é feito em três etapas.

Na primeira, é feita a conversão da tensão de entrada para uma escala

Page 25: Relatório Final Microcontroladores

24

decimal. Na segunda, é feita a conversão desse valor decimal para binário, que

será enviado para o micro 8051. Na última etapa, é feita a conversão do valor

binário para o cálculo da tensão de acordo com a fórmula que será

demonstrada a seguir. Lembrando que, nessa fase do projeto, o sensor que

está sendo simulado é o MPX4250, portanto, as fórmulas aqui apresentadas

serão referentes à sua escala. Posteriormente, as equações serão alteradas

para a escala do sensor que será utilizado no projeto (MPX5700GP).

O PROTEUS v7.7 SP2 fornece uma tensão mínima do sensor de 0.26V e

máxima de 4.87V, conforme a Figura 12.

Figura 12: Tensão mínima e máxima de operação do sensor.

Fonte: Próprio autor.

A Figura 13 mostra o gráfico da tensão de saída do sensor em função da

pressão lida pelo mesmo. A Figura 14 mostra o gráfico da pressão lida pelo

sensor versus a tensão de saída do sensor convertida em Bits.

Page 26: Relatório Final Microcontroladores

25

Figura 13: Gráfico Vsaída_sensor x Pressão.

Fonte: próprio autor.

Figura 14: Gráfico de Pressão x Bits.

Fonte: próprio autor.

Tabela 1: Resumo dos dados para o cálculo da conversão.

TABELA RESUMO

Tensão (V) Pressão (KPa) Bits Pressão (KPa)

0.26 0 10 0

2.57 125 128 125

4.87 250 249 250

Page 27: Relatório Final Microcontroladores

26

De acordo com a Tabela 1, podemos encontrar a seguinte relação entre o

número de bits e o valor da pressão, conforme segue:

Na equação acima, “x” representa o número de bits, e “y” o valor da

pressão desejada em KPa.

O cógido completo em C do projeto pode ser visto no ANEXO A.

Foram retiradas imagens da simulação no PROTEUS v7.7 SP2, onde

podem ser vistas a pressão no sensor e a respectiva pressão convertida

mostrada no LCD. Vide ANEXO B.

6.2.2 2ª ETAPA – SIMULAÇÕES EM BANCADA

6.2.2.1 Circuito de teste com LED’s

Foi montado um circuito de teste com o conversor ADC0804 e 8 LED’s

com dois objetivos:

Teste do ADC0804;

Retirada da curva Pressão Real x BITS.

O teste do ADC0804 consistiu apenas em verificar o correto

funcionamento do componente. O teste foi feito aplicando-se um tensão de

entrada que “simulava” a tensão do sensor e comcomitantemente foi conferida

a sequência de LED’s acesos e apagados. Esse teste foi importante por dois

motivos:

1. Na simulação em software é necessária a aplicação 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 práticos em bancada, o ADC0804 não funcionava.

Page 28: Relatório Final Microcontroladores

27

Como solução, foi adotado o circuito da Figura 15 encontrado em

um site sobre eletrônica. Esse circuito funcionou, e foi possível dar

continuidade ao andamento do projeto. É importante observar que

o capacitor aqui usado é de 220pF e não de 150pF, como

recomendado no datasheet.

Figura 15: Circuito de teste do ADC0804.

Fonte: http://www.newtoncbraga.com.br/index.php/artigos/54-dicas/1234.

2. Um segundo ponto, ainda mais importante, foi constatar que a

tensão VREF/2 é importantíssima para o correto funcionamento do

ADC0804, pois, na prática, uma diferença de aproximadamente

0.2V resultava em uma conversão incorreta feita pelo A/D. A fonte

de alimentação disponível para os testes não conseguia manter a

tensão constante sobre essa porta, levando a um constante erro na

conversão. Para minimizar esse problema, foi utilizada uma fonte

de alimentação de celular que possui uma saída de tensão

constante de 5.1V. Essa tensão está dentro do permitido pelo

sensor.

Page 29: Relatório Final Microcontroladores

28

É importante salientar que esse mesmo circuito será utilizado

posteriormente para retirada da curva real de Pressão x BITS.

No Anexo D podemos ver algumas figuras com os resultados dos testes

com LED descrito neste tópico comparados com uma simulação idêntica no

PROTEUS V7.7 SP2. Embora o circuito de simulação em software tenha seuas

diferenças em relação ao circuito real, conforme já discutido, essa comparação

serviu de validação para o teste proposto.

Page 30: Relatório Final Microcontroladores

29

6.2.2.2 Curva Pressão Real x Bits

De acordo com o datasheet, a faixa de tensão de saída do sensor

MPX5700GP vai de 0.2V a 4.7V (0 a 700KPa). No entanto, devemos lembrar

que na simulação realizada em software foi utilizado um sensor que suporta até

250KPa. Dessa forma, foram necessárias medições em bancada para retirada

da curva real de Bits x Pressão.

Essa medição foi feita com um circuito composto por 8 LED’s conectados

a cada uma das saídas de um ADC0804. Podemos ver o circuito de teste na

Figura 16.

Figura 16: Circuito de teste.

Fonte: próprio autor.

O procedimento realizado é bem simples. Através de um registro na linha

de pressão, variou-se a pressão de 20 em 20 PSI, até a pressão máxima, no

caso, 101.5 PSI (≈ 100 PSI).

Page 31: Relatório Final Microcontroladores

30

A cada pressão selecionada, conferia-se a sequência dos LED’s que

estavam acesos e apagados. Isso porque cada um deles representava o nível

lógico em que estava cada porta do ADC0804. Feito isso, era feita a conversão

da sequência binária para um valor decimal, obtendo-se assim o gráfico que

podemos ver na Figura 17.

Figura 17: Gráfico Pressão Real x BITS.

Fonte: próprio autor.

Como podemos ver, embora a curva obtida seja linear, como deveria ser,

ela não cruza a origem (em (0,0)). Isso aconteceu porque os parâmetros da

equação utilizada no código em C não eram adequados. É importante salientar

que esse erro não foi aleatório, visto que a equação foi baseada nos dados do

sensor utilizado nas simulações no PROTEUS v7.7 SP2, e que nesses

simulações em software não houve erro entre a pressão do sensor e a pressão

convertida. A Tabela 2 traz os dados obtidos no experimento.

Tabela 2: Valores binários reais.

Bits Pressão Real (PSI)

8 0

49 20

97 40

145 60

189 80

Vale observar que a pressão real medida foi até 80 PSI, e não até 100

PSI, pois nessa pressão, o valor dos Bits não resultava na correta conversão

Page 32: Relatório Final Microcontroladores

31

da pressão. Como as 5 medições obtidas foram lineares, decidiu-se ignorar

esse último valor.

Para correção da curva obtida no primeiro teste, foi calculado, de maneira

iterativa, quais seriam os melhores parâmetros da equação que resultasse no

menor erro até obter um erro total de 0.01%, conforme a Tabela 3. Esse valor

foi considerado aceitável, dada a proposta do projeto de um protótipo.

Tabela 3: Cálculo do erro.

Pressão (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 equação abaixo. Os valores que foram

“otimizados” estão destacados em verde.

A constante 0.1450377 é apenas para converter a pressão de KPa para

PSI, pois seria a forma mais fácil de obter o valor em PSI por conta do código

em C que calcula primeiramente a pressão em KPa.

Veja que a equação encontrada é expressa em PSI, pois essa escala, no

caso do sensor utilizado, vai até 100. Como o A/D é de 8 bits, a sua resolução

é de 256 números. Como a escala em PSI é até 100, nós conseguimos

trabalhar com um passo de 1 PSI por leitura do A/D.

No ANEXO C podemos ver o código final em C que foi implementado no

projeto.

Page 33: Relatório Final Microcontroladores

32

7. RESULTADOS

Os primeiros resultados obtidos foram comparados com os resultados em

simulação, para verificação do correto funcionamento do projeto. Foram

realizadas algumas medições com valores de pressão aleatórios e comparados

com a pressão na simulação em software. Também é possível a comparação

entre a tensão de saída do sensor em ambos os casos. Essas comparações

são a primeira etapa da validação do sistema de leitura de pressão.

Figura 18: Pressão de 12KPa.

Fonte: próprio autor.

Page 34: Relatório Final Microcontroladores

33

Figura 19: Pressão de 40 KPa.

Fonte: próprio autor.

Page 35: Relatório Final Microcontroladores

34

Figura 20: Pressão de 93 KPa.

Fonte: próprio autor.

Page 36: Relatório Final Microcontroladores

35

Figura 21: Pressão de 200 KPa.

Fonte: próprio autor.

Page 37: Relatório Final Microcontroladores

36

Após essas medições aleatórias para comparação com o software, foram

medidas e comparadas as pressões na linha de pressão e a pressão

convertida pelo circuito. As imagens podem ser vistas na Figura 22.

Figura 22: Medições finais.

Fonte: próprio autor.

Por fim, na Figura 23, temos uma medição onde podemos ver a leitura

apresentada em 4 unidades diferentes, conforme a proposta do projeto.

Figura 23: Unidades de medição.

Fonte: próprio autor.

Page 38: Relatório Final Microcontroladores

37

A Figura 24 nos traz uma foto do circuito completo implementado.

Figura 24: Circuito completo implementado.

Page 39: Relatório Final Microcontroladores

38

8. CONCLUSÃO

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 conversão) para que o código de controle em C pudesse ser

implementado. No entanto, o código construído funcionou muito bem.

A 2ª Etapa transcorreu sem grandes problemas. Sendo que o maior

obstáculo foi o funcionamento do ADC0804. Após isso, o grupo montou o

circuito em protoboard e iniciou os testes com pressão obtendo bons

resultados.

Por fim, o resultado ao qual o projeto se propôs foi cumprido com

sucesso.

As fotos das medições realizadas podem ser vistas no ANEXO D.

Page 40: Relatório Final Microcontroladores

39

9. REFERÊNCIAS

FIGLIOLA, Richard S.; BEASLEY, Donald E..Teoria e Projeto para Medições

Mecânicas: Conceitos Básicos de Métodos de Medição. 4. ed. Rio de Janeiro:

Ltc, 2007. Cap. 1, p. 1-2.

FIGLIOLA, Richard S.; BEASLEY, Donald E..Teoria e Projeto para Medições

Mecânicas: Amostragem, Instrumentos Digitais e Aquisição de Dados. 4. ed.

Rio de Janeiro: Ltc, 2007. Cap 7, p.204.

FIGLIOLA, Richard S.; BEASLEY, Donald E..Teoria e Projeto para Medições

Mecânicas: Medições de Pressão e Velocidade. 4. ed. Rio de Janeiro: Ltc,

2007. Cap 9, p.310.

CASSIOLATO, César. MEDIÇÃO DE PRESSÃO: Características,

Tecnologias e Tendências. Disponível em:

<http://www.smar.com/newsletter/marketing/index23.html>. Acesso em: 19 set.

2013.

PROJTEC. ADC0804 (CONVERSOR A/D). Disponível 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). Disponível em:

<http://www.newtoncbraga.com.br/index.php/artigos/54-dicas/1234..>. Acesso

em: 08 out. 2013.

TODAY, Circuits. Interfacing ADC to 8051. Disponível em:

<http://www.circuitstoday.com/interfacing-adc-to-8051>. Acesso em: 27 ago.

2013.

Page 41: Relatório Final Microcontroladores

40

ANEXO A

///////////////////////////Interface com o ADC0804//////////////////////////////

void Interface_ADC0804()

int INTR = 1;

P1_0_bit = 0; // porta CS=0 sempre em nível 0

P1_1_bit = 0; // RD em nível 0 (baixo)

P1_2_bit = 0; // WR em nível 0 (baixo)

Delay_ms(10);

P1_2_bit = 1; // WR em nível 1 -> início conversão

P1_3_bit = INTR;

if ( INTR = 0 )

P1_2_bit = 0;

///////////////////////////Controle do LCD//////////////////////////////////////

// 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;

Page 42: Relatório Final Microcontroladores

41

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";

///////////////////////////Conversões///////////////////////////////////////////

char pressao_dec;

float pressao;

char press[5];

int botao;

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)

Page 43: Relatório Final Microcontroladores

42

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;

Page 44: Relatório Final Microcontroladores

43

///////////////////////////Programa principal///////////////////////////////////

void main()

Lcd_Init(); // inicializa o LCD

Lcd_Cmd(_LCD_CLEAR); // limpa o display

Lcd_Cmd(_LCD_CURSOR_OFF); // desliga o cursor

do

Interface_ADC0804(); // chama a função responsável pelo controle do AD

Calcula_pressao(); // chama a função responsável pelo cálculo e conversão da

pressão

IntToStr(pressao, press);

Lcd_Out(2,5, press);

while(1);

////////////////////////////////////////////////////////////////////////////////

Page 45: Relatório Final Microcontroladores

44

ANEXO B

Page 46: Relatório Final Microcontroladores

45

Page 47: Relatório Final Microcontroladores

46

Page 48: Relatório Final Microcontroladores

47

ANEXO C ///////////////////////////Interface com o ADC0804//////////////////////////////

void Interface_ADC0804()

int INTR = 1;

P1_4_bit = 0; // porta CS=0 sempre em nível 0

P1_5_bit = 0; // RD em nível 0 (baixo)

P1_6_bit = 0; // WR em nível 0 (baixo)

Delay_ms(10);

P1_6_bit = 1; // WR em nível 1 -> início conversão

P1_7_bit = INTR;

if ( INTR = 0 )

P1_6_bit = 0;

///////////////////////////Controle do LCD//////////////////////////////////////

// Lcd module connections

sbit LCD_RS at P3_6_bit;

sbit LCD_EN at P3_7_bit;

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;

Page 49: Relatório Final Microcontroladores

48

// End Lcd module connections

char txt1[] = "KPa "; // note que há um espaço após KPa

char txt2[] = "atm "; // note que há um espaço após atm

char txt3[] = "PSI "; // note que há um espaço após PSI

char txt4[] = "mmHg"; // note que não há um espaço após mmHg

///////////////////////////Conversões///////////////////////////////////////////

char pressao_dec;

float pressao;

char press[5];

int botao;

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;

if (P1_0_bit == 0)

Delay_ms(1);

P1_0_bit == 0;

botao=1;

if (P1_1_bit == 0)

Delay_ms(1);

P1_1_bit == 0;

Page 50: Relatório Final Microcontroladores

49

botao=2;

if (P1_2_bit == 0)

Delay_ms(1);

P1_2_bit == 0;

botao=3;

if (P1_3_bit == 0)

Delay_ms(1);

P1_3_bit == 0;

botao=4;

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

Page 51: Relatório Final Microcontroladores

50

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(); // inicializa o LCD

Lcd_Cmd(_LCD_CLEAR); // limpa o display

Lcd_Cmd(_LCD_CURSOR_OFF); // desliga o cursor

do

Interface_ADC0804(); // chama a função responsável pelo controle do ADC

Calcula_pressao(); // chama a função responsável pelo cálculo e conversão da pressão

IntToStr(pressao, press); // realiza a conversão de inteiro para char para poder ser mostrado

no LCD

Lcd_Out(2,5, press);

while(1);

////////////////////////////////////////////////////////////////////////////////

Page 52: Relatório Final Microcontroladores

51

ANEXO D