APP下载

基于DSP高精度宽范围测速表的设计

2018-06-24潘松峰

制造业自动化 2018年6期
关键词:脉冲数寄存器编码器

李 勇,潘松峰

(青岛大学 自动化与电气工程学院,青岛 266071)

0 引言

电机是各种自动化设备中的主要组成部分,对电机转速的精确、快速的测量是衡量一个系统好坏的重要指标。尤其在工业生产中,精确的测量点击转速可以安全有效的对机械设备进行故障预防,增加系统的安全性,减小设备的维护成本。

因此,设计一个高精度,款范围且可靠性高的电机转速表,在各种生产设备中显得尤为重要。本文利用光电码盘,结合DSP芯片设计了一款宽范围高精度的测速表。

1 测速表硬件组成

测速表的硬件组成示意图如图1所示。

图1 测速表示意图

其中主要硬件包括两部分:光电码盘和DSP芯片。

1.1 光电编码器

光电编码器是被广泛使用于电机测量。码盘旋转时,一对光感应器件输出的信号和另外一对光感应器件输出的信号的相位相差90°,这就是通常所说的正交信号QEPA和QEPB。根据相位情况可以判定码盘的旋转方向。在实际应用中,常常定义为QEPA比QEPB相位超前90°到来时,电机转向为顺时针方向。当电机正转时,光电编码器输出的波形如图2所示。

1.2 DSP芯片

作为C2000系列一款典型的控制芯片,TMS320F28335芯片将常用的转速测量电路集成于芯片内部,组成了增强型正交编码模块eQEP。当工作在正交计数模式下,正交解码单元可对正交信号进行4倍频处理,为位置计数器寄存器的计数提供时钟频率。例如,一个2000线的编码器旋转一周时,会输出8000个计数脉冲。同时还会通过判定正交信号的先后顺序来确定电机的转向。

该模块内的捕获单元可以根据系统时钟分频后工作,为变M/T法提供时间的计算,分频可以通过设置相应的寄存器来设置。

2 变M/T法测速原理

应用光电码盘测速时,常见的方法主要有四种,分别是M法,T法,M/T法和变M/T法。本次设计是采用的变M/T法,在此之前,先简单介绍一下其他三种原理。

M法又称之为测频法,其原理是先设定一定的时间,然后在这段时间TC内,对光电码盘输出的信号的个数进行计数。在测量过程中,计取的脉冲数M1不一定正好是整数,M1可能存在±1的误差。计取的M1的值越大,所得的误差越小,因此M法适用于高速转速的测量。

T法又称之为测周法,此测量原理是在一个脉冲周期内对高频脉冲数进行计数。为了减小误差,计得的高频脉冲M2应尽量大,因此T法测量适用于低速测量。

M/T法是将M法和T法两种方法结合起来,即在一定的时间范围TC内,计取光电码盘输出的脉冲数M1的同时,也对高频脉冲M2进行计数。TC时间到来后,再计取ΔT时间内的高频脉冲数m,ΔT是时间TC结束后到码盘信号下一个脉冲上升沿的时间间隔,如图3所示。则电机的转速:

M/T能够适用于较广的测量范围,测量精度也相对较高,但这种方法的缺点是,测量精度取决于ΔT的测取。测取的过程较为复杂,针对这个缺点,本文采用了变M/T的测速方法。

图3 M/T法测速原理

变M/T法的原理在电机转速测量的过程中,测量时间TC并不是一成不变的,而是根据当前的电机转速的大小来调节TC的大小。即测取得光电码盘脉冲数M1和高频脉冲数M2都是变化的。时间TC在测量的过程始终等于M1个脉冲的周期之和,如图2所示。其中时间TC的大小由已知的高频脉冲数M2来计算,即法方法TC=M2/f0,速度公式为:

图4 变M/T法测速原理

当电机转速较低时,可以减下时间TC来弥补M/T法在低速检测时误差较大的缺点。同时也不需要测取M/T法中的ΔTT,其性能均等于或超过M法和T法。

3 精度分析

式(1)中,f0是eQEP模块内的高频时钟频率,N是光电编码器旋转一周后输出的脉冲个数。此次设计的测速表多用的编码器为2000线,即N=2000。在测量时间TC内,式(1)中的M1始终是一个整数,不存在M法中的±1个脉冲的误差,只有高频脉冲会存在±1个脉冲的误差。

即误差公式:

相对误差:

显然检测误差只与M2的大小有关且成反比。由M2=TC.f0知,增大高频时钟频率f0和增大允许测量时间TC可以减小检测误差。

4 参数设置

TMS320F28335芯片eQEP模块内含边沿捕获单元,可以通过设置该单元寄存器中的值来改变高频时钟频率f0。由式(4)可知,M2的数值越大,即时钟频率越高,所得到的速度误差越小。考虑到时钟计数寄存器为16位寄存器(即最大值为65535)。故TC时间一定的情况下,f0尽可能大的前提是该计数器没有发生溢出。本测量TC的最大值大约在10ms左右,故设置为32频,可使得时钟计数器的值尽可能大(为46875)且不溢出。

