Controlando a Tensão de Saída de um Conversor Buck

E ai pessoal, como prometido no artigo anterior, irei apresentar um exemplo de projeto do sistema de controle aplicado ao conversor Buck. O objetivo aqui é utilizar as expressões obtidas anteriormente para determinar os parâmetros de um controlador PI, visando controlar a tensão de saída do conversor.

Introdução

A Figura 1 mostra um esquemático simplificado do conversor Buck, juntamente com a malha de controle da tensão de saída.

Figura 1. Conversor Buck juntamente com a malha de controle da tensão de saída.

Alternativamente, podemos representar o sistema conforme o diagrama de blocos da Figura 2. Em se tratando de um conversor chaveado, torna-se necessário incluir o ganho equivalente do modulador PWM (do inglês Pulse Width Modulation), que está representado por KPWM na figura em questão. Além disso, na realimentação utilizaremos apenas o ganho do sensor (Kv), responsável por ajustar os níveis da tensão de saída aos níveis do circuito de controle (pode ser analógico ou digital).

Figura 2. Diagrama de blocos em malha fechada para a regulação da tensão de saída do conversor.

Função de Transferência do Conversor

Como o objetivo é controlar a tensão de saída a partir da razão cíclica, devemos utilizar a função de transferência que relacione essas duas grandezas. Esta, por sua vez, já foi obtida no artigo sobre a modelagem dinâmica do conversor Buck, e é definida conforme (1).

G_{vd}(s) = \frac{\hat{v}_o(s)}{\hat{d}(s)} = \frac{V_i}{L_oC_os^2 + \frac{L_o}{R_o} + 1} (1)

Ganho do Modulador PWM

O modulador PWM tem a função de converter o sinal de controle, proveniente da saída do controlador, em pulsos de comando para o acionamento do interruptor. Para isso, é feita uma comparação entre dois sinais de tensão, um de baixa frequência (modulante) e o outro de alta frequência (portadora), resultando em um sinal com frequência fixa e largura de pulso variável.

A Figura 3(a) mostra de forma simplificada a estrutura de um modulador PWM. Nos conversores CC-CC, o sinal modulante é um sinal de tensão contínuo, pois o objetivo é obter uma tensão contínua na saída. Já nos conversores CC-CA o sinal modulante é senoidal, visto que se busca na saída uma tensão alternada. Adicionalmente, na maior parte dos casos, o sinal da portadora pode ser uma dente de serra ou uma triangular, sendo este que define a frequência dos pulsos.

A determinação do ganho do modulador se dá a partir da análise da Figura 3(b), que mostra as formas de onda envolvidas na comparação e o sinal resultante para um período de chavemanto (Ts). Nesse caso, estamos utilizando uma portadora triangular, cuja equação é dada por:

v_{tri}(t) = \frac{2V_p}{T_s}\cdot t (2)

Sabendo que em t = dT_s/2  a modulante e a portadora se igualam, tem-se:

v_{tri}\left(\frac{dT_s}{2}\right) = \frac{2V_p}{T_s}\cdot \frac{dT_s}{2} = v_{cont} (3)

onde d representa a razão cíclica, isto é, a fração do período em que o pulso permanece em nível alto.

Por fim, o ganho do modulador PWM é obtido a partir da relação d/v_{tri}, definida em (4).

K_{PWM} = \frac{d}{v_{tri}} = \frac{1}{V_p} (4)
Figura 3. Modulador PWM: (a) estrutura simplificada e (b) principais formas de onda.

Ganho do Sensor

Uma vez que o controlador é, normalmente, implementado por circuitos que operam com níveis de tensão inferiores aos do conversor, é necessário condicionar os sinais de realimentação. Por exemplo, supondo que a tensão a ser controlada é de 30 V e que o circuito de controle foi implementado com amplificadores operacionais, que funcionam de 0 V a 15 V, o ganho teórico do sensor deve ser de K_v = 15/30. No entanto, é interessante considerar uma folga de pelo menos 30% na tensão de saída, em virtude de eventuais transitórios. Nesse caso, o ganho seria de K_v = 15/(1,3\times 30).

Por outro lado, quando implementamos a malha de controle de forma digital (através de microcontroladores ou DSP), podemos considerar o ganho da realimentação unitário. Isso porque, devido à versatilidade dos microcontroladores, é possível aplicar o ganho inverso do sensor (por meio do código), trabalhando assim com os valores reais de tensão.

Outra alternativa para os sistemas microcontrolados é trabalhar com valores por unidade (pu). Particularmente, essa é a que eu mais gosto pois permite utilizar a máxima resolução do microcontrolador. Para tanto, é necessário definir a tensão base do sistema (VB), que representa a máxima tensão lida pelo sensor. Nesse caso, o ganho da realimentação é dado por K_v = 1/V_B, o que significa que os sinais realimentados irão variar entre 0 e 1, caracterizando a operação em pu.

Para ficar mais claro, vamos a um exemplo. Se a máxima tensão permitida na entrada do conversor AD é de 3,3 V – valor equivalente a 1 pu dentro do microcontrolador – e a máxima tensão que eu quero ler é de 1,3\times 30~V = 39~V, então a tensão base vale V_B = 39~V. Ou seja, eu preciso garantir que quando o meu sensor ler 39 V, eu terei 3,3 V na saída do circuito de condicionamento. Sendo assim, o ganho da realimentação é dado por K_v = 1/39.

Projeto do Controlador PI

Definidos todos os ganhos e funções de transferência do sistema, partimos para o projeto do controlador.

O primeiro passo é obter a Função de Transferência de Laço Aberto Não Compensada, FTLANC(s). Conforme a metodologia do artigo anterior, determina-se:

FTLA_{NC}(s) = K_{PWM}G_{vd}(s)K_v (5)

A função de transferência do controlador PI é definida segundo (6).

C_v(s) = K_c \frac{(s + \omega_z)}{s} (6)

Com essas duas expressões, podemos determinar o ganho do controlador (Kc) e a frequência do zero (\omega_z) inserido pelo mesmo no sistema [1]. Esses valores são obtidos por (7) e (8), respectivamente.

K_c = \frac{\omega_c}{\sqrt{\omega_c^2+\omega_z^2}}\frac{1}{|FTLA_{NC}(j\omega_c)|} (7)
\omega_z = \frac{\omega_c}{\text{tan}[MF - 90^\circ -\angle FTLA_{NC}(j\omega_c)]} (8)

onde MF representa a margem de fase e \omega_c representa a frequência de cruzamento desejadas para o sistema em malha fechada.

Exemplo Numérico

Para este exemplo, vamos considerar o conversor Buck dos artigos anteriores, cujos parâmetros estão dispostos na Tabela 1.

Tabela 1. Parâmetros do conversor Buck.

Visando trabalhar com valores em pu, irei considerar o ganho do modulador PWM unitário (i.e. K_{PWM} = 1), de modo que a razão cíclica (saída do controlador) varie entre 0 e 1. Pelo mesmo motivo, o ganho da realimentação será definido como K_v = 1/30, considerando uma folga de 50% sobre a tensão de saída. Dessa forma, a função de transferência de laço aberto não compensada pode ser determinada pela equação (5), apresentada anteriormente.

A Figura 4 mostra o diagrama de Bode da FTLANC(s), que foi obtido por meio do software Mathcad. Outras opções de software para esse tipo de cálculo é o Matlab, Scilab ou Octave (sendo esses dois últimos gratuitos).

Figura 4. Diagrama de Bode da função de transferência de laço aberto não compensada.

Observem que o sistema em malha aberta apresenta um comportamento estável, pois a margem de fase é positiva e a margem de ganho infinita, já que a fase não cruza -180°. No entanto, a frequência de cruzamento é de aproximadamente 845 Hz e a margem de fase está relativamente alta, caracterizando uma resposta mais lenta.

Visando uma resposta mais rápida, vou definir como parâmetros de projeto uma frequência de cruzamento de 2 kHz (uma década abaixo da frequência de chaveamento) e uma margem de fase de 60°. A Tabela 2 resume esses valores.

Tabela 2. Parâmetros de projeto do controlador.

Levando os valores da Tabela 2, juntamente com o módulo e a fase da FTLA_{NC}(j\omega_c), nas expressões (7) e (8), obtemos:

\omega_z = \frac{\omega_c}{\text{tan}[MF - 90^\circ -\angle FTLA_{NC}(j\omega_c)]} = 565,35 (9)
K_c = \frac{\omega_c}{\sqrt{\omega_c^2+\omega_z^2}}\frac{1}{|FTLA_{NC}(j\omega_c)|} = 2,546 (10)

de modo que a função de transferência do controlador PI resulta em:

C_v(s) = 2,546\frac{(s + 565,35)}{s} (11)

Vale ressaltar que o módulo e a fase de FTLA_{NC}(j\omega_c) podem ser calculados manualmente ou por meio de um software (o que eu recomendo). No meu caso, utilizei o Mathcad e os comandos estão exibidos no final do artigo.

Com o controlador em mãos, podemos plotar a resposta em frequência da Função de Transferência de Laço Aberto Compensada, FTLAC(s), que resulta no diagrama de Bode da Figura 5. Uma vez que os resultados estão de acordo com os parâmetros de projeto, o próximo passo é confirmar o desempenho da malha de controle via simulação.

Figura 5. Diagrama de Bode do sistema compensado.

Resultados de Simulação

Para validar o controlador projetado utilizei o software de simulação PSIM. A Figura 6 mostra o modelo desenvolvido para tal fim.

Figura 6. Modelo de simulação do conversor Buck em malha fechada.

Com relação aos resultados, a Figura 7(a) mostra o momento da partida do conversor, onde se pode observar que a tensão estabiliza na referência de 20 V em aproximadamente 6 ms, sem apresentar sobretensão. A Figura 7(b) representa a resposta do sistema diante de uma variação na referência de 20 V para 30 V. Já a Figura 7(c) demonstra a resposta dinâmica para uma variação na carga de 100% para 75% e vice-versa. Por fim, a Figura 7(d) apresenta o comportamento da tensão de saída frente a uma variação de 50 V para 60 V na tensão de entrada.

Figura 7. Resultados de simulação: (a) partida do conversor; (b) variação na referência de 20 V para 30 V; (c) variação na carga de 100% para 75% e vice-versa; (d) variação na tensão de entrada de 50 V para 60 V.

Conclusão

Nesse artigo ensinei como aplicar os conceitos aprendidos no post anterior, com o objetivo de projetar um controlador PI para regular a tensão de saída de um conversor Buck. A fim de validar o controlador, apliquei diferentes distúrbios no sistema via simulação, e os resultados obtidos se mostraram muito satisfatórios, apresentando uma resposta rápida e sobretensões aceitáveis. O interessante é que esses mesmos conceitos podem ser aplicados para o controle de corrente, ou para outros tipos de conversores e aplicações, como é o caso dos inversores conectados à rede elétrica.

Apêndice

Comandos utilizados no Mathcad.

             

6 Comments

Deixe seu comentário.

error: