THBDC-1《计算机控制技术》实验指导书(共15页).doc
精选优质文档-倾情为你奉上实验一 离散化方法研究一、实验目的1学习并掌握数字控制器的设计方法;2熟悉将模拟控制器D(S)离散为数字控制器的原理与方法;3通过数模混合实验,对D(S)的多种离散化方法作比较研究,并对D(S)离散化前后闭环系统的性能进行比较,以加深对计算机控制系统的理解。二、实验设备1THBCC-1型 信号与系统控制理论及计算机控制技术实验平台2THBXD数据采集卡一块(含37芯通信线、16芯排线和USB电缆线各1根)3PC机1台(含软件“THBCC-1”)三、实验内容1按连续系统的要求,照图3-1的方案设计一个与被控对象串联的模拟控制器D(S),并用示波器观测系统的动态特性。2利用实验平台,设计一个数模混合仿真的计算机控制系统,并利用D(S)离散化后所编写的程序对系统进行控制。3研究采样周期TS变化时,不同离散化的方法对闭环控制系统性能的影响。4对上述连续系统和计算机控制系统的动态性能作比较研究。四、实验原理由于计算机的发展,计算机及其相应的信号变换装置(A/D和D/A)取代了常规的模拟控制。在对原有的连续控制系统进行改造时,最方便的办法是将原来的模拟控制器离散化,其实质是将数字控制部分(A/D、计算机和D/A)看成一个整体,它的输入与输出都是模拟量,因而可等效于一个连续的传递函数D(S)。这样,计算机控制系统可近似地视为以D(S)为控制器的连续控制系统。下面以一个具体的二阶系统来说明D(S)控制器的离散化方法。1、二阶系统的原理框图如图3-1所示。图3-1 二阶对象的方框图图3-2 二阶对象的模拟电路图2、系统性能指标要求系统的速度误差系数 1/s ,超调量,系统的调整时间s据Kv要求可得: , 令,则校正后的开环传递函数为由上式得 ,取,则 所以校正后系统的模拟电路图如下图所示。图3-3 校正后二阶系统的模拟电路图实验建议单元:U3、U8、U11、U5、U4及反相器单元,为使校正后的,要求对象K由5增至10。,(实际可取200K电阻),3、的离散化算法图3-4 数模混合控制的方框图图3-3中的离散化可通过数据采集卡的采样开关来实现。传递函数与Z传递函数间的相互转换,可视为模拟滤波器与数字滤波器之间的转换。常用的转换方法有:a) 阶跃响应不变法(或用脉冲响应法)b) 后向差分法c) 双线性变换1) 阶跃跃响应不变法 数字滤波器在阶跃作用下输出响应的模拟滤波器在阶跃作用下输出响应的采样值, 据此得 即 2) 后向差分法令 , 后向差分S与Z之间关系为,代入D(S)表达式中得于是得3) 双线性变换 由泰勒级数得 , ,代入D(s)得 即 五、实验步骤1、实验接线及准备1.1 按图3-2连接一个二阶被控对象的模拟电路;1.2,用导线将该电路的输入端连接到数据采集卡的“DA1”输出端,电路的输出端与数据采集卡的“AD1”输入端相连;1.3待检查电路接线无误后,打开实验平台的电源总开关,并按下锁零按钮使其处于“锁零”状态;2、脚本程序运行2.1启动计算机,在桌面双击图标“THBCC-1”,运行实验软件;2.2顺序点击虚拟示波器界面上的“”按钮和工具栏上的 “” 按钮(脚本编程器);2.3在脚本编辑器窗口的文件菜单下点击“打开”按钮,并在“计算机控制算法VBS计算机控制技术基础算法D(S)离散化方法研究”文件夹下选中“阶跃响应不变法”脚本程序并打开,阅读、理解该程序,然后点击脚本编辑器窗口的调试菜单下“步长设置”,将脚本算法的运行步长设为100ms;点击脚本编辑器窗口的调试菜单下“启动”;弹起锁零按钮使其处于“解锁”状态,用虚拟示波器观察图3-2输出端的响应曲线。结束本次实验后按下锁零按钮使其处于“锁零”状态; 2.4参考步骤2.3,用同样的方法分别运行后向差分法和双线性变换脚本程序,用虚拟示波器观察图3-2输出端的响应曲线;2.5将采样周期Ts减小或增大,重复步骤2.3和2.4,用虚拟示波器观测采样周期Ts的减小或增大对系统阶跃响应的影响。如系统出现不稳定情况,记下此时的采样周期Ts和所采用的离散化方法;2.6按图3-3连接二阶被控对象在加入模拟控制器(PID校正装置)后的模拟电路,并在其输入端输入2V的阶跃信号,然后观察其响应曲线,并与前面2.3和2.4步骤中采用数字控制器的实验曲线相比较;2.7 实验结束后,关闭脚本编辑器窗口,退出实验软件。注:为了更好的观测实验曲线,实验时可适当调节软件上的分频系数(一般调至刻度2)和选择“”按钮(时基自动),以下实验相同。六、实验报告要求1绘出实验中二阶被控对象在加入模拟控制器(PID校正装置)前后的响应曲线。2编写数字控制器(阶跃响应不变法)的脚本程序。3绘出二阶被控对象在采用数字控制器后的响应曲线,并分析采样周期Ts的减小或增大对系统阶跃响应的影响。七、附 录1数字控制器(阶跃响应不变法)的程序编写与调试示例dim pv,sv,ei,eix,op,opx,Ts 变量定义sub Initialize(arg) 初始化函数WriteData 0 ,1eix=0opx=0end subsub TakeOneStep (arg) 算法运行函数pv = ReadData(1) 采集卡通道AD1的测量值 sv=2 给定值 Ts=0.1 采样周期 ei=sv-pv 控制偏差 op=exp(-4.54*Ts)*opx+(2.27*ei-(1.27+exp(-4.54*Ts)*eix)*0.45 控制器输出值 eix=ei eix为控制偏差的前项 opx=op opx为控制输出的前项 if op<=-4.9 then 输出值限幅 op=-4.9 end if if op>=4.9 then op=4.9 end if WriteData op ,1 控制信号从DA1端口输出end subsub Finalize (arg) 退出函数WriteData 0 ,1end sub2.数字控制器(后向差分法)的程序编写与调试示例dim pv,sv,ei,eix,op,opx,Tssub Initialize(arg) '初始化函数WriteData 0 ,1opx=0eix=0end subsub TakeOneStep (arg) '算法运行函数 pv = ReadData(1) '当前测量值 sv=2 Ts=0.1 '采集周期 ei=sv-pv op=0.22/(Ts+0.22)*opx+(Ts+0.5)/(Ts+0.22)*ei-0.5/(Ts+0.22)*eix)*0.45 '当前输出值 eix=ei opx=op if op<=-4.9 then '输出值限幅 op=-4.9 end if if op>=4.9 then op=4.9 end if WriteData op ,1 end subsub Finalize (arg) '退出函数WriteData 0 ,1end sub3.数字控制器(双线性变换法)的程序编写与调试示例dim pv,sv,ei,eix,op,opx,Tssub Initialize(arg) '初始化函数WriteData 0 ,1 eix=0opx=0end subsub TakeOneStep (arg) '算法运行函数 pv = ReadData(1) '当前测量值 sv=2 Ts=0.1 '采样周期 ei=sv-pv op=(0.44-Ts)/(0.44+Ts)*opx+(1+Ts)/(0.44+Ts)*ei-(1-Ts)/(0.44+Ts)*eix)*0.45 '当前输出值 eix=ei opx=op if op<=-4.9 then '输出值限幅 op=-4.9 end if if op>=4.9 then op=4.9 end if WriteData op ,1 end subsub Finalize (arg) '退出函数WriteData 0 ,1end sub实验二 数字PID调节器算法的研究一、实验目的1学习并熟悉常规的数字PID控制算法的原理;2学习并熟悉积分分离PID控制算法的原理;3掌握具有数字PID调节器控制系统的实验和调节器参数的整定方法。二、实验设备1THBCC-1型 信号与系统控制理论及计算机控制技术实验平台2THBXD数据采集卡一块(含37芯通信线、16芯排线和USB电缆线各1根)3PC机1台(含软件“THBCC-1”) 三、实验内容1利用本实验平台,设计并构成一个用于混合仿真实验的计算机闭环实时控制系统;2采用常规的PI和PID调节器,构成计算机闭环系统,并对调节器的参数进行整定,使之具有满意的动态性能;3对系统采用积分分离PID控制,并整定调节器的参数。四、实验原理在工业过程控制中,应用最广泛的控制器是PID控制器,它是按偏差的比例(P)、积分(I)、微分(D)组合而成的控制规律。而数字PID控制器则是由模拟PID控制规律直接变换所得。在PID控制规律中,引入积分的目的是为了消除静差,提高控制精度,但系统中引入了积分,往往使之产生过大的超调量,这对某些生产过程是不允许的。因此在工业生产中常用改进的PID算法,如积分分离PID算法,其思想是当被控量与设定值偏差较大时取消积分控制;当控制量接近给定值时才将积分作用投入,以消除静差,提高控制精度。这样,既保持了积分的作用,又减小了超调量。五、实验步骤1、实验接线1.1按图4-1和图4-2连接一个二阶被控对象闭环控制系统的电路;1.2该电路的输出与数据采集卡的输入端AD1相连,电路的输入与数据采集卡的输出端DA1相连;1.3待检查电路接线无误后,打开实验平台的电源总开关,并将锁零单元的锁零按钮处于“解锁”状态。2、脚本程序运行2.1启动计算机,在桌面双击图标“THBCC-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被控对象的模拟与计算机闭环控制系统的构成图4-1 数-模混合控制系统的方框图图中信号的离散化通过数据采集卡的采样开关来实现。被控对象的传递函数为: 它的模拟电路图如下图所示图4-2 被控二阶对象的模拟电路图2常规PID控制算法常规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。控制度控制律TKPTiTd1.05PI0.10.84Tx/0.34PID0.051.15Tx/2.00.451.2PI0.20.78Tx/3.6PID0.161.0Tx/1.90.551.5PI0.50.68Tx/3.9PID0.340.85Tx/1.620.82扩充阶跃响应曲线法通过测取响应曲线的、Tx参数获得一个初步的PID控制参数,然后在此基础上通过部分参数的调节(试凑)使系统获得满意的控制性能。5位置式PID数字控制器程序的编写与调试示例dim pv,sv,ei,K,Ti,Td,q0,q1,q2,mx,pvx,op 变量定义sub Initialize(arg) 初始化函数WriteData 0 ,1mx=0pvx=0end subsub TakeOneStep (arg) 算法运行函数pv = ReadData(1) 采集卡AD1通道的测量值 sv=2 给定值 K=0.8 比例系数P Ti=5 积分时间常数I Td=0 微分时间常数D Ts=0.1 采集周期 ei=sv-pv 控制偏差 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.9end ifif q1<-4.9 then q1=-4.9end if pvx=pv pvx为测量值的前项op=q0+q1+q2 PID控制器的输出if op<=-4.9 then 输出值限幅 op=-4.9end ifif op>=4.9 then op=4.9end ifWriteData op ,1 输出值给DA1通道end subsub Finalize (arg) 退出函数WriteData 0 ,1end sub位置式PID、积分分离PID控制算法的编程请参考E:盘下的“计算机控制技术基础算法数字PID调器算法”目录内参考示例程序。6增量位置式PID数字控制器程序的编写与调试示例dim pv,sv,ei,ex,ey,K,Ti,Td,q0,q1,q2,opsub Initialize(arg) '初始化函数 WriteData 0 ,1end subsub TakeOneStep (arg) '算法运行函数 pv = ReadData(1) '当前测量值 sv=2 K=0.8 Ti=5 Td=0 Ts=0.1 '采集周期 ei=sv-pv '当前偏差 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 if op<=-4.9 then '输出值限幅 op=-4.9 end if if op>=4.9 then op=4.9 end if WriteData op ,1 end subsub Finalize (arg) '退出函数 WriteData 0 ,1end sub7积分分离位置式PID数字控制器程序的编写与调试示例dim pv,sv,ei,K,Ti,Td,q0,q1,q2,mx,pvx,op,ke,temsub Initialize(arg) '初始化函数WriteData 0 ,1mx=0pvx=0end subsub TakeOneStep (arg) '算法运行函数 pv = ReadData(1) '当前测量值 sv=2 K=0.8 Ti=5 Td=0 Ts=0.1 '采集周期 ei=sv-pv tem=abs(ei) if tem>=0.8 then 'tem阀值 ke=0else 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.9end ifif mx<-4.9 then '当前积分限幅,以防积分饱和 mx=-4.9end if q1=q1+mx '当前积分项pvx=pvop=q0+q1+q2 '当前输出值if op<=-4.9 then '输出值限幅 op=-4.9end ifif op>=4.9 then op=4.9end ifWriteData op ,1end subsub Finalize (arg) '退出函数WriteData 0 ,1end sub专心-专注-专业