旋转编码器 【技术领域】
本发明涉及旋转编码器,更详细地,涉及用于能够自校正测量值的测量仪的增量编码器和绝对编码器。
背景技术
为了测量水平角和垂直角,在测量仪上具备旋转编码器。旋转编码器为利用与望远镜一起旋转的旋转圆盘和读取沿该旋转圆盘的圆周方向设置的刻度的检测器来测量水平角和垂直角的装置。
旋转编码器有增量编码器和绝对编码器。增量编码器具备以等间隔设有等宽度的刻度(缝隙)的旋转圆盘。该增量编码器将从光源射出的光照射到旋转圆盘上,利用受光器检测与刻度数相对应的明暗来测量旋转圆盘的旋转角。
绝对编码器例如图1所示,具有旋转圆盘1,该旋转圆盘1包括表示0的细线(缝隙)和表示1的粗线(缝隙),并且沿周边设有形成表示角度的例如角度码11的缝隙。该绝对编码器将由CPU6控制发光的光源(LED)2射出的光照射到旋转圆盘1上,用CCD线性传感器3检测角度码11。CCD线性传感器3的输出经由A/D变换器5输入到CPU6。CPU6通过解读角度码11并进行适当的内插处理,来计算出旋转圆盘1的绝对角度,并显示在显示部7上(参照下述专利文献1)。
此外,在现有技术的用于测量仪的旋转编码器中,由于难以将旋转圆盘1无偏心地安装到旋转轴上,或者难以完全等间隔地设置刻度或角度码,因此测量值产生误差。为了消除这样的误差,根据ISO·JSIMA标准的正反测量进行自校正。该自校正是,在测量仪的周围配置准直仪,边使测量仪旋转适当角度边对准准直仪,测量刻度或角度码的误差。
专利文献1:日本特开2002-13949号
但是,在上述通过正反测量进行的自校正中,不仅需要人工对准而且需要1小时左右的时间,因此存在作业员的负担大的问题。并且,对于不熟练的作业员来说,既存在对准误差大的问题,又存在自校正精度不足的问题。而且,还存在为需要多个准直仪的设备花费费用的问题。此外,对于垂直编码器来说,还存在难以进行自校正的问题。
【发明内容】
本发明就是鉴于上述问题而完成的,其技术问题在于提供一种旋转编码器,该旋转编码器不需要特别的设备并且作业员的负担少,水平编码器和铅垂编码器都能够简单且低成本高精度地进行自校正。
为了解决上述问题,第一技术方案涉及的发明是旋转编码器,具备设置有角度码的旋转圆盘、照射上述角度码的光源、读取上述角度码的检测器、以及根据由该检测器读取的角度码取得读取值f(θ)的运算部,其特征在于,在每次使上述旋转圆盘旋转规定角度时,在将上述旋转圆盘的旋转角设为θ、将从该旋转角θ开始在检测器上的读取范围内的任意角度设为φ时,上述运算部取得上述检测器上的读取范围内的读取值f(θ+φ)和f(θ),根据使上述旋转圆盘旋转1周后的上述读取值f(θ+φ)与f(θ)之差g(θ,φ)的变化,对上述读取值f(θ)进行自校正。
第二技术方案涉及的发明是在第一技术方案涉及的发明中,使取得上述读取值f(θ+φ)和f(θ)的旋转圆盘的旋转位置为将360°大致等分且相邻的旋转位置中上述检测器的读取范围重叠的位置;取得在旋转一周内上述读取值f(θ+φ)与f(θ)之差g(θ,φ)的平均值gm(φ)以及各个旋转位置上的上述差g(θ,φ)与上述平均值gm(φ)之间的偏差h(θ,φ),通过在相邻的旋转角度位置上读取范围重叠的部分上使上述偏差h(θ,φ)重叠并连续,进行从0°到360°的读取值f(θ)的自校正。
第三技术方案涉及的发明是在第一技术方案涉及的发明中,使取得上述读取值f(θ+φ)和f(θ)的旋转圆盘的旋转位置为将360°大致等分的位置,根据上述读取值f(θ+φ)与f(θ)之差g(θ,φ)的变化,求出上述差g(θ,φ)作为傅立叶级数,根据该结果进行从0°到360°的读取值f(θ)的自校正。
第四技术方案涉及的发明是在第三技术方案涉及的发明中,上述傅立叶级数求出1个以上的任意高次谐波。
第五技术方案涉及的发明是在第一、二、三或四技术方案涉及的发明中,上述任意角度φ使用1个以上的任意位置。
第六技术方案涉及的发明是在第一、二、三、四或五技术方案涉及的发明中,通过将多次的读取值平均,来获得上述读取值f(θ+φ)、f(θ)。
发明效果:
根据第一技术方案涉及的发明,由于本发明为旋转编码器,在每次使旋转圆盘旋转规定的角度时,在将上述旋转圆盘的旋转角设为θ、将从该旋转角θ开始在检测器上的读取范围内的任意角度设为φ时,取得上述检测器上的读取范围内的读取值f(θ+φ)和f(θ),根据使上述旋转圆盘旋转1周后的上述读取值f(θ+φ)与f(θ)之差g(θ,φ)的变化,对上述读取值f(θ)进行自校正,因此不需要特别的设备,并且作业员的负担少,能够简单地、低成本地、高精度地进行水平编码器和铅垂编码器的自校正,并且能够获得高精度的测角值。
根据第二技术方案涉及的发明,由于本发明还使旋转圆盘的旋转位置为将360°大致等分且相邻的旋转位置中上述检测器的读取范围重叠的位置,取得在旋转一周内上述读取值f(θ+φ)与f(θ)之差g(θ,φ)的平均值gm(φ)以及各个上述差g(θ,φ)与上述平均值gm(φ)之间的偏差h(θ,φ),通过在相邻的旋转角度位置上读取范围重叠的部分上使上述偏差h(θ,φ)重叠并连续,进行从0°到360°的读取值f(θ)的自校正,因此能够更迅速地进行自校正。
根据第三技术方案涉及的发明,由于本发明还使取得上述读取值f(θ+φ)和f(θ)的旋转圆盘的旋转位置为将360°大致等分的位置,根据上述读取值f(θ+φ)与f(θ)之差g(θ,φ)的变化,求出上述差g(θ,φ)作为傅立叶级数,根据该结果进行从0°到360°的读取值f(θ)的自校正,进行更高精度的自校正,能够获得高精度的测角值。
根据第四技术方案涉及的发明,进而由于上述傅立叶级数求出1个以上的任意高次谐波,因此校正所需的时间不怎么增长,能够提高校正精度。
根据第五技术方案涉及的发明,进而由于上述任意角度φ使用1个以上的任意位置,因此能够进一步提高校正精度。
根据第六技术方案涉及的发明,由于将多次的读取值平均来获得上述读取值,因此能够减轻噪音等的影响,能够更高精度地进行自校正。
【附图说明】
图1是本发明及现有技术的旋转编码器的方框图。
图2是表示本发明的旋转编码器中旋转圆盘与CCD线性传感器的位置关系的俯视图。
图3是说明本发明的第一实施例涉及的旋转编码器中的自校正的方法的图。
图4是表示上述旋转编码器中自校正的过程的流程图。
图5是说明本发明的第二实施例涉及的旋转编码器中的自校正的方法的图。
图6是表示上述第二实施例涉及的旋转编码器中自校正的过程的流程图。
符号说明
1旋转圆盘
2光源
3CCD线性传感器(检测器)
6CPU(运算部)
θ、φ角度码
f(θ)、f(θ+φ)读取值
g(θ,φ)=f(θ+φ)-f(θ)
gm(φ)=g(θ,φ)的平均
h(θ,φ)=g(θ,φ)-gm(φ)
【具体实施方式】
下面根据附图详细说明本发明。首先根据图2~图4说明本发明的第一实施例。图2为表示本实施例的绝对编码器(以下仅记为编码器)中旋转圆盘与CCD线性传感器的位置关系的俯视图。图3为用于说明该编码器的自校正方法的图。图4为表示该编码器的自校正的过程的流程图。该编码器除了具有下述自校正功能外,结构与图1所示的现有技术的编码器的结构相同。因此,有关该编码器的结构的说明省略。因此,详细说明该编码器的自校正功能。
在图2的俯视图中,假设从旋转圆盘1的中心O向CCD线性传感器3引出的垂线的垂点为A。并且,假设CCD线性传感器3上的适当的点为B。CPU6利用CCD线性传感器3分别读出设在旋转圆盘1上的A点和B点正下方的角度码11,能够进行内插处理来分别求出A点和B点上的角度的读取值f(θ)和f(θ+φ)。其中,假设A点与0°方向M之间的真角为θ、角AOB的真角为φ。
此外,由于读取值f(θ)和f(θ+φ)为以360°为周期的周期函数,因此,如果使用傅立叶级数,则能够以下式来表示。
f(θ)=θ+∑n=1M/2An*sin(nθ+αn) (1)
f(θ+φ)=(θ+φ)+∑n=1M/2An*sin{n(θ+φ)+αn} (2)
其中,n为表示高次谐波的次数的自然数(1、2、3、……,M/2),An为第n次谐波的振幅,αn为第n次谐波的初始相位,M为刻度数,是偶数。
因此,比较A点和B点各自的读取值f(θ)与f(θ+φ),求出用下式表示的两者之差g(θ,φ)。
g(θ,φ)=f(θ+φ)-f(θ) (3)
该差g(θ,φ)根据(1)、(2)式可如下表示。
g(θ,φ)=f(θ+φ)-f(θ)
=(θ+φ)+∑n=1M/2An*sin{n(θ+φ)+αn}
-θ+∑n=1M/2An*sin(nθ+αn) (4)
而且,若继续计算,则g(θ,φ)最终成为下式。
g(θ,φ)
=φ+∑n=1M/2An*sin(nθ/2)*cos{n(θ+φ/2)+αn}
=B0+∑n=1M/2Bn*sin(nθ+βn) (5)
其中:
φ=B0 (6)
An=Bn/sin(nφ/2) (7)
αn=βn-nφ/2+π/2 (8)
这样,g(θ,φ)也能够用以360°为周期的傅立叶级数表示。
因此,如图3的(A)所示,如果使旋转圆盘1旋转将360°N等分后的规定角度(例如5°)之后而在旋转角θj的位置上获得A点和B点上的读取值f(θj)和f(θj+φ),则能够像图3的(B)所示那样求出公式(3)所表示的每规定角度θj的g(θj,φ)。其中j=0、1、2、3、……、N-1。如果求出每规定角度θj的g(θj,φ),则能够用公知的方法计算出公式(5)中的傅立叶级数的各个系数B0、Bn、βn。这样,如果求出B0、Bn、βn,能够进一步用公式(6)、(7)、(8)求出φ、An、αn。这样,如果知道An、αn,则能够根据将公式(1)变形后的下式来求出真角θ。
θ=f(θ)-∑n=1M/2An*sin(nθ+αn)=f(θ)-E(θ) (9)
其中,E(θ)=∑n=1M/2An*sin(nθ+αn)为误差函数。这里,在误差函数E(θ)的傅立叶级数中不需要求出过高的高次谐波,在对径检测(对向検出)的旋转编码器中,由于消除了偏心误差,因此多数情况下只要求出第二次谐波(n=2)就足够了。即使求出了第三次谐波以上,也仅仅是增加了计算量和存储容量,而校正精度大部分情况下并不怎么提高。
为了实现更高的校正精度,需要除去干扰等的影响。因此,测量角度时多次从CCD线性传感器3取得数据,并采用平均值,来求出读取值f(θ+φ)、f(θ)。从以上说明可知,如果采用本实施例,不需要特别熟练的技术人员或昂贵的设备,就能够求出测角值的误差函数E(θ),能够实现更高的校正精度。
上述自校正一般在CPU6中进行。该自校正的步骤如图4所示。
首先,若启动自校正程序,则进入步骤S1,取得CCD线性传感器3上的2点A、B正下方的读取值f(θj)、f(θj+φ)。在进行了规定次数的该读取后,前进到步骤S2,计算出读取值f(θj+φ)、f(θj)的平均值。再前进到步骤S3,计算出2个读取值f(θj+φ)、f(θj)之差g(θj,φ)=f(θj+φ)-f(θj)并存储。
然后前进到步骤S4,检查是否取得了所有预定的数据,即检查是否取得了每个规定角度θj的g(θj,φ)。例如,以θ为5°的间隔在遍及360°检查是否取得了g(θj,φ)。如果没有取得所有预定的数据,则前进到步骤S5,手动使旋转圆盘1旋转规定的角度(也可以用步进电动机等自动进行),并返回步骤S1。以后反复进行步骤S1~S5。求出每个规定角度θj的g(θj,φ)并存储。
当在步骤S4中判定为已经进行了规定次数的数据取得时,前进到步骤S6,根据每个规定角度θj的g(θj,φ)计算出公式(5)所示的g(θ,φ)的傅立叶级数的系数,即计算出B0、Bn、βn。再前进到步骤S7,根据该B0、Bn、βn中计算出读取值f(θ)的误差函数E(θ)的傅立叶级数的系数,即计算出An、αn。然后前进到步骤S8,求出该An、αn并存储。这样一来,在以后的测量中能够用公式(9)根据读取值f(θ)准确地求出真角θ。
下面根据图2、图5和图6说明本发明的第二实施例。如图2所示,如果在旋转圆盘1的旋转角θ的位置上在CCD线性传感器3的读取范围内将θ固定,改变φ的值,则能求出读取值f(θ+φ)的变化。读取值f(θ+φ)和f(θ)与上述公式(1)和(2)一样用下式表示。
f(θ)=θ+∑n=1∞An*sin(nθ+αn)=θ+E(θ) (11)
f(θ+φ)=(θ+φ)+∑n=1∞An*sin{n(θ+φ)+αn}
=(θ+φ)+E(θ+φ) (12)
其中,E(θ)为误差函数。
这里,计算出下式表示的两读取值f(θ+φ)、f(θ)之差g(θ,φ)。
g(θ,φ)=f(θ+φ)-f(θ) (13)
当将(11)式和(12)式代入(13)式中时,为下式。
g(θ,φ)=φ+E(θ+φ)-E(θ) (14)
再像图5的(A)所示那样,在使旋转圆盘1旋转将360°N等分后的规定角度(例如5°)之后的旋转角θj的位置上,边移动B点,即边改变φ,边在CCD线性传感器3的读取范围内求出B点上的读取值f(θj+φ)。但是,在相邻的旋转位置θj-1,θj、θj+1上,f(θj-1,φ′)、f(θj,φ)和f(θj+1,φ″)的读取范围重叠,并且j=0、1、2、3、……、N-1。如果这样对每个规定角度θj求出公式(13)中表示的g(θj,φ),并且取该g(θj,φ)的平均值gm(φ),则如下式。
因此再计算用下式(16)定义的h(θj,φ)。
h(θj,φ)=g(θj,φ)-gm(φ) (16)
20
当将(14)式和(15)式代入(16)式中时,为下式。
其中,如果以θj的位置为基点认为E(θj)为常数,使E(θj)为Cj,则公式(17)如下式那样书写:
虽然该Cj为未知数,但由于在相邻的旋转位置θj-1,θj上读取范围重叠,因此在重叠范围内h(θj-1,φ′)与h(θj,φ)必须一致。图5的(B)所示的两者之间的偏移调整量ΔCj用下式表示。
ΔCj=Cj-Cj-1 (19)
如果假设用该偏移调整量ΔCj调整后的h(θj,φ)为h′(θj,φ),则h′(θj,φ)为下式。
h’(θj,φ)=h(θj,φ)+ΔCj (20)
以下,如果对每个角度θj计算出偏移调整量ΔCj,并将公式(18)和公式(19)代入公式(20)中,则获得下式。
h’(θj,φ)=E(θj+φ)+Cj-1 (21)
然后对任意的θ,能够获得下式。
h’(θ,0)=E(θ)+Cj-1 (22)
虽然该h′(θ,0)中包含偏移量Cj-1,但通常也可以忽略Cj-1,使h′(θ,0)约等于误差函数E(θ)。因此,如果求出根据公式(16)求出的h(θj,φ)作为误差函数,再加上偏移调整量ΔCj求出调整后的h(θ,0),则真角θ能够从下式求出。
θ=f(θ)-h’(θ,0) (23)
下面在图6中表示该自校正的过程。
首先,当启动自校正程序时,前进到步骤S11,一边改变φ一边取得CCD线性传感器3上的多个点正下方的读取值f(θj+φ)、f(θj)。在进行了规定次数的该读取后,前进到步骤S12,计算出读取值f(θj+φ)、f(θj)的平均值。再前进到步骤S13,计算出2个读取值之差g(θj,φ)=f(θj+φ)-f(θj)。
然后前进到步骤S14,检查是否取得了预定的每个规定角度的所有数据,即检查是否取得了与每个规定角度θj相对应的g(θj,φ)。例如,将θ以5°为间隔在整个360°内检查是否取得了预定的g(θj,φ)。如果没有取得预定的所有数据,则前进到步骤S15,手动使旋转圆盘1旋转规定的角度(也可以用步进电动机等自动进行),并返回步骤S11。以后反复进行步骤S11~S15求出每个规定角度θj的g(θj,φ)并存储。
当在步骤S14中判定为已经取得了预定的所有数据时,前进到步骤S16,计算出g(θj,φ)的平均值gm(φ)(参照公式(15))。再前进到步骤S17,计算出h(θj,φ)=g(θj,φ)-gm(φ)(参照公式(16))。然后前进到步骤S18,计算出h(θj-1,φ′)与h(θj,φ)之间的偏移调整量ΔCj(参照公式(19))。接着前进到步骤S19,将偏移调整量ΔCj加到h(θj,0)中求出误差函数h′(θ,0)并存储。
由此,在以后的测量中能够用公式(23)根据读取值f(θ)准确地求出真角θ。本实施例的情况下,由于能够用少的计算量求出误差函数h′(θj,0),因此能够缩短自校正所需要的时间。
但是,上述实施例也可能进行各种变形。例如,不一定要像上述第一实施例那样求出从旋转圆盘1的中心O向针对旋转圆盘1的CCD线性传感器3引出的垂直的垂点A和CCD线性传感器3上的点B正下方的读取值f(θ)、f(θ+φ),也可以求出CCD线性传感器3上任意决定的多个位置的读取值。并且,也可以选取图2中CCD线性传感器3上的第三点,用上述公式(2)制作φ=φ3的公式(2′),分别求出上述公式(1)和公式(2)以及上述公式(1)和公式(2′)涉及的读取值,根据它们分别求出误差函数E(θ),再取平均值。而且,也可以用上述公式(2)作成φ=φn(n=1、2、3、……)的公式(2″),分别求出上述公式(1)和公式(2″)的读取值,根据它们求出误差函数E(θ)再取平均值。