Comparativo entre Controle PI e ADRC para Velocidade de Motores BLDC em Simulink

O desempenho de motores de corrente contínua sem escovas (BLDC) em aplicações industriais depende diretamente da eficácia das estratégias de controle implementadas. Tradicionalmente, sisetmas de malha dupla (corrente e velocidade) são utilizados para garantir a estabilidade e a precisão do acionamento. Este artigo apresenta uma análise comparativa entre o controle clássico Proporcional-Integral (PI) e o Controle por Rejeição Ativa de Distúrbios (ADRC), utilizando o ambiente Simulink para validar a superioridade do ADRC em termos de robustez e resposta dinâmica.

Arquitetura de Controle do Motor BLDC

A estrutura de controle para motores BLDC é tipicamente baseada em uma cascata de malhas fechadas. A malha interna (corrente) é responsável por regular o torque e proteger os componentes eletrônicos, enquanto a malha externa (velocidade) assegrua que o motor siga a referência desejada. Em ambas as abordagens discutidas aqui, a malha de corrente utiliza um controlador PI, focando a comparação na malha de velocidade.

O Modelo Dinâmico do Motor

Para a simulação, as características dinâmicas do motor são representadas por equações diferenciais que relacionam grandezas elétricas e mecânicas. Abaixo, apresenta-se uma representação lógica da dinâmica do motor:


% Representação simplificada da dinâmica do motor BLDC
function [derivada_corrente, derivada_velocidade] = motor_dynamics(tensao_U, i, omega, R, L, Ke, Kt, J, B)
    % Equação elétrica: U = Ri + L(di/dt) + e
    derivada_corrente = (tensao_U - R*i - Ke*omega) / L;
    
    % Equação mecânica: Te - Tl = J(dw/dt) + Bw
    % Considerando torque de carga nulo para simplificação inicial
    derivada_velocidade = (Kt*i - B*omega) / J;
end

Onde R e L são a resistência e indutância da fase, Ke é a constante de força contra-eletromotriz, J é a inércia e B o coeficiente de atrito viscoso.

Implementação do Controlador Proporcional-Integral (PI)

O controlador PI é amplamente adotado devido à sua simplicidade conceitual. Ele atua minimizando o erro entre a velocidade de referência e a velocidade medida através de ganhos fixos. No entanto, sua sensibilidade a variações de parâmetros e distúrbios externos pode limitar o desempenho em sistemas de alta precisão.


% Implementação discreta de um controlador PI para velocidade
function saida_controle = speed_pi_controller(ref, feedback, kp_vel, ki_vel, dt)
    persistent erro_acumulado;
    if isempty(erro_acumulado)
        erro_acumulado = 0;
    end
    
    erro_atual = ref - feedback;
    erro_acumulado = erro_acumulado + (erro_atual * dt);
    
    saida_controle = (kp_vel * erro_atual) + (ki_vel * erro_acumulado);
end

Controle por Rejeição Ativa de Distúrbios (ADRC)

O ADRC propõe uma abordagem diferente: ele trata as incertezas do modelo e os distúrbios externos como um "distúrbio total" único. O componente central do ADRC é o Observador de Estado Estendido (ESO), que estima em tempo real tanto os estados do sistema quanto o distúrbio total, permitindo uma compensação imediata antes mesmo que o erro se propague significativamente.

A estrutura do ADRC elimina a necessidade de um modelo matemático exato do motor, tornando o sistema altamente robusto contra variações de carga e flutuações de tensão.

Simulação e Resultados Comparativos

No Simulink, foram configurados dois cenários idênticos para testar os controladores sob degraus de velocidade e variações súbitas de carga. O modelo inclui o inversor trifásico e a lógica de comutação baseada em sensores de efeito Hall.

Análise de Desempenho PI

O controlador PI demonstra um tempo de subida satisfatório, porém, ao introduzir um torque de carga externo, observa-se uma queda significativa na velocidade e um tempo de recuperação prolongado. O ajuste dos ganhos (Kp e Ki) exige um compromisso entre velocidade de resposta e sobressinal (overshoot).

Análise de Desempenho ADRC

O controlador ADRC apresenta uma resposta superior. Ao detectar a variação de carga, o ESO estima o distúrbio quase instantaneamente, permitindo que a malha de controle compense a queda de rotação com muito mais agilidade que o PI. Além disso, o ADRC mantém a estabilidade mesmo com variações nos parâmetros nominais do motor (como resistência ou inércia).


% Exemplo de script para execução da simulação e plotagem
% Configuração de tempo e entrada
t_sim = 0:0.001:5;
ref_speed = 1000 * ones(size(t_sim)); % Referência de 1000 RPM

% Execução dos modelos Simulink (nomes fictícios para exemplo)
sim_pi = sim('bldc_pi_model', 'ReturnWorkspaceOutputs', 'on');
sim_adrc = sim('bldc_adrc_model', 'ReturnWorkspaceOutputs', 'on');

% Visualização comparativa
plot(sim_pi.time, sim_pi.speed, 'LineWidth', 1.5); hold on;
plot(sim_adrc.time, sim_adrc.speed, 'r--', 'LineWidth', 1.5);
grid on;
legend('Controle PI', 'Controle ADRC');
xlabel('Tempo (s)');
ylabel('Velocidade (RPM)');
title('Comparação de Resposta: PI vs ADRC');

Vantagens Observadas

A comparação evidencia que o ADRC oferece benefícios claros para o controle de motores BLDC:

  • Rejeição de Carga: Recuperação de velocidade significativamente mais rápida sob distúrbios.
  • Seguimento de Trajetória: Menor erro dinâmico em acelerações e desacelerações.
  • Independência de Modelo: Menor esforço de sintonia comparado à necessidade de modelagem precisa para controladores avançados tradicionais.

A implementação do ADRC em sistemas embarcados modernos é uma solução viável para elevar o padrão de eficiência e confiabilidade em sistemas de controle de movimento.

Tags: BLDC Simulink ADRC Controle de Motores Sistemas de Controle

Publicado em 7-16 19:03