1 简介

在基于永磁同步电机的有感FOC控制中,通过调节转速环节和电流环节的PID控制器参数就能对电机进行控制,但传统的PID参数整定方法控制精度低,稳定性能差,难以获得令人满意的运行效果.为了解决该问题,提出一种基于天牛须算法的PID自整定方法,利用天牛须算法强大且快速的寻优能力对速度环节的PID参数进行自整定.仿真结果表明:该方法设计的电机控制系统具有响应快,无超调和鲁棒性高的优点,相对于传统方法具有显著的优越性.

2 部分代码

clear all
close all
clc
Dim = 3;            % 维数
SwarmSize = 10;    % 群规模
MaxIter =100;      % 最大迭代次数
MinFit = 0.1;       % 最小适应值
d = 2;
step = 2;
c = 10;
pop = zeros(SwarmSize, Dim);
xl = zeros(SwarmSize, Dim);
xr = zeros(SwarmSize, Dim);
fl = zeros(SwarmSize, Dim);
fr = zeros(SwarmSize, Dim);
m = zeros(SwarmSize, 1);
Ub = [100 100 100];
Lb = [0.1 0.1 0.1];
%% 初始化
for i = 1 : SwarmSize
pop(i, :) = Ub .* rand(1, Dim);
m(i) = BAS_PID(pop(i, :));
end
%% 个体极值和群体极值
K_d(1, iter) = zbest(3);
end
%% 绘图输出
figure(1)
plot(y_fitness, 'LineWidth', 2)
title('最优个体适应值', 'fontsize', 18);
xlabel('迭代次数', 'fontsize', 18);
ylabel('适应值', 'fontsize', 18);
set(gca, 'Fontsize', 18);
figure(2)      % 绘制PID控制器参数变化曲线
plot(K_p)
hold on
plot(K_i,'k','LineWidth',3)
plot(K_d,'--r')
title('Kp、Ki、Kd 优化曲线','fontsize',18);
xlabel('迭代次数','fontsize',18);
ylabel('参数值','fontsize',18);
set(gca,'Fontsize',18);
legend('Kp','Ki','Kd');
Kp
Ki
Kd

3 仿真结果

【优化求解】基于天牛须算法PID控制器优化设计matlab代码_d3

【优化求解】基于天牛须算法PID控制器优化设计matlab代码_d3_02

4 参考文献

[1]金爱娟, & 卢宝忠. (2020). 基于天牛须算法整定pid的永磁同步电机控制. 农业装备与车辆工程, 58(10), 5.

部分理论引用网络文献,若有侵权联系博主删除。

AC【优化求解】基于天牛须算法PID控制器优化设计matlab代码_迭代_03