直流电机PID闭环数字控制器设计

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

广西大学实验报告纸

:指导老师:成绩:

学院:专业:班级

实验容:直流电机PID闭环数字控制器设计2014年其他组员:

实验时间:2014年10月28号

实验方式:课外在MATLAB平台上完成实验。

实验目的:

1、掌握线性系统状态空间标准型、解及其模型转换。

实验设备与软件:

1、MATLAB数值分析软件

实验原理:

1、求矩阵特征值

[V J]=eig(A), cv= eig(A)

2、求运动的方法

(1)利用Laplace/Z逆变换----适合于连续/离散线性系统;

(2)用连续(离散)状态转移矩阵表示系统解析解----适合于线性定常系统;

(3)状态方程的数值积分方法----适合于连续的线性和非线性系统;

(4)利用Cotrol ToolBox中的离散化求解函数----适合于LTI系统;

(5)利用Simulink环境求取响应----适于所有系统求取响应。

1、PID调节原理

比例调节作用:按比例反应系统的偏差产生调节作用。比例作用大,可以加快调节,减少误差,但是过大的比例,使系统的稳定性下降,甚至造成系统不稳定。

积分调节作用:消除稳态误差。积分作用的强弱取决与积分时间常数Ti ,Ti 越小,积分作用就越强;反之,Ti 大则积分作用弱

微分调节作用:微分作用反映系统偏差信号的变化率,产生超前的控制作用。在偏差还没有形成之前,已被微分调节作用消除,改善系统的动态性能。在微分时间选择合适情况下,可以减少超调,减少调节时间。微分作用不能单独使用。

按偏差的PID 是过程控制中应用最广泛的一种控制规则,该调解器是一种线性调节器,。PID 的控制原理表达式为:

图1 PID 控制原理图

2、PID 算法的数字实现 (1)标准PID 算法:

在输出不振荡时,增大比例增益,减小积分时间常数,增大微分时间常数。因本实验采用的是一种离散时间的离散控制系统,因此为了用计算机实现PID 控制必须将其离散化,故可用数字形式的差分方程来代替

p d

i 1

()()()()t

de t u t K e t e t dt T T dt ⎛⎫

=+

+ ⎪⎝

⎰()

p i d 0()()()()(1)n

j u n K e n K e j K e n e n ==++--∑

(1)

式中积分系数i p i T K K T =

微分系数d

d p T K K T

=,其中T --采样周期;()u n --第n 次采样时计算机输出;()e n --第n 次采样时的偏差值;(1)e n ---第n-1次采样时的偏差值.

可将上式转化成增量的形式:

(2)

(2)积分分离PID 控制算法

与上述标准算法比,该算法引进积分分离法,既保持了积分的作用,又减小了超调量,使控制性能得到较大的改善。令积分分离法中的积分分离阈值为0E ,则

(3)

(3)不完全微分PID 算法

微分作用容易引起高频干扰,因此通常在典型PID 后串接一个低通滤波器来抑制高频干扰,微分作用能在各个周期按照偏差变化趋势均匀的输出,真正起到微分的作用,改善系统性能。这样得到的PID 算法成为不完全微分PID 算法,表达式为:

(4) 式中

3、直流电机闭环调速系统原理

()()

p i d ()()(1)()(1)()()2(1)(2)u n u n u n K e n e n K e n K e n e n e n ∆=--=--++--+-()

p i d 0()()()()(1)n

j u n K e n K e j K e n e n ='=++--∑0

i p 0i

0,()()e n E K T

K e n E T ⎧>⎪'=⎨≤⎪⎩, ()(1)(1)()

u n au n a u n '=-+-f f )

a T T T =+()d p 0i ()()()()(1)n j T

T u n K e n e j e n e n T T =⎛⎫'=++-- ⎪

⎪⎝⎭∑

图2 直流电机闭环调速系统原理

(4)被模拟对象模型描述

该闭环调速实验中,直流电机对象可通过实验测得其空载时的标称传递函数如下:

(5)

实验过程与分析

依据电机模型公式(5),在simulink 中搭建直流电机闭环调速的仿真模型,分析PID 对对象的影响,并选择一组较好的PID 参数为在实验操作提供可行依据,搭建的模型如下:

0.08482.7()0.31

s

W s e

s -=

+比比比比比比比比

其中PID模块的封装为:

(1)实验程序

标准PID程序:

int pid(int P,int I,int D,int E)

{

int KI,KD,KP,U;

KP=P;

KI=5*KP/I; //求出积分系数KI

KD=D*P/5; //求出微分系数Kp

II=II+E; //求出积分

U=KP*E+KD*(E-E0)+KI*II;

E0=E;

return U;

}

积分分离PID程序:

int pid(int P,int I,int D,int E)

{

int KI,KD,KP,U,fa;

KP=P;

KI=5*KP/I; //求出积分系数KI

KD=D*KP/5; //求出微分系数Kp

II=II+E; //求出积分

if(E<0)

fa=-E;

else

fa=0;

if(fa>10) //积分KI不参加运算

{

U=KP*E+KD*(E-E0);

}

else //积分KI参加运算

{

U=KP*E+KD*(E-E0)+KI*II;

}

E0=E;

return U;

相关文档
最新文档