发明名称 一种大林算法实验平台
摘要 一种大林算法实验平台,包括:Step模块,Sum模块,Clock模块,Mux模块1,MATLABFcn模块,Zero-OrderHold模块,TransferFcn是传递函数模块,TransportDelay模块是传输延时模块,Mux模块2,Scope示波器模块2MATLABFcn模块和一个m语言编写的大林算法程序相关联,实现大林算法程序的编写;大林算法实验平台,可在平台上使用编程实现大林算法,并对编程后的大林算法进行实验。
申请公布号 CN104063546A 申请公布日期 2014.09.24
申请号 CN201410303621.7 申请日期 2014.06.30
申请人 河南科技大学 发明人 张海涛
分类号 G06F17/50(2006.01)I 主分类号 G06F17/50(2006.01)I
代理机构 洛阳公信知识产权事务所(普通合伙) 41120 代理人 罗民健
主权项 一种大林算法实验平台,控制对象是一个带时延的二阶对象,其传递函数为;控制目标,即整个闭环系统的传递函数为;系统包括:Step模块,代表单位阶跃信号输入,作为给定值;Sum模块,实现给定值和反馈值的减法运算,得到偏差信号,并将偏差信号输出给Mux模块1;Clock模块,输出时间值给Mux模块1;Mux模块1将收集的时间和偏差信号输出到MATLAB Fcn模块;MATLAB Fcn模块和一个m语言编写的大林算法程序相关联,实现大林算法程序的编写;Zero‑Order Hold模块是零阶保持器,实现数模转换器的功能,该模块的输出送到Scope示波器模块1,以便显示控制量的输出;Transfer Fcn是传递函数模块,实现控制对象中的<img file="848355dest_path_image001.GIF" wi="140" he="55" />,其参数根据实际系统设定;Transport Delay模块是传输延时模块,实现控制对象中的<img file="827812dest_path_image002.GIF" wi="39" he="26" />,其参数根据实际系统设定;Mux模块2将给定值和输出值同时送到Scope示波器模块2,同时显示给定值和输出值;通过以上模块实现大林算法,主要包括以下步骤:第一步:设置所有模块的采样周期为T;第二步:Step模块的输出连接Sum模块的正输入端,和Mux模块2的输入端1;第三步:Transport Delay模块的输出连接Sum模块的负输入端,和Mux模块2的输入端2;第四步:Sum模块的输出实现了给定值和输出量的差值,该输出连接和Mux模块1的输入端1;第五步:Clock模块的输出连接Mux模块1的输入端2;第六步:Mux模块1的输出端连接MATLAB Fcn模块,通过设置该模块的Function属性,将m语言程序编写的函数和该模块联系起来,该程序有两个参数输入,分别是Clock模块输出的时间u1和Sum模块输出的偏差u2;在m语言程序中,通过以下步骤实现大林算法:步骤1:定义全局变量<img file="607549dest_path_image003.GIF" wi="68" he="25" />,并计算<img file="815808dest_path_image004.GIF" wi="75" he="26" />;步骤2:如果u1=0,也就是在0时刻程序刚执行时,令<img file="630180dest_path_image005.GIF" wi="206" he="26" />;<img file="452642dest_path_image006.GIF" wi="159" he="25" />,也就是设置系统为0初始状态;步骤3:初始化参数:采样周期T,对象参数<img file="781992dest_path_image007.GIF" wi="61" he="27" />,大林常数<img file="980893dest_path_image008.GIF" wi="22" he="30" />;步骤4:计算<img file="649771dest_path_image009.GIF" wi="268" he="54" />,<img file="957649dest_path_image010.GIF" wi="349" he="60" />;步骤5:令<img file="711979dest_path_image011.GIF" wi="83" he="29" />,即将当前偏差赋予变量error;步骤6:将大林算法控制器<img file="511307dest_path_image012.GIF" wi="467" he="70" />进行z反变换,得到输出控制量;<img file="34693dest_path_image014.GIF" wi="552" he="149" />其中,u表示当前采样周期时刻输出的控制量,uq(1)表示上一个采样周期时刻输出的控制量, uq(2)表示上两个采样周期时刻输出的控制量,uq(N+1)表示上(N+1)个采样周期时刻输出的控制量,uq(N+2)表示上(N+2)个采样周期时刻输出的控制量,error表示当前采样周期时刻的偏差,eq(1)表示上一个采样周期时刻的偏差,eq(2)表示上两个采样周期时刻的偏差;大林算法会产生振铃现象,为了消除大林算法中的振铃现象,对步骤6修改;修改的步骤6:将消除振铃现象的大林算法控制器<img file="464537dest_path_image015.GIF" wi="541" he="69" />进行z反变换,得到输出控制量;<img file="519212dest_path_image016.GIF" wi="551" he="188" />步骤7:将变量uq和eq进行迭代,即<img file="794335dest_path_image017.GIF" wi="216" he="32" />,<img file="500123dest_path_image018.GIF" wi="75" he="29" />;<img file="835290dest_path_image019.GIF" wi="108" he="29" />,<img file="dest_path_image020.GIF" wi="105" he="29" />;步骤8:返回步骤5继续执行;第七步:MATLAB Fcn模块的输出连接Zero‑Order Hold模块的输入,以便将离散的控制量连续化;第八步:Zero‑Order Hold模块的输出连接Transfer Fcn模块的输入,和Scope示波器模块1,以便显示控制量;第九步:Transfer Fcn模块的输出连接Transport Delay的输入;第十步:Mux模块2的输出连接Scope示波器模块2。
地址 471000 河南省洛阳市涧西区西苑路48号