用于仪器面板的微调编码器、系统及识别方法转让专利

申请号 : CN201710211594.4

文献号 : CN106996799B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王逸洲王斌侯旭伟冯荣尉焦海妮延峰崔玉妹陈阿琴

申请人 : 北京东方计量测试研究所

摘要 :

一种用于仪器面板的微调编码器、系统及识别方法,其特征在于:包括在电路板上设置的触摸区和设置在触摸区周围的多个光电传感器,每个所述光电传感器包括红外发射管和红外接收管。

权利要求 :

1.一种用于仪器面板的微调编码器系统,其特征在于:包括在电路板上设置的触摸区和设置在触摸区周围的多个光电传感器,每个所述光电传感器包括红外发射管和红外接收管,其中每只光电传感器的红外接收管能从对侧的光电传感器的发射管发射的红外光接收到微弱部分,此时接收管呈高阻态;而当接收到本光电传感器的发射管发射的光碰到障碍物后反射回来的光时,呈低阻态,其中,所述光电传感器为多个,且一半分布在触摸区左边,一半分布在触摸区右边,并对所述传感器进行编码,高阻为1,低阻状态为0,则可对多个传感器建立编码表,不同编码赋予不同的数值,则通过障碍物动作前后,编码对应数值的增减来判断顺时针还是逆时针移动;其中,所述传感器为6个,传感器的编码总共有六种,分别是011111、101 111、110 111、111 

011、111 101、111 110,建立如下编码匹配数表,

编码状态值是取三位二进制数的十进制值,左右状态LR=1表示触发管在左侧,反之表示触发管在右侧,判断时先判断LR是否有变化,如果没有变化,则直接将读取到的上升沿前后的编码状态值作差,为正则为顺时针方向,反之为逆时针方向,如果LR状态发生改变,则将编码状态前后差值取反,以最终结果的正负来判断旋转的方向。

2.一种用于仪器面板的微调编码器系统,其特征在于:包括在电路板上设置的触摸区和设置在触摸区周围的多个光电传感器,每个所述光电传感器包括红外发射管和红外接收管,其中每只光电传感器的红外接收管能从对侧的光电传感器的发射管发射的红外光接收到微弱部分,此时接收管呈高阻态;而当接收到本光电传感器的发射管发射的光碰到障碍物后反射回来的光时,呈低阻态;

其中,所述光电传感器为6个,且对其进行顺序编号,某一光电传感器为低阻态时整体的编码器设定为一数值,并在障碍物跨越不超过半圈时,根据触摸时,起始状态对应的数值S0和终点状态对应的数值S1差值判断旋转方案的具体方法如下:记E=S1-S0,显然E满足:-5<=E<=5,如果E为0或者±3,则不做任何处理,如果E<-3则E=E+6,如果E>3则E=E-6,此时依据最终的E的数值判断方向,为正则为顺时针,反之则为逆时针。

3.根据权利要求2所述的一种用于仪器面板的微调编码器系统,其特征在于:所述光电传感器的编号顺序为0-5。

4.一种面板动作识别方法,其特征在于采用权利要求1-3任一项所述的微调编码器系统进行识别。

说明书 :

用于仪器面板的微调编码器、系统及识别方法

技术领域

[0001] 本发明应用于仪器面板的旋钮中,尤其涉及一种微调编码器,旨在为仪器使用者提供操作更为现代化、使用寿命更长、可靠性更高的微调组件。

背景技术

[0002] 现代仪器设备通常都会提供给用户一个微调组件(如旋钮和滚轮)方便用户进行精密操作,传统的滚轮方案包括滚轮和与其相连的小金属。
[0003] 当滚轮滚动时,滚轮带动与其相连的小金属滚轮一起滚动,过程中金属滚轮与其外壳内壁的金属滑道摩擦,在滑道上预留有相位相差90°的输出端,这样便产生了相位相差90°的两相的脉冲信号,对产生的两相脉冲信号分析和处理便可以使设备做出精准的响应。
[0004] 但事实上这种方案中,金属滚轮与其外壳内壁的滑道总是存在直接接触,随着时间推移,金属极易氧化从而降低滚轮的灵敏度,甚至直接导致滚轮失效。虽然目前已经有基于光电编码器的微调组件应用于市场,但其包含光耦、前面板旋钮、光电码盘等等,多样的元件类型和复杂的结构组合为设备的装配带来了很多困难。。

