Trazendo o mundo real para dentro do processador - Condicionamento de sinais analógicos

Condicionamento de sinais analógicos

Introdução

 

Medir grandezas físicas, tais como temperatura, umidade, pressão, vazão, corrente, tensão etc. é um grande desafio para o projetista eletrônico. Para a nossa sorte, existem sensores ou transdutores que convertem essas grandezas em sinais elétricos. O problema é que a linearidade, a amplitude do sinal elétrico e o tipo, tensão ou corrente, também variam muito. Neste artigo serão abordados alguns recursos e técnicas para resolver alguns desses problemas, e condicionar e trazer esses sinais até os processadores de forma que eles possam ser digitalizados e processados por software depois.

 

 

Instrumentos para Automação

 

Instrumentos de automação são recursos muito úteis e confiáveis, pois têm que atender a padrões de qualidade para aplicações industriais. Tratam-se dos transmissores, indicadores e controladores. Pode-se observar alguns desses instrumentos na Figura 1.

 

Condicionamento de sinais analógicos: Instrumentos
Figura 1 - Transmissores e indicador para automação

 
A grande vantagem de se utilizar esse tipo de recurso é que o instrumento realiza todo o condicionamento do sinal analógico e o entrega linearizado e transformado em saídas padronizadas, sendo as mais comuns em corrente, de 0 a 20 mA ou 4 a 20 mA, ou então em tensão, de 0 a 5 V, de 1 a 5 V ou 0 a 10 V. Muitos instrumentos também possuem interface de comunicação digital, USB, RS-485 ou outras, para serem utilizadas como interface de programação, monitoramento ou controle remoto.

 

As desvantagens da utilização dos instrumentos de automação podem ser o preço e seu tamanho físico. Se o projeto for para um projeto de pesquisa, ou uma instalação com poucas unidades, vale a pena considerar esses instrumentos como parte da solução. Isso permite que se possa ganhar tempo e focar seu trabalho na solução de engenharia ou no objeto do seu estudo. Se o seu projeto for de um equipamento que será produzido de forma seriada em grandes quantidades, será necessário embarcar o condicionamento dos sinais analógicos no seu projeto.

 

 

Condicionamento de sinais analógicos

 

É necessário observar e definir alguns parâmetros para que os sinais analógicos de sensores possam ser transformados e conduzidos até o seu processador:

 

Sensor

  • Excursão do sinal elétrico que será utilizado na sua aplicação (em Volts ou Amperes);
  • O sinal deve ser acoplado em CC  (corrente contínua) ou CA (corrente alternada)?;
  • A máxima frequência de operação, se em CA;
  • A impedância de saída do sensor.

 

Conversor A/D

  • A máxima excursão do sinal na entrada do conversor A/D;
  • A impedância de entrada do conversor A/D do seu processador, ou projeto;
  • A máxima impedância de saída do sensor que pode ser aplicada ao conversor A/D para que o conversor possa trabalhar dentro das suas especificações;
  • Taxa de amostragem do conversor A/D;
  • Resolução e precisão do conversor A/D.

 

Na Figura 2 pode-se observar um condicionador de sinais genérico. É frequente a necessidade de se somar ou subtrair uma tensão constante, amplificar ou reduzir o sinal para que sua amplitude abranja a maior faixa possível dentro da faixa de entrada do conversor A/D, aplicar um filtro passa-baixas de anti-aliasing e finalmente, se necessário, ainda ajustar a impedância de saída do circuito para otimizar a operação do conversor A/D.

 

Condicionamento de sinais analógicos: Esquema Geral
Figura 2 - Esquema genérico para condicionamento de sinais analógicos

 

A seguir será desenvolvido um exemplo para ilustrar como que é realizado esse cálculo.

 

 

Exemplo

 

Suponhamos que o nosso desejo seja, utilizando um ARDUINO, medir temperaturas entre 10 e 60 ºC, com uma precisão de ± 1 ºC dentro dessa faixa. Um sensor de temperatura bastante popular e adequado para essa função é o LM35 de fabricação da Texas Instruments. Ele possui uma função linear de transferência na saída de 0 + 10 mV/ºC. No nosso exemplo, a excursão do sinal de saída do sensor será de 100 a 600 mV. O sensor, no encapsulamento TO-92(3), está ilustrado na Figura 3.

 

Condicionamento de sinais analógicos: LM35
Figura 3 - Sensor LM35DZ no encapsulamento TO-92(3)

 

Na Figura 4 pode-se observar um resumo das especificações do sensor. Note que a impedância de saída desse sensor é de 0,1 Ω para uma carga de 1 mA.

 

Condicionamento de sinais analógicos: Especificações do LM35
Figura 4 - Resumo das especificações do LM35

  

A melhor forma de iniciar os cálculos para o condicionamento dos sinais é partir do conversor A/D para o sensor. Nesse exemplo abordaremos o processador ATMEGA328P-PU, microprocessador de 8 bits fabricado pela ATMEL, utilizado nos populares ARDUINOs UNO, PRO, PRO Mini e Nano. As tensões de alimentação desses ARDUINOs é de 5V ou 3,3V, conforme o modelo. Para o nosso exemplo adotaremos a tensão de alimentação de 5 Vcc. A referência interna do conversor A/D adotada para o nosso exemplo será de 5V, ou seja, a excursão total do sinal na entrada do conversor A/D, para que se aproveite ao máximo a sua resolução, deverá ser entre 0 e 5V. Confira os detalhes das entradas analógicas do ARDUINO no artigo técnico Arduino - Entradas Analógicas.

 

Observação: Note que nas especificações do conversor A/D existe uma opção para que se utilize uma referência interna de 1,1 V do ATMEGA328, o que para esse caso específico seria bem melhor, uma vez que a excursão da saída do sensor se aproxima muito da faixa de entrada do conversor A/D. Mas foi adotado Vcc (% Vcc) para que se possa ilustrar melhor uma das situações bastante frequentes de condicionamento nesse tipo de projeto.

 

Observe na Figura 5 a arquitetura interna do conversor A/D do processador ATMEGA328P.

 

Condicionamento de sinais analógicos: Esquema do ADC
Figura 5 - Esquema do conversor A/D do ATMEGA328P

 

Na Figura 5 pode-se observar que existem 8 canais de entradas analógicas multiplexadas na entrada do conversor A/D. Nos projetos do ARDUINO são utilizadas apenas 6 (destaque do ARDUINO UNO na Figura 6).

 

Condicionamento de sinais analógicos: ARDUINO UNO
Figura 6 - Esquema elétrico do ARDUINO UNO com as entradas analógicas em destaque

 

Na Figura 7 pode-se observar um resumo das principais especificações do conversor A/D do ATMEGA328. Note que o conversor tem 10 bits de resolução, uma precisão de 8 bits e taxa máxima de amostragem de 76,9 kSPS (kiloAmostras por segundo - 8 bits).

 

Condicionamento de sinais analógicos: Especificações do ADC
Figura 7 - Resumo das especificações do conversor A/D do ATMEGA328P

 

Os 10 bits de resolução definem que a faixa de entrada de 5 Vcc pode ser dividida em 1024 degraus discretos de medição (quantização), ou seja, 5 V/1024 ≅ 0,0049 V (4,9 mV), porém a precisão do conversor A/D está nos 8 bits, se não forem calculadas médias. Isso implica que a unidade discreta de medição é de 5 V/256 ≅ 0,020 V (20 mV). A esses valores calculados se dá o nome de sensibilidade. Qualquer sinal que seja uma fração desse valor não pode ser medido pelo conversor.

 

Se avançarmos um pouco mais nas especificações do conversor A/D do ATMEGA328, encontramos que as operações de amostragem e S/H foram otimizadas para impedâncias de saída do circuito, que for conectado ao pino do conversor A/D, de 10 kΩ ou menos. Circuitos com baixa impedância de saída só deverão ser utilizados para sinais que variam lentamente. Outra informação muito importante é a ênfase que o manual dá para a necessidade de se utilizar um filtro analógico de anti-alising. Veja o destaque na Figura 8.

 

Condicionamento de sinais analógicos: Descrição do circuito de entrada do conversor A/D do ATMEGA328P
Figura 8 - Descrição do circuito de entrada do conversor A/D do ATMEGA328P

 

Colocados todos esses dados, podemos iniciar os cálculos para o acoplamento do sensor ao conversor A/D. A excursão total do sensor para as nossas especificações é de 600 mV - 100 mV = 500 mV. Ou seja, a saída do sensor terá 100 mV de offset, mais uma excursão total de 500 mV. Observando a Figura 2, pode-se concluir que é necessário subtrair 100 mV da saída do sensor e amplificar a saída em 10 vezes para se obter uma excursão útil de 5 V na saída do conjunto e otimizar a conversão A/D.

 

