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

工业控制

1205人已加入

描述

直流电动机具有启动转矩大、控制性能优等特点。目前直流电机多采用传统的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');figurestep(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);% 参数PIDGE =100; GCE = GE*(Kp-sqrt(Kp^2-4*Ki*Kd))/2/Ki;% Kp = GCU * GCE + GU * GEGCU = Ki/GE;% Ki = GCU * GEGU = Kd/GCE;% Kd = GU * GCE% 模糊推理系统 Sugeno:FIS = newfis('FIS','FISType','sugeno'); FIS = addvar(FIS,'input','E',[-100100]); FIS = addmf(FIS,'input',1,'Negative','gaussmf',[70-100]); FIS = addmf(FIS,'input',1,'Positive','gaussmf',[70100]); FIS = addvar(FIS,'input','CE',[-100100]); FIS = addmf(FIS,'input',2,'Negative','gaussmf',[70-100]); FIS = addmf(FIS,'input',2,'Positive','gaussmf',[70100]); FIS = addvar(FIS,'output','u',[-200200]); 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 = [11111;...12211;...21211;...22311]; FIS = addrule(FIS,ruleList); sim('SimFuzzyPID') load('StepPID') load('StepFP')figureplot(StepPID(1,1:401),StepPID(2,101:501))holdonplot(StepFP(1,1:401),StepFP(2,101:501))holdoff title('控制后的系统响应')legend('PID','Fuzzy-PID')

3、系统仿真与分析

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

直流电机

直流电机

直流电机

直流电机

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

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表德赢Vwin官网 网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分