基于matlab的pid控制系统仿真的建模具体步骤

基于matlab的pid控制系统仿真的建模具体步骤,第1张

1. PID 控制系统原理及算法

当我们不能将被控对象的结构和参数完全地掌握,或者是不能得到精确的数学模型时,在这种情况下最便捷的方法便是采用PID 控制技术。为了使控制系统满足性能指标要求,PID 控制器一般地是依据设定值与实际值的误差,利用比例(P)、积分(I)、微分(D)等基本控制规律,或者是三者进行适当地配合形成相关的复合控制规律,例如,PD、PI、PID 等。

图1 是典型PID 控制系统结构图。在PID 调节器作用下,对误差信号分别进行比例、积分、微分组合控制。调节器的输出量作为被控对象的输入控制量。

图1 典型PID控制系统结构图

PID 控制器主要是依据给定值r(t)与实际输出值y(t)构成控制偏差,用公式表示即e(t)=r(t)-y(t),它本身属于一种线性控制器。通过线性组合偏差的比例(P)、积分(I)、微分(D),将三者构成控制量,进而控制受控对象。控制规律如下:

其传递函数为:

式中:Kp--比例系数; Ti--积分时间常数; Td--微分时间常数。

2. PID 控制器的MATLAB 仿真

美国MathWorks 公司推出的MATLAB 是一套具备高性能的数值计算和可视化软件。由于MATLAB 可以将矩阵运算、图形显示、信号处理以及数值分析集于一体,构造出的用户环境使用方便、界面友好,因此MATLAB 受到众多科研工作者的欢迎。本文利用MATLAB 仿真工具箱Simulink 的功能,在基于仿真环境Matlab/Simulink 工具上用图形化方法直接建立仿真系统模型,启动仿真过程,将结果在示波器上显示出来。

3. 仿真实例分析

3.1 建立数学建模

设被控对象等效传递函数为

3.2 仿真建模

仿真建模的目的就是将数学模型转换成计算机能够执行的模型,运用Simulink 可以达到此目的。图2 是综合图1 和给定计算公式运用Simulink 建立的PID 控制的连续系统的仿真模型(建模步骤略)。

图2 Simulink仿真建模

3.3 仿真实验

在传统的PID 调节器中,参数的整定问题是控制面临的最主要的问题,控制系统的关键之处便是将Kp、Ti、Td三个参数的值最终确定下来。而在工业过程控制中首先需要对PID 控制中三参量对系统动态性的影响进行实际深入地了解,才能确定怎样将三参数调节到最佳状态。在本实验中,对各参量单独变化对系统控制作用的影响进行讨论,其中在对一个参量变化引发的影响进行讨论时,需要将其余两个参数设定为常数。

3.3.1 P 控制作用分析

分析比例控制作用。设Td= 0、Ti=∞、Kp= 3 ~ 10.输人信号阶跃函数,分别进行仿真,如图3 所展示的系统的阶跃响应曲线。

图3 显示的仿真结果表明:系统的超调量会随着Kp值的增大而加大,系统响应速度也会会随Kp值的增大而加快。但是系统的稳定性能会随着Kp的增大而变差。

图3 单闭环调速系统P控制阶跃响应曲线

3.3.2 比例积分控制作用的分析

设比例积分调节器中Kp= 1,讨论Ti= 0.01 ~ 0.05 时。输人信号阶跃函数,分别进行仿真,如图4 所展示的系统的系统的阶跃响应曲线。

图4 单闭环调速系统PI控制阶跃给定响应曲线

系统的超调量会随着Ti值的加大而减小,系统响应速度随着Ti值的加大会略微变慢。

3.3.3 微分调节作用的分析

设Kp= 1、Ti= 0.01,讨论Td= 10 ~ 100 时对系统阶跃响应曲线的影响。输人信号阶跃函数,分别进行仿真,如图5 所展示的系统的阶跃响应曲线。

