张涛,杨振强,王晓旭
(大连理工大学 电力电子研究所,辽宁 大连 116023)
应用eQEP及编码器测量电机位置与速度的方法
张涛,杨振强,王晓旭
(大连理工大学 电力电子研究所,辽宁 大连 116023)
现代电气传动伺服系统中,对电动机转子位置及转速的检测必不可少,并在一定程度上决定着整个系统的性能。介绍了一种使用DSP28335的增强型正交编码脉冲单元(eQEP)与增量式编码器测量电机转速的方法。提出了一种改进的变权值平均速度算法,对其进行了对比误差分析,并通过仿真与实验证明了该算法的可行性。应用该方法,可以方便地设计出电机测速方案,在保证测速范围的前提下合理选择元件参数和算法参数,可精确测得电机转速。
增强型正交编码脉冲单元;编码器;变权值平均
现代电动伺服系统发展突飞猛进,尤其是在机械制造行业中发挥着不可替代的作用,各种机床运动部分的速度控制、运动轨迹控制、位置控制等,大量采用了电动伺服系统。而电机闭环系统中,不可避免的需要对电机转子位置(P)及速度(S)进行实时测量,并在PS测量结果的基础上采用相应的算法及控制策略。因此,PS测量环节的性能优劣在很大程度上决定了整个伺服系统的精度和响应速度[1]。光电编码器高精度、高速度、无非线性误差,采用差分输出,抗电磁干扰能力强,易于安装及使用,在目前电机控制得到了广泛应用。TI公司最新推出的TMS320LF28335微控制器内部集成了增强正交编码脉冲模块(eQEP),由该模块与光电编码器配合使用,构成了电机位置高精度、快响应测量的完美解决方案。
如图1所示,增量式光电编码器主要由光源、码盘、检测光栅、光电检测器件和转换电路组成[2]。码盘是在一定直径的圆板上等分地开通若干个透光长方形孔。将光电码盘与电动机同轴连接,电动机旋转带动光栅盘与电动机同速旋转,经发光二极管及光感器件等电子元件组成的检测装置检测输出若干脉冲信号,通过累计光电编码器输出脉冲的个数就能反映当前电动机的位置增量。同时,为判断旋转方向,码盘还可提供相位相差90°的两路正交脉冲信号。大多数编码器当电机顺时针转动时,A相脉冲超前于B相脉冲90°;当电机逆时针转动时,B相脉冲超前于A相脉冲90°。同时还有用作参考零位的Z相标志(指示)脉冲信号,码盘每旋转一周,只发出一个标志信号[3]。标志脉冲通常用来指示机械位置或对积累量清零。光电编码器的优点是原理构造简单,机械平均寿命可在几万h以上,抗干扰能力强,可靠性高,适合于长距离传输[4]。
图1 编码器与电机同轴连接Fig.1 Encoders and motor coaxial connected
eQEP包含的功能单元有:可编程量化输入引脚、正交编码单元、位置检测的位置计数和控制单元、低速测量的正交边沿捕捉单元、速度/频率测量的时间基准单元和看门狗单元等组成。它的输入信号包括2个正交编码脉冲(AB)、1个位置索引脉冲(Z)和1个选择输入信号(S)。其中选择信号可以初始化或锁存位置计数器等,例如将该信号连接到传感器或限位开关,指示电机转到指定位置。
如图2所示,当eQEP单元工作在正交计数模式时,通过检测QEPA和QEPB信号的边沿为位置计数器提供计数时钟QCLK,因此eQEP逻辑产生的时钟频率是输入时钟频率的4倍。例如2 500线的编码器旋转一周时,可产生10 000个计数脉冲。这样可以进一步提高位置检测精度,同时也限定了eQEP的信号输入频率不能大于DSP高速外设时钟的1/4。同时正交编码单元还会判断两路输入信号的先后顺序,并根据相应的状态机给出计数方向QDIR,以决定位置计数控制单元进行增计数还是减计数。这样,与编码器相连的电机转子转动至圆任意位置时都将有一个特定的位置计数值与之对应,通过简单的比例关系即可得到电机位置状态。仍以2 500线编码器为例,其定位精度可达360/10 000=0.036个机械角度,大多数情况下均可满足伺服系统的静态刚度要求。TMS320LF28335芯片包含2个可独立工作的eQEP单元[5]。
图2 eQEP单元功能框图Fig.2 eQEP units function diagram
应使eQEP模块工作在位置事件复位位置计数模式下,如果正向运动收到QEPI位号时,位置计数器复位为0;当反向运动时收到QEPI信号时,位置计数器复位为QPOSMAX寄存器内的值。设编码器分辨率线数为N,现将QPOSMAX设为4N-1,则转子做360°转动时,QEPSCNT中的计数值从0~4N-1线性变化,即从位置计数寄存器中可直接得到与转子位置成比例关系的位置计数值QPOSCNT,则可得出转子机械角度为[6]
由于安装及具体坐标系选择问题,可能要在式(1)的基础上引入一个偏移量θMb,进行平移修正,则式(1)变为
由此得到电机转子的机械角度,如果在某些算法中需要使用到电角度,则只需将机械角度乘上电机转子极对数,并将所得积进行判断加减、平移,使其值的范围在0到1之间即可。
以上方法得到的机械角度只是在单圈范围内,如果想将其扩展到多圈范围只需在算法上进行如下调整:将转子机械角度分解为整数部分与小数部分。小数部分由式(2)计算得到;整数部分,由跨圈判断累计得到。跨圈判断算法的思想是在转子的位置无法跳变这一基础上的,假设电机正转时,上次测得θ为0.98,本次测得θ为0.05,而位置检测频率为10kHz,则认为电机正转跨过θ=1点,θMint加1,而非电机反转由0.98减小到0.05,如果按那样推算电机会运行在(0.98-0.05)×1 000×60=55 800r/min的速度上,这通常是不可能的。反转跨过θ=0点时,θMint减1的判断逻辑与此类似。最后令θM=θMint+θMfloat就可得到转子的多圈位置。
测量方法中最基础的就是M法和T法,为了满足在大范围内都能够精确地测得电机的转速,使用M法和T法相结合。在高速时使用M法测速,在低速时使用T法测速,在测速误差相近切换时使用变系数加权平均法。以使转速平滑切换,测量误差无波动,提高系统稳定性。
M法。以主定时器中断为时基,设测速频率为Fs,编码器线数为N,采样时QPOSCNT寄存器中的值为QP,则电机转速Sm为
T法。eQEP外设包含一个集成的边沿检测单元,用来测量特定个数的位置计数脉冲之间的定时器周期,应用它可以很容易地实现测量两个位置事件之间的时间。设位置脉冲分频数为1/DP,捕获定时器时钟分频数为1/Dc,系统时钟为Cs,寄存器QCPRDLAT中的值为Qc,则电机转速St为
平滑切换法。将速度范围划分为3个域:低速域、中速域、高速域。在低速域和高速域内分别使用T法和M法,在中速域使用变权值加权求得。即最终速度的求得由M/T测速的结果乘以相应的系数后确定,可由下式表示:
式中:a和b为权值系数,a+b=1。
考虑使算法简单,令
式中,SH,SL分别为高、低速域门限值,应依据等误差原则进行外延选取,所得a,b权值单位为“1”。相应函数图形如图3所示。
图3 权值函数选取Fig.3 Weights function selection
值得一提的是某些文献中给出的方法或例程中确定速度方向的方法是看QEPSTS寄存器中QDF位的值。作者认为这样并不可取,因为QDF位所表示的只是检测时瞬时位置计数器是处于增计数还是减计数,不能反映自上一次测速至此时一段时间内电机运行的情况。正确的方法还是应通过两次检测的位置差的极性来计算电机平均速度的方向。
下面分别就以上3种测速方法进行误差分析。在高速时,在确定的时间里读取一次编码脉冲数,并与上一次的脉冲数做差以得到固定时间内的位移量,并除以固定时间即得速度,此法为所谓M法。这样测速的精度与位置传感器的精度和固定时间周期T有关。例如:编码器线数为N,速度估计频率为FS,则最小位置测量精度为1/4N圈,相对速度测量误差为
从式(7)中可以看出,随着速度的减小相对误差增大。
在低速时由下式给出了更精确的检测方法。由编码器输出一个固定的位置变化信息,传感器的精度确定了每个脉冲的精度。通过计数器寄存器中的值计算两个脉冲之间的时间,然后得到电机的转速。它的相对测量误差可表示为
从式(8)中可以看出,随着速度的增大相对误差增大。
中速时的测量误差可由式(3)、式(4)、式(5)推出:
通过Matlab仿真计算得出相对误差曲线(见图4),其中fr为M法测速误差曲线,pr为T法测速误差曲线,sp为本文提出测速算法误差曲线,在整个运行转速范围内均可实现高精度的转速测量,最大相对误差不超过0.7%,测量误差过渡平滑。
图4 测量转速与相对误差Fig.4 Measurement speed and relative error
实验使用大连电机厂生产的3ST030CMF2A型交流伺服电机,额定功率300W,额定转矩1.0N·m,额定电流2.2A,额定转速3 000 r/min。使用DSP28335做转子磁场定向控制,让电机带载运行,速度给定为周期2s,最大值为1 350r/min,最小值为1 200r/min的三角波信号。这样刚好包括了M法、T法及其中间切换状态的3个算法过程,图5为应用本文描述的算法测得的电机转速及其傅里叶分析。经验证,电机转动速度准确,运行平稳,速度信号中的谐波主要为给定速度的n次谐波,受负载情况、电机结构参数及控制算法影响。
图5 电机转速波形及其FFTFig.5 The motor speed waveforms and FFT
本文介绍了增量式光电编码器和eQEP增强型正交编码单元,并给出了使用两者配合测量电机转速的方法。提出了一种变权值平均M/T过渡算法,通过仿真及实验证明了算法的可行性。采用DSP和单片机等微控制器实现简单,变量及代码少而节约芯片资源。应用本算法可精确测得转速,无跳跃,其误差过渡平滑,因此能够满足高精度、高性能及先进控制策略的测速要求。
[1] KungYing-Shieh,Huang Pin-ging.High Performance Position Controller for PMSM Drives Based on TMS320F2812 DSP[C]∥Proceedings of the 2004IEEE International Conference on Control Applications Taipei,Taiwan,2004.
[2] 陈爽,殷佳琳,段国艳.基于DSP/QEP电路的电机位置检测和转速测量研究[J].电子技术,2009,36(2):78-80.
[3] 赵仁德,曲华龙.电机的定点DSP控制中转速测量新方法[J].电气传动,2010,40(6):72-74.
[4] 高瑞昌,孙昌国.DSP在测速中的应用[J].自动化技术与应用,2004,23(3):71-73.
[5] Texas Instruments.TMS320x2833x,2823xEnhanced Quadrature Encoder Pulse(eQEP)Module Reference Guide[Z].2008.
[6] 苏奎峰,吕强,邓志东,等.TMS320x28xxx原理与开发[M].北京:电子工业出版社,2009.
修改稿日期:2010-11-08
Method of Measuring Motor Position and Speed with eQEP Unit and Encoder
ZHANG Tao,YANG Zhen-qiang,WANG Xiao-xu
(PowerElectronicsInstitute,DalianUniversityofTechnology,Dalian116023,Liaoning,China)
In modern electrical transmission servo system,the test of the rotor position and speed is indispensable,and determines the system performance to a certain extent.Introduced a method to measure motor′s rotate speed with enhanced quadrature encoder pulse(eQEP)module in DSP28335and photoelectric encoder and put forward an improved method of calculating speed.Error analysis,simulation and experiment prove the feasibility of the proposed algorithm.With the method in this paper,we can design a motor speed solution easily.Ensure speed range and choose the proper parameters of components and program,we can get the motor speed accurately.
enhanced quadrature encoder pulse(eQEP)module;encoder;variable weights average
TM306
A
张涛(1986-),男,硕士研究生,Email:zhangtao1612@163.com
2010-07-22