以下、発明を実施するための形態(以下、実施形態という)につき図面を参照しつつ詳細に説明する。なお、下記の実施形態により本発明が限定されるものではない。また、下記実施形態における構成要素には、当業者が容易に想定できるもの、実質的に同一のもの、いわゆる均等の範囲のものが含まれる。さらに、下記実施形態で開示した構成要素は適宜組み合わせることが可能である。
(実施形態1)
図1は、実施形態1に係るケーブル巻取システムの使用例を説明するための説明図である。図2は、実施形態1に係るケーブル巻取システムの構成を説明するための説明図である。図3は、実施形態1に係るモータ制御システムを説明するための説明図である。図4は、図2に示す回転体の各磁気トラックを説明するための説明図である。図5は、図2に示す回転体の各磁気トラックの他の例を示す図である。図1に示すように、実施形態1に係るケーブル巻取システム1は、モータ制御システム1000と、ケーブル91とを備える。ケーブル巻取システム1の使用例としては、図1に、ケーブルトレーニングマシンを例示する。ケーブルトレーニングマシンは、操作者が操作する操作部92と、滑車93、滑車94と、ケーブル巻取システム1を備える。
図2に示すように、ケーブル巻取システム1は、モータMと、モータMの回転と同期して回転し、かつ磁気トラック2を有する回転体100と、回転検出装置200と、モータ駆動回路300と、上位制御装置500と、を備える。回転体100には、ケーブル91が巻き付いている。
図3、図4及び図5に示すように、実施形態1において、磁気トラック2(図2参照)は、第1磁気トラック2A及び第2磁気トラック2Bを有する。回転検出装置200は、第1検出器200Aと、第2検出器200Bとを有する。このように、図3に示すモータ制御システム1000は、モータMと、モータMの回転と同期して回転し、かつ第1磁気トラック2A及び第2磁気トラック2Bを有する回転体100と、第1検出器200Aと、第2検出器200Bと、モータ駆動回路300と、上位制御装置500と、報知部600とを備える。第1検出器200Aは、第1磁気センサ3Aと、第2磁気センサ3Bと、第1位相検出部5Aと、第2位相検出部5Bと、位相差検出部6と、角度算出部7と、信号生成部8と、記憶部10と、第1出力ポートP1Aとを備える。また、信号生成部8は、第1信号生成部8Aを有する。
第2検出器200Bは、第1磁気センサ3Aと、第2磁気センサ3Bと、第1位相検出部5Aと、第2位相検出部5Bと、位相差検出部6と、角度算出部7と、信号生成部8と、記憶部10と、第1出力ポートP1Bとを備える。また、信号生成部8は、第1信号生成部8Aを有する。以下、本実施形態は、第1検出器200Aについて、説明するが、第2検出器200Bについては、第1検出器200Aと同じ構成であるので、同じ構成には同じ符号を用いて詳細な説明は、適宜省略する。
モータ駆動回路300は、モータ指令値算出部503のモータ指令値に応じて、モータMを駆動する。
モータMは、駆動対象である回転体100に直接回転力を伝達する装置であり、例えばダイレクトドライブ(以下、DD)モータである。DDモータは、駆動対象に直接回転力を伝達するため、摩擦損失が少なく回転効率を高めることができる。モータMは、回転軸Xを中心に、回転体100を回転させる。
上位制御装置500は、コンピュータであり、例えば、CPUと、ROMと、RAMと、内部記憶部と、入力インターフェースと、出力インターフェースと、を含んでいる。CPU、ROM、RAM及び記憶部505は、内部バスで接続されている。ROMには、BIOS等のプログラムが記憶されている。CPUは、演算手段であり、RAMをワークエリアとして使用しながらROMや記憶部505に記憶されているプログラムを実行することにより、図3に示す回転算出部501、角度比較部502、モータ指令値算出部503、自己診断部504、状態検出部511、トルク算出部512及びトルク制御部513を含む種々の機能を実現する。
報知部600は、表示パネルへの表示、光、音、振動の少なくとも1つにより、異常を報知する。報知部600は、例えば、電子ブザー、発光ダイオード、振動モータのいずれか1つを備える。
本実施形態において、第1検出器200Aは、例えば、1つのICチップに集積化されている。これにより、モータ制御システム1000を構成する部品点数の低減、第1磁気センサ3Aと第2磁気センサ3Bとの間の位置精度の向上、製造コストや組立コストの低減等を図ることができ、小型且つ安価なモータ制御システム1000を実現可能である。なお、例えば記憶部10は、第1検出器200Aの外部にあってもよい。これにより、第1検出器200Aの更なる小型化及び低コスト化を実現することができる。第2検出器200Bについては、第1検出器200Aと同じである。
図6は、実施形態1に係る磁気トラックに対する第1検出器及び第2検出器の配置例を示す図である。図7は、実施形態1に係るモータ制御システムの図6に示すIIV−IIV断面図である。図8は、実施形態1に係るモータ制御システムの各磁気センサを説明するための説明図である。
図4に示すように、実施形態1の回転体100は、N極とS極とからなる磁極対2A1が等間隔に並ぶ第1磁気トラック2Aと、磁極対2B1が等間隔に並ぶ第2磁気トラック2Bとが、回転体100の回転軸Xを軸心とする同心のリング状に、径方向に並び設けられている。実施形態1の第1磁気トラック2A及び第2磁気トラック2Bは、例えば回転体100の軸方向の一方の端面にある硬磁性体が、周方向に等間隔でN極及びS極に交互に着磁されることで得られる。具体的に、第1磁気トラック2A及び第2磁気トラック2Bは、例えば図に網がけしてある部分がN極、網がけのない部分がS極といったように、周方向に異なる磁極が交互に等間隔で配されている。図4に示す例において、第1磁気トラック2Aは、12対の磁極対2A1を有している。また、第2磁気トラック2Bは、8対の磁極対2B1を有している。
なお、本実施形態において、第1磁気トラック2Aの磁極対2A1の数と第2磁気トラック2Bの磁極対2B1の数との関係は、図4に示す例に限るものではない。図5に示すように、第1磁気トラック2Aは、32対の磁極対2A1を有していてもよい。また、第2磁気トラック2Bは、31対の磁極対2B1を有していてもよい。すなわち、第1磁気トラック2Aの磁極対2A1の数をP(Pは自然数)としたとき、第2磁気トラック2Bの磁極対2B1の数はP−1となっていてもよい。また、図示しないが、第1磁気トラック2Aの磁極対2A1の数をPとしたとき、第2磁気トラック2Bの磁極対2B1の数はP+1となっていてもよい。第1磁気トラック2Aの磁極対2A1の数がPであり、第2磁気トラック2Bの磁極対2B1の数がP−1(又は、P+1)の場合、回転体100におけるA点の数は1つとなる。
回転体100の端面にある硬磁性体は、必要な磁束密度に応じて、例えば、ネオジム磁石、フェライト磁石、サマリウムコバルト磁石等から構成することが可能である。なお、回転体100自体が硬磁性体であってもよい。
本実施形態では、第1磁気トラック2A及び第2磁気トラック2Bが回転体100の軸方向の一方の端面にあるアキシャル型の構成としている。このような構成とすることで、モータ制御システム1000を軸方向に薄くすることができ、また、中空穴を大きくすることができる。これにより、例えば、内輪回転型や外輪回転型の軸受に適用する、あるいは、中空穴に機器のケーブルを配線する構造に適用することが容易となる。モータ制御システム1000を適用する機器の設計の自由度を高めることができる。
図6及び図7に示すように、実施形態1の第1検出器200Aは、磁気トラック2が設けられた回転体100とギャップを介してアキシャル方向に対向して設けられている。磁気トラック2は、第1磁気トラック2A及び第2磁気トラック2Bを有している。第2検出器200Bは、第1検出器200Aとは異なる位置で、回転体100とギャップを介してアキシャル方向に対向して設けられている。より具体的には、第1検出器200Aの第1磁気センサ3Aは、第1磁気トラック2Aに対向し、第1磁気トラック2Aの磁界を検知する。第1検出器200Aの第2磁気センサ3Bは、第2磁気トラック2Bに対向し、第2磁気トラック2Bの磁界を検知する。第1検出器200Aは、回転体100とは同期回転しない、図2に示す回転検出装置200の位置(固定部位)に設けられている。
図8に示すように、第1磁気センサ3Aは、2つの磁気センサ素子3A1、3A2を備える。磁気センサ素子3A1、3A2は、第1磁気トラック2Aの1つの磁極対2A1のピッチを1周期として、電気角で90°の位相差を有するように、磁極対2A1の並び方向に離して配置されている。また、第2磁気センサ3Bは、2つの磁気センサ素子3B1、3B2を備える。磁気センサ素子3B1、3B2は、第2磁気トラック2Bの1つの磁極対2B1のピッチを1周期として、電気角で90°の位相差を有するように、磁極対2B1の並び方向に離して配置されている。
磁気センサ素子3A1、3A2及び磁気センサ素子3B1、3B2としては、例えば、ホール素子、磁気抵抗効果(MR(Magneto Resistance effect))センサなどの磁気センサ素子を用いることができる。磁気抵抗効果センサとしては、AMR(Anisotropic Magneto Resistance)素子、GMR(Giant Magneto Resistance)センサ、TMR(Tunnel Magneto Resistance)センサなどを用いることができる。
第1磁気センサ3Aは、磁極対2A1内の位相に応じた正弦波の信号である第1sin信号sinθ1及び磁極対2A1内の位相に応じた余弦波の信号である第1cos信号cosθ1を出力する。また、第2磁気センサ3Bは、磁極対2B1内の位相に応じた正弦波の信号である第2sin信号sinθ2及び磁極対2B1内の位相に応じた余弦波の信号である第2cos信号cosθ2を出力する。
図3に示すように、第1磁気センサ3Aから出力された第1sin信号sinθ1及び第1cos信号cosθ1は、第1位相検出部5Aに入力される。また、第2磁気センサ3Bから出力された第2sin信号sinθ2及び第2cos信号cosθ2は、第2位相検出部5Bに入力される。
図9は、実施形態1に係るモータ制御システムの各部波形例を示す図である。図9の(a)は、第1磁気トラック2Aの磁極パターンを示している。図9の(b)は、第2磁気トラック2Bの磁極パターンの一例を示している。図9の(c)は、磁気センサ素子3A1から第1位相検出部5Aに入力される第1sin信号sinθ1の波形を示している。図9の(d)は、磁気センサ素子3A2から第1位相検出部5Aに入力される第1cos信号cosθ1の波形を示している。図9の(e)は、磁気センサ素子3B1から第2位相検出部5Bに入力される第2sin信号sinθ2の波形を示している。図9の(f)は、磁気センサ素子3B2から第2位相検出部5Bに入力される第2cos信号cosθ2の波形を示している。図9の(g)は、第1位相検出部5Aから出力される検出位相信号の波形を示している。図9の(h)は、第2位相検出部5Bから出力される検出位相信号の波形を示している。図9の(i)は、位相差検出部6から出力される位相差信号の波形を示している。
図9に示す例では、第1磁気トラック2Aの3つの磁極対2A1からなるa点からb点の区間に対し、第2磁気トラック2Bの2つの磁極対2B1が対応している。すなわち、a点とb点とで、第1磁気センサ3Aの検出信号の位相と第2磁気センサ3Bの検出信号の位相とが一致する。この場合、a点を基準としたb点までの任意位置における絶対角度を検出することができる。このように、第1磁気センサ3Aの検出信号の位相と第2磁気センサ3Bの検出信号の位相とが一致する2点間の絶対角度を検出することができる。
図4に示した例では、第1磁気トラック2Aの磁極対2A1の数を12、第2磁気トラック2Bの磁極対2B1の数を8とし、A点において第1磁気トラック2Aの磁極位相と第2磁気トラック2Bの磁極位相とが一致している。図4において、回転体100におけるA点の数は4つある。回転体100の周方向で隣り合う一対のA点間が、図9及び図10に示すa点からb点までの区間に相当する。第1検出器200Aは、第1磁気センサ3Aの検出信号の位相と第2磁気センサ3Bの検出信号の位相とが一致するA点を原点位置として、回転体100の絶対角度を検出することができる。また、第1検出器200Aは、回転体100が90°回転する毎にA点を1回検出する。第1検出器200Aは、A点の検出数をカウントすることで、回転体100の絶対角度を90°以上の範囲でも検出することができる。
また、図5に示した例では、第1磁気トラック2Aの磁極対2A1の数を32(P=32)、第2磁気トラック2Bの磁極対2B1の数を31(P−1=31)とし、A点において第1磁気トラック2Aの磁極位相と第2磁気トラック2Bの磁極位相とが一致している。図5に示す例では、第1検出器200Aは、第1磁気センサ3Aの検出信号の位相と第2磁気センサ3Bの検出信号の位相とが一致するA点を原点位置として、回転体100の全周における絶対角度を検出することができる。また、第1検出器200Aは、回転体100が360°回転する毎にA点を1回検出する。第1検出器200Aは、A点の検出数をカウントすることで、回転体100の絶対角度を360°以上の範囲でも検出することができる。
第1位相検出部5Aは、図9の(c)(d)に例示した入力信号に基づき、図9の(g)に例示した検出位相信号を出力する。具体的には、第1位相検出部5Aは、第1sin信号sinθ1及び第1cos信号cosθ1から磁極対2A1内の位相(θ1=arctan(sinθ1/cosθ1))を算出する。これにより、温度ドリフトの影響が小さくなり、検出精度が向上する。第2位相検出部5Bは、図9の(e)(f)に例示した入力信号に基づき、図9の(h)に例示した検出位相信号を出力する。具体的には、第2位相検出部5Bは、第2sin信号sinθ2及び第2cos信号cosθ2から磁極対2B1内の位相(θ2=arctan(sinθ2/cosθ2))を算出する。これにより、温度ドリフトの影響が小さくなり、検出精度が向上する。
位相差検出部6は、第1位相検出部5A及び第2位相検出部5Bから出力された各検出位相信号に基づき、図9の(i)に例示した位相差信号を出力する。
角度算出部7は、位相差検出部6で求められた位相差を、予め設定された計算パラメータに従い絶対角度へ換算する処理を行う。角度算出部7で用いられる計算パラメータは、記憶部10に記憶されている。
第1信号生成部8Aは、角度算出部7が出力する絶対角度の情報を、第1出力ポートP1Aを介して上位制御装置500に出力する。図10は、シリアル信号の送信形態を説明するための説明図である。第1信号は、図10に示すようなシリアル信号である。シリアル信号SA、SBには、角度算出部7が出力する絶対角度の情報が含まれている。シリアル信号SCには、モータ制御システム1000に対して、原点であるA点(図4、図5参照)などのステータスに関する情報が含まれている。また、シリアル信号SDには、ビットチェック用の情報が含まれている。
記憶部10には、角度算出部7で用いられる計算パラメータの他に、第1磁気トラック2Aの磁極対2A1の数、第2磁気トラック2Bの磁極対2B1の数、絶対角度基準位置等、モータ制御システム1000の動作に必要な情報が記憶されている。記憶部10としては、例えば、不揮発性メモリが例示される。なお、記憶部10に記憶された計算パラメータや、モータ制御システム1000の動作に必要な情報は、例えば、後述の上位制御装置500から更新可能な構成としてもよい。これにより、モータ制御システム1000の使用状況に応じた設定が可能となる。
図11は、実施形態1に係るケーブル巻取システムにおけるケーブルの繰り出し及び巻取りを説明するためのフローチャートである。図12は、ケーブルを繰り出す場合の電流、回転数及びトルクの特性を説明するための説明図である。図13は、ケーブルを繰り出す場合のケーブル長さと繰り出し時間との関係を説明するための説明図である。図14は、ケーブルを巻き取る場合のケーブル長さと巻取り時間との関係を説明するための説明図である。図15は、ケーブルを巻き取る場合の回転体の回転数と巻取り時間との関係を説明するための説明図である。以下、図1、図2、図3及び図11を参照しつつケーブル巻取システム1におけるケーブルの繰り出し及び巻取りを説明する。
図11に示すように、上位制御装置500において、トルク制御部513は、記憶部505に記憶された制御条件の読み出しを行う(ステップST101)。本実施形態において、制御条件は、予め記憶されている、モータMの最大回転速度RSL(図15参照)、絶対回転角度の最大許容偏差LA(図13参照)、トルク制御時の基準トルクTC(図12)等である。絶対回転角度の最大許容偏差は、ケーブル91が繰り出し方向Fに繰り出された場合に、最大で許容できる引き出し距離をモータMの回転体100の絶対角度に換算した値である。
次に、状態検出部511は、回転検出装置200からの回転角度の情報及びモータ駆動回路300で検知したモータMの電流Iの情報を検出する第1状態検出を開始する(ステップST102)。このとき、回転検出装置200からの最初に状態を検出した絶対回転角度が基準絶対回転角度L0である。
トルク算出部512は、回転検出装置200からの回転角度の情報及びモータ駆動回路300で検知したモータMの電流Iの情報と、記憶部505に記憶された図12に示す電流、回転数及びトルクの特性に基づいて、回転体100に加わるトルクを算出する。例えば、図12のトルク特性によれば、回転検出装置200からの回転角度の情報、モータ駆動回路300で検知したモータMの電流Iの情報から、実際のトルクが基準トルクTCとなるように、トルク制御される。図12において、回転数N1の場合のトルクがトルクTIである。また、回転数N2の場合のトルクが基準トルクTCである。同様に、回転数N3の場合のトルクがトルクTEである。
トルク制御部513は、実際のトルクがトルクTCよりもトルクTI側にある場合は、トルクを小さくする算出値をモータ指令値算出部50へ伝達する。この算出値に応じて、モータ指令値算出部503は、実際のトルクが基準トルクTCとなるように、モータ指令値を算出し、モータ駆動回路300を駆動して、回転体100の回転を制動する。
トルク制御部513は、実際のトルクがトルクTCよりもトルクTE側にある場合は、トルクを大きくする算出値をモータ指令値算出部50へ伝達する。この算出値に応じて、モータ指令値算出部503は、実際のトルクが基準トルクTCとなるように、モータ指令値を算出し、モータ駆動回路300を駆動して、回転体100の回転を制動する。
これにより、操作者が予め、基準トルクTCを設定し、記憶部505に記憶しておけば、ケーブル91が基準トルクTCで制動されつつ、繰り出される。その結果、操作者は、所望の基準トルクTC近傍の負荷を感じながらケーブルトレーニングをすることができる。
一方、回転算出部501は、回転体100の回転角度と、回転体100の回転回数とから、ケーブル91が繰り出し方向Fに繰り出された引き出し距離に相当する絶対回転角度Lを算出する。絶対回転角度Lは、基準絶対回転角度L0からの偏差である。絶対回転角度Lが最大許容偏差LAに達していない場合(ステップST103、No)、第1状態検出を継続する(ステップST103)。ここで、最大許容偏差LAは、図1に示すケーブル巻取システム1において、操作者がケーブル91を繰り出し方向Fに繰り出すにあたり、目標とする引き出し距離である。
絶対回転角度Lが最大許容偏差LAである場合(ステップST106、Yes)、回転算出部501は、処理をステップST104へ進める。
操作者は、図13に示す時間tAにおいて目標とする分(最大許容偏差LA)だけ、ケーブル91を繰り出し方向Fに繰り出しているので、操作部92から手を離した状態になる。
そこで、モータ指令値算出部503は、図1に示す巻取り方向Bにケーブル91が移動するように、回転体100の巻取り回転を開始する。
次に、状態検出部511は、回転検出装置200からの回転角度の情報及びモータ駆動回路300で検知したモータMの電流Iの情報を検出する第2状態検出を開始する(ステップST104)。状態検出部511は、回転検出装置200からの回転速度RSの情報を検出する。
具体的には、回転算出部501は、回転体100の回転速度RSを算出する。回転算出部501は、回転体100の回転速度RSが予め記憶部505に記憶されたモータMの最大回転速度RSLを超えないように、第2状態検出を継続する。
回転算出部501は、回転体100の回転速度RSが予め記憶部505に記憶された最大制限値の回転速度RSLを超えると、モータ指令値算出部503は、回転体100の回転速度RSがモータMの最大回転速度RSLとなるように、モータ指令値を算出し、モータ駆動回路300を駆動して、回転体100の回転を制動する。
一方、回転算出部501は、回転体100の回転角度と、回転体100の回転回数とから、ケーブル91が図1に示す巻取り方向Bに巻き取られた巻取り距離に相当する絶対回転角度Lを算出する。図14に示す絶対回転角度Lと基準絶対回転角度L0との偏差が0に達していない場合(ステップST105、No)、回転算出部501は、第2状態検出(ステップST104)を継続する。時間tBにおいて、絶対回転角度Lと基準絶対回転角度L0との偏差が0となると、処理が終了する。
以上、説明したように、ケーブル巻取システム1は、ケーブル91の巻取りにおいて、回転体100の回転速度を最大回転速度RSLに制限している。これにより、操作者にケーブル91の巻取り速度が一定であるように認識させ、ケーブル巻取り時の挙動を安定させることができる。
図16は、実施形態1に係るモータ制御システムにおける異常処理を説明するためのフローチャートである。図17は、実施形態1のモータ制御システムにおいて、第1検出器及び第1検出器の自己診断を説明するための説明図である。図16に示すように、モータ制御システム1000は、第1検出器200Aが検出した第1回転角度、第2検出器200Bが検出した第2回転角度を算出する(ステップST11)。
具体的には、図3に示す回転算出部501は、第1信号生成部8Aからの第1信号を復号し、第1検出器200Aが検出した回転体100の絶対角度を第1回転角度として記憶部505に記憶する。同様に、図3に示す回転算出部501は、第1信号生成部8Aからの第1信号を復号し、第2検出器200Bが検出した回転体100の絶対角度を第2回転角度として記憶部505に記憶する。
角度比較部502は、記憶部505に記憶された第1回転角度と、第2回転角度との角度差Δθを算出する(ステップST12)。例えば、図6に示すように、回転軸Xの周りに、第1検出器200Aと、第2検出器200Bとが機械角で180°の関係で配置されている場合、角度差Δθが理想的には絶対角度180°になる。しかしながら、角度差Δθには、第1磁気トラック2A、第2磁気トラック2Bに対する第1磁気センサ3A、第2磁気センサ3Bの物理的な位置の誤差、回転体100の偏心等によって検出値に誤差などが含まれることが考えられる。
そこで、図17に示すように、自己診断部504において、角度差Δθと、上限閾値Th1又は下限閾値Th2とを比較し監視する。上限閾値Th1及び下限閾値Th2は、記憶部505に予め記憶されている。角度差Δθが、上限閾値Th1又は下限閾値Th2を超えない場合、自己診断部504は、角度差Δθと、上限閾値Th1又は下限閾値Th2との比較を継続する(ステップST13、No)。
角度差Δθが、上限閾値Th1又は下限閾値Th2を超える場合、自己診断部504は、処理をステップST14に進める(ステップST13、Yes)。
モータ制御システム1000は、異常処理を実行する(ステップST14)。自己診断部504は、異常処理として、異常情報を報知部600に出力し、報知部600が、表示パネルへの表示、光、音、振動の少なくとも1つにより、異常を報知する。
又は、自己診断部504は、異常処理として、異常情報をモータ指令値算出部503へ出力し、モータ指令値算出部503がモータMの回転速度又は回転トルクを徐々に低下させるようにモータ指令値を出力する。その結果、モータMは、回転を停止する。さらに、自己診断部504は、異常処理として、異常情報を報知部600に出力し、報知部600が、表示パネルへの表示、光、音、振動の少なくとも1つにより、異常を報知するようにしてもよい。
あるいは、自己診断部504は、異常処理として、異常情報をモータ指令値算出部503へ出力し、モータ指令値算出部503が所定の回転工程が終了した後、モータMの回転速度又は回転トルクを徐々に低下させるようにモータ指令値を出力する。その結果、モータMは、回転を停止する。さらに、自己診断部504は、異常処理として、異常情報を報知部600に出力し、報知部600が、表示パネルへの表示、光、音、振動の少なくとも1つにより、異常を報知するようにしてもよい。
実施形態1のモータ制御システム1000において、ケーブル91が繰り出される場合、上位制御装置500は、回転体100のトルクが基準トルクTCとなるように、モータ駆動回路300を制御する。そして、回転体100の絶対回転角度Lが、最大で許容できる引き出し距離に相当する絶対角度LAになるまで回転体100が回転すると、上位制御装置500は、ケーブル91を回転体100に巻き取るように、モータ駆動回路300を制御する。
これにより、重りを使用したケーブルの伸縮とは異なり、繰り出されたケーブルが巻き取りに切り替わる違和感を操作者に与えにくい。このため、ケーブル巻取り時の挙動が安定する。
ケーブル91が巻き取られる場合において、上位制御装置500は、回転体100の回転速度を予め設定された最大回転速度RSLになるように、モータ駆動回路300を制御する。これにより、操作者にケーブルの巻取り速度が一定であるように認識させ、ケーブル巻取り時の挙動を安定させることができる。その結果、ケーブル91が巻取り方向Bにケーブル91が移動している場合、回転速度RSに基づく制御により、操作者にとって、ケーブル91の安全性が向上する。
ケーブル巻取システム1において、ケーブル91が繰り出し方向Fに移動している場合、モータ制御システム1000の報知部600が、表示パネルへの表示、光、音、振動の少なくとも1つにより、異常を報知するとともに、ブレーキ機構(不図示)により、モータMをロックするようにしてもよい。これにより、回転検出装置200の故障に基づく、モータMの予測不能な挙動を抑制することができる。
あるいは、ケーブル巻取システム1において、ケーブル91が繰り出し方向Fに移動している場合、モータ制御システム1000の報知部600が、表示パネルへの表示、光、音、振動の少なくとも1つにより、異常を報知するとともに、モータMの回転速度又は回転トルクを徐々に低下させるようにしてもよい。これにより、回転検出装置200の故障に基づく、モータMの予測不能な挙動を抑制することができる。
(実施形態2)
図18は、実施形態2に係るモータ制御システムを説明するための説明図である。上述した実施形態と同じ構成要素には、同じ符号を付して、説明を省略する。図18に示すように、実施形態2に係るモータ制御システム1000は、モータMと、回転体100と、第1検出器200Aと、第2検出器200Bと、モータ駆動回路300と、信号処理部400と、上位制御装置500と、報知部600とを備える。実施形態2において、上位制御装置500には、実施形態1の角度比較部502がなく、角度比較部41が信号処理部400にある。
信号処理部400は、信号生成部8及び角度比較部41を備える。信号処理部400が信号生成部8を備えているので、実施形態2の第1検出器200A及び第2検出器200Bには、信号生成部8がない。
角度比較部41は、第1検出器200Aの角度算出部7からの第1回転角度と、第2検出器200Bの角度算出部7からの第2回転角度との角度差Δθと、図17に示す、上限閾値Th1又は下限閾値Th2とを比較する。角度差Δθが、上限閾値Th1又は下限閾値Th2を超えない場合、自己診断情報Datとして正常の情報を信号生成部8に出力する。角度差Δθが、上限閾値Th1又は下限閾値Th2を超える場合、自己診断情報Datとして異常の情報を信号生成部8に出力する。
信号生成部8において、第1信号生成部8Aが、第1検出器200Aの角度算出部7が出力する絶対角度の情報を、図10に示すシリアル信号SA、SBにする。信号生成部8は、自己診断情報Datの情報を図10に示すシリアル信号SCに含むように変換する。信号生成部8は、第1出力ポートP1Aを介して上位制御装置500に出力する。
図19は、実施形態2に係るモータ制御システムにおける異常処理を説明するためのフローチャートである。図19に示すように、自己診断部504において、シリアル信号の自己診断情報に異常のステータス情報がない場合、自己診断部504は、シリアル信号の監視を継続する(ステップST21、No)。実施形態2において、シリアル信号の自己診断情報に異常のステータス情報がない場合とは、正常の情報がある場合である。
図19に示すように、自己診断部504において、シリアル信号の自己診断情報に異常のステータス情報がある場合、自己診断部504は、処理をステップST22に進める(ステップST21、Yes)。
モータ制御システム1000は、異常処理を実行する(ステップST22)。異常処理の内容は、実施形態1と同様であるので、詳細な説明を省略する。
実施形態2のモータ制御システム1000は、シリアル信号の自己診断情報における異常のステータス情報の有無で、異常処理を実行できる。これにより、上位制御装置500の演算負荷が小さくなり、第1検出器200A又は第2検出器200Bの異常時に、異常処理の開始遅延の時間を短くすることができる。
(実施形態3)
図20は、実施形態3に係るモータ制御システムを説明するための説明図である。上述した実施形態と同じ構成要素には、同じ符号を付して、説明を省略する。図20に示すように、実施形態3に係るモータ制御システム1000は、モータMと、回転体100と、第1検出器200Aと、第2検出器200Bと、モータ駆動回路300と、信号処理部400と、上位制御装置500と、報知部600とを備える。実施形態3において、上位制御装置500には、実施形態1の角度比較部502がなく、第1信号の角度比較部42及び第2信号の角度比較部44が信号処理部400にある。
実施形態3において、第1検出器200A及び第2検出器200Bの信号生成部8は、それぞれ、第1信号生成部8Aと、第2信号生成部8Bとを備える。
図21は、実施形態3に係る実施形態3に係るモータ制御システムの各部波形例を示す図である。図21の(a)は、第1磁気トラック2Aの磁極パターンを示している。図21の(b)は、第2磁気トラック2Bの磁極パターンの一例を示している。図21の(c)は、磁気センサ素子3A1から第1位相検出部5Aに入力される第1sin信号sinθ1の波形を示している。図21の(d)は、磁気センサ素子3A2から第1位相検出部5Aに入力される第1cos信号cosθ1の波形を示している。図21の(e)は、磁気センサ素子3B1から第2位相検出部5Bに入力される第2sin信号sinθ2の波形を示している。図21の(f)は、磁気センサ素子3B2から第2位相検出部5Bに入力される第2cos信号cosθ2の波形を示している。図21の(g)は、第1位相検出部5Aから出力される検出位相信号の波形を示している。図21の(h)は、第2位相検出部5Bから出力される検出位相信号の波形を示している。図21の(i)は、位相差検出部6から出力される位相差信号の波形を示している。
図21の(j)は、第1sin信号sinθ1を、H(正)又はL(負)で2値化したA相(θ1)信号のパルス波形を示している。図21の(k)は、第1cos信号cosθ1を、H(正)又はL(負)で2値化したB相(θ1)信号のパルス波形を示している。図21の(l)は、Z相(θ1)信号のパルス波形を示している。Z相(θ1)信号は、位相差信号が示す位相差がゼロとなるタイミングでH(正)となり、B相(θ1)信号が立ち下がるタイミングでL(負)となる。
図21の(m)は、A相(θ1)信号、B相(θ1)信号及びZ相(θ1)信号に対応するシリアル信号SAを示している。シリアル信号SAは、A相(θ1)信号、B相(θ1)信号及びZ相(θ1)信号のH、Lの組み合わせや、位相差信号が示す位相差の大きさに対応して、12通りのシリアル信号SA0からSA11を有する。A相(θ1)信号、B相(θ1)信号及びZ相(θ1)信号は第2信号生成部8Bで生成される。シリアル信号SA0からSA11は第1信号生成部8Aで生成される。シリアル信号SA0からSA11は、それぞれ4ビットのシリアルデータで構成される。
図21において、第1磁気トラック2Aの3つの磁極対2A1からなるa点からb点の区間に対し、第2磁気トラック2Bの2つの磁極対2B1が対応している。すなわち、a点とb点とで、第1磁気センサ3Aの検出信号の位相と第2磁気センサ3Bの検出信号の位相とが一致する。この場合、a点を基準としたb点までの任意位置における絶対角度を検出することができる。このように、第1磁気センサ3Aの検出信号の位相と第2磁気センサ3Bの検出信号の位相とが一致する2点間の絶対角度を検出することができる。
第1位相検出部5A(図20参照)は、図21の(c)(d)に例示した入力信号に基づき、図21の(g)に例示した検出位相信号を出力する。具体的には、第1位相検出部5Aは、第1sin信号sinθ1及び第1cos信号cosθ1から磁極対2A1内の位相(θ1=arctan(sinθ1/cosθ1))を算出する。これにより、温度ドリフトの影響が小さくなり、検出精度が向上する。第2位相検出部5Bは、図21の(e)(f)に例示した入力信号に基づき、図21の(h)に例示した検出位相信号を出力する。具体的には、第2位相検出部5Bは、第2sin信号sinθ2及び第2cos信号cosθ2から磁極対2B1内の位相(θ2=arctan(sinθ2/cosθ2))を算出する。これにより、温度ドリフトの影響が小さくなり、検出精度が向上する。
位相差検出部6(図20参照)は、第1位相検出部5A及び第2位相検出部5Bから出力された各検出位相信号に基づき、図21の(i)に例示した位相差信号を出力する。
角度算出部7は、位相差検出部6で求められた位相差を、予め設定された計算パラメータに従い絶対角度へ換算する処理を行う。角度算出部7で用いられる計算パラメータは、記憶部10に記憶されている。
上述したように、図20に示すように、信号生成部8は、第1信号生成部8Aと、第2信号生成部8Bとを有する。第2信号生成部8Bは、角度算出部7で算出された絶対角度に関する情報(以下、「絶対角度情報」とも言う)として、例えば、互いに90度位相の異なるA相信号及びB相信号と、原点位置を示すZ相信号とで構成されるABZ信号を生成する。そして、第2信号生成部8Bは、生成したABZ信号をそれぞれ出力する。
第1信号生成部8Aは、図9の(m)に示したシリアル信号SA0からSA11を、第1出力ポートP1A、P1Bを介して信号処理部400の第3信号生成部45及び第1信号の角度比較部42に出力する。本実施形態では、シリアル信号が第1信号である。
第2信号生成部8Bは、図21に示したA相(θ1)信号、B相(θ1)信号及びZ相(θ1)信号を含むABZ信号を、第2出力ポートP2A、P2Bを介して信号処理部400のカウンタ43に出力する。本実施形態では、ABZ信号が第2信号である。
図22は、実施形態3に係るモータ制御システムの各部波形に基づいて生成されるABZ信号及びシリアル信号の例を示す図である。図22に示すように、シリアル信号SA0からSA11は、例えば、4bitのシリアルデータで構成される。図22のシリアルデータは、A相(θ1)及びB相(θ1)の立ち上がり、立ち下がりのタイミング毎にインクリメントされる。シリアルデータは、第1磁気センサ3A及び第2磁気センサ3Bが、原点であるA点(図4、図5参照)を検出してからの回転体100(図4、図5参照)の回転角度に対応している。図22に示すように、シリアルデータは、第1磁気センサ3A及び第2磁気センサ3Bが原点を検出するたびにゼロにリセットされる。図22のABZ信号は、A相(θ1)のH、Lのレベルと、B相(θ1)のH、Lのレベルと、Z相(θ1)のH、Lのレベルとの組み合わせで構成される。カウント値(m)は、A相(θ1)のH、Lのレベル、又は、B相(θ1)のH、Lのレベルが切り替わるタイミングをカウントした値である。カウント値(m)は、例えばカウンタ43が生成する。
図23は、実施形態3に係るモータ制御システムの各部波形例を示す図である。図23の(a)から(j)は、図21の(a)から(j)と同じ波形を示している。図23の(j)は、第1sin信号sinθ2を、H(正)又はL(負)で2値化したA相(θ2)信号のパルス波形を示している。図23の(k)は、第1cos信号cosθ2を、H(正)又はL(負)で2値化したB相(θ2)信号のパルス波形を示している。図23の(l)は、Z相(θ2)信号のパルス波形を示している。Z相(θ2)信号は、位相差信号が示す位相差がゼロとなるタイミングでH(正)となり、B相(θ2)信号が立ち下がるタイミングでL(負)となる。
図23の(m)は、A相(θ2)信号、B相(θ2)信号及びZ相(θ2)信号に対応するシリアル信号SBを示している。シリアル信号SBは、A相(θ2)信号、B相(θ2)信号及びZ相(θ2)信号のH、Lの組み合わせや、位相差信号が示す位相差の大きさに対応して、8通りのシリアル信号SB0からSB7を有する。A相(θ2)信号、B相(θ2)信号及びZ相(θ2)信号は第2信号生成部8Bで生成される。シリアル信号SB0からSB7は第1信号生成部8Aで生成される。シリアル信号SB0からSB7は、それぞれ4ビットのシリアルデータで構成される。
図24は、実施形態3に係るモータ制御システムの各部波形に基づいて生成されるABZ信号及びシリアル信号の例を示す図である。図24に示すように、シリアル信号SB0からSB7も、例えば、4bitのシリアルデータで構成される。図24のシリアルデータは、A相(θ2)及びB相(θ2)の立ち上がり、立ち下がりのタイミング毎にインクリメントされる。シリアルデータは、第1磁気センサ3A及び第2磁気センサ3Bが、原点であるA点(図4、図5参照)を検出してからの回転体100(図4、図5参照)の回転角度に対応している。図25に示すように、シリアルデータは、第1磁気センサ3A及び第2磁気センサ3Bが原点を検出するたびにゼロにリセットされる。図24のABZ信号は、A相(θ2)のH、Lのレベルと、B相(θ2)のH、Lのレベルと、Z相(θ2)のH、Lのレベルとの組み合わせで構成される。カウント値(m)は、A相(θ2)のH、Lのレベル、又は、B相(θ2)のH、Lのレベルが切り替わるタイミングをカウントした値である。カウント値(m)は、例えばカウンタ43が生成する。
図10に示すように、第1信号生成部8Aは、シリアル信号SA、SBに、シリアル信号SC、SDを添付して送信する。シリアル信号SCには、モータ制御システム1000のステータスに関する情報が含まれている。例えば、シリアル信号SCには、原点であるA点(図4、図5参照)の情報が含まれている。また、シリアル信号SDには、ビットチェック用の情報が含まれている。
第1信号の角度比較部42は、信号線を介して第1出力ポートP1A、P1Bに接続されている。このように、第1信号の角度比較部42には、第1出力ポートP1A、P1Bから出力されたシリアル信号が入力される。
また、第1信号の角度比較部42は、同一期間に入力されたシリアル信号に基づく、第1検出器200Aの角度算出部7からの第1回転角度と、第2検出器200Bの角度算出部7からの第2回転角度との角度差Δθと、図17に示す、上限閾値Th1又は下限閾値Th2とを比較する。角度差Δθが、上限閾値Th1又は下限閾値Th2を超えない場合、自己診断情報Dat1として正常の情報を第3信号生成部45に出力する。角度差Δθが、上限閾値Th1又は下限閾値Th2を超える場合、自己診断情報Dat1として異常の情報を第3信号生成部45に出力する。
カウンタ43には、第2出力ポートP2A、P2Bから出力されたABZ信号が入力される。カウンタ43は、入力されたABZ信号のZ相(θ1)信号(つまり、原点)を検出してカウントする。また、カウンタ43は、入力されたABZ信号について、A相(θ1)信号のLからHへの立ち上がりと、A相(θ1)信号のHからLへの立ち下がりと、B相(θ1)信号のLからHへの立ち上がりと、B相(θ1)信号のHからLへの立ち下がりとを検出してカウントする。
例えば、Z相(θ1)信号についてのカウント値をnとする。A相(θ1)信号及びB相(θ1)信号についてのカウント値をmとする。カウンタ43は、原点を検出するたびに、カウント値mをゼロにリセットする。カウンタ43が原点を検出してから次の原点を検出するまでの間、カウント値mは回転体100の回転角度に応じて段階的にカウントされる。このため、カウント値m、nは、回転体100の絶対角度情報を含む。カウンタ43は、カウント値m、nを2進数の信号に変換して、第2信号の角度比較部44に出力する。
また、第2信号の角度比較部44には、カウンタ43からABZ信号のカウント値m、nが入力される。第2信号の角度比較部44は、同一期間に入力されたカウント値m同士を比較して、カウント値mとが予め定められた相対関係と一致するか否かを判断する。例えば、図4に示したような第1磁気トラック2Aの磁極対2A1の数と第2磁気トラック2Bの磁極対2B1の数との関係にある場合、カウンタ43が生成したカウント値mとが一致する場合、自己診断情報Dat2として正常の情報を第3信号生成部45に出力する。また、図4に示したような第1磁気トラック2Aの磁極対2A1の数と第2磁気トラック2Bの磁極対2B1の数との関係にある場合、カウンタ43が生成したカウント値mとが一致しない場合、自己診断情報Dat2として異常の情報を第3信号生成部45に出力する。
第3信号生成部45は、自己診断情報Dat1、Dat2の情報をシリアル信号に含むように変換する。第3信号生成部45は、第3出力ポートP3を介して上位制御装置500に出力する。
図19に示すように、自己診断部504において、シリアル信号の自己診断情報Dat1に異常のステータス情報がない場合、自己診断部504は、シリアル信号の監視を継続する(ステップST21、No)。実施形態3において、シリアル信号の自己診断情報に異常のステータス情報がない場合とは、正常の情報がある場合である。
図19に示すように、自己診断部504において、シリアル信号の自己診断情報Dat1に異常のステータス情報がある場合、自己診断部504は、処理をステップST22に進める(ステップST21、Yes)。
モータ制御システム1000は、異常処理を実行する(ステップST22)。異常処理の内容は、実施形態1と同様としてもよい。
実施形態3の自己診断部504は、自己診断情報Dat1及び自己診断情報Dat2を同時に受け取ることができる。自己診断情報Dat1が異常のステータス情報であるが、自己診断情報Dat2が正常のステータス情報である場合、第1検出器200A及び第2検出器200Bの第1信号生成部8A、第1信号の角度比較部42、及びこれらを接続する信号線の異常である信号処理異常と推定される。自己診断部504は、異常処理として、信号処理異常の情報を報知部600に出力し、報知部600が、表示パネルへの表示、光、音、振動の少なくとも1つにより、信号処理異常を報知する。
自己診断情報Dat1及び自己診断情報Dat2が両方とも異常のステータス情報である場合、第1検出器200A又は第2検出器200B自体の故障と推定される。自己診断部504は、異常処理として、第1検出器200A又は第2検出器200B自体の故障の情報を報知部600に出力し、報知部600が、表示パネルへの表示、光、音、振動の少なくとも1つにより、信号処理異常を報知する。
実施形態3のモータ制御システム1000は、シリアル信号の自己診断情報Dat1、Dat2における異常のステータス情報の有無で、異常処理を実行できる。これにより、上位制御装置500の演算負荷が小さくなり、第1検出器200A又は第2検出器200Bの異常時に、異常処理の開始遅延の時間を短くすることができる。
(変形例)
図25は、実施形態3の変形例において、磁気トラックに対する第1検出器及び第2検出器の配置例を示す図である。図26は、実施形態3の変形例に係るモータ制御システムを説明するための説明図である。上述した実施形態と同じ構成要素には、同じ符号を付して、説明を省略する。
図25に示すように、回転軸Xの周りに、2つの第1検出器200Aと、2つの第2検出器200Bとが第1磁気トラック2A及び第2磁気トラック2Bが設けられた回転体100とギャップを介してアキシャル方向に対向して設けられている。回転軸Xの周りに、第1検出器200Aと、第2検出器200Bとが機械角で180°の関係で配置されている。第1検出器200Aと、第2検出器200Bとが機械角で、回転軸Xの周りに、等分配置されていれば、回転軸Xの周りに配置される角度に限定されない。
図26に示すように、モータ制御システム1000は、第1検出器200A及び第2検出器200Bの一方の組と、第1検出器200A及び第2検出器200Bの他方の組とが、信号処理部400に接続されている。第1検出器200A及び第2検出器200Bの構成は、実施形態3と同様であるので、図示を省略する。
回転体100の偏心による誤差成分は、回転軸Xの周りに、第1検出器200Aと、第2検出器200Bとが機械角で180°の関係で配置されていることで、相殺される成分が多い。そこで、上位制御装置500において、回転算出部501は、第1検出器200Aからの第1回転角度と、第2検出器200Bからの第2回転角度との平均値を基準として、回転角度を算出し、この回転角度に基づいて、モータ指令値算出部503がモータ指令値を算出する。これにより、モータMの制御精度を高めることができる。
モータ制御システム1000において、自己診断部504は、第1検出器200A及び第2検出器200Bの一方の組のシリアル信号の自己診断情報に異常のステータス情報があった場合、第1検出器200A及び第2検出器200Bの他方の組のシリアル信号の自己診断情報に異常のステータス情報がない場合、異常処理を実行しない。このため、モータ制御システム1000は、機能継続性が高まり、モータMの駆動中止の頻度を下げることができる。