欢迎来到天天文库
浏览记录
ID:15458883
大小:113.50 KB
页数:7页
时间:2018-08-03
《光电编码器输出脉冲的几种计数方法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、光电编码器输出脉冲的几种计数方法阅览次数:6722作者:潘明东单位:华东理工大学机械工程学院1引言 在位置控制系统中,为了提高控制精度,准确测量控制对象的位置是十分重要的。目前,检测位置的办法有两种:其一是使用位置传感器,测量到的位移量由变送器经A/D转换成数字量送至系统进行进一步处理。此方法虽然检测精度高,但在多路、长距离位置监控系统中,由于其成本昂贵,安装困难,因此并不适用;其二是使用光电编码器[1]。光电编码器是高精度控制系统常用的位移检测传感器。当控制对象发生位置变化时,光电编码器便会发
2、出A、B两路相位差90度的数字脉冲信号。正转时A超前B90度,反转时B超前A90度。脉冲的个数与位移量成比例关系,因此通过对脉冲计数就能计算出相应的位移。该方法不仅使用方便、测量准确,而且成本较低,因此在电力拖动系统中,经常采用第二种位置测量方法。 使用光电编码器测量位移,准确无误的记数起着决定性作用。由于在位置控制系统中,电机既可以正转,又可以反转,所以要求计数器既要能够实现加计数,又要能够实现减计数。相应的计数方法可以用软件来实现,也可以用硬件来实现。 使用软件方式对光电编码器的脉冲进行方
3、向判别和计数降低了系统控制的实时性,尤其当使用光电编码器的数量较多时,并且其可靠性也不及硬件电路。但是用软件计数外围电路比较简单,所以在计数频率不高的情况下,使用软件计数还是有一定优势的。对编码器中输出的两路脉冲进行计数主要分两个步骤,首先要对编码器输出的两路脉冲进行鉴相,即:判别电机是正转还是反转;其次是进行加减计数,正转时加计数,反转时减计数。2鉴相原理 脉冲鉴相的方法比较多,既可以用软件实现,也可以用一个D触发器实现。下图是编码器正反转时输出脉冲的相位关系。 由图中编码器输出波形可以看出
4、,编码器正转时A相超前B相90度.在A相脉冲的下降沿处,B相为高电平;而在编码器反转时,A相滞后B相90度,在A相脉冲的下降沿处,B相输出为低电平。这样,编码器旋转时通过判断B相电平的高低就可以判断编码器的旋转方向[2]。3用软件实现脉冲的鉴相、计数 编码器输出的A向脉冲接到单片机的外部中断INT0,B向脉冲接到I/O端口P1.0。当系统工作时,首先要把INT0设置成下降沿触发,并开相应中断。当有有效脉冲触发中断时,进行中断处理程序,判别B脉冲是高电平还是低电平,若是高电平则编码器正转,加1计数
5、;若是低电平则编码器反转,减1计数。4用硬件实现脉冲的鉴相、计数 硬件计数在执行速度上有软件计数不可比拟的优势,通常采用多个可预置4位双时钟加减计数器74LS193级联组成的加减计数电路。P0-P3为计数器的4位预置数据端,与数据输入锁存器相接;QA-QD为计数器的4位数据输出端,与数据输出缓冲器相接;MR为清零端与上电清零脉冲相接;PL为预置允许端,由译码控制电路触发;CU为加脉冲输入端,CD为减脉冲输入端;TCU为进位输出端,TCD为借位输出端。如下图所示: 当CU和CD中一个输入脉冲时,
6、另一个必须处于高电平,才能进行计数工作。而从编码器直接输出的A、B两路脉冲不符合要求,不能直接接到计数器的输入端。但我们可以利用这两路脉冲之间的相位关系对其进行鉴相后再计数。下图给出了光电编码器实际使用的鉴相与双向计数电路,鉴相电路用1个D触发器和2个与非门组成,计数电路用3片74LS193组成。 当光电编码器顺时针旋转时,A相超前B相90°,D触发器输出/Q(W1)为高电平,Q(W2)为低电平,上面与非门打开,计数脉冲通过(W3),送至双向计数器74LS193的加脉冲输入端CU,进行加法计数;
7、此时,下面与非门关闭,其输出为高电平(W4)。当光电编码器逆时针旋转时,A相比B相延迟90°,D触发器输出/Q(W1)为低电平,Q(W2)为高电平,上面与非门关闭,其输出为高电平(W3);此时,下面与非门打开,计数脉冲通过(波W4),送至双向计数器74LS193的减脉冲输入端CD,进行减法计数[3]。5利用单片机内部计数器实现可逆计数 对以上两种计数方法进行分析可知,用纯软件计数虽然电路简单,但是计数速度慢,难以满足实时性要求,而且容易出错,用外接加减计数芯片的方法,虽然速度快,但硬件电路复杂,
8、由上图可以看出要做一个12位计数器需要5个外围芯片,成本也较高。那么我们能否用单片机内部的计数器来实现加减计数呢。我们知道,8051片内有两个16位的定时器:定时器0和定时器1,8052还有一个定时器2,这三个定时器都可以作为计数器来用。但8051内部的计数器是加1计数器,所以不能直接应用,必须经过适当的软件编程,来实现其“减”计数功能。硬件电路如下: 我们可以把经过D触发器之后的脉冲,即方向控制脉冲(DIR)接到单片机的外部中断INT0端,同时经过反向器后再接到另一个外部中断I
此文档下载收益归作者所有