DSP内部ADC模块在直流无刷电机控制系统中的运用*
2011-01-16
(海军驻上海沪东中华造船(集团)有限公司军事代表室 上海 200129)
1 引言
在直流无刷电机控制系统中,需要输入DSP进行处理的模拟信号主要有两类:单极性模拟信号和双极性模拟信号。单极性模拟信号主要有经过传感器转换后的母线电压信号和母线电流信号,其幅值均大于0;双极性模拟信号主要是经传感器转换后的电机相电流信号,其幅值根据导通关系进行正负交替变化。而用于直流无刷电机控制的TMS320C2000系列DSP的内部集成ADC模块,其引脚能接受的模拟信号幅度范围为0~3V[1~2]。因此,将模拟信号送入ADC以前,必须经过外部运放电路进行处理(包括增益、滤波和偏置等)以适应ADC引脚对输入模拟信号的要求。
2 单极性模拟信号
2.1 外围处理电路
对于单极性模拟信号,其幅值大于0,相对ADC引脚对输入信号的需求,只需进行降幅处理,因此其外围处理电路相对简单,只需做滤波和增益处理即可。滤波的主要目的是对系统不关心的频率成份进行滤除,只保留系统关心的频率成份,从而提高信号处理结果的准确性。如图1所示为直流母线电压采样外围处理电路原理图。根据输入信号Sin_in幅值的大小,同时考虑信号可能出现的最大值,通过改变电阻R6和R7的阻值,对输入信号幅值进行放大或缩小,使输入信号在Sin点测量的幅值最大值接近3V,但不能超过3V;根据实际运用情况,改变电阻R2、R3、R4的阻值和电容C1、C2的容值,来改变低通滤波器的截至频率。图中电压放大倍数为1,低通滤波器截至频率为500Hz。
图1 带低通滤波器的直流母线电压信号处理电路原理图
2.2 软件算法
广泛运用于电机控制领域的TMS320C2000系列属定点运算DSP[3],具体芯片型号的不同决定了其ADC的位数,而位数决定了最终的转换精度,如TMS320LF2407内部集成的ADC是10位的[4],TMS320F2812内部集成的ADC则是12位的[5~7]。以TMS320F2812的12位ADC为例,DSP完成转换后将结果存放在ADC结果缓冲寄存器ADCRESULT x(16位)中的高12位,其最大值为0xFFF0,对应Q0格式最大有效值为0x0FFF,若将AD转换的结果用Q15格式进行表示,Q15格式的最大值为0x7FFF,可以发现,在相同输入信号的条件下,采用不同的Q格式进行数的定标,可以大幅提高数的表达精度,从而缩小转换误差。
直流母线电压采样的AD转换,其信号处理过程及算法实现步骤如图2所示。将单极性的母线电压模拟信号经过图1所示的外围电路进行处理,将处理后的模拟信号送给DSP的ADC引脚,从ADC结果缓冲寄存器取出转换结果,将其右移一位,便将Q0格式的数据转换为Q15格式的数据,此时由于数据格式转换导致的误差仅为0.02%,完全可以忽略。其具体算法为:
采取这样的处理有效地简化了格式转换的复杂度,有效避免了在格式转换过程中因定点运算带来的转换误差,用数0x7FFF进行“与”操作的目的在于消除移位操作可能带来的符号位的影响,提高算法的完备性。
图2 单极性模拟信号AD转换数据处理示意图
3 双极性模拟信号
3.1 外围处理电路
对于双极性模拟信号,其幅值根据导通关系进行正负交替变化,为适应DSP对模拟信号输入的要求,必须采取相应的措施对其进行处理。在只需要检测相电流的幅值的运用场合下,可以采取全波整流的方式,此时将负半周的信号转换为正信号,经全波整流处理后的信号周期是以前的一半,而幅值不变,此时分辨不出电流信号的正负。在同步电机控制系统中,不但需要适时采样出电流的大小,还要对它所处的正负半周进行判断,此场合就不能采用整流的方式处理模拟信号,除了需要单极性模拟信号的滤波和增益处理外,还需对幅值进行偏置处理。偏置的目的在于为DSP的ADC输入提供幅值大于0的信号。如图3所示为直流无刷电机单相相电流采样外围处理电路原理图。根据输入信号Sin_in幅值的大小,同时考虑信号可能出现的最大值,通过改变电阻R6和R7的阻值,对输入信号幅值进行放大或缩小,使输入信号在Sin点测量的幅值在-1.5V~+1.5V之间,其绝对值不能超过1.5V;根据实际运用情况,改变电阻R2、R3、R4的阻值和电容C1、C2的容值,来改变低通滤波器的截至频率。图中电压放大倍数为1,低通滤波器截至频率为10kHz。
图3 带低通滤波器的直流无刷电机单相相电流信号处理电路原理图
3.2 软件算法
仍以TMS320F2812为例,直流无刷电机单相相电流采样的AD转换,及其数据处理过程如图4所示。将双极性的电机相电流模拟信号经过图3所示的外围电路进行处理,将处理后的模拟信号送给DSP的ADC引脚,从ADC结果缓冲寄存器取出转换结果,将其与0x8000进行异或操作,便可将Q0格式的数据转换为Q15格式的数据,同时将信号进行了还原处理,此时由于数据格式转换导致的误差仅为0.04%,仍然可以忽略。具体的实现算法有两种,一种是三相的电流信号均采用直接采样得到,其优点是占用DSP的计算时间少,但硬件资源消耗大;另一种是两相的电流信号直接采样得到,另一相通过计算得到,优点是硬件资源消耗小,缺点是占用DSP指令周期多。其具体算法为:
算法一(直接采样):
算法二(间接计算):
两种算法均有效地简化了格式转换的复杂度,有效避免了在格式转换过程中因定点运算带来的转换误差,在完成数据格式转换的同时完成了信号的还原处理,拓宽了DSP处理模拟信号的范围。
图4 双极性模拟信号AD转换数据处理示意图
4 结语
为验证外围电路的实用性及软件算法的可行性,同时为提高模拟信号转换结果的精度,笔者在研制直流无刷电机控制器时,分别采用上述对单极性和双极性模拟信号进行外围处理的电路对母线电压、电流和电机相电流进行处理,采用TMS320F2812为主控芯片,对软件算法进行了验证。相比传统用Q0格式进行数据运算,以上算法得到的数据转换结果误差大大降低,同时有效还原了双极性模拟信号的相位关系,为同步电机相电流采样奠定了基础。给出的两种外围处理电路可广泛运用于各种电机控制系统中完成信号的预处理,而算法则可大大降低处理程序的复杂性。
[1]苏奎峰.TMS320X2812x DSP原理及C程序开发[M].北京:北京航空航天大学出版社,2008
[2]刘和平,等.TMS320LF240x DSP C语言开发应用[M].北京:北京航空航天大学出版社,2003
[3]苏奎峰,等.TMS320F2812原理与开发[M].北京:电子工业出版社,2005
[4]徐科军,等.TMS320LF/LC24系列DSP的CPU与外设[M].北京:清华大学出版社,2004
[5][美]Texas Instruments Incorporated.F2810,F2811,and F2812 ADC Calibration,2004
[6][美]Texas Instruments Incorporated.TMS320C28x系列DSP的CPU与外设(上)[M].北京:清华大学出版社,2005
[7][美]Texas Instruments Incorporated.TMS320C28x系列DSP的CPU与外设(下)[M].北京:清华大学出版社,2005
[8]TMS320X281x Analog-to-Digital Converter(ADC)Reference Guide(Rev.C)[Z].TI,2004
[9]王伟,等.提高DSP的AD转换器精度的研究与实现[J].现代制造工程,2009(6):95~97
[10]吴培根,等.基于DSP内置ADC的频率测量系统设计[J].计算机测量与控制,2010(18):264~266