集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 1329|回复: 3

数字控制系统中的延时

[复制链接]
zhiweiqiang33 发表于 2014-10-22 15:10:50 | 显示全部楼层 |阅读模式
随着MCU、DSP等芯片技术的高速发展,数字控制系统几乎占据了原来模拟控制系统把持的大部分江山。而且其开发设计相比模拟控制系统来说要简单了许多,使得人们很容易上手。那是不是只要我们把程序用C代码一写,然后弄几个定时中断跑跑,只要程序执行时间不超过中断周期,就万事大吉了呢?有没有改进的空间?

对于一些比较简单的系统,这当然没有问题:跑马灯或者蜂鸣器永远不需要关心后台的控制器在做神马;但是对于一些需要高性能处理能力的测试、控制系统,需要我们注意或者说可以改进的地方还是挺多的,这里就说一下数字控制系统中的延时问题。

首先,一个高性能的数字控制系统是需要有反馈的,例如在电机的控制里面,就需要电机电流、转速等信息。电流、电压等是模拟量,需要把传感器的输出信号经过A/D转换送到控制器中,这就产生了第一类的延时问题,即采样-保持延时。这个延时并不是值A/D转换器本身的S/H窗口的时间和转换时间,因为在大多数情况下,这个时间都是ns级别的,相对于几十到几百us的控制周期是微不足道的。这个采样-保持延时是数字控制技术本身导致的,因为数字控制技术一般使用定时的采样,在每次采样的时候,采集到的数据和实际数据是一致的,但是在下一次采样时刻到来之前,系统只能使用本次采样时刻采集到的数据,这就相当于控制中使用的都是“旧”的数据,系统在两次采样时刻直接,也相当于运行在某种开环状态下。这种延时平均算下来是半个采样时间,减小这种延迟的方法自然是提高采样频率了,这需要更快的A/D。

转速的信息则使用编码器或者观测器估算。观测器的暂且不管,因为设计到更复杂的计算方法;就速度这物理量本身而言,显然在一个孤立的采样点上是无法计算速度的,至少要有两个点并且知道了两点间的时间差才能计算,这个时间差同时也造成了一种相位上的滞后,其滞后就是这个时间差,利用数值分析技术中的逆梯形微分可以较好地消除这种延时。

最后一种我们很少会提起的延时就是计算延时,貌似在控制教材里很少提起过,因为它们都太专注于数学运算了,实质性的东西反而没多少。这种延迟的具体时间是不确定的,取决于很多因素,例如算法的复杂程度,越复杂则计算所花的时间越长,这个延时有时候是无法避免的,除非使用更高性能的处理器,或者使用协处理器专门完成复杂任务;编程的技巧,越冗余、粗糙的代码计算所花的时间也越长,仔细地修饰代码可以减小这种延时;离散方法的问题,例如同样的一个积分环节,使用双线性变化法和前向欧拉法就存在一个采样周期的延时差别,这个延时的减小需要在设计离散化算法时特别注意。

以上的三种延时加在一起,就构成了数字控制系统中的计算延时;再把那些数字滤波器神马的延时都加在一起,整个系统的稳定裕度也剩余不多了,当总相位延时为180度,反馈增益又为1的时候,系统就崩溃了。

在模拟控制系统中,因为没有定时采样这些概念,信号的变化都是实时的、连续的,所以其性能在某些场合仍是数字系统不能完全比拟的,这也就能解释为什么在国外一些大公司的产品设计中,某些关键的控制系统仍然在使用模拟控制系统。当然,随着数字控制系统性能的不断提升,这些延时造成的稳定裕度下降也许有天可以达到忽略不计的水平。
 楼主| zhiweiqiang33 发表于 2017-6-11 17:58:47 | 显示全部楼层
某些关键的控制系统仍然在使用模拟控制系统。当然,随着数字控制系统性能的不断提升,这些延时造成的稳定裕度下降也许有天可以达到忽略不计的水平。
zxopenljx 发表于 2020-11-19 17:32:41 | 显示全部楼层
数字控制系统中的延时
zhangyukun 发表于 2020-11-19 17:36:27 | 显示全部楼层
数字控制系统中的延时
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|fpga论坛|fpga设计论坛 ( 京ICP备20003123号-1 )

GMT+8, 2024-11-29 10:42 , Processed in 0.059635 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表