(57)【要約】【課題】二つのモータで一つの被駆動体を駆動する際にモータの加減速時であってもモータの駆動軸に接続された伝達機構の機械要素と被駆動体との間のバックラッシを抑制することができるモータ制御装置を提供する。【解決手段】プリロードトルク値生成部２２ｍは、メインモータ６ｍの駆動軸に加えられる力の向きとサブモータ６ｓの駆動軸に加えられる力の向きとが互いに逆になるようにトルク指令値Ｔｍに予め付加されるトルク値であるプリロードトルク値Ｔｐｍを、メインモータ６ｍの加速度ａｍに応じて生成する。プリロードトルク値生成部２２ｓは、メインモータ６ｍの駆動軸に加えられる力の向きとサブモータ６ｓの駆動軸に加えられる力の向きとが互いに逆になるようにトルク指令値Ｔｓに予め付加されるトルク値であるプリロードトルク値Ｔｐｓを、サブモータ６ｓの加速度ａｓに応じて生成する。【選択図】図１
2014178753.tif 000002
【特許請求の範囲】
【請求項１】
一つの被駆動体を駆動するために第１のモータ及び第２のモータを制御するモータ制御装置であって、
第１のモータに対する位置指令値、第１のモータの位置情報及び第１のモータの速度情報からなる組と、第２のモータに対する位置指令値、第２のモータの位置情報及び第２のモータの速度情報からなる組と、被駆動体に対する位置指令、被駆動体の位置情報及び被駆動体の速度情報のうちの少なくとも一つの組に基づいて第１のモータに対する第１のトルク指令値及び第２のモータに対する第２のトルク指令値を生成するトルク指令値生成部と、
第１のモータの加速度に相当する第１の加速度を計算し、第１のモータの駆動軸に加えられる力の向きと第２のモータの駆動軸に加えられる力の向きとが互いに逆になるように前記第１のトルク指令値に予め付加されるトルク値である第１のプリロードトルク値を、前記第１の加速度に応じて生成する第１のプリロードトルク値生成部と、
第２のモータの加速度に相当する第２の加速度を計算し、第１のモータの駆動軸に加えられる力の向きと第２のモータの駆動軸に加えられる力の向きとが互いに逆になるように前記第２のトルク指令値に予め付加されるトルク値である第２のプリロードトルク値を、前記第２の加速度に応じて生成する第２のプリロードトルク値生成部と、
前記第１のトルク指令値及び前記第１のプリロードトルク値に基づいて第１のモータを駆動する第１のモータ駆動部と、
前記第２のトルク指令値及び前記第２のプリロードトルク値に基づいて第２のモータを駆動する第２のモータ駆動部と、
を備えることを特徴とするモータ制御装置。
【請求項２】
前記第１の加速度の大きさが予め設定された値を超えた場合、前記第１のプリロードトルク値生成部は、第１のモータの加減速時に第１のモータの駆動軸に必要とされる第１の加減速トルクより大きい第１のモータの駆動軸の出力トルクが生成されるように前記第１のプリロードトルク値を生成し、前記第２の加速度の大きさが予め設定された値を超えた場合、前記第２のプリロードトルク値生成部は、第２のモータの加減速時に第２のモータの駆動軸に必要とされる第２の加減速トルクより大きい第２のモータの駆動軸の出力トルクが生成されるように前記第２のプリロードトルク値を生成する、請求項１に記載のモータ制御装置。
【請求項３】
前記第１の加速度の大きさが予め設定された値を超えた場合、前記第１のプリロードトルク値生成部は、第１のモータの加減速時に第１のモータの駆動軸に必要とされる第１の加減速トルクより大きい第１のモータの駆動軸の出力トルクが生成されるように前記第１のプリロードトルク値を生成し、かつ、生成した前記第１のプリロードトルク値を、所定の時定数に基づいて変更し、前記第２の加速度の大きさが予め設定された値を超えた場合、前記第２のプリロードトルク値生成部は、第２のモータの加減速時に第２のモータの駆動軸に必要とされる第２の加減速トルクより大きい第２のモータの駆動軸の出力トルクを生成されるように前記第２のプリロードトルク値を生成し、かつ、生成した前記第２のプリロードトルク指定値を、所定の時定数に基づいて変更する、請求項１に記載のモータ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一つの被駆動体を駆動するために二つのモータを制御するモータ制御装置に関する。
【背景技術】
【０００２】
工作機械等において、モータの被駆動体が大型であるために一つのモータでは加減速ができない場合や、モータの駆動軸に接続された伝達機構の機械要素と被駆動体との間のバックラッシが大きいために被駆動体を安定した状態で移動させることができない場合等において、一つの被駆動体を二つのモータで駆動するタンデム制御が行われている（例えば、特許文献１〜３）。
【０００３】
このようなタンデム制御において、二つのモータのうちの一方は、伝達機構に連結されたマスタ軸としての役割を果たす駆動軸を有するメインモータとして機能し、その他方は、伝達機構に連結されたスレーブ軸としての役割を果たす駆動軸を有するサブモータとして機能する。
【０００４】
また、タンデム制御を行うに際し、モータの駆動軸に接続された伝達機構の機械要素と被駆動体との間のバックラッシを抑制するために、メインモータの駆動軸に加えられる力の向きとサブモータの駆動軸に加えられる力の向きとが互いに逆になるようにトルク指令値に予め付加されるトルク値であるプリロードトルク値を生成するモータ制御装置が提案されている（例えば、特許文献４，５）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平８−１７４４８１号公報
【特許文献２】特開２００３−７９１８０号公報
【特許文献３】特表２００４−９２８５９号公報
【特許文献４】特開平８−１６２４６号公報
【特許文献５】特開２０１０−１７２０５４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
プリロードトルク値を生成する従来のモータ制御装置では、メインモータの加速度の大小及びサブモータの加速度の大小に関係なくプリロードトルク値の大きさが一定であるので、メインモータ及びサブモータの加減速時には、メインモータの駆動軸に必要とされる加減速トルクがメインモータのプリロードトルク値より大きくなり又はサブモータの駆動軸に必要とされる加減速トルクがサブモータのプリロードトルク値より大きくなることがある。
【０００７】
この場合、メインモータの駆動軸に加えられる力の向きとサブモータの駆動軸に加えられる力の向きのうちのいずれか一方は、バックラッシを抑制するプリロードトルクの向きとは逆の向きになるので、モータの駆動軸に接続された伝達機構の機械要素と被駆動体との間のバックラッシを抑制できないことがある。
【０００８】
本発明の目的は、二つのモータで一つの被駆動体を駆動する際にモータの加減速時であってもモータの駆動軸に接続された伝達機構の機械要素と被駆動体との間のバックラッシを抑制することができるモータ制御装置を提供することである。
【課題を解決するための手段】
【０００９】
本発明によるモータ制御装置は、一つの被駆動体を駆動するために第１のモータ及び第２のモータを制御するモータ制御装置であって、第１のモータに対する位置指令値、第１のモータの位置情報及び第１のモータの速度情報からなる組と、第２のモータに対する位置指令値、第２のモータの位置情報及び第２のモータの速度情報からなる組と、被駆動体に対する位置指令、被駆動体の位置情報及び被駆動体の速度情報のうちの少なくとも一つの組に基づいて第１のモータに対する第１のトルク指令値及び第２のモータに対する第２のトルク指令値を生成するトルク指令値生成部と、第１のモータの加速度に相当する第１の加速度を計算し、第１のモータの駆動軸に加えられる力の向きと第２のモータの駆動軸に加えられる力の向きとが互いに逆になるように第１のトルク指令値に予め付加されるトルク値である第１のプリロードトルク値を、第１の加速度に応じて生成する第１のプリロードトルク値生成部と、第２のモータの加速度に相当する第２の加速度を計算し、第１のモータの駆動軸に加えられる力の向きと第２のモータの駆動軸に加えられる力の向きとが互いに逆になるように第２のトルク指令値に予め付加されるトルク値である第２のプリロードトルク値を、第２の加速度に応じて生成する第２のプリロードトルク値生成部と、第１のトルク指令値及び第１のプリロードトルク値に基づいて第１のモータを駆動する第１のモータ駆動部と、第２のトルク指令値及び第２のプリロードトルク値に基づいて第２のモータを駆動する第２のモータ駆動部と、を備えることを特徴とする。
【００１０】
好適には、第１の加速度の大きさが予め設定された値を超えた場合、第１のプリロードトルク値生成部は、第１のモータの加減速時に第１のモータの駆動軸に必要とされる第１の加減速トルクより大きい第１のモータの駆動軸の出力トルクが生成されるように第１のプリロードトルク値を生成し、第２の加速度の大きさが予め設定された値を超えた場合、第２のプリロードトルク値生成部は、第２のモータの加減速時に第２のモータの駆動軸に必要とされる第２の加減速トルクより大きい第２のモータの駆動軸の出力トルクが生成されるように第２のプリロードトルク値を生成する。
【００１１】
好適には、第１の加速度の大きさが予め設定された値を超えた場合、第１のプリロードトルク値生成部は、第１のモータの加減速時に第１のモータの駆動軸に必要とされる第１の加減速トルクより大きい第１のモータの駆動軸の出力トルクが生成されるように第１のプリロードトルク値を生成し、かつ、生成した第１のプリロードトルク値を、所定の時定数に基づいて変更し、第２の加速度の大きさが予め設定された値を超えた場合、第２のプリロードトルク値生成部は、第２のモータの加減速時に第２のモータの駆動軸に必要とされる第２の加減速トルクより大きい第２のモータの駆動軸の出力トルクを生成されるように第２のプリロードトルク値を生成し、かつ、生成した第２のプリロードトルク指定値を、所定の時定数に基づいて変更する。
【発明の効果】
【００１２】
本発明によれば、二つのモータで一つの被駆動体を駆動する際にモータの加減速時であってもモータの駆動軸に接続された伝達機構の機械要素と被駆動体との間のバックラッシを抑制することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施の形態のモータ制御装置を有するシステムのブロック図である。
【図２】図１に示すモータ制御装置の動作のフローチャートである。
【図３】図２のフローチャートにおいて計算される倍率を説明するための図である。
【図４】図２のフローチャートの変形例を示す図である。
【図５】図４のフローチャートにおいて計算される倍率を説明するための図である。
【図６】本発明によるモータ制御装置の効果を説明するための図である。
【図７】本発明の他の実施の形態のモータ制御装置を有するシステムのブロック図である。
【発明を実施するための形態】
【００１４】
本発明によるモータ制御装置の実施の形態を、図面を参照しながら詳細に説明する。図面中、同一構成要素には同一符号を付す。
図１は、本発明の実施の形態のモータ制御装置を有するシステムのブロック図である。図１に示すシステムは、三相交流電源１と、コンバータ２と、平滑用コンデンサ３と、インバータ４ｍ，４ｓと、電流検出器５ｍ，５ｓと、第１のモータとしてのメインモータ６ｍと、第２のモータとしてのサブモータ６ｓと、伝達機構７ｍ，７ｓと、被駆動体８と、モータ位置検出器９ｍ，９ｓと、速度検出部１０ｍ，１０ｓと、モータ制御装置１１と、上位制御装置１２と、初期プリロードトルク値生成部１３と、機械位置検出器１４と、位置切替部１５と、を有する。
【００１５】
三相交流電源１は、商用交流電源によって構成される。コンバータ２は、例えば、複数（３相交流の場合は６個）の整流ダイオード及びこれらの整流ダイオードのそれぞれに逆並列に接続されたトランジスタによって構成され、三相交流電源１から供給される交流電力を直流電力に変換する。
【００１６】
平滑用コンデンサ３は、コンバータ２の整流ダイオードによって整流された電圧を平滑化するためにコンバータ２に並列に接続される。インバータ４ｍ，４ｓはそれぞれ、平滑用コンデンサ３に並列に接続され、例えば、複数（３相交流の場合は６個）の整流ダイオード及びこれらの整流ダイオードのそれぞれに逆並列に接続されたトランジスタによって構成され、後に説明するＰＷＭ信号Ｖｍ，Ｖｓに基づいてトランジスタのオンオフ動作を行うことによって、コンバータ２によって変換された直流電力を交流電力に変換する。
【００１７】
電流検出器５ｍは、メインモータ６ｍに流れる電流の値Ｉｍ’を検出するためにインバータ４ｍの出力線に設けられる。電流検出器５ｓは、サブモータ６ｓに流れる電流の値Ｉｓ’を検出するためにインバータ４ｓの出力線に設けられる。本実施の形態では、電流検出器５ｍ，５ｓは、例えばホール素子によって構成される。
【００１８】
メインモータ６ｍは、伝達機構７ｍに連結されたマスタ軸としての役割を果たす駆動軸を有し、平滑用コンデンサ３に蓄積されている電力で駆動される。サブモータ６ｓは、伝達機構７ｓに連結されたスレーブ軸としての役割を果たす駆動軸を有し、平滑用コンデンサ３に蓄積されている電力で駆動される。
【００１９】
本実施の形態では、メインモータ６ｍ及びサブモータ６ｓはそれぞれ、ロータとステータのうちのいずれか一方に永久磁石が設けられた回転型サーボモータ、ステータとスライダのうちのいずれか一方に永久磁石が設けられたリニアサーボモータ、ステータとバイブレータのうちのいずれか一方に永久磁石が設けられた振動型サーボモータ、永久磁石を使用しない誘導モータ等によって構成される。
【００２０】
伝達機構７ｍ，７ｓは、被駆動体８を伝達機構７ｍ，７ｓの軸線方向に沿って移動させるために被駆動体８に接続される。被駆動体８は、工作機械のテーブル、産業用ロボットのアーム等によって構成される。
【００２１】
モータ位置検出器９ｍは、第１のモータの位置情報としてのメインモータ６ｍの回転角度θｍ’を検出するロータリーエンコーダ、ホール素子、レゾルバ等によって構成される。モータ位置検出器９ｓは、第２のモータの位置情報としてのサブモータ６ｓの回転角度θｓ’を検出するロータリーエンコーダ、ホール素子、レゾルバ等によって構成される。
【００２２】
速度検出部１０ｍは、メインモータ６ｍの回転角度θｍ’がモータ位置検出器９ｍから入力され、回転角度θｍ’を時間で１階微分することによって第１のモータの速度情報としてのメインモータ６ｍの回転速度ωｍ’を検出し、回転速度ωｍ’をモータ制御装置１１に出力する。
【００２３】
速度検出部１０ｓは、サブモータ６ｓの回転角度θｓ’がモータ位置検出器９ｓから入力され、回転角度θｓ’を時間で１階微分することによって第２のモータの速度情報としてのサブモータ６ｓの回転速度ωｓ’を検出し、回転速度ωｓ’をモータ制御装置１１に出力する。
【００２４】
モータ制御装置１１は、伝達機構７ｍ，７ｓの機械要素と被駆動体８との間のバックラッシを低減するとともにメインモータ６ｍの駆動軸の捻じれ及びサブモータ６ｓの駆動軸の捻じれを抑制するために被駆動体８をメインモータ６ｍ及びサブモータ６ｓで駆動するタンデム制御を行う。このために、モータ制御装置１１は、トルク指令値生成部としての二つのトルク指令値生成部２１ｍ，２１ｓと、第１のプリロードトルク値生成部としてのプリロードトルク値生成部２２ｍと、第２のプリロードトルク値生成部としてのプリロードトルク値生成部２２ｓと、第１のモータ駆動部としてのモータ駆動部２３ｍと、第２のモータ駆動部としてのモータ駆動部２３ｓと、を有する。
【００２５】
トルク指令値生成部２１ｍは、上位制御装置１２から入力される第１のモータに対する位置指令値としてのメインモータ６ｍに対する位置指令値θｍ及びモータ位置検出器９ｍから入力される回転角度θｍ’に基づいて、第１のモータに対する第１のトルク指令値としてのメインモータ６ｍに対するトルク指令値Ｔｍを生成する。このために、トルク指令値生成部２１ｍは、減算器３１ｍと、位置制御部３２ｍと、減算器３３ｍと、速度制御部３４ｍと、を有する。
【００２６】
減算器３１ｍは、位置指令値θｍが上位制御装置１２から入力される＋入力端子と、回転角度θｍ’がモータ位置検出器９ｍから入力される−入力端子と、これらの位置偏差θｍ−θｍ’を位置制御部３２ｍに出力する出力端子と、を有する。
【００２７】
位置制御部３２ｍは、メインモータ６ｍの位置を制御するために、位置偏差θｍ−θｍ’が減算器３１ｍから入力され、かつ、メインモータ６ｍに対して用いられる位置制御ゲインをメモリ（図示せず）から取得する。そして、位置制御部３２ｍは、メインモータ６ｍに対して用いられる位置制御ゲイン及び位置偏差θｍ−θｍ’に基づいて、メインモータ６ｍに対する速度指令値ωｍを生成し、生成した速度指令値ωｍを減算器３３ｍに出力する。
【００２８】
減算器３３ｍは、速度指令値ωｍが位置制御部３２ｍから入力される＋入力端子と、回転速度ωｍ’が速度検出部１０ｍから入力される−入力端子と、速度指令値ωｍと回転速度ωｍ’との速度偏差ωｍ−ωｍ’を速度制御部３４ｍに出力する出力端子と、を有する。
【００２９】
速度制御部３４ｍは、メインモータ６ｍの速度を制御するために、速度偏差ωｍ−ωｍ’が減算器３３ｍから入力され、かつ、メインモータ６ｍに対して用いられる比例ゲイン及び積分ゲインをメモリ（図示せず）から取得する。そして、速度制御部３４ｍは、メインモータ６ｍに対して用いられる比例ゲイン及び積分ゲイン並びに速度偏差ωｍ−ωｍ’に基づいてトルク指令値Ｔｍを生成し、生成したトルク指令値Ｔｍをモータ駆動部２３ｍに出力する。
【００３０】
トルク指令値生成部２１ｓは、上位制御装置１２から入力される第２のモータに対する位置指令値としてのサブモータ６ｓに対する位置指令値θｓ及びモータ位置検出器９ｓから入力される回転角度θｓ’に基づいて、第２のモータに対する第２のトルク指令値としてのサブモータ６ｓに対するトルク指令値Ｔｓを生成する。このために、トルク指令値生成部２１ｓは、減算器３１ｓと、位置制御部３２ｓと、減算器３３ｓと、速度制御部３４ｓと、を有する。
【００３１】
減算器３１ｓは、モータ位置指令値θｓが上位制御装置１２から入力される＋入力端子と、回転角度θｓ’がモータ位置検出器９ｓから入力される−入力端子と、これらの位置偏差θｓ−θｓ’を位置制御部３２ｓに出力する出力端子と、を有する。
【００３２】
位置制御部３２ｓは、サブモータ６ｓの位置を制御するために、位置偏差θｓ−θｓ’が減算器３１ｓから入力され、かつ、サブモータ６ｓに対して用いられる位置制御ゲインをメモリ（図示せず）から取得する。そして、位置制御部３２ｓは、サブモータ６ｓに対して用いられる位置制御ゲイン及び位置偏差θｓ−θｓ’に基づいて、サブモータ６ｓに対する速度指令値ωｓを生成し、生成した速度指令値ωｓを減算器３３ｓに出力する。
【００３３】
減算器３３ｓは、速度指令値ωｓが位置制御部３２ｓから入力される＋入力端子と、回転速度ωｓ’が速度検出部１０ｓから入力される−入力端子と、速度指令値ωｓと回転速度ωｓ’との速度偏差ωｓ−ωｓ’を速度制御部３４ｓに出力する出力端子と、を有する。
【００３４】
速度制御部３４ｓは、サブモータ６ｓの速度を制御するために、速度偏差ωｓ−ωｓ’が減算器３３ｓから入力され、かつ、サブモータ６ｓに対して用いられる比例ゲイン及び積分ゲインをメモリ（図示せず）から取得する。そして、速度制御部３４ｓは、サブモータ６ｓに対して用いられる比例ゲイン及び積分ゲイン並びに速度偏差ωｓ−ωｓ’に基づいてトルク指令値Ｔｓを生成し、生成したトルク指令値Ｔｓをモータ駆動部２３ｓに出力する。
【００３５】
プリロードトルク値生成部２２ｍは、第１の加速度としてのメインモータ６ｍの加速度ａｍを計算し、メインモータ６ｍの駆動軸に加えられる力の向きとサブモータ６ｓの駆動軸に加えられる力の向きとが互いに逆になるようにトルク指令値Ｔｍに予め付加されるトルク値であるプリロードトルク値Ｔｐｍを、加速度ａｍに応じて生成する。このために、プリロードトルク値生成部２２ｍは、加速度計算部４１ｍと、倍率計算部４２ｍと、乗算器４３ｍと、ローパスフィルタ（ＬＰＦ）４４ｍと、を有する。
【００３６】
加速度計算部４１ｍは、位置指令値θｍが上位制御装置１２から入力され、入力された位置指令値θｍを時間で２階微分することによって加速度ａｍを計算する。そして、加速度計算部４１ｍは、計算した加速度ａｍを倍率計算部４２ｍに出力する。
【００３７】
倍率計算部４２ｍは、初期プリロードトルク値生成部１３が出力する予め設定された初期プリロードトルク値＋Ｐｒに乗算するための倍率Ｘｍを、加速度ａｍに基づいて生成する。
【００３８】
乗算器４３ｍは、初期プリロードトルク値＋Ｐｒが初期プリロードトルク値生成部１３から入力されるとともに倍率Ｘｍが倍率計算部４２ｍから入力され、初期プリロードトルク値＋Ｐｒと倍率Ｘｍの積である中間プリロード値Ｔｐ０ｍを生成する。
【００３９】
ローパスフィルタ４４ｍは、中間プリロード値Ｔｐ０ｍを所定の時定数としての予め設定された時定数τに基づいて変更することによってプリロードトルク値Ｔｐｍを生成する。そして、ローパスフィルタ４４ｍは、生成したプリロードトルク値Ｔｐｍをモータ駆動部２３ｍに出力する。
【００４０】
プリロードトルク値生成部２２ｓは、第２の加速度としてのサブモータ６ｓの加速度ａｓを計算し、メインモータ６ｍの駆動軸に加えられる力の向きとサブモータ６ｓの駆動軸に加えられる力の向きとが互いに逆になるようにトルク指令値Ｔｓに予め付加されるトルク値であるプリロードトルク値Ｔｐｓを、加速度ａｓに応じて生成する。このために、プリロードトルク値生成部２２ｓは、加速度計算部４１ｓと、倍率計算部４２ｓと、乗算器４３ｓと、ローパスフィルタ（ＬＰＦ）４４ｓと、を有する。
【００４１】
加速度計算部４１ｓは、位置指令値θｓが上位制御装置１２から入力され、入力された位置指令値θｓを時間で２階微分することによって加速度ａｓを計算する。そして、加速度計算部４１ｓは、計算した加速度ａｓを倍率計算部４２ｓに出力する。
【００４２】
倍率計算部４２ｓは、初期プリロードトルク値生成部１３が出力する予め設定された初期プリロードトルク値−Ｐｒ（すなわち、初期プリロードトルク値＋Ｐｒと大きさが同一で向きが正反対のプリロードトルク値）に乗算するための倍率Ｘｓを、加速度ａｓに基づいて生成する。
【００４３】
乗算器４３ｓは、初期プリロードトルク値−Ｐｒが初期プリロードトルク値生成部１３から入力されるとともに倍率Ｘｓが倍率計算部４２ｓから入力され、初期プリロードトルク値−Ｐｒと倍率Ｘｓの積である中間プリロード値Ｔｐ０ｓを生成する。
【００４４】
ローパスフィルタ４４ｓは、中間プリロード値Ｔｐ０ｓを時定数τに基づいて変更することによってプリロードトルク値Ｔｐｓを生成する。そして、ローパスフィルタ４４ｓは、生成したプリロードトルク値Ｔｐｓをモータ駆動部２３ｓに出力する。
【００４５】
本実施の形態では、初期プリロードトルク値＋Ｐｒ、中間プリロードトルク値Ｔｐ０ｍ及びプリロードトルク値Ｔｐｍが、第１のプリロードトルク値に相当し、初期プリロードトルク値−Ｐｒ、中間プリロードトルク値Ｔｐ０ｓ及びプリロードトルク値Ｔｐｓが、第２のプリロードトルク値に相当する。
【００４６】
モータ駆動部２３ｍは、トルク指令値Ｔｍ及びプリロードトルク値Ｔｐｍに基づいてメインモータ６ｍを駆動する。このために、モータ駆動部２３ｍは、加算器５１ｍと、減算器５２ｍと、電流制御部５３ｍと、を有する。
【００４７】
加算器５１ｍは、トルク指令値Ｔｍが速度制御部３４ｍから入力される第１の＋入力端子と、プリロードトルク値Ｔｐｍがローパスフィルタ４４ｍから入力される第２の＋入力端子と、トルク指令値Ｔｍとプリロードトルク値Ｔｐｍとの和に相当するメインモータ６ｍに対する電流指令値Ｉｍを出力する出力端子と、を有する。
【００４８】
減算器５２ｍは、電流指令値Ｉｍが加算器５１ｍから入力される＋入力端子と、電流の値Ｉｍ’が電流検出器５ｍから入力される−入力端子と、電流指令値Ｉｍと電流の値Ｉｍ’との電流偏差Ｉｍ−Ｉｍ’を電流制御部５３ｍに出力する出力端子と、を有する。
【００４９】
電流制御部５３ｍは、電流偏差Ｉｍ−Ｉｍ’が減算器５２ｍから入力され、入力された電流偏差Ｉｍ−Ｉｍ’に基づいて、メインモータ６ｍに対する電圧指令値に対応するＰＷＭ信号Ｖｍを生成する。そして、電流制御部５３ｍは、生成したＰＷＭ信号Ｖｍをインバータ４ｍに出力する。
【００５０】
モータ駆動部２３ｓは、トルク指令値Ｔｓ及びプリロードトルク値Ｔｐｓに基づいてサブモータ６ｓを駆動する。このために、モータ駆動部２３ｓは、加算器５１ｓと、減算器５２ｓと、電流制御部５３ｓと、を有する。
【００５１】
加算器５１ｓは、トルク指令値Ｔｓが速度制御部３４ｓから入力される第１の＋入力端子と、プリロードトルク値Ｔｐｓがローパスフィルタ４４ｓから入力される第２の＋入力端子と、トルク指令値Ｔｓとプリロードトルク値Ｔｐｓとの和に相当するサブモータ６ｓに対する電流指令値Ｉｓを出力する出力端子と、を有する。
【００５２】
減算器５２ｓは、電流指令値Ｉｓが加算器５１ｓから入力される＋入力端子と、電流の値Ｉｓ’が電流検出器５ｓから入力される−入力端子と、電流指令値Ｉｓと電流の値Ｉｓ’との電流偏差Ｉｓ−Ｉｓ’を電流制御部５３ｓに出力する出力端子と、を有する。
【００５３】
電流制御部５３ｓは、電流偏差Ｉｓ−Ｉｓ’が減算器５２ｓから入力され、入力された電流偏差Ｉｓ−Ｉｓ’に基づいて、サブモータ６ｓに対する電圧指令値に対応するＰＷＭ信号Ｖｓを生成する。そして、電流制御部５３ｓは、生成したＰＷＭ信号Ｖｓをインバータ４ｓに出力する。
【００５４】
上位制御装置１２は、ＣＮＣ（数値制御装置）等によって構成され、位置指令値θｍを減算器３１ｍ及び加速度計算部４１ｍに出力し、位置指令値θｓを減算器３１ｓ及び加速度計算部４１ｓに出力し、初期プリロードトルク値＋Ｐｒ，−Ｐｒを生成するための励磁信号Ｓｅを初期プリロードトルク値生成部１３に出力する。
【００５５】
初期プリロードトルク値生成部１３は、上位制御装置１２から出力される励磁信号Ｓｅに応答して初期プリロードトルク値＋Ｐｒ，−Ｐｒを生成し、生成した初期プリロードトルク値＋Ｐｒ，−Ｐｒを、乗算器４３ｍ，４３ｓにそれぞれ出力する。
【００５６】
機械位置検出器１４は、被駆動体の位置情報としての伝達機構７ｍ，７ｓを含む図示しない機械の位置を検出するスケール等によって構成される。位置切替部１５は、図示しない操作部からの指令に応じて減算器３１ｍの−入力端子をモータ位置検出器９ｍと機械位置検出器１４のうちのいずれか一方に接続するスイッチを有する。
【００５７】
図１に示すシステムでは、位置切替部１５が減算器３１ｍの−入力端子をモータ位置検出器９ｍに接続し、本実施の形態では、位置切替部１５が減算器３１ｍの−入力端子をモータ位置検出器９ｍに接続している場合について説明した。
【００５８】
位置切替部１５が減算器３１ｍの−入力端子を機械位置検出器１４に接続した場合、機械位置検出器１４は、被駆動体の位置情報としての図示しない機械の位置を減算器３１ｍの−入力端子に入力し、速度検出部１０ｍは、被駆動体の速度情報としての被駆動体８の速度を検出し、検出した被駆動体８の速度を減算器３３ｍの−入力端子に入力し、上位制御装置１２は、被駆動体の位置指令値としての図示しない機械に対する位置指令値を減算器３３ｍの＋入力端子に入力する。
【００５９】
本実施の形態では、速度検出部１０ｍ，１０ｓ、モータ制御装置１１及び初期プリロードトルク値生成部１３は、入出力ポート、シリアル通信回路、Ａ／Ｄ変換器、コンパレータ等を備えたプロセッサによって実現され、図示しないメモリに格納された処理プログラムに従って後に説明する処理を実行する。
【００６０】
図２は、図１に示すモータ制御装置の動作のフローチャートである。このフローチャートは、初期プリロードトルク値生成部１３が励磁信号Ｓｅに応答して初期プリロードトルク値＋Ｐｒ，−Ｐｒを生成する度に実行され、モータ制御装置１１で実行される処理プログラムによって制御される。
【００６１】
先ず、加速度計算部４１ｍ，４１ｓは、加速度ａｍ，ａｓをそれぞれ計算し、計算した加速度ａｍ，ａｓを倍率計算部４２ｍ，４２ｓにそれぞれ出力する（ステップＳ１）。その後、倍率計算部４２ｍ，４２ｓは、計算した加速度ａｍ，ａｓが負の値であるか否か判断する（ステップＳ２）。加速度ａｍ，ａｓが負の値である場合、倍率計算部４２ｍ，４２ｓは、加速度ａｍ，ａｓが予め設定された値としてのしきい値−ＴＨ（ＴＨは正の値）より小さいか否か判断し（ステップＳ３）、それに対し、加速度ａｍ，ａｓがゼロ以上の値である場合、倍率計算部４２ｍ，４２ｓは、加速度ａｍ，ａｓがしきい値ＴＨより大きいか否か判断する（ステップＳ４）。
【００６２】
加速度ａｍ，ａｓがしきい値−ＴＨより小さい又は加速度ａｍ，ａｓがしきい値ＴＨより大きい場合、倍率計算部４２ｍ，４２ｓは、倍率Ｘｍ，Ｘｓをそれぞれ計算し、計算した倍率Ｘｍ，Ｘｓを乗算器４３ｍ，４３ｓにそれぞれ出力する。本実施の形態では、加速度ａｍ，ａｓがしきい値−ＴＨより小さい場合、倍率計算部４２ｍ，４２ｓは、倍率Ｘｍ，Ｘｓを、以下の式（１）及び式（２）を用いて計算する。
Ｘｍ＝１＋（ａｍ＋ＴＨ）α  （１）
Ｘｓ＝１＋（ａｓ＋ＴＨ）α  （２）
式（１），（２）において、αは、後に説明する傾きを表す。一方、加速度ａｍ，ａｓがしきい値ＴＨより大きい場合、倍率計算部４２ｍ，４２ｓは、倍率Ｘｍ，Ｘｓを、以下の式（３）及び式（４）を用いて計算する。
Ｘｍ＝１＋（ａｍ−ＴＨ）α  （３）
Ｘｓ＝１＋（ａｓ−ＴＨ）α  （４）
【００６３】
次に、乗算器４３ｍは、初期プリロードトルク値＋Ｐｒと倍率Ｘｍの積である中間プリロードトルク値Ｔｐ０ｍを生成し、生成したプリロードトルク値Ｔｐ０ｍをローパスフィルタ４４ｍに出力し、乗算器４３ｓは、初期プリロードトルク値−Ｐｒと倍率Ｘｓの積である中間プリロードトルク値Ｔｐ０ｓを生成し、生成したプリロードトルク値Ｔｐ０ｓをローパスフィルタ４４ｓに出力する（ステップＳ６）。
【００６４】
次に、ローパスフィルタ４４ｍは、中間プリロードトルク値Ｔｐ０ｍを時定数τに基づいて変更することによってプリロードトルク値Ｔｐｍを生成するためにフィルタ処理を行い、生成したプリロードトルク値Ｔｐｍを加算器５１ｍに出力し、ローパスフィルタ４４ｓは、中間プリロードトルク値Ｔｐ０ｓを時定数τに基づいて変更することによってプリロードトルク値Ｔｐｓを生成するためにフィルタ処理を行い（ステップＳ７）、生成したプリロードトルク値Ｔｐｓを加算器５１ｓに出力し（ステップＳ８）、処理フローを終了する。
【００６５】
本実施の形態では、プリロードトルク値Ｔｐｍ，Ｔｐｓを、以下の式（５）及び式（６）によってそれぞれ表すことができる。
Ｔｐｍ＝ｋ・Ｔｐｍ＋（１−ｋ）Ｔｐ０ｍ  （５）
Ｔｐｓ＝ｋ・Ｔｐｓ＋（１−ｋ）Ｔｐ０ｓ  （６）
ｋ＝１−ｅ-(T/τ)
ここで、Ｔは、サンプリング周期を表し、ｋは、フィルタ処理を行う際に時定数τ及びサンプリング周期Ｔに基づいて計算される係数を表す。
【００６６】
一方、ステップＳ３で加速度ａｍ，ａｓがしきい値−ＴＨ以上であると判断され又はステップＳ４で加速度ａｍ，ａｓがしきい値ＴＨ以下であると判断された場合、倍率計算部４２ｍ，４２ｓは、倍率Ｘｍ，Ｘｓをそれぞれ１に設定する（ステップＳ９）。
【００６７】
次に、乗算器４３ｍは、初期プリロードトルク値＋Ｐｒに倍率Ｘｍすなわち１を乗算し、初期プリロードトルク値＋Ｐｒに相当する中間プリロードトルク値Ｔｐ０ｍをローパスフィルタ４４ｍに出力し、乗算器４３ｓは、初期プリロードトルク値−Ｐｒに倍率Ｘｓすなわち１を乗算し、初期プリロードトルク値−Ｐｒに相当する中間プリロードトルク値Ｔｐ０ｓをローパスフィルタ４４ｓに出力する（ステップＳ１０）。
【００６８】
次に、倍率計算部４２ｍ，４２ｓはそれぞれ、ローパスフィルタ４４ｍ，４４ｓのフィルタ係数を１に設定し（ステップＳ１１）、ステップＳ８に進む。
【００６９】
図３は、図２のフローチャートにおいて計算される倍率を説明するための図である。加速度が負の値である場合、図３Ａにおいて太線で示すように、加速度がしきい値−ＴＨ以上である間には倍率は１に固定され、加速度がしきい値−ＴＨより小さくなると、倍率は、加速度が小さくなるに従って、傾きαに比例して大きくなる。
【００７０】
一方、加速度がゼロ又は正の値である場合、図３Ｂにおいて太線で示すように、加速度がしきい値ＴＨ以下である間には倍率は１に固定され、加速度がしきい値ＴＨより大きくなると、倍率は、加速度が大きくなるに従って、傾きαに比例して大きくなる。
【００７１】
このように傾きαに応じて倍率を変更することにより、加速度がしきい値−ＴＨより小さくなり又は加速度がしきい値ＴＨより大きくなると、トルク指令値生成部２１ｍは、メインモータ６ｍの加減速時にメインモータ６ｍの駆動軸に必要とされる第１の加減速トルクとしての加減速トルクより大きいメインモータ６ｍの駆動軸の出力トルクが生成されるようにプリロードトルクＴｐｍを生成し、トルク指令値生成部２１ｓは、サブモータ６ｓの加減速時にサブモータ６ｓの駆動軸に必要とされる第２の加減速トルクとしての加減速トルクより大きいサブモータ６ｓの駆動軸の出力トルクが生成されるようにプリロードトルクＴｐｓを生成する。
【００７２】
図４は、図２のフローチャートの変形例を示す図である。このフローチャートは、初期プリロードトルク値生成部１３が励磁信号Ｓｅに応答して初期プリロードトルク値＋Ｐｒ，−Ｐｒを生成する度に実行され、モータ制御装置１１で実行される処理プログラムによって制御される。
【００７３】
図４に示すフローチャートでは、ステップＳ１の後、倍率計算部４２ｍ，４２ｓは、計算した加速度ａｍ，ａｓがしきい値ＴＨの絶対値よりか大きいか否か判断する（ステップＳ２１）。加速度ａｍ，ａｓがしきい値ＴＨの絶対値より大きい場合、ステップＳ５に進む。それに対し、加速度ａｍ，ａｓがしきい値ＴＨの絶対値以下である場合、ステップＳ９に進む。
【００７４】
図５は、図４のフローチャートにおいて計算される倍率を説明するための図である。図５において太線で示すように、加速度の大きさがしきい値ＴＨの絶対値以下である間には倍率は１に固定され、加速度の大きさがしきい値ＴＨの絶対値より大きくなると、倍率は、加速度の大きさが大きくなるに従って、傾きαに比例して大きくなる。
【００７５】
このように傾きαに応じて倍率を変更することにより、加速度の大きさがしきい値ＴＨの絶対値より大きくなると、トルク指令値生成部２１ｍは、メインモータ６ｍの加減速時にメインモータ６ｍの駆動軸に必要とされる加減速トルクより大きいメインモータ６ｍの駆動軸の出力トルクが生成されるようにプリロードトルクＴｐｍを生成し、トルク指令値生成部２１ｓは、サブモータ６ｓの加減速時にサブモータ６ｓの駆動軸に必要とされる加減速トルクより大きいサブモータ６ｓの駆動軸の出力トルクが生成されるようにプリロードトルクＴｐｓを生成する。
【００７６】
図６は、本発明によるモータ制御装置の効果を説明するための図である。図６において、位置偏差の時間変化を示すグラフ、メインモータ６ｍに対する電流指令値Ｉｍの時間変化を示すグラフ、サブモータ６ｓに対する電流指令値Ｉｓの時間変化を示すグラフ及びメインモータ６ｍの速度の時間変化を示すグラフを上から順に示す。
【００７７】
モータの加速度の変化に関係なく一定のプリロードトルク値を生成する場合、位置偏差、メインモータ６ｍに対する電流指令値Ｉｍ及びサブモータ６ｓに対する電流指令値Ｉｓは、破線で示すように変動する。すなわち、時間ｔ１と時間t２の間のメインモータ６ｍの減速時及び時間ｔ３と時間ｔ４との間のメインモータ６ｍの減速時において、位置偏差の変動が大きくなり、メインモータ６ｍの駆動軸に接続された伝達機構７ｍの機械要素及びサブモータ６ｓの駆動軸に接続された伝達機構７ｓの機械要素と被駆動体８との間のバックラッシを抑制できない。
【００７８】
それに対し、加速度ａｍ，ａｓの変化に応じてプリロードトルク値Ｔｐｍ，Ｔｐｓを生成する場合、位置偏差、メインモータ６ｍに対する電流指令値Ｉｍ及びサブモータ６ｓに対する電流指令値Ｉｓは、実線で示すように変動する。すなわち、時間ｔ１と時間t２の間のメインモータ６ｍの減速時及び時間ｔ３と時間ｔ４との間のメインモータ６ｍの減速時でも位置偏差の変動が小さくなり、メインモータ６ｍの駆動軸に接続された伝達機構７ｍの機械要素及びサブモータ６ｓの駆動軸に接続された伝達機構７ｓの機械要素と被駆動体８との間のバックラッシを抑制することができる。
【００７９】
本実施の形態によれば、加速度ａｍ，ａｓの変化に応じてプリロードトルク値Ｔｐｍ，Ｔｐｓを生成しているので、メインモータ６ｍ及びサブモータ６ｓで被駆動体８を駆動する際に、メインモータ６ｍ及びサブモータ６ｓの加減速時であっても伝達機構７ｍ，７ｓの機械要素と被駆動体８との間のバックラッシを抑制することができる。
【００８０】
また、本実施の形態によれば、加速度ａｍ，ａｓの大きさがしきい値ＴＨの絶対値以下である間はプリロードトルク値Ｔｐｍ，Ｔｐｓを一定の値に維持し、加速度ａｍ，ａｓの大きさがしきい値ＴＨの絶対値を超えたときに加速度ａｍ，ａｓの大きさが大きくなるに従ってプリロードトルク値Ｔｐｍ，Ｔｐｓを大きくしている。したがって、メインモータ６ｍ及びサブモータ６ｓの停止時及びメインモータ６ｍ及びサブモータ６ｓの速度が一定であるときにメインモータ６ｍの駆動軸及びサブモータ６ｓの駆動軸に過剰なプリロードトルク値Ｔｐｍ，Ｔｐｓがトルク指令値Ｔｍ，Ｔｓに加えられる事態を回避することができる。
【００８１】
さらに、本実施の形態によれば、時定数τに基づいて中間プリロードトルク値Ｔｐ０ｍ，Ｔｐ０ｓを変更することによってプリロードトルク値Ｔｐｍ，Ｔｐｓを生成しているので、伝達機構７ｍ，７ｓの機械要素と被駆動体８との間のバックラッシによって生じる衝撃を低減することができる。
【００８２】
図７は、本発明の他の実施の形態のモータ制御装置を有するシステムのブロック図である。図７に示すシステムは、三相交流電源１と、コンバータ２と、平滑用コンデンサ３と、インバータ４ｍ，４ｓと、電流検出器５ｍ，５ｓと、第１のモータとしてのメインモータ６ｍと、第２のモータとしてのサブモータ６ｓと、伝達機構７ｍ，７ｓと、被駆動体８と、モータ位置検出器９ｍと、速度検出部１０ｍと、モータ制御装置１１’と、上位制御装置１２と、初期プリロードトルク値生成部１３と、機械位置検出部１４と、位置切替部１５と、を有する。
【００８３】
モータ制御装置１１’は、トルク指令値生成部としての一つのトルク指令値生成部２１ｍと、プリロードトルク値生成部２２ｍと、プリロードトルク値生成部２２ｓと、モータ駆動部２３ｍと、モータ駆動部２３ｓと、を有する。
【００８４】
本実施の形態では、第１のモータに対する第１のトルク指令値及び第２のモータに対する第２のトルク指令値としてのメインモータ６ｍ及びサブモータ６ｓに対するトルク指令値Ｔｍは、速度制御部３４から加算器５１ｍ、５１ｓに入力される。
【００８５】
本実施の形態によれば、本発明によるモータ制御装置を実現するためにモータ制御装置それ自体及びモータ制御装置を含むシステムを簡略化することができる。
【００８６】
本発明は、上記実施の形態に限定されるものではなく、幾多の変更及び変形が可能である。例えば、上記実施の形態において、加速度ａｍ，ａｓを位置指令値θｍ，θｓに基づいて計算する場合について説明したが、加速度ａｍ，ａｓを回転角度θｍ’，θｓ’に基づいて計算することもできる。
【００８７】
また、上記実施の形態において、ローパスフィルタ４４ｍ，４４ｓを用いる場合について説明したが、ローパスフィルタ４４ｍ，４４ｓを省略することもできる。
【００８８】
また、上記実施の形態において、加速度ａｍ，ａｓを計算し、加速度ａｍを用いて倍率Ｘｍを計算するとともに加速度ａｓを用いて倍率Ｘｓを計算する場合について説明したが、加速度ａｍと加速度ａｓのうちのいずれか一方のみを計算し、計算した加速度ａｍ又は加速度ａｓを用いて倍率Ｘｍ，Ｘｓを計算する場合にも本発明を適用することができる。
【００８９】
さらに、位置指令値θｍ、回転角度θｍ’及び回転速度ωｍ’からなる組と位置指令値θｓ、回転角度θｓ’及び回転速度ωｓ’からなる組のうちの両方の組に基づいてトルク指令Ｔｍ，Ｔｓを生成する場合及び位置指令値θｍ、回転角度θｍ’及び回転速度ωｍ’からなる組に基づいてトルク指令Ｔｍ，Ｔｓを生成する場合について説明したが、トルク指令Ｔｍ，Ｔｓを、位置指令値θｍ、回転角度θｍ’及び回転速度ωｍ’からなる組と、位置指令値θｓ、回転角度θｓ’及び回転速度ωｓ’からなる組と、図示しない機械に対する位置指令、図示しない機械の位置情報及び被駆動体８の速度情報からなる組のうちの少なくとも一つの組に基づいて生成することができる。
【符号の説明】
【００９０】
１    三相交流電源
２    コンバータ
３    平滑用コンデンサ
４ｍ，４ｓ    インバータ
５ｍ，５ｓ    電流検出器
６ｍ    メインモータ
６ｓ    サブモータ
７ｍ，７ｓ    伝達機構
８    被駆動体
９ｍ，９ｓ    モータ位置検出器
１０ｍ，１０ｓ    速度検出部
１１，１１’    モータ制御装置
１２    上位制御装置
１３    初期プリロードトルク値生成部
１４    機械位置検出器
１５    位置切替部
２１ｍ，２１ｓ    トルク指令値生成部
２２ｍ，２２ｓ    プリロードトルク値生成部
２３ｍ，２３ｓ    モータ駆動部
３１ｍ，３１ｓ，３３ｍ，３３ｓ，５２ｍ，５２ｓ    減算器
３２ｍ，３２ｓ    位置制御部
３４ｍ，３４ｓ    速度制御部
４１ｍ，４１ｓ    加速度計算部
４２ｍ，４２ｓ    倍率計算部
４３ｍ，４３ｓ    乗算器
４４ｍ，４４ｓ    ローパスフィルタ
５１ｍ，５１ｓ    加算器
５３ｍ，５３ｓ    電流制御部
【図１】
2014178753.tif 000003
【図２】
2014178753.tif 000004
【図３】
2014178753.tif 000005
【図４】
2014178753.tif 000006
【図５】
2014178753.tif 000007
【図６】
2014178753.tif 000008
【図７】
2014178753.tif 000009