Conversao Digital Analogica: mudanças entre as edições
Linha 28: | Linha 28: | ||
:Para uma conversão com um número elevado de bits, a relação entre as resistências se torna elevada o que dificulta a precisão. | :Para uma conversão com um número elevado de bits, a relação entre as resistências se torna elevada o que dificulta a precisão. | ||
Existem | Existem outras estruturas eletrônicas que permitem implementar conversores DA, além de placas conversoras DAC para uso com microcontroladores. | ||
==Microcontroladores e Saídas PWM== | ==Microcontroladores e Saídas PWM== |
Edição das 11h17min de 19 de outubro de 2021
Conversão Digital Analógica
Um dispositivo conversor digital analógico (DAC) permite gerar uma tensão elétrica analógica a partir de um dado digital.
Conversor DA
Um exemplo de Conversor Digital Analógico (DAC) de 4 bits é ilustrado na figura, utilizando um circuito somador com amplificador operacional e uma malha resistiva com pesos binários.
-vout = 1/2 D3 + 1/4 D2 + 1/8 D1 + 1/16 D0
- Funcionamento do circuito
- Entradas digitais (0V ou 5V) e saída analógica variando entre 0V e 5V.
- O circuito DAC de 4 bits vai fornecer uma saída analógica escalonada em 16 níveis de tensão.
- Exemplos de algumas entradas e os respectivos níveis de tensão de saída:
Entrada digital Ganho Ampop Saída analógica 1000 1/2 2,5 V 0100 1/4 1,25 V 0010 1/8 0,625 V 0001 1/16 0,3125 V
- Para uma conversão com um número elevado de bits, a relação entre as resistências se torna elevada o que dificulta a precisão.
Existem outras estruturas eletrônicas que permitem implementar conversores DA, além de placas conversoras DAC para uso com microcontroladores.
Microcontroladores e Saídas PWM
Muitos microcontroladores, como o Arduíno, emulam saídas analógicas através de modulação PWM (Pulse Width Modulation).
O sinal PWM é uma onda quadrada, com frequência constante, mas a fração de tempo em que o sinal é HIGH (5V) (duty cycle) pode variar entre 0 e 100%, fornecendo uma média de tensão variável na saída [1].
O Arduíno possui 6 saídas PWM são identificadas pelo sinal ~ e fornecem pulsos PWM de 8 bits, possibilitando, portanto, 256 valores diferentes de tensão analógica entre 0V e 5V, com passos de 0 a 255.
Entretanto, em situações onde uma sinal PWM não possa para ser utilizado como controle analógico pode ser necessário utilizarmos um filtro de saída PWM ou até dispormos de um conversor DAC, o qual pode necessitar circuitos eletrônicos analógicos, como Amplificadores Operacional, capacitores, resistores e outros.
Convertendo PWM em tensão elétrica
Em situações onde uma onda quadrada PWM não for apropriado para realizar um controle analógico pode utilizar um filtro passa baixas visando converter a saída em uma tensão elétrica correspondente ao percentual do sinal PWM. Desta forma, poderemos ter um conversor DA para uso com o Arduíno ou outros microcontroladores.
O circuito filtro passa baixas RC abaixo pode ser utilizado neste caso.
Neste circuito, quando um tensão é aplicada na entrada do resistor R, o capacitor C começa a carregar. Lembre que o capacitor bloqueia corrente contínua e permite um maior fluxo de corrente a medida que a frequência do sinal elétrico aumenta. Para altas frequências o capacitor se comporta como um curto circuito. Para valores de frequência intermediária o circuito RC vai filtrar o sinal de entrada de acordo com a constante de tempo do circuito.
O circuito é bastante simples, entretanto a escolha do resistor R e do capacitor C tem influencia na frequência de corte do circuito, na ondulação da tensão sobre o capacitor (ripple) e no tempo de resposta do circuito. A referência [2] faz uma análise detalhada destes fatores e também fornece um link para uma ferramenta para calculo online do ripple a partir da frequência de corte ou dos valores do resistor e capacitor escolhidos para filtragem de uma onda quadrada PWM.
Exemplo de filtragem da saída PWM do Arduíno
O Arduíno fornece saída PWM (portas 3, 5, 6, 9, 10 e 11) com frequência de 490 Hz [1].
Utilizando a ferramenta para calculo online descrita acima, para uma onda PWM de 0V a 5V, com duty cicle de 50% e frequência de corte de 10 Hz, obtêm-se um ripple aceitável (Vpp = 0,15 V) e um tempo de resposta de 0,04 s, como mostra a figura abaixo.
Cálculo dos valores de R e C a partir da frequência de corte:
fc = 1 / 2πRC
Escolhendo
C = 2,2 uF fc = 10 Hz
temos
R = 1/2πfcC R = 1/2π 10 2,2u R = 7,2 kΩ
Módulo Conversor de Sinal PWM para Tensão Analógica
Existem no mercado módulos para conversão do sinal PWM para tensão analógica.
Referências
- ↑ 1,0 1,1 https://www.arduino.cc/reference/en/language/functions/analog-io/analogwrite/
- ↑ SCOTT. Arduino’s AnalogWrite – Converting PWM to a Voltage, 2011. https://provideyourown.com/2011/analogwrite-convert-pwm-to-voltage/
Evandro.cantu (discussão) 13h53min de 18 de outubro de 2021 (-03)