天天看点

​【优化求解】基于人工蜂群算法求解无刷直流电机PID控制matlab代码

1 简介

高精度的精密微位移系统在近代尖端工业生产和科学研究领域内占有极其重要的地位。它广泛应用于航空航天、微型机械制造、超精密加工、医学、生物工程等领域。纳米级位移定位技术已经成为推动科技发展的前进力量,在纳米位置控制系统中控制器的设计已成为其研究重点,选择适当的控制策略能够解决压电陶瓷驱动器迟滞性、蠕变性和非线性对系统带来的影响,提高定位精确性。本文针对微位移控制系统定位不准确、定位精度不高,进行了蜂群PID控制算法设计仿真和实验研究。论文的主要工作如下:(1)介绍了微位移平台控制系统开发的意义及其应用领域;介绍了国内外微位移控制系统及控制方法的研究和应用现状,说明我国针对微位移控制器设计的研究还处于发展阶段。(2)对微位移平台的整体结构进行分析。首先,从硬件方面介绍了微位移控制系统的整体结构构成。其次,对平台控制系统进行设计。最后,对微位移平台的通信机制进行分析,针对控制系统USB通信部分,采用DSP、CPLD与USB相结合的方式进行控制信号的传输和通信。(3)介绍了传统PID控制器的基本算法,包括位置式PID控制算法、增量式PID控制算法,并对该控制系统的性能指标进行了分析,介绍了多种PID控制器的参数整定方法,指出PID控制的核心在于控制参数的整定。详细论述了人工蜂群算法的基本原理、特性,提出了基于人工蜂群算法的PID控制方法。(4)对所设计的蜂群PID算法在微位移控制平台中进行实验研究。首先,基于MATLAB对人工蜂群算法寻优性能进行测试。其次,对传统PID、自适应PID和蜂群PID的阶跃响应进行对比。最后,在微位移平台上实现蜂群PID控制器。结果表明,蜂群PID控制器可使微位移稳态误差达到纳米级,满足微位移定位系统的控制精度要求,可实现高精密位置控制。综上所述,本文主要对微位移控制系统的控制器算法进行了研究,实验结果表明了所提算法的可行性,有效保证了系统的定位精度。微位移控制系统的控制器设计的提出,对相关类似系统的控制器算法设计具有一定的借鉴价值。​

2 部分代码

clc      
clear all      
close all      
NP=40;%种群个数 number of population (必需为偶数)      
NS=NP/2;%解的个数,取种群个数的一半 number of solution      
D=3;%优化的参数个数,即kp,ki,kd      
MaxCycle=100;%最大的迭代次数      
Limit=10;%内循环次数      
x=zeros(NS,D+1);%用来存放每个相对优解      
NewX=zeros(1,4);%用来保存邻域新值      
%设定PID参数的范围      
%MaxPID=[500,700,300];      
MaxPID=[20,1,1];      
MinPID=[0,0,0];      
%MaxKp=430;MinKp=200;MaxKi=1050;MinKi=100;MaxKd=160;MinKd=100;      
for worse=NS/2:1:NS      
NewX=FindElse_FUN(x(1,:),x(NS,:),MaxPID,MinPID);      
NewX(1,4)=PID_FUN(NewX(1,1),NewX(1,2),NewX(1,3));      
if x(worse,4)>NewX(1,4)      
x(worse,:)=NewX(1,:);      
end      
end      
end % MaxCycle Cycle end      
NewX(1,:)=x(1,:);      
for i=2:1:NS      
if x(i,4)<NewX(1,4)      
NewX(1,:)=x(i,:);      
end      
end      
NewX(1,:)      
BestITAE      
PID_FUNTest(NewX(1,1),NewX(1,2),NewX(1,3),1);      
for i=1:1:100      
j=i;      
BestJ(j)=BestITAE(j);      
end      
IterBestJ(BestJ,100,1);      
plot(BestITAE);      
xlabel('BestITAE'),ylabel('time(s)');      

3 仿真结果

4 参考文献

继续阅读