主从同步定时模式的转速变M/T法测量设计与实现
2018-02-13许景波殷宪宇崔晓萌刘智良李兆李军陈好书
许景波 殷宪宇 崔晓萌 刘智良 李兆 李军 陈好书
摘 要:针对旋转机械的转速测量问题,根据变M/T法原理,提出了一种主从同步定时模式的转速测量设计实现方法。设计了处理器内部两定时器同步计数协同工作方式,以及外部触发脉冲生成电路,由外部触发能够同时启动两定时器计数,并由主定时器在计数达到的条件下停止从定时器,两计数值同步对应。结合当前转速,可以动态设定主定时器计数条件,使本方法适合高、低转速测量应用。实验结果表明本方法相对测量误差小于0.2‰、覆盖5~20000r/min的高低转速范围,并且软件处理简捷,易于實现,具有实用价值。
关键词:转速测量; 变M/T法; 同步定时
DOI:10.15938/j.jhust.2018.06.023
中图分类号: TN98
文献标志码: A
文章编号: 1007-2683(2018)06-0128-05
Abstract:A master-slave synchronous timing mode implementation method of revolving speed measurement is put forward based on different M/T aimed at the rotating machinery in this paper. The MCU is set to make two timers synchronously count and cooperatively work and the external trigger pulse generating circuit is designed. The external trigger can start the two timers at the same time and the master timer can stop the slave timer under the condition of counting terminate that makes the two timers achieve synchronization. The counting value of master timer can be dynamically set according to the current speed which makes this method suitable for high speed and low speed measurement applications. Experimental results show that the relative measurement error of this method is less than 0.2‰ has wide measurement range of 5r/min~20000r/min and the processing routine is simple easy to implement.
Keywords:revolving speed measurement; different M/T methods; synchronously timing
0 引 言
转速是一种常见的机械量,它是指做圆周运动的物体单位时间内沿圆周绕圆心转过的圈数。对于绝大多数旋转设备来说,转速是一个重要参量,通过对转速的测量,可以实时监测设备的运转状态,分析设备的工作情况,所以转速的实时准确测量对于保证设备的安全稳定运行具有重要意义。
对于转速的测量通常采用旋转轴安装齿盘,通过磁电或光电传感器测脉冲的方式实现[1-3]。常用的方法主要有M法,T法,M/T法以及变M/T法。M法又称测频法,在转速较低时误差较大,适合高速测量;T法又称测周法,在高转速时有较大误差,适合低速测量;M/T法是两种方法的结合,适合于高低转速场合,但仍有截断误差,实时性较差,精度难以控制[4-5]。变M/T法是对M/T法的一种改进,克服了M/T法的缺点,是测速系统中常采用的一种方法[6-7]。传统的测速方法中,一般采用两个计数器分别对转速脉冲和高频时基脉冲分别计数加以实现,要提高测量精度关键在于计数的同步,计数不同步往往给测量结果带来很大误差。然而两计数器难于严格同步,要做到同步计数需要增加复杂的同步时序电路,系统环节增多,存在延迟误差,可靠性也变差。
本文依据变M/T法的原理,提出了一种由外部信号触发主从同步定时模式的转速测量实现方法,实现了两个计数器的严格同步,从而提高了转速测量的准确性和稳定性。
1 M/T法测速方法及改进
1.1 M/T法测速基本方法
M/T法是指在一个规定的时间Td内同时开始对转速脉冲和高频时基脉冲计数,然后用Td以后的第一个转速脉冲去终止高频时基脉冲计数器,从Td结束到高频脉冲停止的时间为ΔT,所以,高频脉冲总计数时间T=Td+ΔT[8],如图1所示。
假设高频时基脉冲频率为fc,所测得的高频脉冲个数为M2,则有:
如果每周转速脉冲个数为p,在T时间内,转速脉冲计数值为M1,则可得被测转速为:
M/T法虽然适用于高、低转速的测速系统,但由于采样时间Td是固定的,Td的选取往往不能兼顾高速和低速两种情况。如果Td设定时间较短,那么在低速情况下可能不能得到完整的转速脉冲;如果Td设定时间较长,那么高速时转速的变化将不能得到及时的响应[9-14]。所以可以看出固定的采样时间Td是不合适的。
1.2 变M/T法测速方法
变M/T法与M/T法相似,但该方法不需要设定一个固定的测速时间,而是根据转速的高低设定不同的测速脉冲个数M1,这也保证了M1始终是一个整数。具体过程如图2所示,当转速脉冲的上升沿到来时,触发计数器开始对转速脉冲和高频时基脉冲计数,当转速脉冲的个数达到M1时,停止对高频脉冲计数,并读取相应个数M2。此时的M2与M/T法中的M2含义不同,它是指与M1个转速脉冲严格对应的高频脉冲个数。
由设定的M1和测得到的M2,仍依据式2计算转速。 变M/T法与M/T法的不同在于它可以根据转速情况动态地调整M1的数值,对于高转速情况M1可取大一些,对于低转速情况M1可取小一些,这样来适应不同转速测量情况,通过M1的调整来实现测量周期的设定,处理也比较方便。
2 测速功能实现原理与系统设计
2.1 M/T法的主从同步定时模式设计原理
从上述可以看出在变M/T法的实现中,关键在于两个问题,一是保障M1和M2计数的同时启动和停止,二是根据当前转速,动态地调整M1的数值,以保证对高速、低速测量情况的适应性[15-17]。
本文采用STM32F103作为处理器,它是Cortex-M3内核的32位ARM微控制器,非常适用于工业测量控制领域。该处理器包括1个高级定时器和3个通用定时器,这些硬件条件保障了转速测量功能的实现。
为了保障M1和M2计数的同步,采用“外部触发+主从定时器同步模式”,STM32F103内部的定时器可以连接在一起,用于定时器间的同步和链接。当一个定时器配置为主模式时,它可以复位、启动和停止另一个配置在从模式下的定时器,如图3所示,定时器1的输出TRGO1可以提供给定时器2的触发选择输入端,也即TRGO1可以控制定时器2的工作,这正为M1和M2的同时计数提供了条件。
这里以定时器1作为主定时器用于计数转速脉冲M1,定时器2作为从定时器用于计数高频时基脉冲M2。定时器1工作在外部信号触发模式,并以外部脉冲作为时钟源,由外部脉冲检测电路生成触发信号,触发信号接入定时器1的TI1。其内部采用向上计数比较模式,比较输出OC1REF作为TRGO1连接至定时器2的触发选择输入端;定时器2的从模式采用门控方式,其触发选择来自于定时器1的ITR0,也即OC1REF。整个工作时序示意图如图4所示。
这里设置定时器1的计数初始值TIM1-CNT为(65535-M1),比较寄存器TIM1-CCR1的值为(65535-M1+1)。当TI1端输入上升沿的触發信号后,定时器1在外部脉冲源的作用下开始计数,这时TIM1-CNT值 TIM1-CCR1值,OC1REF输出高电平,启动定时器2工作,这样实现了一个外部触发同时启动定时器1和定时器2。当TIM1-CNT计数达到65535时,TIM1-CNT溢出并从0开始重新计数,这时OC1REF输出低电平,停止了定时器2工作。由于定时器1溢出产生更新事件,所以在软件中可以停止定时器1工作。定时器2是在定时器1计数了M1个脉冲后停止的,所以定时器2的计数值M2与M1个外部脉冲的启停是严格对应的,由此可在定时器1更新事件产生的中断服务程序中依据设定的M1和实际得到的定时器2计数值M2来计算转速。
2.2 系统硬件设计
基于上述原理设计了检测电路如图5所示,转速脉冲信号经过光耦输入,光耦起着抑制干扰、隔离的作用;输入信号经过一个或门,接至STM32F103的TIM1_ETR输入端,作为外部时钟源,PD1作为使能信号通过或门可以控制测量信号的输入,当PD1=0时,转速脉冲可以输入至TIM1_ETR,当PD1=1时,或门输出始终为“1”,即屏蔽掉转速信号的输入;同时或门输出接至一个D触发器的CP端,D触发器作为脉冲信号的起始检测,其输出触发STM32F103内部定时器工作。只要允许转速信号输入,CP端的脉冲将使D触发器输出端Q=1,该端连接至TIM1_CH1,即可启动内部定时器工作,PC1作为一复位端,接至D触发器R端,可以使Q端恢复至初始状态Q=0。所以整个电路可以实现对测量信号的输入控制,并从输入的测量信号中有效分离出定时器的外部触发信号。
2.3 系统软件设计
每次转速的测量称为一个测量周期,在测量开始前由软件设置一些寄存器的初始值如向TIM1-CNT写入(65535-M1),向TIM2-CNT写入0等,然后令PC1=0,复位触发信号,令PD1=0,允许转速脉冲输入,启动测量。测量周期的结束可以在定时器1的中断程序中进行处理,也可以查询定时器1的更新事件标志位。一个周期结束需停止定时器1工作,即TIM1-EN=0,并读取TIM2-CNT的值计算M2。由于定时器2在计数中可能发生溢出,其设置成自动重载工作方式,这样在其溢出的情况下仍能够正常计数,不会丢失脉冲,M2由下式计算:
式中:k为定时器2的中断溢出次数,由它的中断程序累加。在测量周期结束依据设定的M1和计算得出的M2根据公式2计算转速。由此看出该方法软件处理非常简便,M1和M2的计数严格地通过硬件设计和定时器的工作模式所保障,这个过程不会因为软件的中断及处理影响M1和M2的计数。
从上述可以看出M1是作为一个设置值写入到定时器1的计数器中,对于M1的值应根据不同的转速进行动态的设定 以保证高速和低速情况下测量周期基本一致。一般情况下,高速时M1的数值应取大一些,低速时M1的数值应取小一些[18]。由于旋转机械转动惯量的存在,转速一般不会骤变[19-20],所以可以依据上次测得的转速动态调整下次测量中设定的M1,M1的确定可根据下式。
式中:INT为取整函数,n′为上一测量周期测得轉速,T测是指测量周期,p为每周脉冲数。对于软件设计,基本上是一顺序流程,如图6所示。
3 实验结果与分析
这里设定每周脉冲数为60,即p=60,在转速为5~20000r/min的范围内,对系统进行的测试,这一范围也基本涵盖了低速、中速、高速的转速范围。fc即定时器2计数脉冲,通过STM32 F103内部时钟树分频得到,对于低频转速,fc设定为10kHz,对于高频转速,fc设定为100kHz。并且转速测量程序根据当前转速自动完成M1的设定,测试结果如表1所示:
从测试数据可以看出,该方法测量范围宽,对低速和高速转速都有极高的测量精度,最大相对误差小于万分之二。M1的动态设定也保障了对高转速、低转速测量的适用性。
4 结 论
本文基于变M/T测速原理,提出了一种设计实现方法,它充分利用了处理器内部资源,设计了主从定时器同步工作模式,使定时器可由外部脉冲触发,协同工作。整个实现方法测量精度高、数据稳定。本方法主要依靠内部定时器资源,所需外部硬件较少,软件处理也非常简单,具有实用意义。
参 考 文 献:
[1] 谷玉海,韩秋实 徐小力.高精度转速测量方法研究[J].仪表技术与传感器,2013,10:88-91.
[2] XI Songtao CAO Hongrui CHEN Xuefeng et al.A Frequency-Shift Synchrosqueezing Method for Instantaneous Speed Estimation of Rotating Machinery[J].Journal of Manufacturing Science and Engineering,2015 137(6):031012(1)- 031012(11).
[3] 王亚洲,万秋华,杜颖财,等. 光电编码器单莫尔条纹测速方法[J]. 中国光学,2015,8(6):1044-1050.
[4] 许青松,肖曦,王雅婷,等. 电机控制系统低速区测速方法分析与改进[J]. 电气传动,2013,43(6):10-14.
[5] 徐春剑,吴一辉,武俊峰,等. 基于FPGA的高精度霍尔测速方法[J]. 仪表技术与传感器,2009(10):99-101.
[6] ZIAN Qin FREDE Blaabjerg POH Chiang Loh. A Rotating Speed Controller Design Method for Power Leveling by Means of Inertia Energy in Wind Power Systems[J]. IEEE TRANSACTIONS ON ENERGY CONVERSION,2015,30(3):1052-1060.
[7] 吕德刚,都泽源,马宪伟,等. 外转子永磁轮毂电机的转速控制[J]. 哈尔滨理工大学学报,2016,21(5):56-59
[8] 陈敬泉,尔联洁,邹云飞,等. 基于测量时间动态调节的宽量程高准确度转速数字测量法[J].仪器仪表学报,2003,24(1):78-81
[9] 秦晓飞,王云宽,郑军,等. 交流伺服系统振动鲁棒M/T测速算法[J]. 电机与控制学报,2010,14(5):97-103.
[10]杨松涛,和丽清 安成斌. DSP在高精度数字式电机测速中的应用[J].红外与激光工程,2006,35:543-548.
[11]WANG Yong-Qing HUANG Fu-Chang YE Tao et al. Relay-style Digital Speed Measurement Method and Dynamic Position Subdivision Method[J]. Microprocessors and Microsystems,2014,38:82-87.
[12]侯涛,范多旺. 基于增量式光电编码器的高精数字测速应用研究[J]. 自动化与仪器仪表 2010(6): 9-11.
[13]WANG Hui PU Jian-tao. An Improved Variable M/T Method Based on Speed Estimation for Optical Incremental Encoders[C]// Proceedings of 2012 3rd International Asia Conference on Industrial Engineering and Management InnovationIEMI2012),2012 pp:13-20.
[14]文晓燕,郑琼林,韦克康,等. 增量式编码器测速的典型问题分析及应对策略[J]. 电工技术学报,2012,27(2):185-189.
[15]潘海鸿,陈伟鸿,陈琳. 主从分布式多轴控制系统同步采样机制研究[J]. 机械设计与制造,2016(8):157-160.
[16]包本刚.基于FPGA的全同步数字频率计设计[D].长沙:湖南大学,2007.
[17]SYED Javed Arif M. S. Jamil Asghar Imdadullah. Very Fast Measurement of Low Speed of Rotating Machines Using Rotating Magnetic Field[J]. IEEE TRANSACTIONS ON INSTRUMENTATION AND MEASUREMENT 2012,61(3):759-766.
[18]陈金鹰,孙旭,李灿平. 高精度频率测定的ASIC实现[J]. 成都理工大学学报(自然科学版),2004,31(4):390-394.
[19]王力,杜坤梅,胡博,等. 基于磁编码器永磁同步电动机转速及位置的检测[J]. 哈尔滨理工大学学报,2007,12(6):80-83.
[20]柯梽全,王阳恩,李家松. 高速直流电机转速的稳定性控制研究[J]. 电子测量技术,2013,36(4):20-23.
(编辑:王 萍)