发明内容

[0005] 本发明提供了一种本发明采用光耦作为基本传感器,将光耦在电路板上排成环形阵列实现对手指运动的检测,整个方案不需要旋钮或滚轮等实物,仅需用手指做简单的运动就可以实现微调操作的全部要求。
[0006] 具体而言本发明提供一种用于仪器面板的微调编码器,其特征在于:包括在电路板上设置的触摸区和设置在触摸区周围的多个光电传感器,每个所述光电传感器包括红外发射管和红外接收管。
[0007] 进一步地,其特征在于:所述触摸区为一圆形凹盖结构。
[0008] 进一步地,其特征在于:所述电路板上的光电检测电路为,光电传感器的发射管通过限流电阻R串联到电源,传感器的接收管与第二电阻RO串联到电源,然后将接收管与电阻RO的连接端接入比较器,与参考电压对比得到输出信号。
[0009] 进一步地,其特征在于:每只光电传感器的红外接收管能从对侧的光电传感器的发射管发射的红外光接收到微弱部分,此时接收管呈高阻态;而当接收到本光电传感器的发射管发射的光碰到障碍物后反射回来的光时,呈低阻态。
[0010] 进一步地,其特征在于:所述光电传感器有6个或以上,呈左右对称布置。
[0011] 进一步地,其特征在于:对所述传感器进行编码,高阻为1,低租状态为0,则可对多个传感器建立编码表,不同编码赋予不同的数值,则通过障碍物动作前后,编码对应数值的增减来判断顺时针还是逆时针移动。
[0012] 本发明还提供一种用于仪器面板的微调编码器系统,其特征在于:包括在电路板上设置的触摸区和设置在触摸区周围的多个光电传感器,每个所述光电传感器包括红外发射管和红外接收管,其中每只光电传感器的红外接收管能从对侧的光电传感器的发射管发射的红外光接收到微弱部分,此时接收管呈高阻态;而当接收到本光电传感器的发射管发射的光碰到障碍物后反射回来的光时,呈低阻态。
[0013] 其中,所述光电传感器为多个,且一半分布在触摸区左边,一半分布在触摸区右边,并对所述传感器进行编码,高阻为1,低租状态为0,则可对多个传感器建立编码表,不同编码赋予不同的数值,则通过障碍物动作前后,编码对应数值的增减来判断顺时针还是逆时针移动。
[0014] 进一步地,其特征在于:所述传感器为6个,传感器的编码总共有六种,分别是011111、101 111、110 111、111 011、111 101、111 110,建立如下编码匹配数表,[0015]
[0016] 编码状态值是取三位二进制数的十进制值,左右状态LR=1表示触发管在左侧,反之表示触发管在右侧,判断时先判断LR是否有变化,如果没有变化,则直接将读取到的上升沿前后的编码状态值作差,为正则为顺时针方向,反之为逆时针方向,如果LR状态发生改变,则将编码状态前后差值取反,以最终结果的正负来判断旋转的方向。
[0017] 进一步地,本发明还提供一种用于仪器面板的微调编码器系统,其特征在于:包括在电路板上设置的触摸区和设置在触摸区周围的多个光电传感器,每个所述光电传感器包括红外发射管和红外接收管,其中每只光电传感器的红外接收管能从对侧的光 电传感器的发射管发射的红外光接收到微弱部分,此时接收管呈高阻态;而当接收到本光电传感器的发射管发射的光碰到障碍物后反射回来的光时,呈低阻态;
[0018] 其中,所述光电传感器为6个,且对其进行顺序编号,某一光电传感器为低阻态时整体的编码器设定为一数值,例如0到5,并在障碍物跨越不超过半圈时,根据触摸时,起始状态对应的数值SO和终点状态对应的数值差值判断旋转方案的具体方法如下:
[0019] 记E=S1-S0,显然E满足:-5<=E<=5,如果E为0或者±3,则不做任何处理,如果E<-3则E=E+6,如果E>3则E=E-6,此时依据最终的E的数值判断方向,为正则为顺时针,反之则为逆时针。
[0020] 本发明还提供一种面板动作识别方法,其特征在于采用权利要求7-9任一项所述的微调编码器系统进行识别。
[0021] 本发明的方案结构简单,且可有效检测手指的触摸动作,实际应用前景广泛。附图说明:
[0022] 图1是本发明光电编码器结构示意图。
[0023] 图2是本发明中光信号检测电路图。
[0024] 图3是无阻挡时编码器示意图。
[0025] 图4是有阻挡时编码器示意图。
[0026] 图5是实施例1的工作流程图。
[0027] 图6是实施例2的原理图。
[0028] 图7是实施例2检测算法流程图。
[0029] 图8是实施例3的流程示意图。
[0030] 具体实施方式:
[0031] 参见图2,本发明的光电编码器结构,为在一电路板上形成一接触区,接触区优选为圆形凹盖结构,在所述接触区外侧设置多只光电传感器,图中,传感器的数量为6只,左右各三只,对称设置,但实际中并不限于6只,也可以更少或更多。布置方式也可以灵活多样,对称与否皆可。
[0032] 其中优选地,所述传感器的布置数量按照如下方式和数量布置,光电编码器的分辨率为θ度,如果传感器均匀分布在圆周上,则该编码器的数量为大于360°/θ。如果非均匀布置,则至少将相邻两个传感器中轴线的夹角设置小于θ。
[0033] 参见图3,示出了每只光电传感器连接的光电检测电路,其中光电传感器的发射管通过限流电阻R串联到电源(限流电阻较大,发射出的红外光较弱),传感器的接收管与另一个电阻RO串联到电源,然后将接收管与电阻RO的连接端接入比较器与参考电压对比得到输出。
[0034] 参见图4,当接触区不存在障碍物时,例如手指,每只光电传感器的红外发射管发出的红外光射向对方,由于限流电阻较大,发出的而对方的红外接受管仅能接受到微弱的红外光,此时,接受管呈高阻态,Vin的电压值较高。
[0035] 参见图5,当手指近光电传感器时,相关光电传感器的红外发射管发出的红外光,由于手指的阻挡和反射,返回到该光电传感器的接受管上,即在光电传感器的红外接受管上能够接受到较强的红外光照产生较大光电流,使得Vin1的电压值被拉低。
[0036] 这样,结合图3的电路可知,该路电路就能够准确地将手指是否挡住光耦这一逻辑问题转化为可以为控制器识别的数字信号0和1——高电平为1,低电平为0。监测这6路输出,没有人为操作时,6路检测输出均为高电平。当手指接触时,某几路光耦接收管为低电平。优选的,通过设置传感器的位置,使得避免出现同时两个传感器被挡住的情况。
[0037] 假设从左下侧第一个传感器顺时针到右下侧最后一个传感器的序号分别为A、B、C、。D、E、F,则图4中的传感器C为高电平,其他为低电平,则六只传感器的编码为110111。则传感器的编码总共有六种,分别是011111、101 111、110 111、111 011、111 101、111 110。
[0038] 在在判断脉冲数和旋转方向时,根据六种编码状态,并引入光电状态变量Code_state,建立如下编码匹配数表,
[0039]
[0040] 其中用2个变量来描述红外对管的状态——Code_state和LR,上述的数表实际是二进制转化10进制的计算程序,LR=1表示触发管在左侧,反之表示触发管在右侧。
[0041] 程序以读取到下降沿触发为中断,将检测到下降沿的该路光耦状态置0,读取此时所有的光电检测的状态,并将此时的光路检测的结果记录在变量Code_state中。
[0042] 先判断LR是否有变化,如果没有变化,则直接将读取到的上升沿前后的Code_state值作差,为正则为顺时针方向,反之为逆时针方向,如果LR状态发生改变,则将Code_state前后差值取反,以最终结果的正负来判断旋转的方向。具体流程图见图5。
[0043] 实施例2:
[0044] 本发明的第二个实施例中,电路结构与实施例1相同,但是动作识别方法不同。参见图5-6示出了实施例2的原理图。
[0045] 下面说明一下本发明旋转方向的识别原理:
[0046] 首先是旋转方向的规定:从此6个位置中的一个位置运动到另一个位置的时候,如果仅能获知初始位置和最终位置(如图5所示),则理论上可以认为是顺时针移动5个位置或是逆时针移动1个位置,假定每个光电传感器发生故障的概率为P,则对应着逆时针移动1个位置的情况的概率为:
[0047] P(逆时针1个位置)=(1-P)
[0048] 而对应着顺时针移动5个位置的情况为,从1到4的4组传感器全部故障,此时的概率为:
[0049] P(顺时针5个位置)=P4
[0050] 通常传感器故障概率P很小,所以(1-P)>>P4,即对应此种位置变动情况应该取逆时针旋转1个位置。同样的,对于其他情况下的位置变动,应当认为移动位置数小的方式为用户的实际方式,这也意味着一次只能够得到3以内的脉冲数变化。
[0051] 其次是如何对这些数字得变动判断出具体的运动方向。本发明方案所选用的判断方案基于计算机编码中的补码的思想——将圆周运动与进制数结合,将本问题抽象为六进制数问题。此种解决方案的核心思想在于可以0作为六进制中的10或-10来参与运算(10=1x6+0=6;-10=-1x6+0=-6),即所有对位置的记录为对一个六进制数的最后一位的记录。
[0052] 对于六进制数而言,两个六进制数a、b作差得到数N=a-b,对6的余数必然是0至6的整数:
[0053] R1=N mod 6∈{0,1,2,3,4,5}
[0054] 为了便于算法判断旋转方向,并与前面规定的3以内个数的移动相对应,将上述计算其结果用-3至3的数来表示:
[0055] R2=f(R1)∈{-3,-2,-1,0,1,2,3}
[0056] 得益于每次对位置的记录仅为对六进制数的最后一位的记录,每次计算的结果最多只会产生高位±1个进位,所以仅需要将0作为6和-6参与运算便可以得到正确数值。即将上述算得的N作如下处理:
[0057]
[0058] 由于计算机并不能直接计算余数,而本实例所涉及的余数计算最多产生±1位的进位,所以对两个六进制数的差值直接作如下运算便可以得到最终结果:
[0059]
[0060] 以R的值便可以判断具体旋转方向与旋转数。
[0061] 如图所示,六个传感器分别标示为0,1,2,3,4,5共六个位置围成一个圆形,现在手指从一个位置运动到另一个位置,需要判断手指是顺时针运动还是逆时针运动,此时对于手指的滑动不严格,可以中间漏掉一些光电编码器,但是要求手指遮挡的光电编码器(或者其他原因漏掉的脉冲)中至少有一对相邻的编码器跨越不超过半周(不能跨越3个传感器及以上,当然在圆周上有其他数量编码器的情况下,该数量不同,总之是不跨越半周即可),如果手指只在初始位置和结束位置放一下,则这两个位置要求不跨越3个编码器。
[0062] 具体方法是,用两次的位置数值做一次减法,对求得的差做进一步处理从而给出判断,其中规定绝对值小于(不取等于)3格的操作为欲识别的操作,如果大于3则减去6,如果小于-3则加上六。在图中情况下,从0位置到5位置,两次的减法值为5(虽然可以理解为顺时针5格也可以理解为逆时针1格)。这里5>3,所以将得到的结果减6(类似与补码)为-1,即认定为逆时针1格。
[0063] 下面结合图7说明实施例2的工作方法:
[0064] 其中先设定,将A,B,C,D,E,F这6相信号传输到处理器,每一路信号均为上升下降沿触发,定义整个过程中标志位变量——flag(默认为0)。当处理器检测到上升沿信号时,将flag置为1,并记录对应传感器位置编号,当处理器检测到下降沿信号时,根据flag的值作出不同的判断,如果flag=1,说明之前已经接收到了上升沿,则记录此时的检测到的传感器的位置编号,据此判断方向,然后将flag至0,否则不做任何处理。本实施例中设置FLAG主要目的在于更加准确识别用户操作,其设 定为只有检测到一个上升沿之后,后续的下降沿才被认为是有效脉冲信号,之后将这个状态重置(也就是将Flag重置),不断地重置和读取。这样做可以避免很多问题,比如说,比采用定时器延时来重置的方法更加准确。
[0065] 具体工作流程为:系统启动上电后,首先进行初始化和自检(主要检测各路传感器是否可以正常工作),如果有错则显示在显示屏上提示用户。之后对flag变量赋默认值0。之后处理器对6路信号进行监测,如果监测到某路信号产生上升沿,则将该路信号的位置记录下来为S0,将flag置1,然后程序进入持续检测阶段。如果检测到下降沿,则依据flag的数值做如下操作:为0则不做任何操作返回检测状态;为1则记录此时触发信号的位置S1,将S0与S1按照最开始提到的减法规则进行计算,从而判断旋转方向然后将flag的值重新归零。(S0、S1为全局变量,新的触发信号会复写这两个变量)。
[0066] 根据S1与S0的差值判断旋转方案的具体方法如下:
[0067] 记E=S1-S0,显然E满足:-5<=E<=5,如果E为0或者±3,则不做任何处理,如果E<-3则E=E+6,如果E>3则E=E-6,此时依据最终的E的数值判断方向,为正则为顺时针,反之则为逆时针。
[0068] 优选地,某个光电传感器不够稳定,信号一直在0和1之间变动,即在同一个位置不断接收到上升沿与下降沿,此时由于S1-S0为0,故而处理器不做响应,避免了误动作。
[0069] 本实施例采用的方法,将S1-S0最终处理为-3至0或者0至3之间的数,也就是说可以正确识别2个光电位置的跨度,因而只要不是超过两个连续的光电传感器故障,系统都能够正确运行。
[0070] 采用本方案的方法,即使过程中由于某些因素导致丢失了一个、两个脉冲,编码器也能够正确的判断出方向,这也是可靠性的保证。
[0071] 对于手指或其他障碍物宽度较粗,可能同时挡住2个光电传感器的情形,采用本实施例的方案也可以正确地识别,因为这种情况下并不会使S1与S0的差值出现2以上的偏差。例如,初始状态为001111,移动过程中先变为101111,再变为100111,即上升沿的触发位置与下降沿的触发位置相隔为2,相当于有一个传感器没有工作,此时系统也能够正常工作。
[0072] 实施例3:
[0073] 实施例3的方案相比于之前的方案主要增加了自校准功能,本发明主要用于仪器 面板,属于一类人机交互的方式,很多故障会导致实际编码效果出现偏差,由于本发明硬件上使用了6组光电传感器,而理论上3组光电传感器即可以实现最基本的有效脉冲发生功能。这意味着本发明实例所使用的方案在即使有3组光电编码器均故障的场合,通过内部算法的调整(自动校准)可以在用户维修困难的场合做应急使用。
[0074] 首先自校准需要找出存在故障的光电编码器组:程序进入自校准模式后,可以请用户按照提示进行3次满圆周操作,如果连续3次所记录下的有效脉冲数不为同一个数值,提示用户重新进行校准;反之则记录下3次记录的脉冲数N1,提示用户进入下一步。分别提出6次请求,要求用户在前面板的6条刻度线前用手指分别单独尝试触发传感器,将能够成功读取到上升沿和下降沿的光电传感器组标记为有效组并记录下总数N2,反之为无效组;反复进行三次,若N1=N2>2,则提示用户校准成功,等待机器内部程序进行调整。若N1不等于N2,提示用户校准失败,重新尝试。
[0075] 针对实施例1的方案,在获得故障编码器组的位置和数量后,按照向上取整的规则对剩下的有效传感器数N1重新分为逻辑左组和逻辑右组。以3组传感器故障的情况为例,向上取整分为逻辑左2组、逻辑右1组(此时可以不必关心传感器的实际位置),可以建立新的编码数表:
[0076]
[0077] 在此新的编码数表的基础上,按照实例1所提出的算法继续进行判断便可以实现基本功能,但是此时的编码器的有效传感器从6组减少到3组,再有传感器故障或其他不利因素影响本系统,有一定可能会造成丢失脉冲或者脉冲错误的情况,应提示用户。
[0078] 针对实施例2的方案,在用户自校准已经找到故障传感器的前提下,原设定的六进制运算变为N1进制运算(N1为剩下的有效传感器组数),仅仅需要对剩余的N1组传感器依次进行编码得到新的编码值,在此基础上继续实例2所使用的算法便可以顺利完成所需功能,重新具体流程图如图8所示:从第0组传感器开始至第5组传感器,根据校准过程中获得的传感器故障信息,依次判断第i组传感器是否故障。如果正常则对应的编码值加1,反之则跳过。如此便可以将剩余的N1组有效传感器全部正确编码(即图中的M值),完成六进制到N1进制的变换。
[0079] 以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。此外,尽管本说明书中使用了一些特定的术语,但这些术语仅仅是为了方便说明,并不对本发明构成任何限制。