欢迎来到天天文库
浏览记录
ID:25041067
大小:60.88 KB
页数:3页
时间:2018-11-17
《C++实现PID控制算法理论分析解析.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、C++实现PID控制算法理论分析
2、C++/VC/MFC/PID算法我们要用C++实现对这个单输入单输出系统的PID控制算法,就需要先进行结构仿真。下面需要分两种情况进行讨论当T1、T2不相等时:当T1=T2时:通过Z变换后,我们得到Z传函的分子和分母的系数,这样我们就可以进行后续的程序处理了。对被控对象采用Z变换进行离散化,离散化后的离散化对象为(tao为时间延迟):yout(k)=-den(2)yout(k-1)-den(3)yout(k-2)+num(2)u(k-1)+num(3)u(k-2) tao=0yout(k)=-den(2)yout(k-1)-den(3)
3、yout(k-2)+num(2)u(k-1-n)+num(3)u(k-2-n) tao/T=n,n>1为整数说明:上面的公式中,如果tao为T的正整数倍,那么den、num的值不变,只是Z的幂次数的改变,如果不是正整数,那么num的值就需要重新计算,一般我们去tao为T的倍数。要检验是否正确,可参考下面的Matlab程序(下面的程序中参数为:K=2、T1=1、T2=2.5、tao=0.6、ts=0.1)。/* 传递函数: k*e(-0.6s) k*e(-0.6s) G(s)=------------------
4、= ---------------------- (s+1)(2.5s+1) 2.5s^2+3.5s+1*/ tao=0.6; ts=0.1; //采样周期 k=2; sys=tf([k],[2.53.51],'inputdelay',tao) //被控对象的连续事件模型 dsys=c2d(sys,ts,'zoh') //连续时间模型到离散时间模型的转换 [num,den]=tfdata(dsys,'v') //
5、matlab给出的Z传函的分子和分母系数 num=[0 0.1097 0.0829] den=[1.0000 -1.3354 0.4317]
此文档下载收益归作者所有