图5 单闭环调速系统PID控制阶跃给定响应曲线

图5 所显示的仿真结果表明:根据单闭环调速系统的参数配合情况,起始上升段呈现较尖锐的波峰,Kp= 1、Ti= 0.01不变时,随着Td值的加大,闭环系统的超调量增大,响应速度变慢。

4 .结论

(1)对于PID 参数采用MATLAB 进行整定和仿真,使用起来不仅快捷、方便,而且更为直观,同时也避免了传统方法反复修改参数调试。

(2)系统的响应速度会随Kp值的增大而加快,同时也有助于静差的减小,而Kp值过大则会使系统有较大超调,稳定性变坏;此外,系统的动作会因为过小的Kp值减慢。

(3)超调的减小、振荡变小以及系统稳定性的增加都取决于积分时间Ti的增大,但是系统静差消除时间会因为Ti的增大而变长。

(4)增大微分时间Td对于系统的稳定性、系统响应速度的加快以及系统超调量的减小都会有所帮助。但是如果Td过大,则会使得调节时间较长,超调量也会增大;如果Td过小,同样地也会发生以上状况。

(5)总之PID 参数的整定必须考虑在不同时刻三个参数的作用以及彼此之间的作用关系。

5.结语

PID 控制应用领域极为广泛,可将其应用于电力、化工、轻工、冶金以及机械等工业过程控制中。通常情况下,最适合采用PID 控制技术的条件是:当我们对目标系统或被控对象的内部特征不完全清楚时,或者是系统的全部参数不能经过有效的测量手段来获取,同时必须依赖于经验和现场调试来确定系统控制器的结构参数情况下采用该技术。

clc% 清屏

clear all%删除workspace变量

close all%关掉显示图形窗口

ts=0.001%仿真时间

M=3000%Gen

%Continuous Plant

a=25b=133

sys=tf(b,[1,a,0])%传递函数

dsys=c2d(sys,ts,'z')%离散化

[num,den]=tfdata(dsys,'v')

A1=[0 10 -a]

B1=[0b]

C1=[1 0]

D1=[0]

[A,B,C,D]=c2dm(A1,B1,C1,D1,ts,'z')

Q=1%Covariances of w

R=1%Covariances of v

P=B*Q*B'%Initial error covariance

x=zeros(2,1)%Initial condition on the state

ye=zeros(M,1)

ycov=zeros(M,1)

u_1=0u_2=0

y_1=0y_2=0

for k=1:1:M

time(k)=k*ts

w(k)=0.10*rands(1)%Process noise on u

v(k)=0.10*rands(1)%Measurement noise on y

u(k)=1.0*sin(2*pi*1.5*k*ts)%正弦信号

u(k)=u(k)+w(k)

y(k)=-den(2)*y_1-den(3)*y_2+num(2)*u_1+num(3)*u_2

yv(k)=y(k)+v(k)

%Measurement update

Mn=P*C'/(C*P*C'+R)

P=A*P*A'+B*Q*B'

P=(eye(2)-Mn*C)*P

x=A*x+Mn*(yv(k)-C*A*x)

ye(k)=C*x+D%Filtered value

errcov(k)=C*P*C'%Covariance of estimation error

%Time update

x=A*x+B*u(k)

u_2=u_1u_1=u(k)

y_2=y_1y_1=ye(k)

end

figure(1)

plot(time,yv,'k:',time,y,'r','linewidth',2)

xlabel('时间(s)')ylabel('y,yv')

grid on

legend('噪声信号','理想信号')

figure(2)

plot(time,y,'r',time,ye,'k:','linewidth',2)

xlabel('时间(s)')ylabel('y,ye')

grid on

legend('理想信号','滤波信号')

figure(3)

plot(time,errcov,'k','linewidth',2)

grid on

xlabel('时间(s)')ylabel('误差协方差')


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/11767091.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-18
下一篇2023-05-18

发表评论

登录后才能评论

评论列表(0条)

    保存