CN104482946B - 一种传感器采集处理方法 - Google Patents
一种传感器采集处理方法 Download PDFInfo
- Publication number
- CN104482946B CN104482946B CN201410785788.1A CN201410785788A CN104482946B CN 104482946 B CN104482946 B CN 104482946B CN 201410785788 A CN201410785788 A CN 201410785788A CN 104482946 B CN104482946 B CN 104482946B
- Authority
- CN
- China
- Prior art keywords
- encoder
- numerical value
- prediction
- movement tendency
- read
- 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
Landscapes
- Transmission And Conversion Of Sensor Element Output (AREA)
Abstract
本发明公开了一种传感器采集处理方法,读取编码器的数值;判断编码器是否在运动中,静态的时候不需要该算法的处理,动态时再去执行该算法;判断运动的趋势,只有明确运动趋势就可以加入预测的环节;处理读取数值和预测数值的关系;是否有出入,有出入则按照预测数据判定出错的位置,判定出错的位置基于格雷码的特性决定的;处理读取的数值,返回准确的数据。本发明根据数据的连续性,加入预测环节,可以检验数据的正确性,对错误的数据进行纠正,提高旋转编码器使用的可靠性。
Description
技术领域
本发明涉及一种传感器采集处理方法,具体地说,它是一种基于格雷码的旋转编码器纠错算法的传感器采集处理方法。
背景技术
格雷码是一种比较特殊的编码格式,在数据传输中有其独特的特征,格雷码在递增或递减,若将任意两个连续的数值转换为二进制时,其中只有一位发生改变,在信号传输中,相邻的信号差异小,可以提高其传输的可靠性。所以格雷码在旋转编码器上具有广泛的应用。
格雷码旋转编码器在使用中,如果编码器的16位中的某一位因为物理原因导致该状态位出错,按照传统的采集方式,设备直接读取旋转编码器的位置数值,然后将其作为真实的数据参与设备的运算,会导致使用设备的错误计算。
发明内容
为了避免发生错误,提高编码器的使用寿命,增加产品的容错性,降低维护成本,本发明的目的是提供一种传感器采集处理方法,采用该方法可以保证编码器在出现错误时,对错误的数据进行纠正,实现正常的使用,不影响其他部件的运行。
本发明的目的是通过以下技术方案来实现的:
一种传感器采集处理方法,其特征在于该方法包括以下步骤:
步骤1,读取编码器的数值:通过SPI的方式读取旋转编码器的16位格雷码,然后将格雷码转换为正常的自然数,作为被测位置的绝对位置值,该绝对位置值是旋转编码器齿轮组的位置状态;
步骤2,判断编码器是否在运动中:如果采集前后数值相同,认为位置没有发生变化,终止算法,进入步骤6;如果前后的数据不等,则认为编码器发生了旋转动作,判定为在运动,进入下一步骤;
步骤3,判断运动的趋势:根据执行机构的开、关动作命令和设定的运动方向,判定编码器数值的运行方式是上升还是下降,判定方法如下:
31)执行机构设定方向为顺时针,执行机构动作命令为开时,则编码器数值运动趋势为上升;
32)执行机构设定方向为顺时针,执行机构动作命令为关时,则编码器数值运动趋势为下降;
33)执行机构设定方向为逆时针,执行机构动作命令为开时,则编码器数值运动趋势为下降;
34)执行机构设定方向为逆时针,执行机构动作命令为关时,则编码器数值运动趋势为上升;
步骤4,根据运动趋势预测数值;设定编码器最小值发生变化的最短时间为T(秒),T=60/(编码器转速(rpm)×单圈编码值(整数));判定单片机的采集周期和处理周期总和与T的关系;
当大于等于T,终止算法,进入步骤6;
当小于T,如果编码器数值运动趋势为上升,预测数值为上次编码器正确数值加1;如果编码器数值运动趋势为下降,预测数值为上次编码器正确数值减1;
步骤5,读取数值和预测数值比较和纠错处理:编码器在正常的情况下,读取数值和预测数值是完全一样的,不需要进行纠错处理;如果读取的数值和预测的数值不等,则判定编码器读取有问题,需要纠错处理,处理方法为:将预测数值转换成16位二进制格雷码,和实际读取到的16位二进制格雷码进行比较,由于连续的两个格雷码,其16位二进制只有一位是不同的,不一样的那一位就是编码器的出问题的那一位,同时反馈编码器的故障信息给设备故障记录单元;
步骤6,未进行步骤五纠错处理的当前编码器读取数值或进行步骤五纠错处理后的预测数值作为编码器正确数值,参与下一轮的计算。
本发明中,处理错误的二进制位数时,不考虑二进制16位中的低三位。
本发明优点在于:
1.根据编码器在运动的时候,产生的是连续的一组数据,根据数据的连续性,加入预测环节,可以检验数据的正确性,对错误的数据进行纠正,提高编码器的使用寿命和可靠性,提高容错率。
2.本算法可以准确判别格雷码旋转编码器16位中不大于2个位,包含2个位出现问题时,还可以继续正常使用。
附图说明
图1是本发明的方法流程图。
具体实施方式
一种传感器采集处理方法,如附图1所示,分为以下几个步骤:
步骤1,读取编码器的数值:通过SPI的方式读取旋转编码器的16位格雷码,然后将格雷码转换为正常的自然数,作为被测位置的绝对位置值,该绝对位置值是旋转编码器齿轮组的位置状态。
步骤2,判断编码器是否在运动中:如果采集前后数值相同,认为位置没有发生变化,终止算法,进入步骤6;如果前后的数据不等,则认为编码器发生了旋转动作,判定为在运动,进入下一步骤。
步骤3,判断运动的趋势:根据执行机构的开、关动作命令和设定的运动方向,判定编码器数值的运行方式是上升还是下降,输出结果如下表:
执行机构设定方向 | 执行机构动作命令 | 编码器数值运动趋势 |
顺时针 | 开 | 上升 |
顺时针 | 关 | 下降 |
逆时针 | 开 | 下降 |
逆时针 | 关 | 上升 |
步骤4,根据运动趋势预测数值;设定编码器最小值发生变化的最短时间为T(秒),T=60/(编码器转速(rpm)×单圈编码值(整数));判定单片机的采集周期和处理周期总和与T的关系;
当大于等于T,终止算法,进入步骤6。
当小于T,如果编码器数值运动趋势为上升,预测数值为上次编码器正确数值加1;如果编码器数值运动趋势为下降,预测数值为上次编码器正确数值减1。
步骤5,读取数值和预测数值比较和纠错处理:编码器在正常的情况下,读取数值和预测数值是完全一样的,不需要进行纠错处理;如果读取的数值和预测的数值不等,则判定编码器读取有问题,需要纠错处理,处理方法为:将预测数值转换成16位二进制格雷码,和实际读取到的16位二进制格雷码进行比较,由于连续的两个格雷码,其16位二进制只有一位是不同的,不一样的那一位就是编码器的出问题的那一位,同时反馈编码器的故障信息给设备故障记录单元;但本步骤在对预测数值与实际读取的16位二进制格雷码比较中,针对16位二进制低三位出错的,视作无故障,直接终止算法,进入步骤6,确保编码器具有一定的容错率。
步骤6,处理读取的数值,返回准确的数据。未进行步骤五纠错处理的当前编码器读取数值或进行步骤五纠错处理后的预测数值作为编码器正确数值,参与下一轮的计算。
本算法建立在单片机对编码器的周期性访问的基础上,利用单片机的高速处理能力,分辨出最小的变化,并基于16位二进制格雷码分析纠错,实现旋转编码器容错性,即提高旋转编码器的使用寿命,又提高应用该旋转编码器的运行设备的运行可靠性。
Claims (2)
1.一种传感器采集处理方法,其特征在于该方法包括以下步骤:
步骤1,读取编码器的数值:通过SPI的方式读取旋转编码器的16位格雷码,然后将格雷码转换为正常的自然数,作为被测位置的绝对位置值,该绝对位置值是旋转编码器齿轮组的位置状态;
步骤2,判断编码器是否在运动中:如果采集前后数值相同,认为位置没有发生变化,终止算法,进入步骤6;如果前后的数据不等,则认为编码器发生了旋转动作,判定为在运动,进入下一步骤;
步骤3,判断运动的趋势:根据执行机构的开、关动作命令和设定的运动方向,判定编码器数值的运行方式是上升还是下降,判定方法如下:
31)执行机构设定方向为顺时针,执行机构动作命令为开时,则编码器数值运动趋势为上升;
32)执行机构设定方向为顺时针,执行机构动作命令为关时,则编码器数值运动趋势为下降;
33)执行机构设定方向为逆时针,执行机构动作命令为开时,则编码器数值运动趋势为下降;
34)执行机构设定方向为逆时针,执行机构动作命令为关时,则编码器数值运动趋势为上升;
步骤4,根据运动趋势预测数值;设定编码器最小值发生变化的最短时间为T秒,T=60/(编码器转速×单圈编码值),其中,编码器转速单位为rpm,单圈编码值为整数;判定单片机的采集周期和处理周期总和与T的关系;
当大于等于T,终止算法,进入步骤6;
当小于T,如果编码器数值运动趋势为上升,预测数值为上次编码器正确数值加1;如果编码器数值运动趋势为下降,预测数值为上次编码器正确数值减1;
步骤5,读取数值和预测数值比较和纠错处理:编码器在正常的情况下,读取数值和预测数值是完全一样的,不需要进行纠错处理;如果读取的数值和预测的数值不等,则判定编码器读取有问题,需要纠错处理,处理方法为:将预测数值转换成16位二进制格雷码,和实际读取到的16位二进制格雷码进行比较,由于连续的两个格雷码,其16位二进制只有一位是不同的,不一样的那一位就是编码器的出问题的那一位,同时反馈编码器的故障信息给设备故障记录单元;
步骤6,未进行步骤5纠错处理的当前编码器读取数值或进行步骤五纠错处理后的预测数值作为编码器正确数值,参与下一轮的计算。
2.根据权利要求1所述的传感器采集处理方法,其特征在于:处理错误的二进制位数时,不考虑二进制16位中的低三位。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410785788.1A CN104482946B (zh) | 2014-12-18 | 2014-12-18 | 一种传感器采集处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410785788.1A CN104482946B (zh) | 2014-12-18 | 2014-12-18 | 一种传感器采集处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104482946A CN104482946A (zh) | 2015-04-01 |
CN104482946B true CN104482946B (zh) | 2016-08-17 |
Family
ID=52757516
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410785788.1A Active CN104482946B (zh) | 2014-12-18 | 2014-12-18 | 一种传感器采集处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104482946B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105305921B (zh) * | 2015-11-12 | 2018-03-06 | 上海新时达电气股份有限公司 | 电机编码器的位置反馈自适应校正方法及其伺服驱动器 |
CN113110278B (zh) * | 2021-04-13 | 2022-05-27 | 珠海格力智能装备有限公司 | 信息交互方法、装置、存储介质及处理器 |
CN115112156B (zh) * | 2022-06-02 | 2023-11-17 | 杭州水表有限公司 | 一种识别数字轮角位置的光电编码方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE9212302U1 (zh) * | 1991-10-01 | 1993-02-11 | Baumer Electric Ag, Frauenfeld, Ch | |
CN100480973C (zh) * | 2005-05-27 | 2009-04-22 | 三星电子株式会社 | 检测可移动设备的位置的方法和装置 |
CN102607630A (zh) * | 2012-02-20 | 2012-07-25 | 中联重科股份有限公司 | 编码器的故障检测方法、装置和系统 |
CN103528600A (zh) * | 2013-10-30 | 2014-01-22 | 天津市津达执行器有限公司 | 支持格雷码编码器的执行机构位置转换模块 |
WO2014053296A1 (en) * | 2012-10-01 | 2014-04-10 | Asml Netherlands B.V. | A method for calibration of an encoder scale and a lithographic apparatus |
CN203561371U (zh) * | 2013-10-30 | 2014-04-23 | 天津市津达执行器有限公司 | 支持格雷码编码器的执行机构位置转换模块 |
-
2014
- 2014-12-18 CN CN201410785788.1A patent/CN104482946B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE9212302U1 (zh) * | 1991-10-01 | 1993-02-11 | Baumer Electric Ag, Frauenfeld, Ch | |
CN100480973C (zh) * | 2005-05-27 | 2009-04-22 | 三星电子株式会社 | 检测可移动设备的位置的方法和装置 |
CN102607630A (zh) * | 2012-02-20 | 2012-07-25 | 中联重科股份有限公司 | 编码器的故障检测方法、装置和系统 |
WO2014053296A1 (en) * | 2012-10-01 | 2014-04-10 | Asml Netherlands B.V. | A method for calibration of an encoder scale and a lithographic apparatus |
CN103528600A (zh) * | 2013-10-30 | 2014-01-22 | 天津市津达执行器有限公司 | 支持格雷码编码器的执行机构位置转换模块 |
CN203561371U (zh) * | 2013-10-30 | 2014-04-23 | 天津市津达执行器有限公司 | 支持格雷码编码器的执行机构位置转换模块 |
Non-Patent Citations (1)
Title |
---|
基于改进的MGM(1,n)模型的旋转机械故障预测方法研究;孙银银 等;《汽轮机技术》;20121031;第4卷(第5期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN104482946A (zh) | 2015-04-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104482946B (zh) | 一种传感器采集处理方法 | |
CN102741819B (zh) | 用于解码码字的方法和设备 | |
US8793533B2 (en) | Method and device for performing failsafe hardware-independent floating-point arithmetic | |
CN106210749B (zh) | 解码设备、信息传输系统和解码方法 | |
EP2854031A1 (en) | Methods for determining multiple simultaneous fault conditions | |
CN107016448B (zh) | 一种故障/维修时间服从任意分布的周期性检查装备可用性评估方法 | |
CN109740772A (zh) | 基于大数据的铁路列车检测维修分析方法 | |
CN103532451A (zh) | 一种旋转变压器位置信号故障诊断方法 | |
CN114925865A (zh) | 矿井电机车电机械制动系统故障诊断方法及存储介质 | |
CN102968109A (zh) | 基于d-s证据理论的安全仪表系统 | |
CN103293948A (zh) | 用于在计算机程序中存储和传播错误信息的方法 | |
US20130173024A1 (en) | Method and system for control system redundancy | |
CN102353814B (zh) | 风向传感器输出信号故障的检测方法 | |
WO2021027294A1 (zh) | 提高风电系统数据质量的方法及装置 | |
US20220402535A1 (en) | Odometric method, in particular for a rail vehicle or a control center | |
AU2020354322A1 (en) | Method for monitoring functions of a balise and reader suitable therefor | |
CN110889646A (zh) | 一种适应工况变化的发电机组运行参数正确性检验的方法 | |
CN101943910A (zh) | 用于容错控制的自校验方法 | |
CN106598026A (zh) | 输变电设备状态检修时间检测方法和装置 | |
CN116191412A (zh) | 电力负荷预测方法 | |
CN105607616A (zh) | 一种对冗余系统进行可靠性分析的方法 | |
CN210036870U (zh) | 一种高水头船闸水位计自动校准系统 | |
Matsumoto et al. | Stateful TMR for transient faults | |
CN108763755A (zh) | 一种滚动直线导轨副可靠性加速试验评估方法 | |
CN103514062A (zh) | 应用于计算机联锁系统的动态编码方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |