高 鹏,王步来,季文彪,高 响,陈雪琴
(上海海事大学,上海 201306)
在三相异步电机矢量控制系统中,通常将光电编码器作为检测元件来测量电机的转速及电机位置,光电编码器能输出 A+、B+ 、Z+、A-、B-、Z-六路脉冲信号,经过信号处理以后接至DSP的正交解码(QEP)电路,则可完成CPU对电机转速的检测。本文采用美国TI公司推出的专为电机调速设计的数字信号处理器TMS320F2812,其具有特殊功能模块——正交编码(QEP)电路,可与光电编码器相连,用于转速的测量。其中QEP电路内部设有转向判别和倍频功能,无需添加其他辅助电路,接口电路设计简单,而且F2812具有四个功能强大的通用定时器,可灵活应用于各种测速方法。光电编码器以其结构简单、低噪声、成本低、精度高和线性度好的优点被广泛应用于转速测量。
采用光电编码器的数字测速法一般有三种[1]:周期法(M法)、频率法(T法)和周期/频率法(M/T法),M/T法是前两种方法的结合,同时检测一定数量的反馈脉冲和产生这些脉冲所需的时间,在整个速度范围内都有较好的准确性,但是对于超低速应用条件,动态响应慢,需要较长的检测时间才能保证检测结果的准确度。
在Tc内测出的脉冲个数为M1,用来计算这段时间内的平均转速。已知电机旋转1周共产生Z个脉冲,其中Z=倍频系数×光栅数,则电机转速:n=60×M1/(Z·Tc)。Z和Tc均为常数,n与M1成正比。M1在高速时大,误差小,转速越低,误差越大,所以只适用于高速测量。
在相邻输出脉冲的时间间隔内,用计数器对已知频率为f0的高频脉冲进行计数来计算转速。若测得高频脉冲的个数为M2,则电机的转速:n=60×f0/(Z×M2)。高速时,M2小,误差所占比例大;低速时,M2小,误差所占比例小,故转速越高,误差越大,所以只能用于低速测量。
既要检测Tc内输出的脉冲个数M1,又要检测在此时间内频率为f0的高频时钟脉冲个数M2,则n=60×M1f0/(ZM2)。为了使误差减小,最好保证光电编码器脉冲计数器和高频脉冲计数器同时开启和关闭,只有等到编码器输出脉冲前沿到达时,两个计数器才能同时开启或者停止计数。由于M1和M2是由转速决定的,高速时相当于M法,低速时相当于T法。
TMS320F2812的事件管理器EVA的QEP电路有输入引脚 CAP1_QEP1、CAP2_QEP2,EVB的QEP电路有输入引脚CAP3/QEP3、CAP4/QEP4,光电码盘输入的两路正交编码信号正好从上述的两个输入引脚到DSP的QEP电路,然后再通过QEP的译码器对正交编码信号进行译码,最后可以得到电机转子的转速、旋转方向、旋转位置等信息[2]。
正交解码(QEP)电路的两个输入引脚 CAP1_QEP1、CAP2_QEP2是复用引脚,既能做捕获单元的输入引脚,也能做QEP电路的输入引脚,因此需要正确配置捕获控制寄存器CAPCONA(或CAPCONB)来使能正交解码电路并禁止捕获单元,这样就能把相应的管脚分配给QEP电路使用。正交解码电路必须选择一个计数器用于计算电路的输入脉冲次数,即将QEP电路脉冲信号作为某通用定时器的时钟源。TMS320F2812的通用定时器2(EvA)或4(EvB)可供其选择。以通用定时器2为例,首先要求T2定时器工作在定向加/减计数模式。在这种工作模式下,通用定时器T2为QEP电路提供时基。当电机轴上的光电编码器产生正交编码脉冲时,将两路脉冲分别送入正交编码电路输入引脚,通过QEP方向检测逻辑,检测两个脉冲序列的先后,进而产生一个方向信号作为选定定时器2的方向输入,如果电机正转,则定时器增计数;反之,则定时器减计数。角位置和速度可通过脉冲计数和脉冲频率输出。定时器T2在计数器下溢或上溢时发生翻转,并重新开始计数。
如图1所示,如果两列正交解码输人脉冲的边沿均被QEP电路检测,则T2(或T4)的时钟频率是每个时钟频率的4倍,即其本身能进行4倍频,无需添加任何硬件,大大简化了系统的硬件设计。
图1 正交解码电路产生的时钟和计数方向
本文选用TRD-2T/2TH增量式旋转编码器,该光电码盘的脉冲数为1024,它由5 V电压供电,有六路输出,即为 A+、A-、B+、B-、Z+、Z-。其中 A、B 用于测速,它们相位相差90°,每转一周,输出1024个脉冲,Z相信号又称零位信号,是每转输出一个脉冲的零位参考信号。
如图2所示,光电编码器输出的三路脉冲信号经过整形之后输入DS3486,DS3486具有抗干扰能力,可以提高传输的精度,使得速度信号可以远距离的传输,然后将输出信号ENC A和ENC B经过分压后直接送到DSP的QEP/捕获单元引脚,这样,通过正交编码脉冲电路便可获得三相异步电机的转子位置和转速信息。
图2 光电编码器接口电路图
常用的数字测速方法有M法、T法和M/T法[3]。M法测速是根据在一规定的时间间隔内,光电编码器所产生的脉冲数来确定转速,它实际上是测定频率,适于测量较高的转速。T法测速是通过测量光电编码器所产生的相邻两个脉冲之间的时间来确定被测转速,这种方法实际上是测量周期,适于测量较低的转速。由于所研究课题中转速给定较高,故本文采用的是M法,测速原理如图3、图4所示,定时器T2是一个16位通用定时器,所以当增计数到FFFFh时,如果计数方向还是增计数,那么计数值回到零;当减计数到0时,如果计数方向还是减计数,那么计数值翻转到FFFFh。
图3 正转时转速计算图
图4 反转时转速计算图
本文利用TI公司的TMS320F2812型DSP对光电编码器输出脉冲沿的捕获实现了计数功能[4]。以电机正转时为例,设置通用定时器1的时钟输入为f0,并且开通定时器下溢中断,中断周期等于计算转速的采样周期T,则定时器每隔时间T向CPU发出一次中断请求。通用定时器2设置成定向增/减计数模式,以适应正交解码脉冲电路的计数。转速测量中断服务程序如图5所示。计算转速的公式为:
图5 软件流程图
转速的计算是通过光电编码器获得的脉冲数和采样时间来计算的,方向由方向信号Z来决定。脉冲数通过EvaRegs.T2CNT计数,采样时间为100个PWM中断周期,即每100×50 μs=5 ms采样一次。在TI公司CCS3.3中给定转速的标幺值为0.5,基值为1500 r/min,即给定转速为750 r/min。由图6可知光电编码器的采样值与实际相符。实际测得电机转速为742 r/min,软件计算出的电机转速为745 r/min,与实际电机转速相符。
图6 CCS3.3中转速采样值
电机转速测量是工业控制系统中最基本的需求之一,本文运用的基于DSP的M法测速方法,具有高精度、高分辨率、简单实用等优点。将该方法在三相异步电机上进行了实验,实验结果证实了该方法的正确性。
[1]汪 涛,黄声华,万山明.一种基于DSP的伺服电动机转速检测方法[J].微电机,2006,39(3):84-88.
[2]顾卫钢.手把手教你学DSP:基于TMS320X281x[M].北京:北京航空航天大学出版社,2011.
[3]谷海涛,颜湘武,曲 伟.正交编码电路和捕获单元在转角和转速测量中的应用[J].电气应用,2005,24(1):113-115.
[4]高 敏,张 烁,朱 明.基于 DSP的 M/T测速法[J].宿州学院学报,2013,28(3):84-86.