Arduino: Conversao de PWM em Tensao Eletrica: mudanças entre as edições

De Wiki Cursos IFPR Foz
Ir para navegaçãoIr para pesquisar
Sem resumo de edição
 
(21 revisões intermediárias por um outro usuário não estão sendo mostradas)
Linha 12: Linha 12:
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.
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==
==Filtro para Converter 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.
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.
Linha 24: Linha 24:
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.
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'''.
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 NAME=scott>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 ferramenta para calculo ''online'' [http://sim.okawa-denshi.jp/en/PWMtool.php '''RC Low-pass Filter Design for PWM'''] do '''ripple''' a partir da '''frequência de corte''' ou dos valores do '''resistor''' e '''capacitor''' escolhidos para filtragem de uma onda quadrada '''PWM'''.
 
Como descrito em <ref NAME=scott/>, o '''''ripple'''''  e o '''tempo de resposta''' do circuito são parâmetros excludentes. Se diminuirmos muito o ''ripple'' o tempo de resposta aumenta, e vice-versa.


===Ganho de potência===
===Ganho de potência===
Linha 30: Linha 34:
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'''.
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.
A estrutura que pode ser utilizada para o '''''buffer''''' pode ser o '''seguidor de tensão''' com '''Ampop'''.
 
[[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]]
[[Arquivo:Buffer.png]]
Linha 43: Linha 41:
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/>.
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.
Utilizando a ferramenta para calculo ''online'' [http://sim.okawa-denshi.jp/en/PWMtool.php '''RC Low-pass Filter Design for PWM'''], 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]]
[[Arquivo:rc_ripple.png]]
Linha 58: Linha 56:
  R = 1/2&pi; 10 2,2u
  R = 1/2&pi; 10 2,2u
  R = 7,2 k&Omega;
  R = 7,2 k&Omega;
===Laboratório: Análise e filtragem de pulso PWM===
*Utilizar o '''SimulIDE''' e montar circuito com um '''Arduíno''', um '''led''' conectado a '''saída digital 9''' e um '''potenciômetro''' com o ponto central conectado a '''entrada analógica A0'''  (com os demais terminais do potenciômetro conectados ao GND e 5V, respectivamente);
*Carregar programa exemplo '''[https://www.arduino.cc/en/Tutorial/AnalogInOutSerial Arquivo/Exemplos/Analog/AnalogInOutSerial]''' e verificar a variação da luminosidade do '''led''' do '''pino 9''' em função do '''potenciômetro''';
*Utilizar o '''osciloscópio''' do '''SimulIDE''' para examinar a forma de onda de uma saída PWM (pino 9). Variar o '''''dutty cicle'' do PWM''', através do potenciômetro e verificar as alterações na forma de onda PWM;
*Construir um '''filtro RC''' para '''converter o sinal PWM em tensão elétrica''',  incluindo também no circuito um '''''buffer'' seguidor de tensão''' com '''Ampop'''. Verificar no osciloscópio o resultado da filtragem.
:Considere que o '''sinal PWM''' opera com frequência de 980 Hz. Utilize os valores de R = 7,2 k&Omega; e C = 2,2 uF.
*Utilize o simulador de filtro RC [http://sim.okawa-denshi.jp/en/PWMtool.php '''RC Low-pass Filter Design for PWM'''] para verificar o '''''ripple'''''  e o '''tempo de resposta''' do circuito. Varie os valores de R, C e também da frequência de corte e analise as mudanças no filtro RC.


==Módulo Conversor de Sinal PWM para Tensão Analógica==
==Módulo Conversor de Sinal PWM para Tensão Analógica==
Linha 76: Linha 82:
----
----


[[Categoria:Eletrônica]] [[Categoria:Sistemas Digitais]] [[Categoria:IoT]] [[Categoria:Arduino]]
[[Categoria:Eletrônica]] [[Categoria:Sistemas Digitais]] [[Categoria:IoT]] [[Categoria:Arduíno]]

Edição atual tal como às 20h42min de 19 de maio de 2023

Conversão de Pulsos PWM em Tensão Elétrica

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 [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.

Filtro para Converter 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.

Filtro Passa Baixas

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 RC Low-pass Filter Design for PWM do ripple a partir da frequência de corte ou dos valores do resistor e capacitor escolhidos para filtragem de uma onda quadrada PWM.

Como descrito em [2], o ripple e o tempo de resposta do circuito são parâmetros excludentes. Se diminuirmos muito o ripple o tempo de resposta aumenta, e vice-versa.

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 seguidor de tensão com Ampop.

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) [1].

Utilizando a ferramenta para calculo online RC Low-pass Filter Design for PWM, 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Ω

Laboratório: Análise e filtragem de pulso PWM

  • Utilizar o SimulIDE e montar circuito com um Arduíno, um led conectado a saída digital 9 e um potenciômetro com o ponto central conectado a entrada analógica A0 (com os demais terminais do potenciômetro conectados ao GND e 5V, respectivamente);
  • Carregar programa exemplo Arquivo/Exemplos/Analog/AnalogInOutSerial e verificar a variação da luminosidade do led do pino 9 em função do potenciômetro;
  • Utilizar o osciloscópio do SimulIDE para examinar a forma de onda de uma saída PWM (pino 9). Variar o dutty cicle do PWM, através do potenciômetro e verificar as alterações na forma de onda PWM;
  • Construir um filtro RC para converter o sinal PWM em tensão elétrica, incluindo também no circuito um buffer seguidor de tensão com Ampop. Verificar no osciloscópio o resultado da filtragem.
Considere que o sinal PWM opera com frequência de 980 Hz. Utilize os valores de R = 7,2 kΩ e C = 2,2 uF.
  • Utilize o simulador de filtro RC RC Low-pass Filter Design for PWM para verificar o ripple e o tempo de resposta do circuito. Varie os valores de R, C e também da frequência de corte e analise as mudanças no filtro RC.

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.


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


Evandro.cantu (discussão) 16h00min de 19 de maio de 2023 (-03)