实验三 数字PID调节器算法的研究

时间:2024.5.2

实验三  数字PID调节器算法的研究

实验项目名称:数字PID调节器算法的研究

实验项目性质:普通

所属课程名称:计算机控制技术

实验计划学时:2学时

一、实验目的

1.学习并熟悉常规的数字PID控制算法的原理;

2.学习并熟悉积分分离PID控制算法的原理;

3.掌握具有数字PID调节器控制系统的实验和调节器参数的整定方法。

二、实验内容和要求

1.利用本实验平台,设计并构成一个用于混合仿真实验的计算机闭环实时控制系统;

2.采用常规的PI和PID调节器,构成计算机闭环系统,并对调节器的参数进行整定,使之具有满意的动态性能;

3.对系统采用积分分离PID控制,并整定调节器的参数。

二、实验主要仪器和材料

1.THTJ-1型计算机控制技术实验箱

2.THVLW-1型USB数据采集卡一块(含37芯通信线、USB电缆线各1根)

3.PC机1台(含上位机软件“THTJ-1”)

四、实验方法、步骤及结果测试   

1、实验原理

在工业过程控制中,应用最广泛的控制器是PID控制器,它是按偏差的比例(P)、积分(I)、微分(D)组合而成的控制规律。而数字PID控制器则是由模拟PID控制规律直接变换所得。

在PID控制规律中,引入积分的目的是为了消除静差,提高控制精度,但系统中引入了积分,往往使之产生过大的超调量,这对某些生产过程是不允许的。因此在工业生产中常用改进的PID算法,如积分分离PID算法,其思想是当被控量与设定值偏差较大时取消积分控制;当控制量接近给定值时才将积分作用投入,以消除静差,提高控制精度。这样,既保持了积分的作用,又减小了超调量。

2、实验步骤

1、实验接线

1.1按图1和图2连接一个二阶被控对象闭环控制系统的电路;

1.2该电路的输出与数据采集卡的输入端AD1相连,电路的输入与数据采集卡的输出端DA1相连;

1.3待检查电路接线无误后,打开实验平台的电源总开关,并将锁零单元的锁零按钮处于“不锁零”状态。

2、脚本程序运行

2.1启动计算机,在桌面双击图标THTJ-1,运行实验软件;

2.2顺序点击虚拟示波器界面上的“”按钮和工具栏上的 “” 按钮(脚本编程器);

2.3在脚本编辑器窗口的文件菜单下点击“打开”按钮,并在“计算机控制算法VBS\计算机控制技术基础算法\数字PID调器算法”文件夹下选中“位置式PID”脚本程序并打开,阅读、理解该程序,然后点击脚本编辑器窗口的调试菜单下“步长设置”,将脚本算法的运行步长设为100ms;                                                                                                                                                                                      

2.4点击脚本编辑器窗口的调试菜单下“启动”;用虚拟示波器观察图4-2输出端的响应曲线;

2.5点击脚本编辑器的调试菜单下“停止”,利用扩充响应曲线法(参考本实验七附录4)整定PID控制器的P、I、D及系统采样时间Ts等参数,然后再运行。在整定过程中注意观察参数的变化对系统动态性能的影响;

2.6 参考步骤2.4、2.4和2.5,用同样的方法分别运行增量式PID和积分分离PID脚本程序,并整定PID控制器的P、I、D及系统采样时间Ts等参数,然后观察参数的变化对系统动态性能的影响。另外在积分分离PID程序运行过程中,注意不同的分离阈值tem对系统动态性能的影响;

2.7 实验结束后,关闭脚本编辑器窗口,退出实验软件。

五、实验报告要求

1.绘出实验中二阶被控对象在各种不同的PID控制下的响应曲线。

2.编写积分分离PID控制算法的脚本程序。

3.分析常规PID控制算法与积分分离PID控制算法在实验中的控制效果。

六、思考题

1. 该实验中被控对象是什么?有什么特点?

2. 试画出该实验中数字PID控制系统的方框图。

3. 试叙述带积分分离的PID控制算法的特点和应用的场合。

