本発明者らは、第1回転体と、第1回転体の回転に連れて減速回転する1つ以上の第2回転体と、を備え、第1回転体および第2回転体それぞれの回転角を回転角度検知部で検知し、その検知結果に基づいて第1回転体の複数回転にわたる回転量を取得する回転量取得装置を研究し、その過程で以下のような知見を得た。
一例として、第1回転体と、第1回転体の回転に対して減速比G(例えば1/60)で減速回転する第2回転体と、を備え、第1回転体の回転角θsoおよび第2回転体の回転角θmoを回転角度検知部で検知し、そのθsoおよびθmoに基づいて第1回転体の複数回転にわたる回転量θaを取得する回転量取得装置について検討する。この場合、検知された回転角θso、θmoを、数値として処理可能な回転角θs、θmとして取得する。取得された回転角θmから第1回転体の回転数Rsを特定することにより、第1回転体の回転量θaは式1によって算出することができる。
(式1)・・第1回転体の回転量θa=360×第1回転体の回転数Rs+第1回転体の回転角θs(°)
減速比をGとすると、第2回転体の360°以内の回転に対応して、第1回転体の回転数Rsは0〜(1/G−1)回転の範囲で特定することができる。減速比Gが1/60である例では、第2回転体の角度から第1回転体の0〜59回転の範囲で第1回転体の回転数Rsを特定することができる。つまり、第1回転体が1回転するごとに第2回転体は360°×減速比G=360°/60=6°回転するから、第1回転体がRs回転するとき第2回転体はRs×360°/60=Rs×6°回転する。以下、360°×減速比Gを単位シフト量という。
すなわち第1回転体の回転数Rsは、θmを単位シフト量で除した結果の小数点以下を切り捨てた整数値として特定することができる。この例では、第1回転体の回転数Rsは、θmが0°以上で6°未満の範囲で0回転、θmが6°以上で12°未満の範囲で1回転、θmが12°以上で18°未満の範囲で2回転と特定することができる。つまり、回転角θmには6°ステップの境界値(0°、6°、12°、18°・・・354°)が存在する。言い換えると、第1回転体の回転数Rsは、回転角θmの単位シフト量ごとの境界値でカウントアップされる整数と考えることができる。
ここで一例として、回転角θmが12°(境界値のひとつ)である場合には、検知した値やしきい値に僅かな誤差や変動があった場合に、第1回転体の回転数Rsの特定結果が1回転と2回転とで変動し、第1回転体の回転量θaに大きな差を生じさせることが考えられる。このような問題は、12°以外の各境界値の近傍の角度についても生じうる。
そこで、本発明者らは、回転角θmから第1回転体の回転数Rsを特定する過程において、その特定の条件を回転角θsに応じて変化させる方法を案出した。つまり、回転角θmが境界値の近傍にあり、回転角θmから特定される第1回転体の回転数Rsが、カウントアップ前のnとカウントアップ後のn+1との間で変動する可能性がある場合に、回転角θsの大きさによって、nとn+1を選択することができる。例えば、回転角θsが0°(=360°)の近傍±60°にある場合を考える。回転角θsが300°の場合、境界の直前に位置するから、回転数Rsはカウントアップ前のnである確率が高く、回転角θsが60°の場合、境界の直後に位置するから、回転数Rsはカウントアップ後のn+1である確率が高いといえる。
具体的には、回転角θsに応じて下限値と上限値とを設定し、回転角θmがその下限値以上で上限値未満の条件(以下、特定条件という)を満たすか否かを判定する。また、回転数Rsそれぞれについて特定条件を設定し、回転角θmがいずれか一つの特定条件を満たす場合に、その一つの特定条件に対応する回転数Rsを第1回転体の回転数Rsと特定することができる。つまり、特定条件を固定せずに、単位シフト量ずつ変化させた特定条件を用いて、回転角θmから第1回転体の回転数Rsを特定することにより、特定された回転数Rsの誤差を抑制し、ひいては第1回転体の回転量θaの検知誤差を減らすことができる。
このように、回転角θsと単位シフト量とに応じて回転角θmから第1回転体の回転数Rsを特定する方法は、種々のアルゴリズムにより実現することができる。第1のアルゴリズムとしては、回転角θsおよび回転角θmに対する回転数Rsの関係を事前に計算して関係テーブルを作成してメモリに記憶させ、回転角θsおよび回転角θmをキーにしてテーブル処理により第1回転体の回転数Rsを特定することが考えられる。この場合、処理ステップが少なく特定速度が速い点で好ましい。
さらに、本発明者らは、処理に用いるメモリ容量を減らす観点で研究し、第2のアルゴリズムを案出した。第2のアルゴリズムは、回転角θsおよび減速比Gに応じて決定される数値である下限値および上限値と、回転角θmと、に応じて回転数Rsを特定するための特定条件を動的に変化させながら回転数Rsを特定する。このアルゴリズムは、特定条件を動的に変化させる第1処理と、変化する特定条件を満たす回転数Rsを特定する第2処理と、を含んでもよい。
例えば、第1処理は、特定条件を単位シフト量ずつシフトさせるシフト処理と、回転角θmがシフト処理によってシフトされた変更特定条件を満たすか否かの判定をする判定処理と、終了条件を満たすまでシフト処理および判定処理を繰り返すとともにループカウンタ値を更新する更新処理と、を含んでもよい。この処理では、減速比Gと回転角θsから初期の特定条件(例えば、0°以上6°未満)を決定し、ループ処理により特定条件を単位シフト量ずつ順次変化させて変更特定条件を取得するようにしてもよい。例えば、変更特定条件は、初期の特定条件を単位シフト量にループカウンタ値を乗じた数値だけシフトするようにしてもよい。この処理では、ループカウンタ値は、回転数Rsの下限(0回転)から上限(1/G回転、例えば60回転)まで順次変化させてもよい。
例えば、第2処理は、回転角θmがシフト処理によってシフトされた変更特定条件を満たしたとき、ループカウンタ値に応じて回転数Rsを特定する処理を含んでもよい。このアルゴリズムは、第1のアルゴリズムに比べて処理に用いるメモリ容量を減らすことができる。
これらの構成やアルゴリズムは、第2回転体の回転に対してさらに減速回転する第3回転体の回転角を検知して、その検知結果に基づいて第2回転体の回転数を特定する場合にも同様に適用することができる。
実施の形態は、以上の知見や思索に基づいて案出されたもので、以下にその具体的な構成を説明する。
以下、本発明を好適な実施形態をもとに各図面を参照しながら説明する。各実施形態、変形例では、同一または同等の構成要素、部材には、同一の符号を付するものとし、適宜重複した説明は省略する。また、各図面における部材の寸法は、理解を容易にするために適宜拡大、縮小して示される。また、各図面において実施の形態を説明する上で重要ではない部材の一部は省略して表示する。
また、第1、第2などの序数を含む用語は多様な構成要素を説明するために用いられるが、この用語は一つの構成要素を他の構成要素から区別する目的でのみ用いられ、この用語によって構成要素が限定されるものではない。
[第1実施形態]
図面を参照して本発明の第1実施形態について説明する。図1は本発明の第1実施形態に係る角度検出装置100の構成の一例を示すブロック図である。角度検出装置100は、第1回転体20の複数回の回転にわたる回転量と角度を特定するアブソリュートエンコーダである。角度検出装置100は、第1回転体20と、第1変速機構11と、第2回転体22と、第2変速機構15と、第3回転体24と、第1角度検知部Dsと、第2角度検知部Dmと、第3角度検知部Dhと、処理部40と、を含んでいる。第1回転体20と、第2回転体22と、第3回転体24と、を総括するときは各回転体という。第1回転体20は、例えば、モータ1の主軸1aに連結され、主軸1aと同じ速度で回転する回転体である。
第1変速機構11は、第1回転体20の回転を第1減速比G1で減速して第2回転体22に伝達する回転伝達機構である。第1変速機構11は、公知の原理に基づく減速機構を用いることができる。図1の例では、第1変速機構11は、第1駆動歯車10と、第1従動歯車12と、を含んでいる。第1駆動歯車10および第1従動歯車12は、例えば平歯車であってもよい。
第1駆動歯車10は、第1回転体20と連結され、第1回転体20と同じ速度で回転する。第1従動歯車12は、第1駆動歯車10と噛合い、第1駆動歯車10の回転にしたがって第1減速比G1で減速回転する。第2回転体22は、第1従動歯車12と連結され第1従動歯車12と同じ速度で回転する。したがって、第2回転体22は、第1回転体20に対して、第1減速比G1で減速回転する。図1の例では、第1減速比G1は1/60に設定されている。
第2変速機構15は、第2回転体22の回転を第2減速比G2で減速して第3回転体24に伝達する回転伝達機構である。第2変速機構15は、公知の原理に基づく減速機構を用いることができる。図1の例では、第2変速機構15は、第2駆動歯車14と、第2従動歯車16と、を含んでいる。第2駆動歯車14および第2従動歯車16は、例えば平歯車であってもよい。
第2従動歯車16は、第2駆動歯車14と噛合い、第2駆動歯車14の回転にしたがって第2減速比G2で減速回転する。第3回転体24は、第2従動歯車16と連結され第2従動歯車16と同じ速度で回転する。したがって、第3回転体24は、第2回転体22に対して、第2減速比G2で減速回転する。図1の例では、第2減速比G2は1/12に設定されている。第3回転体24は、第1回転体20に対して、第1減速比G1と第2減速比G2の積である減速比G12(=1/720)で減速回転する。
第1角度検知部Dsは、第1回転体20の回転角θsoを検知する角度検知要素である。第2角度検知部Dmは、第2回転体22の回転角θmoを検知する角度検知要素である。第3角度検知部Dhは、第3回転体24の回転角θhoを検知する角度検知要素である。第1角度検知部Ds、第2角度検知部Dmおよび第3角度検知部Dhを総括するときは各角度検知部という。各角度検知部は公知の原理に基づく角度検知要素を用いることができる。
図1に示すように、第1角度検知部Dsは、マグネットMsと、角度センサAsと、を含んでいる。マグネットMsは、第1回転体20の端面に固定される。マグネットMsの角度センサAs側の端面には第1回転体20の回転軸線に対して垂直な方向に2極の磁極Usが設けられる。磁極Usが設けられる端面を磁極面という。
角度センサAsは、第1回転体20の回転角を検知する。角度センサAsは、その検知面が隙間を介してマグネットMsの磁極面にスラスト方向に対向するように設けられている。図1の例では、角度センサAsは静止体である基板5に固定される。角度センサAsは、マグネットMsの磁極Usを検知して、その検知結果である回転角θsoを処理部40に出力する。つまり、角度センサAsは、第1回転体20の回転角θsoを処理部40に出力する。図1の例では、角度センサAsは、回転角θsoをデジタル信号として出力する。回転角θsoは、デジタル信号に限定されずアナログ信号であってもよい。
図1に示すように、第2角度検知部Dmは、マグネットMmと、角度センサAmと、を含んでいる。マグネットMmは、第2回転体22の端面に固定される。マグネットMmの角度センサAm側の端面には第2回転体22の回転軸線に対して垂直な方向に2極の磁極Umが設けられる。磁極Umが設けられる端面を磁極面という。
角度センサAmは、第2回転体22の回転角を検知する。角度センサAmは、その検知面が隙間を介してマグネットMmの磁極面にスラスト方向に対向するように設けられている。図1の例では、角度センサAmは静止体である基板5に固定される。角度センサAmは、マグネットMmの磁極Umを検知して、その検知結果である回転角θmoを処理部40に出力する。つまり、角度センサAmは、第2回転体22の回転角θmoを処理部40に出力する。図1の例では、角度センサAmは、回転角θmoをデジタル信号として出力する。回転角θmoは、デジタル信号に限定されずアナログ信号であってもよい。
図1に示すように、第3角度検知部Dhは、マグネットMhと、角度センサAhと、を含んでいる。マグネットMhは、第3回転体24の端面に固定される。マグネットMhの角度センサAh側の端面には第3回転体24の回転軸線に対して垂直な方向に2極の磁極Uhが設けられる。磁極Uhが設けられる端面を磁極面という。
角度センサAhは、第3回転体24の回転角を検知する。角度センサAhは、その検知面が隙間を介してマグネットMhの磁極面にスラスト方向に対向するように設けられている。図1の例では、角度センサAhは静止体である基板5に固定される。角度センサAhは、マグネットMhの磁極Uhを検知して、その検知結果である回転角θhoを処理部40に出力する。つまり、角度センサAhは、第3回転体24の回転角θhoを処理部40に出力する。図1の例では、角度センサAhは、回転角θhoをデジタル信号として出力する。回転角θhoは、デジタル信号に限定されずアナログ信号であってもよい。
(角度センサ)
角度センサAs、Am、Ahを総括するときは各角度センサという。各角度センサは、各回転体の1回転に対応する0°〜360°の範囲の絶対的な回転角を検知するセンサである。各角度センサは検知した回転角θso、θmo、θhoを処理部40に出力する。処理部40は、回転角θso、θmo、θhoを後述する回転角取得部40s、40m、40hによって、数値として処理可能な回転角θs、θm、θhとして取得する。各角度センサは、比較的分解能が高い磁気式角度センサであってもよい。磁気式角度センサは、一例として、磁極を検知する検知素子と、この検知素子の出力に基づいてデジタル信号を出力する演算回路と、を含む。検知素子は、例えばホールエレメントやGMR(Giant Magneto Resistive)エレメントなどの磁界検知要素を複数(例えば4つ)含んでもよい。各角度センサは、一旦通電を停止して再通電をした場合に、通電停止前と同じ回転角を出力するように構成されてもよい。また、各角度センサは、通電停止時に、外力によって主軸が回転したとしても正しい現在の位置を出力するように構成されてもよい。
処理部40について説明する。図1に示す処理部40の各ブロックは、ハードウエア的には、コンピュータのCPU(central processing unit)をはじめとする素子や機械装置で実現でき、ソフトウエア的にはコンピュータプログラム等によって実現されるが、ここでは、それらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックはハードウエア、ソフトウエアの組み合わせによっていろいろなかたちで実現できることは、本明細書に触れた当業者には理解されるところである。
処理部40は、半田付けにより基板5に固定されている。処理部40は、回転角取得部40s、40m、40hと、第1回転数特定部40pと、第2回転数特定部40qと、回転量特定部40eと、出力部40dと、を含む。回転角取得部40s、40m、40hは、角度センサAs、Am、Ahの検知結果である各回転体の回転角θso、θmo、θhoを、数値として処理可能な回転角θs、θm、θhとして取得する。
第1回転数特定部40pは、回転角θs、θmに応じて第1回転体20の回転数Rsを特定する第1回転数特定処理を行う。第2回転数特定部40qは、回転角θm、θhに応じて第2回転体22の回転数Rmを特定する第2回転数特定処理を行う。回転量特定部40eは、特定された回転数Rs、Rmと回転角θsとに応じて第1回転体20の複数回転にわたる回転量θaを特定する。出力部40dは、特定された回転量θaを所望の形式の出力信号40aに変換して出力する。図1の例では、出力信号40aは、基板5に設けられたコネクタ5cを介して出力される。
(第1回転数特定処理)
次に、第1実施形態に係る角度検出装置100の第1回転数特定処理の一例について説明する。図2は、角度検出装置100の第1回転数特定処理の一例を示すフローチャートである。図2は、回転角θsおよび回転角θmに応じて第1回転体20の回転数Rsを特定する処理S100を示している。処理S100は、特定条件を動的に変化させる処理と、変化する特定条件を満たす回転数Rsを特定する処理と、を含んでいる。
特に、処理S100は、第1減速比G1に応じて単位シフト量Suを決定する処理と、特定条件を単位シフト量Suだけシフトさせるシフト処理と、回転角θmがシフト後の特定条件を満たすか否かの判定をする判定処理と、特定条件を満たすまでシフト処理及び判定処理を繰り返し、ループカウンタ値Jを更新する更新処理と、特定条件を満たしたとき、そのループカウンタ値Jに応じて回転数Rsを特定する特定処理と、を含んでいる。
処理S100が開始されたら、処理部40は、第1減速比G1に応じて単位シフト量Suを取得する(ステップS102)。このステップにおいて、処理部40は、単位シフト量Suは式2の演算により取得することができる。
(式2)・・単位シフト量Su=360°×第1減速比G1=360/60=6°
単位シフト量Suを取得したら、処理部40は、回転角取得部40s、40mにより角度センサAs、Amの検知結果である回転角θso、θmoに基づいて、数値として処理可能な回転角θs、θmを取得する(ステップS104)。回転角を取得したら、処理部40は、回転角θsと第1減速比G1とに応じて初期特定条件として下限値Lmおよび上限値Lnを取得する(ステップS106)。このステップにおいて、処理部40は、下限値Lm、上限値Lnは、式3、式4の演算により取得することができる。
(式3)・・下限値Lm=回転角θs×第1減速比G1−単位シフト量Su/2
=回転角θs/60−3°
(式4)・・上限値Ln=回転角θs×第1減速比G1+単位シフト量Su/2
=回転角θs/60+3°
初期特定条件を取得したら、処理部40は、ループカウンタ値Jの初期値、終値、増分値をセットして第1ループ処理を開始する(ステップS108)。図2の例では、このステップにおいて、処理部40は、初期値=0、終値=H1=1/G1=60、増分値=1にセットする。つまり、ループカウンタ値Jは、0から60まで1ずつ更新される。
第1ループ処理が開始されたら、処理部40は、回転角θmが特定条件を満たすか否かを判定する(ステップS110)。図2の例では、特定条件は式5によって示される。つまり、処理部40は、回転角θmが(Lm+J・Su)以上で(Ln+J・Su)未満の条件を満たすか否かを判定する。
(式5)・・(Lm+J・Su)≦θm<(Ln+J・Su)
なお、式5は式6に変形可能であり、特定条件は式6により設定されてもよい。
(式6)・・Lm≦(θm−J・Su)<Ln
回転角θmが特定条件を満たさない場合(ステップS110のN)、処理部40は、第1ループ処理の終了判定を行う(ステップS112)。このステップで、処理部40は、ループカウンタ値Jを1だけ増加させるとともに、ループカウンタ値Jが終値であるH1に達していない場合は第1ループ処理を繰り返し、H1に達した場合は第1ループ処理を終了してステップS114に移行する。つまり、第1ループ処理は、回転角θmが特定条件を満たすまで、ループカウンタ値Jを更新する処理である。ループカウンタ値Jが更新されることによって、特定条件は、ループカウンタ値Jに応じて単位シフト量Suずつ動的に変化する。換言すると、特定条件は、ループ処理毎に単位シフト量Suずつ動的にシフトする。
第1ループ処理が終了した場合および回転角θmが特定条件を満たす場合(ステップS110のY)、処理部40は、ループカウンタ値Jに応じて第1回転体20の回転数Rsを特定する(ステップS114)。図2の例では、回転数Rsは式7によって特定される。
(式7)・・回転数Rs=ループカウンタ値J
ステップS114を実行したら、処理部40は処理S100を終了させる。処理S100は、予め設定された間隔毎に実行されてもよく、回転角θs、θmを記憶しておき、回転角θs、θmのいずれかが変化したときに実行されてもよく、外部機器からの要求があったときに実行されてもよい。なお、この処理S100はあくまでも一例であり、他のステップを追加したり、一部のステップを削除したり、ステップの順序を変更したりすることも可能である。処理S100は、上述の各計算式を変形して構成されてもよい。
図3は、ループカウンタ値Jと特定条件および判定結果の一例を示す表である。この図は、回転角θs=180°、回転角θm=12°、Su=6°である場合を示している。この図のように、特定条件は、ループカウンタ値Jに応じて動的に変化する。θs=180°の場合、ループカウンタ値J=2のときに回転角θmが特定条件を満たし、回転数Rs=2と特定される。
図4は、ループカウンタ値Jと特定条件および判定結果の別の一例を示す表である。図4は、回転角θs=181°、回転角θm=12°、Su=6°である場合を示している。θs=181°の場合、ループカウンタ値J=1で回転角θmが特定条件を満たし、回転数Rs=1と特定される。このように、特定される回転数Rsは、回転角θmが同じでも回転角θsによって変化する。
(第2回転数特定処理)
次に、第1実施形態に係る角度検出装置100の第2回転数特定処理の一例について説明する。図5は、角度検出装置100の第2回転数特定処理の一例を示すフローチャートである。図5は、回転角θmおよび回転角θhに応じて第2回転体22の回転数Rmを特定する処理S120を示している。処理S120は処理S100と同じアルゴリズムに基づく処理である。処理S120は、特定条件を動的に変化させる処理と、変化する特定条件を満たす回転数を特定する処理と、を含んでいる。
特に、処理S120は、第2減速比G2に応じて単位シフト量Suを決定する処理と、特定条件を単位シフト量Suだけシフトさせるシフト処理と、回転角θhがシフト後の特定条件を満たすか否かの判定をする判定処理と、特定条件を満たすまでシフト処理及び判定処理を繰り返し、ループカウンタ値Jを更新する更新処理と、特定条件を満たしたとき、そのループカウンタ値Jに応じて回転数Rmを特定する特定処理と、を含んでいる。
処理S120が開始されたら、処理部40は、第2減速比G2に応じて単位シフト量Suを取得する(ステップS122)。このステップにおいて、処理部40は、単位シフト量Suは式8の演算により取得することができる。
(式8)・・単位シフト量Su=360°×第2減速比G2=360/12=30°
単位シフト量Suを取得したら、処理部40は、回転角取得部40m、40hにより角度センサAm、Ahの検知結果である回転角θmo、θhoに基づいて、数値として処理可能な回転角θm、θhを取得する(ステップS124)。
回転角を取得したら、処理部40は、回転角θmと第2減速比G2とに応じて初期特定条件として下限値Lmおよび上限値Lnを取得する(ステップS126)。このステップにおいて、処理部40は、下限値Lm、上限値Lnは、式9、式10の演算により取得することができる。
(式9)・・下限値Lm=回転角θm×第2減速比G2−単位シフト量Su/2
=回転角θm/12−15°
(式10)・・上限値Ln=回転角θm×第2減速比G2+単位シフト量Su/2
=回転角θm/12+15°
初期特定条件を取得したら、処理部40は、ループカウンタ値Jの初期値、終値、増分値をセットして第2ループ処理を開始する(ステップS128)。図5の例では、このステップにおいて、処理部40は、初期値=0、終値=H2=1/G2=12、増分値=1にセットする。つまり、ループカウンタ値Jは、0から12まで1ずつ更新される。
第2ループ処理が開始されたら、処理部40は、回転角θhが特定条件を満たすか否かを判定する(ステップS130)。図5の例では、特定条件は式11によって示される。つまり、処理部40は、回転角θhが(Lm+J・Su)以上で(Ln+J・Su)未満の条件を満たすか否かを判定する。
(式11)・・(Lm+J・Su)≦θh<(Ln+J・Su)
なお、式11は式12に変形可能であり、特定条件は式12により設定されてもよい。
(式12)・・Lm≦(θh−J・Su)<Ln
回転角θhが特定条件を満たさない場合(ステップS130のN)、処理部40は、第2ループ処理の終了判定を行う(ステップS132)。このステップで、処理部40は、ループカウンタ値Jを1だけ増加させるとともに、ループカウンタ値Jが終値であるH2に達していない場合は第2ループ処理を繰り返し、H2に達した場合は第2ループ処理を終了してステップS134に移行する。つまり、第2ループ処理は、回転角θhが特定条件を満たすまで、ループカウンタ値Jを更新する処理である。ループカウンタ値Jが更新されることによって、特定条件は、ループカウンタ値Jに応じて単位シフト量Suずつ動的に変化する。換言すると、特定条件は、ループ処理毎に単位シフト量Suずつ動的にシフトする。
第2ループ処理が終了した場合および回転角θhが特定条件を満たす場合(ステップS130のY)、処理部40は、ループカウンタ値Jに応じて第1回転体20の回転数Rmを特定する(ステップS134)。図5の例では、回転数Rmは式13によって特定される。
(式13)・・回転数Rm=ループカウンタ値J
ステップS134を実行したら、処理部40は処理S120を終了させる。処理S120は、予め設定された間隔毎に実行されてもよく、回転角θm、θhを記憶しておき、回転角θm、θhのいずれかが変化したときに実行されてもよく、外部機器からの要求があったときに実行されてもよい。なお、この処理S120はあくまでも一例であり、他のステップを追加したり、一部のステップを削除したり、ステップの順序を変更したりすることも可能である。処理S120は、上述の各計算式を変形して構成されてもよい。
処理S100、処理S120によって回転数Rs、Rmが特定されたら、回転量特定部40eは、回転数Rs、Rmと回転角θsとに応じて第1回転体20の複数回転にわたる回転量θaを特定する。回転量θaは式14によって特定することができる。
(式14)・・θa=360×(Rm/G1+Rs)+θs
回転量θaが特定されたら、出力部40dは、回転量θaを所望の形式の出力信号40aに変換して出力する。
次に、このように構成された第1実施形態に係る角度検出装置100の作用・効果を説明する。
第1実施形態に係る角度検出装置100は、第1回転体20と、第1回転体20の回転に従って第1減速比G1で減速回転する第2回転体22と、第1回転体20の回転角θsoを検知する第1角度検知部Dsと、第2回転体22の回転角θmoを検知する第2角度検知部Dmと、第1回転体20の回転数Rsを特定する処理部40と、を備え、処理部40は、第1角度検知部Dsの検知結果と、第1減速比G1と、第2角度検知部Dmの検知結果と、に応じて回転数Rsを特定する。この構成によれば、回転角θmoが境界値の近傍である場合に、回転数Rsの特定結果の変動を抑制することができる。このため、角度検出装置100では、回転数Rsの検出精度を高めることが可能であり、外力、振動、バックラッシュなどの外乱あるいは漏れ磁束への耐性を高めることができる。角度検出装置100では、補正角などの理想回転データを不揮発性メモリに入力する手間を省くことが可能で、不揮発性メモリの容量を節約することができる。角度検出装置100では、角度検知部の取り付け誤差の許容範囲が広く、その分製造が容易になる。
第1実施形態に係る角度検出装置100では、処理部40は、第1角度検知部Dsの検知結果および第1減速比G1に応じて決定される数値である下限値および上限値と、第2角度検知部Dmの検知結果と、に応じて回転数Rsを特定するための特定条件を動的に変化させながら回転数Rsを特定する。この構成によれば、特定条件が固定されている場合と比較して、センサの誤差やしきい値の変動の影響を抑制することができる。特定条件を動的に変化させながら回転数Rsを特定するため、搭載する不揮発メモリの容量を減らすことができる。
第1実施形態に係る角度検出装置100では、処理部40は、回転数Rsを特定するための特定条件を単位シフト量Suずつシフトさせるシフト処理と、第2角度検知部Dmの検知結果がシフト処理によってシフトされた特定条件を満たすか否かの判定をする判定処理と、所定の条件を満たすまでシフト処理および判定処理を繰り返すとともにループカウンタ値Jを更新する更新処理と、第2角度検知部Dmの検知結果がシフト処理によってシフトされた特定条件を満たしたとき、ループカウンタ値Jに応じて回転数Rsを特定する処理と、を行う。この構成によれば、シフト処理により特定条件を動的に変化させながら回転数Rsを特定することができる。特定条件が固定されている場合と比較して、センサの誤差やしきい値の変動の影響を抑制することができる。
第1実施形態に係る回転数を特定する方法は、第1回転体20と、第1回転体20の回転に従って第1減速比G1で減速回転する第2回転体22と、を含む装置において、第1回転体20の複数回の回転にわたる回転数Rsを特定する方法であって、第1回転体20の回転角θsoを検知するステップと、第2回転体22の回転角θmoを検知するステップと、検知された第1回転体20の回転角θsoと、第1減速比G1と、検知された第2回転体22の回転角θmoと、に応じて回転数Rsを特定するステップと、を含み、回転数Rsを特定するステップは、検知された第1回転体20の回転角θsoおよび第1減速比G1に応じて決定される数値である下限値および上限値と、検知された第2回転体22の回転角θmoと、に応じて回転数Rsを特定するための特定条件を動的に変化させながら回転数Rsを特定する。この構成によれば、特定条件を動的に変化させながら第1回転体20の回転数Rsを特定することができる。特定条件が固定されている場合と比較して、センサの誤差やしきい値の変動の影響を抑制することができる。
以上、本発明の第1実施形態をもとに説明した。この実施形態は例示であり、いろいろな変形および変更が本発明の特許請求の範囲内で可能なこと、またそうした変形例および変更も本発明の特許請求の範囲にあることは当業者に理解されるところである。従って、本明細書での記述および図面は限定的ではなく例証的に扱われるべきものである。
以下、第1実施形態の変形例について説明する。変形例の図面および説明では、第1実施形態と同一または同等の構成要素、部材には、同一の符号を付する。第1実施形態と重複する説明を適宜省略し、第1実施形態と相違する構成について重点的に説明する。
(第1変形例)
第1実施形態の説明では、シフト処理は特定条件を単位シフト量Suずつシフトさせて変更特定条件を取得する例について説明したが、これに限られない。式6、式12で示すように、シフト処理では、第2角度検知部Dmの検知結果に基づくθmを単位シフト量Suずつシフトさせた数値を取得し、判定処理では、シフト処理により取得された数値が特定条件を満たすか否かの判定を行うようにしてもよい。
第1変形例について説明する。第1変形例は、第1実施形態に係る角度検出装置100に対して、第1回転数特定部の処理が異なり、他の構成は同様であり、相違する事項について説明する。第1変形例の第1回転数特定部は、第1減速比G1に応じて単位シフト量Suを決定する処理と、第2角度検知部Dmの検知結果に基づくθmを単位シフト量Suだけシフトさせた数値θmsを取得するシフト処理と、シフト処理により取得された数値θmsが特定条件を満たすか否かの判定をする判定処理と、特定条件を満たすまでシフト処理及び判定処理を繰り返し、ループカウンタ値Jを更新する更新処理と、特定条件を満たしたとき、そのループカウンタ値Jに応じて回転数を特定する。第1変形例によれば、第1実施形態と同様の作用・効果を奏する。加えて、第1変形例によれば、相対的な特定条件を動的に変化させながら第1回転体20の回転数Rsを特定することができる。特定条件が固定されている場合と比較して、センサの誤差やしきい値の変動の影響を抑制することができる。
(第2変形例)
第1実施形態の説明では、第3回転体24を備える例について説明したが、これに限られない。角度検出装置が第3回転体を備えることは必須ではない。
(第3変形例)
第1実施形態の説明では、第2回転体22から第3回転体24に回転が伝達される例について説明したが、これに限られない。回転は、第2回転体22を介さずに、第1回転体20から第3回転体24に伝達されてもよい。
(第4変形例)
第1実施形態の説明では、第1変速機構11および第2変速機構15が平歯車で構成される例について説明したが、これに限られない。これらの変速機構は、平歯車とは別の種類の伝達要素を含んでもよい。これらの変速機構は、ウォーム歯車、ウォームホイール、欠歯歯車、チェーン、ベルトなどを含んでもよい。第1変速機構11および第2変速機構15は、2段以上の変速機構を含んでもよい。
[第2実施形態]
次に、本発明に係る第2実施形態について説明する。第2実施形態に係る角度検出装置200は、回転体の回転量を特定するアブソリュートエンコーダである。図6は、第2実施形態に係る角度検出装置200の概略構成を示す正面図である。図6では、内部構造の理解を容易にするため、ハウジングの一部を省いて表示している。以下、XYZ直交座標系をもとに説明する。X軸方向は水平な左右方向に対応し、Y軸方向は水平な前後方向に対応し、Z軸方向は鉛直な上下方向に対応する。Y軸方向およびZ軸方向はそれぞれX軸方向に直交する。このような方向の表記は角度検出装置200の使用姿勢を制限するものではなく、角度検出装置200は任意の姿勢で使用されうる。また、回転方向における位置を回転角と、複数回転にわたる回転角の変化量を回転量と、回転の回数を回転数と、それぞれ表記する。
図7は、角度検出装置200の構成の一例を示すブロック図である。図8は、角度検出装置200を示す側面図である。角度検出装置200は、モータ1の主軸1aの回転量を特定して出力するアブソリュート型のエンコーダである。モータ1は、一例として、ステッピングモータやDCブラシレスモータであってもよい。別の一例として、モータ1は波動歯車装置などの減速機構を介して産業用などのロボットを駆動する駆動源として適用されてもよい。角度検出装置200は主軸1aの回転量を特定して出力信号80aとして出力する。
第2実施形態に係る角度検出装置200は、主軸1aと、第1回転体62bと、第2回転体62eと、第3回転体62fと、バックボード64と、光源部76と、撮像部72と、光学部74と、処理部80と、ハウジング90と、を含む。主軸1aは、モータ1の出力軸であり、角度検出装置200に回転が入力される入力軸である。主軸1aは、X軸方向に延伸している。以下、主軸1aの回転中心に沿った軸方向を単に軸方向と、主軸1aの半径方向を単に半径方向という。
第1回転体62bと、第2回転体62eと、第3回転体62fと、を総括するときは各回転体という。各回転体は、その形状に特別の制限はないが、回転位置を容易に特定可能な形状が望ましい。図6の例では、各回転体は、回転中心から半径方向に延びる棒状を呈している。第1回転体62bは、主軸1aと連結され、主軸1aと同じ速度で回転する。つまり、第1回転体62bの回転角は主軸1aの回転角であり、第1回転体62bの回転数Rsは主軸1aの回転数である。第1回転体62bは、主軸1aと一体にモータ1の軸受部材によって回転可能に支持される。第2回転体62eおよび第3回転体62fは、主軸1aが回転するとき、主軸1aに対して減速して回転する。
第2回転体62eにはシャフト63eが固定され、第3回転体62fにはシャフト63fが固定される。シャフト63e、63fは、例えば、主軸1aと平行にX軸方向に伸びるように配置される。シャフト63e、63fは、図示しない軸受部材によってハウジング90に回転可能に支持されている。第2回転体62eと、第3回転体62fは、シャフト63e、63fを中心として回転する。主軸1aとシャフト63eとの間には第1減速比K1の減速機構65eが設けられる。シャフト63eとシャフト63fとの間には第2減速比K2の減速機構65fが設けられる。減速機構65e、65fは、種々の減速機構によって構成可能であり、図6の例では、平歯車によって構成されている。
第2回転体62eは、第1回転体62bに対して第1減速比K1で減速回転する。第3回転体62fは、第2回転体62eの回転に対して第2減速比K2で減速回転する。一例として、第1減速比K1は1/16であり、第2減速比K2は1/16である。つまり、主軸1aおよび第1回転体62bが16回転するとき第2回転体62eは1回転し、第2回転体62eが16回転するとき、第3回転体62fは1回転する。換言すると、第3回転体62fが1回転するとき、第2回転体62eは16回転し、主軸1aおよび第1回転体62bは256回転する。
図8に示すように、各回転体の回転中心に対応する箇所には中心マーク62mが設けられている。中心マーク62mは、各回転体が回転しても中心マーク62mが示す中心位置が移動しないように形成されている。中心マーク62mは、十字形状や円形状など、中心位置を特定可能な形状に形成される。図8の例では、中心マーク62mは十字形状を有する。各回転体は、金属などの無機材料や樹脂などの有機材料など種々の材料から形成することができる。
バックボード64は、撮像部72から視て各回転体の背景部材として機能する。特に、バックボード64は、各回転体をはっきりと撮像することを可能にする。バックボード64は、YZ平面に沿って延在しX軸方向に薄い板状の部材である。主軸1aは、バックボード64の中心部に設けられた開口を貫通している。バックボード64は、その外周がハウジング90に固定される。バックボード64の撮像部72側の面64dは、白または黒などの単色に塗装されている。バックボード64は、金属などの無機材料や樹脂などの有機材料など種々の材料から形成することができる。第2実施形態では、バックボード64は、ステンレス鋼などの金属材料で形成されている。
図8に示すように、バックボード64の面64dには基準マーク64eが設けられる。基準マーク64eは、バックボード64の基準位置を示すマークとして機能する。撮像部72は各回転体と基準マーク64eとを一体に撮像する。特に、基準マーク64eは、撮像部72が各回転体と一体に撮像可能な位置に設けられる。基準マーク64eは、回転中心1bから半径方向外側に離れた位置に1つまたは複数設けられる。基準マーク64eが複数設けられる場合は、周方向に離間して配置されてもよい。図8の例では、周方向に等間隔に配置された2個の基準マーク64eが設けられている。基準マーク64eは、印刷や刻印などの工程によって形成することができる。
光源部76は、各回転体に光76bを照射する。光源部76は、種々の原理に基づく光源手段を備えることができる。第2実施形態では、光源部76は、LED(Light Emitting Diode)を備えている。光76bは、赤外光、可視光、紫外光の何れであってもよいが、第2実施形態では赤外光である。光源部76には、光76bを各回転体に集めるためのリフレクタ76jが設けられている。
撮像部72は、各回転体を一体に撮像するように構成されている。撮像部72は、撮像素子72bと、基板72dと、を含む。撮像素子72bは、各回転体を撮像するイメージセンサ機能を有する。撮像素子72bとしては、CCDイメージセンサやCMOSイメージセンサなどのイメージセンサを用いることができる。撮像素子72bは、軸方向に垂直なYZ平面に沿って延在する半導体チップ上に形成される。撮像素子72bは、Y軸方向およびZ軸方向に配列される単位セルを有する。基板72dは、撮像素子72bを支持するプリント基板である。撮像部72は撮像結果を処理部80に出力する。
光学部74は、撮像部72の撮像素子72bに各回転体の像を結ぶ。光学部74は、例えば、各回転体と撮像部72の撮像素子72bとの間に配置されるレンズであってもよい。光学部74は、撮像部72に組み込まれていてもよい。
ハウジング90は、各回転体と、バックボード64と、光源部76と、撮像部72と、光学部74と、処理部80と、を支持するとともにこれらの周囲を包囲する。ハウジング90は、例えば、軸方向に延在する円筒や角筒などの中空筒状の筒状部90bを含む。筒状部90bの軸方向の両端部に中空部分を覆う側壁90c、90dが設けられている。モータ1側の側壁90cには、主軸1aが通るための軸孔が設けられる。ハウジング90は、例えば、種々の樹脂材料から形成することができる。
次に処理部80について説明する。図7に示す処理部80の各ブロックは、ハードウエア的には、コンピュータのCPU(Central Processing Unit)をはじめとする素子や機械装置で実現でき、ソフトウエア的にはコンピュータプログラム等によって実現されるが、ここでは、それらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックはハードウエア、ソフトウエアの組合せによっていろいろなかたちで実現できることは、本明細書に触れた当業者には理解されるところである。
処理部80は、撮像結果取得部80bと、回転角特定部80cと、関係テーブル80fと、第1回転数特定部80sと、第2回転数特定部80mと、回転量特定部80eと、出力部80dと、を含む。処理部80は、ひとつまたはICチップ上に集積されてもよい。このICチップは、基板72dの撮像素子72bと同じ面に固定されてもよい。処理部80は、基板72dの撮像素子72bとは反対側の面に固定されてもよい。処理部80と撮像素子72bとは一体のパッケージ内に埋め込まれてもよい。処理部80と撮像素子72bとは、一体のICチップ内に集積されてもよい。
撮像結果取得部80bは、撮像部72からその撮像結果72eを取得し、画像情報80jとして回転角特定部80cに出力する。回転角特定部80cは、画像情報80jに応じて各回転体の回転角を特定する。特に、回転角特定部80cは、関係テーブル80fを参照して、画像情報80jに応じて、第1回転体62bの回転角θsと、第2回転体62eの回転角θmと、第3回転体62fの回転角θhを特定する。処理部80において、回転角θs、θm、θhは数値として扱われる。回転角θs、θm、θhを総括するときは、各回転角という。
関係テーブル80fは、撮像素子72bの各画素のY軸方向位置及びZ軸方向位置と各回転角との対応関係をテーブル化して内蔵している。回転角特定部80cは、各回転体の棒状体の先端部のエッジに対応する画素のY軸方向位置及びZ軸方向位置をキーとして関係テーブル80fを参照してテーブル処理により、各回転角を特定することができる。
第1回転数特定部80sは、回転角θs、θmに応じて第1回転体62bの回転数Rsを特定する。第2回転数特定部80mは、回転角θm、θhに応じて第2回転体62eの回転数Rmを特定する。回転量特定部80eは、特定された回転数Rs、Rmと回転角θsとに応じて第1回転体62bの複数回転にわたる回転量θaを特定する。回転量θaは、式15によって特定することができる。
(式15)・・θa=360×(Rm/K1+Rs)+θs
出力部80dは、特定された回転量θaを所望の形式の出力信号80aに変換して出力する。
次に、このように構成された第2実施形態に係る角度検出装置200の動作を説明する。図9は、角度検出装置200の動作の一例を示すフローチャートである。図9は、撮像結果72eから主軸1aの回転量を特定して出力信号80aとして出力する処理S140を示している。
処理S140を開始したら、処理部80は、各回転体を一体に撮像するように撮像部72を制御する(ステップS142)。
各回転体を撮像したら、処理部80は、撮像結果取得部80bにより撮像部72から撮像結果72eを取得する(ステップS144)。
撮像結果72eを取得したら、処理部80は、回転角特定部80cにより、画像情報80jから各回転体の回転角を特定する(ステップS146)。
各回転角を特定したら、処理部80は、第1回転数特定部80sにより、回転角θs、θmに応じて第1回転体62bの回転数Rsを特定する(ステップS148)。
回転数Rsを特定したら、処理部80は、第2回転数特定部80mにより、回転角θm、θhに応じて第2回転体62eの回転数Rmを特定する(ステップS150)。
ステップS148の処理には、第1実施形態で説明した第1回転数特定処理である処理S100を適用することができる。ステップS150の処理には、第1実施形態で説明した第2回転数特定処理である処理S120を適用することができる。これらを適用する場合、第1回転体20を第1回転体62bと、第2回転体22を第2回転体62eと、第3回転体24を第3回転体62fと、第1減速比G1(=1/60)を第1減速比K1(=1/16)と、第2減速比G2(=1/12)を第2減速比K2(=1/16)と、読み替える。
回転数Rmを特定したら、処理部80は、回転量特定部80eにより、第1回転体62bの回転量θaを特定する(ステップS152)。
回転量θaを特定したら、処理部80は、出力部80dにより、回転量θaを出力信号80aに変換して出力する(ステップS154)。
ステップS154を実行したら、処理部80は、処理をステップS142の先頭に戻し、ステップS142〜S154を繰り返す。なお、この処理S140はあくまでも一例であり、他のステップを追加したり、一部のステップを削除したり、ステップの順序を変更したりすることも可能である。
このように構成された第2実施形態に係る角度検出装置200は、第1実施形態と同様の作用・効果を奏する。加えて、角度検出装置200は以下の作用・効果を奏する。
第2実施形態に係る角度検出装置200は、第1回転体62bと、第1回転体62bの回転に従って第1減速比K1で減速回転する第2回転体62eと、第1回転体62bおよび第2回転体62eを一体に撮像する撮像部72と、撮像部72の撮像結果72eに応じて第1回転体62bの回転角θsおよび第2回転体62eの回転角θmを特定するとともに、特定された第1回転体62bの回転角θsと、第1減速比K1と、特定された回転角θmと、に応じて回転数Rsを特定する処理部80と、を備え、処理部80は、特定された第1回転体62bの回転角および第1減速比K1に応じて決定される数値である下限値および上限値と、特定された第2回転体62eの回転角θmと、に応じて回転数Rsを特定するための特定条件を動的に変化させながら回転数Rsを特定する。この構成によれば、撮像結果72eに応じて回転数Rsが特定されるので、部品点数を削減することができ、構造を簡略化することができる。角度検出装置200では、回転角θmが境界値の近傍である場合に、回転数Rsの特定結果の変動を抑制することができる。このため、角度検出装置200では、回転数Rsの検出精度を高めることが可能であり、外力、振動、バックラッシュなどの外乱への耐性を高めることができる。角度検出装置200では、第1回転体62b及び第2回転体62eの取り付け誤差の許容範囲が広く、その分製造が容易になる。
上述した各実施形態と変形例の任意の組み合わせもまた本発明の実施形態として有用である。組み合わせによって生じる新たな実施形態は、組み合わされる実施形態および変形例それぞれの効果をあわせもつ。