CN106643827B - 一种编码器输出信号处理方法 - Google Patents
一种编码器输出信号处理方法 Download PDFInfo
- Publication number
- CN106643827B CN106643827B CN201611021381.7A CN201611021381A CN106643827B CN 106643827 B CN106643827 B CN 106643827B CN 201611021381 A CN201611021381 A CN 201611021381A CN 106643827 B CN106643827 B CN 106643827B
- Authority
- CN
- China
- Prior art keywords
- encoder output
- corresponding pin
- encoder
- level
- output
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01D—MEASURING NOT SPECIALLY ADAPTED FOR A SPECIFIC VARIABLE; ARRANGEMENTS FOR MEASURING TWO OR MORE VARIABLES NOT COVERED IN A SINGLE OTHER SUBCLASS; TARIFF METERING APPARATUS; MEASURING OR TESTING NOT OTHERWISE PROVIDED FOR
- G01D5/00—Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable
- G01D5/12—Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable using electric or magnetic means
- G01D5/244—Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable using electric or magnetic means influencing characteristics of pulses or pulse trains; generating pulses or pulse trains
- G01D5/24471—Error correction
- G01D5/24476—Signal processing
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Transmission And Conversion Of Sensor Element Output (AREA)
- Input From Keyboards Or The Like (AREA)
Abstract
本发明公开了一种编码器输出信号处理方法,包括以下步骤:通过两次检测中断引脚的电平,避免因为中断相对应为低电平时,当噪声较大产生错误中断,确保中断为一次正确的上升沿中断;另外,本发明采用延时检测编码器中断引脚的电平,有效提高判定编码器旋转方向的准确性,该方法能够有效解决编码器输出信号处于低电平或下降沿的一段时间内抖动误码脉冲较大不能准确判断编码器上旋钮旋转方向的问题。
Description
技术领域
本发明属于信号处理领域,涉及一种编码器输出信号处理方法。
背景技术
编码器作为一个机械与电子相结合的精密测量器件,外部有一个可以左右旋转同时又可按下的旋钮,很多设备(如显示器、示波器等)用它作为人机交互接口。旋转编码器信号输出通道分为单路输出和双路输出两种。单路输出是指旋转编码器的输出是一组脉冲,而双路输出的旋转编码器输出两组存在A/B相位差的脉冲,通过这两组脉冲不仅可以测量转速,还可以判断旋转的方向。一般情况下,双路编码器旋转时,A相和B相各会发出一个脉冲信号,可通过A相还是B相在前判断编码器的旋转方向,通过A相或B相变化的次数可以得出旋钮旋转的次数。在嵌入式系统中,多采用中断方式来处理编码器输出信号。一般情况下,设置A相和B相为上升沿和下降沿均触发中断,等中断到来,再检测另外一相的信号状态,从而确定编码器的旋转方向。
现有技术中,如上所述的编码器输入信号处理方法中存在的问题:虽然这种方法可以确定编码器的正转和反转,但在实际应用过程中,由于工作环境,编码器本身等因素影响,加在旋转编码器上的振动,往往会成为误脉冲发生的原因,每转发生的脉冲数越多,越易受到振动的影响,在低速旋转或停止时,加在轴或本体上的振动使旋转槽圆盘抖动,可能会发生抖动误码脉冲,将会引起误计数,旋转方向误判等测量错误,因此需要急需一种方法,能够有效解决编码器输出信号处于低电平或下降沿的一段时间内抖动误码脉冲较大不能准确判断编码器上旋钮旋转方向的问题。
发明内容
本发明的目的在于克服上述现有技术的缺点,提供了一种编码器输出信号处理方法,该方法能够有效解决编码器输出信号处于低电平或下降沿的一段时间内抖动误码脉冲较大不能准确判断编码器上旋钮旋转方向的问题。
为达到上述目的,本发明所述的编码器输出信号处理方法包括以下步骤:
将编码器输出信号A相对应引脚及B相对应引脚均设置为上升沿触发中断,然后等待编码器所有引脚的中断到来;
当编码器输出信号A相对应引脚中断到来时,检测编码器输出信号B相对应引脚的电平,当编码器输出信号B相对应引脚为低电平时,则说明编码器输出信号A相对应引脚误中断;当编码器输出信号B相对应引脚为高电平时,则再次检测编码器输出信号A相对应引脚的电平,当本次编码器输出信号A相对应引脚为低电平时,则说明编码器输出信号A相有抖动;当本次编码器输出信号A相对应引脚为高电平时,则延迟N毫秒,然后再检测当前编码器输出信号A相对应引脚的电平,当当前编码器输出信号A相对应引脚为低电平时,则认为编码器输出信号A相有抖动;当当前编码器输出信号A相对应引脚为高电平时,则说明编码器上旋钮的旋转方向为右旋;
当编码器输出信号B相对应引脚中断到来时,检测编码器输出信号A相对应引脚的电平,当编码器输出信号A相对应引脚为低电平时,则认为编码器输出信号B相对应引脚误中断;当编码器输出信号A相对应引脚为高电平时,则再次检测编码器输出信号B相对应引脚的电平,当本次编码器输出信号B相对应引脚为低电平时,则认为编码器输出信号B相有抖动;当本次编码器输出信号B相对应引脚为高电平时,则延迟N毫秒,然后再检测当前编码器输出信号B相对应引脚的电平,当当前编码器输出信号B相对应引脚为低电平时,则认为编码器输出信号B相有抖动;当当前编码器输出信号B相对应引脚为高电平时,则说明编码器上旋钮的旋转方向为左旋。
N等于1。
本发明具有以下有益效果:
本发明所述的编码器输出信号处理方法在具体操作时,通过两次检测中断引脚的电平,避免因为中断相对应为低电平时,当噪声较大产生错误中断,确保中断为一次正确的上升沿中断,在实际操作中,以最快的速度旋转编码器上旋钮时,由于抖动信号的时间小于旋转编码器上旋钮时中断引脚的高电平持续时间,本发明采用延时检测编码器中断引脚的电平,有效提高判定编码器旋转方向的准确性,从而有效的解决编码器输出信号处于低电平或下降沿的一段时间内抖动误码脉冲较大不能准确判断编码器上旋钮旋转方向的问题。
附图说明
图1为有干扰信号时编码器的输出波形图;
图2为本发明中编码器输出信号的时序图;
图3为本发明中编码器输出信号A相中断处理的流程图。
具体实施方式
下面结合附图对本发明做进一步详细描述:
参考图1,本发明所述的编码器输出信号处理方法包括以下步骤:
将编码器输出信号A相对应引脚及B相对应引脚均设置为上升沿触发中断,然后等待编码器所有引脚的中断到来;
当编码器输出信号A相对应引脚中断到来时,检测编码器输出信号B相对应引脚的电平,当编码器输出信号B相对应引脚为低电平时,则说明编码器输出信号A相对应引脚误中断;当编码器输出信号B相对应引脚为高电平时,则再次检测编码器输出信号A相对应引脚的电平,当本次编码器输出信号A相对应引脚为低电平时,则说明编码器输出信号A相有抖动;当本次编码器输出信号A相对应引脚为高电平时,则延迟1毫秒,然后再检测当前编码器输出信号A相对应引脚的电平,当当前编码器输出信号A相对应引脚为低电平时,则认为编码器输出信号A相有抖动;当当前编码器输出信号A相对应引脚为高电平时,则说明编码器上旋钮的旋转方向为右旋;
当编码器输出信号B相对应引脚中断到来时,检测编码器输出信号A相对应引脚的电平,当编码器输出信号A相对应引脚为低电平时,则认为编码器输出信号B相对应引脚误中断;当编码器输出信号A相对应引脚为高电平时,则再次检测编码器输出信号B相对应引脚的电平,当本次编码器输出信号B相对应引脚为低电平时,则认为编码器输出信号B相有抖动;当本次编码器输出信号B相对应引脚为高电平时,则延迟1毫秒,然后再检测当前编码器输出信号B相对应引脚的电平,当当前编码器输出信号B相对应引脚为低电平时,则认为编码器输出信号B相有抖动;当当前编码器输出信号B相对应引脚为高电平时,则说明编码器上旋钮的旋转方向为左旋。
本发明通过两次检测中断引脚的电平,其因为在于当中断引脚为低电平时,如果噪声较大,会产生错误中断。另外,本发明通过延时1毫秒后再次检测中断引脚上的电平,其原因在于以最快速度旋转编码器上的旋钮时,编码器输出的抖动信号较多,但抖动信号不会超过1ms,然而中断引脚上高电平的持续时间总长于1ms,因此通过延时1ms后再次检测中断引脚上的电平,从而有效过滤该抖动信号,进而有效提高判定编码器上旋钮旋转方向的准确性。
Claims (1)
1.一种编码器输出信号处理方法,其特征在于,包括以下步骤:
将编码器输出信号A相对应引脚及B相对应引脚均设置为上升沿触发中断,然后等待编码器所有引脚的中断到来;
当编码器输出信号A相对应引脚中断到来时,检测编码器输出信号B相对应引脚的电平,当编码器输出信号B相对应引脚为低电平时,则说明编码器输出信号A相对应引脚误中断;当编码器输出信号B相对应引脚为高电平时,则再次检测编码器输出信号A相对应引脚的电平,当本次编码器输出信号A相对应引脚为低电平时,则说明编码器输出信号A相有抖动;当本次编码器输出信号A相对应引脚为高电平时,则延迟1毫秒,然后再检测当前编码器输出信号A相对应引脚的电平,当当前编码器输出信号A相对应引脚为低电平时,则认为编码器输出信号A相有抖动;当当前编码器输出信号A相对应引脚为高电平时,则说明编码器上旋钮的旋转方向为右旋;
当编码器输出信号B相对应引脚中断到来时,检测编码器输出信号A相对应引脚的电平,当编码器输出信号A相对应引脚为低电平时,则认为编码器输出信号B相对应引脚误中断;当编码器输出信号A相对应引脚为高电平时,则再次检测编码器输出信号B相对应引脚的电平,当本次编码器输出信号B相对应引脚为低电平时,则认为编码器输出信号B相有抖动;当本次编码器输出信号B相对应引脚为高电平时,则延迟1毫秒,然后再检测当前编码器输出信号B相对应引脚的电平,当当前编码器输出信号B相对应引脚为低电平时,则认为编码器输出信号B相有抖动;当当前编码器输出信号B相对应引脚为高电平时,则说明编码器上旋钮的旋转方向为左旋。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611021381.7A CN106643827B (zh) | 2016-11-15 | 2016-11-15 | 一种编码器输出信号处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611021381.7A CN106643827B (zh) | 2016-11-15 | 2016-11-15 | 一种编码器输出信号处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106643827A CN106643827A (zh) | 2017-05-10 |
CN106643827B true CN106643827B (zh) | 2019-01-08 |
Family
ID=58808142
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611021381.7A Active CN106643827B (zh) | 2016-11-15 | 2016-11-15 | 一种编码器输出信号处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106643827B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107589933B (zh) * | 2017-09-06 | 2024-04-09 | 大唐终端技术有限公司 | 旋钮式数字编码开关装置及其工作状态识别方法 |
CN112146686B (zh) * | 2019-06-27 | 2022-07-15 | 西安诺瓦星云科技股份有限公司 | 旋转信息获取方法、装置及系统和计算机可读存储介质 |
CN112504316A (zh) * | 2019-09-16 | 2021-03-16 | 西安诺瓦星云科技股份有限公司 | 旋转编码器检测方法、装置及系统 |
CN110879298B (zh) * | 2019-11-07 | 2022-01-14 | 上海新时达机器人有限公司 | 基于通讯式编码器的速度获取方法 |
CN112596693A (zh) * | 2020-12-10 | 2021-04-02 | 惠州市德赛西威汽车电子股份有限公司 | 一种旋钮式音量编码器的去抖动方法及存储介质 |
CN112815967A (zh) * | 2021-01-20 | 2021-05-18 | 苏州长风航空电子有限公司 | 一种基于linux平台的数字编码器中断滤波方法 |
CN113848466A (zh) * | 2021-08-02 | 2021-12-28 | 惠州市德赛西威汽车电子股份有限公司 | 一种实现旋钮迅速响应的检测电路及检测方法 |
CN114353836B (zh) * | 2022-01-17 | 2022-09-09 | 中国人民解放军国防科技大学 | 光纤传感系统3×3信号检测中乘性强度噪声的抑制方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3179266B2 (ja) * | 1993-10-22 | 2001-06-25 | キヤノン株式会社 | 帯電部材 |
CN101539437A (zh) * | 2009-04-25 | 2009-09-23 | 恩平市西特尔数码科技有限公司 | 增量型旋转编码器精确计数的算法及其实现装置 |
CN101833690A (zh) * | 2009-03-13 | 2010-09-15 | 北京同步科技有限公司 | 一种简单可靠的增量式编码器计数方法 |
CN101995533A (zh) * | 2009-08-11 | 2011-03-30 | 深圳市英威腾电气股份有限公司 | 一种数字增量式编码器断线实时检测的方法和系统 |
US20130142302A1 (en) * | 2011-11-25 | 2013-06-06 | Lsis Co., Ltd. | Input circuit in high speed counter module in plc |
CN103162725A (zh) * | 2013-02-28 | 2013-06-19 | 重庆大学 | 一种光电编码器旋转脉冲显示装置 |
CN103575312A (zh) * | 2013-11-25 | 2014-02-12 | 济南飞越机电科技有限公司 | 一种用于光电转台的增量式光电编码器的消抖方法 |
CN105915229A (zh) * | 2016-04-06 | 2016-08-31 | 珠海格力电器股份有限公司 | 对旋转编码开关的输出进行处理的方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5062064A (en) * | 1989-09-01 | 1991-10-29 | Berkeley Process Control, Inc. | Method and apparatus for measuring velocity in servo systems |
-
2016
- 2016-11-15 CN CN201611021381.7A patent/CN106643827B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3179266B2 (ja) * | 1993-10-22 | 2001-06-25 | キヤノン株式会社 | 帯電部材 |
CN101833690A (zh) * | 2009-03-13 | 2010-09-15 | 北京同步科技有限公司 | 一种简单可靠的增量式编码器计数方法 |
CN101539437A (zh) * | 2009-04-25 | 2009-09-23 | 恩平市西特尔数码科技有限公司 | 增量型旋转编码器精确计数的算法及其实现装置 |
CN101995533A (zh) * | 2009-08-11 | 2011-03-30 | 深圳市英威腾电气股份有限公司 | 一种数字增量式编码器断线实时检测的方法和系统 |
US20130142302A1 (en) * | 2011-11-25 | 2013-06-06 | Lsis Co., Ltd. | Input circuit in high speed counter module in plc |
CN103162725A (zh) * | 2013-02-28 | 2013-06-19 | 重庆大学 | 一种光电编码器旋转脉冲显示装置 |
CN103575312A (zh) * | 2013-11-25 | 2014-02-12 | 济南飞越机电科技有限公司 | 一种用于光电转台的增量式光电编码器的消抖方法 |
CN105915229A (zh) * | 2016-04-06 | 2016-08-31 | 珠海格力电器股份有限公司 | 对旋转编码开关的输出进行处理的方法及装置 |
Non-Patent Citations (1)
Title |
---|
基于ARM和光电编码器单键飞梭的设计;孔令彬等;《微计算机信息》;20081215;第24卷(第12-2期);第143-145页 |
Also Published As
Publication number | Publication date |
---|---|
CN106643827A (zh) | 2017-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106643827B (zh) | 一种编码器输出信号处理方法 | |
CN101825484B (zh) | 增量式编码器的故障检测方法 | |
CN101825481B (zh) | 一种应用编码器计数的方法和装置 | |
CN201608680U (zh) | 电机旋转检测装置 | |
CN102830247A (zh) | 一种检测旋转部件旋转状态的方法和装置 | |
US10379530B2 (en) | Signal protocol fault detection system and method | |
KR950005940B1 (ko) | 클럭 감시 회로 | |
WO2013123768A1 (zh) | 编码器的故障检测方法、装置和系统 | |
US11933645B2 (en) | Methods and apparatus to determine a position of a rotatable shaft of a motor | |
WO2016091092A1 (zh) | 四相开关磁阻电机四只位置传感器故障诊断与定位方法 | |
CN105353212A (zh) | 一种检测信号频率的方法及装置 | |
CN103439907A (zh) | 多信号采集的测速及反转保护控制装置和反转判定方法 | |
US10921767B2 (en) | Encoder system | |
CN110487316B (zh) | 增量式编码器的故障检测方法以及机器人 | |
CN105842473B (zh) | 一种旋转编码器测速方法及其系统 | |
CN103793287B (zh) | 捕获模拟信号周期的方法及系统 | |
US10209099B2 (en) | Device and method for checking a clock signal of a position measuring device | |
CN108555906B (zh) | 机器人的控制方法、装置及机器人 | |
JP2015179051A5 (zh) | ||
JP7193298B2 (ja) | マルチターンロータリエンコーダ及びマルチターンロータリエンコーダを作動させるための方法 | |
CN103716020B (zh) | 用于检测脉冲信号的截止频率的方法和装置 | |
CN206618773U (zh) | 一种电动晾衣机的检测系统 | |
CN202009306U (zh) | 编带马达转盘 | |
CN106996799B (zh) | 用于仪器面板的微调编码器、系统及识别方法 | |
CN201615827U (zh) | 机械旋转系统的定转速触发非稳态信号采集装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |