Quando estamos trabalhando em algum projeto, seja utilizando Arduino, CLP ou qualquer outro processador, nossas entradas são sinais vindos do nosso mundo real, como os botões que apertamos, um LDR verificando o nível de luz do ambiente, um sensor de ultrassom para nosso robô evitar uma colisão ou qualquer outro tipo de sensor que nosso projeto exija. Estes sinais podem ser classificados como digitais ou analógicos dependendo de como interagem com o processador.
Sinais digitais são aqueles que possuem apenas dois estados lógicos, “ligado” ou “desligado”, “um” ou “zero”, segundo a literatura que estudamos. Normalmente a saída em estado zero envia um sinal com valor muito próximo à zero volts, enquanto uma saída em estado 1 envia um sinal com o nível de tensão fixo que vai depender do sensor utilizado, podendo ser o mesmo valor da alimentação ou um valor lógico com 5V.
Já os sinais analógicos podem representar infinitos valores dentro de uma faixa, por exemplo se trabalhamos com um sensor de temperatura com uma faixa de trabalho de 0⁰C até 100⁰C com saída que utiliza um sinal de 0V à 5V, esse sinal será proporcional à medida da temperatura dentro da faixa de medição do sensor, como vemos na tabela:
Temperatura (⁰C) | Saída do sensor (V) |
0 | 0,0 |
25 | 1,25 |
50 | 2,5 |
62 | 3,1 |
90 | 4,5 |
100 | 5,0 |
Trabalhando com sinais analógico todos os valores são considerados, pois um valor de 2,5V é diferente de 2,51V, por exemplo, embora para nós essa diferença possa não ser tão relevante.
Para trazer esses valores analógicos para o mundo digital, ou seja, para valores infinitos serem convertidos em “zeros” e “uns” utilizamos circuitos chamados conversores analógicos-digitais, também chamados de conversores A/D ou simplesmente ADC ( que é a sigla em inglês para Analog to Digital Converter ), que são circuitos mistos pois irão transformar um tipo de sinal em outro fazendo uma interface do mundo real para o mundo digital.
Todos os processadores modernos trabalham com sinais digitais, sejam eles vindos da memória, de um endereço ou das entradas. Mas se os sinais digitais são representados por “zeros” e “uns”, como valores maiores são representados?
A representação de um valor dentro do processador é feita paralelamente, ou seja, a junção de vários bits ao mesmo tempo para representar um único valor.
Se temos um bit podemos representar apenas dois valores por ele, 0 ou 1. Porém se tivermos dois bits para representar um número, poderemos representar 4 valores, definindo um peso para cada bit.
Vamos ver como fica essa relação com apenas um bit:
BIT | Valor |
0 | 0 |
1 | 1 |
Agora combinando 2 bits, poderemos formar mais quatro valores em uma conversão para um valor maior:
BIT 1 | BIT 2 | Valor |
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 2 |
1 | 1 | 3 |
A faixa de valores possíveis aumenta exponencialmente à medida que o número de bits aumenta, porém a complexidade de se desenvolver um processador que consiga trabalhar com esse barramento também aumenta na mesma medida.
Esses bits quando trabalham juntos em paralelo formam o que chamamos de barramento, que é um caminho para a transferência de dados entre os diferentes componentes do circuito eletrônico ou dentro dos processadores, onde esse barramento é mais comum de ser encontrado com 8 bits ou 16 bits, hoje em dia em computadores domésticos chega a 64 bits.
Em barramentos de 8 bits, os valores vão de 0 à 255 em barramentos de 16 bits temos uma faixa de 0 à 65535 e, por curiosidade, nos barramentos de 64 bits os valores passam de 1,8×10^19.
Esse número de bits representando o valor analógico chamamos de resolução, o valor da saída do conversor será tão próximo da entrada quanto for sua resolução.
Para uma saída digital mais próxima possível do valor analógico uma maior quantidade de bits se faz necessária. Um conversor de 8 bits terá o valor da sua faixa de trabalho dividido em 256 partes. Já um conversor de 12 bits terá esse valor dividido por 4096, cada variação será melhor percebida pelo circuito.
Porém maior resolução não significa uma melhora no projeto como um todo, circuitos com resolução maior também possuem um custo maior, podendo não melhorar o custo-benefício do projeto como um todo.
Os amplificadores operacionais quando estão trabalhando sem a realimentação da saída, possuem a característica de comparar os sinais das entradas inversora e não-inversora, e como o ganho dessa configuração é muito alto, o nível de tensão do sinal de saída é praticamente o mesmo da alimentação, gerando um sinal de ligado ou desligado, comparável à um sinal digital.
Amplificador operacional como comparador de tensão
Assim quando temos um sinal na entrada não-inversora maior que o sinal na entrada inversora, a saída será a tensão de alimentação, ou seja, irá para um nível considerado ligado, ou nível lógico “1”.
A conversão mais simples de ser compreendida é feita diretamente do sinal analógico para digital por meio de uma comparação com amplificadores operacionais.
Esse tipo de conversor é chamado também de conversor paralelo ou conversor tipo flash, pois é o conversor mais rápido existente.
O sinal analógico é lido diretamente por todos os amplificadores ao mesmo tempo, como estão em modo comparador, será comparado com as diferentes tensões no divisor de tensão formado pelos resistores.
Esse divisor de tensão não precisa estar ligado à tensão de alimentação, pode-se utilizar uma outra tensão para a referência do circuito de medição ligado à entrada de referência (REFERENCE), para casos em que a diferença entre a alimentação e o sinal é muito grande.
Cada amplificador operacional será responsável por um sinal ao circuito de controle e não um bit, portanto para se obter uma resolução de 8bits, são necessários 255 amplificadores operacionais dentro do circuito de conversão, o que encarece a produção desse tipo de conversor e aumenta o consumo do circuito como um todo.
Vamos pegar como exemplo um circuito integrado AD7822 do fabricante ANALOG DEVICES, um CI conversor A/D de 8 bits do tipo paralelo com uma taxa de amostragem de até 10MHz.
Analisando seu circuito interno de entrada, temos a entrada analógica Vin onde será ligado nosso circuito analógico, indo até uma das entradas dos amplificadores operacionais.
Os sinais dos amplificadores entram em um decodificador onde será feita a conversão para valores binários para então irem nos drivers de saída, onde serão ajustados os níveis lógicos para poder trabalhar com outros circuitos.
Para reduzir custos de produção e consequentemente reduzir o custo do circuito, os conversores do tipo flash produzidos hoje em dia fazem mais de uma medição do sinal de entrada para assim poderem reduzir o número de amplificadores operacionais dessa forma cada medição verifica uma parte do sinal e, portanto, com apenas 15 amplificadores pode-se alcançar 8 bits na saída.
Os conversores A/D do tipo flash são utilizados em aquisição de sinais em aparelhos de medição avançados, como osciloscópios devido à sua alta velocidade, compensando assim seu custo maior.
Por serem muito rápidos e eficientes, muitos circuitos integrados hoje em dia utilizam apenas um conversor paralelo para mais de uma entrada analógica, por meio de uma multiplexação, dessa forma aumenta-se o número de circuitos analógicos em um mesmo bloco e diminui-se o número de componentes e o tamanho da placa.
Diferente do conversor paralelo, outros conversores precisam de um processamento para realizar a conversão completa, como é o caso do conversor por aproximações sucessivas, que realiza pequenos cálculos para avaliar a amostra de tensão na entrada para então transmitir os dados para sua saída.
O conversor de aproximações sucessivas, chamado em inglês pela sigla SAR ADC, tem a vantagem de ocupar pouco espaço e baixo consumo de energia, essas características, associada à um circuito em uso há bastante provado ser bastante confiável, faz dele um circuito ideal para ser utilizado dentro de outros blocos, como é o caso do Arduíno.
Se analisarmos o datasheet do ATMEL 328p, que é o microcontrolador utilizado em vários modelos de Arduíno como o é o caso do “uno” e do “nano”, vemos que suas entradas quando em modo analógico, são conectadas à um conversor do tipo SAR ADC.
Circuito de entrada analógica ATMEL328p
Essa imagem, retirada do datasheet do ATMEL328p, mostra todos os componentes da conversão analógica para digital.
Para entendermos como é o funcionamento desse tipo de conversor, vamos analisar um modelo simplificado, mostrando os componentes primordiais.
Diagrama de blocos de um SAR ADC
A entrada analógica é ligada diretamente em um amplificador operacional em modo comparador que gera um sinal para iniciar o registrador de aproximações sucessivas.
O registrador de aproximações sucessivas, quando iniciado pelo amplificador, gera valores digitais em uma sequência lógica otimizada para encontrar o valor rapidamente, baseado nos pulsos do clock do circuito. Estes bits são conectados já à saída digital do conversor.
Essa saída é conectada também à um conversor digital para analógico que vai fazer o caminho inverso, utilizar o valor digital para um valor analógico que será conectado à outra entrada do amplificador operacional da entrada. Portanto enquanto o valor da entrada analógica não for igual ao valor do registrador convertido, ele continuará fazendo tentativas.
Ao iniciar, estando a entrada analógica com valor zero o registrador não entrará em funcionamento, somente quando a entrada analógica receber algum valor de tensão o comparador detectará a diferença enviando um sinal para o registrador iniciar a contagem.
O registrador então irá mudar o valor da saída alterando os bits em uma sequência própria para otimizar o tempo de conversão.
Esses bits serão ligados à um conversor que irá gerar um valor analógico que será ligado ao mesmo amplificador operacional da entrada, quando esse valor analógico for igual á entrada analógica do circuito a conversão estará terminada.
Quando estudamos eletrônica, aparentemente temos dois tipos que parecem totalmente diferentes, a eletrônica analógica com resistores, capacitores e demais componentes discretos e a eletrônica digital com portas lógicas, microcontroladores e programação.
Porém esses dois mundos são totalmente ligados e podem ser unidos por meio de conversores que agora sabemos como funcionam.
Os conversores ADC são totalmente integrados aos microcontroladores que em um primeiro contato com um Arduíno, parecem somente mais uma linha de código que podem ser adicionadas e retiradas a qualquer momento do projeto, porém por trás dessa função temos circuitos com o funcionamento muito interessante de ser estudado.
Tenha a Metodologia Eletrogate na sua Escola! Conheça nosso Programa de Robótica Educacional.
|
A Eletrogate é uma loja virtual de componentes eletrônicos do Brasil e possui diversos produtos relacionados à Arduino, Automação, Robótica e Eletrônica em geral.
Tenha a Metodologia Eletrogate dentro da sua Escola! Conheça nosso Programa de Robótica nas Escolas!