基于DSP的M/T测速法

2013-12-19 02:17敏,张烁,朱
宿州学院学报 2013年3期
关键词:脉冲序列计数器光栅

高 敏,张 烁,朱 明

1.淮南职业技术学院信息与电气工程系,安徽淮南,232001;2.安徽理工大学电气与信息工程学院,安徽淮南,232001

大部分情况下,要想对电机进行精确控制,转速和位置是闭环控制中必不可少的物理量[1],这就需要把转速和位置高速、准确地计算出来。为此,本设计将采用常用的光电编码器为测速器件,把采集的信号送到高性能的TMS320F2812进行处理。由于TMS320- F2812集成度高、速度快,外设资源丰富,完全满足系统的要求。

1 数字测速

1.1 光电编码器

光电式编码器是检测转速的器件,编码器与转子相连,转动时便发出转速或转角的脉冲信号[2]。光电编码器分为绝对式和增量式两种。前者在码盘上分层刻上表示角度的二进制数字,通过接收器将数码送入处理器,这种编码器一般用于检测转角,对转角进行微分处理就能得到转速;后者在码盘上刻着均匀的光栅,通过光栅不断地通、断,在输出端得到频率正比于转速的脉冲序列。

上述脉冲序列只能反映出转速的高低,不能反映旋转方向。本文采用的编码器可以输出两组相位相差90°的脉冲序列,根据两组脉冲序列的超前顺序,可知电机转速的方向。两组正交的脉冲正好可以送入DSP的QEP单元进行处理。采用QEP模块可以不增加编码器的光栅数,而使频率为原来的4倍,从而增加转速的分辨率。

1.2 光电编码器测速方法

采用光电编码器的数字测速一般有三种:测周期法(M法)、测频率法(T法)和测周期/频率法(M/T法)。

1.2.1 M法

在Tc内测出的脉冲个数为M1,用来计算这段时间内的平均转速。已知电机旋转1周共产生Z个脉冲,其中Z=倍频系数×光栅数,则电机的转速:n=60M1/ZTc。Z和Tc均为常数,n与M1成正比。M1在高速时大,误差小,转速越低,误差越大,所以只适用于高速测量。

1.2.2 T法

在相邻输出脉冲的时间间隔内,用计数器对已知频率为f0的高频脉冲进行计数来计算转速。若测得高频脉冲的个数为M2,则电机的转速:n=60f0/ZM2。高速时,M2小,误差所占比例大;低速时,M2小,误差所占比例小,故转速越高,误差越大,所以只能用于低速测量。

1.2.3 M/T法

既要检测Tc内输出的脉冲个数M1,又要检测在此时间内频率为f0的高频时钟脉冲个数M2,则n=60M1f0/ZM2。为了使误差减小,最好保证光电编码器脉冲计数器和高频脉冲计数器同时开启和关闭,只有等到编码器输出脉冲前沿到达时,两个计数器才能同时开启或者停止计数。由于M1和M2是由转速决定的,高速时相当于M法,低速时相当于T法。因此,本文采用M/T法,能适用的转速宽度明显大于前两种,且精度高。

2 DSP的QEP电路

在TMS320F2812中,有两个事件管理器模块EVA和EVB[3]。每个事件管理器都有一个正交编码脉冲(Quadrature Encoder Pulse,QEP)电路,以EVA为例:CAP1_QEP1、CAP2_QEP2是复用引脚,既能做捕获引脚又能做QEP引脚,当QEP电路使能时,其捕获功能被禁止。此时通用定时器2为QEP电路提供时基,而EVB则由定时器4提供时基。但是,定时器2只能工作在定向增减模式,此时,原本可以从外部输入时钟的计数和方向的引脚TCLKIN和TDIRA被忽略,时钟信号和计数方向的信号均来自QEP解码电路。QEP解码电路可以通过输入的正交编码脉冲产生定时器计数的时钟脉冲和计数方向。

QEP电路对两路正交编码脉冲的上升沿和下降沿都进行计数,无论是检测到哪个引脚的上升沿或下降沿,都会产生一个时钟脉冲,这个时钟脉冲将提供给定时器T2进行计数,因此,QEP电路为定时器T2所提供的时钟频率是每个输入脉冲序列的4倍。

QEP电路的方向检测逻辑可以为定时器T2提供计数方向DIR信号,即可以确定转速方向。当CAP1_QEP1输入的脉冲序列在相位上超前CAP2_QEP2输入的序列脉冲90°时,QEP电路输出的DIR为高电平,定时器T2进行增计数,即电机正转;相反,DIR信号为低电平,定时器T2进行减计数,即电机反转。

3 基于DSP的M/T法实现

3.1 硬件设计