下面推导M1的选取:

改变测量时间的大小是通过设置不同的M2的值来实现的,其中N为编码器的线数,N=2000,测量时间公式为:

由式(5)可得:

同时,为保证测量误差在万分之一以内,则M2的值必须大于10000,测量时间需有一个下限值,即f0.t≥M2=10000,可得测量时间需t≥2.2ms。

又由2.2ms≤t≤10ms可得M1与转速r的关系为:

由式(7)针对不同的转速范围,设定不同的M1,具体如下:

速度在0~40r/min时,M1=12;40~160r/min时,M1=50;160~600r/min时,M1=200;600~1500r/min时,M1=500;1500~5000r/min时,M1=1800;5000~20000r/min时,M1=6400。

当确定高频时钟频率后,测量时间TC的选取(即M1的选取)是根据当前电机的转速范围而定,当电机转速较高时,为减小误差可将M1取的较大,相当于M法;当电机转速较低时,考虑到快速响应的问题,可以将M1的值取的较小,相当于T法。

5 软件程序设计

流程图说明:

当转速表接到电机轴上时,由于无法确定当前速度的范围,故需要粗测一次速度值来确定具体的M1。此时,可允许测量的时间较长,可令M1=6400,然后根据式(2)粗测一次速度。然后再根据粗测速度所在的速度范围确定相应的M1的值,然后再高精度的测量。

变M/T法实现的前提是,测量时间等、始终等于码盘脉冲数M1。即在正交信号的上升沿或下降沿到来时,开启位置计数器(QPOSCNT)和捕获定时寄存器(QCTMR)。可以通过设置相应的外围硬件加以实现,由于指令执行周期短,也可以设置相应的软件程序来实现。程序处理如下:开启两个计数器之后,当位置计数器增加到1的时候,将捕获时钟寄存器清零。做到位置计数器,高频时钟时钟和正交信号三者同步。

程序流程图如图5所示。

图5 程序流程图

6 测量结果

测量所得数据如表1所示。

表1 测量结果表

从实际测量的数据来看,DSP结合光电码盘所设计的测速表满足万分之一的测量的精度要求。若要进一步减小误差,提高测量精度,可适当减小分频数,提高时钟频率;或者增加速度段,增大M1的值,来增大测量时间。

7 结束语

此测速表的设计采用变M/T法,从理论上推导了,为达到万分一的误差精度以及一定的响应时间所需要的M1的值,并且用测量数据验证了该方法的可行性。同时也高效利用了DSP芯片中可编程的高频脉冲的特性。读者可根据自己所需要的测量精度和响应时间对M1的取值做出相应的修改。对程序加以修改,也可以用于伺服系统速度反馈环的设计。

[1]肖兵,薛琦,余师棠.基于DSP的M/T测速法的改进[J].重庆工学院学报(自然科学),2009(10):65-68.

[2]候涛,范多旺.基于增量式光电编码器的高精度测速应用研究[J].自动化与仪器仪表,2010(6):9-14.

[3]夏承光,陈冲,张晋格,等.数字伺服系统中光电码盘测量的变M/T法[J].自动化技术与应用,1986(2):40-45.

[4]刘廷霞.基于CPLD的全数字测速法[J].长春理工大学学报,2004(3).

[5]韩安太.DSP控制器原理及其在运动控制系统中的应用[J].北京:清华大学出版社,2003.

[6]刘和平.TMS320LF240XDSPC 语言开发与应用[M].北京:航空航天大学出版社,2003.

[7]高瑞昌.DSP在测速中的应用[J].自动化技术与应用,2004(3).

[8]陈爽,殷佳琳,段国艳.基于DSP/QEP电路的电机位置检测和转速测量研究[J].电子技术,2009.

[9]苏奎峰,吕强,邓志东,等.TMS320x28xxx原理与开发[M].北京:电子工业出版社,2009.

[10]梁利华,赵林.增量式光电码盘变M/T方法应用[J].应用科技,2000,27(4):13-15.

[11]宁改娣,杨栓科.DSP控制器原理及应用[M].北京:科学出版社,2002.

[12]肖本贤.一种提高转速测量范围与精度的新方法[J].自动化仪表,1997(11):21-23.

猜你喜欢

脉冲数寄存器编码器
融合CNN和Transformer编码器的变声语音鉴别与还原
某型组合导航系统故障分析及预防
高精度电子体温计设计与实现
Lite寄存器模型的设计与实现
二进制翻译中动静结合的寄存器分配优化方法
检定电能表的圈数设定问题探讨
移位寄存器及算术运算应用
基于双增量码道的绝对式编码器设计
介质收纳装置
基于数字信号处理的脉冲编码器