Ir ao conteúdo

Como obter de 11 ate 16 bits de resolução do conversor A/D !


aphawk

Posts recomendados

Postado

Geralmente nossos microcontroladores possuem um conversor A/D de resolução máxima de 10 bits. Porém algumas vezes desejamos que tivesse 11 ou 12 bits !

 

Deparei com um programa em Bascom, que o autor dizia que lia a aceleração com resolução de 13 bits. Aí fiquei curioso e resolvi estudar o processo.

 

Existe um App notes da Atmel, que explica uma técnica que permite obter resoluções de até 16 bits do conversor !

 

Claro que isso não vem de graça : conforme a resolução aumenta, a largura de banda do sinal a ser convertido diminui bastante.

 

O nome desta técnica chama-se OVERSAMPLING.

 

Ela consiste em um truque, onde fazemos muitas amostragens, calculamos a média, e com isso mudamos o fundo de escala de nosso resultado !

 

Existe uma condição para ela funcionar bem : tem de existir um pequeno ruído no sinal ( 99% dos casos tem ! ). Se voce filtrar demais o sinal, por exemplo usando um grande capacitor de filtro na entrada do A/D, o ruído se torna muito pequeno, e a técnica irá falhar, dando sempre um resultado com menos precisão do que voce deseja. Isto é um aspecto técnico, e se voce quiser entender o motivo, pode ler o artigo original :

 

http://www.atmel.com/Images/doc8003.pdf

 

Esta técnica serve tanto para microcontroladores AVR como para PIC.

 

 

RESUMO DA TÉCNICA

 

Por exemplo, para 10 bits, temos resultados com fundo de escala de 1023, para 11 bits teremos 2047, e assim por diante.

 

Basta fazermos o seguinte, observe a tabela abaixo feita considerando uma tensão de referência de 5 volts e a tensão aplicada na entrada de 2,4729 , o que deu uma leitura de 505 com a resolução normal de 10 bits :

 

np7a.png

 

Se voce quiser medir um sinal com 10 bits, no caso de um AVR, o clock normal "recomendado" é de 200 Khz, e podemos amostrar um sinal de frequência máxima de 7600 Hz .

 

Agora, vamos querer medir esse sinal com 11 bits. O que faremos ?

 

 - Meça 4 vezes seguidas , somando os valores. Divida agora essa soma por 2 ( 2^1 conforme indicado na tabela em RIGHT SHIFTED). Pronto, esse é o seu  resultado com 11 bits de resolução, considerando um novo fundo de escala de 2047 ! Resultado = 1012

 

E se quisermos agora obter um resultado com 13 bits ?

 

 - Meça 64 vezes seguidas , somando os valores. Divida agora essa soma por 8 ( 2^3 conforme indicado na tabela em RIGHT SHIFTED). Pronto, esse é o seu  resultado com 13 bits de resolução, considerando um novo fundo de escala de 8191 ! Resultado = 4051

 

Lembre-se de que a frequência máxima do sinal a ser medido cai pelo mesmo fator com que fazemos a quantidade de leituras ! Veja a última coluna da tabela ....

 

Se voce quiser medir um sinal com 13 bits, a frequência máxima dele será 64 vezes menor , isto é , será de 118 Hertz. Mas eu não indico usar esse valor, e sim 10 vezes menor. voce que vai saber se deve ou não confiar .....

 

Embora esta seja a informação do fabricante, eu não sugiro utilizar esta técnica para se medir o nivel instantâneo de um sinal que não seja DC ou que não varie bem lentamente, com frequências pelo menos 10 vezes menores do que a indicada na tabela. Digo isto porque este truque se baseia no critério de Nyquist, que é mais útil para se determinar a frequência do sinal, mas como teremos várias amostragens , e elas vão pegar vários trechos diferentes de uma senóide, fica difícil de dizer que o nosso resultado representa o valor instantâneo do momento em que fizemos a leitura.

 

Por último, lembro que isto não resolve o problema da não-linearidade dos conversores A/D integrados, que é pequena, mas existe.

 

Bons usos.

 

Paulo

Postado

Não esquecer que para obter precisão com CAD com 13 bits é necessário uma fonte de referência com variação de 1/2 bit menos significativo.

Para uma tensão de 5V, a tensão de referência deverá variar entre 4,9997V e 5,0003V, ou seja, variação de 0,6mV, que deve se manter dentro da faixa de temperatura ambiente. Isso é F... muito difícil ($) de se obter.

MOR_AL

Postado

@MOR,

Esse requisito de meio bit LSB vale para qualquer número de bits.... Até mesmo 8 bits ! É por causa do SAR ....

