荣誉证书

荣誉证书

只做让客户省心放心的逆变器及逆变电源

首页 > 荣誉证书 > ballbet贝博BB

控制周期越短控制效果是否越好?

时间: 2024-02-20   作者: ballbet贝博BB

  这题我会(终于遇到我会的了)。读博士的时候,我的老师John Hung,在他的discrete control这个课上讨论过这个问题。

  控制周期短的优点很多答主都说了,我就不再赘述了。为啥太短了会有问题,我举一个例子。假如说我们在连续域设计了一个控制器

  然后我们应该把它给离散化,方便于在单片机上实现,考虑到零极点都是在1rad/s的数量级,那我们先用0.01s的控制周期应该是足够的。使用matlab来做:

  是不是有点不对了?明明连续域稳定的控制器,为啥到了离散域变得不稳定了,都跑到单位圆上面去了?我控制周期越短不是越接近连续域的控制器吗?在matlab里面点开c3仔细看:

  换句话说,一条直线,你取两个点可以算出来它的斜率。但是如果这两个点离得太近,你就得用足够长的字长来表示它,否则就算出来的不对了。

  Middleton和Goodwin写了个新的变换方法,连续域不再是直接映射到单位圆,而是随着采样周期的减小,这个圆的直径也会变大,就会变得对此不敏感。但是总的来说,目前控制理论的矛盾点不在这里,所以这个工作没有引起广泛的重视。

  当然了,周期变短还有些放大采样噪声和量化噪声的影响,有人说过了我就不再说了。

  所以啊,控制周期不是越小越好,合适的最好,一般来说被控对象带宽的5-20倍就够了。

  说来也惭愧,都这么多年了,控制管理系统我会的还是hung哥教我的那一点儿,自己一点也没进步。

  这里解析一下上述两个前提。首先算力的要求无需多言,大家都明白。但数值精度要求往往会被一些人所忽视。由于计算机可处理的数值精度是有限的,当采样频率大到某些特定的程度时,控制算法中的一些减法运算会由于有效数字的问题出现错误的结果,因此导致整个算法崩掉。因此,采样频率不能超过数值精度的所允许的上限。

  然后再粗略地介绍一下采样频率对系统性能的影响,这一块其实涉及到控制器离散化的知识,相对来说还是比较复杂,有时间我会写一篇文章详细的介绍,这里只给出一些简要的说明。

  这里考虑连续系统控制器的设计过程。被控对象事实上也是一个连续的系统,假设我们获取了这个系统的模型,并且基于这个连续的模型设计了一个连续的控制器。那么基于线性系统的理论,可以分析出系统的各项性能指标,比稳定性,抗扰性能,跟踪性能等等。设计出满足性能指标的控制器之后,我们要做的就是将该控制器离散化,使其尽可能接近连续系统。

  离散化的控制器相比于其连续系统形式,存在某些特定的程度的幅值与相位失真,并且随着采样频率降低而进一步增大,进而影响控制效果。

  该控制器在采样频率fs = 50Hz时两种常用离散化方法(zoh和tustin)的频域曲线。

  显然tustin方法比zoh方法在幅值和相位上更接近连续系统,并且二者的幅值和相位均出现了失真现象,这将导致离散系统的控制效果与连续系统不一致。若逐步降低采样频率到10Hz,频域曲线则如下显示:

  这里指出常见的一个误区,之前的回答也看到过。就是微分控制不能单纯地用差分来代替。对于标准的PID控制器,微分项至少要伴随一个一阶低通环节,来保证控制器是proper的。如果微分控制只是用简单的差分来做,将会导致对应的连续系统会随着采样频率的改变发生变化,相应的高频增益随着采样频率降低而被放大。这种微分方式在实际应用中是不可取的,因为我们应该保证离散化后的控制器与设计时的连续形式相匹配。

  标准的微分控制并不会随着采样频率的升高而导致高频增益的放大,反而随着采样频率升高,离散控制器将更接近设计的连续系统,来保证了微分控制的性能。

  事实上,测量噪声对于采样频率的选取也起到了至关重要的作用,从而给出最后一个结论,

  假设系统的采样频率为fs,根据采样定理,该离散系统最多可以复现频率为fs/2的信号,并且该频率通常被称为系统的Nyquist frequency。当测量噪声的频率大于Nyquist frequency时,就会发生所谓的混叠现象aliasing。具体表现为,原本的高频噪声信号被离散后的系统采集为低频信号,这里就不详细解释混叠的原理,下面给出一个实际的例子来帮大家理解。

  给定一个51Hz的正弦信号,分别通过1000Hz以及50Hz进行采样,得到的曲线如下:

  显然,1000Hz的采样完整恢复了51Hz的正弦信号,而50Hz的采样由于发生混叠aliasing,错把原本51Hz的高频正弦信号当成了1Hz的低频信号。

  如果测量信号存在着高频噪声,并且高频噪声的能量比较大,对系统影响不可忽略,而该噪声超过了采样的Nyquist frequency,那么控制效果就会受到严重影响。

  理论上,控制周期越短,计算机实现的离散控制器就越接近连续控制器,这样有助于我们根据连续系统设计连续控制器并直接应用于被控对象。

  但并不一定是周期越短效果越好。比如一些本身开环闭环带宽都很低的系统,本身不需要很高的控制频率。若传感器测量的反馈信号有较大的高频噪声,提高远高于系统带宽的控制频率并不能有效的提升控制效果反而会使控制器对高频噪声更加敏感。

  另外,还应注意控制频率不宜高于反馈信号的采样频率或状态估计频率,否则将某些特定的程度影响控制器中涉及反馈信号微分的环节。

  先给个大概结论,控制周期越短/控制频率越高,系统的控制性能上限越高,但是这个上限能否兑现,还需要看其他条件。

  首先,对于大多数控制管理系统而言,都是在s域或者连续时域下做多元化的分析和设计控制算法,这些控制算法有必要进行离散化才能在微控制器上实现。离散化的采样周期越小,离散化后的控制器与原控制器的性能差异越小;对于线性控制器而言,就是离散化前后的幅频特性更接近。从这个意义上来说,

  其次,数字控制管理系统是天然存在延时的,即从采样保持、计算到输出是需要一些时间的,更高的采样和控制频率事实上降低了环路延时,

  。例如,单片机的ADC存在最大采样速率,执行机构存在最大的动作频率。举一个更加实际的应用场景,对于PWM逆变器控制的三相交流电机,控制频率受到功率器件最大开关频率限制,而电流采样则只能在PWM载波的峰谷处进行(进而也受到开关频率制约)。

  ”的问题,无论是定点型还是浮点型微处理器都需要更大的字长来保证计算精度。

  还有就是离散时间控制管理系统提高采样和控制频率后系统频谱更宽带来的好处。一是噪声分布在更加宽广的频域范围内,低频段的噪声会有下降;二是水床效应造成的灵敏度峰值也会下降,系统的稳定裕度更高。

  继续以电机电流控制为例,如下图所示,其中采用的是双采样双更新模式,不过结论对于单采样单更新模式是相同的。实际的电机控制中,电流采样一般在载波的峰/谷处进行,这样做才能够获得一个周期内的平均电流,同时避免PWM电流纹波对采样信号的影响。并且,从电流采样到计算在到PWM占空比更新是需要一段时间的,由ADC转换速率、算法复杂度以及单片机算力等因素决定,这一段时间一般都控制在一个采样周期内。但是计算得到的占空比一般不能立即装载,要等到下一个载波波峰或者波谷,以保证调制波和载波可以有一个确定的交截。这一些因素就造成了从电流采样到PWM更新之间的1个采样周期的计算延时(1拍)。此外,PWM调制的效用是分布在下一个周期的,它可以近似等效为一个零阶保持器,这又引入了0.5拍的调制延时。因此,整个环路中一共存在1.5拍数字延时。

  对于电流环而言,其穿越频率\omega_c(可近似为闭环系统带宽)与相位裕度存在如下关系

  其中T_d=1.5T_s=1.5f_s^{-1}是环路延时,f_s是采样和控制频率。该式表明,对于一个给定的相位裕度,电流控制的带宽与控制频率是成正比的。

  从一定程度上来说,是的。一般从较大控制周期降为较小控制周期时,控制管理系统各方面的性能(响应速度/稳定速度/抗扰能力)都会提高。下图中展示了控制频率和性能的关系 [1]:

  但是,因为受控系统/执行单元也有响应带宽上限,所以到达一定的控制周期后,继续减小周期将不继续带来系统性能的显著提高。并且更高的控制频率,也需要系统别的部分(如采样、滤波)的执行频率相应的提高,增加处理器的运算负担。在我的这篇论文中 [2] 有提到相关的问题。评论中有提到过高采样频率带来的采样噪声问题,这点确实存在,需要设置前置低通滤波器配合过采样进行补偿。

  一般来说,控制频率是系统截止频率的5到10倍 (经验公式)。当然最小不能低于传感器采样/状态估计频率。题外话,控制频率应该避开系统的谐振频率,当然一般谐振频率在奈奎斯特频率之下,所以就没这个担忧了。

  控制周期或者控制频率和控制效果的关系,很多大神在楼里做了理论分析,学习了很多。

  在实践中,这样的一个问题没有深入地验证过,很难给出准确答案。但是我能给出一个相关的结论,这个结论就是:控制频率越高,能保证控制效果的下限,必然不会很差。

  控制效果和控制频率,在实践中的认知,不一定具备线性的关系。以变频器为例,ABB的DTC采用的是变开关频率控制,其开关频率是不停变化的,说明开关频率和控制效果没有绝对的相关,当然前提是基于ABB的控制方法。

  再以国产技术领先的汇川为例,一般默认开关频率是2~4kHz,最大16kHz。默认开关频率4k依然能实现较好的控制效果,而且低速为了规避逆变器非线性因素的影响,大多数主流厂家大部分会选择主动降低开关频率。

  回到主题,为什么控制频率越高,能保证控制效果的下限呢?首先,我的从业经验让我习惯把目前的电机控制分成高压应用和低压电池应用。

  高压应用一般是220VAC以上的应用,一般单相或者三相交流输入,是AC-DC-AC的传统电力电子拓扑,或者类似电动汽车的350VDC电池供电。这类控制器基本采用IGBT作为逆变器件,因为IGBT不能做太高的开关频率,所以高压控制器的开关频率一般不超过16k,而且超过了10k一般要根据负载降额运行。

  这类控制器的开关器件基本都是MOSFET,因为MOSFET开关速度快,相比IGBT开关损耗小很多,能做到高达100kHz的开关频率。所以低压控制器,开关频率常见的都能做到20kHz甚至30kHz。

  而且由于低压电机同步速比较高,比如吸尘器基本是1对极,做到10万rpm,那么同步电频率是1700Hz,必须提高开关频率。航模电机一般同步电频率是1200Hz左右。

  同样以1200Hz为例,10kHz开关频率,每个开关周期离散造成的角度滞后是1200*360°/10k=43.2°,20k开关频率,每个开关周期离散造成的角度滞后是1200*360°/20k=21.6°。

  因为PWM生效有一个开关周期的延时,再比如三角波计数器底点生效,在这整个周期生效,以顶点作为平均值,那么其实离散造成的延时是1.5个开关周期。

  所以对于1200Hz电机,10kHz的离散延时是64.8°,20kHz的离散延时是32.4°。所以提高开关频率,可以某些特定的程度上掩盖离散造成的角度延时,提高控制效果的下限。所以很多工程师,哪怕是400Hz同步频率的电机,依然会选择高达16kHz的控制频率,这样子参数好调,系统容易稳定,控制效果有保证。

  以上分析是基于单采单更的模式,现在单电阻采样没办法实现双采双更,使用M0芯片受限于计算资源,也是单采单更为主。按照同行的共识,100Hz的电频率对应1kHz的控制频率,即1000Hz的电频率能用10kHz控制频率,单采单更能实现稳定控制已经是很不错的效果了。所以说,越低的开关频率,能实现不错的控制效果,更显得难能可贵。

  理论上说,如果新的周期不是原来周期的整数分之一,则不是,即使是对最简单的线性系统。

  因为可以认为系统是一个连续时间的系统来进行离散的控制。如果控制周期不对,可能系统离散化之后不可控,或者很难控。(若干个不相同但是具有同样实部的连续系统的根,离散化之后可能被映射到圆上同一个或者非常接近的点。)

  如果是整数分之一,那这个很显然是“可以”做到不差于之前的,因为快的控制器可以模拟慢的控制器,等于设计空间增大了。

  1)当机电系统存在一定惯性的时候,控制周期短无法提高输出对干扰和指令变化的响应速率;

  2)微分控制效果会变差,因为分母上的时间间隔太小,会放大噪声和数值误差;

  不一定,有句话叫着过犹不及,在控制管理系统中,一些参数的变化都是有范围的限制,超出范围 ,轻易造成系统振荡,不稳定。对于任何一个控制管理系统而言,稳定是第一要素,所有很多参数的调节都是受限的。

  网上看到的一些定义:DCS系统控制周期指从本次系统中全部的控制回路从数据采集到控制运算再到信号输出这一系列动作完成到下一次全部的控制回路从数据采集到控制运算再到信号输出这一系列动作完成的时间间隔。

  针对一般机器人控制管理系统,控制周期能够理解为两次控制命令下发的时间间隔,再简单点理解,就是两次发送电机控制命令的时间间隔。

  控制周期又和采样周期相关联。因此控制周期会大于采样周期。因为下发的控制命令时,你必须已经处理好了所有的数据。在这一段时间内,你需要完成传感器数据采样,数据分析、数模转化/模数转化,算法计算,命令下发。涵盖整个过程。

  控制周期越短 ,也就从另一方面代表着下发的频率越快,因此对传感器采样频率,CPU处理速度也要有全新的要求,而且高频需要增强抗干扰能力。

  一般控制周要达到期望带宽的25-40倍,这样做才能够保证离散控制器和连续控制器之间差别较小。但是如果周期太小,可能会引入高频噪音。

  理论上,是这样没错,但是频率上升到一个值后,控制效果就不会有明显的提升了。

  工程上,是一个成本与效果的综合考虑,能不能提高频率取决于产品的定位,不过你如果用非常高的频率去控制一个时间常数很大的东西本身就是不合理的,因为提高的这部分频率基本上没有什么收益,徒增硬件成本

  那些搬着课本说不一定的、还有说采样定理最低2倍频率的,显然是没有实操过控制管理系统的。现实中谁敢用2倍频控制我推荐去报院士候选。

  当然,首先得保证控制器算力足够,实时性尽量稳定,还有计算精度(一般double类型精度肯定是满足规定的要求的)

  之前i3跑2kHz的算法妥妥没毛病,由于换了i7,虽然核数多了但单核主频降了很多,遂控制频率降到1k,参数重调,很明显变拉跨了。

  实际用的时候取合适的周期即可,超过被控对象带宽五倍即可,再加改善很小,不会随着周期变短明显变化。

  这个问题是需要分情况讨论。针对在连续域内设计的控制器进行离散化部署的情况,采样周期越短,控制效果越接近于连续域内的仿真效果;而对于离散域内设计控制器而言,需要选取合适的采样时间得到离散模型,使得离散系统稳定且不失去动态特性,更加有助于离散控制器的设计。

  由于控制器部署在实际系统中时,一定是离散形式的。而设计离散形式的控制器主要有两种做法:

  对于做法(a),采样周期越短,离散形式的控制器越接近于连续形式,那么实际的控制效果也会更接近于仿真效果(模型精确的条件下,基于连续模型的控制仿真)。此时,采样周期越短,控制效果越好,但也会更消耗算力。

  对于做法(b),第一步是要确定采样周期并对连续模型做离散化处理,这个采样周期也是以后的控制周期。进一步的,Kalman于1958年提出的离散化方法表明,离散模型的特征根与连续模型的特征根具有如下关系:

  可以发现,采样时间T_s越小,离散模型的特征根越接近于1,越接近于单位圆上。这表明系统过于活跃,控制该系统要消耗更大的能量。反之,采样时间T_s越大,特征根越接近于圆心。这表明系统过于稳定,已经几乎失去了动态特性,同样不利于控制器的设计。因此,应选择合适的采样时间,使得离散模型的特征根既不过于靠近单位圆,也不过于靠近圆心。那么系统不仅是稳定的,也表现为良好的动态特性,此时更加有助于控制器的设计。

  综上,针对在连续域内设计的控制器进行离散化部署的情况,采样周期越短,控制效果越接近于连续域内的仿真效果;而对于离散域内设计控制器而言,需要选取合适的采样时间得到离散模型,使得离散系统稳定且不失去动态特性,更加有助于离散控制器的设计,合适的采样时间一定要通过计算离散模型的特征根确定。