近年来,变速驱动器(VSD)的使用显着增加。随着VSD继续渗透到工业,汽车和消费者市场,这种趋势可能会持续甚至加速。对VSD成功至关重要的是提高系统性能和降低价格的能力。空间矢量调制或SVM是提高许多类型VSD性能的一种方法。使用低成本,8位μC而不是DSP来实现SVM的复杂方程也降低了系统成本。实际上,优化的SVM算法通常允许低成本的8位μC来执行系统的所有控制要求(参考文献1)。
什么是SVM?
SVM是可用于从三相逆变器产生正弦电压的众多方法之一。图1显示了典型的逆变器馈电VSD系统。负载通常是感应,磁阻或正弦无刷直流电动机。图1中的控制单元将适当的PWM信号应用于构成逆变器的六个晶体管。
您可以将SVM的操作与正弦加权PWM(SWPWM)进行对比,这是一种常用的创建方法正弦电压。 SWPWM以恒定频率向每个晶体管施加正弦加权的PWM信号。每个高侧晶体管的PWM信号应相差120°。每个低侧晶体管的每个PWM信号应该是相应高侧晶体管信号的补码,这些PWM信号必须包括一些死区时间以防止直通电流。 μC通常使用存储在ROM中的正弦表来实现SWPWM。您可以缩放正弦表中的值以生成可变幅度的正弦曲线。 μC通过多次读取相同的正弦表值来控制频率,从而产生低频率,或跳过产生高频率的正弦表值。
图2a显示了理想的最大值 - SWPWM滤波后的幅度输出电压。这些图显示了相对于逆变器负轨的测量相电压百分比。如图所示,线间电压的幅度仅为逆变器轨电压的约86%。直观地,您可以预期线间电压V AB 可以达到正轨和负轨电压。例如,如果图1的晶体管A +和B-导通,那么V AB 应该等于逆变器轨电压。这种较低的线间电压是SWPWM的主要缺点之一。但是,使用备用SVM,可以向电机施加更大的电压。
对于电机控制,线间电压V AN 和感应相电压确定每相中的电流。相电流决定了电动机的转矩。因此,线对中性电压是正弦的很重要,只要它们是相同的,相电压是什么样的并不重要。对于SVM,产生的相电压不是正弦波,但线间电压和线间电压是正弦电压(图2b)。此外,线间电压的幅度达到了全逆变轨电压,这表明SVM充分利用了逆变器产生正弦电压的能力。
要实现SVM,您可以使用SWPWM算法并用图2b中的相电压波形替换ROM正弦表。实际上,无限数量的相电压可以产生与图2b所示相同的线电压。那么为什么要使用SVM而不是其他一些本土的PWM方法呢?答案是SVM非常适合矢量控制方案。 SVM受欢迎的另一个原因是因为相电压方程的推导可以导致简单的实现。一个好的SVM算法可以在线计算相电压,只需要一个只包含60°信息的小型查找表。 SVM公式还允许简单计算,因为不涉及负数。除了这些优点之外,SVM还可以轻松地进行过调制。过调制是一种产生更大电压的方法。但是,正如您可以直观地猜测的那样,过调制产生的线间电压不再是正弦波。
SVM平滑步骤
描述SVM的μ算法和过调制,首先通过检查生成正弦线到中性点电压的流行的六步法来看看SVM是如何工作的。图3显示了逆变器使用六步模式通过电阻平衡负载产生的电压。在每个步骤期间,逆变器开关处于恒定状态。 (x,x,x)类型的符号表示逆变器的状态。例如,反相器状态(+, - ,+)表示晶体管A +,B-和C +正在导通。
描述SVM的一种方法是说它使用复杂的平均技术来“平滑“六步模式中的步骤。例如,假设所需电压在两个步骤之间。假设该所需电压介于激活逆变器状态(+, - , - )和(+,+, - )之间的电压之间。 SVM将通过首先将状态(+, - , - )应用于时间t 0 ) =“id3424599-81-sub”> A' T 0 ,然后状态(+,+, - )持续时间t B * T 0 。如果在该PWM周期中有任何剩余时间,则SVM通过使用逆变器状态(+,+,+ +)为剩余时间t 0 施加零电压。 ) 要么 (-, -, -)。这种类型的SVM实现处理每个逆变器状态有效的时间。利用μC的强大PWM发生器需要将这些“状态”时间转换为“输出”时间或每个输出引脚的占空比。图4显示了对称PWM的切换顺序以及序列与时间的关系T 0 ,t A ,t B ,t 0 。这种类型的对称PWM是有利的,因为它具有非常少的开关事件并产生低转矩纹波。
图4中的实现基于使用C504,C508和C164IμC中的CAPCOM6模块(www) .infineon.com)。当比较定时器达到比较值时,CAPCOM6模块内的比较定时器通过切换输出引脚来产生对称PWM。从图4中,您可以看到比较值与时间之间的以下关系t A ,t B ,并且t 0 :
CC0 =(t 0 /2)* T 0 ;
CC1 =((t 0 /2 + t A ))* T 0 ;和
CC2 =(1-t 0 /2)* T 0 。
计算t A 和t B 的值需要使用六步模式电压的图形表示。将六步模式的线到中性电压转换为空间矢量并在复平面上绘制矢量会产生图5中的矢量。下面的等式可以转换任意三个量 - 在这种情况下,线到中性电压 - 在空间矢量中总和为零:
= V AN (t)e j0 + V BN (t)e j2?/3 + V CN (t)e - j2?/3 。
如图5所示,当使用六步模式时,有六个不同的空间矢量,每个变换器状态一个。 SVM算法的输入是空间矢量电压,其具有幅度U和角度。如果将真正的正弦三相电压转换为空间矢量,则U的值始终保持不变,但以恒定速率增加。如果假设缓慢增加,则SVM算法可以在每个切换周期内将U和视为常量。对于任何不完全位于六个基矢量之一的矢量 - 即两个步骤之间的任何电压 - 算法必须通过在适当的时间量内应用两个相邻的基矢量来产生近似。 在两个相邻基矢量上的投影给出t A 和t 乙 。 时,以下公式确定t A 和t B 扇区0:
t B = 2U(3 - ½ )sin();
t A = U [cos() - ( 3 - ½)sin()];和
t 0 = T 0 -t A -t B 。
SVM的等式表明,当位于六边形之外时,t 0 变为负值,这在物理上是不可能的。要产生正弦电压,的尖端必须始终位于六边形内。这意味着的长度U必须不大于图5内圆的半径。内圆和六边形之间的电压是可达的,但不会产生正弦曲线,因为矢量不会能够旋转360°而不会穿过六边形边界。 t A 和t B 的公式仅在时有效如果在扇区0之外,那么公式的结果仍然有用,但是算法应该以60°的增量旋转向量,直到向量在扇区0中.μC然后可以将时间t A 和t B 应用于适当的切换状态。
使用查找表实现SVM
比较值的计算需要计算t A ,t B ,并且t 0 。这些变量需要计算正弦和余弦值以及几个乘法,这些都必须在线完成。适当缩放变量以使它们适合8位μC架构可以使任务更加简单。例如,如果将比较计时器编程为从0到0xFF计数,则μC可以将所有比较值存储为8位值。由于CAPCOM6模块有多个预定时器用于定时器,因此该8位值不会真正限制实际PWM频率的选择。
如果扇区零点包含256个角度,则精度为
约为0.235°。对于几乎所有的VSD应用来说,这种精度都足够了。将每个扇区划分为256个角度意味着
必须是11位长。这个长度很方便,因为最重要的3位表示扇区,最低8位表示扇区内的角度。 μC可以将这些值存储为两个字节。最低有效字节将始终在t A 和t B 等式中起作用,因为此字节将始终小于或等于60°。
256字节的查找表可以存储每个t B 值,对于U = 1的情况。然后,μC可以将每个t B 值按U的实际值进行缩放,通过仅执行一次乘法,该值实际上小于或等于1。通过检查t B 的公式,您可以看到查找表将包含0到60°之间角度的正弦值。由于这些值始终大于0,因此μC不需要表示任何负数。 μC可以对t A 执行相同的过程。但是,如果您检查t A 的表,您会发现该表与t B 表,但相反。该结果源于所选择的缩放。 μC可以在同一查找中存储t A 和t B 的值表。因为该表是256字节长,相同的指针 - 变量 - 可以检索t A 和t 乙 。 μC只需要补充指针。因此,μC可以使用很高的准确度确定t A 和t B 只有两个表查找和两个乘法。
进一步优化
您可以对SVM算法进行其他几项优化。 8051型μC可以在少至55个指令周期内完成整个SVM算法,包括推送和弹出指令。如果μC具有300nsec的最小指令周期时间,则所有SVM计算仅需16.5μs。即使在20 kHz频率切换时,这个短时间也会留出足够的时间来执行开环或简单的闭环控制,例如滑差频率补偿。这种类型的μC的成本很容易低于5美元,而且大批量的成本可能低于2美元。
对于高端矢量控制系统,可以使用双芯片解决方案一个简单的低成本32位或16位处理器,如C161,用于执行矢量控制计算。您可以将8位μC用作PWM单元,此μC还可以使用板载A/D转换器执行所有电流和电压测量。这种双芯片解决方案的成本可能远低于10美元。您还可以使用包含CAPCOM6模块的16位μC,C164CI。这个单个μC可以执行所有矢量控制和SVM计算。
额外的20个指令周期,您可以添加一个过调制模式,允许驱动系统向电机施加更高的非正弦电压。这种类型的驱动器通常在汽车应用中很有用。
图6a显示了SVM产生的相电压和线电压。图6b显示了使用SVM算法控制三相感应电机时的相电流。
作者信息
Michael Copeland是英飞凌科技公司(圣何塞的高级应用专家,CA)。他拥有密歇根州立大学(东兰辛)的硕士和学士学位。
有关SVM和过调制的完整应用说明,包括示例代码,请访问
www.infineon.com/microcontrollers。
全部0条评论
快来发表一下你的评论吧 !