一种提高测速响应的改进M/T算法*

2016-05-12 01:37黄苏融高诗林上海大学机电工程与自动化学院上海200072
电机与控制应用 2016年3期

黄苏融,高诗林,王 爽,石 坚(上海大学机电工程与自动化学院,上海 200072)



一种提高测速响应的改进M/T算法*

黄苏融,高诗林,王爽,石坚
(上海大学机电工程与自动化学院,上海200072)

摘要:在M/T法的基础上,提出了一种提高测速响应速度的新型速度获取算法。现代电驱动对控制器的响应要求越来越高,传统的速度获取方法逐渐无法适应新的挑战,在传统M/T算法的基础上引入滑动窗思想,提高了算法的动态性能,解决了传统算法响应速度慢的问题。在FPGA平台上实现了相关算法,仿真及试验结果表明,提出的算法在保证稳态精度不变的前提下,将系统动态运行下的误差缩小为传统算法的1/3,比传统算法更快的逼近真实速度,提升了动态响应能力。

关键词:电机控制;测速;改进M/T法;现场可编程门阵列

0 引言

在现代电驱动控制系统中,控制器的速度环带宽成为了重要的性能指标。速度获取算法的动态响应对速度环带宽起着至关重要的作用,因此电机转速获取的响应时间成为了提高系统性能的关键点。光电编码器是一种在伺服控制系统中被广泛采用的传感器,具有体积小、精度高、可靠性高等优点。在使用光电编码器作为速度信号传感器时,传统的测速方法有T法、M法和M/T法等[1],其中M/T法兼顾了M法和T法的优点,有高精度、宽范围的特点,随着这种算法的应用推广,不断有学者对算法提出相应的改进完善,其中包括滑动M/T法[2]、同步M/T法[3]、变M/T法[4]等改进措施,围绕噪声影响、低速性能等方面展开了研究。本文以提高M/T法的动态响应为目标,提出了一种算法改进措施,缩短了M/T算法的响应时间,将动态测速误差的最大值缩减为传统M/T法的1/3,提升了测速算法的动态性能。

1 传统M/T法

传统M/T法测速,在中高速段近似为M法,在低速段近似为T法。它结合了M法和T法的优点[5-6],如图1所示。对于M/T法而言,在规定的时间测量高频时钟脉冲的数量,采样时间Ts为指定值;当Ts取值增大时,精度增加,同时增加了延时;当Ts取值减小时,精度减小,同时延时减小。这就决定了M/T算法的矛盾性,Ts选取将使系统在精度和响应速度之间折中。

图1 传统M/T法的测速原理

伺服系统的带宽是伺服系统的重要指标,其中测速环节的响应速度是影响带宽的一个重要因素,本文旨在提高测速方法的响应速度,提出一种M/T算法的改进策略。对于基于光电编码器脉冲和时间的测速算法,其算法速度刷新率近似等于算法周期Ts。传统M/T法中第i个周期的转速公式:

式中: f0——计时器高频脉冲频率;

P——编码器线数;

N(i)——第i个周期内编码器发出的脉冲数;

M(i)——该时间内高频计数器得到的高频时钟脉冲数。

在测速算法中,使用速度分辨率Qv来表示稳态情况下的测速精度指标[7-8]。定义速度分辨率Qv为转速算法可以分辨的两个相邻转速的最小值。传统M/T测速算法的分辨率为

同时为了对比提出的测速方法与传统测速方法的动态性能,如图2所示。本文定义动态误差为某一时刻测量得到速度值与系统运行实际速度值的最大差值,记为Qd。

图2 动态误差

对于传统的M/T测速算法其速度刷新率近似等于采样周期Ts。在采样周期Ts结束的时刻,更新计算出速度v。假设速度的计算不存在误差,此v在数值上其实是前Ts时刻的速度平均值。

由定义得到传统M/T测速算法的动态误差为

式中: a——系统的加速度;

Ts——M/T法的实际采样周期。

对比式(2)、(3)可以得到,Qv和Qd是一对相对矛盾的量。普遍的做法是,通过选取适当的调整Ts,在精度和响应速度之间找到一个相对的平衡点,在满足精度的前提下提高响应速度。

2 改进的M/T法

本文对传统M/T算法提出一种新的改进策略。使用比M/T密集的采样间隔Tp,Tp≪Ts。对于传统M/T法来说,减少Ts可以提高响应速度,但将产生更大的测量误差,如式(2)、(3)所示。本文提出一种新的方法,使用滑动窗的思想,把传统M/T法的间断性测速周期连续化,可以在保证速度分辨率的同时,使响应误差Qd逼近理论最小值。

取一个很短的采样时间Tp(Tp≪Ts),将传统的采样周期的长度分为N份,与传统的M/T法相比较N·Tp≈Ts。

对于每个实际得到的Mp(i)需要满足对应的Np(i)与脉冲沿对齐。如图3所示,在经过Tp时间后,编码器的第一个脉冲边沿,作为Np(i)和Mp(i)计数的终止位置。由此得

图3 高频时钟沿及编码器脉冲沿

在电机的运行过程中,对于实际的编码器脉冲与高频时钟信号,每一个Np(i + d) (d =0,1,2,…)与对应的Mp(i +d)的关系如图4所示。

图4 改进的M/T法测速原理

每次得到Np(i + d)和Mp(i + d)数据后,采用如下方法计算得到输出速度:

(1)计算每个Mp(i + d)范围内,编码器经过的位移Sp(i + d),其计算方法如式(6)所示:

当N足够大时,可近似满足:

从图5中可以看出,使用该算法,在每一个Tp时间段内,都会有一个速度的计算值输出,提高了算法的刷新速度。同时,对比式(3)和式(10)可以得到,该算法的动态误差相比于传统M/T法,缩小了约aTs,缩小为传统算法的1/3,显著减小了M/T法存在的动态误差。

图5 改进算法的计算过程

式中: Z——光电编码器线数。

(2)计算此范围内经过的时间Tp(i + d),每Mp(i + d)个高频脉冲内,实际消耗的时间:

(3)取连续的N个Tp(i)时间,Tp(i),Tp(i + 1),Tp(i + 2),…,Tp(i + N-1),作为一个滑动窗,如图5所示,每次滑动使i的值增加1,即Window(i) =[Tp(i),Tp(i + N-1)]。此分割数N应满足: Tp=1/N×Ts,图为N =4的情况。

(4)对于每个窗Window(i)内,先计算编码器移动的总位移和实际消耗的总时间,再计算得到速度。每次微型滑动都进行一次计算。Window(i)窗内的速度记为ωp(i),可以得到:

使用这种速度获取算法,可以得到的Qd的值满足式(9) :

3 算法的FPGA实现

在传统的MCU/DSP控制系统中,CPU按照指令周期运行。在工业产品中,速度环指令周期一般为0.001 s,速度获取及速度环PID控制都是在此周期内完成。

由于M/T法的速度更新周期不稳定,若T取0.001 s,实际Ts会大于此时间,而控制器将进入下一个控制周期,致使控制器在当前周期无法得到相邻时段的速度计算值。若T取值小于0.001 s,上述现象也将周期性发生,这是速度闭环不能忍受的[9]。所以在传统的MCU/DSP控制器的工业产品中,为使控制器稳定牺牲了精度,通常使用的是M法而非M/T法。

FPGA与传统控制器不同,有着并行处理的主要特性,可以让系统的各个功能以流水线形式工作,如图6所示。速度获取模块与控制器其他部分独立工作,使速度获取计算不拘束于控制器周期,从而可以实现较复杂的算法。

在FPGA中的实现流程如图7所示。

图6 FPGA控制器与传统控制器的对比

图7 FPGA算法流程图

将编码器发出的A、B差分信号通过TI-AM26C32芯片,接入到FPGA中。预处理模块由倍频过的高频时钟驱动,检测编码器脉冲的移动方向。

将A、B两路信号的上一时刻值Aq、Bq,与当前时刻的值An、Bn,组成一个四位二进制的组合{ Aq,Bq,An,Bn}。在电机转动过程中将产生8种状态,分别是: { 1 011} { 1 101} { 0 100} { 0 010} { 1 110} { 1 000} { 0 001} { 0 111},分别代表了电机正反转情况下,两路编码器信号的全部组合,可以将2 500线的编码器识别为10 000种编码器状态。

由编码器的状态变化触发判定,在计时没有达到指定时间Tp时,计时器处于计时状态,直到某次触发时满足计时器的时间超过给定时间Tp。其后复位计时器和位置计数器,开始下一轮计数。与此同时将计数和计时得到的结果存入长度为N 的FIFO中。

每一个Location和Time使用FIFO中N个Tp时间之前的值进行计算,得到这N个Tp时间段内,由编码器脉冲触发得到经过准确的编码器的位移和经过这段位移所消耗的准确时间,具体计算步骤如式(4)~(8)所示。这种计算每隔Tp时间进行一次,而参与计算的数据是N个Tp时间内的位移和时间。在计算模块,通过前面流水线形式的数据,计算得到速度值。

4 仿真和试验结果

基于本文提出的高响应M/T算法,应用MATLAB进行仿真验证,在MATLAB/Simulink环境中搭建电机控制回路。为了模拟算法在FPGA中的运行情况,各个模块使用触发式工作,使用全局时钟分别驱动算法和控制模块。

图8所示是在10~300 r/min之间的加减速仿真,速度指令是周期为1 Hz的梯形波。图8中所示为M/T法和本文所提出的NM/T法(N =10)在该条件下对速度指令的跟随情况。从图8中还可以看出本文提出的方法比传统M/T法对速度指令的跟随性更好,在图8中所示的仿真条件下,NM/T法的时延比M/T法的时延缩短了近1 ms。

图8 恒定加速度响应仿真

