资源简介
Matlab增量式PID算法仿真 ,包含m文件和simulink仿真文件,希望对大家有帮助
代码片段和文件信息
%设一被控对象G(s)=50/(0.125s^2+7s)
%用增量式PID控制算法编写仿真程序
%(输入分别为单位阶跃、正弦信号,采样时间为1ms,控制器输出限幅:[-33]
% 仿真曲线包括系统输出及误差曲线)。
ts=0.001; %采样时间
sys=tf(50[0.1257 0]); %tf是传递函数 即被控对象函数G();
dsys=c2d(systs‘z‘); %把控制函数离散化取Z变换n阶定常离散系统差分方程
%在零初始条件下取Z变换:
%dsys即Y(z)/U(z)
[numden]=tfdata(dsys‘v‘);% 离散化后提取分子、分母
u_1=0.0;
u_2=0.0;
y_1=0.0;
y_2=0.0;
x=[000]‘;
error_1=0;
error_2=0;
%核心代码
for k=1:1:1000
time(k)=k*ts; %采样次数
S=1;
if S==1 %阶跃输入
kp=6.5;ki=0.1;kd=1; %初始化PID
rin(k)=1; %Step Signal
elseif S==2 %正弦输入
kp=10;ki=0.1;kd=15;
rin(k)=0.5*sin(2*pi*k*ts); %Sine Signal 即实际输入
end
du(k)=kp*x(1)+kd*x(2)+ki*x(3); %PID Controller 控制系数
u(k)=u_1+du(k); %真正的PID输出应该为du+前一时刻的输出
if u(k)>=3
u(k)=3;
end
if u(k)<=-3
u(k)=-3;
end
%Linear model 难点就是把传递函数转化为差分方程,以实现PID控制。
yout(k)=-den(2)*y_1-den(3)*y_2+num(2)*u_1+num(3)*u_2; %实际输出 num为dsys分子多项式系数,den为dsys分母多项式系数,从n阶定常离散系统差分方程变化来的。
error(k)=rin(k)-yout(k); % 误差 输入-输出
u_2=u_1; %保存上上次输入 为下次计算
u_1=u(k); %保存上一次控制系数 为下次计算
y_2=y_1; %保存上上次次输出 为下次计算
y_1=yout(k); %保存上一次输出 为下次计算
x(1)=error(k)-error_1; %KP的系数
x(2)=error(k)-2*error_1+error_2; %KD的系数
x(3)=error(k); %KI的系数
error_2=error_1; %上次的变上上次误差
error_1=error(k); %这次的变上次的误差
end
figure(1);
plot(timerin‘b‘timeyout‘r‘); %输入 和实际控制输出
xlabel(‘time(s)‘)ylabel(‘rinyout‘);
figure(2);
plot(timeerror‘r‘) %时间误差输出曲线
xlabel(‘time(s)‘);ylabel(‘error‘);
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 15284 2018-04-06 10:53 PIDsimulikn.slx
文件 2859 2018-04-05 21:29 Incremental PID.m
相关资源
- matlab 数据处理 求绝对误差 剔除粗
- 基于MATLAB的基带传输位同步信号提取
- 基于MATLAB的图像分割含GUI界面
- matlab写的GMM代码
- MATLAB ADOV 路由仿真代码
- turbo码的matlab仿真
- 基于BP神经网络的PID控制器的Matlab仿真
- matlab逻辑回归应用代码十分详细附数
- 各种滤波器程序 matlab
- AOA定位的扩展卡尔曼滤波定位算法M
- 对数极坐标变换matlab程序
- 地震波剖面图的形成matlab
- 倾斜界面求波的反透射系数matlab
- MATLAB课程设计报告
- 混沌logistic的matlab仿真
- L-K光流法matlab实现
- 利用bp神经网络实现0~9数字识别,
- 基于MATLAB的直接序列扩频通信系统误
- 潮流计算之前推回代法的matlab程序
- HHT MATLAB工具箱
- fft-piv矢量估计matlab代码
- 利用Matlab进行车辆检测与车型识别
- 压缩在感知之广义正交匹配追踪法G
- 压缩感知之分段正交匹配追踪法StOM
- 压缩感知之迭代硬阈值法IHT可直接运
- 导电煤质分界面平面的垂直入射的M
- 处理高密度椒盐噪声matlab代码
- matlab 相机标定工具箱
- 数学建模动态规划matlab编程与例题精
- 蚁群算法最短路径通用Matlab程序
评论
共有 条评论