Matlab 在Simulink中用第二个变量限制PID控制器的输出

Matlab 在Simulink中用第二个变量限制PID控制器的输出,matlab,simulink,Matlab,Simulink,我有一个问题,我需要限制PID控制器的输出,所以它需要“监控”两个值 我有一个摆动系统,比如说一个摆动角度为φ的钟摆。我想用另一个系统来减少摆动,这是一个陀螺仪。减小量与陀螺仪进动角(α)的速率成正比,因此φu减小=φ-a*α点,a是一些比例增益 在理想情况下,我们将监控φ和零的差值作为误差,并使用PID控制器确定控制陀螺角度的扭矩。这一切都如下图所示实现,工作起来很有魅力,但现在有一个限制因素:最大进动(陀螺仪)角度限制在150度。。。目前,在没有限制的情况下,最大陀螺仪角度约为1500度,因

我有一个问题,我需要限制PID控制器的输出,所以它需要“监控”两个值

我有一个摆动系统,比如说一个摆动角度为φ的钟摆。我想用另一个系统来减少摆动,这是一个陀螺仪。减小量与陀螺仪进动角(α)的速率成正比,因此φu减小=φ-a*α点,a是一些比例增益

在理想情况下,我们将监控φ和零的差值作为误差,并使用PID控制器确定控制陀螺角度的扭矩。这一切都如下图所示实现,工作起来很有魅力,但现在有一个限制因素:最大进动(陀螺仪)角度限制在150度。。。目前,在没有限制的情况下,最大陀螺仪角度约为1500度,因此这是一个问题

所以我必须限制控制陀螺仪的力矩,使其不超过这个限制。在不创建两个PID控制器(一个增加,一个减少)的情况下,如何做到这一点

请参见图片以了解详细信息

计算出最大扭矩应该是多少,以提供所需的最大角度,并在PID控制器的输出上添加一个饱和块,用先前计算的最大扭矩值进行参数化。

对于限制的简单实现,块(如中所示)没有问题。但是你应该知道你在做什么。饱和PID控制器可能会导致应考虑的问题(无需深入研究您的模型,是否实际会发生)

若要保存,请使用控制器块的饱和选项,并在需要时包括


好的观点。我在回答中几乎提到了它,但在你提到的新PID控制器块引入之前,OP似乎使用了一个较旧的版本(仅通过查看屏幕截图)。@am304但这个功能不是很旧吗?不确定。我认为新的PID块只有几年的历史(R2011听起来差不多正确)。我不记得以前的PID块咒语是否有任何内置的饱和输出功能。