数字信号处理

平台

DSP 设计支持

入门

理解并控制数字马达控制系统的量化误差 - 第一部分

作者:Kedar Godbole,德州仪器 C2000 应用产品部

数字控制系统能够为设计人员提供多种优势,如更易于实施高级算法功能、成本更低且性能更稳定等。数字控制器避免了模拟控制中存在的漂移、噪声敏感性以及组件老化等问题。设计数字马达控制系统时需要考虑的主要问题是需针对实施选择合适的处理器,同时处理器字长也至关重要。设计人员需要关注定点处理器中因定点数表示法而引起的量化误差问题。这些误差将会降低控制系统的性能,使设计人员无法最大限度地发挥出高级算法的优势。


图 1.通用马达控制系统

图 1 是通用数字马达控制系统的结构简图。算法可在数字控制器上实施,数字控制器生成的控制输出可通过逆变器驱动马达。电流及电压测量等反馈信号通过模数转换器 (ADC) 反馈至该算法。

量化效应产生误差

数字信号与其表示的信号相近。现实世界中的信号在幅度和时间上是连续的,而信号的数字表示精度有限且在采样时间上不连续。也就是说,在不考虑缩放比例的情况下,尽管信号的表示与其真实值不同,但却通常可以接受。图 (1) 显示了系统中不同的量化源 (quantization source)。比较明显的量化源是:具有量化误差、孔径抖动、采样与保持误差特性的 ADC;具有截位、舍入、溢出误差特性的计算引擎,具有时钟驱动 PWM 生成功能的有限量化脉宽调制 (PWM) 发生器。我们将在本文的两个部分中详细阐述所有三种量化源。

ADC 量化

对于所有采样信号而言,控制系统信号的真实值与 ADC 代码所代表的数值之间的差值即为系统的采样误差。主要是通过使用更长字长的 ADC 来最小化采样误差(通常在嵌入式控制器中采用 12 位 的ADC )。当采样孔径正在进行开关操作时,真实时间点的不确定性会造成孔径抖动或不稳定现象。必须通过将采样时间点与 PWM 处理相结合的方法来控制这种现象,尤其是在具有最小抖动电流的采样中。在 ADC 运行中使用硬件触发器可以消除由软件运行引起的抖动现象。

特别要注意的是对多个电流测量值顺序采样时会造成误差。通常情况下,设计人员希望及时得到马达电流在某个特定时间点的“瞬态图”,如果使用单个 ADC 对两股电流进行顺序采样,则会产生有限误差。使用具有双采样和保持电路(可同时对双通道进行采样)的 ADC 可以使此类误差最小化,另一个误差源是流入高速 ADC 输入的信号加载所引起的信号干扰。精心设计的电路将有助于降低可能导致逆变器驱动级产生电压干扰的电流峰值。


图 2.仿真马达控制系统

算法计算中的量化:系统表现如何?

算法的数值表示是量化效应最关键的地方。算法表示的精度由字长决定。控制工程研究科学深入研究了字长的选择对控制系统性能的影响,然而在将理论应用于特定系统时会遇到两个重大问题。实际上,对于三相 AC 感应马达中的磁场定向控制 (FOC) 等复杂马达控制系统而言,量化效应难以通过分析得出,原因是整个数字反馈系统是耦合、非线性、复杂和多输入多输出的。其次,由于每个系统都具有独特的设计,因此单一的标准解决方案并不能完全适用所有情况。分析因数值表示而引起的量化误差的一个实用而高效的办法是:通过仿真及实验分析来研究实际的数字控制器和控制方法。

图 3.已选择比较方法的概述

这里,三相 AC 感应马达的无传感直接磁场定向控制 (FOC) 系统显示了量化误差的影响。图 3 所示的系统已应用于仿真与真实应用中(需配备适当的外设驱动器)。该算法采用 16 位定点、32 位定点及 32 位 IEEE-754 单精度浮点三种不同格式,这三种格式均采用基于 32 位定点数字信号处理技术 (DSP) 的德州仪器 (TI) 的 TMS320F2812 数字信号控制器与 TI 针对 32 位定点编程的“IQmath”库。“IQmath 库使设计人员能够简便快捷地将以浮点格式编写的 C 语言代码转换为 32 位定点格式。代码完全以 C 语言编写,并具有“IQMath”库提供的数学函数。

仿真系统能够以 16 位定点、32 位定点及 IEEE754 单精度浮点三种格式表示。这里显示的仅是其中一种选择结果。由于定点处理器上的浮点运算是通过运行时间支持库 (rts2800_ml.lib) 来实现的,本身效率不高,所以浮点版本的实施需要较长的采样时间 (4 kHz) 以便计算所有浮点模块。由于不同的采样时间将影响系统性能,所以为了便于比较,实验结果将只侧重于 16 位至 32 位之间的定点版本。

要比较三种数据格式对数值精度的影响,需要监控估计速度响应与相应的 d 及 q 轴参考电流。将所有的 PI 增益、参数、基本量在全部三种数据格式的仿真过程中设定为相同的有效值。从图 4 可以看出,16 位定点版本与浮点版本的性能具有极大的差别。


图 4.16 位定点、32 位定点及浮点仿真结果。

从图中数值性能的比较可以看出,16 位定点系统有若干个伪瞬态 (false transient) 与振铃,而 32 位系统则没有这些现象。32 位单精度浮点与 32 位定点的结果非常相近。

在现实系统中,这些瞬态现象会产生可聆听到的噪声及振动,从而引起许多不良后果。尤其不利的是在第一个速度级别时出现的估测速度振荡瞬态的衰减以及随后的增长,图中显示此次观察值十分接近 16 位系统的边缘值。另一方面,具有控制响应的 32 位定点仿真系统的性能良好。

溢出现象一般会发生在通过控制算法进行一系列的加、减法运算时。通过缩放算法来降低实际工作中的溢出可能性通常可达到调整溢出的目的。可使用额外的边缘标签保护位 (margins labeled guard bit) 来完成。控制算法一般在标么系统 (per-unit system) 中进行标准化以便按比例缩放所有物理变量(电压、电流、扭矩、速度及磁通量等)。使用合适的缩放比例可消除溢出这一量化误差源。造成量化误差的数值计算范例包括乘、除法运算以及三角、指数、平方根等查表数学函数。

本文的第 2 部分将讨论 16 位及 32 位定点系统实际的实施结果。此外,还将讨论量化效应与数字控制器采样速率之间的关系所产生的影响。最后,我们将在文章的末尾做相关概述性总结,其中包括总结 PWM 控制器的量化效应以及解决这一问题的新技术。