Sem uma excelente tensão estabilizada, qualquer medida é suspeita. Até os nossos LM7805 não servem para 10 bits, mas quase todo mundo usa ele ignorando o drift térmico dele...

Eu uso este cara aqui para projetos muito especiais :

http://www.ebay.com/itm/ADR02BR-ADR02-Voltage-Reference-IC-/120667562362?pt=LH_DefaultDomain_0&hash=item1c1858e17a

 

 

Comprei ontem este cara aqui também, por US$ 8,50 entregue em casa :

http://www.ebay.com/itm/1PCS-ADR03BR-Ultracompact-Precision-2-5V-Voltage-References-SOP8-/221298941729?pt=LH_DefaultDomain_0&hash=item338671df21

Que tal 1 ppm por grau Celsius ????? Ambos tem isso, o primeiro com 5V e o segundo com 2.5 V !

 

 

Se for aceitável 0,5 mV para uma variação de 10 graus Celsius, tem este aqui , TL431A :

http://www.ebay.com/itm/TL431A-Manu-TI-Encapsulation-TO-92-Programmable-Shunt-Regulator-Programmable-/370832110452?pt=LH_DefaultDomain_0&hash=item565750f374

Paulo

Postado

@MOR,

Esse requisito de meio bit LSB vale para qualquer número de bits.... Até mesmo 8 bits ! É por causa do SAR ....

Sem uma excelente tensão estabilizada, qualquer medida é suspeita. Até os nossos LM7805 não servem para 10 bits, mas quase todo mundo usa ele ignorando o drift térmico dele...

Eu uso este cara aqui para projetos muito especiais :

http://www.ebay.com/itm/ADR02BR-ADR02-Voltage-Reference-IC-/120667562362?pt=LH_DefaultDomain_0&hash=item1c1858e17a

 

UAU!!! US$ 12.00 cada. Mas fazer o quê, se for necessário...

 

 

Comprei ontem este cara aqui também, por US$ 8,50 entregue em casa :

http://www.ebay.com/itm/1PCS-ADR03BR-Ultracompact-Precision-2-5V-Voltage-References-SOP8-/221298941729?pt=LH_DefaultDomain_0&hash=item338671df21

 

 

Este está mais em conta. Não baixei o datasheet.

Que tal 1 ppm por grau Celsius ????? Ambos tem isso, o primeiro com 5V e o segundo com 2.5 V !

 

 

Se for aceitável 0,5 mV para uma variação de 10 graus Celsius, tem este aqui , TL431A :

http://www.ebay.com/itm/TL431A-Manu-TI-Encapsulation-TO-92-Programmable-Shunt-Regulator-Programmable-/370832110452?pt=LH_DefaultDomain_0&hash=item565750f374

 

Já fiz um projeto usando esse.

O valor da tensão de referência à 25ºC pode se encontrar já dentro de 1/2 bit para um CAD com 8 bits (aprox. 10mV). A variação desde 0ºC até 70ºC acrescenta típicos 4,5mV e até um máximo de 8mV.

Em outras palavras. Fornece no pior caso, para uma variação de temperatura ambiente entre 0º a 70ºC, 7 bits de precisaão. No melhor caso, podendo-se ajustar a tensão de referência, por meio de um trimpot, com um multímetro de boa qualidade, típicos 9 bits e mínimo de 8 bits. Atentar para a letra do sufixo do componente. Isso faz diferença.

Paulo

 

Existem outras restrições, mas isso é assunto para outro papo.

MOR_AL

Postado

@MOR,

 

Já que voce citou, vou deixar registrado sobre "as outras restrições" ! O Método apresentado aqui não possui nenhuma restrição, a não ser a necessidade de algum pequeno ruído nas medições, conforme eu disse acima. As "outras restrições" se aplicam a TODOS OS CONVERSORES A/D , independente do numero de bits.

 

Mesmo para o uso normal de um conversor A/D, com qualquer numero de bits, existem uma série de fatores de erros. Claro que na prática quase sempre são ignorados ( kkk ), mas se voce procura uma precisão absoluta nas medidas, como para uso em instrumentação, deve utilizar as técnicas, conforme o artigo citado acima, de correções das medidas feitas por qualquer conversor A/D :

 

http://www.atmel.com/pt/br/Images/doc2559.pdf

 

Já adianto que é uma leitura meio "pesada" , mas creio que serve tanto para os AVR's como para os Pics em quase tudo. Considerem apenas que existe uma diferença no numero de ciclos de clock que os conversores dos Pics e dos Avrs demoram para fazer a conversão.

 

Paulo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!