一种简单可靠的增量式编码器计数方法.pdf

上传人:b*** 文档编号:911643 上传时间:2018-03-18 格式:PDF 页数:8 大小:300.13KB
返回 下载 相关 举报
摘要
申请专利号:

CN200910079890.9

申请日:

2009.03.13

公开号:

CN101833690A

公开日:

2010.09.15

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||文件的公告送达IPC(主分类):G06M 1/27收件人:北京同步科技有限公司 杜美曼文件名称:手续合格通知书|||实质审查的生效IPC(主分类):G06M 1/27申请日:20090313|||公开

IPC分类号:

G06M1/27; G01D5/02

主分类号:

G06M1/27

申请人:

北京同步科技有限公司

发明人:

黄喜荣

地址:

100097 北京市海淀区蓝靛厂东路2号院金源时代商务中心2号楼C座8G

优先权:

专利代理机构:

代理人:

PDF下载: PDF下载
内容摘要

本发明公开了一种增量式编码器计数方法,所述方法通过编码器和单片机相连接,执行一系列代码对编码器两个输出端口的波形在一个周期内分别作脉冲上升沿和下降沿的判断,然后通过计数器对其进行加减计算。采用这种计数方法,能够解决增量式编码器在使用过程中出现的一些问题,比如:编码器旋转速度快慢、晃动造成的误码,接触不良造成的误计数等等。而且该方法简单可靠,易实现。尤其对廉价的机械式旋转编码器效果更加突出。

权利要求书

1: 一种增量式编码器的计数方法,包括编码器及单片机,其中编码器第一输出端口与单片机的中断端口相连,第二输出端口与单片机任一端口相连,其特征在于计数过程包含如下步骤: A、设置所述第一输出端口的波形为下降沿时,触发所述单片机关闭所述中断端口; B、所述单片机根据所述第二输出端口的波形判断所述编码器旋转方向:所述第一端口的波形与所述第二输出端口的波形同为低电平时,则所述编码器旋转方向为顺时针;所述第一输出端口的波形为低电平,所述第二输出端口的波形为高电平时,则所述编码器旋转防线为逆时针; C、所述单片机等待所述第一输出端口的波形为高电平时,确认所述编码器旋转方向; D、确认步骤B与步骤C中编码器旋转方向相同,则所述单片机进行计数,否则,直接打开外中断; E、所述单片机确认所述第一端口及所述第二端口同为高电平时,执行步骤F; F、所述单片机打开所述中断端口,完成一次计数。
2: 根据权利要求1所述的计数方法,其特征在于,所述步骤D中,所述编码器旋转方向为顺时针,则所述计数器加1。
3: 根据权利要求1所述的计数方法,其特征在于,所述步骤D中,所述编码器旋转方向为逆时针,则所述计数器减1。

说明书


一种简单可靠的增量式编码器计数方法 

    【技术领域】

    本发明属于编码器技术领域,特别涉及一种增量式编码器计数方法。 

    背景技术

    目前,旋转编码器广泛应用于高级音响的音量控制、高档汽车用于检测方向盘的转动角度和一些设备的调整、设置等。现在的旋转编码器主要有绝对值式编码器和增量式编码器,从传感器划分又可以分为机械式、光电式和磁感式。对于增量式的编码器他们的主要用途就是将编码器旋转的角度或位移以电信号的方式表现出来。增量式的编码器因为结构简单,价格较低被大量的应用。 

    现有技术中,增量式编码器在使用过程中常会出现一些问题,比如:因为晃动(编码器有旋转或移动的趋势,但是旋转或移动的量很小不到一个单位)造成的误码;因为旋转速度快慢不一定造成的误码;针对廉价的机械式旋转编码器还会因为接触不良造成误码。使用本发明的代码就能够很好的解决这些问题,对于廉价的机械式旋转编码器效果尤其突出。 

    现在对于消除增量式编码器的误码主要有两种方法:一是采用复杂的监相和计数电路来实现;二是用单片机来实现计数。对于第一种方法因为电路复杂、成本高很少被采用。现在编码器计数一般都是采用单片机实现。单片机实现的典型方法是:将编码器的公共端接地,两个输出端其中的一个接单片机的中断端口,并将相应的中断设置为下降沿触发。另外一个输出端接单片机的任意端口。当编码器移动或旋转时就会触发单片机的中断,这时只要判断编码器的另外一个数据输出端的电平就可以知道编码器的旋转或移动方向。具体实现方式见附图1。

    在理想的情况下用附图1中方法就可以检测编码的移动或旋转方向。 

    很显然在附图1的流程中对于抖动没有做任何处理,如果因为抖动触发了中断,而编码器又回到原点的话将会产生一次误码。 

    为了解决抖动的问题一般还会在数据输出端口并联一个小电容或者用软件延时的方法进行防止抖动的处理。这方法实际上只是解决了抖动的问题或者说是机械式编码器接触不良的问题,不能解决编码器晃动的问题。而且还会带来另外的问题就是:因为延时的作用会对高速旋转或移动造成少计数或误计数,对于低速旋转或移动当一个处理工程完成以后中断端口因为电容的充电作用使中断端口仍然处于下降沿,单片机再次产生中断造成重复计数。而且这种方法还会造成编码器旋转速度过快或过慢。 

     发明内容

    本发明为了解决现有技术中存在的问题,特别提出了一种增量式编码器计数方法。 

    本发明技术方案如下: 

    一种增量式编码器的计数方法,包括编码器及单片机,其中编码器第一输出端口与单片机的中断端口相连,第二输出端口与单片机任一端口相连,编码器的公共端接地,所述编码器的计数过程包含如下步骤: 

    A.设置所述第一输出端口的波形为下降沿时,触发所述单片机关闭所述中断端口; 

    B.所述单片机根据所述第二输出端口的波形判断所述编码器旋转方向:所述第一端口的波形与所述第二输出端口的波形同为低电平时, 则所述编码器旋转方向为顺时针;所述第一输出端口的波形为低电平,所述第二输出端口的波形为高电平时,则所述编码器旋转防线为逆时针; 

    C.所述单片机等待所述第一输出端口的波形为高电平时,确认所述编码器旋转方向; 

    D.确认步骤B与步骤C中编码器旋转方向相同,则所述单片机进行计数,否则,直接打开外中断; 

    E.所述单片机确认所述第一端口及所述第二端口同为高电平时,执行步骤F; 

    F.所述单片机打开所述中断端口,完成一次计数。 

    一个实施例是,所述步骤D中,所述编码器旋转方向为顺时针,则所述计数器加1。 

    另一个实施例是,所述步骤D中,所述编码器旋转方向为逆时针,则所述计数器减1。 

    采用本发明的方法,能够很好的解决抖动造成的这些问题,编码器不会因为晃动而产生错误的计数,而且不会出现编码器重复计数的问题,对于廉价的机械式旋转编码器效果尤其突出。另外,使用这种方法根本不会对编目器旋转速度产生影响,也就不会出现编码器旋转快慢造成的误码。 

    图1为现有技术编码器计数的流程图; 

    图2为本发明的电路连接示意图; 

    图3为本发明编码器输出的波形图; 

     附图说明

    图4为本发明编码器技术的流程图。 

    下面通过附图及实施例对本发明做进一步详细说明。 

    如图3所示是编码器波形图。从图中可以看出编码器的两个输出端(即图中EN_I与EN_D两个输出端)的波形相位相差90度。当编码器移动或旋转时,即中断的端口(EN_I)处于下降沿的时候,数据输出端口(EN_D)的电平顺时针为“0”,逆时针为“1”。当编码器继续移动或旋转时,即中断的端口(EN_I)处于上升沿的时候,数据输出端口(EN_D)的电平顺时针为“1”,逆时针为“0”。当一个周期结束时下一个周期开始前编码器的两个输出端口都为高电平。 

    实施例: 

    如图4是本方法的具体实施方法:在图上,101端口为EN_I中断端口,102端口为EN_D输出端口。 

    根据图4,实现方法如下: 

    当编码器中断端口(EN_I中断端口)被下降沿触发后,进入该计数方法。 

    第一步,将编码器的外中断关闭(即将101端口置0); 

    第二步,判断编码器的旋转方向,这时会存在三种情况:①如果101端口和102端口同时为0,则为顺时针旋转;②如果101端口值为0并且102端口值为1,则为逆时针旋转;③其它情况则打开外中断(即将101端口置1)。 

    第三步, 

    1)假设我们按照上述发生①顺时针旋转的情况,①如果101端口和102端口同时为0,则为顺时针旋转。则该程序开始等待当编码器中断端口为高电平(即等待101端口为1)时,确认旋转方向是否为顺时针,方法是通过将102端口输出的值与1进行比较。如果102端口值为1,则为顺时针方向,将计数器加1,然后等待编码器的一个周期完成(即当101端口和102端口值同时为1时),最后打开外中断(即将101端口置1)。如果不是顺时针方向,直接打开外中断(即将101端口置1)。 

    2)在第三步中,假设我们按照发生②逆时针旋转的情况,则该程序开始等待当编码器中断端口为高电平(即等待101端口为1)时,确认旋转方向是否为逆时针,方法是通过将103端口输出的值与0进行比较。如果102端口值为0,则为逆时针方向,将计数器减1,然后等待编码器的一个周期完成(即当101端口和102端口值同时为1时),最后打开外中断(即将101端口置1)。如果不是逆时针方向,直接打开外中断(即将101端口置1)。 

    采用本发明的方法,能够很好的解决抖动造成的这些问题,编码器不会因为晃动而产生错误的计数,而且不会出现编码器重复计数的问题,对于廉价的机械式旋转编码器效果尤其突出。另外,使用这种方法根本不会对编目器旋转速度产生影响,也就不会出现编码器旋转快慢造成的误码。 

    通过以上实施例对本发明进行了进一步揭示,但是本发明的范围并不局限于此,在不偏离本发明构思的条件下,以上各实现步骤可用所属技术领域人员了解的相似或等同实现步骤来替换。 

    

一种简单可靠的增量式编码器计数方法.pdf_第1页
第1页 / 共8页
一种简单可靠的增量式编码器计数方法.pdf_第2页
第2页 / 共8页
一种简单可靠的增量式编码器计数方法.pdf_第3页
第3页 / 共8页
点击查看更多>>
资源描述

《一种简单可靠的增量式编码器计数方法.pdf》由会员分享,可在线阅读,更多相关《一种简单可靠的增量式编码器计数方法.pdf(8页珍藏版)》请在专利查询网上搜索。

本发明公开了一种增量式编码器计数方法,所述方法通过编码器和单片机相连接,执行一系列代码对编码器两个输出端口的波形在一个周期内分别作脉冲上升沿和下降沿的判断,然后通过计数器对其进行加减计算。采用这种计数方法,能够解决增量式编码器在使用过程中出现的一些问题,比如:编码器旋转速度快慢、晃动造成的误码,接触不良造成的误计数等等。而且该方法简单可靠,易实现。尤其对廉价的机械式旋转编码器效果更加突出。 。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1