JP2009281883A - 速度検出装置およびサーボモータ - Google Patents

速度検出装置およびサーボモータ Download PDF

Info

Publication number
JP2009281883A
JP2009281883A JP2008134559A JP2008134559A JP2009281883A JP 2009281883 A JP2009281883 A JP 2009281883A JP 2008134559 A JP2008134559 A JP 2008134559A JP 2008134559 A JP2008134559 A JP 2008134559A JP 2009281883 A JP2009281883 A JP 2009281883A
Authority
JP
Japan
Prior art keywords
coordinate
actual
temporary
coordinates
rotation direction
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
JP2008134559A
Other languages
English (en)
Inventor
Shoichi Sato
藤 庄 一 佐
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.)
Shibaura Machine Co Ltd
Original Assignee
Toshiba Machine Co Ltd
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 Toshiba Machine Co Ltd filed Critical Toshiba Machine Co Ltd
Priority to JP2008134559A priority Critical patent/JP2009281883A/ja
Priority to KR1020107026066A priority patent/KR101239570B1/ko
Priority to US12/989,563 priority patent/US8401817B2/en
Priority to DE112009000846T priority patent/DE112009000846B4/de
Priority to PCT/JP2009/058739 priority patent/WO2009142118A1/ja
Publication of JP2009281883A publication Critical patent/JP2009281883A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01PMEASURING LINEAR OR ANGULAR SPEED, ACCELERATION, DECELERATION, OR SHOCK; INDICATING PRESENCE, ABSENCE, OR DIRECTION, OF MOVEMENT
    • G01P13/00Indicating or recording presence, absence, or direction, of movement
    • G01P13/02Indicating direction only, e.g. by weather vane
    • G01P13/04Indicating positive or negative direction of a linear movement or clockwise or anti-clockwise direction of a rotational movement
    • G01P13/045Indicating positive or negative direction of a linear movement or clockwise or anti-clockwise direction of a rotational movement with speed indication
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01DMEASURING NOT SPECIALLY ADAPTED FOR A SPECIFIC VARIABLE; ARRANGEMENTS FOR MEASURING TWO OR MORE VARIABLES NOT COVERED IN A SINGLE OTHER SUBCLASS; TARIFF METERING APPARATUS; MEASURING OR TESTING NOT OTHERWISE PROVIDED FOR
    • G01D5/00Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable
    • G01D5/12Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable using electric or magnetic means
    • G01D5/244Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable using electric or magnetic means influencing characteristics of pulses or pulse trains; generating pulses or pulse trains
    • G01D5/24409Interpolation using memories
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01PMEASURING LINEAR OR ANGULAR SPEED, ACCELERATION, DECELERATION, OR SHOCK; INDICATING PRESENCE, ABSENCE, OR DIRECTION, OF MOVEMENT
    • G01P3/00Measuring linear or angular speed; Measuring differences of linear or angular speeds
    • G01P3/42Devices characterised by the use of electric or magnetic means
    • G01P3/44Devices characterised by the use of electric or magnetic means for measuring angular speed
    • G01P3/48Devices characterised by the use of electric or magnetic means for measuring angular speed by measuring frequency of generated current or voltage
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01DMEASURING NOT SPECIALLY ADAPTED FOR A SPECIFIC VARIABLE; ARRANGEMENTS FOR MEASURING TWO OR MORE VARIABLES NOT COVERED IN A SINGLE OTHER SUBCLASS; TARIFF METERING APPARATUS; MEASURING OR TESTING NOT OTHERWISE PROVIDED FOR
    • G01D2205/00Indexing scheme relating to details of means for transferring or converting the output of a sensing member
    • G01D2205/85Determining the direction of movement of an encoder, e.g. of an incremental encoder

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Transmission And Conversion Of Sensor Element Output (AREA)
  • Length Measuring Devices With Unspecified Measuring Means (AREA)

Abstract

【課題】小さな演算回路で速度を高精度に検出することができる速度検出回路を提供する。
【解決手段】速度検出装置は、仮の角度に対する三角関数を記憶するメモリと、運動体の第1の座標を格納する第1のレジスタと、次のサンプリングで得られた現実の第2の座標を格納する第2のレジスタと、第1の座標から座標軸までの回転角度をθとした場合に、現実の第2の座標を角度θだけ座標軸の方向へ回転させて得られた点と原点とを結ぶ直線上にある仮座標を計算し、仮座標の符号に基づいて第1の座標から現実の第2の座標への回転方向を判別する回転方向判別部と、第1の座標と三角関数との演算で得られた計算上の第2の座標を現実の第2の座標に接近させるように演算し、このときの三角関数に対応する仮の角度に基づいて運動体の速度を演算する演算部とを備えている。
【選択図】図2

Description

