JP3184361B2 - 位置検出装置 - Google Patents
位置検出装置Info
- Publication number
- JP3184361B2 JP3184361B2 JP08754493A JP8754493A JP3184361B2 JP 3184361 B2 JP3184361 B2 JP 3184361B2 JP 08754493 A JP08754493 A JP 08754493A JP 8754493 A JP8754493 A JP 8754493A JP 3184361 B2 JP3184361 B2 JP 3184361B2
- Authority
- JP
- Japan
- Prior art keywords
- phase
- position data
- reference point
- sensor signal
- calculating
- 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.)
- Expired - Fee Related
Links
Landscapes
- Measurement Of Length, Angles, Or The Like Using Electric Or Magnetic Means (AREA)
- Transmission And Conversion Of Sensor Element Output (AREA)
Description
【0001】
【産業上の利用分野】この発明はピストンロッドのスト
ローク位置などを検出する装置の改良に関するものであ
る。
ローク位置などを検出する装置の改良に関するものであ
る。
【0002】
【従来の技術】油圧シリンダのピストンロッドのストロ
ーク位置を検出するために、ピストンロッド表面に軸方
向にむけ一定のピッチ間隔で弱磁性部を形成して磁気ス
ケールを作り、シリンダ側に取付けた磁気センサの出力
信号がピストンロッドの移動により正弦波で変化するこ
とを利用して、分解能の高い位置検出を行うようにした
装置が、本出願人をはじめとしていくつか提案されてい
る(特開平4−136713号公報参照)。
ーク位置を検出するために、ピストンロッド表面に軸方
向にむけ一定のピッチ間隔で弱磁性部を形成して磁気ス
ケールを作り、シリンダ側に取付けた磁気センサの出力
信号がピストンロッドの移動により正弦波で変化するこ
とを利用して、分解能の高い位置検出を行うようにした
装置が、本出願人をはじめとしていくつか提案されてい
る(特開平4−136713号公報参照)。
【0003】これを説明すると、ピストンロッドの移動
により磁気スケールの1ピッチについて一周期となる正
弦波で変化する一対の磁気センサを、互いに90度の位
相差をもって出力するようにピストンロッドの軸方向に
セットするのであるが、2つのセンサ信号は、絶えず一
定の振幅、振央レベルをもつとは限らず、これらは磁気
センサを構成する磁気抵抗素子の特性のバラツキ、ピス
トンロッドの弱磁性部深さのバラツキ、あるいは温度変
化などによって、振幅レベルや振央レベルがピッチごと
に変動することがあり、これらを正確に補正しないかぎ
り、ストローク位置の精度は保証されない。
により磁気スケールの1ピッチについて一周期となる正
弦波で変化する一対の磁気センサを、互いに90度の位
相差をもって出力するようにピストンロッドの軸方向に
セットするのであるが、2つのセンサ信号は、絶えず一
定の振幅、振央レベルをもつとは限らず、これらは磁気
センサを構成する磁気抵抗素子の特性のバラツキ、ピス
トンロッドの弱磁性部深さのバラツキ、あるいは温度変
化などによって、振幅レベルや振央レベルがピッチごと
に変動することがあり、これらを正確に補正しないかぎ
り、ストローク位置の精度は保証されない。
【0004】そこで、磁気センサ信号の各ピッチごとの
ピーク値をピストンロッドの全ストロークにわたって格
納・更新していき、これらのデータにもとづいてセンサ
信号の振幅レベルを同一化する補正ならびに振央レベル
の調整を行うことで、磁気スケールの加工精度によりピ
ッチごとにセンサ信号が変動したり、経時的な変化や温
度変化による変動を生じても、常に精度のよい安定した
位置検出を行っている。
ピーク値をピストンロッドの全ストロークにわたって格
納・更新していき、これらのデータにもとづいてセンサ
信号の振幅レベルを同一化する補正ならびに振央レベル
の調整を行うことで、磁気スケールの加工精度によりピ
ッチごとにセンサ信号が変動したり、経時的な変化や温
度変化による変動を生じても、常に精度のよい安定した
位置検出を行っている。
【0005】
【発明が解決しようとする課題】ところで、上記の装置
では、位置検出のための絶対位置(たとえば原点)の設
定を必ず使用の前に行う必要があり、ピストンロッドの
端部にリミットスイッチを取付けておき、このリミット
スイッチがONになるまでピストンロッドをストローク
させることで、原点リセットのための信号を発生させた
り、ピストンロッドを最縮位置(最も縮んだ位置のこ
と)や最伸位置(最も伸びた位置のこと)までストロー
クさせて原点設定を行っている。
では、位置検出のための絶対位置(たとえば原点)の設
定を必ず使用の前に行う必要があり、ピストンロッドの
端部にリミットスイッチを取付けておき、このリミット
スイッチがONになるまでピストンロッドをストローク
させることで、原点リセットのための信号を発生させた
り、ピストンロッドを最縮位置(最も縮んだ位置のこ
と)や最伸位置(最も伸びた位置のこと)までストロー
クさせて原点設定を行っている。
【0006】しかしながら、使用開始時(電源再立ち上
げ時)に、ピストンロッドをリミットスイッチがONと
なる位置までストロークさせたり、最縮位置や最伸位置
までストロークさせることは、特に全ストロークが長い
場合に(数メートルにもおよぶことがある)、原点設定
に時間がかかり、また煩わしくもある。
げ時)に、ピストンロッドをリミットスイッチがONと
なる位置までストロークさせたり、最縮位置や最伸位置
までストロークさせることは、特に全ストロークが長い
場合に(数メートルにもおよぶことがある)、原点設定
に時間がかかり、また煩わしくもある。
【0007】一方、電源が切れても、バックアップバッ
テリーを用いて位置検出を絶えず行うようにしておけ
ば、この時間のかかる原点設定を電源再立ち上げ時に毎
回行う必要はない。しかしながら、現状のバックアップ
バッテリーの容量はそれほど大きくないため、多大な電
力消費を必要とする磁気センサなどの位置検出のための
装置すべてをバックアップバッテリーで長期間にわたり
動作させることは困難である。
テリーを用いて位置検出を絶えず行うようにしておけ
ば、この時間のかかる原点設定を電源再立ち上げ時に毎
回行う必要はない。しかしながら、現状のバックアップ
バッテリーの容量はそれほど大きくないため、多大な電
力消費を必要とする磁気センサなどの位置検出のための
装置すべてをバックアップバッテリーで長期間にわたり
動作させることは困難である。
【0008】そこでこの発明は、バックアップバッテリ
ーの容量を過大にすることなく、位置検出のための絶対
位置のセットを容易にすることを目的とする。
ーの容量を過大にすることなく、位置検出のための絶対
位置のセットを容易にすることを目的とする。
【0009】
【課題を解決するための手段】第1の発明は、第1図に
示したように、移動方向に所定のピッチで弱磁性部を配
設して形成したメインスケール51と、このメインスケ
ール51のピッチに対応した正弦波を90度の位相差を
もって出力する一対の磁気センサ52と、前記メインス
ケール51のピッチごとの各センサ信号のピーク値をそ
れぞれ格納・更新する手段53と、各ピーク値から各ピ
ッチごとの振央レベルを演算する手段54と、振央レベ
ルとセンサ信号の比較結果にもとづいて粗位置を演算す
る手段55と、ピーク値と振央レベルからセンサ信号の
正規化係数を演算する手段56と、この正規化係数にも
とづいてセンサ信号を補正する手段57と、二相の補正
された正規化信号を用いて三角関数逆演算により精位置
を演算する手段58と、粗位置と精位置とを合算した値
を位置データとして演算する手段59とを備える位置検
出装置において、複数の弱磁性部をその深さを異ならせ
て全移動範囲にわたって設置したサブスケール61と、
このサブスケール61の弱磁性部位置に対応した正弦波
を90度の位相差をもって出力し、かつ弱磁性部深さに
応じて振幅レベルが変化する一対の磁気センサ62と、
電源の再立ち上げ時かどうかを判定する手段63と、こ
の電源の再立ち上げ時に前記サブスケール側の一方の相
のセンサ信号(たとえばsig[ZA])の振央クロス
時を基準点として、隣接する任意の2つの基準点を通過
駆動させる手段64と、この2つの基準点の通過時に前
記サブスケール側の二相のセンサ信号のピーク値を格納
・更新する手段65と、各ピーク値から二相のセンサ信
号の振央レベルを演算する手段66と、前記サブスケー
ル側の一方の相のセンサ信号sig[ZA]とその振央
レベルとから前記隣接する2つの基準点をそれぞれ検出
する手段67と、この各基準点の検出時に前記位置デー
タ演算手段59で演算される位置データをメモリ68に
それぞれ格納する手段69と、このメモリ68に格納さ
れた値から前記隣接する任意の2つの基準点間隔Lを計
算する手段70と、前記2つ目の基準点の検出時に前記
サブスケール側の他方の相のセンサ信号sig[ZB]
の振幅レベルをメモリ71に格納する手段72と、この
格納された2つ目の振幅レベルが前記サブスケール側の
弱磁性部のいずれの深さに対応するかを判定する手段7
3と、この判定結果と前記基準点間隔Lの符号とで区分
けされた領域で前記基準点間隔の絶対値にもとづいてア
ドレスADを演算する手段74と、このアドレスADが
指し示すメモリ75に格納されている絶対位置データ
で、前記2つ目の基準点の検出時に前記位置データ演算
手段59で演算される位置データを置き換える手段76
と、隣接する2つの基準点間隔の符号と前記サブスケー
ル側の他方の相のセンサ信号の前記2つ目の基準点検出
時の振幅レベルとで区分けされた領域ごとに前記アドレ
スADが指し示すメモリ75に各基準点に対する絶対位
置データを初期設定する手段77と、この初期設定され
た絶対位置データを電源を切った後もバッテリバックア
ップしておく手段78とを設けた。
示したように、移動方向に所定のピッチで弱磁性部を配
設して形成したメインスケール51と、このメインスケ
ール51のピッチに対応した正弦波を90度の位相差を
もって出力する一対の磁気センサ52と、前記メインス
ケール51のピッチごとの各センサ信号のピーク値をそ
れぞれ格納・更新する手段53と、各ピーク値から各ピ
ッチごとの振央レベルを演算する手段54と、振央レベ
ルとセンサ信号の比較結果にもとづいて粗位置を演算す
る手段55と、ピーク値と振央レベルからセンサ信号の
正規化係数を演算する手段56と、この正規化係数にも
とづいてセンサ信号を補正する手段57と、二相の補正
された正規化信号を用いて三角関数逆演算により精位置
を演算する手段58と、粗位置と精位置とを合算した値
を位置データとして演算する手段59とを備える位置検
出装置において、複数の弱磁性部をその深さを異ならせ
て全移動範囲にわたって設置したサブスケール61と、
このサブスケール61の弱磁性部位置に対応した正弦波
を90度の位相差をもって出力し、かつ弱磁性部深さに
応じて振幅レベルが変化する一対の磁気センサ62と、
電源の再立ち上げ時かどうかを判定する手段63と、こ
の電源の再立ち上げ時に前記サブスケール側の一方の相
のセンサ信号(たとえばsig[ZA])の振央クロス
時を基準点として、隣接する任意の2つの基準点を通過
駆動させる手段64と、この2つの基準点の通過時に前
記サブスケール側の二相のセンサ信号のピーク値を格納
・更新する手段65と、各ピーク値から二相のセンサ信
号の振央レベルを演算する手段66と、前記サブスケー
ル側の一方の相のセンサ信号sig[ZA]とその振央
レベルとから前記隣接する2つの基準点をそれぞれ検出
する手段67と、この各基準点の検出時に前記位置デー
タ演算手段59で演算される位置データをメモリ68に
それぞれ格納する手段69と、このメモリ68に格納さ
れた値から前記隣接する任意の2つの基準点間隔Lを計
算する手段70と、前記2つ目の基準点の検出時に前記
サブスケール側の他方の相のセンサ信号sig[ZB]
の振幅レベルをメモリ71に格納する手段72と、この
格納された2つ目の振幅レベルが前記サブスケール側の
弱磁性部のいずれの深さに対応するかを判定する手段7
3と、この判定結果と前記基準点間隔Lの符号とで区分
けされた領域で前記基準点間隔の絶対値にもとづいてア
ドレスADを演算する手段74と、このアドレスADが
指し示すメモリ75に格納されている絶対位置データ
で、前記2つ目の基準点の検出時に前記位置データ演算
手段59で演算される位置データを置き換える手段76
と、隣接する2つの基準点間隔の符号と前記サブスケー
ル側の他方の相のセンサ信号の前記2つ目の基準点検出
時の振幅レベルとで区分けされた領域ごとに前記アドレ
スADが指し示すメモリ75に各基準点に対する絶対位
置データを初期設定する手段77と、この初期設定され
た絶対位置データを電源を切った後もバッテリバックア
ップしておく手段78とを設けた。
【0010】第2の発明は、前記初期設定手段77によ
る初期設定に前記位置データ演算手段59で演算される
位置データを用いる。
る初期設定に前記位置データ演算手段59で演算される
位置データを用いる。
【0011】
【作用】電源の切断後に位置がずれたときは、電源の再
立ち上げ時に実際の位置と位置データ演算手段59で演
算される位置データとが違ってしまう。
立ち上げ時に実際の位置と位置データ演算手段59で演
算される位置データとが違ってしまう。
【0012】この場合に、第1の発明で電源の再立ち上
げ時に隣接する2つの基準点が検出された時点で、この
2つの基準点間隔の符号と2つ目の基準点検出時のサブ
スケール側の他方の相の振幅レベルとで区分けされた領
域で、基準点間隔の絶対値にもとづいてアドレスADが
演算され、このアドレスADが指し示すメモリ75に格
納されている絶対位置データで、2つ目の基準点の検出
時に前記位置データ演算手段59で演算される位置デー
タが置き換えられることから、実際の位置と位置データ
演算手段59で演算される位置データとのずれがなくさ
れ、基準位置の設定が、隣接する2つの基準点を通過さ
せるだけの短い時間で行われる。
げ時に隣接する2つの基準点が検出された時点で、この
2つの基準点間隔の符号と2つ目の基準点検出時のサブ
スケール側の他方の相の振幅レベルとで区分けされた領
域で、基準点間隔の絶対値にもとづいてアドレスADが
演算され、このアドレスADが指し示すメモリ75に格
納されている絶対位置データで、2つ目の基準点の検出
時に前記位置データ演算手段59で演算される位置デー
タが置き換えられることから、実際の位置と位置データ
演算手段59で演算される位置データとのずれがなくさ
れ、基準位置の設定が、隣接する2つの基準点を通過さ
せるだけの短い時間で行われる。
【0013】また、バッテリバックアップの対象は、絶
対位置データを格納するメモリが主になるため、バック
アップバッテリの容量を過大にすることもない。
対位置データを格納するメモリが主になるため、バック
アップバッテリの容量を過大にすることもない。
【0014】さらに、サブスケールの弱磁性部が異なる
深さにされると、この異なる深さの数と同じ数だけ同一
の基準点間隔を設けることが可能となる。
深さにされると、この異なる深さの数と同じ数だけ同一
の基準点間隔を設けることが可能となる。
【0015】第2の発明で、初期設定に位置データ演算
手段59で演算される位置データが用いられることか
ら、絶対位置データの精度がよくなる。
手段59で演算される位置データが用いられることか
ら、絶対位置データの精度がよくなる。
【0016】
【実施例】図2は本発明を油圧シリンダのピストンロッ
ドストローク位置を検出するために適用したときのスト
ローク検出部の一実施例である。
ドストローク位置を検出するために適用したときのスト
ローク検出部の一実施例である。
【0017】磁性材で形成されたピストンロッド1の表
面には軸方向に等ピッチの弱磁性部2を形成し、これに
より磁気スケール(メインスケール)3を構成する。弱
磁性部2の幅は1ピッチPの半分である。
面には軸方向に等ピッチの弱磁性部2を形成し、これに
より磁気スケール(メインスケール)3を構成する。弱
磁性部2の幅は1ピッチPの半分である。
【0018】油圧シリンダのシリンダ側(たとえばチュ
ーブ側軸受部の近傍)には、ピストンロッド1の変位に
伴いメインスケール3の1ピッチを一周期として、かつ
90度だけ位相の異なる二相の正弦波を出力する一対の
磁気センサ4が備えられる。
ーブ側軸受部の近傍)には、ピストンロッド1の変位に
伴いメインスケール3の1ピッチを一周期として、かつ
90度だけ位相の異なる二相の正弦波を出力する一対の
磁気センサ4が備えられる。
【0019】図3は、マイコンなどから構成されるコン
トローラのブロック図で、磁気センサ4からの二相(A
相とB相とする)の信号sig[A],sig[B]は
図3に示すように、サンプルホールド回路11,12、
アナログ−デジタルコンバータ13を介して、CPU1
4に入力される。
トローラのブロック図で、磁気センサ4からの二相(A
相とB相とする)の信号sig[A],sig[B]は
図3に示すように、サンプルホールド回路11,12、
アナログ−デジタルコンバータ13を介して、CPU1
4に入力される。
【0020】各相独立に設けられるデジタル−アナログ
コンバータ15,16では、後述するスロットテーブル
slot table上のピーク値から求められた振央
レベル(デジタル値)をアナログ電圧に変換し、その出
力は対応するコンパレータ17,18に入力される。
コンバータ15,16では、後述するスロットテーブル
slot table上のピーク値から求められた振央
レベル(デジタル値)をアナログ電圧に変換し、その出
力は対応するコンパレータ17,18に入力される。
【0021】コンパレータ17,18では、上記の振央
レベルとセンサ信号sig[A],sig[B]とを比
較し、図4のように振央レベル(A相センサ信号につい
てcen[A]、B相センサ信号についてcen
[B])よりもセンサ信号のほうが大きいと、“H”レ
ベルの出力を、逆のとき“L”レベルの出力をする。こ
のコンパレータ出力sgn[A],sgn[B]は、後
述する割り込み処理を指示する信号として利用され、ハ
ーフピッチごとにこのコンパレータ出力sgn[A],
sgn[B]が変化する(すなわち各相のセンサ信号が
振央レベルをクロスする)とき、粗位置カウントが行わ
れるとともに、反対相のピーク値の測定、更新が行われ
る。
レベルとセンサ信号sig[A],sig[B]とを比
較し、図4のように振央レベル(A相センサ信号につい
てcen[A]、B相センサ信号についてcen
[B])よりもセンサ信号のほうが大きいと、“H”レ
ベルの出力を、逆のとき“L”レベルの出力をする。こ
のコンパレータ出力sgn[A],sgn[B]は、後
述する割り込み処理を指示する信号として利用され、ハ
ーフピッチごとにこのコンパレータ出力sgn[A],
sgn[B]が変化する(すなわち各相のセンサ信号が
振央レベルをクロスする)とき、粗位置カウントが行わ
れるとともに、反対相のピーク値の測定、更新が行われ
る。
【0022】CPU14では、 1)センサ信号ピーク値のメモリ格納・更新処理、 2)振央レベルの調整処理、 3)粗位置のカウント処理、 4)センサ信号の正規化処理、 5)精位置の演算処理、 6)粗位置と精位置の組み合わせ処理、 7)センサ異常検出処理 などを行うのであるが、これらの詳細は特開平4−13
6713号公報に譲るとして、ここではこの発明に関係
する部分だけを以下に概略説明する。
6713号公報に譲るとして、ここではこの発明に関係
する部分だけを以下に概略説明する。
【0023】〈1〉センサ信号ピーク値のメモリ格納 RAM19には、センサ信号sig[A],sig
[B]のピーク値を各ピッチごとに格納するスロットテ
ーブルが、図5に示すようにA相とB相に分けて設けら
れる。各スロットテーブルslot table
[A],slot table[B]に格納されるの
は、ピーク値(最大値と最小値)peakとピーク値の
内容を表すクラスclassである。
[B]のピーク値を各ピッチごとに格納するスロットテ
ーブルが、図5に示すようにA相とB相に分けて設けら
れる。各スロットテーブルslot table
[A],slot table[B]に格納されるの
は、ピーク値(最大値と最小値)peakとピーク値の
内容を表すクラスclassである。
【0024】ピーク値peakは最大値がスロット番号
(後述する粗位置カウンタ値と同一である)の偶数、最
小値が奇数の位置にくるようにあらかじめ決められてお
り、この規則にしたがって実際の測定値が格納されてい
くのであるが、初期セット時にはすべて期待値が格納さ
れる。
(後述する粗位置カウンタ値と同一である)の偶数、最
小値が奇数の位置にくるようにあらかじめ決められてお
り、この規則にしたがって実際の測定値が格納されてい
くのであるが、初期セット時にはすべて期待値が格納さ
れる。
【0025】これに対してクラスclassはピーク値
の内容により3種類の異なる値(MEASURE、ES
TIMATE、GUESS)があり、初期セット時はす
べての位置に推測値GUESSが、実測時は実測時のス
ロット番号の位置に実測値MEASUREが、そして実
測値の結果を周辺のスロットテーブルに反映するときは
概略値ESTIMATEがそれぞれ設定される。なお、
このクラスは、後述するようにピーク値の更新時に更新
値を決定するための重みづけ係数(MEASURE、E
STIMATE、GUESS)を表すものである。
の内容により3種類の異なる値(MEASURE、ES
TIMATE、GUESS)があり、初期セット時はす
べての位置に推測値GUESSが、実測時は実測時のス
ロット番号の位置に実測値MEASUREが、そして実
測値の結果を周辺のスロットテーブルに反映するときは
概略値ESTIMATEがそれぞれ設定される。なお、
このクラスは、後述するようにピーク値の更新時に更新
値を決定するための重みづけ係数(MEASURE、E
STIMATE、GUESS)を表すものである。
【0026】〈2〉粗位置のカウント、正規化係数とセ
ンサ信号の振央レベルの演算処理 これは、各相のセンサ信号sig[A],sig[B]
が、その振央レベルをクロスしたときに実行する。図6
にA相センサ信号の振央クロス時の処理を、図7にB相
センサ信号の振央クロス時の処理をそれぞれ示すと、い
ずれのセンサ信号の側もほぼ同様の処理であるため、A
相センサ信号の振央クロス時で述べる。
ンサ信号の振央レベルの演算処理 これは、各相のセンサ信号sig[A],sig[B]
が、その振央レベルをクロスしたときに実行する。図6
にA相センサ信号の振央クロス時の処理を、図7にB相
センサ信号の振央クロス時の処理をそれぞれ示すと、い
ずれのセンサ信号の側もほぼ同様の処理であるため、A
相センサ信号の振央クロス時で述べる。
【0027】A相センサ信号sig[A]の振央クロス
時は、反対相であるB相がピーク値(最大値または最小
値)をとるため、B相センサ信号sig[B]をサンプ
ルホールドし、その値をB相ピーク値として変数pea
k[B]に入れておく(図6のステップ1)。
時は、反対相であるB相がピーク値(最大値または最小
値)をとるため、B相センサ信号sig[B]をサンプ
ルホールドし、その値をB相ピーク値として変数pea
k[B]に入れておく(図6のステップ1)。
【0028】両相のコンパレータ出力sgn[A],s
gn[B]の一致、不一致の判定結果でA相粗位置カウ
ンタ値count[A]をカウントアップまたはカウン
トダウンする(図6のステップ2,3,4)。A相セン
サ信号とB相センサ信号とは90度の位相差をもつた
め、ピストンロッドのストローク方向によって互いの位
相が進んだり遅れたりするので、かりにA相の位相がB
相よりも90度だけ進んでいる方向を正方向(図2で左
方向)であるとすると、図4にも示したように、A相セ
ンサ信号sig[A]が震央レベルをクロスした直後の
コンパレータ出力sgn[A]は、常に反対相のコンパ
レータ出力sgn[B]のレベルと一致する。したがっ
て、正方向にピストンロッドがストロークしているとき
は、A相粗位置カウンタ値count[A]をカウント
アップし、そうでないときはカウントダウンするのであ
る(図6のステップ2,3、ステップ2,4)。ここま
での処理はCPUの割り込み処理で最優先で行う。
gn[B]の一致、不一致の判定結果でA相粗位置カウ
ンタ値count[A]をカウントアップまたはカウン
トダウンする(図6のステップ2,3,4)。A相セン
サ信号とB相センサ信号とは90度の位相差をもつた
め、ピストンロッドのストローク方向によって互いの位
相が進んだり遅れたりするので、かりにA相の位相がB
相よりも90度だけ進んでいる方向を正方向(図2で左
方向)であるとすると、図4にも示したように、A相セ
ンサ信号sig[A]が震央レベルをクロスした直後の
コンパレータ出力sgn[A]は、常に反対相のコンパ
レータ出力sgn[B]のレベルと一致する。したがっ
て、正方向にピストンロッドがストロークしているとき
は、A相粗位置カウンタ値count[A]をカウント
アップし、そうでないときはカウントダウンするのであ
る(図6のステップ2,3、ステップ2,4)。ここま
での処理はCPUの割り込み処理で最優先で行う。
【0029】なお、A相粗位置カウンタ値count
[A]と後述するB相粗位置カウンタ値count
[B]とは、両カウンタ値の差が0または1となるよう
にあらかじめ初期設定しているため、両カウンタの値を
引き算することにより、その引き算した値(count
[A]−count[B])が0または1でなければ不
具合(たとえばいずれかの相のセンサ信号の断線など)
があると診断することができる(図6のステップ5)。
[A]と後述するB相粗位置カウンタ値count
[B]とは、両カウンタ値の差が0または1となるよう
にあらかじめ初期設定しているため、両カウンタの値を
引き算することにより、その引き算した値(count
[A]−count[B])が0または1でなければ不
具合(たとえばいずれかの相のセンサ信号の断線など)
があると診断することができる(図6のステップ5)。
【0030】A相センサ信号sig[A]は、この振央
クロス時からつぎのスロット番号(粗位置カウンタ値と
同一値)に入ったことになり、A相スロットテーブルs
lot table[A]に格納してあるA相ピーク値
とA相振央レベルcen[A](この振央レベルは、反
対相の振央クロス時に数ピッチの最大値と最小値の平均
値として求められる)とから、A相センサ信号の正規化
係数scale[A]を scale[A]=1/|A相ピーク値−cen[A]| …(1) により計算する(図6のステップ6)。この正規化係数
scale[A]はメインスケールのピッチごとの振幅
の違いを補正して同一レベルに整えるためのもので、後
述する精位置を演算するときの正規化処理で使用され
る。かりに|A相ピーク値−cen[A]|の正規な値
を1として、実測値がその2倍の大きさであったとする
と、この場合の正規化係数は1/2となり、後述するよ
うに、正規化係数をA相センサ信号の振幅に乗じる(つ
まり2倍の振幅値にこの正規化係数の1/2をかける)
ことにより、振幅値=1と補正して、振幅を正規なもの
と同一レベルに置換するのである。
クロス時からつぎのスロット番号(粗位置カウンタ値と
同一値)に入ったことになり、A相スロットテーブルs
lot table[A]に格納してあるA相ピーク値
とA相振央レベルcen[A](この振央レベルは、反
対相の振央クロス時に数ピッチの最大値と最小値の平均
値として求められる)とから、A相センサ信号の正規化
係数scale[A]を scale[A]=1/|A相ピーク値−cen[A]| …(1) により計算する(図6のステップ6)。この正規化係数
scale[A]はメインスケールのピッチごとの振幅
の違いを補正して同一レベルに整えるためのもので、後
述する精位置を演算するときの正規化処理で使用され
る。かりに|A相ピーク値−cen[A]|の正規な値
を1として、実測値がその2倍の大きさであったとする
と、この場合の正規化係数は1/2となり、後述するよ
うに、正規化係数をA相センサ信号の振幅に乗じる(つ
まり2倍の振幅値にこの正規化係数の1/2をかける)
ことにより、振幅値=1と補正して、振幅を正規なもの
と同一レベルに置換するのである。
【0031】B相センサ信号のピーク値peak[B]
が最大値maxであるかどうかみて、最大値であれば、
B相センサ信号の振央レベルcen[B]を演算する
(図6のステップ8,9)。振央レベルの演算は、数ピ
ッチ間の最大値と最小値との平均値として算出する。こ
の演算結果は、B相振央レベルcen[B]として図3
のデジタル−アナログコンバータ16に出力する(図6
のステップ10)。
が最大値maxであるかどうかみて、最大値であれば、
B相センサ信号の振央レベルcen[B]を演算する
(図6のステップ8,9)。振央レベルの演算は、数ピ
ッチ間の最大値と最小値との平均値として算出する。こ
の演算結果は、B相振央レベルcen[B]として図3
のデジタル−アナログコンバータ16に出力する(図6
のステップ10)。
【0032】〈3〉センサ信号ピーク値の更新処理 図8は両相の更新処理をともに示すものであるが、更新
は振央クロス処理時に、反対相に関して行うため、ここ
ではB相側で代表させる(図6のステップ7)。
は振央クロス処理時に、反対相に関して行うため、ここ
ではB相側で代表させる(図6のステップ7)。
【0033】図8において、まずA相信号の振央クロス
時にピークホールドをかけたB相センサ信号のピーク値
をA/D変換し、B相ピーク値peak[B]として取
り込む(図8のステップ21)。このB相ピーク値がか
りに6番目に相当するとしたとき、6番目のクラスにあ
る値(MEASURE、ESTIMATE、GUESS
のいずれか)に対応して重みづけ係数(MEASURE
WEIGHT、ESTIMATE WEIGHT、GU
ESS WEIGHTのいずれか)を選択し、変数we
ightに入れる(図8のステップ22〜25)。
時にピークホールドをかけたB相センサ信号のピーク値
をA/D変換し、B相ピーク値peak[B]として取
り込む(図8のステップ21)。このB相ピーク値がか
りに6番目に相当するとしたとき、6番目のクラスにあ
る値(MEASURE、ESTIMATE、GUESS
のいずれか)に対応して重みづけ係数(MEASURE
WEIGHT、ESTIMATE WEIGHT、GU
ESS WEIGHTのいずれか)を選択し、変数we
ightに入れる(図8のステップ22〜25)。
【0034】この変数値ともう1つの重みづけ係数T
WEIGHTにもとづいて6番目のピーク値を 最新値=(従来値*T WEIGHT+peak[B]*weight) /(T WEIGHT+weight) …(2) により更新する(図8のステップ26)。6番目のクラ
スclassは実測値MEASUREで入れ替える(図
8のステップ27)。
WEIGHTにもとづいて6番目のピーク値を 最新値=(従来値*T WEIGHT+peak[B]*weight) /(T WEIGHT+weight) …(2) により更新する(図8のステップ26)。6番目のクラ
スclassは実測値MEASUREで入れ替える(図
8のステップ27)。
【0035】上記の重みづけ係数のT WEIGHT、
MEASURE WEIGHTは通常1で、その他に関
しては、MEASURE WEIGHT<ESTIMA
TE WEIGHT<GUESS WEIGHTの関係を
満足する値を選択している。
MEASURE WEIGHTは通常1で、その他に関
しては、MEASURE WEIGHT<ESTIMA
TE WEIGHT<GUESS WEIGHTの関係を
満足する値を選択している。
【0036】また、現在のスロット番号(粗位置に相
当)の2個先と2個前のピーク値に対するクラスがGU
ESSであれば、格納済みのピーク値に代えて現在の更
新ピーク値(つまり更新したばかりの6番目のピーク
値)を格納し、かつクラスをESTIMATEに変更す
ることで、スロットテーブル内のピーク格納値を早い段
階で真の値に近づけるようにする(図8のステップ28
〜33)。
当)の2個先と2個前のピーク値に対するクラスがGU
ESSであれば、格納済みのピーク値に代えて現在の更
新ピーク値(つまり更新したばかりの6番目のピーク
値)を格納し、かつクラスをESTIMATEに変更す
ることで、スロットテーブル内のピーク格納値を早い段
階で真の値に近づけるようにする(図8のステップ28
〜33)。
【0037】〈4〉精位置の演算、粗位置との組み合わ
せ処理 この処理を図9に示すと、これは一定時間ごとに行う。
せ処理 この処理を図9に示すと、これは一定時間ごとに行う。
【0038】まず最初に、両相のセンサ信号を同時にサ
ンプルホールドした後、順次A/D変換処理を行い、各
相のセンサ信号sig[A]、sig[B]としてとも
に取り込む(図9のステップ41)。
ンプルホールドした後、順次A/D変換処理を行い、各
相のセンサ信号sig[A]、sig[B]としてとも
に取り込む(図9のステップ41)。
【0039】センサ信号と振央レベル、上記の正規化係
数を用いて各相の正規化信号(正規化振幅の信号)co
rrect[A]、correct[B]を correct[A] =scale[A]*[sig[A]−cen[A]] …(3) correct[B] =scale[B]*[sig[B]−cen[B]] …(4) の式でそれぞれ計算する(図9のステップ42,4
3)。
数を用いて各相の正規化信号(正規化振幅の信号)co
rrect[A]、correct[B]を correct[A] =scale[A]*[sig[A]−cen[A]] …(3) correct[B] =scale[B]*[sig[B]−cen[B]] …(4) の式でそれぞれ計算する(図9のステップ42,4
3)。
【0040】なお、正規化信号correct[A],
correct[B]から合成振幅を求め、これが許容
範囲内に入っているかどうかをみて、入っていなければ
不具合(たとえば磁気センサ4の断線や短絡など)があ
ると診断することができる(図9のステップ44)。こ
の範囲は、ノイズの許容レベル、二相のセンサ信号の位
相差の許容範囲などを考慮して決めればよい。
correct[B]から合成振幅を求め、これが許容
範囲内に入っているかどうかをみて、入っていなければ
不具合(たとえば磁気センサ4の断線や短絡など)があ
ると診断することができる(図9のステップ44)。こ
の範囲は、ノイズの許容レベル、二相のセンサ信号の位
相差の許容範囲などを考慮して決めればよい。
【0041】正規化信号correct[A]、cor
rect[B]からは図10のグラフを用いて精位置を
演算する。これを簡単に説明すると、たとえばメインス
ケールのピッチを2mm(粗位置は1mm単位)とし、
精位置は、粗位置間を100分割(精位置は0.01m
m単位)したとき、現在点が図10においてC1点にあ
るとしたときの精位置fine displ[10-2m
m]を求めることを考える。このとき、θ:π=fin
e displ:100の関係が成立するので、 fine displ=(100/π)*θ …(5) の式が得られる。一方、tanθ=|correct
[B]|/|correct[A]|の関係を用いて θ=tan-1|correct[B]|/|correct[A]| …(6) によりθを求めることができるため、これを(5)式に
代入すれば、 fine displ=(100/π) *tan-1|correct[B]|/|correct[A]| …(7) の式を得る。
rect[B]からは図10のグラフを用いて精位置を
演算する。これを簡単に説明すると、たとえばメインス
ケールのピッチを2mm(粗位置は1mm単位)とし、
精位置は、粗位置間を100分割(精位置は0.01m
m単位)したとき、現在点が図10においてC1点にあ
るとしたときの精位置fine displ[10-2m
m]を求めることを考える。このとき、θ:π=fin
e displ:100の関係が成立するので、 fine displ=(100/π)*θ …(5) の式が得られる。一方、tanθ=|correct
[B]|/|correct[A]|の関係を用いて θ=tan-1|correct[B]|/|correct[A]| …(6) によりθを求めることができるため、これを(5)式に
代入すれば、 fine displ=(100/π) *tan-1|correct[B]|/|correct[A]| …(7) の式を得る。
【0042】こうして得られた(7)式より、正規化信
号correct[A],correct[B]を用い
れば、C1点の精位置を求めることができるわけであ
る。したがって、ストローク位置は、三角関数の逆演算
で求めた(7)式の精位置fine displに粗位
置を合算すればよく、 ストローク位置[mm]=粗位置+fine displ/100…(8) によりもとめることができるのである(図9のステップ
56)。
号correct[A],correct[B]を用い
れば、C1点の精位置を求めることができるわけであ
る。したがって、ストローク位置は、三角関数の逆演算
で求めた(7)式の精位置fine displに粗位
置を合算すればよく、 ストローク位置[mm]=粗位置+fine displ/100…(8) によりもとめることができるのである(図9のステップ
56)。
【0043】実際の精位置は、図10のグラフ上におい
て、45度線(一点鎖線で示す)で分けられた4つの領
域のいずれに現在点が存在するかで異なり、C2,C
3,C4の各点ではそれぞれ C2点の精位置=−fine displ …(9) C3点の精位置=50−fine displ …(10) C4点の精位置=50+fine displ …(11) により計算することができる。
て、45度線(一点鎖線で示す)で分けられた4つの領
域のいずれに現在点が存在するかで異なり、C2,C
3,C4の各点ではそれぞれ C2点の精位置=−fine displ …(9) C3点の精位置=50−fine displ …(10) C4点の精位置=50+fine displ …(11) により計算することができる。
【0044】このため、精位置の算出は、図10のグラ
フ上において、45度線で分けられた4つの領域のいず
れに現在点が存在するかの場合分けを行い、その結果に
より上記の(8)式〜(11)式の4つ式から選択して
いる(図9のステップ48〜50,ステップ53〜5
5)。
フ上において、45度線で分けられた4つの領域のいず
れに現在点が存在するかの場合分けを行い、その結果に
より上記の(8)式〜(11)式の4つ式から選択して
いる(図9のステップ48〜50,ステップ53〜5
5)。
【0045】粗位置については、2つの正規化信号の絶
対値の比較によりカウンタ値が変化しない側の粗位置カ
ウンタ値を選択している(図9のステップ45,46,
51)。|correct[B]|≦|correct
[A]|の領域ではA相粗位置カウンタ値が変化しない
ためA相の側を、また|correct[B]|>|c
orrect[A]|の領域になると、B相の側を選択
してそれぞれ粗位置を表す変数coarse disp
lに入れるのである(図9のステップ45,46、ステ
ップ45,51)。
対値の比較によりカウンタ値が変化しない側の粗位置カ
ウンタ値を選択している(図9のステップ45,46,
51)。|correct[B]|≦|correct
[A]|の領域ではA相粗位置カウンタ値が変化しない
ためA相の側を、また|correct[B]|>|c
orrect[A]|の領域になると、B相の側を選択
してそれぞれ粗位置を表す変数coarse disp
lに入れるのである(図9のステップ45,46、ステ
ップ45,51)。
【0046】このようにして、二相のセンサ信号のピー
ク値情報をピストンロッドの全ストロークにわたり、メ
インスケールのピッチごとにスロットテーブル(メモ
リ)に蓄えて更新し、これらの情報をもとに、振央レベ
ルの調整、センサ信号の正規化調整を適宜実施するの
で、磁気センサ信号が変動しても、絶えず高精度な位置
検出を行うことができる。
ク値情報をピストンロッドの全ストロークにわたり、メ
インスケールのピッチごとにスロットテーブル(メモ
リ)に蓄えて更新し、これらの情報をもとに、振央レベ
ルの調整、センサ信号の正規化調整を適宜実施するの
で、磁気センサ信号が変動しても、絶えず高精度な位置
検出を行うことができる。
【0047】以上で概説を終える。さて、位置検出のた
めの原点などの絶対位置の設定を必ず使用の前に行うた
め、ピストンロッドの端部にリミットスイッチを取付け
ておき、このリミットスイッチがONになるまでピスト
ンロッドをストロークすることで原点リセットのための
信号を発生させたり、ピストンロッドを最縮位置や最伸
位置までストロークさせて原点設定を行うのでは、特に
全ストロークが長い場合に絶対位置設定に時間がかか
り、また煩わしくもある。
めの原点などの絶対位置の設定を必ず使用の前に行うた
め、ピストンロッドの端部にリミットスイッチを取付け
ておき、このリミットスイッチがONになるまでピスト
ンロッドをストロークすることで原点リセットのための
信号を発生させたり、ピストンロッドを最縮位置や最伸
位置までストロークさせて原点設定を行うのでは、特に
全ストロークが長い場合に絶対位置設定に時間がかか
り、また煩わしくもある。
【0048】一方、電源が切られても、バックアップバ
ッテリーを用いて位置検出を絶えず行うようにすれば、
絶対位置設定を電源再立ち上げ時に毎回行う必要はない
のであるが、バックアップバッテリーの容量はそれほど
大きくないため、多大な電力消費を必要とする磁気セン
サなどの位置検出のための装置すべてをバックアップバ
ッテリーで長期間にわたり動作させることは困難であ
る。
ッテリーを用いて位置検出を絶えず行うようにすれば、
絶対位置設定を電源再立ち上げ時に毎回行う必要はない
のであるが、バックアップバッテリーの容量はそれほど
大きくないため、多大な電力消費を必要とする磁気セン
サなどの位置検出のための装置すべてをバックアップバ
ッテリーで長期間にわたり動作させることは困難であ
る。
【0049】これに対処するため、この例ではメインス
ケール3とは別に図2に示したサブスケール6と磁気セ
ンサ7を設け、このサブスケール側のセンサ信号にもと
づいてピストンロッドの絶対位置の設定を行う。
ケール3とは別に図2に示したサブスケール6と磁気セ
ンサ7を設け、このサブスケール側のセンサ信号にもと
づいてピストンロッドの絶対位置の設定を行う。
【0050】図2において、ピストンロッド1の全スト
ロークの中心位置を左右の対称軸にして、図で左方向と
右方向とに間隔を徐々に大きくして6つの弱磁性部5を
形成し、これにより磁気スケール(サブスケール)6を
構成する。中心位置にもっとも近い2つの弱磁性部5,
5の間の間隔L0が最も小さく(つまりL0<L1<L2<
L3<L4<L5である)、弱磁性部5の軸方向幅はすべ
てこの半分(L0/2)である。異なる間隔で配設した
弱磁性部5の位置が、メインスケール3の側の弱磁性部
2の位置により規制されることはない。
ロークの中心位置を左右の対称軸にして、図で左方向と
右方向とに間隔を徐々に大きくして6つの弱磁性部5を
形成し、これにより磁気スケール(サブスケール)6を
構成する。中心位置にもっとも近い2つの弱磁性部5,
5の間の間隔L0が最も小さく(つまりL0<L1<L2<
L3<L4<L5である)、弱磁性部5の軸方向幅はすべ
てこの半分(L0/2)である。異なる間隔で配設した
弱磁性部5の位置が、メインスケール3の側の弱磁性部
2の位置により規制されることはない。
【0051】また、全ストロークの中心位置より左側と
右側とで弱磁性部深さが異なり、左側の弱磁性部深さS
1が右側の弱磁性部深さS2より浅く形成されている。
右側とで弱磁性部深さが異なり、左側の弱磁性部深さS
1が右側の弱磁性部深さS2より浅く形成されている。
【0052】こうして構成されるサブスケール6に対応
する油圧シリンダのシリンダ側にも、メインスケール側
と同様に、90度だけ位相の異なる二相の正弦波を出力
する一対の磁気センサ7が備えられる。
する油圧シリンダのシリンダ側にも、メインスケール側
と同様に、90度だけ位相の異なる二相の正弦波を出力
する一対の磁気センサ7が備えられる。
【0053】磁気センサ7からの二相(ZA相とZB相と
する)の信号sig[ZA],sig[ZB]に対して
は、図11に示すようにZA相信号sig[ZA]がその
振央レベルcen[ZA]をクロスする点(●印で示
す)を基準点(つまり弱磁性部5の中心位置に相当す
る)とするため、これと反対相のZB相信号sig
[ZB]が所定の判定レベルbasZ以下であること
(斜線部で示す)を条件として、基準点以外のZA相信
号の振央クロス点と識別する。
する)の信号sig[ZA],sig[ZB]に対して
は、図11に示すようにZA相信号sig[ZA]がその
振央レベルcen[ZA]をクロスする点(●印で示
す)を基準点(つまり弱磁性部5の中心位置に相当す
る)とするため、これと反対相のZB相信号sig
[ZB]が所定の判定レベルbasZ以下であること
(斜線部で示す)を条件として、基準点以外のZA相信
号の振央クロス点と識別する。
【0054】上記の判定レベルbasZは、ZB相の振
央レベルcen[ZB]と、弱磁性部深さがS1のときの
振幅レベルlev1を用いて、 basZ=cen[ZB]−lev1/2 …(12) の式で求めることができる。
央レベルcen[ZB]と、弱磁性部深さがS1のときの
振幅レベルlev1を用いて、 basZ=cen[ZB]−lev1/2 …(12) の式で求めることができる。
【0055】サブスケール側のコントローラのブロック
図を図12に示すと、メインスケール側に対して設けた
図3とほぼ同様である。たとえば、ZA相側のコンパレ
ータ27からの出力sgn[ZA](ZA相信号sig
[ZA]がその振央レベルcen[ZA]より大きいと
“H”レベルの出力を、cen[ZA]より小さいとき
は“L”レベルの出力をする。)が変化したときがZA
相信号sig[ZA]の振央クロス点になる。
図を図12に示すと、メインスケール側に対して設けた
図3とほぼ同様である。たとえば、ZA相側のコンパレ
ータ27からの出力sgn[ZA](ZA相信号sig
[ZA]がその振央レベルcen[ZA]より大きいと
“H”レベルの出力を、cen[ZA]より小さいとき
は“L”レベルの出力をする。)が変化したときがZA
相信号sig[ZA]の振央クロス点になる。
【0056】CPU14では、ZA相信号sig[ZA]
の振央クロス点で割り込み信号が出ると、コンパレータ
30の出力をチェックし、“L”レベルの出力のとき、
基準点であることをソフトウエア上で判断する。また、
ZA相信号の振央クロス時にZB相の振幅レベルが弱磁性
部深さS1とS2のいずれに対応する振幅レベル(S1に
対するのが所定値lev1、S2に対するのが所定値l
ev2で、lev1<lev2である)であるかの判断
を行う。たとえば、ZB相の振幅レベルが(lev1+
lev2)/2以上あればlev2、これ以下であれば
lev1と判断するのである。
の振央クロス点で割り込み信号が出ると、コンパレータ
30の出力をチェックし、“L”レベルの出力のとき、
基準点であることをソフトウエア上で判断する。また、
ZA相信号の振央クロス時にZB相の振幅レベルが弱磁性
部深さS1とS2のいずれに対応する振幅レベル(S1に
対するのが所定値lev1、S2に対するのが所定値l
ev2で、lev1<lev2である)であるかの判断
を行う。たとえば、ZB相の振幅レベルが(lev1+
lev2)/2以上あればlev2、これ以下であれば
lev1と判断するのである。
【0057】なお、ZB相の振幅レベルがどちらの振幅
レベルにあるかの判断は次のようにして行うこともでき
る。図16のように、所定の振幅判定用レベルbasL
を、 basL=cen[ZB]−(lev1+lev2)/2 …(13) の式で計算すると、この振幅判定用レベルbasLとZ
B相信号sig[ZB]の大小により、basL>sig
[ZB]のときlev2、それ以外でlev1と判断す
ることができる。また、この判断を図17のように、ハ
ードウエアの構成で((13)式のbasLをアナログ
出力するためのデジタル−アナログコンバータ41と、
このコンバータ出力とZB相信号とを比較するコンパレ
ータ42とを加える)、行うこともできる。ただし、ソ
フトウエア上でまたはハードウエア上で構成するにせ
よ、いずれの場合も振幅レベルの判断はZA信号の振央
クロス時(つまり基準点の検出時)に行わなければなら
ないことはいうまでもない。
レベルにあるかの判断は次のようにして行うこともでき
る。図16のように、所定の振幅判定用レベルbasL
を、 basL=cen[ZB]−(lev1+lev2)/2 …(13) の式で計算すると、この振幅判定用レベルbasLとZ
B相信号sig[ZB]の大小により、basL>sig
[ZB]のときlev2、それ以外でlev1と判断す
ることができる。また、この判断を図17のように、ハ
ードウエアの構成で((13)式のbasLをアナログ
出力するためのデジタル−アナログコンバータ41と、
このコンバータ出力とZB相信号とを比較するコンパレ
ータ42とを加える)、行うこともできる。ただし、ソ
フトウエア上でまたはハードウエア上で構成するにせ
よ、いずれの場合も振幅レベルの判断はZA信号の振央
クロス時(つまり基準点の検出時)に行わなければなら
ないことはいうまでもない。
【0058】図12のRAM31(図3のRAM19と
同一)には、各相ともセンサ信号sig[ZA],si
g[ZB]のピーク値の情報と後述する各基準点におけ
る絶対位置データとが格納され、このRAM31は、C
PU14の電源が切れてもその内容が保持されるように
バッテリバックアップされる。
同一)には、各相ともセンサ信号sig[ZA],si
g[ZB]のピーク値の情報と後述する各基準点におけ
る絶対位置データとが格納され、このRAM31は、C
PU14の電源が切れてもその内容が保持されるように
バッテリバックアップされる。
【0059】図12においてCPU以外の他の要素は、
センサ信号sig[ZA],sig[ZB]のピーク値と
振央レベルを決定するために設けたもので、メインスケ
ール側のピーク値と振央レベルの決定のために用いる要
素と同一の構成である。
センサ信号sig[ZA],sig[ZB]のピーク値と
振央レベルを決定するために設けたもので、メインスケ
ール側のピーク値と振央レベルの決定のために用いる要
素と同一の構成である。
【0060】コントローラでは、使用のためCPU14
の電源が再度立ち上げられると、図13に示した処理を
行う(図13のステップ61)。
の電源が再度立ち上げられると、図13に示した処理を
行う(図13のステップ61)。
【0061】まず、ピストンロッド1をいずれかの方向
にストロークさせることによって1つ目の基準点を検出
した際に、メインスケール側のセンサ信号sig
[A],sig[B]にもとづいて演算される、上記の
ストローク位置データの最新値(図9のステップ56で
計算されるdisplのこと)を変数X1に、ZB相信号
の振幅レベルを変数AZ1に入れ(図13のステップ6
2,63)、2つ目の基準点の検出時にも、ストローク
位置の最新値を変数X2に、ZB相信号の振幅レベルを変
数AZ2に入れ(図13のステップ64,65)、2つ
の変数X1,X2の値から基準点間隔L(=X2−X1)を
計算する(図13のステップ66)。なお、基準点の検
出は、前述したようにZA相信号sig[ZA]がその振
央レベルcen[ZA]に等しくかつZB相信号sig
[ZB]が判定レベルbasZ以下であるときである。
にストロークさせることによって1つ目の基準点を検出
した際に、メインスケール側のセンサ信号sig
[A],sig[B]にもとづいて演算される、上記の
ストローク位置データの最新値(図9のステップ56で
計算されるdisplのこと)を変数X1に、ZB相信号
の振幅レベルを変数AZ1に入れ(図13のステップ6
2,63)、2つ目の基準点の検出時にも、ストローク
位置の最新値を変数X2に、ZB相信号の振幅レベルを変
数AZ2に入れ(図13のステップ64,65)、2つ
の変数X1,X2の値から基準点間隔L(=X2−X1)を
計算する(図13のステップ66)。なお、基準点の検
出は、前述したようにZA相信号sig[ZA]がその振
央レベルcen[ZA]に等しくかつZB相信号sig
[ZB]が判定レベルbasZ以下であるときである。
【0062】この2つの基準点の検出後に、この2つの
基準点の検出というのが、変数AZ2の値がlev1と
lev2のいずれの振幅レベルにあるかの判定結果と基
準点間隔Lの符号が正負のいずれの符号であるかの判定
結果とで区分けされる4つの領域のいずれの場合である
かを判定する(図13のステップ69,70,71)。
これは、図2においてピストンロッド1がどう動くかに
より、 AZ2=lev2かつL>0の領域 AZ2=lev1かつL>0の領域 AZ2=lev1かつL<0の領域 AZ2=lev2かつL<0の領域 の4つの領域に分けることができるからである。たとえ
ば、電源再立ち上げ時にピストンロッドが全ストローク
のほぼ中心位置にあってこれより伸び側(図で左方向)
に動くときがの領域、この反対に中心位置より縮み側
に動くときがの領域となるわけである。同様にして、
電源立ち上げ時にピストンロッドが最縮位置の近くにあ
ってこれより伸び側に動くときがの領域、また電源立
ち上げ時にピストンロッドが最伸位置の近くにあってこ
れより縮み側に動くときがの領域である。このよう
に、領域判定を行うのは、CPUの電源を切った後にピ
ストンロッドが動くことによって、電源の再立ち上げ時
にピストンロッド1の位置がどこにあるかわからないか
らである。
基準点の検出というのが、変数AZ2の値がlev1と
lev2のいずれの振幅レベルにあるかの判定結果と基
準点間隔Lの符号が正負のいずれの符号であるかの判定
結果とで区分けされる4つの領域のいずれの場合である
かを判定する(図13のステップ69,70,71)。
これは、図2においてピストンロッド1がどう動くかに
より、 AZ2=lev2かつL>0の領域 AZ2=lev1かつL>0の領域 AZ2=lev1かつL<0の領域 AZ2=lev2かつL<0の領域 の4つの領域に分けることができるからである。たとえ
ば、電源再立ち上げ時にピストンロッドが全ストローク
のほぼ中心位置にあってこれより伸び側(図で左方向)
に動くときがの領域、この反対に中心位置より縮み側
に動くときがの領域となるわけである。同様にして、
電源立ち上げ時にピストンロッドが最縮位置の近くにあ
ってこれより伸び側に動くときがの領域、また電源立
ち上げ時にピストンロッドが最伸位置の近くにあってこ
れより縮み側に動くときがの領域である。このよう
に、領域判定を行うのは、CPUの電源を切った後にピ
ストンロッドが動くことによって、電源の再立ち上げ時
にピストンロッド1の位置がどこにあるかわからないか
らである。
【0063】なお、|L|<L0のときは、同一の基準
点を2度続けてよぎった場合が相当し、この場合には基
準点間隔を正確に計算できないと判断して、X2の値を
X1に、AZ2の値をAZ1に移してステップ64に戻る
ことで(図13のステップ67,68,64)、領域の
判定には進まない。
点を2度続けてよぎった場合が相当し、この場合には基
準点間隔を正確に計算できないと判断して、X2の値を
X1に、AZ2の値をAZ1に移してステップ64に戻る
ことで(図13のステップ67,68,64)、領域の
判定には進まない。
【0064】4つの領域のいずれにあるかがわかると、
その判定された各領域ごとに基準点間隔の絶対値|L|
から の領域→AD=|L|*m+base1 …(14) の領域→AD=|L|*m+base3 …(15) の領域→AD=|L|*m+base4 …(16) の領域→AD=|L|*m+base2 …(17) ただし、base1〜base4;任意のアドレス(整
数値) の式でアドレスADを演算する(図13のステップ6
9,70,72、ステップ69,71,74、ステップ
69,71,75、ステップ69,70,73)。
その判定された各領域ごとに基準点間隔の絶対値|L|
から の領域→AD=|L|*m+base1 …(14) の領域→AD=|L|*m+base3 …(15) の領域→AD=|L|*m+base4 …(16) の領域→AD=|L|*m+base2 …(17) ただし、base1〜base4;任意のアドレス(整
数値) の式でアドレスADを演算する(図13のステップ6
9,70,72、ステップ69,71,74、ステップ
69,71,75、ステップ69,70,73)。
【0065】前述のように2つの基準点を検出したが、
(14)式〜(17)式のアドレスADは2つ目(つま
り後で検出した側)の基準点に対する絶対位置データの
入っている格納場所を指し示すものである。
(14)式〜(17)式のアドレスADは2つ目(つま
り後で検出した側)の基準点に対する絶対位置データの
入っている格納場所を指し示すものである。
【0066】この絶対位置データの入っているRAMを
図14に示す。たとえば、上記のの領域(AZ2=l
ev2かつL>0の領域)で説明すると、2つ目の基準
点を検出するのは、図2よりh7,h8,h9,h10,h
11,h12(hにつけた番号は絶対位置の識別番号)の各
絶対位置を通過したときであるから、合計6つのケース
があり、これと同数の格納場所に各ケースに対応させて
絶対位置データがあらかじめ格納されている。いまかり
に、2つ目の基準点としてh8の絶対位置を通過したと
きで考えると、このときの基準点間隔はL1よりアドレ
スAD(=L1*m+base1)で指し示される格納
場所には、h8に対する絶対位置データが入っていると
いうわけである。
図14に示す。たとえば、上記のの領域(AZ2=l
ev2かつL>0の領域)で説明すると、2つ目の基準
点を検出するのは、図2よりh7,h8,h9,h10,h
11,h12(hにつけた番号は絶対位置の識別番号)の各
絶対位置を通過したときであるから、合計6つのケース
があり、これと同数の格納場所に各ケースに対応させて
絶対位置データがあらかじめ格納されている。いまかり
に、2つ目の基準点としてh8の絶対位置を通過したと
きで考えると、このときの基準点間隔はL1よりアドレ
スAD(=L1*m+base1)で指し示される格納
場所には、h8に対する絶対位置データが入っていると
いうわけである。
【0067】このように、絶対位置データ格納用のRA
Mでは、上記〜の各領域で2つ目の基準点を検出す
る場合の数と同数の格納場所を用意しており、各場合に
対応させて絶対位置データをあらかじめ格納しているの
である。
Mでは、上記〜の各領域で2つ目の基準点を検出す
る場合の数と同数の格納場所を用意しており、各場合に
対応させて絶対位置データをあらかじめ格納しているの
である。
【0068】上記の(14)式〜(17)式のアドレス
ADからはこれが指し示す格納場所に入っている絶対位
置データを読み出し、この読み出した絶対位置データ
で、2つ目の基準点の検出時に上記のメインスケール側
のセンサ信号にもとづいて演算されるストローク位置デ
ータ(たとえばA相とB相の各粗位置カウンタ値)を書
き換える(図13のステップ76)。このストローク位
置データの置き換えは電源の再立ち上げ後に一度だけ行
う。
ADからはこれが指し示す格納場所に入っている絶対位
置データを読み出し、この読み出した絶対位置データ
で、2つ目の基準点の検出時に上記のメインスケール側
のセンサ信号にもとづいて演算されるストローク位置デ
ータ(たとえばA相とB相の各粗位置カウンタ値)を書
き換える(図13のステップ76)。このストローク位
置データの置き換えは電源の再立ち上げ後に一度だけ行
う。
【0069】電源を切った後にピストンロッドが何かの
都合で動いたときは、動いた後のピストンロッドの実際
のストローク位置と、メインスケール側のセンサ信号に
もとづいて演算される上記のストローク位置データとが
合わなくなるが、この絶対位置データを用いての置き換
えにより、電源切断後にピストンロッドに生じるずれが
無くされるわけで、このことは電源の再立ち上げごとに
絶対位置が設定されることを意味する。
都合で動いたときは、動いた後のピストンロッドの実際
のストローク位置と、メインスケール側のセンサ信号に
もとづいて演算される上記のストローク位置データとが
合わなくなるが、この絶対位置データを用いての置き換
えにより、電源切断後にピストンロッドに生じるずれが
無くされるわけで、このことは電源の再立ち上げごとに
絶対位置が設定されることを意味する。
【0070】(14)式〜(17)式のmは基準点間隔
Lを整数値に変換するための定数で、基準点間隔の差を
識別できるように選択し、かつ絶対位置データ格納のた
めに必要なワード数に応じて決めればよい。
Lを整数値に変換するための定数で、基準点間隔の差を
識別できるように選択し、かつ絶対位置データ格納のた
めに必要なワード数に応じて決めればよい。
【0071】なお、絶対位置データの置き換えが完了し
た時点で、CPU14から外部に絶対位置データの置き
換え完了の情報を出力することで(図13のステップ7
7)、電源の再立ち上げから絶対位置データの置き換え
までの位置検出とそれ以降の位置検出とを識別すること
ができる。
た時点で、CPU14から外部に絶対位置データの置き
換え完了の情報を出力することで(図13のステップ7
7)、電源の再立ち上げから絶対位置データの置き換え
までの位置検出とそれ以降の位置検出とを識別すること
ができる。
【0072】ところで、上記のアドレスADが指し示す
場所の絶対位置データを利用するためには、その前提と
して、そのアドレスADが指し示す場所に絶対位置デー
タを初期設定しておかなければならない。
場所の絶対位置データを利用するためには、その前提と
して、そのアドレスADが指し示す場所に絶対位置デー
タを初期設定しておかなければならない。
【0073】このため、コントローラでは図15に示し
た初期設定の処理を行う。この処理の内容は、図13と
ほぼ同様である(図15のステップ82〜95)。
た初期設定の処理を行う。この処理の内容は、図13と
ほぼ同様である(図15のステップ82〜95)。
【0074】図13の場合と異なる点は、工場からの出
荷前にピストンロッド1を1往復動かしつつ、隣接する
2つの基準点を検出した後にその2つの基準点間隔Lの
正負の符号およびZB相信号の振幅レベルで区分けした
領域ごとに演算されるアドレスADが指し示す格納場所
に、2つ目の基準点検出時にメインスケール側のセンサ
信号にもとづいて演算されるストローク位置データを絶
対位置データとして次々と格納してゆく点(図15のス
テップ82〜97、ステップ84〜97、ステップ84
〜97、……)と、この格納した絶対位置データをCP
U14の電源を切った後もバッテリバックアップしてお
く点とである。
荷前にピストンロッド1を1往復動かしつつ、隣接する
2つの基準点を検出した後にその2つの基準点間隔Lの
正負の符号およびZB相信号の振幅レベルで区分けした
領域ごとに演算されるアドレスADが指し示す格納場所
に、2つ目の基準点検出時にメインスケール側のセンサ
信号にもとづいて演算されるストローク位置データを絶
対位置データとして次々と格納してゆく点(図15のス
テップ82〜97、ステップ84〜97、ステップ84
〜97、……)と、この格納した絶対位置データをCP
U14の電源を切った後もバッテリバックアップしてお
く点とである。
【0075】たとえば、ピストンロッド1を最縮位置
(絶対位置の原点)から最伸位置まで動かし、その後に
最縮位置に戻すとすれば、ピストンロッド1を最縮位置
にもってきてメインスケール側のストローク位置データ
(つまりA相とB相の各粗位置カウンタ値および精位
置)をゼロにセットすることから始める(図15のステ
ップ81)。
(絶対位置の原点)から最伸位置まで動かし、その後に
最縮位置に戻すとすれば、ピストンロッド1を最縮位置
にもってきてメインスケール側のストローク位置データ
(つまりA相とB相の各粗位置カウンタ値および精位
置)をゼロにセットすることから始める(図15のステ
ップ81)。
【0076】ピストンロッド1が最縮位置から全ストロ
ークの中心位置まで伸びるときはL>0かつZB相の振
幅レベルがlev1にあるから、上記の(15)式でア
ドレスADを演算し、このアドレスADが指し示す格納
場所に変数X2の内容を移し(図15のステップ89,
91,94,96)、X2の値をX1に、AZ2の値をA
Z1に移し(図15のステップ97)、さらに2つ目の
基準点の検出時からの処理を繰り返して行うと(図15
のステップ84〜97)、ピストンロッド1が全ストロ
ークの中心位置まで伸びた時点で、図14において任意
のアドレスbase3を基準にして5つの格納場所に図
2に示したh2からh6の各位置で演算されるストローク
位置データが絶対位置データとしてこの順に格納され
る。
ークの中心位置まで伸びるときはL>0かつZB相の振
幅レベルがlev1にあるから、上記の(15)式でア
ドレスADを演算し、このアドレスADが指し示す格納
場所に変数X2の内容を移し(図15のステップ89,
91,94,96)、X2の値をX1に、AZ2の値をA
Z1に移し(図15のステップ97)、さらに2つ目の
基準点の検出時からの処理を繰り返して行うと(図15
のステップ84〜97)、ピストンロッド1が全ストロ
ークの中心位置まで伸びた時点で、図14において任意
のアドレスbase3を基準にして5つの格納場所に図
2に示したh2からh6の各位置で演算されるストローク
位置データが絶対位置データとしてこの順に格納され
る。
【0077】同様にして、ピストンロッドが中心位置か
ら伸びて最伸位置に至るまではL>0かつZB相の振幅
レベルがlev2となることより、上記の(14)式で
(図15のステップ89,90,92)、最伸位置から
中心位置までピストンロッドが戻るときはL<0かつZ
B相の振幅レベルがlev2となることより、上記の
(17)式で(図15のステップ89,90,93)、
さらに中心位置から最縮位置にピストンロッドが戻ると
きはL<0かつZB相の振幅レベルがlev1となるこ
とより、上記の(16)式で(図15のステップ89,
91,95)、それぞれアドレスADを計算し、このア
ドレスADが指し示す格納場所に変数X2の内容を移す
ということを繰り返すと、図14において、任意のアド
レスbase1を基準にして6つの格納場所に図2のh
7からh12の各位置で演算されるストローク位置データ
がこの順に、任意のアドレスbase2を基準にして5
つの格納場所に図2のh11からh7の各位置で演算され
るストローク位置データがこの順に、任意のアドレスb
ase4を基準にして6つの格納場所に図2のh6から
h1の各位置で演算されるストローク位置データがこの
順にそれぞれ格納される。
ら伸びて最伸位置に至るまではL>0かつZB相の振幅
レベルがlev2となることより、上記の(14)式で
(図15のステップ89,90,92)、最伸位置から
中心位置までピストンロッドが戻るときはL<0かつZ
B相の振幅レベルがlev2となることより、上記の
(17)式で(図15のステップ89,90,93)、
さらに中心位置から最縮位置にピストンロッドが戻ると
きはL<0かつZB相の振幅レベルがlev1となるこ
とより、上記の(16)式で(図15のステップ89,
91,95)、それぞれアドレスADを計算し、このア
ドレスADが指し示す格納場所に変数X2の内容を移す
ということを繰り返すと、図14において、任意のアド
レスbase1を基準にして6つの格納場所に図2のh
7からh12の各位置で演算されるストローク位置データ
がこの順に、任意のアドレスbase2を基準にして5
つの格納場所に図2のh11からh7の各位置で演算され
るストローク位置データがこの順に、任意のアドレスb
ase4を基準にして6つの格納場所に図2のh6から
h1の各位置で演算されるストローク位置データがこの
順にそれぞれ格納される。
【0078】なお、図14に示したように、同一の基準
点に対して2つの絶対位置データを、アドレスを異にし
て格納することにしたのは、図11に示した基準点の検
出が、ピストンロッドの移動方向(伸びる方向と縮む方
向)の違いで微妙にズレを起こすためで、移動方向別に
アドレスを違えて絶対位置データを別々に格納すること
で、ピストンロッドの移動方向の違いで生じる微妙なズ
レをなくすことができるのである。したがって、ピスト
ンロッドの移動方向の違いでズレを生じないときは、1
往復させる必要がなく、片道だけ(最縮位置からピスト
ンロッドを伸ばして最伸位置に至らせるだけ)でよい。
点に対して2つの絶対位置データを、アドレスを異にし
て格納することにしたのは、図11に示した基準点の検
出が、ピストンロッドの移動方向(伸びる方向と縮む方
向)の違いで微妙にズレを起こすためで、移動方向別に
アドレスを違えて絶対位置データを別々に格納すること
で、ピストンロッドの移動方向の違いで生じる微妙なズ
レをなくすことができるのである。したがって、ピスト
ンロッドの移動方向の違いでズレを生じないときは、1
往復させる必要がなく、片道だけ(最縮位置からピスト
ンロッドを伸ばして最伸位置に至らせるだけ)でよい。
【0079】このように、この例では、メインスケール
と、このメインスケールのピッチに対応した正弦波を9
0度の位相差をもって出力する一対の磁気センサとは別
に、複数の弱磁性部を全ストロークにわたって配設しか
つ弱磁性部深さを異ならせたサブスケールと、このサブ
スケールの弱磁性部位置に対応した正弦波を90度の位
相差をもって出力する一対の磁気センサとを設け、電源
の再立ち上げ時に隣接する任意の2つの基準点(サブス
ケールの弱磁性部位置に相当するZA相信号の振央クロ
ス点)をピストンロッドを通過させて検出し、この2つ
の基準点の検出が、この2つの基準点間隔の符号と2つ
目の基準点検出時のZB相の振幅レベルとで区分けされ
たいずれの領域にあるかを判定し、その判定した領域で
基準点間隔の絶対値にもとづいてアドレスADを演算
し、このアドレスADが指し示す場所に格納されている
絶対位置データで、2つ目の基準点検出時にメインスケ
ール側のセンサ信号にもとづいて演算されるストローク
位置データを置き換える。かつ各基準点に対する絶対位
置データを、隣接する2つの基準点間隔の符号と2つ目
の基準点検出時のZB相の振幅レベルとで区分けされた
領域ごとに前記アドレスが指し示すメモリに初期設定
し、この初期設定された絶対位置データを電源を切った
後もバッテリバックアップしておくわけである。
と、このメインスケールのピッチに対応した正弦波を9
0度の位相差をもって出力する一対の磁気センサとは別
に、複数の弱磁性部を全ストロークにわたって配設しか
つ弱磁性部深さを異ならせたサブスケールと、このサブ
スケールの弱磁性部位置に対応した正弦波を90度の位
相差をもって出力する一対の磁気センサとを設け、電源
の再立ち上げ時に隣接する任意の2つの基準点(サブス
ケールの弱磁性部位置に相当するZA相信号の振央クロ
ス点)をピストンロッドを通過させて検出し、この2つ
の基準点の検出が、この2つの基準点間隔の符号と2つ
目の基準点検出時のZB相の振幅レベルとで区分けされ
たいずれの領域にあるかを判定し、その判定した領域で
基準点間隔の絶対値にもとづいてアドレスADを演算
し、このアドレスADが指し示す場所に格納されている
絶対位置データで、2つ目の基準点検出時にメインスケ
ール側のセンサ信号にもとづいて演算されるストローク
位置データを置き換える。かつ各基準点に対する絶対位
置データを、隣接する2つの基準点間隔の符号と2つ目
の基準点検出時のZB相の振幅レベルとで区分けされた
領域ごとに前記アドレスが指し示すメモリに初期設定
し、この初期設定された絶対位置データを電源を切った
後もバッテリバックアップしておくわけである。
【0080】これによって、CPUの電源が切れている
間にピストンロッドが動き、この動いた後の実際のスト
ローク位置と、メインスケール側のセンサ信号にもとづ
いて演算されるストローク位置データとがずれてしまっ
たとしても、電源の再立ち上げ時にピストンロッドをス
トロークさせて、隣接する任意の2つの基準点を検出す
れば、その時点でメインスケール側のセンサ信号にもと
づくストローク位置データが、ピストンロッドの実際の
位置に合うように修正され、電源の再立ち上げの前に生
じていたずれがなくされるので、それ以後は電源が落と
されるまで、メインスケール側のセンサ信号により再び
精度のよい位置検出を行うことができるのである。
間にピストンロッドが動き、この動いた後の実際のスト
ローク位置と、メインスケール側のセンサ信号にもとづ
いて演算されるストローク位置データとがずれてしまっ
たとしても、電源の再立ち上げ時にピストンロッドをス
トロークさせて、隣接する任意の2つの基準点を検出す
れば、その時点でメインスケール側のセンサ信号にもと
づくストローク位置データが、ピストンロッドの実際の
位置に合うように修正され、電源の再立ち上げの前に生
じていたずれがなくされるので、それ以後は電源が落と
されるまで、メインスケール側のセンサ信号により再び
精度のよい位置検出を行うことができるのである。
【0081】また、電源を落とした後のバッテリバック
アップは、絶対位置格納用のRAMと、メインスケール
側のセンサ信号のピーク値を格納している図5のRAM
についてだけ行えばよいため、バックアップバッテリの
容量が大型化することもない。
アップは、絶対位置格納用のRAMと、メインスケール
側のセンサ信号のピーク値を格納している図5のRAM
についてだけ行えばよいため、バックアップバッテリの
容量が大型化することもない。
【0082】さらに、サブスケールの弱磁性部深さを異
ならせて2種類にすることで、図2にも示したように同
一の基準点間隔(L1〜L5について2つづつとなってい
る)で弱磁性部を配置することができる。最小の基準点
間隔L0は図2では1つだけであるが、図18のように
2つ設けることも可能である。弱磁性部深さを3以上の
異なる値にすれば、その異なる深さの数と同じ数だけ同
一の基準点間隔を設けることができるのである。
ならせて2種類にすることで、図2にも示したように同
一の基準点間隔(L1〜L5について2つづつとなってい
る)で弱磁性部を配置することができる。最小の基準点
間隔L0は図2では1つだけであるが、図18のように
2つ設けることも可能である。弱磁性部深さを3以上の
異なる値にすれば、その異なる深さの数と同じ数だけ同
一の基準点間隔を設けることができるのである。
【0083】さらにまた、基準点間隔Lの計算は、メイ
ンスケール側のセンサ信号にもとづいて演算される高精
度のストローク位置データ(0.01mm単位で計算さ
れる)を用いているため、基準点間隔の差(たとえばL
2−L1)を小さくできる。基準点間隔の差はメインスケ
ール側のセンサ信号にもとづいて演算されるストローク
位置の最小単位(つまり精位置の単位)より大きければ
よいのである。
ンスケール側のセンサ信号にもとづいて演算される高精
度のストローク位置データ(0.01mm単位で計算さ
れる)を用いているため、基準点間隔の差(たとえばL
2−L1)を小さくできる。基準点間隔の差はメインスケ
ール側のセンサ信号にもとづいて演算されるストローク
位置の最小単位(つまり精位置の単位)より大きければ
よいのである。
【0084】一方、初期設定時に各基準点に対してメイ
ンスケール側のセンサ信号にもとづいて演算されるスト
ローク位置データが絶対位置データとして用いられる
と、絶対位置データの精度がよくなる。
ンスケール側のセンサ信号にもとづいて演算されるスト
ローク位置データが絶対位置データとして用いられる
と、絶対位置データの精度がよくなる。
【0085】前述の実施例では、電源再立ち上げ後、任
意の隣接する2つの基準点を検出した時点で、2つ目に
検出した基準点に対してメインスケール側のセンサ信号
にもとづいて演算されるストローク位置を絶対位置デー
タで置き換える処理について、一度行えばよいと述べた
が、この置き換え処理を必要に応じて(つまり何度で
も)行うことができる。たとえば、電源の再立ち上げ時
に上記のようにして絶対位置データで置き換えた後も、
隣接する2つの基準点間隔を適宜計算し、2つ目の基準
点に対するストローク位置データを、これに対応する絶
対位置データと比較し、両者が不一致であれば、そのス
トローク位置データを絶対位置データで置き換えてやる
のである。
意の隣接する2つの基準点を検出した時点で、2つ目に
検出した基準点に対してメインスケール側のセンサ信号
にもとづいて演算されるストローク位置を絶対位置デー
タで置き換える処理について、一度行えばよいと述べた
が、この置き換え処理を必要に応じて(つまり何度で
も)行うことができる。たとえば、電源の再立ち上げ時
に上記のようにして絶対位置データで置き換えた後も、
隣接する2つの基準点間隔を適宜計算し、2つ目の基準
点に対するストローク位置データを、これに対応する絶
対位置データと比較し、両者が不一致であれば、そのス
トローク位置データを絶対位置データで置き換えてやる
のである。
【0086】また、使用中にピストンロッドが最伸位置
や最縮位置にとどまることを防止するため、その最伸位
置や最縮位置に最も近い基準点(図2に示すとh1とh
12の位置)を検出したとき警報を発するようにすること
もできる。たとえば、隣接する2つの基準点間隔の符号
とZB相の振幅レベルなどから、ピストンロッドが図2
においてh1を通過して最縮位置に向かった(あるいは
h12を通過して最伸位置に向かった)ことを判定したと
き、このことを外部に知らせるのである。
や最縮位置にとどまることを防止するため、その最伸位
置や最縮位置に最も近い基準点(図2に示すとh1とh
12の位置)を検出したとき警報を発するようにすること
もできる。たとえば、隣接する2つの基準点間隔の符号
とZB相の振幅レベルなどから、ピストンロッドが図2
においてh1を通過して最縮位置に向かった(あるいは
h12を通過して最伸位置に向かった)ことを判定したと
き、このことを外部に知らせるのである。
【0087】図2では、6つの異なる基準点間隔(L0
〜L5)を、全ストロークの中心を対称軸として図で左
右に対称にかつ中心より外側に向かうにつれて基準点間
隔が徐々に大きくなるように設けたが、左右で非対称に
配置してもよく(全ストロークの中心より図で左方向に
向けてだけ基準点間隔が徐々に小さくなるように設け
る)、あるいはL0、L5、L2、L1、…のように無作為
に配置してもよい。
〜L5)を、全ストロークの中心を対称軸として図で左
右に対称にかつ中心より外側に向かうにつれて基準点間
隔が徐々に大きくなるように設けたが、左右で非対称に
配置してもよく(全ストロークの中心より図で左方向に
向けてだけ基準点間隔が徐々に小さくなるように設け
る)、あるいはL0、L5、L2、L1、…のように無作為
に配置してもよい。
【0088】サブスケールの弱磁性部の幅をすべて同じ
値のL0/2としたが、最小基準点間隔L0が識別できる
のであればL0/2以上でも以下でもよく、また各弱磁
性部ごとに異なる幅を設定してもよい。L0はメインス
ケールのピッチPと関係なく設定することができる。
値のL0/2としたが、最小基準点間隔L0が識別できる
のであればL0/2以上でも以下でもよく、また各弱磁
性部ごとに異なる幅を設定してもよい。L0はメインス
ケールのピッチPと関係なく設定することができる。
【0089】図11に示したように、ZA相信号の振央
クロス点を基準点とし、ZB相信号を基準点検出のため
に使用したが、この逆にZB相信号の振央クロス点を基
準点とし、ZA相信号を基準点検出のために用いること
もできる。
クロス点を基準点とし、ZB相信号を基準点検出のため
に使用したが、この逆にZB相信号の振央クロス点を基
準点とし、ZA相信号を基準点検出のために用いること
もできる。
【0090】
【発明の効果】第1の発明では、メインスケールと、こ
のメインスケールのピッチに対応した正弦波を90度の
位相差をもって出力する一対の磁気センサとは別に、複
数の弱磁性部を全移動方向にわたって配設しかつ弱磁性
部深さを異ならせたサブスケールと、このサブスケール
の弱磁性部位置に対応した正弦波を90度の位相差をも
って出力する一対の磁気センサとを設け、電源の再立ち
上げ時に前記サブスケール側の一方の相のセンサ信号の
振央クロス時を基準点として、隣接する任意の2つの基
準点を検出し、この2つの基準点の検出が、この2つの
基準点間隔の符号と前記一方の相の反対相のセンサ信号
の振幅レベルとで区分けされたいずれの領域にあるかを
判定し、その判定した領域で基準点間隔の絶対値にもと
づいてアドレスを演算し、このアドレスが指し示すメモ
リに格納されている絶対位置データで、2つ目の基準点
検出時にメインスケール側のセンサ信号にもとづいて演
算されるストローク位置データを置き換える一方で、各
基準点に対する絶対位置データを、隣接する2つの基準
点間隔の符号と前記反対相のセンサ信号の2つ目の基準
点検出時の振幅レベルとで区分けされた領域ごとに前記
アドレスが指し示すメモリに初期設定し、この初期設定
された絶対位置データを電源を切った後もバッテリバッ
クアップしておくように構成したため、バックアップバ
ッテリーの容量を過大にすることなく、位置検出のため
の絶対位置のセットを電源の再立ち上げ時に隣接する2
つの基準点を通過させるだけで行うことができ、かつサ
ブスケールの弱磁性部深さの異なる数と同数の同一の基
準点間隔を設けることができる。
のメインスケールのピッチに対応した正弦波を90度の
位相差をもって出力する一対の磁気センサとは別に、複
数の弱磁性部を全移動方向にわたって配設しかつ弱磁性
部深さを異ならせたサブスケールと、このサブスケール
の弱磁性部位置に対応した正弦波を90度の位相差をも
って出力する一対の磁気センサとを設け、電源の再立ち
上げ時に前記サブスケール側の一方の相のセンサ信号の
振央クロス時を基準点として、隣接する任意の2つの基
準点を検出し、この2つの基準点の検出が、この2つの
基準点間隔の符号と前記一方の相の反対相のセンサ信号
の振幅レベルとで区分けされたいずれの領域にあるかを
判定し、その判定した領域で基準点間隔の絶対値にもと
づいてアドレスを演算し、このアドレスが指し示すメモ
リに格納されている絶対位置データで、2つ目の基準点
検出時にメインスケール側のセンサ信号にもとづいて演
算されるストローク位置データを置き換える一方で、各
基準点に対する絶対位置データを、隣接する2つの基準
点間隔の符号と前記反対相のセンサ信号の2つ目の基準
点検出時の振幅レベルとで区分けされた領域ごとに前記
アドレスが指し示すメモリに初期設定し、この初期設定
された絶対位置データを電源を切った後もバッテリバッ
クアップしておくように構成したため、バックアップバ
ッテリーの容量を過大にすることなく、位置検出のため
の絶対位置のセットを電源の再立ち上げ時に隣接する2
つの基準点を通過させるだけで行うことができ、かつサ
ブスケールの弱磁性部深さの異なる数と同数の同一の基
準点間隔を設けることができる。
【0091】第2の発明は、前記初期設定手段による初
期設定に前記位置データ演算手段で演算される位置デー
タを用いるため、絶対位置データの精度がよくなる。
期設定に前記位置データ演算手段で演算される位置デー
タを用いるため、絶対位置データの精度がよくなる。
【図1】この発明のクレーム対応図である。
【図2】一実施例のメインスケールとサブスケールの詳
細図である。
細図である。
【図3】メインスケール側の二相の信号sig[A],
sig[B]に対するコントローラのブロック図であ
る。
sig[B]に対するコントローラのブロック図であ
る。
【図4】コンパレータ出力sgn[A],sgn[B]
の波形図である。
の波形図である。
【図5】二相のセンサ信号とピーク値の格納の様子を示
す説明図である。
す説明図である。
【図6】A相信号の振央クロス時の正規化係数とB相信
号の振央レベルの演算を説明するためのフローチャート
である。
号の振央レベルの演算を説明するためのフローチャート
である。
【図7】B相信号の振央クロス時の正規化係数とA相信
号の振央レベルの演算を説明するためのフローチャート
である。
号の振央レベルの演算を説明するためのフローチャート
である。
【図8】ピーク値の更新を説明するためのフローチャー
トである。
トである。
【図9】ストローク位置データの演算を説明するための
フローチャートである。
フローチャートである。
【図10】正規化信号correct[A],corr
ect[B]から精位置を演算するための説明図であ
る。
ect[B]から精位置を演算するための説明図であ
る。
【図11】基準点を説明するサブスケール側の二相の各
信号の波形図である。
信号の波形図である。
【図12】サブスケール側の二相の信号sig
[ZA],sig[ZB]に対するコントローラのブロッ
ク図である。
[ZA],sig[ZB]に対するコントローラのブロッ
ク図である。
【図13】電源再立ち上げ時のコントローラの処理を説
明するためのフローチャートである。
明するためのフローチャートである。
【図14】基準点間隔Lの符号とZB相信号の振幅レベ
ルとで区分けされる領域ごとに演算されるアドレスとそ
のアドレスが指し示す場所の絶対位置データとの関係を
示す表図である。
ルとで区分けされる領域ごとに演算されるアドレスとそ
のアドレスが指し示す場所の絶対位置データとの関係を
示す表図である。
【図15】各基準点に対する絶対位置データの格納を説
明するためのフローチャートである。
明するためのフローチャートである。
【図16】第2の実施例のサブスケール側の二相の信号
の波形図である。
の波形図である。
【図17】第3の実施例のサブスケール側の二相の信号
sig[ZA],sig[ZB]に対するコントローラの
ブロック図である。
sig[ZA],sig[ZB]に対するコントローラの
ブロック図である。
【図18】第4の実施例のメインスケールとサブスケー
ルの詳細図である。
ルの詳細図である。
1 ピストンロッド 2 弱磁性部 3 メインスケール 4 磁気センサ(メインスケール側) 5 弱磁性部 6 サブスケール 7 磁気センサ(サブスケール側) 14 CPU 19 RAM 31 RAM 51 メインスケール 52 磁気センサ 53 ピーク値格納・更新手段 54 振央レベル演算手段 55 粗位置演算手段 56 正規化係数演算手段 57 センサ信号補正手段 58 精位置演算手段 59 位置データ演算手段 61 サブスケール 62 磁気センサ 63 電源立ち上げ時判定手段 64 通過手段 65 ピーク格納・更新手段 66 振央レベル演算手段 67 基準点検出手段 68 メモリ 69 位置データ格納手段 70 基準点間隔計算手段 71 メモリ 72 振幅レベル格納手段 73 振幅レベル判定手段 74 アドレス演算手段 75 メモリ 76 置き換え手段 77 初期設定手段 78 バッテリバックアップ手段
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭57−173716(JP,A) (58)調査した分野(Int.Cl.7,DB名) G01D 5/00 - 5/62 G01B 7/00 - 7/32
Claims (2)
- 【請求項1】 移動方向に所定のピッチで弱磁性部を配
設して形成したメインスケールと、このメインスケール
のピッチに対応した正弦波を90度の位相差をもって出
力する一対の磁気センサと、前記メインスケールのピッ
チごとの各センサ信号のピーク値をそれぞれ格納・更新
する手段と、各ピーク値から各ピッチごとの振央レベル
を演算する手段と、振央レベルとセンサ信号の比較結果
にもとづいて粗位置を演算する手段と、ピーク値と振央
レベルからセンサ信号の正規化係数を演算する手段と、
この正規化係数にもとづいてセンサ信号を補正する手段
と、二相の補正された正規化信号を用いて三角関数逆演
算により精位置を演算する手段と、粗位置と精位置とを
合算した値を位置データとして演算する手段とを備える
位置検出装置において、複数の弱磁性部をその深さを異
ならせて全移動範囲にわたって設置したサブスケール
と、このサブスケールの弱磁性部位置に対応した正弦波
を90度の位相差をもって出力し、かつ弱磁性部深さに
応じて振幅レベルが変化する一対の磁気センサと、電源
の再立ち上げ時かどうかを判定する手段と、この電源の
再立ち上げ時に前記サブスケール側の一方の相のセンサ
信号の振央クロス時を基準点として、隣接する任意の2
つの基準点を通過駆動させる手段と、この2つの基準点
の通過時に前記サブスケール側の二相のセンサ信号のピ
ーク値を格納・更新する手段と、各ピーク値から二相の
センサ信号の振央レベルを演算する手段と、前記サブス
ケール側の一方の相のセンサ信号とその振央レベルとか
ら前記隣接する2つの基準点をそれぞれ検出する手段
と、この各基準点の検出時に前記位置データ演算手段で
演算されたる位置データをメモリにそれぞれ格納する手
段と、このメモリに格納された値から前記隣接する任意
の2つの基準点間隔を計算する手段と、前記2つ目の基
準点の検出時に前記サブスケール側の他方の相のセンサ
信号の振幅レベルをメモリに格納する手段と、この格納
された2つ目の振幅レベルが前記サブスケール側の弱磁
性部のいずれの深さに対応するかを判定する手段と、こ
の判定結果と前記基準点間隔の符号とで区分けされた領
域で前記基準点間隔の絶対値にもとづいてアドレスを演
算する手段と、このアドレスが指し示すメモリに格納さ
れている絶対位置データで、前記2つ目の基準点の検出
時に前記位置データ演算手段で演算される位置データを
置き換える手段と、隣接する2つの基準点間隔の符号と
前記サブスケール側の他方の相のセンサ信号の前記2つ
目の基準点検出時の振幅レベルとで区分けされた領域ご
とに前記アドレスが指し示すメモリに各基準点に対する
絶対位置データを初期設定する手段と、この初期設定さ
れた絶対位置データを電源を切った後もバッテリバック
アップしておく手段とを設けたことを特徴とする位置検
出装置。 - 【請求項2】 前記初期設定手段による初期設定に前
記位置データ演算手段で演算される位置データを用いる
ことを特徴とする請求項1に記載の位置検出装置。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP08754493A JP3184361B2 (ja) | 1993-04-14 | 1993-04-14 | 位置検出装置 |
US08/168,096 US5497083A (en) | 1992-12-24 | 1993-12-15 | Rod axial position detector including a first scale having equidistant magnetic parts and a second scale having unequally distant parts and differing field strengths |
ITRM930842A IT1261951B (it) | 1992-12-24 | 1993-12-22 | Rivelatore della posizione assiale di un'asta, in particolare lo stelodi un pistone. |
DE4344290A DE4344290C2 (de) | 1992-12-24 | 1993-12-23 | Axialer Positionsdetektor für eine Stange |
KR1019930029468A KR970007064B1 (ko) | 1992-12-24 | 1993-12-24 | 로드의 축방향위치의 탐지기 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP08754493A JP3184361B2 (ja) | 1993-04-14 | 1993-04-14 | 位置検出装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH06300586A JPH06300586A (ja) | 1994-10-28 |
JP3184361B2 true JP3184361B2 (ja) | 2001-07-09 |
Family
ID=13917931
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP08754493A Expired - Fee Related JP3184361B2 (ja) | 1992-12-24 | 1993-04-14 | 位置検出装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3184361B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2524264A1 (en) * | 2003-05-06 | 2004-11-18 | Sri International | Systems and methods of recording piston rod position information in a magnetic layer on a piston rod |
US7259553B2 (en) * | 2005-04-13 | 2007-08-21 | Sri International | System and method of magnetically sensing position of a moving component |
-
1993
- 1993-04-14 JP JP08754493A patent/JP3184361B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH06300586A (ja) | 1994-10-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5930905A (en) | Method and device for angular measurement of a rotatable body | |
JP6355827B2 (ja) | アブソリュートエンコーダ | |
US5461311A (en) | Rod axial position detector including plural scales wherein nonmagnetized portions have differing spacing and differing depths and means for calculating the absolute position are provided | |
US6761075B2 (en) | Method for determining a rotation angle and/or an angle differential from phase signals | |
US6188341B1 (en) | Encoder interpolation circuit which corrects an interpolation angle between a received sine-wave encoder signal and a cosine-wave encoder signal | |
JP5837201B2 (ja) | 位置を求める方法および装置 | |
US8091003B2 (en) | Position detection error correcting method | |
US6018318A (en) | Method and apparatus for determining the phase angle in position transmitters with sinusoidal output signals | |
JPH07174586A (ja) | 増分位置検出器の可動周期目盛盤の絶対位置測定方法及びその装置 | |
EP0787973A1 (en) | Method and apparatus for processing angular data from encoder | |
JPH0141923B2 (ja) | ||
US6563443B2 (en) | Method and device for absolute position determination | |
KR101006338B1 (ko) | 회전 운동 또는 회전 각의 검출시 틸팅각을 결정하고보상하는 방법 및 회로 장치 | |
JP3184361B2 (ja) | 位置検出装置 | |
JP3021805B2 (ja) | 測尺装置 | |
JP3217895B2 (ja) | 位置検出装置 | |
JP3188041B2 (ja) | 位置検出装置 | |
US4823000A (en) | Apparatus for indicating the value of a variable | |
JP3659790B2 (ja) | 位置検出装置 | |
CN115900775A (zh) | 编码器及其位置补偿方法、装置和存储介质 | |
JP3155382B2 (ja) | 位置検出装置 | |
JP3251664B2 (ja) | 位置検出装置 | |
JPH10221115A (ja) | 基準位置検出用ストロークセンシングシリンダロード | |
US7091884B2 (en) | Analog position encoder | |
JP3226124B2 (ja) | 位置検出装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |