JP2001330476A - 位置検出方法 - Google Patents

位置検出方法

Info

Publication number
JP2001330476A
JP2001330476A JP2000151507A JP2000151507A JP2001330476A JP 2001330476 A JP2001330476 A JP 2001330476A JP 2000151507 A JP2000151507 A JP 2000151507A JP 2000151507 A JP2000151507 A JP 2000151507A JP 2001330476 A JP2001330476 A JP 2001330476A
Authority
JP
Japan
Prior art keywords
phase
pulse
sine wave
value
wave signal
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.)
Pending
Application number
JP2000151507A
Other languages
English (en)
Inventor
Riichi Sakai
利一 酒井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2000151507A priority Critical patent/JP2001330476A/ja
Publication of JP2001330476A publication Critical patent/JP2001330476A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Transmission And Conversion Of Sensor Element Output (AREA)

Abstract

(57)【要約】 【課題】 移動体の位置を精度良く検出する。 【解決手段】 A相とB相とのA/D変換値からtan
-1を計算して微位置を求め、粗位置用計数器とのソフト
的な加算により、著しく高分解の検出ができる。また、
A相とB相とのパルス信号のエッジの切換わりを、正弦
波信号のゼロクロス点ではなく任意の量のずれを持たせ
たところにすることで、ヒステリシス特性を持たせてい
て、その量を予め指定しておけば、粗位置用の計数器を
微位置の値と回転方向などで確実に補正でき、従来例に
比べて極めて高精度な位置検出ができる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、移動体の回転位置
等を検出するための位置検出方法に関するものである。
【0002】
【従来の技術】図6は特願平5−173645号公報に
開示された従来の回転角度検出装置を示したものであ
る。モータ1に軸結されるエンコーダは2相正弦波エン
コーダ10であり、この正弦波エンコーダ10は位相が
互いに90゜異なる図7(a)に実線で示すA相正弦波
信号と破線で示すB相正弦波信号とを発生する。このA
相正弦波信号、B相正弦波信号は、波形整形器11で矩
形波信号SA、SBに変換された後に、4逓倍パルスを発
生する方向判別4逓倍回路12に入力される。
【0003】方向判別4逓倍回路12はA相正弦波信号
がB相正弦波信号パルスに対して進み位相にあるとき
は、モータ1が正回転中であるとしてパルス列Uを出力
し、A相正弦波信号パルスがB相正弦波信号に対して遅
れ位相にあるときは、モータ1が逆回転中であるとして
パルス列Dを出力する。
【0004】方向判別4逓倍回路12が出力するパルス
列U、Dはアップダウンカウンタ4に入力され、このア
ップダウンカウンタ4の出力である回転角信号na N
(Nは第N回目の出力であることを示す)はラッチ13
に供給される。ラッチ13から出力される回転角信号n
a Nは、加算器15で第N−1回目にラッチ13から取
り出されてメモリM1に格納されている回転角信号na
(N−1)と差分され、偏差Δna =na N−na (N
−1)が検出演算部21に取り込まれる。
【0005】基本的に、正弦波エンコーダ10が出力す
るA相正弦波信号とB相正弦波信号は、A/D変換器1
8でデジタル信号A*、B*に変換された後に、tan-1
演算部19に入力し、θaとして出力される。ただし、
−90゜<θa<+90゜の範囲の値である。
【0006】tan-1演算部19は下記の(a)〜
(h)のtan-1演算を実行する。なお、FR*はモー
タ1が正回転(N)か、逆回転(L)かを示している。 (イ)SA1 *>0、SB1 *<0、FR*=Hのとき、θa =
tan-1(A*/−B*)、これは図7(e)の直線を
演算している。 (ロ)SA1 *>0、SB1 *<0、FR*=Lのとき、θa =
tan-1(B*/A*)、これは図7(e)の直線を演
算している。 (ハ)SA1 *>0、SB1 *>0、FR*=Hのとき、θa =
tan-1(B*/A*)、これは図7(e)の直線を演
算している。 (ニ)SA1 *>0、SB1 *<0、FR*=Lのとき、θa =
tan-1(−A*/B*)、これは図7(e)の直線を
演算している。 (ホ)SA1 *<0、SB1 *>0、FR*=Hのとき、θa =
tan-1(−A*/B*)、これは図7(e)の直線を
演算している。 (ヘ)SA1 *<0、SB1 *>0、FR*=Lのとき、θa =
tan-1(−B*/−A*)、これは図7(e)の直線
を演算している。 (ト)SA1 *<0、SB1 *<0、FR*=Hのとき、θa =
tan-1(−B*/−A*)、これは図7(e)の直線
を演算している。 (チ)SA1 *<0、SB1 *<0、FR*=Lのとき、θa =
tan-1(−A*/−B*)、これは図7(e)の直線
を演算している。 この(イ)〜(チ)のA*とB*の組合わせは図7(f)に
示している。
【0007】なお、このtan-1演算、偏差Δna の演
算は、上記割込み信号の周期T(逓倍パルスの周期より
も相当に小さい)を演算周期としてソフトウエアで実行
し、tan-1演算部19の出力θa は検出演算部21に
取り込まれる。
【0008】図8に示すように、A相正弦波信号、B相
正弦波信号のゼロクロス点と波形整形器11が出力する
矩形波信号SAとSBのパスルエッジが一致していない場
合には、両者にずれΔtが存在し、このずれΔt内にお
いては、位置θf は{θa +nbN}ではなく、{θa
+nb(N+1)}又は{θa +nb(N−1)}の何
れかの値を表すことになるため、下記のようなアルゴリ
ズムで補正する。
【0009】ここで、検出演算部21が行う演算内容
は、図9の波形タイムチャートを参照して説明されてい
る。図9において、(a)はtan-1演算器19の出力
θa を、(b)は実線のA相正弦波信号、破線のB相正
弦波信号を示している。また、(c)の(L+n)は方
向判別4逓倍回路12が出力するパルス間隔Lとパルス
計数回数nとを示し、(d)における(0〜3)のサイ
クリックチェック用数値は、下記の区間を表している。
【0010】なお、サイクリックチェック用数値は、A
相デジタル値の正負に対するB相デジタル値の正負の組
合わせに対しモータ1の正/逆に応じて、図10に示す
ようにサイクリックに増加/減小する。 C=0(A*≧0、B*<0) C=1(A*≧0、B*≧0) C=2(A*<0、B*≧0) C=3(A*<0、B*<0)
【0011】そして、検出演算部21は下記(1)式を
演算する。 θHfk=θHfk-1+Δnak …(1) ただし、kは第k番目の演算タイミングであり、 (a)Ck =Ck-1 +Δnak-1であれば、 θf =θfk=(θHfk-1、θLfk)→Q−R (b)Ck =Ck-1 +Δnakであれば、 θf =θfk=(θHfk、θLfk)→Q−S、P−R (c)Ck =Ck-1 +Δnak+1であれば、 θf =θfk=(θHfk+1、θLfk)→P−S となる。ここで、θLfk=θak、Ck は演算タイミン
グにおける上記Cのチェック用数値(サイクリック値を
表す。)
【0012】いま、正回転であるとして、図9に示す演
算タイミングQ(サイクリック値0の区間)に続いて演
算タイミングRでtan-1演算部19がθakを演算し
たとする。この演算タイミングRは前回の演算タイミン
グQのサイクリック値0に1を4回加えたサイクリック
値(前回の演算タイミングQのサイクリック値と同じサ
イクリック値0)の区間であるが、Δna 側から見た区
間は、Lの区間から(L+5)の区間に変化し、計数値
Δnakが+5だけ変化している。この計数値の増分はサ
イクリック値の増分4よりも1だけ大きい。即ち、演算
タイミングRはずれ期間(遅れずれ期間とする)Δtに
ある。従って、条件は上記(a)に該当し、検出角度θ
f =(θHfk-1、θLfk)となる。
【0013】また、演算タイミングQ(サイクリック値
0の区間)に続いて、演算タイミングSでtan-1演算
部19がθakを演算したとする。この演算タイミング
Sは前回の演算タイミングQのサイクリック値0に1を
5回加えたサイクリック値1の区間であり、Δna 側か
ら見た区間は、Lの区間から(L+5)の区間へ変化
し、計数値Δnakが+5だけ変化している。この計数値
の増分5はサイクリック値の増分5と等しい。即ち、演
算タイミングSは非ずれ期間Δtにある。従って、条件
は上記(b)に該当し、検出角度θf =(θHfk、θL
fk)となる。
【0014】演算タイミングP(サイクリック値3の区
間)に続いて、演算タイミングRでtan-1演算部19
がθakを演算したとする。この演算タイミングRは前
回の演算タイミングPのサイクリック値3に対して1を
5回加えたサイクリック値0の区間であり、Δna 側か
ら見た区間は、Lの区間から(L+5)の区間へ変化
し、計数値Δnakが+5だけ変化し、サイクリック値の
増分5と等しい。即ち、演算タイミングRはずれ期間
(遅れずれ期間とする)Δtにある。従って、条件は上
記(a)に該当し、検出角度θf =(θHfk-1、θLf
k)となる。
【0015】演算タイミングP(サイクリック値3の区
間)に続いて演算タイミングSでtan-1演算部19が
θakを演算したとする。この演算タイミングSは前回
の演算タイミングPのサイクリック値0に1を6回加え
たサイクリック値1の区間であり、Δna 側から見た区
間は、Lの区間からL+5の区間へ変化し、計数値Δn
akが+5だけ変化している。この計数値の増分5はサイ
クリック値の増分6よりも1だけ少ない。従って、条件
は上記(c)に該当し、検出角度θf =(θHfk、θL
fk)となる。
【0016】即ち、演算タイミング(k−1)〜kの間
の計数値ΣΔna とサイクリックデータ数とを比較し、
その一致、不一致から演算タイミングがずれ期間Δtに
あるか否かを判定し、計数値がサイクリックデータ数よ
りも1だけ大きい場合はθHfkから1を減じ、計数値が
サイクリックデータ数よりも1だけ小さい場合はθHfk
から1をプラスする。
【0017】このように、演算タイミングがずれ期間Δ
tにあり、このずれ区間が進みずれ期間/遅れずれ期間
に応じてθHfkの値を補償するので、ハードウエア上で
は解消が困難な誤差要因が、ソフトウエア処理により補
償されることになる。
【0018】
【発明が解決しようとする課題】しかしながら上述の従
来例の方法は非常に有効であるが、演算タイミングずれ
期間のみを対象にしていて、A相、B相の正弦波信号の
ノイズによる影響について考慮されていない。そのた
め、波形整形時のパルスのエッジと正弦波信号のゼロク
ロス点とのずれを正確に検出できず、より正確な検出精
度が検出できないという問題がある。
【0019】本発明の目的は、上述の問題点を解消し、
移動体に対する検出精度が良好な位置検出方法を提供す
ることにある。
【0020】
【課題を解決するための手段】上記目的を達成するため
の本発明に係る位置検出方法は、直線又は回転変位する
移動体にエンコーダを軸結して該移動体の位置を検出す
る場合において、A相及びB相の正弦波信号を出力する
正弦波エンコーダの出力をパルス波形に波形整形した後
に逓倍する工程と、該逓倍パルスのパルス計数値Nと前
記正弦波エンコーダのA相及びB相出力とをA/D変換
した後のデジタルデータを任意のサンプリング周期で同
時にラッチする工程と、前記デジタルデータのA相デジ
タル値とB相デジタル値のtan-1演算を行う工程と、
得られたtan-1演算値θa を前記パルス計数値Nに加
算して前記移動体の位置θf を検出する工程と、前記正
弦波信号の任意の電圧値で波形整形したパルスの状態に
変更する工程とを有することを特徴とする。
【0021】
【発明の実施の形態】本発明を図1〜図5に図示の実施
の形態に基づいて詳細に説明する。図1はブロック回路
構成図を示し、モータ51に連結された正弦波エンコー
ダ52の出力は2岐され、一方は波形整形器53に他方
はA/D変換器54に接続されている。波形整形器53
にはハード的又はソフト的に設定された+LIMITと−LIM
ITの電圧が入力されており、波形整形器53の出力は方
向判別4逓倍回路55、アップダウンカウンタ56を介
してラッチ回路57に接続されている。ラッチ回路57
には発振器58の出力が接続されており、ラッチ回路5
7の出力はCPU59内の検出演算部60に接続され、
発振器58の一方の出力も検出演算部60に接続されて
いる。また、A/D変換器54の出力はCPU59内の
tan-1演算部61に接続されると共に検出演算部60
にも接続されており、tan -1演算部61の出力は検出
演算部60に接続されている。
【0022】正弦波エンコーダ52からモータ51の回
転に基づくA相とB相と正弦波が出力され、その信号が
波形整形器53に入力する。図2は正弦波エンコーダ5
2から出力された正弦波の波形図であり、電圧+LIMIT
と−LIMITと得られたパルス信号の関係を示している。
【0023】通常では、正弦波のゼロクロス点でパルス
波形の状態を変化させる。例えば、正弦波信号が負から
正に切換わったときに下段に示すパルス信号を0から1
に変化させ、正から負に切換わったときパルス信号を1
から0に変化させる。本実施の形態では、この切換わり
を任意の電圧を指令して切換えるようにしている。+LI
MIT の電圧値(ΔVH)を正弦波信号の傾きが正の状態
で横切ったとき、パルス信号を0から1に変化させ、−
LIMIT の電圧値(−ΔVL)を正弦波信号の傾きが負の
状態で横切ったとき1から0に変化させる。当然に、+
LIMIT (−LIMIT )を1度横切りパルス波形の状態が変
化した後は、−LIMIT (+LIMIT )を横切るまで状態の
変化が起こらないようなチャタリングを防止する回路に
なっている。
【0024】このようにして、波形整形器53からA相
とB相とのパルス信号(SaとSb)が生成され、方向
判別4逓倍回路55に入力する。方向判別4逓倍回路5
5はアップU又はダウンDのパルスを生成し、アップダ
ウン回路56に出力する。図3はアップ又はダウンパル
ス発生方法の説明図であり、カウントアップ時はA相と
B相との正弦波信号の関係は反時計方向に回り、カウン
トダウン時は時計方向に回る関係となる。アップパルス
の発生はU0、U1、U2、U3のときであり、ダウン
パルスの発生はD0、D1、D2、D3のときである。
ここで、U1の角度は正弦波信号のピーク電圧をVpと
するとtan-1(ΔVH/Vp)、U2の角度は90゜
+tan-1(ΔVH/Vp)、U3の角度は180゜+
tan-1(ΔVH/Vp)、U0の角度は270゜+t
an-1(ΔVH/Vp)、D0の角度は360゜−ta
-1(ΔVL/Vp)、D1の角度は90゜−tan-1
(ΔVL/Vp)、D2の角度は180゜−tan
-1(ΔVL/Vp)、D3の角度は270゜−tan-1
(ΔVL/Vp)で求まる。
【0025】CPU59は発振器58の信号を割込み信
号として使用し、この信号で位置検出の計算を行う。同
時に、アップダウンカウンタ56の値をラッチ回路57
でラッチし、粗位置計数値Nとする。例えば図4はその
説明図であり、計数値がNのときカウントUP方向に移
動しているときは、U1を横切ったときにアップパルス
が出力され計数値がN+1になり、その後にカウントダ
ウン方向に移動するときは、D0を横切ったときにダウ
ンパルスが出力され、計数値がNになるようなヒステリ
シス特性を持っている。
【0026】微位置信号として、A相とB相と正弦波信
号をA/D変換したデジタル変換値を±の電圧データか
ら成るA*とB*とする。微位置θa はtan-1(A*
*)を演算周期毎に計算する。この位置θa は+90
゜〜−90゜の範囲のデータである。
【0027】検出演算部60では、次の(2)式を計算
する。 位置θf =(粗位置計数値N+微位置θa /90゜) *1計数器分解角度 …(2)
【0028】この(2)式において、粗位置計数値Nは
回転方向と、演算値θa と、演算値θa の象現により下
記の式で補正する。iサンプル目の計数値をNiとした
とき、 カウントアップ時 第1象現 N=Ni+1 (0゜≦θa <U1) N=Ni (U1≦θa <90゜) 第2象現 N=Ni+2 (−90゜≦θa <−90゜+U1) N=Ni+1 (−90゜十UI≦θa <0゜) 第3象現 N=Ni (0゜≦θa <U1) N=Ni (U1≦θa <90゜) 第0象現 N=Ni+2 (−90゜≦θa <−90゜+U1) N=Ni+1 (−90゜+U1≦θa <0゜) カウントダウン時 第1象現 N=Ni (0゜≦θa <D1) N=Ni−1 (D1≦θa <90°) 第2象現 N=Ni+1 (−90゜≦θa <−90゜+D1) N=Ni (−90゜+D1≦θa <0o) 第3象現 N=Ni (0゜≦θa <D1) N=Ni−1 (D1≦θa <90°) 第0象現 N=Ni+1 (−90゜≦θa <−90゜+D1) N=Ni (−90゜+D1≦θa <0゜)
【0029】図5は以上の式の概念図を示し、カウント
アップ方向かダウン方向かの判定は、NiとNi−1の
大小を比較して、下記のようにする。 Ni>Ni−1 カウントアップ Ni=Ni−1 Ni−1のときと同じ方向 Ni<Ni−1 カウントダウン
【0030】なお上記の実施の形態では、回転モータ5
1の回転角度を算出する場合について説明したが、位相
が90゜異なる正弦波信号A相とB相とが出力される検
出器、例えば直線移動する装置に使用されるリニアエン
コーダにも適用ができる。
【0031】
【発明の効果】以上説明したように本発明に係る位置検
出方法は、A相とB相とのA/D変換値からtan-1
計算して微位置を求め、粗位置用計数器とのソフト的な
加算により、著しく高分解の検出ができる。
【0032】また、A相とB相とのパルス信号のエッジ
の切換わりを、正弦波信号のゼロクロス点ではなく任意
の量のずれを持たせたところにすることで、ヒステリシ
ス特性を持たせていて、その量を予め指定しておけば、
粗位置用の計数器を微位置の値と回転方向などで確実に
補正でき、従来例に比べて極めて高精度な位置検出がで
きる。
【図面の簡単な説明】
【図1】実施の形態のブロック図である。
【図2】正弦波信号と波形整形後のパルスの波形図であ
る。
【図3】A相とB相と正弦波と微位置と粗位置の関係図
である。
【図4】ヒステリシス特性の説明図である。
【図5】粗位置計数器の補正方法の説明図である。
【図6】従来例のブロック回路図である。
【図7】従来例の動作を説明するための波形タイムチャ
ート図である。
【図8】従来例の回転角度検出装置の問題点を説明する
ための波形タイムチャート図である。
【図9】従来例の動作を説明するための波形タイムチャ
ート図である。
【図10】従来例のチェック用符号の説明図である。
【符号の説明】
51 回転モータ 56 アップダウン計数器 52 正弦波エンコーダ 53 波形整形器 55 方向判別4逓倍回路 57 ラッチ回路 54 A/D変換器 59 CPU 61 tan-1演算部 60 検出演算部

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 直線又は回転変位する移動体にエンコー
    ダを軸結して該移動体の位置を検出する場合において、
    A相及びB相の正弦波信号を出力する正弦波エンコーダ
    の出力をパルス波形に波形整形した後に逓倍する工程
    と、該逓倍パルスのパルス計数値Nと前記正弦波エンコ
    ーダのA相及びB相出力とをA/D変換した後のデジタ
    ルデータを任意のサンプリング周期で同時にラッチする
    工程と、前記デジタルデータのA相デジタル値とB相デ
    ジタル値のtan-1演算を行う工程と、得られたtan
    -1演算値θa を前記パルス計数値Nに加算して前記移動
    体の位置θf を検出する工程と、前記正弦波信号の任意
    の電圧値で波形整形したパルスの状態に変更する工程と
    を有することを特徴とする位置検出方法。
  2. 【請求項2】 前記波形整形したパルスの状態を変更す
    る工程は、前記正弦波信号が負から正方向に変化すると
    きは前記正弦波信号の正の任意の電圧でパルスの状態が
    変化し、正から負に変化するときは前記正弦波信号の負
    の任意の電圧でパルスの状態が変化するようなヒステリ
    シス特性を持たせることを特徴とする請求項1に記載の
    位置検出方法。
  3. 【請求項3】 位置の演算タイミングにおいて、前記t
    an-1演算値θa の値がヒステリシス領域か否か、及び
    回転方向とA相とB相との符号を判定し、粗位置用計数
    器の演算値を補正することを特徴とする請求項2に記載
    の位置検出方法。
