Conversao Digital Analogica: mudanças entre as edições

De Wiki Cursos IFPR Foz
Ir para navegaçãoIr para pesquisar
 
(4 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 26: Linha 26:
| 0001 || 1/16 || 0,3125 V
| 0001 || 1/16 || 0,3125 V
|}
|}
:Todos os 16 valores:
:{| class="wikitable"
|-
| Entrada digital || Saída analógica
|-
| 0001 || 0,3125 V
|-
| 0010 || 0,625 V
|-
| 0011 || 0,9375 V
|-
| 0100 || 1,25 V
|-
| 0101 || 1,5625 V
|-
| 0110 || 1,875 V
|-
| 0111 || 2,1875 V
|-
| 1000 || 2,5 V
|-
| 1001 || 2,8125 V
|-
| 1010 || 3,125 V
|-
| 1011 || 3,4375 V
|-
| 1100 || 3,75 V
|-
| 1101 || 4,0625 V
|-
| 1110 || 4,375 V
|-
| 1111 || 4,6875 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.
: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.
Existem outras estruturas eletrônicas que permitem implementar conversores DA, além de placas conversoras DAC para uso com microcontroladores.


===Módulo Conversor Digital Analógico DAC===
==Módulo Conversor Digital Analógico DAC==


Um exemplo de módulo '''Conversor Digital Analógico DAC''' é a placa '''MCP4725''', a qual pode ser utilizada com Arduíno ou outros tipos de microcontroladores.
Um exemplo de módulo '''Conversor Digital Analógico DAC''' é a placa '''MCP4725''', a qual pode ser utilizada com Arduíno ou outros tipos de microcontroladores.
Linha 37: Linha 74:


O módulo MCP4725 converte sinais digitais em sinais analógicos. Os sinais são enviados via '''interface I2C''' e no pino OUT sai o valor analógico correspondente.
O módulo MCP4725 converte sinais digitais em sinais analógicos. Os sinais são enviados via '''interface I2C''' e no pino OUT sai o valor analógico correspondente.
==Microcontroladores e Saídas PWM==
A maioria dos 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 <ref NAME=PWM>https://www.arduino.cc/reference/en/language/functions/analog-io/analogwrite/</ref>.
[[Arquivo:PWM.gif]]
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 '''[[Filtros_Eletricos|filtro passa baixas RC]]''' abaixo pode ser utilizado neste caso.
[[Arquivo:FiltroRC_PassaBaixa.png]]
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 <ref>SCOTT. Arduino’s AnalogWrite – Converting PWM to a Voltage, 2011. https://provideyourown.com/2011/analogwrite-convert-pwm-to-voltage/</ref> faz uma análise detalhada destes fatores e também fornece um link para uma [http://sim.okawa-denshi.jp/en/PWMtool.php 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'''.
===Ganho de potência===
Esta estrutura com '''filtro RC passa baixas''' funciona bem caso a carga não exija corrente significativa na saída. Caso a '''carga''' demande '''corrente''' pode-se utilizar um '''''buffer''''' com '''amplificador operacional''' para fornecer mais corrente a carga, oferecendo assim um '''ganho de potência'''.
A estrutura que pode ser utilizada para o buffer pode ser o '''amplificador não inversor''' com ganho 1.
[[Arquivo:AmplificadorNaoInversor.png]]
O ganho do amplificador não inversor é dado por:
G = 1 + R<sub>2</sub>/R<sub>1</sub>
logo, fazendo R2 = 0 (curto circuito) e R1 = &infin; (circuito aberto) temos:
[[Arquivo:Buffer.png]]
===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 (pinos 5 e 6: 980 Hz) <ref NAME=PWM/>.
Utilizando a [http://sim.okawa-denshi.jp/en/PWMtool.php '''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.
[[Arquivo:rc_ripple.png]]
Cálculo dos valores de '''R''' e '''C''' a partir da '''frequência de corte''':
f<sub>c</sub> = 1 / 2&pi;RC
Escolhendo
C = 2,2 uF
f<sub>c</sub> = 10 Hz
temos
R = 1/2&pi;f<sub>c</sub>C
R = 1/2&pi; 10 2,2u
R = 7,2 k&Omega;
===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''', como o módulo '''LC-LM358'''.
[[Arquivo:conversor-pwm-para-tensao-0-a-10v.jpg|200px]]
O módulo LC-LM358 converte sinal PWM para sinal analógico, PWM ''duty cicle'' 0% a 100%  para tensão de 0 a 10V.
São aplicados para interface com '''PLC''' ('''Controladores Lógico Programáveis''') ou outras placas de controle industrial.


==Referências==
==Referências==

Edição atual tal como às 18h59min de 19 de maio de 2023

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.

Conversores 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
Todos os 16 valores:
Entrada digital Saída analógica
0001 0,3125 V
0010 0,625 V
0011 0,9375 V
0100 1,25 V
0101 1,5625 V
0110 1,875 V
0111 2,1875 V
1000 2,5 V
1001 2,8125 V
1010 3,125 V
1011 3,4375 V
1100 3,75 V
1101 4,0625 V
1110 4,375 V
1111 4,6875 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.

Módulo Conversor Digital Analógico DAC

Um exemplo de módulo Conversor Digital Analógico DAC é a placa MCP4725, a qual pode ser utilizada com Arduíno ou outros tipos de microcontroladores.

O módulo MCP4725 converte sinais digitais em sinais analógicos. Os sinais são enviados via interface I2C e no pino OUT sai o valor analógico correspondente.

Referências



Evandro.cantu (discussão) 13h53min de 18 de outubro de 2021 (-03)