A maneira mais direta de fazer isso é utilizar um amplificador operacional numa configuração não inversora com bias ou offset. Confira a formulação genérica na Figura 9, extraída do documento MAS.836 - HOW TO BIAS AN OP-AMP, texto de um curso do MIT.

 

Condicionamento de sinais analógicos: Esquema genérico para adequar o sinal de temperatura à entrada do conversor A/D
Figura 9 - Esquema genérico para adequar o sinal de temperatura à entrada do conversor A/D

 

Da Figura 9 temos: O ganho do circuito não inversor simples é G = 1 + R2/R1, o que para o nosso caso deve ser G = 10. Passando para a aplicação de um offset ao amplificador, usando 5 Vcc como tensão para gerar o offset e renomeando os resistores, obtemos: 

  •  (1) Voffset = [R2 / (R1 + R2)] * Vcc;
  •  (2) G = 1 + [R3 / (R1 // R2)] onde (R1 // R2) quer dizer a resistência equivalente aos resistores em paralelo .

 

Substituindo por nossos dados, obtemos:

 

De (1) :

 

100 mV = [R2 / (R1 + R2)] * Vcc  => 0,1 = [R2 / (R1 + R2)] * 5

rearranjando, fica:  [(R1 + R2) / R2] = 50 ou seja R1 + R2 = 50 * R2

(3) R1 = 49 * R2

 

De (2):

 

10 = 1 + [R3 / (R1 // R2)], ou seja 9 = [R3 / (R1 // R2)]

=> (4) R3 = 9 * (R1 // R2)

 

Substituindo R1 por (3):  R1 // R2 = (R1 * R2) / (R1 + R2) = (49 * R2 * R2) / (49 * R2 + R2) = (49 / 50) * R2

(5)  R1 // R2 = 0,98 * R2

 

Substituindo em (4):

 

R3 = 9 * 0,98 * R2

(6)  R3 = 8,82 * R2

 

O próximo desafio é, a partir dos resultados acima, chegar a valores comerciais dos resistores. Normalmente isso é feito por tentativa e erro. Por exemplo:

 

Suponhamos que R1 = 100 k.  Isso implica que R2 = 100 k / 49 = 2,0408 k e R3 = 8,82 * 2,0408 k = 18 k. Se utilizarmos resistores de 1 %, os valores comerciais mais próximos são:

 

(7) R1 = 100 kΩ 1%, R2 = 2,05 kΩ 1% e R3 = 18,2 kΩ 1%

 

Quaisquer que sejam os resistores utilizados, é sempre interessante o projetista prever no seu projeto uma operação de aferição ou calibração das medidas, se for desejada uma precisão maior, uma vez que raramente conseguimos encontrar os valores e tolerâncias dos resistores calculados e existem outros erros decorrentes de tensões de offset do  operacional etc. Nesse caso isso poderia ser feito expondo o sensor a temperaturas controladas e precisas e realizar as compensações por software, se necessário. A aferição mais comum nesse caso seria a de se aferir o offset na temperatura mínima e o ganho na temperatura máxima.

 

O amplificador operacional, que pode ser utilizado nesse caso, deve ter as seguintes especificações:

  • Single supply (5Vcc);
  • Rail-to-rail output;
  • low cost.

 

Alguns exemplos:

 

O último item a ser projetado é o filtro anti-aliasing, que nesse caso pode ser um simples circuito RC do tipo passa-baixas. Veja na Figura 10 o circuito típico e sua resposta em frequência.

 

Condicionamento de sinais analógicos: Circuito RC passa-baixas e sua resposta em frequência
Figura 10 - Circuito RC passa-baixas e sua resposta em frequência

 

A frequência de corte do circuito RC => Fc = 1/(2*π *RC). Se projetarmos a frequência de corte em 100 Hz, a equação fica assim:

 

RC = 1/(2*π * 100), ou seja RC =  1,5 * 10 -3.

 

Das especificações do conversor A/D temos que o resistor deve ser menor ou igual a 10 kΩ. Vamos escolher arbitrariamento 4,7 kΩ.

 

=> C = 1,5 * 10 -3 / 4,7 * 10 +3, ou seja C = 3,3 * 10-7 = 330 nF.

 

O filtro deverá ter os seguintes componentes R = 4,7 kΩ e C = 330 nF.

 

Antes de montar o seu circuito é bom realizar uma simulação com ele, para se certificar de que não foi cometido algum erro grosseiro nos cálculos. O circuito mostrado na Figura 11, pode ser simulado no Paul Falstad’s Circuit Simulator Applet, um simulador online de circuitos muito simples de se usar. "Clicke" na figura para visualizar a simulação completa.

 

Condicionamento de sinais analógicos: Simulação do circuito de condicionamento do sensor
Figura 11 - Simulação do circuito de condicionamento do sensor

 

Com isso fechamos o nosso exercício de condicionamento de sinais analógicos. Como já foi mencionado antes, se nesse caso fosse utilizada a referência interna do conversor A/D de 1,1 V, seria possível conectar o LM35 sem manipular a sua saída diretamente na entrada do conversor A/D. Seria recomendável mesmo nesse caso utilizar o filtro passivo passa-baixas calculado para o projeto.

 

 

Conclusões

 

Condicionar sinais analógicos, para que possam ser digitalizados, requer alguns cuidados que foram abordados neste artigo técnico. A sequencia de operações sugerida é um bom começo para que se possa calcular e resolver esse acoplamento. Não se esqueça que sempre há diversas soluções alternativas para o mesmo problema. Requer um pouco de arte e determinação para que se encontre a melhor solução de compromisso que atenda às especificações e necessidades do projeto.

 

Referências

 

[1] Processamento Digital de Sinais - DSP - Parte 2

[2] Datasheet do LM35

[3] Datasheet do ATMEGA328P-PU

[4] Conversor A/D - Trazendo o mundo real para dentro do processador

[5] MAS.836 - HOW TO BIAS AN OP-AMP

[6] Datasheet do amplificador operacional LMV321

[7] Datasheet do amplificador operacional MCP6271

[8] Simulador de circuitos on-line - Paul Falstad’s Circuit Simulator Applet

[9] Arduino - Entradas Analógicos

Crédito para a Figura 1 - Novus Produtos Eletrônicos

Crédito para a figura destacada - Beauty of Fading Autumn - Olgalis | Dreamstime Stock Photos

Outros artigos da série

<< DSP - Oversampling, Upsampling e DownsamplingTrazendo o mundo real para dentro do processador - Condicionamento de sinais analógicos - Parte 2 >>
NEWSLETTER

Receba os melhores conteúdos sobre sistemas eletrônicos embarcados, dicas, tutoriais e promoções.

Obrigado! Sua inscrição foi um sucesso.

Ops, algo deu errado. Por favor tente novamente.

Licença Creative Commons Esta obra está licenciada com uma Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional.

4
Deixe um comentário

avatar
 
2 Comment threads
2 Thread replies
1 Followers
 
Most reacted comment
Hottest comment thread
3 Comment authors
Henrique Frank Werner PuhlmannIsaias De Sousa Barbosa JúniorHenrique Frank Werner PuhlmannFlavio Hernan Recent comment authors
  Notificações  
recentes antigos mais votados
Notificar
Isaias De Sousa Barbosa Júnior
Visitante
Isaías

Caro Henrique, muito bom artigo. No entanto, tenho uma dúvida quanto a passagem: "No nosso exemplo, a excursão do sinal de saída do sensor será de 100 a 600 mV." Essa excursão de saída é uma escolha de projeto ou está atrelada aos limites do sensor ou do ADC? Gostaria que explicasse isso em mais detalhes.

Agradeço a compreensão.

Flavio Hernan
Visitante
Flávio Nunes

Fiquei com um dúvida, quando você diz "Os 10 bits de resolução definem que a faixa de entrada de 5 Vcc pode ser dividida em 1024 degraus discretos de medição (quantização), ou seja, 5 V/1024 ≅ 0,0049 V (4,9 mV), porém a precisão do conversor A/D está nos 8 bits", porque apenas 8 bits definem a precisão?

Henrique Frank Werner Puhlmann
Visitante

Caro Flávio, a sua pergunta é muito boa! O fato do conversor A/D ter 10 bits de resolução e 8 de precisão é característica física construtiva do componente. Se você observar os detalhes das especificações mostradas na Figura 7, poderá ler que a precisão absoluta do A/D é de +/- 2 LSB, ou seja os 2 bits menos significativos. Assim, a precisão absoluta do A/D resume-se aos 8 bits mais significativos. Então porque tem 10? Isso te permite a melhorar a precisão do A/D utilizando-se de médias, sem muitos cálculos. Veja o artigo "DSP - Oversampling, Upsampling e Downsampling "… Leia mais »