4. 位置式PID算式与增量式算式有何区别?各有什么优缺点?

5. 数字PID调节器的参数Kp 、Ti 、Td和采样周期T对系统响应有何影响?参数的整定使用什么方法?

七、附录

1.被控对象的模拟与计算机闭环控制系统的构成

图1  数-模混合控制系统的方框图

图中信号的离散化通过数据采集卡的采样开关来实现。

被控对象的传递函数为:

  

它的模拟电路图如下图所示

图2  被控二阶对象的模拟电路图

2.常规PID控制算法

1)常规PID控制位置式算法为:

对应的Z传递函数为:

式中Kp---比例系数

Ki=积分系数,T采样周期

Kd微分系数

其增量形式为:

  

3.积分分离PID控制算法:

系统中引入的积分分离算法时,积分分离PID算法要设置分离阈E0

当 │e(kT)│≤│E0│时,采用PID控制,以保持系统的控制精度。

当 │e(kT)│>│E0│时,采用PD控制,可使δp减小。积分分离PID控制算法为:

式中Ke称为逻辑系数:

当 │e(k)│≤│E0│时, Ke=1

当 │e(k)│>│E0│时,  Ke=0

对应的控制方框图为

图4-3  上位机控制的方框图

图中信号的离散化是由数据采集卡的采样开关来实现。

4.数字PID控制器的参数整定

在模拟控制系统中,参数整定的方法较多,常用的实验整定法有:临界比例度法、阶跃响应曲线法、试凑法等。数字控制器参数的整定也可采用类似的方法,如扩充的临界比例度法、扩充的阶跃响应曲线法、试凑法等。下面简要介绍扩充阶跃响应曲线法。

扩充阶跃响应曲线法只适合于含多个惯性环节的自平衡系统。用扩充阶跃响应曲线法整定PID参数的步骤如下:

① 数字控制器不接入控制系统,让系统处于开环工作状态下,将被调量调节到给定值附近,并使之稳定下来。

② 记录被调量在阶跃输入下的整个变化过程,如下图所示。

③ 在曲线最大斜率处作切线,求得滞后时间τ和被控对象时间常数Tx,以及它们的比值Tx/τ,然后查下表确定控制器的KP、Ki、Kd及采样周期T。

扩充阶跃响应曲线法通过测取响应曲线的τ、Tx参数获得一个初步的PID控制参数,然后在此基础上通过部分参数的调节(试凑)使系统获得满意的控制性能。

5.位置式PID数字控制器程序的编写与调试示例:

5.1参考程序

dim pv,sv,ei,K,Ti,Td,q0,q1,q2,mx,pvx,op            ‘变量定义

sub Initialize(arg)                             ‘初始化函数

WriteData 0 ,1                                 '给通道一写0

mx=0                                        '给mx赋初值

pvx=0                                        '给pvx赋初值

end sub                                         '结束初始化子函数

sub TakeOneStep (arg)                         ‘算法运行函数

pv = ReadData(1)                            'pv为当前测量值

  sv=2                                        ‘sv为给定值

  K=0.8                                       ‘比例系数P

  Ti=5                                        ‘积分时间常数I

  Td=0                                        ‘微分时间常数D

  Ts=0.1                                       ‘采样周期

  ei=sv-pv                                     'ei为当前偏差值

  q0=K*ei                                     ‘比例项

  if Ti=0  then

    mx=0

    q1=0

  else

    mx=K*Ts*ei/Ti                              ‘当前积分项

  end if

  q2=K*Td*(pvx-pv)/Ts                           ‘'微分项

  q1=q1+mx                                    '当前积分项

if q1>4.9 then                                  ‘积分限幅,以防积分饱和

   q1=4.9

end if

if q1<-4.9 then                               

    q1=-4.9

end if 

pvx=pv                            '将当前输出值赋给pvx, 为下一时刻做准备

op=q0+q1+q2                                 'op为控制器当前输出值

if op<=-4.9 then                               '输出值限幅,op下限为-4.9

    op=-4.9

end if

if op>=4.9 then                                 'op上限为4.9

   op=4.9

end if

WriteData op ,1                                  '通道1写入op的值

end sub                                          '结束算法运行子函数

sub Finalize (arg)                                   ‘退出函数

WriteData 0 ,1                                   '给通道一写0

end sub                                           '结束退出子函数

5.2位置式PID (k=0.8,ti=5,td=0);运行步长100ms,超调量为27.5%。(如图3)

                               3

         

6、积分分离PID控制算法的编程参考示例:

6.1程序

dim pv,sv,ei,K,Ti,Td,q0,q1,q2,mx,pvx,op,ke,tem           '变量定义

sub Initialize(arg)                                    '初始化函数

WriteData 0 ,1                                     '给通道一写0

mx=0                                            '给mx赋初值

pvx=0                                           '给pvx赋初值 

end sub                                          '结束初始化子函数

sub TakeOneStep (arg)                              '算法运行函数

 pv = ReadData(1)                                 ' pv为当前测量值

 sv=2                                           'sv为给定值

 K=0.8                                         'K为比例系数

 Ti=5                                          'Ti为积分时间常数

 Td=0                                          'Td为微分时间常数

 Ts=0.1                                         ' Ts为采集周期

 ei=sv-pv                                        'ei为当前偏差值

 tem=abs(ei)                                     

  if tem>=0.8 then                  '丨ei丨≥0.8时,ke=0;其中0.8为分离阈值

    ke=0                                      

else

     ke=1                                     '丨ei丨<0.8时,ke=1

   end if   

   q0=K*ei                                    '比例项

  if Ti=0  then

    mx=0

    q1=0

  else

    mx=ke*K*Ts*ei/Ti                          '当前积分项

  end if

   q2=K*Td*(pvx-pv)/Ts                         '微分项

if mx>4.9 then                               '当前积分限幅,以防积分饱和

  mx=4.9

end if

if mx<-4.9 then                               

  mx=-4.9

end if 

q1=q1+mx                                    '当前积分项

pvx=pv                              '将当前输出值赋给pvx, 为下一时刻做准备

op=q0+q1+q2                         '当前输出值'op为控制器当前输出值

if op<=-4.9 then                           '输出值限幅,op下限为-4.9

  op=-4.9

end if

if op>=4.9 then

 op=4.9                              'op上限为4.9

end if

WriteData op ,1                            '通道1写入op的值 

end sub                              '结束算法运行子函数

sub Finalize (arg)                       '退出函数

WriteData 0 ,1                         '给通道一写0

end sub                                '结束退出子函数

6.2积分分离PID (k=0.8,ti=5,td=0),超调量为15.6%

7、增量式PID控制算法的编程参考示例:

7.1参考程序

dim pv,sv,ei,ex,ey,K,Ti,Td,q0,q1,q2,op      '变量定义

sub Initialize(arg)                       '初始化函数

    WriteData 0 ,1                      '给通道一写0

end sub                               '结束初始化子函数

sub TakeOneStep (arg)                   '算法运行函数

    pv = ReadData(1)                    ' pv为当前测量值

    sv=2                               'sv为给定值

    K=0.8                             'K为比例系数

   Ti=5                               'Ti为积分时间常数

   Td=0                              'Td为积分时间常数

   Ts=0.1                            ' Ts为采集周期

   ei=sv-pv                           'ei为当前偏差值

   q0=k*(ei-ex)                        '比例项

   if Ti=0  then

     q1=0

   else

     q1=K*Ts*ei/Ti                    '当前积分项

   end if

     q2=k*td*(ei-2*ex+ey) /Ts            '微分项

   ey=ex                              '赋值,为下一时刻做准备

   ex=ei

   if q1>4.9 then                      '当前积分限幅,以防积分饱和

      q1=4.9

     end if

   if q1<-4.9 then

      q1=-4.9

   end if 

   op=op+q0+q1+q2                    'op为控制器当前输出值

   if op<=-4.9 then                     '输出值限幅,op下限为-4.9

      op=-4.9

   end if

   if op>=4.9 then                       'op上限为4.9

      op=4.9

   end if

   WriteData op ,1                      '通道1写入op的值

 end sub                              '结束算法运行子函数

sub Finalize (arg)                       '退出函数

WriteData 0 ,1                     '给通道一写0

end sub                               '结束退出子函数

7.2增量式PID (k=0.8,ti=5,td=0),超调量为27.3%。

 

更多相关推荐:
调查研究的方法

调查研究的方法一要科学地选择调研题目所谓选题就是确定调查研究所要探索的对象选题要有针对性开创性和可行性针对性要求选题必须针对客观需要解决法院工作中迫切需要解决的问题开创性要求要紧跟法院工作实践的步伐研究在法院改...

社会调研方法及调查报告的撰写

社会调研方法及调研报告的撰写1导论什么是研究从被动性学习到主动性学习综合运用所学知识解决实际问题的能力研究发现问题和解决问题的过程研究的对象主动性学习研究型学习自主性探索性学习旨在培养事实和社会现象企业管理典型...

调查报告的研究方案及技术路线

调查报告的研究方案及技术路线一研究背景及意义分析1研究背景首先随着我国教育事业的发展目前每年的大学生入学数量都在增加从而导致每年毕业大学生就越来越多面对的就业压力就越来越大许多大学生在毕业后找不到工作或者毕业后...

怎样搞好调查研究和撰写调研报告

怎样搞好调查研究和撰写调研报告一怎样进行调查研究一要弄清两个概念即调查和研究调查和研究是两个不同的概念调查是指通过各种方法和具体方式了解客观事物的具体情况研究是指以辩证唯物主义的认识论和方法论为指导对这些实际情...

研究报告的写作方法

研究报告的写作方法和格式一引言1规划突出重点推动全局有所为有所不为塑造地区和学校个性体现quot深度quot和quot高度quot需要与可能相结合克服盲目性和随意性2规范其涵义是运用教育科研方法论开展教育科研以...

可行性研究报告研究方法

可行性研究报告项目背景与概况的研究方法作者中科万向摘要中科万向研究认为在进行投资项目可行性分析的基础阶段要让投资的决策者对项目的概况提出的缘由和投资者的意向有一个基本的了解以为进一步分析项目建设的必要性及其在技...

调研的方法、注意事项与调研报告的写作要求

调研的方法注意事项与调研报告的写作要求一调研活动的主要方法调研可以采纳的方法很多经常使用的方法主要有1实地考察法可以到基层单位到教研室机关科室实验室教研室医院等进行实地考察获取第一感观印象2民调法可分层次召开有...

市场调研与案头研究标准方法

市场调研标准步骤一拟定问题与假设1由于市场研究的主要目的是在收集与分析资料以帮助管理当局解决有关市场管理或决策的问题因此应首先了解问题的所在2拟定假设的主要原因是在限定研究或调查的范围而以将来调查所得的资料来鉴...

社会研究调查方法的概念解释

单选题1不能带有个人的主观偏见或成见更不能任意歪曲或虚构事实指的是科学研究的AA客观性原则B科学性原则C系统性原则D理论和实践相结合的原则2所有的天鹅都是白的是一个CA概念B变量C命题D假设3爱因斯坦曾说提出问...

《社会调查研究与方法》综合试题及答案

社会调查研究与方法综合试题一填空题1普查一般分为一次性普查和常规性普查两类2社会调查研究准备阶段包括三方面工作即确定课题设计调查方案与具体准备3信度是指测量的可靠性它一是指测量方法的可靠二是指测量结果的可靠4目...

社会调查研究方法_在线作业_3

社会调查研究方法在线作业3交卷时间20xx0212094040一单选题15分数字资料的正确性检验一般采取的方法不包括A逻辑检验B客观检验C计算检验D判断检验得分5知识点7整理资料展开解析答案B解析25分从调查对...

调研实践的各种调查方法

观察法观察法是由调查人员直接或通过仪器在现场观察被调查对象的行为并加以记录而获取信息的一种方法观察法可分为以下几种直接观察法直接观察法就是派调查人员去现场直接查看使用这种方法进行调查要确定是定期观察还是不定期观...

调研报告的研究方法(31篇)