第21卷第3期山东科技大学学报(自然科学版)Vol.21№3 2002年9月Journal of Shandong University of Science and T echnology(Natural Science)Sep.2002文章编号:1000-2308(2002)03-0080-03编码式传感器的软件辨向与实现Ξ武 超1,郑丰隆1,袁 杰2(1.山东科技大学机电学院,泰安 271019;2.山东巨菱股份有限公司,泰安 271000)摘 要:编码式传感器应用于精密精量时,由于旋转轴的晃动可能引起传感器输出波形的抖动,从而导致计数错误。
本文从波形分析入手,提出一种基于纯软件编程的方法,解决了这一问题,简化了电路设计。
关键词:编码式传感器;单片机;抗抖动中图分类号:TH822 文献标识码:BDirection Discerning by Soft w are for EncodingSensor and Its R ealizationWU Chao1,ZHEN G Fen2long1,YUAN Jie2(1.College of Mech.and Ele.Engg,SUST,Taian271019,China;2.Shandong J uling Co.Ltd,Taian271000,China) Abstract:When encoding sensor is used for precision measurement,the wobble of revolving axle can cause the vibration of the waveshape out of sensors and further resulting in wrong count.This paper begins with the analysis of waveshape,then brings up a solution by software,and simplifies the electrical circuit design. K ey w ords:encoding sensor;single2chip microcomputer;anti2vibration 在仪表测量应用领域中,经常会碰到以脉冲作为计量单位的应用场合,如角度和位移的测量,常用的编码式传感器,有绝对式编码器和增量式编码器两种。
绝对式编码器又称码盘式编码器,有的绝对式编码器配有辨向电路,能直接输出某种数制的编码,但价格昂贵。
增量式编码器又称脉冲式编码器,价格低廉,不能直接输出数字编码,需要增加有关数字电路才可能得到数字编码。
增量式编码器的实际应用效果取决于其输出脉冲计量方法的抗抖动能力和计量精度,分辨率越高对抖动就越敏感,则计量结果与绝对变化量的实际值之间的误差就可能越大。
对于脉冲式编码器已有一些解决的方法,如四倍频细分电路,包括倍频辨向和累加计数电路; D触发器方法,利用D触发器存储A、B脉冲边沿跳变时对应的B、A电平值,有的D触发器方法还需要时钟控信号;或利用RC移相电路加单稳态多谐振荡器,都需加上较多外围电路和RC元件。
而软件方法与此相反,几乎不增加硬件成本,同时还有一定的可移植性。
本文以常用的脉冲式编码器为对象,介绍其脉冲波形和软件实现的辨向方法。
1 波形分析脉冲式编码器应用于角度定位和测量时,通常有A、B两相信号输出,其输出波形如图1。
图1 脉冲式编码器输出波形Ξ收稿日期:2002-03-04作者简介:武超(1975-),男,安徽来安人,硕士研究生,研究方向:智能仪器.图2 键盘闭合及断开时的电平抖动A 相和B 相输出占空比为50%的方波,脉冲式编码器每旋转一周,AB 两相输出固定数目的脉冲,当脉冲式编码器正向旋转时,A 相比B 相超前1/4周期,当编码器反向旋转时,B 相比A 相超前1/4周期。
从图1可知:若在A 相上升沿跳变时检测B 相为0(低电平),或A 相下降沿时检测到B 相为1(高电平),则A 相比B 相超前90°,反之亦然,若B 相上升沿时检测到A 相为1,或B 相下降沿时检测到A 相为0,则B 相比A 相超前90°,据此可分辨出编码器的旋转方向。
D 触发器方法就是利用这个特性来分辨旋转方向的。
图3 脉冲式编码器输出电平时序笔者在使用电位计式脉冲式编码器时,发现D 触发器方法非常容易产生误计数现象。
由于采用价格低廉的电位计式脉冲式编码器,编码器旋转时,AB 两相输出脉冲由于机械触点的弹性作用,在闭合瞬间均有抖动过程,会出现一系列负脉冲,这与键盘抖动现象相似,如图2,即在短时间内产生较高频率的脉冲,这些负脉冲破坏了使用D 触发器的理想条件,此时利用A 相的跳变或是B 相的跳变都会产生输出脉冲的变化,造成意想不到的误计数,而用通常的RS 触发器或RC 去抖电路均不能消除D 触发器方法输出脉冲抖动的现象,更谈不上提高测量的精度。
笔者测试过5、6个已有的编码器辨向电路,对于电位计式脉冲式编码器反而产生辨向错误和计数错误的现象,而且价格昂贵,外加电路结构复杂。
2 辨向原理通过仔细分析编码器旋转时AB 电平的关系可知:在电平发生变化时,AB 电平1/4周期的变化是有规律的。
当A 相超前B 相时,在A 相的下降沿、B 相的下降沿、A 相的上升沿、B 相的上升沿这四个时刻的电平值分别是BA :10、00、01、11,如图3所示,且AB 电平变化是周而复始的;反之有BA :01、00、10、11。
只要记录这四个时刻的AB 电平变化顺序,就可以判断编码器的旋转方向。
表1 AB 电平所对应的顺序码BA顺序码1102013114以AB 的上下沿作中断触发,进入中断服务程序后首先检测AB 电平,根据表1记录当前电平情况所对应的顺序码,并计算当前顺序码和上一顺序码差值,当差值为+1或-3时,正向前进1/4周期,周期数加一:当差值为-1或+3时,反向前进1/4周期,周期数减一;当周期数为+4,周期数清零,正向一步;当周期数为-4,周期数清零,反向一步。
由此我们提取了正反1/4周期的波形,精度也比D 触发器方法提高了2倍。
对于AB 边沿变化的电平抖动经整形后对计数已无影响,此时AB 两相相对相位差已不重要,这与D 触发器方法利用AB 相位差计数,要求AB 两相理想的相位差相比,具有很大的抗抖动能力。
该计数方法对AB 两相输出信号的最高频率即编码器的最高转速有一定限制。
假设中断服务程序最大执行时间为T =100μs ,在一步内要中断4次,则AB 的频率F =1/4・T ,则F =100・10-6・1/4=2500,即单片机每秒可计数2500次,可满足绝大多数场合要求。
3 功能实现在具体硬件电路实现中,单片机采用飞利浦公司的87L PC764,由74HC14对A 、B 脉冲进行整形,整形后分别进入P0.4、P0.5,由74HC86将A 、B 整形的脉冲进行异或运算,并将A B 、A B 两信号引入单片机的两个中断IT0、IT1,辨别方18第3期 武超等:编码式传感器的软件辨向与实现 向和计算步长的工作由软件完成。
程序初始化时,定义两个外部中断为下降沿有效,并设定好初始计数值。
STEP DATA2AH;编码器步进 LCALL SHUNXUSN DATA2BH;前顺序码EXOVO:RETIL EN GTH DATA2CH;步长SHUNXU:MOV DPTR,#PACE ORG0003H;外部中断0 MOVC A,@A+DPTR;取当前顺序码 LJ MP EX00 MOV B,A;暂存 ORG0013H;外部中断1 CL R C CL R C LJ MP EX11 SUBB A,STEP0;顺序码相减 ORG0050H C J N E A,#1,EX12;判断结果 MOV TCON,#05H;设置外部中断 AJ MP STEPINC;+1正向1/4 SETB EX1;外部中断1使能EX12:C J N E A,#0FDH,EX13 SETB EX0;外部中断0使能 AJ MP STEPINC;-3正向1/4 SETB ES EX13:C J N E A,#OFFH,EX14 SETB EA;开中断 AJ MP STEPDEC;-1反向1/4 MOV SN,#3;当前顺序码EX14:C J N E A,#3,EX15 MOV STEP,#0;周期计数 AJ MP STEPDEC;+3反向 MOV L EN GTH,#0;步长STEPINC:EX11:JB P0.4,EXOV1 INC STEP1;步进1/4 J NB P0.5,EXOV1 MOV A,STEP1 MOV A,#0 C J N E A,#4,EX15 ORL A,P0;读入P0口 MOV STEP1,#0 SWAP A INC L EN GTH ANL A,#03H;数据(0-3)EX15:MOV STEP0,B LCALL SHUNXU RETEXOV1:RET1STEPDEC:DEC STEP1;中断程序 MOV A,STEP1EX00; C J N E A,#0FCH,EX15 J NB P0.4,EXOV0 MOV STEP1,#0 JB P0.5,EXOV0 DEC L EN GTH MOV A,#0 MOV STEP0,B ORL A,P0 RET SWAP A PACE:DB02H,03H,01H,04H;编码器查表 ANL A,#03H4 结 论软件辨向法使用的电路结构非常简单,无电阻电容等模拟元件,加上单片机本身的高品质,所构成的计数器电路体积小、价格低、反应灵敏、使用灵活可靠,实用性大大提高。
本电路亦可采用其他低价位单片机来实现其中的电路功能,软件上稍作修改后,配合实际电路即可使用。
此方法除可保证技术准确外,还具有降低设计难度,缩短研制时间,提高设计效率的功效。
参考文献:[1]周航慈.PHIL IPS51L PC系列单片机原理及应用设计[M].北京:北京航空航天大学,2001.[2]贾伯年,余朴.传感器技术[M].南京:东南大学出版社,1990.[3]韩壮志,李伟,王田苗,王守杰.光电码盘四倍频分析[J].电子技术应用,2000,(12):38~40.[4]金建新.增量式光电脉冲编码器的单片机计数器[J].仪表技术与传感器,1999,(10):27~30.28 山东科技大学学报(自然科学版) 第21卷。