查看完整版本: 理解并控制数字马达控制系统的量化误差

liyf 发表于 2014-10-5 10:02:47

理解并控制数字马达控制系统的量化误差

理解并控制数字马达控制系统的量化误差

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

图 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位之间的定点版本。

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

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

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

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

图4 马达控制系统的实现


图5 标准 PWM 方案图,以及高分辨率 PWM 与传统 PWM 的示波器图比较

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

李小路 发表于 2021-6-20 06:18:00

谢谢分享!:D
页: [1]
查看完整版本: 理解并控制数字马达控制系统的量化误差