如图9所示是在不同转速下,两种速度算法速度刷新时间的仿真结果,速度刷新时间是指速度算法每一次计算得到结果之间的时间差。这个指标表示了速度算法的响应速度。在图9中可以看出,随着速度的不断提高,M/T法的速度刷新时间呈周期性变化,每6 r/min出现一次时间最大值,最后趋近于1 ms,而本文提出的NM/T算法,随着转速的提高,不断趋近于Ts/N。当N的值很大时,这个值将逼近理论最小值。

图9 速度刷新时间仿真

图10、11显示了不同加速度情况下,两种测速算法的动态误差对比。从图10、11中可以看出,对于速度变化越迅速的系统,本文提出的NM/T体现出了更高的响应速度,例如在a =180 r/s2的情况下,M/T法的理论最小Qd= 1.5×a×Ts= 1.5× 180 r/s2×0.001 s = 0.27 r/s2,而在相同条件下,NM/T法的理论最小Qd= (1/2 +1/N)×N×a× Tp,当N取10情况下,Qd= (1/2 + 1/10)×10× 180 r/s2×0.000 1 s =0. 108 r,与仿真结果接近。

图10 动态误差分析Acceleration =180 r/s2

图11 动态误差分析Acceleration =300 r/s2

根据以上提出的算法,在Xilinx公司Sparten 6系列XC6SLX16型号FPGA芯片上,使用Verilog语言编写了测速算法模块、上位机通信模块、D/A驱动模块等,并在平台上进行试验验证,如图12所示。

图12 试验平台

图13为给定0~300 r的加速运动,使用示波器对转速波形进行观测得到的结果。

图13 对拖平台试验

示波器分辨率为10 ms/div,用于对比的M/T法的目标采样时间设置为1 ms。从试验结果中可以看到传统M/T速度输出存在波动,波动约1 ms出现一次,与理论分析相一致。使用本文提出的算法得到的电机转速,在电机转速快速变化时依然保持稳定的输出。

5 结语

在现代伺服行业中,测速算法对高响应的要求越来越高。在传统的M/T法基础上,本文提出了一种新颖的改进策略,通过滑动窗的算法思想,在保证稳态精度与传统算法精度一致的前提下,提高了算法的速度刷新,降低了算法的动态误差。为了使算法的实时性得到保证,本文选择在FPGA上实现算法,并给出了算法的实现流程。通过仿真及试验表明:该算法的计算刷新速度远高于传统算法,有高响应速度的特点,同时测速结果比传统算法更逼近真实速度,具有高动态精度的特点。因此,具有一定的实用价值。

【参考文献】

[1]OHMAE T,MATSUDA T,KAMIYAMA K,et al.A microprocessor-controlled high-accuracy wide-range speed regulator for motor drives[J].IEEE Transactions on Industrial Electronics,1982,29(3) : 207-211.

[2]宋宝,唐小琦,蒋俊敏,等.基于FPGA的速度滑动估算策略[J].电气传动,2009,39(3) : 44-46.

[3]邓贻云.同步M/T法的原理及其实现[J].电气自动化,1999,21(5) : 31-34.

[4]赵岩.编码器测速方法的研究[D].长春:中国科学院研究生院(长春光学精密机械与物理研究所),2003.

[5]陶刚.基于FPGA的伺服电机测速与控制系统研究[D].上海:上海交通大学,2013.

[6]王少威.永磁交流伺服系统速度检测与控制研究[D].武汉:华中科技大学,2012.

[7]TSUJI T,MIZUOCHI M,NISHI H,et al.A velocity measurement method for acceleration control[C]∥Industrial Electronics Society,2005,31st Annual Conference of IEEE,2005: 6-10.

[8]TSUJI T,HASHIMOTO T,KOBAYASHI H,et al.A wide-range velocity measurement method for motion control[J].Industrial Electronics,IEEE Transactions on,2009,56(2) : 510-519.

[9]KILIC E,BASER O,DOLEN M,et al.An enhanced adaptive windowing technique for velocity and acceleration estimation using incremental position encoders[C]∥Signals and Electronic Systems (ICSES),2010 International Conference on IEEE,2010: 61-64.

A High Dynamic M/T Method for Velocity Acquiring

HUANG Surong,GAO Shilin,WANG Shuang,SHI Jian
(School of Mechatronic Engineering and Automation,Shanghai University,Shanghai 200072,China)

Abstract:On the basis of M/T method,a new algorithm to improve the response of velocity acquisition was proposed.The demand of response was increasing in modern servo controller,and the traditional methods could hardly adapt to the new challenges.The method performed significantly improvement of dynamic performance compared with traditional M/T method.Simulation and experimental results showed that the proposed algorithm improved the dynamic performance with the resolution unchanged.

Key words:motor control; velocity acquisition; improved M/T method; FPGA

收稿日期:2015-09-06

作者简介:黄苏融(1953—),男,教授,研究方向为电机及其应用控制。通讯作者为黄苏融。

*基金项目:国家科技支撑计划课题(2015BAG03B01)

中图分类号:TM 301.2

文献标志码:A

文章编号:1673-6540(2016) 03-0049-05