基于模糊PID的直流电机Simulink模型的搭建

发布时间:2024-08-21  

直流电动机具有启动转矩大、控制性能优等特点。目前直流电机多采用传统的PID控制,PID控制是最早发展起来的控制策略之一。由于其具有算法简单、鲁棒性好和可靠性高等优点,被广泛应用于工业过程控制中。但PID控制适合于可建立精确数学模型的确定性控制系统。


但实际的工业过程控制系统中存在很多非线性或时变的不确定因素,使得PID控制器的参数整定过程繁琐。控制效果也因此而受影响。近些年来。随着现代控制理论、智能控制和计算机技术的飞速发展。出现了很多新型的控制系统。模糊控制就是其中之一。本期带来基于模糊PID的直流电机Simulink模型的搭建。



1、模糊控制


模糊控制作为目前最具实际意义的智能控制方法之一,以模糊集合论、模糊语言变量及模糊逻辑推理为基础。实现一步模糊控制算法的过程:获取被控制量的精确值。将此量与给定值比较得到误差信号,一般选误差信号作为模糊控制器的一个输入量。把误差信号的精确量进行模糊化变成模糊量。误差的模糊量可用相应的模糊语言表示,得到误差的模糊语言集合的一个子集(一个模糊矢量),再由误差和模糊控制规则(模糊算子)根据推理的合成规则进行模糊决策,得到模糊控制量。


2、基于模糊控制的转速调节器设计


直流电机控制系统中,外环转速调节器采用模糊PID控制器.内环电流调节器依然采用传统PID控制器。从理论上讲.模糊控制器的维数越高。控制越精密。但是维数越高。模糊控制规则变得过于复杂,控制算法的实现相当困难。这是目前广泛应用二维模糊控制器的原因所在。


模糊控制输出量确定的过程:


①确定输入与输出变量的模糊子集和论域及其隶属度:


②设计模糊推理关系,确定模糊控制规则,以明确模糊关系矩阵:


③模糊决策,确定输出量在其论域上的模糊矢量:


④模糊判决,即将控制量去模糊化,得到确定的输出变量。进而得到相应的控制表。


代码:


clc;clear;close all;

% 传递函数

Ts = 0.01;

J = 0.01;

b = 0.1;

Ke = 0.01;

Kt = 0.01;

R = 1;

L = 0.5;

syms s;

K = Ke;

num = K;

den = sym2poly((J*s+b)*(L*s+R)+K^2);

sys = tf(num,den);

Plant = c2d(sys,Ts,'zoh');

figure

step(Plant)

title('初始系统响应')

open_system('SimFuzzyPID')

open_system('SimFuzzyPID/Fuzzy PID')

% 设计传统的 PID 控制

open_system('SimFuzzyPID/PID')

C0 = pid(1,1,1,'Ts',Ts,'IF','B','DF','B'); % PID结构

C = pidtune(Plant,C0)                      % 设计PID

[Kp, Ki, Kd] = piddata(C);                 % 参数PID



GE = 100;

GCE = GE*(Kp-sqrt(Kp^2-4*Ki*Kd))/2/Ki; % Kp = GCU * GCE + GU * GE

GCU = Ki/GE;                           % Ki = GCU * GE

GU = Kd/GCE;                           % Kd = GU * GCE



% 模糊推理系统 Sugeno:

FIS = newfis('FIS','FISType','sugeno');

FIS = addvar(FIS,'input','E',[-100 100]); 

FIS = addmf(FIS,'input',1,'Negative','gaussmf',[70 -100]);

FIS = addmf(FIS,'input',1,'Positive','gaussmf',[70 100]);



FIS = addvar(FIS,'input','CE',[-100 100]); 

FIS = addmf(FIS,'input',2,'Negative','gaussmf',[70 -100]);

FIS = addmf(FIS,'input',2,'Positive','gaussmf',[70 100]);



FIS = addvar(FIS,'output','u',[-200 200]); 

FIS = addmf(FIS,'output',1,'Min','constant',-200);

FIS = addmf(FIS,'output',1,'Zero','constant',0);

FIS = addmf(FIS,'output',1,'Max','constant',200);



% 模糊规则

ruleList = [1 1 1 1 1;...   

            1 2 2 1 1;...   

            2 1 2 1 1;...  

            2 2 3 1 1];     

FIS = addrule(FIS,ruleList);



sim('SimFuzzyPID')

load('StepPID')

load('StepFP')

figure

plot(StepPID(1,1:401),StepPID(2,101:501))

hold on

plot(StepFP(1,1:401),StepFP(2,101:501))

hold off

title('控制后的系统响应')

legend('PID','Fuzzy-PID')


3、系统仿真与分析

为分析模糊控制器控制性能.针对直流电机控制系统.利用模糊控制技术设计转速调节器.电流调节器依然采用传统PI控制.用Matlab/Simulink仿真工具进行了系统仿真。并和传统内外环均采用PID控制的系统指标进行了比较。

图片

图片

图片

图片

从仿真结果可以看出。模糊PID控制系统具有超调量小、鲁棒性和抗负载扰动能力强的优点。由于模糊PID的设计比较简单,容易实现,控制效果也更出色。


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>