以往分立式的测速单元需要包括多种电路[4],如判别方向电路、整形电路、计数器、归零控制等。这种电路结构复杂,而且既不精确也没有很高的实时性。采用光电编码器与DSP电路,不仅节省外围电路的开支,还具有很高的可靠性。本文采用增量式的光电编码器,测试直流电机的转速来进行实验,光电编码器的测速脉冲信号的原理图如图1所示。

图1 光电编码器电路图

转子带动光栅盘,当LED光被遮挡时,传感器输出低电平;当LED光透过光栅被传感器接收时,传感器输出高电平。这样,输出的脉冲序列经过SN74HC14N后送至DSP的QEP模块。这里存在两个问题:一是传感器输出脉冲信号的电平是5 V,而DSP的输入电压最大不能超过3.3 V;二是脉冲信号向后进行传输时往往会发生畸变。为解决这两个问题,电路中接入了施密特芯片,其作用是使脉冲电平控制在3.3 V以下,并对脉冲进行整形,从而得到理想的脉冲波形。

本设计的显示电路采用的是四位共阴极数码管,驱动电路采用的是MAX7219CNG芯片,优点是只占用DSP的3个I/O口,采用通用口模拟串口的方法进行数据传输,而且不需要DSP动态扫描,为DSP节省负担。MAX7219CNG驱动数码管电路如图2所示。

图2 数码管驱动电路

由于本设计采用的是M/T测速法,DSP内部EV模块定时器分工如下:QEP使能后,定时器T2对光电编码器输出的脉冲进行计数,定时器T3作为频率为f0的高频信号,由于M1和M2是随着转速的变化而变化的,所以用定时器T1周期中断来同时开启或关闭高频脉冲计数和编码器脉冲计数,在周期中断中设置标志位来确定开启还是关闭。

3.2 软件设计

为了充分利用DSP2812片内外设的资源,尽可能减少外围电路,不仅要对硬件进行初始化,还要对电路实时控制[5]。软件流程图如图3所示。

光栅一共有1 024个格子,电机旋转1周,则会产生4 096个脉冲。现在假设转子正在转动,此时定时器T2应该是增计数。给T2CNT初始化为0,T2PR初始化为0×FFFF。当T2计数到0×0FFF的时候,电机刚好转完1周。

图3 软件设计流程图

通过定时器T1中断,每隔一定的时间读取T2CNT和T3CNT的值,就能得到电机的转速和转过的角度。第一次进入周期中断时,同时开启高频脉冲计数和编码器脉冲计数。假如在kt和(k+1)t时刻,T2CNT和T3CNT的值分别为T2[kt]、T2[(k+1)t]和T3[kt]、T3[(k+1)t]。已知定时器T3的频率为f0,当T2计数无翻转时,电机的转速为:

转过的角度为:

当T2计数翻转时,电机的转速为:

转过的角度为:

如果kt时刻的角度为θ[kt],则:

θ[(k+1)t]=θ[kt]+Δθ

为了快速得到比较精确的数据,数据处理时调用了TI公司的IQMATH库,并用移位和乘法替代了除法。

4 实验结果

在直流电机上进行了实验,为了判断是否具有实时性和准确性,通过PI闭环反馈改变PWM的占空比来调节直流电机的转速,结果显示:转速能快速跟踪给定值,并且没有很大波动,间接证明了该方法的正确性。某一时刻光电编码器输出的脉冲如图4所示。

图4 光电编码器输出脉冲波形

5 结束语

速度测量是工业控制系统中最基本的需求之一,本文设计的基于DSP的M/T测速方法,具有高精度、高分辨率,抗干扰能力强,有掉电记忆功能等优点。将该方法在直流电机上进行了实验,实验结果证实了该方法的正确性。

参考文献:

[1]苏奎峰,吕强,耿庆锋.TMS200F2812原理和开发[M].北京:电子工业出版社,2005:101-130

[2]陈伯时.电力拖动自动控制系统[M].3版.北京:机械工业出版社,2003:83-120

[3]谷海涛,颜湘武,曲伟.正交编码电路和捕获单元在转角和转速测量中的应用[J].电气应用2005,24(1):113-115

[4]李为民,姜漫.基于光电编码器的速度反馈与控制技术[J].现代电子技术,2004(23):84-88

[5]赵建周,李安伏.基于光电码盘传感器的位置检测控制电路设计[J].电气传动自动化,2007,29(1):52-56

猜你喜欢
脉冲序列计数器光栅
采用虚拟计数器的电子式膜式燃气表
一种基于TOA的同型雷达同源判别方法
基于脉冲序列核的脉冲神经元监督学习算法
CDIO教学模式在超声光栅实验教学中的实践
基于LabView的光栅衍射虚拟实验研究
计数器竞争冒险及其处理的仿真分析
一D-T2二维核磁共振脉冲序列改进设计及性能对比
二维反式氢磷相关脉冲序列设计及在含磷化学毒剂分析中的应用
任意N进制计数器的设计方法
基于单片机的仰卧起坐计数器