朱成海+王富东
摘 要:电流检测是现代电机控制技术中的重要环节。在工程上,电机电流的检测不仅要满足测量精度要求,还要考虑低成本、体积等实际问题。文章在对各种电流检测方法进行对比分析的基础上,采用三个采样电阻实现了电流检测。电流采样数据通过通信接口传送到个人电脑,并用MATLAB进行数据分析,进而得到对于实际采样数据的处理方法与有关参数,最终得到了可以用于电机控制的电流信号。
关键词:电机控制;相电流采样;数据通信;MATLAB数据处理
1 概述
现代电机控制系统中广泛采用矢量控制技术,而电机的相电流检测则是矢量控制的基础[1]。在工程应用中,电流检测既要满足精度要求,还要考虑体积、成本等一系列实际问题。常见的电流检测方法有以下几种:(1)使用电流互感器。但电流互感器存在体积大,成本高等缺点,而且一般适用于检测大电流。(2)使用霍尔电流传感器。这种传感器使用方法简单,而且可以做到高精度检测和快速响应。但由于其价格昂贵,会大大增加生产成本。张兰红通过在电机逆变器下桥臂串接电流传感器ACS712的方法对电机相电流进行了检测,该设计检测电流简单可靠、精度高。但由于ACS712价格较高,增加了生产成本[1]。(3)电阻采样。其基本原理就是在需要测电流的电路中串联一个小电阻,通过检测该电阻的压降,从而计算出实际电流的大小。这种方法成本低而且可以检测较小的电流,适用于电机相电流检测[2]。其缺点是采样电路与电机主电路不隔离,另外对采样电阻的精度要求很高,需要采用专门的采样电阻。叶维民使用双电阻相电流采样的方法来进行电机电流采样,并提供了相应的滤波算法,这种方法精度高、实时性好。但由于只测两相电流,第三相通过计算所得,由于电路不完全对称,第三相电流通过计算所得会存在误差[2]。本文通过三电阻采样,消除了电路不对称对第三相电流的影响。
无论采用哪种电流检测方法,采样得到的电机电流都存在一定的误差[3]。电机电流越大,干扰越严重,原始的电流采样数据根本无法用于矢量控制的计算。为此,先将实验中的电流采样数据通过通信接口传送到个人电脑,再通过MATLAB分析干扰信号的特征,采用合适的方法对原始采样数据进行处理(滤波),最后得到比较理想的电流波形。再将滤波算法移植到电机控制控制系统的CPU中,最终得到了满意的控制效果。
2 采样电路的设计
实验系统是一台400W的PMSM电机。由于PMSM电机的功率一般都比较小,所以采用电阻采样的电流检测方法是比较合适的。采样电阻安装在三相H桥的下部接地端,采样电阻上的电压信号经过放大电路处理后输入到单片机的A/D引脚上,如图1所示。之所以采用3个采样电阻而不是2个,是由于三相采样与信号处理电路难以做到精确一致,从而导致三相电流采样数据之和不为0。
电流检测的采样时刻选取在每个PWM周期的中点,确保在每一个PWM周期中都进行电流采样,这样可以保证电流采样的实时性,如图2(a)所示。此时,三相H桥的上臂都处于关断状态,下臂都处于导通状态[4]。如果忽略下臂驱动元件的导通电阻和二极管的导通压降,此时的等效电路如图2(b)所示。
显然,此时电路中的电流是续流电流。续流电流是不断衰减的,虽然续流电流并不等于实际电流,但应该与实际电流有一定关系。通过在电机电路中串联一个电流传感器(ACS712),将其输出与采样的到的续流电流信号进行对比,发现两者的波形基本是一致的。这说明确实可以将续流电流作为实际电流来进行分析和处理。
为了减少电阻上的损耗,采样电阻的阻值一般都在几十毫欧姆,采样电阻上的电压通常也就只有毫伏的数量级。而且续流电流有正有负,对于单电源的CPU需要將采样信号进行电平提升并放大。为此专门设计了相应的信号转换电路,如图3所示。
由图3可见,这是一个同相输入放大电路。由所给电路参数,可得如下关系:
如果采样电阻取50毫欧,CPU的A/D模块输入电压范围为0-5V,则可以得到测量电流范围为-10.6到10.6A,所用A/D模块为10位A/D模块,理论测量精度为0.02A,采样精度较高。
运放可以采用单片4运放电路,这样就可以用一片运放完成3路电流的信号转换。为了增加电路的抗干扰性,在电路中还可以增加电容滤波。
3 采样软件设计
为了保证采样时刻,需要采用专门的技术手段。在专门为电机控制所设计的CPU中,都配置有相应的三相PWM控制模块。例如TI公司的TMS320F2812DSP,该芯片内含有事件管理器EVA模块,可以直接输出三相对称PWM控制信号,用于控制逆变器的三相H桥的6个开关元件[5]。类似的器件还有飞思卡尔(Freescale)公司、微芯(Microchip)公司、仙童(Fairchild)公司的有关产品。
在这些芯片中,一般还有一个特殊事件触发器,用于产生某些特定功能的触发信号,例如触发A/D转换。微芯公司的DSC控制器就具有这种功能,该芯片可以在一个PWM周期的任意时刻产生触发信号。因此在程序设计中,只要在初始化中设置相应的控制寄存器,就可以很方便地实现在一个PWM周期的中点时刻触发A/D采样的功能。该DSC控制器的某些型号具有多路信号的同步采样功能,很容易就实现了3路采样信号的A/D转换。
这样实现的电流采样与电机控制的PWM是同步的,因此并不是整周期采样。电机控制PWM的载波频率一般在5KHz-20KHz之间,而电机运行正弦波的频率一般在400Hz以下。因此,在大多数情况下还需要进行一些数据处理。
4 采样数据处理
实验采用上述的400W的PMSM电机,转速为1000rpm。实际采样频率为2.65KHz,在电机达到额定转速时,相邻两次采样转子角度变化为2.62度,可以满足电机采样实时性的要求。由于各种误差与电磁干扰的影响,通过A/D转换得到的原始电流数据不能直接使用[6]。为了得到理想的电流信号,需要对采样数据进行深入的分析,从而得到对采样数据进行数据处理的方法与滤波器的有关参数。由于电机控制器的显示内容有限,在控制器上对数据进行分析是很困难的。为此利用CPU的通信接口,将一段时间内的采样数据传送到个人计算机上,再利用MATLAB进行数据分析与处理。
对采样数据进行频谱分析,通过频谱分析可以看出干扰信号的频率分布。由于单片机采样频率为固定值2.65KHz,而正弦波的频率是随电机转速的快慢而变化的,因此在一个正弦波周期中的采样个数不是整数,这在理论上会造成“频谱泄漏”,我们使用加窗函数的方法可以尽量减小频谱泄漏带来的影响。图4(a)为采样数据波形,图4(b)对应的频谱分析结果。
根据频谱分析图可以看出,电机中存在三次谐波和PWM载波引起的高次谐波的噪声干扰。理论上SVPWM输出的相电压波形为马鞍形,不是标准的正弦波,因此相电流中也应该含有三次谐波成分。
5 滤波算法
为了进一步使采样信号满足计算要求,我们将在PC机上用各种滤波算法对采样数据进行滤波处理。常用的数字滤波器分为有限长脉冲响应(FIR)和无限长脉冲响应(IIR)滤波器,无限冲激响应滤波器的设计是借助模拟滤波器转换的设计方法,一般有公式和图表可查询,另外还有一些典型模拟滤波器可供选择,这种方法相对比较简单[7]。有限冲激响应滤波器主要采用非递归结构,可以保证绝对的稳定。FIR与IIR根据阶次不同,又可以分为一阶、二阶和高阶等。理论上,滤波器阶次越高,滤波效果越好,但计算量也越大,一般我们只考虑一阶和二阶滤波器。为了比较几种滤波器的好坏,我们将采样数据分别做了一阶和二阶的FIR和IIR滤波。通过比较它们之间的计算量(Matlab计算时间)和总谐波畸变率(THD),对比了滤波效果。
Gn为所有谐波分量的有效制,G1为基波分量的有效制。
从表中可以看出,FIR的计算量比IIR要大一些、但是FIR的效果会比IIR好些。另外在实际单片机应用中,FIR算法具有线性相位,更易设计。因此,我们在实际应用中选择一阶FIR滤波算法。图5(a)为滤波后频谱分析图,图5(b)为滤波后电流矢量合成图。
6 结束语
精确的相电流检测是电机闭环控制中电流闭环的前提条件,是电机控制系统不可或缺的关键步骤。本文提出了一种新型的三个采样电阻实现电流检测的方法,通过MATLAB分析一臺永磁同步电机的电流采样数据特征,采用合适的方法对原始采样数据进行了处理,最后得到了比较理想的电流波形。再将滤波算法移植到电机控制控制系统的CPU中,最终得到了满意的控制效果。
参考文献
[1]张兰红,郑慧丽.异步电机SVM-DTC系统中的相电流检测研究[J].电测与仪表,2014,51(20):84-89.
[2]叶维明.电机矢量控制的相电流采样与滤波方法的研究[J].科技创新,2015,32:44-46.
[3]Jim Lepkowski.Motor Control Sensor Feedback Cricuits[Z].America: Microchip Technology Inc., 2003.
[4]陈伯时.电力拖动控制自动控制系统[M].北京:机械工业出版社,2012.
[5]宋雪雷,王永兴.基于DSP的PMSM控制器设计及相关问题分析[J].电力电子技术,2010,44(7):33-34.
[6]高振天,郭立新.电机控制中的电流检测技术[J].机电工程技术,2012(8):148-150.
[7]伍永锋.FIR数字滤波器的MATLAB设计及DSP的实现[J].计算机光盘软件与应用,2010(6):153-154.
作者简介:朱成海(1991-),男,在读硕士,研究方向:工业自动化。