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


点击看大图

                  图 1 通用数字马达控制系统

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

量化效应产生误差

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

ADC 量化

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

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


点击看大图

         图2 所选择比较方法的概述

算法计算中的量化

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

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

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