温州网络科技技术有限公司,厦门seo顾问屈兴东,如何购买域名和备案,软件开发前景分析目录索引1.符号说明与结构框图2.最小拍控制系统构造原则2.1数字控制器D(z)的构造3.简单控制对象的最小拍控制器设计3.1阶跃输入3.2速度输入1.符号说明与结构框图
y(k)——系统响应输出的离散值u(k)——数字PID控制输出的离散值r(k)——期望输出的离散值#xff08;事先已知事先已知在本例中为常数即阶跃输入e(k)——e(k)r(k)-y(k)为期望值-实际值是单位负反馈的误差比较信号D(z)——数字控制器的脉冲传递函数G(s)——被控对象的传递函数G(z)——广义被控对象的脉冲传递函数Φ(z)C(z)/R(z)\Phi(z)C(z)/R(z)Φ(z)C(z)/R(z)——系统的闭环传递函数Φe(z)E(z)/C(z)\Phi_e(z)E(z)/C(z)Φe(z)E(z)/C(z)——系统的闭环误差传递函数 系统的结构框图如下
2.最小拍控制系统构造原则
最少拍系统是指系统对某些典型的输入阶跃、速度、加速度输入具有最快的响应特性。具体来说最少拍系统应满足对典型输入在有限个采样周期内结束过渡过程且稳态误差为零。研究误差序列e(k)e(k)e(k)的特性之前不妨通过在Z域研究Φe(z)\Phi_e(z)Φe(z)的表达式来得出使得e(k)e(k)e(k)最快收敛至0的条件。 最小拍控制系统的设计原理是使得系统的闭环误差传递函数Φe(z)a1z−1a2z−2...anz−n\Phi_e(z)a_1z^{-1}a_2z^{-2}...a_nz^{-n}Φe(z)a1z−1a2z−2...anz−n具有最简单的表达式。因为z−kz^{-k}z−k的反Z变换为δ(t−k)\delta(t-k)δ(t−k)因此e(k)a1δ(t−T)a2δ(t−2T)...anδ(t−nT)(an≠0)e(k)a_1\delta(t-T)a_2\delta(t-2T)...a_n\delta(t-nT)(a_n≠0)e(k)a1δ(t−T)a2δ(t−2T)...anδ(t−nT)(an̸0)即e(1)a1,e(2)a2,...,e(n)ane(1)a_1,e(2)a_2,...,e(n)a_ne(1)a1,e(2)a2,...,e(n)ann的值是有限的说明系统能在有限拍内达到最小n的值越小Φe(z)\Phi_e(z)Φe(z)的表达式越简单能达到稳态值所需的拍数周期数越少。而我们的目的就是设计控制器D(z)使其达到稳态误差e(k)甚至是e(t)的要求。 设计步骤大体如下
根据被控对象的数学模型求出广义被控对象的脉冲传递函数G(z)根据输入信号的类型确定模型Φe(z)1−Φ(z)\Phi_e(z)1-\Phi(z)Φe(z)1−Φ(z),其对应关系如下表
典型输入Z域表达式Φe(z)的形式\Phi_e(z)的形式Φe(z)的形式u(t)u(t)u(t)11−z−1\frac{1}{1-z^{-1}}1−z−11(1−z−1)F(z)(1-z^{-1})F(z)(1−z−1)F(z)tu(t)tu(t)tu(t)Tz−1(1−z−1)2\frac{Tz^{-1}}{{(1-z^{-1})}^2}(1−z−1)2Tz−1(1−z−1)2F(z){(1-z^{-1})}^2F(z)(1−z−1)2F(z)12t2u(t)\frac{1}{2}t^2u(t)21t2u(t)T2z−1(1z−1)2(1−z−1)3\frac{T^2z^{-1}(1z^{-1})}{2{(1-z^{-1})}^3}2(1−z−1)3T2z−1(1z−1)(1−z−1)3F(z){(1-z^{-1})}^3F(z)(1−z−1)3F(z)
当被控对象不含有不稳定零极点不含有纯滞后环节z−1z^{-1}z−1时F(z)1此时的被控对象也称为简单对象。 满足以上条件的任意一个被控对象称为复杂对象当G(s)中含有不稳定零点或纯滞后环节时不能使用D(z)或者Φe(z)\Phi_e(z)Φe(z)中增加因式消除只能保留至Φ(z)\Phi(z)Φ(z)当G(s)中含有不稳定极点时在Φe(z)\Phi_e(z)Φe(z)中增加对应的零点抵消Φ(z)\Phi(z)Φ(z)中的不稳定极点。 3. 求控制器的脉冲传递函数D(z)求取原理如下 由于C(z)E(z)D(z)G(z)C(z)E(z)D(z)G(z)C(z)E(z)D(z)G(z)所以C(z)R(z)D(z)G(z)E(z)R(z)\frac{C(z)}{R(z)}D(z)G(z)\frac{E(z)}{R(z)}R(z)C(z)D(z)G(z)R(z)E(z)即Φe(z)D(z)G(z)Φe(z)\Phi_e(z)D(z)G(z)\Phi_e(z)Φe(z)D(z)G(z)Φe(z)在单位负反馈系统中Φe(z)1−Φ(z)\Phi_e(z)1-\Phi(z)Φe(z)1−Φ(z)因此D(z)Φ(z)G(z)(1−Φ(z))D(z)\frac{\Phi(z)}{G(z)(1-\Phi(z))}D(z)G(z)(1−Φ(z))Φ(z) 4. 根据D(z)生成控制算法或者脉冲传递函数求出输出序列画出系统的响应曲线。
2.1数字控制器D(z)的构造
我们已经知道D(z)Φ(z)G(z)(1−Φ(z))D(z)\frac{\Phi(z)}{G(z)(1-\Phi(z))}D(z)G(z)(1−Φ(z))Φ(z)因此欲求出D(z)只需知道Φ(z)\Phi(z)Φ(z)或Φe(z)\Phi_e(z)Φe(z)即可。 Φ(z)(a0a1z−1a2z−2...anz−n)(1−z1z−1)(1−z2z−1)...(1−zkz−1)z−m\Phi(z)(a_0a_1z^{-1}a_2z^{-2}...a_nz^{-n})(1-z_1z^{-1})(1-z_2z^{-1})...(1-z_kz^{-1})z^{-m}Φ(z)(a0a1z−1a2z−2...anz−n)(1−z1z−1)(1−z2z−1)...(1−zkz−1)z−m 其中z1,z2,...,zkz_1,z_2,...,z_kz1,z2,...,zk为Φ(z)\Phi(z)Φ(z)保留的的广义被控对象G(z)不稳定零点z−mz^{-m}z−m是闭环传递函数Φ(z)\Phi(z)Φ(z)保留的在G(z)里面出现的纯滞后环节z−mz^{-m}z−m而输入形式决定了前面多项式a0a1z−1a2z−2...anz−na_0a_1z^{-1}a_2z^{-2}...a_nz^{-n}a0a1z−1a2z−2...anz−n的阶数n阶数n和Φe(z)(1−z−1)pF(z)\Phi_e(z){(1-z^{-1})}^pF(z)Φe(z)(1−z−1)pF(z)中的p是一致的即np系数a0、a1、...、ana_0、a_1、...、a_na0、a1、...、an依赖于条件Φe(z)(1−z−1)pF(z)\Phi_e(z){(1-z^{-1})}^pF(z)Φe(z)(1−z−1)pF(z)而定Φe(z)\Phi_e(z)Φe(z)中含有p重零点z1因此它的0阶导到p-1阶导在z1处的值都应该是0即 {Φe(z)∣z10dΦe(z)dz∣z10d2Φe(z)dz2∣z10...dnΦe(z)dzn∣z10\begin{cases} \left. \Phi_e(z) \right| _{z1}0 \\ \left. \frac{{\rm d}\Phi_e(z)}{{\rm d}z} \right| _{z1}0 \\ \left. \frac{{\rm d^2}\Phi_e(z)}{{\rm d}z^2} \right| _{z1}0 \\ ...\\ \left. \frac{{\rm d^n}\Phi_e(z)}{{\rm d}z^n} \right| _{z1}0 \end{cases}⎩⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎧Φe(z)∣z10dzdΦe(z)∣∣∣z10dz2d2Φe(z)∣∣∣z10...dzndnΦe(z)∣∣∣z10 根据上面的方程组可以解出Φe(z)\Phi_e(z)Φe(z)中的未知参数a0、a1、...、ana_0、a_1、...、a_na0、a1、...、an因此Φe(z)\Phi_e(z)Φe(z)已经确定D(z)即可求得。
3.简单控制对象的最小拍控制器设计
3.1阶跃输入
假设被控对象的传递函数为G(s)9.40.017s1G(s)\frac{9.4}{0.017s1}G(s)0.017s19.4求阶跃输入下的最小拍控制器D(z)的表达式。在Simulink的仿真中我们设定了Z变换的采样频率是0.005s其他地方默认为-1即服从系统的采样频率 先求取广义被控对象的传递函数 G(z)Z[1−e−Tss9.40.017s1](1−z−1)Z[(9.4s(0.017s1))]2.394z−11−0.745z−1G(z) Z[\frac{1-e^{-Ts}}{s}\frac{9.4}{0.017s1}] (1-z^{-1})Z[(\frac{9.4}{s(0.017s1)})] \frac{2.394z^{-1}}{1-0.745z^{-1}} G(z)Z[s1−e−Ts0.017s19.4](1−z−1)Z[(s(0.017s1)9.4)]1−0.745z−12.394z−1 没有不稳定零极点和纯滞后环节因此选取Φe(z)(1−z−1),Φ(z)z−1\Phi_e(z)(1-z^{-1}),\Phi(z)z^{-1}Φe(z)(1−z−1),Φ(z)z−1 此时D(z)Φ(z)G(z)(1−Φ(z))0.4174z−0.7452z−1D(z)\frac{\Phi(z)}{G(z)(1-\Phi(z))}0.4174\frac{z-0.7452}{z-1}D(z)G(z)(1−Φ(z))Φ(z)0.4174z−1z−0.7452 我们搭建好Simulink仿真电路如下 按照我们的理论系统的应该在控制算法作用的第一拍0.005s处时达到0稳态误差仿真曲线如下图给定值为1500 可以看到验证结果与我们理论推导相符。注意我们这里示波器取的采样周期为-1inherited说明是Matlab内置的采样时间会比我们定的Ts1s要短的多非常接近于连续系统的仿真结果。可以看出响应曲线在上升段有很微小的纹波抖动在进入稳态值后纹波消失。产生纹波的原因在于Y(z)Y(z)Y(z)
3.2速度输入
假设被控对象的传递函数为G(s)2s(s1)G(s)\frac{2}{s(s1)}G(s)s(s1)2求系统在采样时间1s输入信号为单位速度输入的条件下的最小拍控制器D(z)。系统的结构框图如下图所示 下面我们借助Matlab的命令轻松地解决这个问题。首先按照第二部分最小拍控制系统的设计原则的步骤我们应该求出带零阶保持器的广义被控对象的Z域脉冲传递函数G(z)Z[1−e−Tss⋅G(s)]G(z)Z[\frac{1-e^{-Ts}{s}\cdot G(s)}]G(z)Z[]1−e−Tss⋅G(s)在Matlab工作区输入代码并获得输出的脉冲传递函数 syms s;%定义符号变量sstf(s);%s定义为tftransfer function传递函数类型的结构体Gs2/(s*(s1));Ts1;Gzc2d(Gs,Ts,zoh)%带零阶保持器ZOH的离散化采样时间为1sGz 0.7358 z 0.5285----------------------z^2 - 1.368 z 0.3679Sample time: 1 seconds
Discrete-time transfer function. zpk(Gz)%展示为零极点模式ans 0.73576 (z0.7183)------------------(z-1) (z-0.3679)Sample time: 1 seconds
Discrete-time zero/pole/gain model.可以看出脉冲传递函数G(z)中含有1个不稳定极点z1但是考虑到此时的Φe(z)(1−z−1)2F(z)\Phi_e(z){(1-z^{-1})}^2F(z)Φe(z)(1−z−1)2F(z)具有z1这个零点说明D(z)的表达式D(z)Φ(z)G(z)Φe(z)D(z)\frac{\Phi(z)}{G(z)\Phi_e(z)}D(z)G(z)Φe(z)Φ(z)中可以将极点z1约去不必再增加额外的(1−z−1)(1-z^{-1})(1−z−1)因式因此可以取F(z)1即Φe(z)(1−z−1)2\Phi_e(z){(1-z^{-1})}^2Φe(z)(1−z−1)2此时Φ(z)1−Φe(z)1−(1−z−1)22z−1−z−2\Phi(z)1-\Phi_e(z)1-{(1-z^{-1})}^22z^{-1}-z^{-2}Φ(z)1−Φe(z)1−(1−z−1)22z−1−z−2根据D(z)Φ(z)G(z)Φe(z)D(z)\frac{\Phi(z)}{G(z)\Phi_e(z)}D(z)G(z)Φe(z)Φ(z)可以求出控制器表达式D(z)。 syms z;ztf(z);Phiez(1-z^(-1))^2;Phiz1-Phiez;%得到Φ(z)DzPhiz/(Gz*Phiez);%得到数字控制器的脉冲传递函数minreal(zpk(Dz))%得到最简零极点式ans 2.7183 (z-0.5) (z-0.3679)-------------------------(z0.7183) (z-1)Sample time: 1 seconds
Discrete-time zero/pole/gain model.我们按照此要去搭建好Simulink仿真图如下 D(z)的Sample time设置为1因为我们的采样时间是Ts1s仿真时间设为10s差不多可以清楚地看见过渡过程 黄色为指令信号单位速度输入蓝色为响应曲线。我们将示波器的图形print to figure打印到图形。利用数据游标工具找到t1和t2的点。如果我们的理论正确那么e(0)0,e(1)1,e(2)0.e(3)e(4)…0;
t数据游标采样时刻的值1234
由于r(k)k,y(k)的采样值依次为023.0023.997e(k)r(k)-y(k)基本满足e(0)0,e(1)1,e(2)0.e(3)e(4)…0。 从我们仿真的结果看采样点处的值只需要两拍就达到了稳态但是采样点之间有纹波这是因为E(z)a1z−1a2z−2...anz−nE(z)a_1z^{-1}a_2z^{-2}...a_nz^{-n}E(z)a1z−1a2z−2...anz−n并不是有限项U(z)也并不是有限项即u(k)最终并没有达到恒定误差也并没有最终严格归0这种控制属于有纹波的最小拍控制。还可以通过增加积分可牺牲控制拍数的手段达到无纹波的最小拍控制这是连续系统所做不到的。 希望本文对您有帮助感谢大家对本站点的支持。