本发明涉及一种编码器的信号处理装置、编码器、信号处理方法以及计算机可读记录介质。
背景技术:
以往,在编码器中,已知存在与原始信号的1个周期同步产生的检测误差。产生该检测误差的原因是原始信号不是理想的正弦波及余弦波,而是包含偏移电压,振幅差,相位差,波形失真等。在编码器的输出信号中包含检测误差的情况下,测定对象物的位置的检测精度下降。
为了修正这样的检测误差,在专利文献1所记载的技术中,利用检测误差与原始信号的1个周期同步的情况,在运行时自动检测并修正误差量。
此外,为了提高由编码器检测出的位置的检测精度,在专利文献2所记载的技术中,针对因电动机的旋转不均匀而产生的编码器的位置信号的误差,对从编码器输出的原位置信号的检测值即位置数据进行插补,根据该插补位置数据获得所希望的旋转位置与到该位置为止的时间的关系。
现有技术文献
专利文献
专利文献1:日本专利第03772121号公报
专利文献2:日本特开平11-249742号公报
技术实现要素:
然而,在专利文献1所记载的技术中,推算1个周期内的等间隔位置的检测误差并存储于寄存器中,对检测点间以直线进行插补并求出任意位置的检测误差,并对位置数据进行修正。在该情况下,在检测点间,固定时间间隔的修正量即速度成分固定,相对于此,在检测点修正量的速度成分不连续且修正量的加速度成分急速变动。因此,有可能对根据加速度来提供扭矩的电动机的扭矩指令产生影响。
另外,在专利文献2所记载的技术中,进行与编码器的1次旋转内的位置数据相对应的修正,因此难以去除与原始信号的1个周期同步产生的检测误差。
本发明的目的是提供一种在对编码器的输出信号的误差进行修正时,抑制对扭矩指令产生影响的加速度成分的变动。
(1)为了实现上述目的,本发明的一方式的编码器的信号处理装置(例如,后述的编码器的信号处理装置d)从根据被测定体的移动在编码器内产生的模拟量即原始信号中,按固定时间间隔检测出位置数据,该信号处理装置具备:近似曲线计算部(例如,后述的m次曲线系数计算电路51),其根据在上述编码器产生的原始信号的1个周期内,等间隔取得的至少3个点以上的上述位置数据的检测误差,计算出上述编码器产生的原始信号所包含的上述检测误差的近似曲线;近似误差计算部(例如,后述的m次曲线检测误差计算电路52),其根据由上述近似曲线计算部计算出的上述检测误差的近似曲线,计算任意时刻的上述位置数据的检测误差的近似值;以及位置数据修正部(例如,后述的m次曲线修正计算电路53),其根据由上述近似误差计算部计算出的上述位置数据的检测误差的近似值,对上述任意时刻的上述位置数据的检测误差进行修正。
(2)也可以在(1)的编码器的信号处理装置中,当上述被测定体处于在具有预定值以内的速度变动量的预定速度范围内移动的状态时,上述近似曲线计算部根据至少3个点以上的被连续检测出的(n+1)个位置数据群(n≥2)的各值、以及将上述位置数据群中的两端的上述位置数据连结的直线,分别求出将上述位置数据群中的两端的上述位置数据之间以固定时间间隔等分后的时刻的检测误差,根据以上述固定时间间隔等分后的时刻中任意时刻的前后(m+1)点的上述位置数据的检测误差(m≥2),计算出与上述(m+1)点的检测误差近似的检测误差近似曲线。
(3)也可以在(2)的编码器的信号处理装置中,上述近似曲线计算部计算出通过上述(m+1)点的m次曲线来作为上述检测误差的近似曲线。
(4)也可以在(3)的编码器的信号处理装置中,将上述m次曲线设为奇数次。
(5)也可以在(1)至(4)的编码器的信号处理装置中,上述近似误差计算部根据上述检测误差的近似曲线,预先计算并存储等间隔位置上的检测误差,将该存储的检测误差间以直线进行插补来求出任意位置的检测误差。
(6)此外,本发明的一方式的编码器从根据被测定体的移动产生的模拟量即原始信号中,按固定时间间隔检测出位置数据,该编码器具备:近似曲线计算部,其根据在该编码器产生的原始信号的1个周期内,等间隔取得的至少3个点以上的上述位置数据的检测误差,计算出上述编码器产生的原始信号所包含的上述检测误差的近似曲线;近似误差计算部,其根据由上述近似曲线计算部计算出的上述检测误差的近似曲线,计算任意时刻的上述位置数据的检测误差的近似值;以及位置数据修正部,其根据由上述近似误差计算部计算出的上述位置数据的检测误差的近似值,对上述任意时刻的上述位置数据的检测误差进行修正。
(7)此外,本发明的一方式的信号处理方法用于从根据被测定体的移动在编码器内发生的模拟量即原始信号中按固定时间间隔检测出位置数据的编码器,该信号处理方法具备:近似曲线计算步骤,其根据在上述编码器产生的原始信号的1个周期内,等间隔取得的至少3个点以上的上述位置数据的检测误差,计算出上述编码器产生的原始信号所包含的上述检测误差的近似曲线;近似误差计算步骤,其根据在上述近似曲线计算步骤中计算出的上述检测误差的近似曲线,计算任意时刻的上述位置数据的检测误差的近似值;以及位置数据修正步骤,其根据在上述近似误差计算步骤中计算出的上述位置数据的检测误差的近似值,对上述任意时刻的上述位置数据的检测误差进行修正。
(8)此外,本发明的一方式的程序,使构成从根据被测定体的移动在编码器内发生的模拟量即原始信号中按固定时间间隔检测出位置数据的编码器的信号处理装置的计算机实现如下功能:近似曲线计算功能,其根据在上述编码器产生的原始信号的1个周期内,等间隔取得的至少3个点以上的上述位置数据的检测误差,计算出上述编码器产生的原始信号所包含的上述检测误差的近似曲线;近似误差计算步骤,其根据由上述近似曲线计算功能计算出的上述检测误差的近似曲线,计算任意时刻的上述位置数据的检测误差的近似值;以及位置数据修正功能,其根据由上述近似误差计算功能计算出的上述位置数据的检测误差的近似值,对上述任意时刻的上述位置数据的检测误差进行修正。
根据本发明,在对编码器的输出信号的误差进行修正时,能够抑制对扭矩指令产生影响的加速度成分的变动。
附图说明
图1是表示本发明的一实施方式的编码器的信号处理装置的结构的框图。
图2是开始条件判定电路的详细框图。
图3是本发明的第1实施方式的说明图。
图4是表示根据检测出的位置数据来描绘检测位置的近似曲线的方法的示意图。
图5是表示近似中所使用的检测点与近似曲线的关系的示意图。
图6是表示在图4所示的位置数据的示例中对检测位置进行直线插补的情况的图。
图7是表示图6所示的位置数据的示例中的各位置px1~px9的速度成分的图。
图8是表示图6所示的位置数据示例中的各位置px1~px9的加速度成分的图。
图9是表示图4所示的位置数据示例中的各位置px1~px9的速度成分的图。
图10是表示图4所示的位置数据示例中的各位置px1~px9的加速度成分的图。
图11是表示在近似曲线的次数为奇数(这里为3次)的情况下,在正旋转和逆旋转中用于系数计算的检测点的形式的示意图。
图12是表示在近似曲线的次数为偶数(这里为2次)的情况下,在正旋转和逆旋转中用于系数计算的检测点的形式的示意图。
图13是表示第3实施方式中的m次曲线检测误差计算电路的结构的示意图。
图14是表示在通过检测点的m次曲线中,预先计算将检测点等分后的时刻的检测误差的形式的示意图。
图15是表示通过软件执行检测误差数据的计算处理以及位置数据的修正处理时的结构的框图。
图16是表示处理器执行的检测误差数据的计算处理(与通过检测误差数据计算电路进行的处理相同的处理)的流程的流程图。
图17是表示处理器执行的位置数据的修正处理(与通过检测误差修正电路进行的处理相同的处理)的流程的流程图。
附图标记说明
d编码器的信号处理装置
1a、1b模拟放大电路
2a、2b模拟-数字转换电路
3数字内插电路
4检测误差数据计算电路
41开始条件判定电路
42寄存器群
43检测误差计算电路
44检测误差存储寄存器
45平均化电路
5检测误差修正电路
51m次曲线系数计算电路
52m次曲线检测误差计算电路
52a寄存器
53m次曲线修正计算电路
6位置数据生成电路
411a、411b、411c位置数据寄存器
412a第1速度计算电路
412b第2速度计算电路
413零交叉点检测电路
414加速度计算电路
415位置数据寄存器存储开始判定及误差计算开始信号判定电路
100处理器
110rom
120ram
130存储部
具体实施方式
下面,参照附图对本发明的实施方式进行说明。
[第1实施方式]
[结构]
图1是表示本发明的一实施方式所涉及的编码器的信号处理装置d的结构的框图。
在本实施方式中,通过模拟放大电路1a、1b将根据被测定体的移动而从编码器的感知部输出的正弦波sa、余弦波sb的原始信号放大为符合下一阶段的模拟-数字转换电路2a、2b的输入。通过模拟-数字转换电路2a、2b,按固定采样周期将放大后的模拟信号转换为数字信号。根据转换后的数字值,数字内插电路3对原始信号1个周期(正弦波1个周期)内的位置进行计算,并输出到检测误差数据计算电路4。
检测误差数据计算电路4具备:开始条件判定电路41、寄存器群42、检测误差计算电路43、检测误差存储寄存器44、平均化电路45。开始条件判定电路41从数字内插电路3接受位置数据,判别是否满足开始时要件,若满足,则将比原始信号的1个周期相对应的量的采样数稍多(在此为1个)的采样数的位置数据p(0)~p(n+1)存储于寄存器群42中。另外,在此将1个周期设为采样n+1次(n为2以上的整数)。
检测误差计算电路43由存储于寄存器群42中的位置数据p(0)~p(n+1)的状态推算1个周期内的等间隔位置的检测误差数据。此外,检测误差存储寄存器44存储过去数次推算出的检测误差数据。通过平均化电路45对存储在该检测误差存储寄存器44中的过去数次的检测误差数据进行平均化,并将其平均值的检测误差数据输出到检测误差修正电路5的m次曲线系数计算电路51。取多个检测误差数据的平均是为了提高检测误差数据的精度,在简单进行的情况下,也可以不设置检测误差存储寄存器44、平均化电路45,而直接将由检测误差计算电路43求出的检测误差数据存储在m次曲线系数计算电路51中。
检测误差修正电路5具备:m次曲线系数计算电路51、m次曲线检测误差计算电路52、m次曲线修正计算电路53。m次曲线系数计算电路51对通过存储在检测误差存储寄存器44中的检测误差的前后m+1点的m次曲线的系数进行计算。另外,m为2以上的整数。m次曲线检测误差计算电路52在通过m次曲线系数计算电路51计算出了系数的m次曲线中,计算任意时刻的检测误差。m次曲线修正计算电路53使用由m次曲线检测误差计算电路52计算出的检测误差,计算并修正由数字内插电路3输出的位置数据的检测误差,并输出到位置数据生成电路6。
位置数据生成电路6根据修正后的1个周期内的位置数据、以及在该框图中省略的对原始信号的周期进行计数的计数器的数据来生成位置数据。
图2是开始条件判定电路41的详细框图。开始条件判定电路41具备:对由数字内插电路3按预定采样周期输出的位置数据中的本次、上次、上上次的采样周期的位置数据进行存储的3个位置数据寄存器411a、411b、411c、第1、第2速度计算电路412a、412b零交叉点检测电路413、加速度计算电路414、和位置数据寄存器存储开始判定及误差计算开始信号判定电路415。
将由数字内插电路3输出的按预定采样周期的位置数据存储在本次的位置数据寄存器411a中,将存储在本次的位置数据寄存器411a中的位置数据存储在上次的位置数据寄存器411b中,将存储在上次的位置数据寄存器411b中的位置数据存储在上上次的位置数据寄存器411c中,每次由数字内插电路3输出位置数据(按采样周期)时使位置数据移动,存储本次、上次、上上次的采样周期的位置数据。
第1速度计算电路412a根据存储在本次的位置数据寄存器411a中的本次的位置数据与存储在上次的位置数据寄存器411b中的位置数据的差来求出当前速度,第2速度计算电路412b根据分别存储在上次的位置数据寄存器411b、上上次的位置数据寄存器411c中的位置数据的差来求出周期前的当前速度。此外,加速度计算电路414根据由第1、第2速度计算电路412a、412b求出的速度的差来求出加速度。
零交叉点检测电路413根据存储在本次的位置数据寄存器411a和上次的位置数据寄存器411c中的位置数据,检测出原始信号sa、sb的1个周期的开始即零交叉点。
位置数据寄存器存储开始判定及误差计算开始信号判定电路415以满足位置数据的设定导入条件为条件,在通过零交叉点检测电路413检测出零交叉点时,将从零交叉点起包含下个零交叉点的原始信号的1个周期以上的位置数据p(0)~p(n+1)存储在寄存器群42中。此外,在检测出下个零交叉点时,将误差计算开始信号过渡给检测误差计算电路。
作为位置数据的导入条件,设为:在通过第1速度计算电路412a求出的速度(位置数据p(-1)与p(0)的差)进入预定范围、进而使精度提高时,当通过加速度计算电路414求出的加速度(位置数据p(-2)和p(-1)的差与p(-1)和p(0)的差的差)达到规定范围时,并且在原始信号的1个周期的结束时刻,通过上述第1速度计算电路412a检测出的加速度(位置数据p(n-2)和p(n-1)的差与p(n-1)和p(n)的差的差)进入预定值内时。
以上为本实施方式的编码器的信号处理装置d的主要部分的结构。
接着,对在该实施方式中实施的检测误差修正的各种方法的实施方式进行说明。
图3是第1实施方式的说明图,设为通过n次的采样得到原始信号的1个周期相对应的量的位置数据。即,将采样周期设为ts,将安装有编码器的感知部的移动体(旋转体)的移动速度设为固定速度v。此外,将1个周期相对应的量的移动体的移动量(旋转角)设为l时,l=n·ts·v。并且,在检测出零交叉点后,将初始的采样时刻设为时间0,将此时采样的位置数据设为p(0),将检测出下个零交叉点后的初始采样时的位置数据设为p(n),此时从位置数据p(0)直至得到位置数据p(n)为止大致相当于1个周期(p(n)-p(0)=l)。
在将横轴作为时间轴,将纵轴作为检测位置而绘图时,在图3中在波线的曲线上绘制圆圈来表示该1个周期内的n个采样的位置数据。另外,在图3中,检测位置数据是从0~l为止重复被检测的结果,因此在达到1个周期l时,将该点作为下一个周期的“0”,从而在直线上连续地表示。
虽然位置数据是按采样周期ts求出的,但是由于速度v固定、且采样周期ts也固定,因此采样之间的移动距离l=v·ts固定。因此,图3中的横轴也表示移动体的移动距离(旋转角度)。即,在第m次的采样时刻是从得到位置数据p(0)的采样时刻起经过了m·ts的时间的时刻,且为移动体的移动距离(旋转角度)1=m·v·ts的位置。
以等速v运动,且采样周期ts为n次,移动原始信号1个周期相对应的量的距离l,因此位置线性变化,在第m次的采样时刻,移动距离为1=l·m/n。因此,若将位置数据p(n)设为与位置数据p(0)的延迟1个周期的相同的值,则应位于连结位置数据p(0)和p(n)的图3中以虚线所示的直线上。在图3所示的虚线直线表示移动1个周期相对应的量时,示出该应检测出的位置。但是,在实际采样检测出的位置为图3的圆圈所示的位置p(m)时,将检测误差d(m)求出为:
d(m)=p(m)-[p(0)+l·m/n]
=|p(m)-[p(0)+{p(n)-p(0)}×m/n]···(1)
在此,在本实施方式中,并不限定于采样检测出的位置数据,在任意的位置数据p(m),都能够通过检测误差修正电路5计算出误差数据d(m),并进行位置数据的修正。即,能够通过m次曲线系数计算电路51计算出近似曲线的系数,通过m次曲线检测误差计算电路52计算出检测误差,并通过m次曲线修正计算电路53进行位置数据的修正。
图4表示根据检测出的位置数据来绘制检测位置的近似曲线的形式的示意图。另外,在图4中,示出了通过如下三次曲线来进行绘制的例子。
p(tx)=atx3+btx2+ctx+d···(2)
另外,数学式(1)中,a、b、c、d为系数。
如图4所示,在位置px5~px8(检测点p(m-1)、p(m)之间),能够按如下方式计算通过前后2个检测点p(m-2)、p(m-1)、p(m)、p(m+1)的三次曲线的系数。
图5是表示用于近似的检测点与近似曲线的关系的示意图。
如图5所示,在将通过检测点p(m-1)的时刻设为t=0时,在通过固定时间间隔t的时刻上的检测点p(m-2)、p(m)、p(m+1)的时刻分别给出-t、t、2t。
因此,对于通过4个检测点p(m-2)、p(m-1)、p(m)、p(m+1)的三次曲线p(t)=at3+bt2+ct+d的系数a、b、c、d,以下的4个数学式成立。
p(m-2)=-at3+bt2-ct+d···(3)
p(m-1)=d···(4)
p(m)=at3+bt2+ct+d···(5)
p(m+1)=8at3+4bt2+2ct+d···(6)
根据这4个数学式,可以按如下方式求出系数a、b、c、d。
a=(-p(m-2)+3p(m-1)-3p(m)+p(m+1))÷6t3···(7)
b=(p(m-2)-2p(m-1)+p(m))÷2t2···(8)
c=(-2p(m-2)-2p(m-1)
+6p(m)-p(m+1))÷6t3···(9)
d=p(m-1)···(10)
通过这样计算出系数a、b、c、d,可以决定3次的近似曲线p(t),并通过检测误差修正电路5求出近似曲线p(t)上的任意时刻的检测误差,从而对位置数据进行修正。
因此,可以抑制误差量的速度成分变化、以及加速度成分变化,并减轻对电动机的扭矩命令的影响。
另外,在此,虽然以检测点p(m-1)、p(m)之间为例求出了系数,但是在其他的检测点p(m-2)、p(m-1)之间,或者检测点p(m)、p(m+1)之间也可以同样地由前后2个检测点计算出三次曲线的系数,从而求出任意时刻的检测误差并对位置数据进行修正。
[比较例]
如上所述构成的编码器的信号处理装置d相较于以直线对检测点间进行插补的情况,在修正编码器的输出信号的误差时,能够抑制对扭矩指令产生影响的加速度成分的变动。
图6是表示在图4所示的位置数据的示例中对检测位置进行直线插补的情况的图。
此外,图7是表示图6所示的位置数据的示例中的各位置px1~px9的速度成分的图,图8是表示图6所示的位置数据的示例中的各位置px1~px9的加速度成分的图。另外,图8所示的加速度成分表示与对于图7所示的各时间的速度成分相邻的时间的差分。
在图6中,各检测点间被进行直线插补,因此检测点间的检测位置分布在被插补后的直线上。
在该情况下,检测点间的检测位置的速度成分固定,加速度成分为零。
图9是表示图4所示的位置数据的示例中的各位置px1~px9的速度成分的图。
此外,图10是表示图4所示的位置数据的示例中的各位置px1~px9的加速度成分的图。另外,图10所示的加速度成分表示与对于图9所示的各时间的速度成分相邻的时间的差分。
在图4所示的位置数据的示例中,检测点之间的检测位置分布于近似曲线上。
在该情况下,各位置px1~px9上的速度成分变成图9那样的值,各位置px1~px9的加速度成分变成图10那样的值。
在比较对各检测点之间进行直线插补时的速度成分(图7)与对各检测点之间以近似曲线进行插补时的速度成分(图9)时,如本发明所示可知,对各检测点之间以近似曲线进行插补时的速度成分的较大变化被抑制。
同样地,在比较各检测点之间进行直线插补时的加速度成分(图8)与对各检测点之间以近似曲线进行插补时的加速度成分(图10)时,如本发明所示可知,对各检测点之间以近似曲线进行插补时的加速度成分的较大变化被抑制。
[第2实施方式]
接着,对本发明的第2实施方式进行说明。
在第2实施方式中,由于编码器即使在逆旋转的情况下也能够恰当地对位置数据进行修正,因此将第1实施方式所示的近似曲线的次数设为奇数。
图11是表示在近似曲线的次数为奇数(在此为3次)的情况下,在正旋转和逆旋转中用于计算系数的检测点的形式的示意图。另外,图6中的正旋转时的检测位置与逆旋转时的检测位置左右反转。
如图11所示,在近似曲线的次数为3次的情况下,通过使用关注的时刻tx的前后4个检测点,来计算三次曲线的系数a、b、c、d,可以将tm-1≤tx≤tm范围内的任意时刻的检测误差p(tx)求取为:
p(tx)=atx3+btx2+ctx+d。
此外,由于即使是在逆旋转的情况下,也是使用与正旋转的情况同样的前后4个检测点,因此唯一地决定近似曲线的系数。
图12是表示在近似曲线的次数为偶数(在此为2次)的情况下,在正旋转和逆旋转中用于计算系数的检测点的形式的示意图。另外,图12中的正旋转时的检测位置与逆旋转时的检测位置左右反转。
在近似曲线的次数为2次的情况下,可以使用所关注的时刻tx之前的时刻tm-1这1个检测点、以及所关注的时刻tx之后的时刻tm、tm+1这2个检测点,根据以下的数学式来计算出2次曲线的系数a、b、c。
a=(p(m-1)-2p(m)+p(m+1))÷2···(11)
b=(-p(m-1)+2p(m+1))÷2···(12)
c=p(m)···(13)
使用这些系数,将tm-1≤tx≤tm范围内的任意时刻的检测误差p(tx)求取为:
p(tx)=atx2+btx+c···(14)
然而,在逆旋转的情况下,与正旋转同样地,使用关注的时刻tx之前的时刻tm-1这1个检测点、以及关注的时刻tx之后的时刻tm、tm+1这2个检测点时,计算出通过不同的3个点的二次曲线的系数,在编码器逆旋转的情况下,有可能无法恰当地对位置数据进行修正。
即,将近似曲线的次数设为奇数,由此能够更恰当地对位置数据进行修正。
[第3实施方式]
接着,对本发明的第3实施方式进行说明。
在第3实施方式中,为了简化检测误差的计算,使处理高速化,预先计算并存储近似曲线中的预定的检测误差。
图13是表示本实施方式的m次曲线检测误差计算电路52的结构的示意图。
此外,图14是表示在通过检测点的m次曲线中,预先计算将检测点等分后的时刻的检测误差的形式的示意图。
如图13所示,本实施方式的m次曲线检测误差计算电路52具备寄存器52a,可以将计算出的预定的检测误差存储于寄存器52a中。
并且,如图14所示,m次曲线检测误差计算电路52预先计算将检测点等分后的时刻的、通过m次曲线的检测误差并存储于寄存器52a中。
在图14中示出了将检测点p(m-1)、p(m)间以时间t进行8等分,计算出各时刻t1~t7的m次曲线上的检测误差p(1)~p(7)的例子。将这些检测误差p(1)~p(7)存储于寄存器52a中。
m次曲线检测误差计算电路52在计算任意时刻的检测误差时,根据该时刻前后的检测误差对包含任意时刻的期间进行直线插补,由此计算出该时刻的检测误差。
例如,在对图14中的时刻t5、t6间的期间进行直线插补来计算检测误差p(x)的情况下,可以使用检测误差p(5)、p(6)求取为:
p(x)=(p(6)-p(5))×(tx-t5)÷t+p(5)···(15)
通过这样求出检测误差,与逐次计算任意时刻的m次曲线上的检测误差的情况相比,能够简化计算,使处理高速化。
[变形例1]
在上述的各实施方式中,虽然在检测误差数据计算电路4中设置开始条件判定电路41,并通过该开始条件判定电路41来进行判别并向寄存器群42进行数据导入、以及输出基准数据的计算指令,但是也可以不设置该开始条件判定电路41,通过对安装有该编码器的机械或装置进行控制的数值控制装置等控制装置,来判别开始条件,由该控制装置进行数据导入、以及输出基准数据的计算指令。
[变形例2]
在上述的各实施方式中,也可以通过处理器构成检测误差数据计算电路4,进而构成检测误差修正电路5,并通过软件进行处理。
图15是表示通过软件执行检测误差数据的计算处理以及位置数据的修正处理时的结构的框图。
如图15所示,在通过软件执行检测误差数据的计算处理以及位置数据的修正处理的情况下,代替图1中的检测误差数据计算电路4和检测误差修正电路5,本发明所涉及的编码器的信号处理装置d中具备:处理器100、rom(readonlymemory:只读存储器)110、ram(randomaccessmemory:随机存取存储器)120、存储部130。
处理器100执行存储在rom110或存储部130中的用于检测误差数据的计算处理的程序以及用于位置数据的修正处理的程序。
在rom110中写入了用于控制编码器的信号处理装置d的各种程序。
ram120由dram(dynamicrandomaccessmemory:动态随机存取存储器)等半导体存储器构成,在存储处理器100执行各种处理时生成的数据。
存储部130由硬盘或闪速存储器等非易失性存储装置构成,存储用于检测误差数据的计算处理的程序以及用于位置数据的修正处理的程序等各种程序、在编码器的信号处理装置d中所使用的各种数据。
图16是表示由处理器100执行的检测误差数据的计算处理(与由检测误差数据计算电路4进行的处理相同的处理)的流程的流程图。
首先,在基准数据生成指令被手动输入或作为来自对安装有该编码器的机械或装置进行控制的控制装置的指令而被输入时,处理器100根据由数字内插电路3输出的采样位置数据,判别是否满足设定检测误差计算开始条件。即,判别当前的速度是否为规定值,进而判别加速度是否在规定值以内(步骤a1)。
当判别为满足设定检测误差计算开始条件时,导入1个周期相对应的量以上的由数字内插电路3输出的采样位置数据(步骤a2、a3)。
该位置数据的导入完成时,判别1个周期相对应的量的位置数据导入完成时的加速度是否在规定范围内(步骤a4)。在与规定范围有所偏离的情况下,表示在取得了位置数据的1个周期内存在速度变化,因此返回到步骤a1,再次进行位置数据的导入。
在步骤a4中,在判断为加速度在规定范围内的情况下,将导入的位置数据视为速度固定的数据,根据导入的位置数据求出根据该位置数据设定的位置pa、从该位置pa起经过1个周期后的设定位置pb的前后的位置数据p(0)、p(1)以及p(n)、p(n+1)(步骤a5、a6)。将位置数据p(0)的采样时刻设为时间“0”时,通过插补处理求出位置pa、pb的时间ta、tb(步骤a7)。另外,在步骤a6、a7中,在将位置pa设为零交叉点之后的检测位置的情况下,时间ta、tb分别为“0”、采样周期ts与采样次数n的积,从而不需要插补处理。另一方面,将位置pa设定为采样周期中的任意位置的情况下,根据夹着位置pa的位置数据p(0)、p(1)通过插补处理(例如直线插补)求出时间ta,并且,同样地根据从位置pa起经过1个周期后的位置pb的前后的位置数据p(n)、p(n+1)通过插补处理求出时间tb。
对时间ta、tb间进行均等分割,同样地通过插补处理求出预想为在各分割点进行检测的位置数据,进而求出相对于该预想的检测位置(分割点位置)的检测误差,使该预想的检测位置(分割点位置)和与其对应的检测误差对应起来并进行存储(步骤a8)。
将指标j增加1(该指标j在初始设定中被设置为“0”),判断该指标j的值是否为设定次数(步骤a9、a10),若不是设定次数,则返回到步骤a1。以下重复进行步骤a1至步骤a10的处理,在指标j达到设定次数时,求出相对于预想的检测位置(分割点位置)而存储的j个检测误差的平均(步骤a11),将预想的检测位置(分割点位置)和该检测误差的平均的组输出到m次曲线系数计算电路51(步骤a12),结束检测误差数据的计算处理。
图17是表示由处理器100执行的位置数据的修正处理(与由检测误差修正电路5进行的处理相同的处理)的流程的流程图。
若开始位置数据的修正处理,则检测误差修正电路5读入数字内插电路3的输出即位置数据p(x)(步骤b1),m次曲线系数计算电路51对通过存储在检测误差存储寄存器44中的检测误差的前后m+1点的m次曲线的次数进行计算(步骤b2)。
接着,m次曲线检测误差计算电路52在由m次曲线系数计算电路51计算出了系数的m次曲线中,计算出任意时刻的检测误差(步骤b3)。
接着,m次曲线修正计算电路53使用由m次曲线检测误差计算电路52算出的检测误差,计算并修正从数字内插电路3输出的位置数据的检测误差,并输出到位置数据生成电路6(步骤b4)。
之后,位置数据生成电路6根据这样输出的修正后的位置数据(修正后的1个周期内的位置数据)、以及对原始信号的周期进行计数的计数器的数据,生成位置数据。
通过设为这样的结构,可以通过软件构成检测误差数据计算电路4和检测误差修正电路5的功能,并且可以更灵活地进行功能的追加或变更等。
另外,本发明并不限定于上述实施方式,可进行适当变更。例如,在检测误差修正电路5中,作为近似曲线算出的m次曲线可根据本发明的具体的应用对象,适当决定其次数。
此外,可根据请求的近似曲线的精度等,适当决定对位置数据p(n)进行采样的采样周期。
以上说明的实施方式的编码器的信号处理装置d的全部或一部分,可以通过硬件、软件或它们的组合来实现。在此,通过软件实现是指通过计算机读入并执行程序来实现。在通过硬件构成的情况下,编码器的信号处理装置d的一部分或全部可由例如lsi(largescaleintegratedcircuit:大规模集成电路)、asic(applicationspecificintegratedcircuit:专用集成电路)、门阵列、fpga(fieldprogrammablegatearray:现场可编程门阵列)等集成电路(ic)构成。
在编码器的信号处理装置d的全部或一部分由软件构成的情况下,可以在通过总线构成的计算机中,将运算所需要的信息存储于dram中,并通过cpu使该程序运行来实现,所述总线对存储有记述编码器的信号处理装置d的全部或一部分动作的程序的硬盘、rom等存储部、存储运算所需要的数据的dram、cpu以及各部进行了连接。
这些程序可使用各种类型的计算机可读介质(computerreadablemedium)来进行存储,并供给到计算机。计算机可读介质包括各种类型的实体即记录介质(tangiblestoragemedium)。计算机可读介质的例子包括磁记录介质(例如,软盘,磁带,硬盘驱动器)光磁记录介质(例如,光磁盘)、cd-rom(readonlymemory:只读存储器)、cd-r、cd-r/w、半导体存储器(例如,掩膜rom,prom(programmablerom:可编程rom)、eprom(erasableprom:可擦除prom)、闪存rom、ram(randomaccessmemory:随机存取存储器)。
此外,这些程序也可以经由网络加载到用户的计算机上而被发布
以上,虽然对本发明的实施方式进行了详细说明,但上述的实施方式进行实施本发明的具体例。本发明的技术范围并不局限于上述实施方式。本发明可在不脱离其主旨的范围内进行各种变更,这些变更也包含于本发明的权利要求书。