DSP控制电机中减少电磁干扰的几项技术
电磁干扰在工业控制中越来越成为一个严重的问题。在使用TMS320C24X DSP控制器来控制数字电机的应用中,如何减少电磁干扰也是一个重要的问题。在电机控制中,一方面,要在电路设计上尽量减少电磁干扰的产生,另一方面,因为最大的电流在PWM控制H桥(优化的PWM的开关模式)中是具有代表性的,同样的空间矢量PWM之和或者不稳定的PWM载波信号能更进一步的减少电磁干扰,我们可采用最适宜的PWM模式,使用软件代码技术来减少电磁干扰。下面我们就从硬件和软件两方面来分析说明电磁干扰的产生及减少电磁干扰的措施。
电路设计时电磁干扰的产生及措施
在电磁电路中的电磁兼容性很大范围是由线路贮藏和互相连接的成分决定的。有从天线返回的相应信号列是能放射出电磁能量的,其最主要是由于电流幅值,频率和电流线圈的几何面积决定的。通常,有三个主要的电磁干扰来源:电源、高频信号、振荡器电路。下面我们分别分析产生原因及其防范措施。
电源
当一CMOS反向换流器在改变输出状态时,两晶闸管会有一段很短的时间同时导通。这会使电流增长很快,导致在电源线路上出现电流尖峰。这引起一段或长或短的电源线路的短路,这被证实是产生电磁干扰的一个重要原因。 减弱电源电压的波动,使其接近一100nF瓷旁路电容器的供应,是十分有效的。然而,由于电路的寄生成分,例如集成和电源线路的阻抗,旁路电容器是不能有效减少电流峰值的,因此也不能减少辐射干扰。为了抑制这些电流尖峰(至少在电源线路上)使其不扩展到其他部位,我们用一个方法可以做到,就是在极间耦合电容器和电源线路之间增加一个感应线圈LH,如图1所示。LH应接近TMS320F24X DSP芯片,以方便干扰被抑制。
图1.TMS320F241-FN单层电路印刷版
信号回路
高频信号回路,例如较低地址线,时钟信号,串行口等等,通常由几并联的100K和10K的负载,来产生一CMOS的信号输出,带或者不带这负载会产生一个很高的电流峰值。
我们可有两种方法来减少这方面造成的电磁干扰,第一种是尽可能的减少这些电流,方法是在输出接一个大约为50Ω的电阻。传输线原理表明这个电阻(内部+外部电阻)只要小于或者等于一般的线路阻抗值70-120Ω的话,这对速率是没有什么负面影响的。第二个防范措施是使天线尽可能的小,最有效的方法是仅仅保持临界线路(优先时钟回路,低地址回路,其他数据回路)尽可能的短。TMS320C24x的CPU时钟倘若复位后由CLKOUT1提供,在不使用时最好切断它。当外存储器不用时,可以通过拉高或拉低数据线来避免由于悬空输入端而引起的任何电流。
振荡器
在数字系统中最高的连续频率通常是由时钟发生器产生的,在C24x DSP的内部振荡器中使用一晶体,这有助于减少高频电流,同时被电流通路围住的面积会减少电磁干扰。由于晶体在共振频率上的几百KΩ的高阻抗,电流在引起晶体共振的频率上是很小的。然而CMOS反向换流器的输出电压是一个包含谐波的方波信号,所以晶体不再表示为一个高阻抗,这会引起很大的电流。 解决办法是加上一个串联电阻使这些电流成分减少。
两个旁路电容器会在振荡频率时产生一个很小的电阻,因此会存在一个重要的电流回路Cs-X-Cs。为了使辐射最小,这面积要尽可能的小。图1提供了一个外部晶体与TMS320F241 DSP相连的方案。串联电阻的大小为1K,晶体的并联电阻可以根据要求来接入。
优化PWM模式,减少电磁干扰
当印刷电路板完成后,TMS320C24x DSP的PWM单元可以用来提供一个优化的开关模式,来进一步减少电磁干扰的产生。接着考虑的是制作一个由DSP来驱动的3相H桥。
PWM模式
在电机控制领域中,我们常用三个典型的PWM模式(不对称PWM,对称和空间矢量PWM),三个典型的PWM模式在电磁干扰方面会有不同的影响。
对不对称PWM来说,3相H桥的三个开关是同时被打开,且根据占空比来关闭。对称PWM的打开和关闭与PWM的半个周期是有对称关系的,因此三相交换几乎不发生在同一时间。这种方式来减少电磁干扰是与dU/dt和dI/dt有关的,这与不对称PWM相比有66%的近似。在使用正弦波时,两种模式最小的H桥连接电压UDC具有有效的电机电压功能,其数值可根据下式求出:
空间矢量PWM也是与PWM周期对称相关的,但是,既然只有两个晶体管在一PWM周期被切断,则电磁干扰辐射与对称PWM相比减少了30%。第二个优点是最小连接电压UDC比正弦对称PWM的大约降低15%,其数值可根据下式求出:
也因此du/dt也能进一步被减少。
下表列出了不对称、对称和空间矢量 PWM 的性能比较
上面我们分析了产生电磁干扰最小的PWM模式,下面我们阐述采用最适宜的PWM模式,使用软件代码技术来减少电磁干扰。对于TMS320F240的PWM单元来说,C语言是一典型的代码工具。所有相关的PWM寄存器在定时器1溢出时被屏蔽和重置,我们选用空间矢量PWM或者对称PWM模式。
下面我们列出空间矢量PWM/对称PWM初始化的编码:
#define SPACE_VECTOR_PWM
T1CON=OX2840; /*50ns周期内脉冲数*/
T1PR =PWM_PERIOD; /*PWM载波频率*/
/*FPWM=50ns*2* PWM_PERIOD*/
# ifdef SPACE_VECTOR_PWM; /*空间矢量PWM*/
COMCON=0X1207; /*Timer1=0时重置CMPRX,T1PR,ACTR使能PWM1-6输出*/
#else
COMCON=0X0207; /*对称PWM*/
#endif
ACTR=0X0666; /*1,3,5路PWM高;2,4,6路PWM底*/
DBTCON=0X14E0; /*死区时间=1 us*/
COMCON=0X8000; /*使能比较单元*/
摇摆的PWM载波
当电磁干扰与连续的PWM载波频率相联系,且其谐波太高时,我们可以通过对这个频率的调制来降低电磁干扰。调制方法比如三角信号,任意的噪音等,我们可用示波器看出其波形。
图2表明一固定的载波信号为20KHZ的PWM频谱和输出脉冲电压,载波信号振幅的峰值和其谐波为36db,高于基底噪音。图3示范了摇摆的载波信号(20KHZ+/-2KHZ),使用一随意的噪音(一个任意噪音的产生仅需要6个时钟周期)来产生一扩展频谱的结果,与一固定的载波信号相比,电磁干扰被减少了12DB。进一步减少18DB可用+/-4KHZ的调制来完成。
图2.固定20KHZPWM载波信号的FFT
图3.具有+/-2KHZ的随意噪音调制信号的20KHZ PWM载波信号的FFT
在许多应用程序中输出电压是分数(Q15)换算到最大的正/负输出电压,一三相输出的PWM,是相电压U(a),U(b),U(c)在一正弦PWM或者是空间矢量PWM电压情况下,由2个差60度正分数矢量U(x),U(X+60)和矢量旋转方向来表现的。在逆时针旋转情况下由U(x)来决定的,在顺时针旋转情况下由U(x+60)来决定的。两个PWM模式的分电压u(a),U(b),U(c)或U(x),U(x+60)须相乘,以此得到相应的PWM占空比。因此,在更新PWM的比较值时,摇摆PWM时期不要增加任何系统操作!
在下面的例子中显示了C语言怎么在中断服务子程序中以+/-10%PWM的载波调制用于当前的中断控制。
PWM载波信号的编码列表:
/* Wobble PWM (Timer 1) period by±10% */
pwm_period = PWM_PERIOD + wobble_random(PWM_PRIOD/10);
/* Update Space Vector PWM */
SV_PWM_Update(pwm_period,u_x,u_x60,sector,direction);
Wobble random(),SV-PWM-Update()在汇编时被写入,使其运行时间最小,并提供C兼容接口,允许能从C调用,使程序具有更好的可读性。
结束语
本文所阐述的在用DSP控制电机的应用中减少电磁干扰的硬件和软件的两点方法,能显著降低电磁干扰的程度,具有广泛的应用意义。在硬件方面所采取的措施,能尽量减少电磁干扰的产生;在软件方面采取的最适宜的空间矢量PWM模式比对称PWM模式,能减少电磁干扰30%,摇摆的PWM载波比固定的载波信号电磁干扰减少了12DB,进一步可减少18DB。
|