本発明は、速度検出装置およびサーボモータに関する。
サーボモータの運動制御では、位置検出器が機械の移動距離または軸の移動角度に基づいたSIN信号およびCOS信号を出力する。位置検出器の演算回路は、SIN信号およびCOS信号を単位時間ごとにサンプリングし、2つのサンプル間の距離差または角度差と2回のサンプリングの時間間隔とから移動速度または角速度を算出していた。
例えば、図7(A)および図7(B)に示すように2回のサンプリングで得られた座標を(x1,y1)および(x2,y2)とし、サンプリングの時間間隔をt(sec)とすると、角速度ω(rad/sec)は式1のように表わすことができる。
ω=(θ2−θ1)/t=(tan−1(y2/x2)−tan−1(y1/x1))/t (式1)
ここで、θ1(rad)およびθ2(rad)は、2回のサンプリングの時刻における絶対角度(偏角)である。式1に示すように、角速度ωを得るためには、座標から偏角を算出しなければならない。
杉本 英彦等"ACサーボシステムの理論と設計の実際"総合電子出版社 (P142〜P149)
上記問題に対処するために、演算回路としてCPUあるいはカスタムLSI(Large-Scale Integrated circuit)を用い、デジタルロジック回路で式1の演算を実現することが考えられる。
しかし、アークタンジェント(tan−1)は、sin/cosという割り算を必要とする。アークタンジェントの計算には次の2つの問題点がある。その1つの問題点は、単位円上のcos信号が0に近づくと、タンジェント(sin÷cos)の値が絶対値が非常に大きくなることである。その結果、アークタンジェントの結果の誤差が非常に大きくなってしまう。
もう1つの問題点は、アークタンジェントおよびタンジェントを求めるために割り算(sin÷cos)が必要になることである。割り算は、デジタル回路で実現することが困難な回路であり、実現するためには乗算や加算に比べてかなり大規模なデジタル回路を用いる必要がある。
さらに、実際の動作において、電源電圧のリップルまたはノイズにより、SIN信号およびCOS信号が揺らぐ場合がある。このような場合に、速度検出装置は運動体の移動速度または角速度を誤検出するおそれがある。
そこで、本発明は、電源電圧のリップルまたはノイズがある場合であっても、小さな演算回路で運動体の移動速度または角速度を高精度に検出することができる速度検出回路およびサーボモータを提供することである。
本発明に係る実施形態に従った速度検出装置は、回転運動または往復運動を行う運動体の位置を示す座標を周期的にサンプリングし、前記座標に基づいて前記運動体の速度を検出する速度検出装置であって、
予め設定された複数の仮の角度、および、該複数の仮の角度のそれぞれに対する三角関数の値を記憶するメモリと、第1のサンプリングで得られた運動体の第1の座標を格納する第1のレジスタと、前記第1のサンプリングの次の第2のサンプリングで得られた運動体の現実の第2の座標を格納する第2のレジスタと、前記座標の原点を回転の中心として、前記現実の第1の座標から座標軸までの回転角度をθとした場合に、前記現実の第2の座標を前記回転角度θだけ前記座標軸の方向へ回転させて得られた点と前記原点とを結ぶ直線上にある仮座標のx座標またはy座標の少なくとも一方を計算し、前記仮座標のx座標の符号または前記仮座標のy座標の符号に基づいて前記現実の第1の座標から前記現実の第2の座標への回転方向を判別する回転方向判別部と、前記第1の座標と前記三角関数の値との乗算、加算または減算によって表された計算上の第2の座標を、前記回転方向に基づいて前記現実の第2の座標に接近させるように演算し、この計算上の第2の座標に用いられた前記三角関数の値に対応する前記仮の角度に基づいて前記運動体の速度を演算する演算部と備え、
前記回転方向判別部は、前記座標の原点を回転の中心として、前記計算上の第2の座標から座標軸までの回転角度をβとした場合に、前記現実の第2の座標を前記回転角度βだけ前記座標軸の方向へ回転させて得られた点と前記原点とを結ぶ直線上にある仮座標のx座標またはy座標の少なくとも一方を計算し、前記仮座標のx座標または前記仮座標のy座標の符号に基づいて前記計算上の第2の座標から前記現実の第2の座標への回転方向を判別することを特徴とする。
本発明に係る実施形態に従ったサーボモータは、回転運動または往復運動を行う運動体の位置を示す座標を周期的にサンプリングし、前記座標に基づいて前記運動体の速度を検出するサーボモータであって、
予め設定された複数の仮の角度、および、該複数の仮の角度のそれぞれに対する三角関数の値を記憶するメモリと、第1のサンプリングで得られた運動体の第1の座標を格納する第1のレジスタと、前記第1のサンプリングの次の第2のサンプリングで得られた運動体の現実の第2の座標を格納する第2のレジスタと、前記座標の原点を回転の中心として、前記現実の第1の座標から座標軸までの回転角度をθとした場合に、前記現実の第2の座標を前記回転角度θだけ前記座標軸の方向へ回転させて得られた点と前記原点とを結ぶ直線上にある仮座標のx座標またはy座標の少なくとも一方を計算し、前記仮座標のx座標の符号または前記仮座標のy座標の符号に基づいて前記現実の第1の座標から前記現実の第2の座標への回転方向を判別する回転方向判別部と、前記第1の座標と前記三角関数の値との乗算、加算または減算によって表現された計算上の第2の座標を、前記回転方向に基づいて前記現実の第2の座標へ接近させるように演算し、この計算上の第2の座標に用いられた前記三角関数の値に対応する前記仮の角度を積算することにより前記運動体の速度を検出する演算部とを備え、
前記回転方向判別部は、前記座標の原点を回転の中心として、前記計算上の第2の座標から座標軸までの回転角度をβとした場合に、前記現実の第2の座標を前記回転角度βだけ前記座標軸の方向へ回転させて得られた点と前記原点とを結ぶ直線上にある仮座標のx座標またはy座標の少なくとも一方を計算し、前記仮座標のx座標または前記仮座標のy座標の符号に基づいて前記計算上の第2の座標から前記現実の第2の座標への回転方向を判別することを特徴とする。
本発明による速度検出回路およびサーボモータは、小さな演算回路で移動速度または角速度を高精度に検出することができる。
以下、図面を参照して本発明に係る実施形態を説明する。本実施形態は、本発明を限定するものではない。
図1は、本発明に係る実施形態に従った速度検出装置100のブロック図である。速度検出装置100は、ロータリエンコーダまたはリニアスケール10と、A/Dコンバータ40と、演算部50とを備えている。演算部50は、汎用CPUまたはカスタムLSIである。演算部50は、例えば、FPGA(Field Programmable Gate Array)でよい。速度検出装置100は、例えば、回転運動または往復運動を行う運動体を備えたサーボモータに配設されてもよい。運動体は、例えば、工作機械に配備されたサーボモータのロータまたは往復運動するアーム等である。
ロータリエンコーダまたはリニアスケール10は、回転運動または往復運動を行う運動体の位置を示す座標(sin,cos)の信号を出力する。A/Dコンバータ40は、ロータリエンコーダまたはリニアスケール10からのsin信号およびcos信号をデジタル信号へ変換する。さらに、演算部50はA/Dコンバータ40からのsin信号およびcos信号のそれぞれに基づくデジタル信号を受け、運動体の角速度または速度を算出する。
演算部50は、FPGAでよいが、FPGAに代えて、他の任意のLSIを用いることができる。また、演算部50は、汎用CPUおよびソフトウェアで実現してもよい。
図2は、演算部50の内部構成を示すブロック図である。演算部50は、CORDICローテーション51と、メモリ52と、回転方向判別部53と、選択部56と、第1のレジスタR11と、第2のレジスタR21と、第3のレジスタR31と、第4のレジスタとしての角度積算レジスタR41と、角速度保持レジスタR51と、加算器80を備えている。
図2を参照し、sin信号およびcos信号から角速度を算出する過程を説明する。角速度を算出するためにCORDIC(COordinate Rotation Digital Computer)アルゴリズムが利用される。CORDICアルゴリズムには、ベクタリングモードおよびローテーションモードがある。本実施形態は、ローテーションモードを利用する。このCORDICアルゴリズムは、演算部50内に内蔵されており、ロジック回路によって実現されている。
本実施形態では、理解を容易にするために、運動体としてのロータが1回転すると、ロータリエンコーダ10が1サイクルのsin波およびcos波を出力するものとする。速度検出装置100は、1サイクルの間に周期的にロータの座標をサンプリングする。速度検出装置100は、第1のサンプリングでロータの2次元座標(ユークリッド座標)(x1,y1)を獲得し、第1のサンプリングの次の第2のサンプリングで一定時間後の2次元座標(x2,y2)を獲得する。(x1およびx2はsin値であり、y1およびy2はcos値である。速度検出装置100は、座標(x1,y1)および座標(x2,y2)に基づいて第1のサンプリング時におけるロータの位置から第2のサンプリング時のロータの位置までの角度ΦをCORDICアルゴリズムによって計算する。サンプリングは周期的に行われるので、この角度Φが判明すると、ロータの角速度が得られる。
メモリ52は、予め設定された複数の仮の角度Φ〜Φ(Φ>Φ>Φ>・・・Φ)(nは自然数)、および、該複数の仮の角度のそれぞれに対する三角関数の値cosΦ〜cosΦ、および、tanΦ〜tanΦを記憶している。速度検出装置100の初期状態において、第1から第3のレジスタは特定値を格納していない。
まず、演算部50は、第1のサンプリングで得られたロータの第1の座標(x1,y1)=(sinθ,cosθ)を、A/Dコンバータ40からデジタル値で受け取る。第1の座標は、第2のレジスタR21に格納される。
当初、第1のレジスタR1および第3のレジスタR31は不定である。このときの計算値は、不定値に基づくので排除する。
次に、演算部50は、次の周期において第2のサンプリングを行う。演算部50は、第2のサンプリングで得られたロータの現実の第2の座標(x2,y2)=(sin(θ+Φ),cos(θ+Φ))を、A/Dコンバータ40からデジタル値で受け取る。第2の座標(sin(θ+Φ),cos(θ+Φ))は、第2のレジスタR21に格納される。このとき、第1のレジスタR11は、第1の座標(sinθ,cosθ)を格納している。
図3は、第1の座標(sinθ,cosθ)および現実の第2の座標(sin(θ+Φ),cos(θ+Φ))の位置関係および回転方向判別部53における最初の計算の概念を示す図である。現実の第2の座標(sin(θ+Φ),cos(θ+Φ))は、図3に示すように第1の座標(sinθ,cosθ)を基準としてΦだけロータを回転させたときの現実の座標である。尚、θおよびΦの単位は、rad(ラジアン)である。図3の紙面において、ロータはCCW(Counter Clock Wise)方向(図3の矢印の方向)に回転している。
現実の第2の座標を受けたときには、第3のレジスタR31はまだ不定であるので、図2の選択部56は、第1のレジスタR11を選択し、第1の座標(sinθ,cosθ)を回転方向判別部53およびCORDICローテーション51へ送る。一方、第2のレジスタR21は、現実の第2の座標(sin(θ+Φ),cos(θ+Φ))を回転方向判別部53およびCORDICローテーション51へ送る。
回転方向判別部53は、最初、座標の原点Oを回転の中心として、現実の第1の座標(sinθ,cosθ)から座標軸Xまでの回転角度をθとした場合に、現実の第2の座標(sin(θ+Φ),cos(θ+Φ))を回転角度θだけ座標軸Xの方向へ回転させて得られた点と原点とを結ぶ直線上にある仮座標P(x’、y’)を計算する。図3では、原点Oから現実の第1の座標までの距離rと原点Oから現実の第2の座標までの距離rとが等しいので、仮座標P(x’、y’)は、現実の第2の座標を回転角度θだけ座標軸Xの方向へ回転させた点に等しい。
回転方向判別部53は、この仮座標Pの座標y’の符号が正または負のいずれであるかに基づいて現実の第1の座標から現実の第2の座標への回転方向を判定する。例えば、図3に示す実施形態では、y’は正値であるので、回転方向判別部53は、ロータがCCW方向に回転していると判別する。逆に、y’が負値の場合、回転方向判別部53は、ロータがCW方向に回転していると判別する。
仮座標P(x’、y’)は、最初(i=0のとき)、式1および式2によって計算される。式1および式2の導出については後述する。
x’=x2・x1+y2・y1 (式1)
y’=−x2・y1+x1・y2 (式2)
回転方向判別部53は、x’およびy’の両方を算出してもよいが、その両方を算出する必要は必ずしも無く、その一方のみを算出してもよい。例えば、上記の具体例では、回転方向判別部53は、y’の符号に応じてロータの回転方向を判別する。従って、回転方向判別部53は、式2のみを計算すれば足りる。
CORDICローテーション51は、第1の座標(x1,y1)=(sinθ,cosθ)、および、メモリ52からの三角関数の値cosΦ〜cosΦ、tanΦ〜tanΦを用いて計算上の第2の座標(xc,yc)を計算する。計算上の第2の座標(xc,yc)は、CORDICローテーション51が角度Φを求めるときに、現実の第2の座標(x2,y2)に収束するように繰り返し計算される座標である。
第3のレジスタR31は、この計算の途中において、計算上の第2の座標(xc,yc)を格納する。計算上の第2の座標(xc,yc)は式3または式4のように表わすことができる。
回転方向判別部53は、例えば、y’の符号に応じて式3または式4のいずれかを選択する。CORDICローテーション51は、回転方向判別部53の選択に従って式3または式4の演算を実行する。
Figure 2009281883
あるいは、
Figure 2009281883
例えば、y’の符号が正である場合、図3に示す現実の第2の座標は、原点Oを中心として現実の第1の座標よりもCCW方向へ回転させた位置にあることが分かる。よって、CORDICローテーション51が現実の第2の座標をCW(Clock Wise)方向へ移動させた計算上の第2の座標(xc,yc)を算出するように、回転方向判別部53は、最初に式4を選択する。
式3および式4ついて説明する。まず、第1の座標および現実の第2の座標は式5〜式8のように表わすことができる。
x1=cosθ (式5)
y1=sinθ (式6)
x2=cos(θ+Φ) (式7)
y2=sin(θ+Φ) (式8)
式7および式8を三角関数の加法定理を用いて変形すると、式9および式10となる。
x2=cosθ・cosΦ−sinθ・sinΦ (式9)
y2=sinθ・cosΦ+cosθ・sinΦ (式10)
式9および式10に式5および式6を代入し、変形すると、式11および式12が得られる。
x2=cosΦ(x1−y1・tanΦ) (式11)
y2=cosΦ(y1+x1・tanΦ) (式12)
ここで、CORDICアルゴリズムを利用する。より詳細には、tanΦの値を式11のように±2−iに制限する。このように制限されたtanΦをtanΦiとする。
tanΦi=±2−i=±1,±2−1,±2−2,・・・ (i=0、1、2、・・・n) (式13)
このとき、Φiが取り得る値は、式12のように制限される。この角度Φiは離散的な数値であり、以下、“仮の角度Φi”という。
Φi=tan−1(±2−i)=±0.78rad,±0.46rad,±0.25rad,±0.12rad・・・ (式14)
また、tanΦiが式11のように決定されると、自ずとcosΦiが式15のように決定される。
cosΦi=cos(tan−1(±2−i))=0.71,0.89,0.97,0.99・・・ (式15)
式11および式12に仮の角度Φiを代入すると計算上の第2の座標が得られる。尚、式1は、仮の角度Φiが正である場合に成り立ち、式2は、仮の角度Φiが負である場合に成り立つ。
式13から式15に示す各iに対する離散的な数値は、予め設定されており、メモリ52に記憶されている。即ち、メモリ52は、仮の角度Φi、仮の角度Φiのそれぞれに対する三角関数の値tanΦi,cosΦiを各iごとに記憶している。CORDICローテーション51は、メモリ52に記憶された式13から式15に示す数値を参照して、式3または式4に基づいて仮の角度Φiを獲得する。
CORDICローテーション51は、式3または式4に示す計算上の第2の座標(xc,yc)を各iに関してi=0、1、2・・・の順番で計算する。
図4(A)および図4(B)は、現実の第2の座標および計算上の第2の座標の位置関係、および、回転方向判別部53における初回以降の計算の概念を示す図である。
最初の計算以降(i≧1)、回転方向判別部53は、計算上の第2の座標(xci−1,yci−1)および現実の第2の座標(x2,y2)を用いて、計算上の第2の座標(xci−1,yci−1)から現実の第2の座標(x2,y2)への回転方向を判別する。より詳細には、図4(A)に示す原点Oを回転の中心として、計算上の第2の座標(xci−1,yci−1)から座標軸Xまでの回転角度をβとした場合に、回転方向判別部53は、現実の第2の座標(x2,y2)を回転角度βだけ座標軸Xの方向へ回転させて得られた点と原点Oとを結ぶ直線上にある仮座標P(x’、y’)のx’またはy’の少なくとも一方を計算する。図4(A)および図4(B)では、原点Oから現実の第2の座標までの距離rと原点Oから計算上の第2の座標までの距離rとが等しいので、仮座標P(x’、y’)は、現実の第2の座標を回転角度βだけ座標軸Xの方向へ回転させた点に等しい。
回転方向判別部53は、この仮座標Pの座標y’ の符号が正または負のいずれであるかに基づいて計算上の第2の座標から現実の第2の座標への回転方向を判別する。例えば、図4(B)に示す実施形態では、y’が負値であるので、回転方向判別部53は、計算上の第2の座標から現実の第2の座標への回転方向がCW方向であると判別する。逆に、距離y’が正値の場合、回転方向判別部53は、計算上の第2の座標から現実の第2の座標への回転方向がCCW方向であると判別する。
仮座標P(x’、y’)は、初回以降(i≧1のとき)、式16および式17によって計算される。
x’=xci−1・x1+yci−1・y1 (式16)
y’=−xci−1・y1+x1・yci−1 (式17)
回転方向判別部53は、x’およびy’の両方を算出してもよいが、その両方を算出する必要は必ずしも無く、その一方のみを算出してもよい。例えば、上記の具体例では、回転方向判別部53は、y’の符号に応じて計算上の第2の座標から現実の第2の座標への回転方向を判別する。従って、回転方向判別部53は、式2のみを計算すれば足りる。
CORDICローテーション51は、計算上の第2の座標(xc,yc)が現実の第2の座標(x2,y2)に接近するように式3または式4を計算する。計算上の第2の座標(xc,yc)をCCW方向へ移動させるためには、CORDICローテーション51は、式3を用いる。計算上の第2の座標(xc,yc)をCW方向へ移動させるためには、CORDICローテーション51は式4を用いる。
初回以降、計算上の第2の座標が更新されるごとに、回転方向判別部53は、式16または式17を繰り返し実行し、並びに、CORDICローテーション51は、式3または式4を繰り返し実行する。これにより、図5に示すように、計算上の第2の座標(xc,yc)を現実の第2の座標(x2,y2)へ収束させることができる。
以上の収束計算の過程において、仮の角度±Φiを積算した角度が求めていた回転角度となる。
図5は、計算上の第2の座標(xc,yc)を現実の第2の座標(x2,y2)へ収束させるときの概念図である。CORDICローテーション51は、まず、第1の座標(x1,y1)を(xci−1,yci−1)、および、i=0における式13から式15の値を式3に代入し、計算上の第2の座標(xc,yc)を得る。このとき、図2の選択部56は、第1のレジスタR11を選択し、第1の座標(x1,y1)をCORDICローテーション51および回転方向判別部53へ送る。計算上の第2の座標(xc,yc)は、第1の座標(x1,y1)から第2の座標(x2,y2)へ向かってCCW方向へΦだけ回転させた座標になる。計算上の第2の座標(xc,yc)は、その計算後、図2の第3のレジスタR31が保持する。ここで、当初の仮の角度+Φまたは−Φは、回転角保持レジスタR41に格納される。
次に、CORDICローテーション51は、計算上の第2の座標(xc,yc)、および、i=1における式13から式15の値を式4に代入し、計算上の第2の座標(xc,yc)を得る。このとき、図2の選択部56は、第3のレジスタR31を選択して計算上の第2の座標(xc,yc)をCORDICローテーション51および回転方向判別部53へ送る。CORDICローテーション51は式4を用いる。回転方向判別部53が式4を選択する方法については上述の通りである。
計算上の第2の座標(xc,yc)は、計算上の第2の座標(xc,yc)から現実の第2の座標(x2,y2)へ向かってCW方向へΦ1だけ回転させた座標になる。ここで、加算器80は、回転角保持レジスタR41に格納されていた仮の角度+Φまたは−Φに仮の角度+Φまたは−Φを加算し、この加算結果を回転角保持レジスタR41に戻す。
CORDICローテーション51は、i=3,4・・・について同様の演算を繰り返す。式14に示すようにiが大きくなるにつれて、仮の角度Φiの値は小さくなっていくので、計算上の第2の座標(xc,yc)は、現実の第2の座標(x2,y2)へ収束する。このとき、計算上の第2の座標(xc,yc)は、第3のレジスタR31に格納され、次の計算上の第2の座標(xci+1,yci+1)を算出する際にCORDICローテーション51および回転方向判別部53へ送られる。
加算器80は、回転角保持レジスタR41に格納されていた仮の角度+Φi−1または−Φi−1に仮の角度+Φまたは−Φを加算し、その加算結果を回転角保持レジスタR41へ戻す。このように、加算器80は、仮の角度±Φ、±Φ、±Φ、・・・±Φを積算し、回転角保持レジスタR41は、積算された仮の角度を保持する。仮の角度Φが収束したときに、回転角保持レジスタR41に格納された角度が現実の第1の座標から第2の座標への回転角Φとなる。
これらの一連の演算は、第2のサンプリングから第3のサンプリングまでの間に実行される。即ち、CORDICローテーション51は、1サイクル期間の間に計算上の第2の座標(xc,yc)を現実の第2の座標(x2,y2)へ収束させる。これにより、現実の第1の座標から第2の座標への回転角Φを得ることができる。
これにより、CORDICローテーション51は、現実の回転角度Φをサンプリングごとに得ることができる。サンプリングの1サイクル期間は予め設定された期間である。従って、速度検出装置100は、サンプリングごとに得られた現実の角度θ+Φに等しい、あるいは、現実の角度θ+Φに接近した仮の角度Φiによって角速度を得ることができる。速度検出装置100は、この角速度を出力する。
本実施形態では、現実の第1の座標または計算上の第2の座標とX軸との間の回転角度(θまたはβ)だけ、現実の第2の座標を回転移動させる。これによって、回転方向判別部53は、現実の第1の座標または計算上の第2の座標が、現実の第2の座標に対してCW方向側にあるのか、CCW方向側にあるのかを正確に知ることができる。
原点Oから現実の第1の座標までの距離および原点Oから現実の第2の座標までの距離が異なる場合であっても、同様に、回転方向判別部53は、現実の第1の座標または計算上の第2の座標と現実の第2の座標との位置関係を正確に知ることができる。
例えば、実際の動作においては、電源電圧のリップルまたはノイズにより、SIN信号およびCOS信号が揺らぐことがある。このような場合、図6に示すように、原点Oから現実の第1の座標までの距離と原点Oから現実の第2の座標までの距離とが異なる。このような場合、ロータはCCW方向へ回転しているにもかかわらず、y2はy1よりも小さい。従って、単にy1およびy2の大小関係から判断すると、ロータの回転方向を誤って判断するおそれがある。
しかし、本実施形態によれば、図6に示すように仮座標Pのy’は正値であるので、回転方向判別部53は、現実の第2の座標が現実の第1の座標のCCW方向側にあることを判別することができる。つまり、本実施形態によれば、電源電圧にリップルまたはノイズが生じたとしても、回転方向判別部53は、現実の第1の座標と現実の第2の座標との位置関係を正確に判別することができる。このことは、計算上の第2の座標と現実の第2の座標との位置関係についても同様のことが言える。
原点Oから現実の第1の座標までの距離と原点Oから現実の第2の座標までの距離とが異なったとしても、式1および式2、式13および式14は、そのまま回転方向の判別に適用することができる。例えば、図6に示す現実の第2の座標(x2、y2)と仮座標Pとの関係は、式18のように表わされる。
Figure 2009281883
式18〜式21により、式22および式23が導出される。
x’=(1/r1)・(x2・x1+y2・y1) 式22
y’=(1/r1)・(−x2・y1+x1・y2) 式23
原点Oから現実の第1の座標(x1、y1)までの距離r1は常に正であるので、距離r1に関わらず、x’およびy’の符号は式2で決定される。
以上の実施形態による回転方向判別部53は、X軸を基準として、現実の第1の座標または計算上の第2の座標と現実の第2の座標との位置関係を判別していた。しかし、勿論、回転方向判別部53は、Y軸を基準としてこれらの位置関係を判別してよい。この場合には、式2のx’の符号が正であるか負であるかによって、現実の第1の座標または計算上の第2の座標と現実の第2の座標との位置関係を判別する。つまり、回転方向判別部53は、式2のみ演算すれば足り、それにより得られたx’の符号に応じて式3または式4のいずれかを選択すればよい。Y軸を基準とした場合の回転方向判別部53の動作は、上記実施形態から容易に推測可能であるので、ここでは省略する。
本実施形態において、速度検出装置100は、ロータの角速度を算出する。しかし、速度検出装置100は、往復運動をする運動体にも適用することができる。この場合、速度検出装置100は、CORDICローテーション51で算出された角速度を運動体の速度とすればよい。
本実施形態によれば、速度検出装置100は、速度検出の精度を悪化させていた除算(アークタンジェント)を用いることなく、sin信号およびcos信号のみを用いて回転角度を検出することができるので高精度である。
本実施形態によれば、速度検出装置100は、式3および式4に示すように、除算以外の四則演算、即ち、乗算、加算または減算を用いて計算上の第2の座標を現実の第2の座標に接近させるように演算する。よって、速度検出装置100内部の演算回路は比較的簡単に構成することができるので、装置全体の大きさを小さくすることができ、尚且つ、量産に適している。
本発明に係る実施形態に従った速度検出装置100のブロック図。 演算部50の内部構成を示すブロック図。 回転方向判別部53における最初の計算の概念を示す図。 回転方向判別部53における初回以降の計算の概念を示す図。 計算上の第2の座標(xc,yc)を現実の第2の座標(x2,y2)へ収束させるときの概念図。 電源電圧にリップルまたはノイズが生じた場合における回転方向の計算の概念を示す図。 2回のサンプリングで得られた座標を示す図。
符号の説明
50…演算部
51…CORDICローテーション
52…メモリ
53…回転方向判別部
56…選択部
R11…第1のレジスタ
R21…第2のレジスタ
R31…第3のレジスタ

Claims (10)

  1. 回転運動または往復運動を行う運動体の位置を示す座標を周期的にサンプリングし、前記座標に基づいて前記運動体の速度を検出する速度検出装置であって、
    予め設定された複数の仮の角度、および、該複数の仮の角度のそれぞれに対する三角関数の値を記憶するメモリと、
    第1のサンプリングで得られた運動体の第1の座標を格納する第1のレジスタと、
    前記第1のサンプリングの次の第2のサンプリングで得られた運動体の現実の第2の座標を格納する第2のレジスタと、
    前記座標の原点を回転の中心として、前記現実の第1の座標から座標軸までの回転角度をθとした場合に、前記現実の第2の座標を前記回転角度θだけ前記座標軸の方向へ回転させて得られた点と前記原点とを結ぶ直線上にある仮座標のx座標またはy座標の少なくとも一方を計算し、前記仮座標のx座標の符号または前記仮座標のy座標の符号に基づいて前記現実の第1の座標から前記現実の第2の座標への回転方向を判別する回転方向判別部と、
    前記第1の座標と前記三角関数の値との乗算、加算または減算によって表された計算上の第2の座標を、前記回転方向に基づいて前記現実の第2の座標に接近させるように演算し、この計算上の第2の座標に用いられた前記三角関数の値に対応する前記仮の角度に基づいて前記運動体の速度を演算する演算部と備え、
    前記回転方向判別部は、前記座標の原点を回転の中心として、前記計算上の第2の座標から座標軸までの回転角度をβとした場合に、前記現実の第2の座標を前記回転角度βだけ前記座標軸の方向へ回転させて得られた点と前記原点とを結ぶ直線上にある仮座標のx座標またはy座標の少なくとも一方を計算し、前記仮座標のx座標または前記仮座標のy座標の符号に基づいて前記計算上の第2の座標から前記現実の第2の座標への回転方向を判別することを特徴とする速度検出装置。
  2. 前記メモリは、前記仮の角度としてΦ〜Φ(Φ>Φ>Φ>・・・Φ)(nは自然数)、前記三角算数の値としてcosΦ〜cosΦ、および、tanΦ〜tanΦを記憶し、
    前記演算部は、前記第1の座標を(x1,y1)、前記現実の第2の座標を(x2,y2)、および、前記計算上の第2の座標を(xc,yc)とすると、
    Figure 2009281883
    あるいは、
    Figure 2009281883
    を積算することを特徴とする請求項1に記載の速度検出装置。
  3. 前記回転方向判別部は、i=0のとき、式1または式2を演算することによって前記仮座標(x’、y’)を計算し、
    x’=x2・x1+y2・y1 (式1)
    y’=−x2・y1+x1・y2 (式2)
    前記x’の符号または前記y’の符号が正または負のいずれであるかに基づいて前記現実の第1の座標から前記現実の第2の座標への回転方向を判定し、前記回転方向に応じて式3または式4のいずれかを選択し、
    i≧1のとき、式16または式17を演算することによって前記仮座標(x’、y’)を計算し、
    x’=x2・xci−1+y2・yci−1 (式16)
    y’=−x2・yci−1+xci−1・y2 (式17)
    前記x’の符号または前記y’の符号が正または負のいずれであるかに基づいて前記計算上の第2の座標から前記現実の第2の座標への回転方向を判別し、前記回転方向に応じて式3または式4のいずれかを選択することを特徴とする請求項2に記載の速度検出装置。
  4. 前記演算部は、前記回転方向判別部によって選択された式3または式4を用いて、前記計算上の第2の座標(xc,yc)を各iに関してi=0、1、2・・・の順番で計算し、前記現実の第2の座標に最も近い前記計算上の第2の座標に用いられた前記仮の角度に基づいて前記運動体の速度を演算することを特徴とする請求項3に記載の速度検出装置。
  5. 前記計算上の第2の座標を逐次保持する第3のレジスタと、
    前記仮の角度を積算するための第4のレジスタとをさらに備えたことを特徴とする請求項1に記載の速度検出装置。
  6. 回転運動または往復運動を行う運動体の位置を示す座標を周期的にサンプリングし、前記座標に基づいて前記運動体の速度を検出するサーボモータであって、
    予め設定された複数の仮の角度、および、該複数の仮の角度のそれぞれに対する三角関数の値を記憶するメモリと、
    第1のサンプリングで得られた運動体の第1の座標を格納する第1のレジスタと、
    前記第1のサンプリングの次の第2のサンプリングで得られた運動体の現実の第2の座標を格納する第2のレジスタと、
    前記座標の原点を回転の中心として、前記現実の第1の座標から座標軸までの回転角度をθとした場合に、前記現実の第2の座標を前記回転角度θだけ前記座標軸の方向へ回転させて得られた点と前記原点とを結ぶ直線上にある仮座標のx座標またはy座標の少なくとも一方を計算し、前記仮座標のx座標の符号または前記仮座標のy座標の符号に基づいて前記現実の第1の座標から前記現実の第2の座標への回転方向を判別する回転方向判別部と、
    前記第1の座標と前記三角関数の値との乗算、加算または減算によって表現された計算上の第2の座標を、前記回転方向に基づいて前記現実の第2の座標へ接近させるように演算し、この計算上の第2の座標に用いられた前記三角関数の値に対応する前記仮の角度を積算することにより前記運動体の速度を検出する演算部とを備え、
    前記回転方向判別部は、前記座標の原点を回転の中心として、前記計算上の第2の座標から座標軸までの回転角度をβとした場合に、前記現実の第2の座標を前記回転角度βだけ前記座標軸の方向へ回転させて得られた点と前記原点とを結ぶ直線上にある仮座標のx座標またはy座標の少なくとも一方を計算し、前記仮座標のx座標または前記仮座標のy座標の符号に基づいて前記計算上の第2の座標から前記現実の第2の座標への回転方向を判別することを特徴とするサーボモータ。
  7. 前記メモリは、前記仮の角度としてΦ〜Φ(Φ>Φ>Φ>・・・Φ)(nは自然数)、前記三角算数の値としてcosΦ〜cosΦ、および、tanΦ〜tanΦを記憶し、
    前記演算部は、前記第1の座標を(x1,y1)、前記現実の第2の座標を(x2,y2)、および、前記計算上の第2の座標を(xc,yc)とすると、
    Figure 2009281883
    あるいは、
    Figure 2009281883
    を計算することを特徴とする請求項5に記載のサーボモータ。
  8. 前記回転方向判別部は、i=0のとき、式1または式2を演算することによって前記仮座標(x’、y’)を計算し、
    x’=x2・x1+y2・y1 (式1)
    y’=−x2・y1+x1・y2 (式2)
    前記x’の符号または前記y’の符号が正または負のいずれであるかに基づいて前記現実の第1の座標から前記現実の第2の座標への回転方向を判定し、前記回転方向に応じて式3または式4のいずれかを選択し、
    i≧1のとき、式16または式17を演算することによって前記仮座標(x’、y’)を計算し、
    x’=x2・xci−1+y2・yci−1 (式16)
    y’=−x2・yci−1+xci−1・y2 (式17)
    前記x’の符号または前記y’の符号が正または負のいずれであるかに基づいて前記計算上の第2の座標から前記現実の第2の座標への回転方向を判別し、前記回転方向に応じて式3または式4のいずれかを選択することを特徴とする請求項7に記載の速度検出装置。
  9. 前記演算部は、前記回転方向判別部によって選択された式3または式4を用いて、前記計算上の第2の座標(xc,yc)を各iに関してi=0、1、2・・・の順番で計算し、前記現実の第2の座標に最も近い前記計算上の第2の座標に用いられた前記仮の角度を積算することにより前記運動体の速度を検出することを特徴とする請求項8に記載のサーボモータ。
  10. 前記計算上の第2の座標を逐次保持する第3のレジスタをさらに備えたことを特徴とする請求項6に記載のサーボモータ。
JP2008134559A 2008-05-22 2008-05-22 速度検出装置およびサーボモータ Pending JP2009281883A (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2008134559A JP2009281883A (ja) 2008-05-22 2008-05-22 速度検出装置およびサーボモータ
KR1020107026066A KR101239570B1 (ko) 2008-05-22 2009-05-11 속도 검출 장치 및 서보 모터
US12/989,563 US8401817B2 (en) 2008-05-22 2009-05-11 Velocity detection device and servomotor
DE112009000846T DE112009000846B4 (de) 2008-05-22 2009-05-11 Geschwindigkeitsdetektionsvorrichtung und Servomotor
PCT/JP2009/058739 WO2009142118A1 (ja) 2008-05-22 2009-05-11 速度検出装置およびサーボモータ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008134559A JP2009281883A (ja) 2008-05-22 2008-05-22 速度検出装置およびサーボモータ

Publications (1)

Publication Number Publication Date
JP2009281883A true JP2009281883A (ja) 2009-12-03

Family

ID=41340050

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008134559A Pending JP2009281883A (ja) 2008-05-22 2008-05-22 速度検出装置およびサーボモータ

Country Status (5)

Country Link
US (1) US8401817B2 (ja)
JP (1) JP2009281883A (ja)
KR (1) KR101239570B1 (ja)
DE (1) DE112009000846B4 (ja)
WO (1) WO2009142118A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015230561A (ja) * 2014-06-04 2015-12-21 キヤノン株式会社 演算装置およびその制御方法
JP2017223500A (ja) * 2016-06-14 2017-12-21 キヤノン株式会社 座標データ回転演算装置及び座標データ回転演算方法

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6205683B2 (ja) * 2012-05-30 2017-10-04 株式会社リコー 回転角度検出装置、画像処理装置及び回転角度検出方法
JP2015121519A (ja) * 2013-12-25 2015-07-02 株式会社リコー 角度検出装置およびモータ駆動制御装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62211505A (ja) * 1986-03-12 1987-09-17 Nippon Gakki Seizo Kk エンコ−ダ用変位検出回路
JP2001308943A (ja) * 2000-04-19 2001-11-02 Nec Corp 携帯無線システム及びそれに用いる携帯無線装置並びにそれらに用いる周波数誤差推定方法
JP2004032432A (ja) * 2002-06-26 2004-01-29 Matsushita Electric Ind Co Ltd 受信装置
JP2004516716A (ja) * 2000-12-14 2004-06-03 ノキア コーポレイション 変調システムにおいて信号振幅をクリッピングする方法
JP2007057269A (ja) * 2005-08-22 2007-03-08 Toshiba Mach Co Ltd 速度検出装置およびサーボモータ

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07294992A (ja) 1994-04-27 1995-11-10 Nikon Corp 振れ補正機能を有する撮影装置
KR19990085924A (ko) 1998-05-22 1999-12-15 윤종용 삼각함수 생성장치 및 방법
DE19937737C2 (de) 1999-08-10 2003-10-30 Pilz Gmbh & Co Vorrichtung zum sicheren Überwachen der Drehbewegung einer Welle
DE10164462B4 (de) 2001-12-20 2007-04-26 IHP GmbH - Innovations for High Performance Microelectronics/ Institut für innovative Mikroelektronik GmbH CORDIC-Einheit
EP1471332A1 (en) 2003-04-17 2004-10-27 Dialog Semiconductor GmbH Digital interface for an angular sensor
EP1711888A1 (en) 2004-01-28 2006-10-18 Koninklijke Philips Electronics N.V. Implementation of the cordic algorithm for complex phase rotation
JP2006201148A (ja) 2004-12-22 2006-08-03 Toshiba Mach Co Ltd 信号処理装置、信号処理方法、信号処理プログラム、信号処理プログラムを記録した記録媒体、速度検出装置、サーボ機構
US7932692B2 (en) 2006-11-13 2011-04-26 Denso Corporation Control system for rotary electric machine with salient structure
JP4987448B2 (ja) 2006-12-05 2012-07-25 東芝機械株式会社 速度検出装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62211505A (ja) * 1986-03-12 1987-09-17 Nippon Gakki Seizo Kk エンコ−ダ用変位検出回路
JP2001308943A (ja) * 2000-04-19 2001-11-02 Nec Corp 携帯無線システム及びそれに用いる携帯無線装置並びにそれらに用いる周波数誤差推定方法
JP2004516716A (ja) * 2000-12-14 2004-06-03 ノキア コーポレイション 変調システムにおいて信号振幅をクリッピングする方法
JP2004032432A (ja) * 2002-06-26 2004-01-29 Matsushita Electric Ind Co Ltd 受信装置
JP2007057269A (ja) * 2005-08-22 2007-03-08 Toshiba Mach Co Ltd 速度検出装置およびサーボモータ

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015230561A (ja) * 2014-06-04 2015-12-21 キヤノン株式会社 演算装置およびその制御方法
JP2017223500A (ja) * 2016-06-14 2017-12-21 キヤノン株式会社 座標データ回転演算装置及び座標データ回転演算方法

Also Published As

Publication number Publication date
DE112009000846T5 (de) 2011-05-12
US8401817B2 (en) 2013-03-19
KR101239570B1 (ko) 2013-03-05
DE112009000846B4 (de) 2013-04-04
WO2009142118A1 (ja) 2009-11-26
US20110040522A1 (en) 2011-02-17
KR20110004448A (ko) 2011-01-13

Similar Documents

Publication Publication Date Title
JP5058334B2 (ja) 回転角度検出装置
JP2008286709A (ja) 回転角度検出装置
JP4987269B2 (ja) 速度検出装置およびサーボモータ
KR101239570B1 (ko) 속도 검출 장치 및 서보 모터
JP4987448B2 (ja) 速度検出装置
JP4515120B2 (ja) レゾルバディジタル角度変換装置および方法ならびにプログラム
JP5079346B2 (ja) 波形補正装置および波形補正方法
JP4757328B2 (ja) 逆正接演算装置及び逆正接演算プログラム
US20190128697A1 (en) Batteryless rotary encoder
JP6485826B2 (ja) 傾斜センサ
CN108759644B (zh) 移动距离的检测方法、装置和存储介质
JP2004333196A (ja) 波動歯車装置の回転角度検出装置
JP4943171B2 (ja) 振幅検出装置
WO2022217461A1 (zh) 电机组件、电机位置的检测方法、装置和可移动平台
JP2016148587A (ja) レゾルバ信号処理装置
JP2008185459A (ja) 位置検出装置
JP5001211B2 (ja) 中心位置検出方法および装置、並びに中心位置合わせ方法および装置
KR20070022597A (ko) 속도 검출 장치 및 서보 모터
JP6477214B2 (ja) 傾斜度測定方法及び装置並びに電子機器及びプログラム
JP3967963B2 (ja) アブソリュート変位検出装置
JP6204000B2 (ja) 位置検出装置
JPH10227657A (ja) 誤差補正機能付き位置検出装置
US20190350426A1 (en) Method and device for detecting moving distance, and storage medium
JP2023041534A (ja) 磁気式エンコーダ
JP2021110592A (ja) 角度検出装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110328

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120629

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120802

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130222