1、四、实验原理由于计算机的发展,计算机及其相应的信号变换装置(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要
2、求可得: , 令,则校正后的开环传递函数为由上式得 ,取,则 所以校正后系统的模拟电路图如下图所示。图3-3 校正后二阶系统的模拟电路图实验建议单元:U3、U8、U11、U5、U4及反相器单元,为使校正后的,要求对象K由5增至10。,(实际可取200K电阻),3、的离散化算法图3-4 数模混合控制的方框图图3-3中的离散化可通过数据采集卡的采样开关来实现。传递函数与Z传递函数间的相互转换,可视为模拟滤波器与数字滤波器之间的转换。常用的转换方法有:a) 阶跃响应不变法(或用脉冲响应法)b) 后向差分法c) 双线性变换1) 阶跃跃响应不变法 数字滤波器在阶跃作用下输出响应的模拟滤波器在阶跃作用下输
3、出响应的采样值, 据此得 即 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顺序点击虚拟示波器界面上的“”按钮和工具栏上的 “” 按钮(脚本
4、编程器);2.3在脚本编辑器窗口的文件菜单下点击“打开”按钮,并在“计算机控制算法VBS计算机控制技术基础算法D(S)离散化方法研究”文件夹下选中“阶跃响应不变法”脚本程序并打开,阅读、理解该程序,然后点击脚本编辑器窗口的调试菜单下“步长设置”,将脚本算法的运行步长设为100ms;点击脚本编辑器窗口的调试菜单下“启动”;弹起锁零按钮使其处于“解锁”状态,用虚拟示波器观察图3-2输出端的响应曲线。结束本次实验后按下锁零按钮使其处于“锁零”状态; 2.4参考步骤2.3,用同样的方法分别运行后向差分法和双线性变换脚本程序,用虚拟示波器观察图3-2输出端的响应曲线;2.5将采样周期Ts减小或增大,重复
5、步骤2.3和2.4,用虚拟示波器观测采样周期Ts的减小或增大对系统阶跃响应的影响。如系统出现不稳定情况,记下此时的采样周期Ts和所采用的离散化方法;2.6按图3-3连接二阶被控对象在加入模拟控制器(PID校正装置)后的模拟电路,并在其输入端输入2V的阶跃信号,然后观察其响应曲线,并与前面2.3和2.4步骤中采用数字控制器的实验曲线相比较;2.7 实验结束后,关闭脚本编辑器窗口,退出实验软件。注:为了更好的观测实验曲线,实验时可适当调节软件上的分频系数(一般调至刻度2)和选择“”按钮(时基自动),以下实验相同。六、实验报告要求1绘出实验中二阶被控对象在加入模拟控制器(PID校正装置)前后的响应曲
6、线。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
7、)*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 WriteData op ,1 控制信号从DA1端口输出sub Finalize (arg) 退出函数2.数字控制器(后向差分法)的程序编写与调试示例dim pv,sv,ei,eix,op,opx,Tssub Initialize(arg) 初始化函数sub TakeOneStep (arg) 算法运行函数 pv = ReadData(1) 当前测量值 sv=2 Ts=0.
8、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 op=4.9 WriteData op ,1 end subsub Finalize (arg) 退出函数3.数字控制器(双线性变换法)的程序编写与调试示例sub Initialize(arg) eix=0sub TakeOneStep (arg) pv = ReadData(1) Ts=0.1 采样周期 op=(0.44-Ts)/(0.44+Ts)*opx+(1+Ts)/(0.44+Ts)*ei-(1-Ts)/(0.44+Ts)*eix)*0.45 =-4.9 then op=4.9sub Finalize (arg)
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1