用DSP完成电机控制算法

数字信号处理算法要求对一组数据快速执行大量数学运算。信号从模拟转换为数字,进行数字处理,然后再次转换为模拟形式。许多DSP应用程序都对延迟有所限制。也就是说,要使系统正常工作,DSP操作必须在一定时间内完成。

大多数通用微处理器和操作系统都可以成功执行DSP算法。但是由于电源和空间的限制,这些微处理器不适合移动电话的应用。然而,专用的数字信号处理器将能提供具有更好的性能和更低的等待时间的低成本解决方案。

  • DSP处理器通常采用不同的存储架构,可以同时访问多路指令和数据,如SIMD,哈弗结构或者改进的冯诺依曼结构
  • 使用DMA
  • 存储器地址计算单元

DSP的主要应用是音频信号处理,音频压缩,数字图像处理,视频压缩,语音处理,语音识别,数字通信,RADAR,SONAR,地震学和生物医学。具体示例包括数字移动电话中的语音压缩和传输,Hifi和扩声应用中声音的房间匹配均衡,天气预报,经济预测,地震数据处理,工业过程的分析和控制,电影中的计算机生成动画,医学影像等用于CAT扫描和MRI,MP3压缩,图像处理,高保真扬声器分频和均衡以及与电吉他放大器一起使用的音频效果。

交流感应电动机的速度可以通过改变电动机的输入电压来控制。这可以通过使用DSP套件产生可变电压来实现。通过以不同角度触发功率模块中的IGBT产生可变电压。DSP处理器正在为IGBT触发生成必要的PWM门控信号,速度传感器将感应速度并向功率模块提供等效电压信号。来自电源模块的控制,信号通过ADC馈送到DSP。来自DSP的PWM信号被送回到控制电动机速度的功率模块。因此,这是一个反馈系统。我们可以更改PI控制器设置并验证控制器性能。

电机的伺服控制是一种信号处理过程,涉及基于动态输入信号(例如位置,速度或转矩)的电动机控制。过去,模拟电路已用于实现伺服控制,但是DSP的自适应能力使其成为许多应用的首选技术。由于与语音编码相比,用于直接速度和转矩控制的带宽相对较窄,因此MCU通常足够快以完成DSP处理工作。但是,在某些情况下,他们必须依靠查找表来近似结果。但是,MCU没有执行最高性能的硬盘驱动器,CD-ROM和DVD驱动器所需的高级控制算法的速度。但是,这些磁盘DSP不仅需要执行电动机速度控制,还需要执行更多功能。它们还必须提供对读取(和写入)机构的伺服位置控制,这些机构通常是线性电动机或音圈机构。必须采用自适应控制来补偿热变化,磁盘老化和物理加速力。

其他计算机DSP伺服应用包括磁带驱动器和笔式绘图仪。非计算机伺服应用包括机械臂/轴控制和其他需要跟踪模拟现象的电动位置控制功能。伺服控制在汽车上的应用包括防滑制动(主要在MCU上执行,但可能会改变),甚至是新的(非液压)动力转向系统。军方采用伺服控制来稳定平台,发射器定位和导弹制导。通常用于伺服控制的算法包括卡尔曼滤波以及无差拍,最优和自适应控制。

长期以来,DSP已用于步进电机控制和闭环DC伺服电机。MCU和DSP都已用于某些高端三相电动机中,主要用于数字换向应用。但是单相电机市场一直是DSP的挑战。但是现在,DSP在单相交流感应电动机控制中的应用已变得实用。

高性能伺服电机的特点是需要平稳旋转直至失速,完全控制失速时的转矩以及快速的加速和减速。过去,由于其出色的可控制性,变速驱动器主要采用直流电动机。但是,现代高性能电动机驱动系统通常基于三相交流电动机,例如交流感应电动机(ACIM)或永磁同步电动机(PMSM)。这些电机已经取代直流电机,成为要求苛刻的伺服电机应用的首选电机,因为它们具有坚固耐用的结构,低惯性,高输出功率重量比以及在高速旋转下的良好性能。

现在已经建立了矢量控制原理来控制这些交流电机。现在,大多数现代高性能驱动器都实现了数字闭环电流控制。在这样的系统中,可达到的闭环带宽直接与可实时实现计算密集型矢量控制算法和相关矢量旋转的速率有关。由于这种计算负担,许多高性能驱动器现在使用数字信号处理器(DSP)来实现嵌入式电动机和矢量控制方案。DSP的固有计算能力可实现非常快的循环时间,并实现闭环电流控制带宽(2至4 kHz之间)。

这些机器的完整电流控制方案还需要高精度的脉宽调制(PWM)电压生成方案和高分辨率的模数(A/D)转换(ADC)来测量电动机电流。为了将转矩保持平稳地控制到零速,转子位置反馈对于现代矢量控制器至关重要。因此,许多系统都包括转子位置传感器,例如旋转变压器和增量编码器。