JP2000151507A 2000-05-23 2000-05-23 位置検出方法 Pending JP2001330476A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000151507A JP2001330476A (ja) 2000-05-23 2000-05-23 位置検出方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000151507A JP2001330476A (ja) 2000-05-23 2000-05-23 位置検出方法

Publications (1)

Publication Number Publication Date
JP2001330476A true JP2001330476A (ja) 2001-11-30

Family

ID=18657058

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000151507A Pending JP2001330476A (ja) 2000-05-23 2000-05-23 位置検出方法

Country Status (1)

Country Link
JP (1) JP2001330476A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6232526B1 (ja) * 2017-04-04 2017-11-15 株式会社 五十嵐電機製作所 直流モータの制御装置
JP2018183031A (ja) * 2017-10-23 2018-11-15 株式会社 五十嵐電機製作所 直流モータの制御装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6232526B1 (ja) * 2017-04-04 2017-11-15 株式会社 五十嵐電機製作所 直流モータの制御装置
WO2018185863A1 (ja) * 2017-04-04 2018-10-11 株式会社五十嵐電機製作所 直流モータの制御装置
JP2018183031A (ja) * 2017-10-23 2018-11-15 株式会社 五十嵐電機製作所 直流モータの制御装置

Similar Documents

Publication Publication Date Title
US6384752B1 (en) Absolute encoder
EP0331189B1 (en) Position/speed detection method and apparatus
JPH0257912A (ja) 位置あるいは速度検出装置あるいはその方法
JPH0373808B2 (ja)
EP0853231B1 (en) Method for varying interpolation factors
US5142226A (en) Position detection device having absolute position detection apparatus and interpolation apparatus
US20050275568A1 (en) Pulse width modulation based digital incremental encoder
EP1752740B1 (en) Method and Circuit for interpolating an Encoder Output
WO1990004754A1 (en) System for processing position signals
JP2001330476A (ja) 位置検出方法
JP3336396B2 (ja) アブソリュートエンコーダ
US5105159A (en) Evaluating circuit for square wave signals
JPH08334526A (ja) 速度検出装置
JP2795443B2 (ja) 位置検出信号の処理方式
US4864230A (en) Processing quadrature signals
JPH0466288B2 (ja)
JP2637158B2 (ja) 位置検出信号の処理方式
JPH0820274B2 (ja) 位置検出装置
JPS62237316A (ja) 位置検出器の検出誤差補正装置
JP2582786Y2 (ja) エンコーダカウンタ
JP2741431B2 (ja) 任意の基準点からの移動位置を検出するエンコーダ
JPH0552882A (ja) 周波数測定回路
JPH1062203A (ja) 位置検出装置
JP3302864B2 (ja) モータ回転速度検出回路
JPH0797037B2 (ja) 位置検出装置