楚雄自助建站系统,wordpress 文章聚合,wordpress侧边栏加速,网站设计公司模板下载对于一般的时滞系统来说#xff0c;设定值的变动会产生较大的滞后才能反映在被控变量上#xff0c;从而产生合理的调节。而前馈控制系统是根据扰动或给定值的变化按补偿原理来工作的控制系统#xff0c;其特点是当扰动产生后#xff0c;被控变量还未变化以前#xff0c;根…对于一般的时滞系统来说设定值的变动会产生较大的滞后才能反映在被控变量上从而产生合理的调节。而前馈控制系统是根据扰动或给定值的变化按补偿原理来工作的控制系统其特点是当扰动产生后被控变量还未变化以前根据扰动作用的大小进行控制以补偿扰动作用对被控变量的影响。前馈控制系统运用得当可以使被控变量的扰动消灭在萌芽之中使被控变量不会因扰动作用或给定值变化而产生偏差它较之反馈控制能更加及时地进行控制并且不受系统滞后的影响。
1、前馈控制基本思想
在高精度伺服控制中前馈控制可用来提高系统的跟踪性能。经典控制理论中的前馈控制设计是基于复合控制思想的当闭环系统为连续系统时使前馈环节与闭环系统的传递函数之积为1从而实现输出完全复现输入。其系统结构图如下 从上图中我们可以发现前馈环节的传递函数是被控对象的倒数。那么就是在使用前馈控制前我们需要对被控对象的模型有了解才能有针对性的设计出合适的前馈控制器。也就说每个系统的前馈控制器都是不一样的每个前馈控制器都是专用的。
要实施前馈控制首先我们必须得到被控系统的近似模型这个模型越接近真实的系统控制的效果就越明显。在这里我们假定一个被控对向的模型为 那么前馈控制器是被控对象的倒数于是我们可以推导出前馈控制器的输入输出表达式为 我们将其离散化就可以得到我们想要实现的前馈控制器的输出公式。前馈控制器的输入是设定值所以表示如下 2、算法实现
经过上面的分析我们可以实现一个前馈控制器前馈控制器的输出与设定值当前值、前一拍的值以及前两拍的只有关。也就是说如果设定值长时间不变化该前馈控制器是不起作用的。当然每一个前馈控制器都是不一样的。
由于A、B、T均为常数于是我们为了书写方便令αA/B*Tβ1/B*T*T于是我们可以先实现前馈控制器。定义一个前馈控制器的结构体
/*定义前馈控制器的结构体*/
typedef struct{float rin;float lastRin;float perrRin;
}FFC/*实现前馈控制器*/
float FeedforwardController(FFC vFFC)
{float result;resultα*(vFFC-rin-vFFC-lastRin)β*(vFFC-rin-2*vFFC-lastRinvFFC-perrRin);vFFC-perrRin vFFC-lastRin;vFFC-lastRin vFFC-rin;return result;
}
有了这个前馈控制器只需要与PID控制器的输出合并在一起就好了U(k)Up(k)Uf(k)而PID控制器采用位置型还是增量型都没有关系。不过在调用这两个控制器时需
vFFC-rinvPID- setpoint
3、总结
前馈控制器是一种补偿控制或者说模型控制其特点就是必须能得到被控对象的精确模型或者近似模型才能起到较好的控制效果。对于时滞系统的模型控制有很多方法前馈控制是其中比较简单和应用较广的算法。
系统中存在频率高、幅度大、可测量而不可控的扰动时可选用前馈控制。当控制系统控制通道滞后时间长、反馈控制又不能获得良好效果时可选用前馈控制。
欢迎关注