旋转编码器的控制方法及控制系统、设备与流程

文档序号:29353315发布日期:2022-03-22 22:53阅读:248来源:国知局
旋转编码器的控制方法及控制系统、设备与流程

1.本发明涉及旋转编码器技术领域,尤其涉及一种旋转编码器的控制方法及控制系统。


背景技术:

2.现在的旋转编码器被广泛应用到各种家用电器领域,在现有的应用中控制电器一般作用一些简易的功能选择或者参数调节,旋转编码器通常都是固定的步长,例如步长为1,用户每转动一格,则旋转编码器对应的值加1,如果被调节的参数范围整体不大时,例如10,则用户需要转动10格,才能完成在整个范围内的调节,但是当旋转编码器被应用在需要调节的取值范围较大的产品中时,例如1000,用户想要调整到559时,此时步长还是为1,操作变得非常慢及效率低下,但是如果把步长调整到100,会导致旋转编码器可调整的档位变少,无法满足相应的调节需求。


技术实现要素:

3.为了解决现有技术中的旋转编码器的步长固定的技术问题,本发明提出了旋转编码器的控制方法及控制系统、设备。
4.本发明提出的旋转编码器的控制方法,包括:获取旋转编码器的信号周期;当一个预设时间单位内获取到的有效信号周期数大于预设周期数时,进入惯性识别模式;在所述惯性识别模式中,基于每个预设时间单位所获取到的有效信号周期数,自适应调节旋转编码器的步长。
5.进一步,基于每个预设时间单位所获取到的有效信号周期数,自适应调节旋转编码器的步长,具体包括:计算每个预设时间单位内所获取到的有效信号周期数与预设周期数的倍数;基于所述倍数查找预先设计的固定常量表,从所述固定常量表中找到所述倍数对应的步长调整系数;基于所述步长调整系数对初始步长进行调整。
6.进一步,若在所述固定常量表中无法找到所述倍数对应的步长调整系数,则依据所述固定常量表中的步长调整系数的个数对所述倍数进行取模运算,基于取模运算得到的结果在所述固定常量表中找到对应的步长调整系数。
7.进一步,还包括步骤:在所述惯性识别模式中,当一个预设时间单位内获取到的有效信号周期数为0时,退出惯性识别模式。
8.进一步,所述预设时间单位内获取到的信号周期数包括正向旋转的信号周期数、反向旋转的信号周期数当中的至少一种。
9.进一步,当一个预设时间单位内获取到的信号周期数包含正向旋转的周期数和反
向旋转的周期数时,选择最后统计的一种信号周期数作为该预设时间单位内获取到的有效信号周期数。
10.进一步,通过将正反转标志位赋值为正转标志或者是反转标志来区分所述正向旋转和反向旋转。
11.本发明提出的采用上述技术方案所述的旋转编码器的控制方法的控制系统,包括:采集模块,用于采集旋转编码器的信号周期;判断模块,判断预设时间单位内获取到的有效信号周期数是否大于预设周期数,如果大于则向运算模块发出进入惯性识别模式的信号;运算模块,在接收到进入惯性识别模式的信号后,在每个预设时间单位内根据所述采集模块获取到的有效信号周期数计算步长;控制模块,根据所述步长对旋转编码器的步长进行调整。
12.本发明提出的设备,包括旋转编码器和主控制器,所述主控制器包括上述技术方案所述的控制系统。
13.进一步,设备还包括存储器。
14.本发明通过获取有效信号周期数来动态调节步长,解决了旋转编码器在较大范围内实现快速便捷调节,采用软件智能识别到调节信号的特性来预判用户想要达到什么样的操作目的,当软件成功判定成功进入惯性识别模式后软件根据据当前信号的特性通过特定的算法公式自适应执行对应的贯性处理方法来调节步长,快速使用户达到调节目的、提高效率以及节约调节点,解决了因调节时间过长用户的厌烦感,也同时在传统的应用基础上增加了新的应用体验。
附图说明
15.下面结合实施例和附图对本发明进行详细说明,其中:图1是本发明一实施例的设备的结构框图。
16.图2是本发明一实施例的旋转速率与信号的关系图。
17.图3是本发明一实施例的流程图。
具体实施方式
18.为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
19.由此,本说明书中所指出的一个特征将用于说明本发明的一个实施方式的其中一个特征,而不是暗示本发明的每个实施方式必须具有所说明的特征。此外,应当注意的是本说明书描述了许多特征。尽管某些特征可以组合在一起以示出可能的系统设计,但是这些特征也可用于其他的未明确说明的组合。由此,除非另有说明,所说明的组合并非旨在限制。
20.本发明的旋转编码器的控制方法,先获取旋转编码器的信号周期。当一个预设时间单位内获取到的有效信号周期数大于预设周期数时,则进入惯性识别模式。在惯性识别
模式中,基于每个预设时间单位所获取到的有效信号周期数,自适应调节旋转编码器的步长。
21.本发明的上述控制方法是通过控制系统主要完成的,本发明采用上述旋转编码器的控制方法的控制系统包括采集模块、判断模块、运算模块和控制模块。相对应的,采集模块用来获取旋转编码器的信号周期,判断模块用来判断是否进入惯性识别模式,判断模块判断预设时间单位内获取到的有效信号周期数是否大于预设周期数,如果大于则向运算模块发出进入惯性识别模式的信号,运算模块则在接收到进入惯性识别模式的信号后,在每个预设时间单位内根据获取到的有效信号周期数计算步长。最后由控制模块根据运算模块计算出来的步长对旋转编码器的步长进行调整。
22.如图1所示,当本发明的上述控制系统被应用在设备中时,本发明的上述控制系统是设备的主控制器中的一个组成部分。主控制器设有两路输入信号,分别接收a相信号和b相信号。设备同时还可以设有电源、存储器以及输出显示等部分。
23.如图2所示,a相信号和b相信号分别代表用户在正反转旋转编码器时,旋转编码器所产生的信号,用户转动的越快,则预设时间单位内能够检测到的a相信号或者是b相信号的周期数就越多。例如主控制器mcu以10us(微秒)每次的心跳频率分别采集旋转编码器的两个引脚a/b相位信号,当旋转编码器没有旋转的时候,a相信号与b相信号同时为电平0。当顺时针转向时(正向旋转),a相信号与b相信号的变化规律为,a相信号优先响应高电平,b相信号在a相信号90度相位延迟后出现响应高电平。旋转编码器旋转的速度越快,其周期s的时间越短,同一个预设时间单位内出现的脉冲个数越多。当逆时针转向时(反向旋转),a相信号与b相信号的变化规律为b相信号优先响应高电平,a相信号在b相信号90度相位延迟后出现响应高电平。旋转编码器旋转的速度越快,其周期s的时间越短,同一个预设时间单位内出现的脉冲个数越多。
24.如图3所示,在一个具体实施流程中,主控制器的控制模块先对正反转进行判断,然后设置正反转标志位,通过将正反转标志位赋值为正转标志或者是反转标志来区分正向旋转和反向旋转,采集模块则将a相信号和b相信号合并滤波处理,获取对应的信号周期。如每10us一个固定周期采集a相信号,每10us一个固定周期采集b相信号。
25.将采集到的a相信号和b相信号进行处理后,得到当前的预设时间单位内的信号周期数。假设一个预设时间单位指的是1000ms,预设周期数为2个,初始步长为1。若1000ms时间内所获取的有效信号周期数为2个或2个以内时,每秒小于2个脉冲,即图2中的周期s 》= 500ms,此时预设时间单位内获取到的有效信号周期数为小于等于预设周期数,此时无惯性介入运算,即不进入惯性识别模式。若1000ms时间内所获取的有效信号周期数为2个以上时,每秒大于2个脉冲,此时有惯性介入运算,即进入惯性识别模式。此时,运算模块根据用户旋转的速度,即所获取到的有效信号周期数来计算新的步长,然后旋转编码器根据新的步长来累积用户的操作结果。若1000ms时间内所获取的有效信号周期数为0时,也就是说没有获取到任何信号,此时如果处于惯性识别模式时退出惯性识别模式。
26.在非惯性模式时,主控制器(mcu)不对步长进行调整,采用的步长为初始步长。即从a相信号与b相信号中每提取到一个有效的周期s,并且这个周期s的时间长度大于500ms,或者间隔周期大于500ms,程序就按一个a/b相周期输出1个有效的计数值,如此循环。
27.在惯性模式时,计算每个预设时间单位内所获取到的有效信号周期数与预设周期
数的倍数,基于所计算出来的倍数查找预先设计的固定常量表,从固定常量表中找到该倍数对应的步长调整系数,基于该步长调整系数对初始步长进行调整。例如步长调整系数为2,那么初始步长为1的话,调整后的步长就为2。
28.在一个具体实施例中,当检测到有任何一个大于每秒2个周期的有效计数信号后,进入贯性识别模式,在贯性识别模式中会在每秒记录3个有效的数值,分别是time(时间)、count(计数)、calculate(预测)。time是每一个预设时间单位,例如time=1,是第一个预设时间单位,time=2,是第二个预设时间单位。count是记录一个预设时间单位内的有效计数的信号周期的个数,即有效的信号周期数,calculate是根据time与count的关系比按照一个固定常量表得到一个的预判值。calculate到达特定的最大系数后会被约束在当前最大系数以避免无限增大。运算公式为 calculate = calculatelsit[(count/((time*1000)/500))% calculatelsitnum]。
[0029]
固定常量表calculatelsit如下所示(以下的数值仅仅只是列举,可以根据实际需要修整)。
[0030]
flout calculatelsit[calculatelsitnum] ={ 0.15, 0.35, 0.55, 0.72, 0.94, 1.0, 1.21, 1.35, 1.52, 1.74, 1.92, 2.05, 2.15, 2.28, 2.40, 2.52, 2.63, 2.78, 2.99, 3.05, 3.15, 3.35, 3.55, 3.72, 3.94, 4.02, 4.21, 4.35, 4.52, 5.74,5.92, 6.05, 6.15, 6.28, 6.40, 6.52, 6.63, 6.78, 6.99, 7.05,7.14, 7.24, 7.32 , 7.46, 7.58, 7.65, 7.77, 7.96, 8.06, 8.18, 8.30, 8.40, 8.55, 8.77, 8.95, 9.06 , 9.22. 9.38, 9.51, 9.66,9.70, 9.81, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0,10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0,};运算模块运算得到calculate 非零时,说明本次操作计数值(步长)为旋钮操作时通过程序介入判别用户需要一个快调的想法,程序会计算在正常信号的有效值的基础上累积calculate的值,如正常信号的有效值目前为100,得到的calculate的值为5,在初始步长为1时,那么之后操作计数值就从100开始每次累加5。当用户连续旋钮的时间越长速度越快,说明当前值离目标
‑‑
98值差距大一些,用户旋钮的速率与目标的距离成正比,用户钮的快说明离目标值越远,这时calculate值就越大,程序将当前值基础上加上一个贯性值,这样实现了自动智能加速操作,在较大差值的调节操作上起到了智能增效的作用。
[0031]
在一些时候,有可能运算模块计算出来的count/((time*1000)/500)的值超出了calculatelsitnum,导致无法在固定常量表中找到倍数对应的步长调整系数,此时通过取模运算来解决这个问题,若在固定常量表中无法找到倍数对应的步长调整系数,则依据固定常量表中的步长调整系数的个数对该倍数进行取模运算,基于取模运算得到的结果在固定常量表中找到对应的步长调整系数。
[0032]
有的时候用户在操作时,有可能在一个预设时间单位内同时进行了正反转操作,导致一个预设时间单位内获取到的信号包含正向旋转和反向旋转的信号周期数时,本发明选择最后统计的一种信号周期数作为该预设时间单位内获取到的有效信号周期数。如果用
户在一个预设时间单位内仅仅只进行了正转操作或反转操作,那么此时在该预设时间单位内获取到的信号周期数均为有效信号周期数。
[0033]
当退出惯性识别模式时,控制系统清除上述变量time(时间) 、count(计数)、calculate(预测)的赋值。
[0034]
本发明还保护对应的设备,该设备安装有旋转编码器和主控制器,主控制器包括本发明上述技术方案的控制系统。
[0035]
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1