三相交流电机的有效变速控制需要生成具有可变频率的平衡三相可变电压组。变频电源通常是通过使用功率半导体器件(通常为MOSFET或IGBT)作为固态开关从直流电转换而产生的。常用的转换器配置为两级电路,其中首先对固定频率的50或60Hz交流电源进行整流,以提供存储在直流链路电容器中的直流链路电压Vd。然后将该电压提供给逆变器电路,该逆变器电路为电动机生成变频交流电。逆变器电路中的电源开关允许将电动机端子连接到Vd或接地。这种操作模式具有很高的效率,因为理想情况下,开关在打开位置和闭合位置均具有零损耗。

通过快速顺序地打开和闭合六个开关,可以在输出端子上合成具有平均正弦波形的三相交流电压。实际输出电压波形是脉宽调制(PWM)高频波形。在使用固态开关的实际逆变器电路中,大约20kHz的高速开关是可能的,并且可以在非常高的频率下利用所有电压谐波分量生成复杂的PWM波形。远高于所需的基本频率-通常在0至250 Hz的范围内。

电机的感抗随频率增加,因此高次谐波电流非常小,并且近正弦电流在定子绕组中流动。通过使用适当的控制器更改PWM波形,可以调节逆变器的基本电压和输出频率。在控制基本输出电压时,PWM过程不可避免地会修改输出电压波形的谐波含量。适当选择调制策略可以将这些谐波电压及其相关的谐波效应和电动机中的高频损耗降至最低。

在典型的交流电动机控制器设计中,在生成PWM信号的过程中会同时考虑硬件和软件因素,这些信号最终用于打开或关闭三相逆变器中的功率设备。在典型的数字控制环境中,控制器会以PWM开关频率(通常为10至20kHz)生成一个定期定时中断。在中断服务程序中,控制器软件为PWM信号计算新的占空比值,这些PWM信号用于驱动逆变器的三个分支。计算出的占空比取决于电机的测量状态(转矩和速度)以及所需的运行状态。为了逐个周期地调整占空比,以使电动机的实际运行状态遵循期望的轨迹。

一旦处理器已经计算出所需的占空比值,就需要一个专用的硬件PWM发生器来确保在下一个PWM和控制器周期内产生PWM信号。PWM生成单元通常由适当数量的计时器和比较器组成,这些计时器和比较器能够产生非常精确的定时信号。通常,在PWM时序波形的产生中需要10至12位的性能。占空比以逐周期为基础有效地调整施加到电动机的平均电压,以实现所需的控制目标。

通常,在关闭一个电源设备和打开互补电源设备之间需要很小的延迟。需要此停滞时间以确保要关闭的设备在打开其他设备之前有足够的时间来恢复其阻止功能。否则可能导致直流电压短路。

对任何电动机驱动过程的精确控制可能会减少到对电动机的扭矩和速度进行精确控制的问题。通常,通过使用适当的传感器测量电动机的速度或位置来直接控制电动机的速度,并且通过适当地控制电动机的相电流来间接地控制转矩。下图给出了用于三相电动机的典型同步框架电流控制器的框图。该图还显示了软件代码模块和电机控制器的专用电机控制外围设备之间的任务分配。该控制器由两个比例加积分加差分(PID)电流调节器组成,它们用于控制参考系中的电动机电流矢量,该参考系与测得的转子位置同步旋转。

有时可能需要在电压和速度之间实现解耦,以消除速度依赖性以及相关联的轴从控制回路中交叉耦合。然后,使用合适的脉冲宽度调制策略(例如空间矢量调制(SVM))在逆变器上合成参考电压分量。还可以合并一些补偿方案,以克服逆变器开关死区时间,有限的逆变器设备导通电压和直流母线电压纹波的失真影响。

定子电流矢量的两个分量称为d直轴分量和q正交轴分量。直轴电流控制电机磁通量,通常用永磁电机控制为零。然后可以通过调节正交轴分量直接控制电动机转矩。快速,准确的转矩控制对于高性能驱动器至关重要,以确保快速加速和减速,并在所有负载条件下平稳地旋转至零速。

实际的直流和正交电流分量是通过以下方法获得的:首先使用合适的电流感应传感器测量电动机相电流,然后使用片上ADC系统将其转换为数字量。通常仅对两个电机线路电流进行同时采样就足够了:由于三个电流之和为零,因此可以在必要时从同时测量其他两个电流得出第三个电流。

控制器软件利用数学矢量变换(称为Park变换),可确保在所有运行条件下,施加给电动机的三相电流与电动机轴的实际旋转同步。这种同步确保了电动机始终能够产生最佳的每安培转矩,即以最佳效率运行。矢量旋转需要实时计算所测转子角的正弦和余弦,以及许多乘法和累加运算。总的控制环路带宽取决于闭环控制计算的实现速度以及新占空比值的计算结果。

为了控制高性能交流伺服驱动器,需要对测量的两相电流值进行快速、高精度、同时采样的A/D转换。伺服驱动器具有额定的工作范围-可以连续维持的一定功率水平,并且电动机和功率转换器中的温度升高可以接受。伺服驱动器还具有峰值额定值-能够在短时间内处理远远超过额定电流的电流。例如,可以在短时间内施加高达额定电流六倍的电流。这允许瞬时施加大扭矩,以非常快速地加速或减速驱动器,然后恢复到正常操作的连续范围。这也意味着在驱动器的正常操作模式下,仅使用总输入范围的一小部分。

在另外一方面,为了获得这些机器所需的平稳、准确的旋转,明智的做法是补偿小偏差和非线性。在任何电流传感器电子设备中,模拟信号处理经常会遭受增益和失调误差。例如,针对不同绕组的电流测量系统之间可能存在增益不匹配的情况。这些效果结合在一起会在扭矩中产生不希望的振荡。为了满足这两个相互矛盾的分辨率要求,现代伺服驱动器使用12至14位A/D转换器,具体取决于应用所需的成本/性能折衷。

系统的带宽基本上受输入信息然后执行计算所花费的时间限制。A/D转换器如果要花费许多的时间转换信号,系统是无法忍受这样的延迟的。闭环系统中的延迟会降低系统可达到的带宽,而带宽是这些高性能驱动器最重要的性能指标之一。因此,对于这些应用来说,快速的模数转换是必需的。

这些应用中使用的A/D转换器的第三个重要特性是时序。除了高分辨率和快速转换,还需要同时采样。在任何三相电动机中,都必须在同一时间测量电动机三个绕组中的电流,以便即时获得电动机转矩的“快照”。任何时间偏差(测量不同电流之间的时间延迟)都是通过测量方法人为插入的误差因子。这种不理想的情况直接转化为转矩的波动,这是非常不希望的特性。

通常,电机位置是通过使用安装在转子轴上的编码器来测量的。增量编码器产生一对正交输出(A和B),每个正交输出(A&B)在电机轴的每转中带有大量脉冲。对于具有1024条线的典型编码器,两个信号每转都会产生1024个脉冲。使用专用的正交计数器,可以对A和B信号的上升沿和下降沿进行计数,从而可以将转子轴的一圈旋转分为4096个不同的值。换句话说,1024行编码器允许以12位分辨率测量转子位置。旋转方向也可以根据正交信号A和B的相对相位来推断。

通常在电机控制器上有一个专用的编码器接口单元(EIU)。它管理双正交编码器输出信号的转换,以产生一个并行数字字,该数字字始终代表实际转子位置。这样,只要算法需要,DSP控制软件就可以简单地读取转子的实际位置。

这一切都很好,但是越来越多的对成本敏感的伺服电机驱动应用具有较低的性能要求,而这些应用既不能提供转子位置传感器的成本,也不能提供空间要求。在这些情况下,可以使用估计的而不是测得的转子位置来实施相同的电动机控制算法。

DSP内核具有使用复杂的转子位置估计算法来计算转子位置的能力,例如扩展的卡尔曼估计器,可从电动机电压和电流的测量结果中提取出转子位置的估计值。这些估计器依赖于DSP中电机的足够精确模型的实时计算。通常,可以使这些无传感器算法与基于传感器的算法在中等到高速旋转时一起工作。但是随着电动机速度的降低,从电压和电流测量中提取可靠的速度相关信息变得更加困难。通常,无传感器电机控制主要适用于不需要零速或低速连续运行的应用,例如压缩机,风扇和泵。

在成熟的工业自动化市场以及家用电器,办公自动化和汽车市场的新兴市场中,基于DSP的三相交流电动机的现代控制技术在市场上继续蓬勃发展。要对这些机器进行有效且具有成本效益的控制,就需要在硬件和软件之间进行适当的平衡,以便对时间紧迫的任务(如生成PWM信号或与转子位置传感器的实时接口)由专用的硬件单元进行管理。另一方面,使用DSP核的快速计算能力,最好用软件来处理电动机的整体控制算法和新电压指令的计算。与较旧的硬件解决方案相比,用软件实现控制解决方案具有所有优点,即易于升级,可重复性和可维护性。所有电机控制解决方案还需要集成合适的A/D转换系统,以快速,准确地测量来自电机的反馈信息。ADC系统的分辨率,转换速度和输入采样结构必须严格针对特定应用的要求。

参考文献:

Junning Wu wechat
Welcome To Contact Me with My Personal WeChat ID(Weixin)