以下図面を参照して、ダイナミックブレーキ回路を有するモータ駆動装置について説明する。理解を容易にするために、これらの図面は縮尺を適宜変更している。図面に示される形態は実施をするための一つの例であり、図示された実施形態に限定されるものではない。
まず、本開示の第1の実施形態によるモータ駆動装置について説明する。第1の実施形態では、ダイナミックブレーキ回路によりモータを停止させる際にモータに対して許容される許容惰走距離が、モータが設けられた機械内のモータにより駆動される可動部について予め規定された可動領域と制動開始時における可動部の位置とに基づいて設定される。
図1は、本開示の第1の実施形態によるモータ駆動装置を示す図である。
一例として、交流の電源2に接続されたモータ駆動装置1により、交流モータ(以下、単に「モータ」と称する。)3を制御する場合について示す。モータ駆動装置1は、コンバータ101と、インバータ102と、DCリンクコンデンサ103とを備える。コンバータ101は、電源2から入力される交流電力を直流電力に変換してDCリンクへ出力し、インバータ102は、DCリンクにおける直流電力をモータ3を駆動するための交流電力に変換して出力する。ここで、「DCリンク」とは、コンバータ101の直流出力側とインバータ102の直流入力側とを電気的に接続する回路部分のことを指し、「DCリンク部」、「直流リンク」、「直流リンク部」、あるいは「直流中間回路」などとも別称されることもある。DCリンクには、DCリンクコンデンサ103が設けられる。DCリンクコンデンサ103は、DCリンクにおいてエネルギー(直流電力)を蓄積する機能及びコンバータ101の直流側の出力の脈動分を抑える機能を有する。DCリンクコンデンサ103に電荷が充電されることにより、DCリンクに直流電力が蓄積されることになる。モータ駆動装置1は、一般的なモータ駆動装置と同様、インバータ102の電力変換動作を制御するための制御部(図示せず)を備える。すなわち、制御部は、エンコーダ104を介して取得されるモータ3の回転速度(速度フィードバック)、モータ3の巻線に流れる電流(電流フィードバック)、所定のトルク指令、及びモータ3の動作プログラムなどに基づいて、モータ3の速度、トルク、もしくは回転子の位置を制御するための電力変換指令を生成する。制御部によって作成された電力変換指令に基づいて、インバータ102による電力変換動作が制御される。
なお、モータ3の種類は特に限定されず、例えば誘導モータであっても同期モータであってもよい。モータ3が設けられる機械には、例えばロボットや工作機械などがある。また、電源2及びモータ3の相数は本実施形態を特に限定するものではなく、例えば三相であっても単相であってもよい。電源2の一例を挙げると、三相交流400V電源、三相交流200V電源、三相交流600V電源、単相交流100V電源などがある。図示の例では、一例として、電源2及びモータ3は三相としている。
また、代替例として、電源2をバッテリなどの直流電源で実現してもよく、この場合は、コンバータ101及びDCリンクコンデンサ103は省略され、インバータ102は直流電源である電源2から入力された直流電力をモータ3を駆動するための交流電力に変換して出力するようにすればよい。
第1の実施形態によるモータ駆動装置1は、ダイナミックブレーキ回路11と、惰走距離設定部12と、抵抗値設定部13とを備える。
ダイナミックブレーキ回路11は、モータ3の入力端子間(モータ3の巻線の相間)に設けられたリレー21と、このリレー21に直列に接続された可変抵抗器22とを有する。可変抵抗器22の抵抗値は、後述する抵抗値設定部13にて設定される。モータ3が設けられたロボットや工作機械において、例えば非常停止ボタンが作業者により操作された場合あるいはアラーム信号が発生した場合に、モータ3に発電制動(ダイナミックブレーキ)がかけられる。ダイナミックブレーキ回路11によりモータ3を制動する際は、インバータ102によるモータ3への駆動電力(交流電力)の供給を遮断し、ダイナミックブレーキ回路11においてリレー21を閉成してモータ3の入力端子間を可変抵抗器22を介して短絡する。モータ3は電源2から電気的に切り離されても界磁磁束が存在し、惰性により回転しているモータ3は発電機として働くため、これにより発生した電流は閉成されたリレー21を介して可変抵抗器22に流れ込み、モータ3に減速トルクが発生する。この減速トルクによりモータ3を制動し、最終的にはモータ3を停止させる。
惰走距離設定部12は、ダイナミックブレーキ回路11によりモータ3を制動する際にモータ3に対して許容される惰走距離である「許容惰走距離」を設定する。モータ3の惰走距離は、ダイナミックブレーキ抵抗としての可変抵抗器22の抵抗値の大きさ、エンコーダ104により取得される制動開始時のモータ3の回転速度、及びモータ3に関して規定された各種パラメータに依存する。本実施形態では、ダイナミックブレーキ回路11によりモータ3を停止させる際にモータ3に対して許容される惰走距離を、惰走距離設定部12において「許容惰走距離」として設定しておき、この設定された許容惰走距離に応じて、ダイナミックブレーキ抵抗としての可変抵抗器22の抵抗値を変更する。
抵抗値設定部13は、許容惰走距離と、モータ3に関して規定された各種パラメータと、ダイナミックブレーキ回路11による制動開始時のモータ3の回転速度とに応じて、可変抵抗器22の抵抗値を設定する。このため、抵抗値設定部13は、記憶部31と、抵抗値計算部32と、抵抗値制御部33とを有する。
抵抗値設定部13内の記憶部31は、モータ3に関して予め規定されたパラメータを記憶する。記憶部31に記憶されるモータ3についてのパラメータとしては、例えば、ロータ慣性モーメント、トルク定数、逆起電力定数、モータ極数、モータインダクタンス、及びモータ巻線の抵抗値などがある。記憶部31は、例えばEEPROM(登録商標)などのような電気的に消去・記憶可能な不揮発性メモリ、または、例えばDRAM、SRAMなどのような高速で読み書きのできるランダムアクセスメモリなどで構成される。
抵抗値設定部13内の抵抗値計算部32は、惰走距離設定部12で設定された許容惰走距離と、記憶部31に記憶された各種パラメータと、制動開始時のモータ3の回転速度とに基づき、可変抵抗器22の抵抗値を計算する。制動開始時のモータ3の回転速度は、非常停止ボタンが作業者により操作されたりアラーム信号が発生したりすることでダイナミックブレーキ回路11がモータ3に対して制動を開始する時点において、モータ3に取り付けられたエンコーダ104により取得される。
可変抵抗器22の抵抗値は、例えば次のようにして求めることができる。モータ3のロータ慣性モーメントをJ[kgm2]、トルク定数Ktを[N・m/Ap]、逆起電力定数Kvを[Vsec/rad]、モータ極数をp、モータインダクタンスをL[H]、制動開始時のモータ3の回転角周波数をω0[rad/sec]、モータ巻線抵抗とダイナミックブレーキ抵抗としての可変抵抗器22との合成抵抗値をR[Ω]としたとき、惰走距離設定部12で設定された許容惰走距離s[m]を、例えば式1のように表す。
式1で表される合成抵抗値R[Ω]についての2次方程式を解くと、式2のようになる。
また、モータ巻線抵抗の抵抗値をRm[Ω]、ダイナミックブレーキ抵抗としての可変抵抗器22の抵抗値をRDB[Ω]としたとき、合成抵抗値R[Ω]は式3のように表される。
式3に式2を代入すると、ダイナミックブレーキ抵抗としての可変抵抗器22の抵抗値RDB[Ω]は式4のように表すことができる。
ここで、制動開始時のモータ3の回転速度をN0[rotation/min]としたとき、制動開始時のモータ3の回転角周波数ω0[rad/sec]は式5のように表される。
式4に式5を代入すると、ダイナミックブレーキ抵抗としての可変抵抗器22の抵抗値RDB[Ω]は式6のように表すことができる。
抵抗値設定部13内の抵抗値計算部32は、例えば式6に従って、可変抵抗器22の抵抗値RDB[Ω]を計算する。なお、式6に基づく可変抵抗器22の抵抗値の計算式は一例であり、これ以外の計算式に従って可変抵抗器22の抵抗値を計算してもよい。抵抗値計算部32で計算された抵抗値は、抵抗値制御部33へ送られる。
なお、一般に、モータ駆動装置では、ダイナミックブレーキ回路とは別に、摩擦板をアマチュアと端板とで挟むことで摩擦力によりモータにブレーキをかける機械式ブレーキ部を備えている。本実施形態の変形例として、非常停止ボタンが作業者により操作された場合やアラーム信号が発生した場合、ダイナミックブレーキ回路11によるダイナミックブレーキ動作に加え、機械式ブレーキ部によるブレーキ動作を行うことも可能である。この場合は、ダイナミックブレーキ回路11単独で制動する場合に比べて制動力が増すので、許容惰走距離を多めにとっても、安全を確保することができる。したがって、抵抗値設定部13は、惰走距離設定部12で設定された許容惰走距離と、ダイナミックブレーキ回路11は異なる機械式ブレーキ部(図示せず)の制動力に応じて設定された惰走距離調整値と、モータ3に関して規定された各種パラメータと、ダイナミックブレーキ回路11による制動開始時のモータ3の回転速度とに応じて、可変抵抗器22の抵抗値を設定するようにしてもよい。すなわち、抵抗値設定部13内の抵抗値計算部32は、惰走距離設定部12で設定された許容惰走距離にダイナミックブレーキ回路11は異なる機械式ブレーキ部の制動力に応じて設定された惰走距離調整値を加算した値と、記憶部31に記憶されたモータ3の各種パラメータと、制動開始時のモータ3の回転速度とに基づき、可変抵抗器22の抵抗値を計算する。例えば、ダイナミックブレーキ回路11による制動開始と機械式ブレーキ部による騒動開始が同時である場合、式6に従って可変抵抗器22の抵抗値RDB[Ω]を計算することができる。この場合、式6記載中の許容惰走距離sを、「s+s’」(ただし、s’>0)に置き換えて計算すればよい。ここで、「s’」は、機械式ブレーキ部の摩擦力に依存する惰走距離調整値である。後述する第2~第4の実施形態についても同様に機械式ブレーキ部の制動動力を考慮した惰走長距離調整値を用いて許容惰走距離を調整してもよい。
抵抗値設定部13内の抵抗値制御部33は、抵抗値計算部32により計算された抵抗値を有するよう、ダイナミックブレーキ回路11内の可変抵抗器22を制御する。
なお、惰走距離設定部12、抵抗値設定部13、及びインバータ102を制御するための制御部(図示せず)は、例えばソフトウェアプログラム形式で構築されてもよく、あるいは各種電子回路とソフトウェアプログラムとの組み合わせで構築されてもよい。例えばこれらをソフトウェアプログラム形式で構築する場合は、モータ駆動装置1内やモータ駆動装置1が設けられたロボットや工作機械内にある例えばMPUやDSPなどの演算処理装置をこのソフトウェアプログラムに従って動作させることで、上述の各部の機能を実現することができる。またあるいは、惰走距離設定部12、抵抗値設定部13、及びインバータ102を制御するための制御部を、各部の機能を実現するソフトウェアプログラムを書き込んだ半導体集積回路として実現してもよい。
本開示の第1の実施形態では、惰走距離設定部12は、許容惰走距離を、モータ3が設けられた機械(ロボットや工作機械)内のモータ3により駆動される可動部について予め規定された可動領域と制動開始時における可動部の位置とに基づいて設定する。図2は、本開示の第1の実施形態における許容惰走距離の設定を説明する図であって、(A)はモータに対する制動開始時のロボットを示し、(B)はモータに対するダイナミックブレーキにより停止させられたロボットを示す。ここでは、モータ駆動装置1及びこれにより駆動されるモータ3(図2では図示せず)が設けられたロボット1000を例にとり説明する。ロボット1000の可動部であるアーム200の可動領域が予め規定されている場合、通常は、ロボット1000の外部の物体である障害物500は、安全を確保するために、ロボット1000の可動部であるアーム200の可動領域の外側に位置する。障害物500の例としては、人、柵、他のロボット、工作機械、あるいは各種機器などがある。図2において、可動部であるアーム200の可動領域の境界線を点線で示す。本開示の第1の実施形態では、許容惰走距離を、アーム200の可動領域と制動開始時におけるアーム200の位置との間の距離以下の値に設定する。許容惰走距離は、可動部であるアーム200の可動領域の境界線(図2において点線で示す。)と制動開始時におけるアーム200の位置との間の距離以下の値に設定すればよく、例えば、アーム200の可動領域の境界線と制動開始時におけるアーム200の位置との間の距離を許容惰走距離に設定してもよく、あるいは多少余裕をもって、アーム200の可動領域の境界線と制動開始時におけるアーム200の位置との間の距離に所定のマージンを加えた距離を設定してもよい。いずれの場合においても、ダイナミックブレーキ回路11による制動完了時にはアーム200は可動領域の内方(すなわち、ロボット1000の本体に近い方)に停止する。なお、モータ3の回転動作によりアーム200は3次元的な動きをするので、アーム200自体の可動距離はモータ3の回転方向の距離とは、数値的には一致していないが、一対一の対応関係がある。したがって、惰走距離設定部12では、モータ3の回転方向との距離とモータ3が当該回転を行ったときのアーム200の可動距離との関係を表す計算式を例えばアーム200の長さやギア比を考慮して事前に求めておき、この計算式を用いてアーム200の可動領域をモータ3の回転方向の距離に換算し、許容惰走距離を設定すればよい。後述する第2~第4の実施形態についても惰走距離設定部12では同様の換算処理が行われる。
図2(A)に示すようにロボット1000の動作時に例えば作業者により非常停止ボタンが操作された場合、モータ駆動装置1内のダイナミックブレーキ回路11(図2では図示せず)は、モータ3に対する制動を開始する。惰走距離設定部12は、制動開始時におけるアーム200の位置に関する情報をロボット1000の制御装置(図示せず)から取得し、アーム200について予め規定された可動領域と制動開始時におけるアーム200の位置とに基づいて許容惰走距離を設定する。許容惰走距離は、例えばアーム200の可動領域の境界線と制動開始時におけるアーム200の位置との間の距離以下の値に設定される。抵抗値計算部32は、惰走距離設定部12で設定された許容惰走距離と、記憶部31に記憶された各種パラメータと、制動開始時のモータ3の回転速度とに基づき、ダイナミックブレーキ回路11内の可変抵抗器22の抵抗値を計算する。抵抗値設定部13内の抵抗値制御部33は、抵抗値計算部32により計算された抵抗値を有するよう可変抵抗器22を制御する。ダイナミックブレーキ回路11がモータ3を制動している間、ダイナミックブレーキ回路11内の可変抵抗器22は、抵抗値計算部32により計算された抵抗値にて動作し、これにより、モータ3は惰走しつつも徐々に減速し、最終的には図2(B)に示すようにアーム200は許容惰走距離に達して停止する。よって、本開示の第1の実施形態によれば、ロボット1000の非常停止の際、アーム200が障害物500と衝突することがないので安全が確保される。また、設定された許容惰走距離が、モータ3が取り得る最短の惰走距離よりも長い距離であれば、モータ3の惰走距離が最短である場合に比べ、ダイナミックブレーキ回路11にかかる負担を軽減することができ、さらには、ダイナミックブレーキ回路11によるモータ3に対する急激な制動を回避することができるので、モータ3及びモータ3が設けられたロボット1000に係る負担を軽減することができる。したがって、ダイナミックブレーキ回路11、モータ3、及びロボット1000の長寿命化を図ることも可能である。
なお、ロボット1000が多関節ロボットである場合、ロボット1000内には複数のモータ3が設けられる。ここで、多関節ロボットであるロボット1000のアーム200を構成する個々の部位をアームセグメントと称する。複数のアームセグメントの各々を駆動するためにモータ3が複数設けられる。ロボット1000が多関節ロボットである場合、アームセグメントがそれぞれ3次元的に動作することで、結果としてアーム200の先端が3次元的に動作する。アーム200の先端部分の可動方向及び可動距離は、アームセグメントの各々の可動方向及び可動距離を合成したものとなる。この場合、惰走距離設定部12は、許容惰走距離を、ロボット1000内の複数のモータ3の各々により駆動される複数の可動部(アームセグメント)のうちの少なくとも1つの可動部(アームセグメント)について予め規定された可動領域と当該少なくとも1つの可動部(アームセグメント)の制動開始時の位置とに基づいて設定するようにしてもよい。例えば、アーム200を構成する複数のアームセグメントのうち、中間付近に位置するアームセグメントの可動領域が大きいような場合、許容惰走距離を、当該中間付近に位置するアームセグメントについて規定された可動領域と当該中間付近に位置するアームセグメントの制動開始時の位置とに基づいて設定するようにしてもよい。また例えば、アーム200を構成する複数のアームセグメントのうち、可動領域が最も大きいアームセグメントについて規定された可動領域と、当該アームセグメントの制動開始時の位置とに基づいて設定するようにしてもよい。また例えば、アーム200を構成する複数のアームセグメントのうち、障害物500に最も近づくような可動領域を有するアームセグメントについて規定された可動領域と障害物500に最も近づくアームセグメントの制動開始時の位置とに基づいて設定するようにしてもよい。また例えば、許容惰走距離の設定の際には、アームセグメントの長さ、アームセグメントの可動方向、あるいはアームセグメントの可動速度などを適宜考慮してもよい。
図3は、本開示の第1の実施形態によるモータ駆動装置におけるダイナミックブレーキ動作時の動作フローを示すフローチャートである。
モータ駆動装置1によりモータ3の駆動を制御している状態において(ステップS101)、ステップS102において、モータ駆動装置1は、非常停止ボタンが操作されたか否かを判定する。
ステップS102において非常停止ボタンが操作されたと判定された場合、ステップS103において、モータ3に設けられたエンコーダ104は、モータ3の回転速度を取得する。エンコーダ104により取得されたモータ3の回転速度は、抵抗値計算部32へ送られる。また、惰走距離設定部12は、制動開始時(非常停止ボタン操作時)におけるアーム200の位置に関する情報をロボット1000の制御装置から取得し、アーム200について予め規定された可動領域と制動開始時におけるアーム200の位置とに基づいて許容惰走距離を設定する。
ステップS104において、抵抗値計算部32は、惰走距離設定部12で設定された許容惰走距離と、記憶部31に記憶された各種パラメータと、制動開始時のモータ3の回転速度とに基づき、可変抵抗器22の抵抗値を計算する。抵抗値計算部32で計算された抵抗値は、抵抗値制御部33へ送られる。
ステップS105において、抵抗値制御部33は、抵抗値計算部32により計算された抵抗値を有するよう、ダイナミックブレーキ回路11内の可変抵抗器22を制御する。
ステップS106において、ダイナミックブレーキ回路11は、抵抗値計算部32により計算された抵抗値を有する可変抵抗器22の下でモータ3を制動する。これにより、モータ3は惰走しつつも徐々に減速し、最終的にはモータ3は許容惰走距離に達して停止する。
続いて、本開示の第2の実施形態によるモータ駆動装置を備えるモータ駆動システムについて説明する。第2の実施形態では、モータが設けられた機械内のモータにより駆動される可動部に距離センサが設けられる。そして、ダイナミックブレーキ回路によりモータを制動する際にモータに対して許容される許容惰走距離が、距離センサにより測定された可動部と障害物との間の距離に基づいて設定される。
図4は、本開示の第2の実施形態によるモータ駆動装置を備えるモータ駆動システムを示す図である。また、図5は、本開示の第2の実施形態における許容惰走距離の設定を説明する図であって、(A)はモータに対する制動開始時のロボットを示し、(B)はモータに対するダイナミックブレーキにより停止させられたロボットを示す。
第2の実施形態においては、モータ駆動システムは、モータ駆動装置1と、モータ3及びモータ3が駆動する可動部を備えた機械(ロボット1000)と、距離センサ14とを備える。
距離センサ14は、モータ3が設けられた機械(図5に示す例ではロボット1000)内のモータ3により駆動される可動部(図5に示す例ではアーム200)に設けられ、可動部とロボット1000の外部の物体である障害物500との間の距離を測定する。障害物500の例としては、人、柵、他のロボットもしくは工作機械、あるいは各種機器などがある。距離センサ14は、可動部であるアーム200の可動方向のうちロボット1000の本体から最も離れていく方向に位置するように、アーム200上に設けられるのが好ましい。例えば、可動部であるアーム200の先端や、アーム200の側面などに距離センサ14を設けることができる。なお、距離センサ14は、測定対象との間の距離を測定することができるものであればよく、例えば画像処理により距離を測定するセンサ、レーザ光の反射により距離を測定するセンサ、あるいは、マイクロ波を用いたドップラーセンサなどがある。
惰走距離設定部12は、許容惰走距離を、制動開始時に距離センサ14により測定されたアーム200と障害物500との間の距離に基づいて設定する。
距離センサ14及び惰走距離設定部12以外の各構成は、図1を参照して説明した第1の実施形態における構成と同様である。
以下、モータ駆動装置1及びこれにより駆動されるモータ3(図5では図示せず)が設けられたロボット1000を例にとり、第2の実施形態における非常停止時のダイナミックブレーキ動作について説明する。図5(A)に示すようにロボット1000の動作時に例えば作業者により非常停止ボタンが操作された場合、可動部であるアーム200の先端に設けられた距離センサ14は、当該距離センサ14(すなわちアーム200の先端)と障害物500との間の距離を測定する。距離センサ14により測定された距離は惰走距離設定部12へ送られる。惰走距離設定部12は、許容惰走距離を、制動開始時に距離センサ14により測定された距離に基づいて設定する。許容惰走距離は、制動開始時に距離センサ14により測定された距離以下の値に設定されればよく、例えば距離センサ14が測定した距離に設定してもよく、あるいは多少余裕をもって距離センサ14が測定した距離よりも短い距離に設定してもよい。なお、惰走距離設定部12による許容惰走距離の設定の際には、第1の実施形態と同様、モータ3の回転方向との距離とモータ3が当該回転を行ったときのアーム200の可動距離との関係を表す計算式を例えばアーム200の長さやギア比を考慮して事前に求めておき、この計算式を用いてアーム200の可動領域をモータ3の回転方向の距離に換算し、許容惰走距離を設定する処理が行われる。作業者による非常停止ボタンの操作により、モータ駆動装置1内のダイナミックブレーキ回路11(図5では図示せず)は、モータ3に対する制動を開始する。抵抗値設定部13内の抵抗値計算部32は、惰走距離設定部12で設定された許容惰走距離と、記憶部31に記憶された各種パラメータと、制動開始時のモータ3の回転速度とに基づき、ダイナミックブレーキ回路11内の可変抵抗器22の抵抗値を計算する。抵抗値設定部13内の抵抗値制御部33は、抵抗値計算部32により計算された抵抗値を有するよう可変抵抗器22を制御する。ダイナミックブレーキ回路11がモータ3を制動している間、ダイナミックブレーキ回路11内の可変抵抗器22は、抵抗値計算部32により計算された抵抗値にて動作し、これにより、モータ3は惰走しつつも徐々に減速し、最終的には図5(B)に示すようにアーム200は許容惰走距離に達して停止する。よって、本開示の第2の実施形態によれば、ロボット1000の非常停止の際、アーム200が障害物500と衝突することがないので安全が確保される。また、設定された許容惰走距離が、モータ3が取り得る最短の惰走距離よりも長い距離であれば、モータ3の惰走距離が最短である場合に比べ、ダイナミックブレーキ回路11にかかる負担を軽減することができ、さらには、ダイナミックブレーキ回路11によるモータ3に対する急激な制動を回避することができるので、モータ3及びモータ3が設けられたロボット1000に係る負担を軽減することができる。したがって、ダイナミックブレーキ回路11、モータ3、及びロボット1000の長寿命化を図ることも可能である。
なお、ロボット1000が多関節ロボットである場合、ロボット1000内の複数のモータ3の各々により駆動される複数の可動部であるアームセグメントの各々に距離センサ14を設け、惰走距離設定部12は、許容惰走距離を、複数の距離センサ14のうちの少なくとも1つの距離センサ14により測定された距離に基づいて設定するようにしてもよい。例えば、アーム200を構成するアームセグメントの各々に設けられた距離センサ14が測定した障害物500との間の距離のうち、最も短い距離を、許容惰走距離に設定してもよい。また例えば、アーム200を構成する複数のアームセグメントのうち、可動領域が最も大きいアームセグメントにのみ距離センサ14を設置し、この距離センサ14が測定した距離に基づいて許容惰走距離を設定するようにしてもよい。また例えば、アーム200を構成する複数のアームセグメントのうち、障害物500に最も近づくような可動領域を有するアームセグメントにのみ距離センサ14を設置し、この距離センサ14が測定した距離に基づいて許容惰走距離を設定するようにしてもよい。また例えば、許容惰走距離の設定の際には、アームセグメントの長さ、アームセグメントの可動方向、あるいはアームセグメントの可動速度などを適宜考慮してもよい。
図6は、本開示の第2の実施形態によるモータ駆動装置を備えるモータ駆動システムにおけるダイナミックブレーキ動作時の動作フローを示すフローチャートである。
モータ駆動装置1によりモータ3の駆動を制御している状態において(ステップS201)、ステップS202において、モータ駆動装置1は、非常停止ボタンが操作されたか否かを判定する。
ステップS202において非常停止ボタンが操作されたと判定された場合、ステップS203において、距離センサ14は、モータ3が設けられた機械(図5に示す例ではロボット1000)内のモータ3により駆動される可動部と障害物500との間の距離を測定する。距離センサ14により測定された距離は惰走距離設定部12へ送られる。
ステップS204において、惰走距離設定部12は、許容惰走距離を、制動開始時に距離センサ14により測定された距離に基づいて設定する。設定された許容惰走距離は、抵抗値計算部32へ送られる。
ステップS205において、モータ3に設けられたエンコーダ104は、モータ3の回転速度を取得する。エンコーダ104により取得されたモータ3の回転速度は、抵抗値計算部32へ送られる。
なお、ステップS204における惰走距離設定部12による許容惰走距離設定処理と、ステップS205におけるエンコーダ104による回転速度検出処理とは、順序を入れ替えて実行してもよい。
ステップS206において、抵抗値計算部32は、惰走距離設定部12で設定された許容惰走距離と、記憶部31に記憶された各種パラメータと、制動開始時のモータ3の回転速度とに基づき、可変抵抗器22の抵抗値を計算する。抵抗値計算部32で計算された抵抗値は、抵抗値制御部33へ送られる。
ステップS207において、抵抗値制御部33は、抵抗値計算部32により計算された抵抗値を有するよう、ダイナミックブレーキ回路11内の可変抵抗器22を制御する。
ステップS208において、ダイナミックブレーキ回路11は、抵抗値計算部32により計算された抵抗値を有する可変抵抗器22の下でモータ3を制動する。これにより、モータ3は惰走しつつも徐々に減速し、最終的にはモータ3は許容惰走距離に達して停止する。
続いて、本開示の第3の実施形態によるモータ駆動装置について説明する。第3の実施形態では、作業者が外部から許容惰走距離を任意に設定可能としたものである。
図7は、本開示の第3の実施形態によるモータ駆動装置を示す図である。
第3の実施形態によるモータ駆動装置1は、図1~図3を参照して説明した第1の実施形態によるモータ駆動装置の構成に加え、許容惰走距離を惰走距離設定部12に入力するための入力部15をさらに備える。入力部15で入力された許容惰走距離は、惰走距離設定部12を経たのち、抵抗値設定部13内の抵抗値計算部32に入力される。入力部15以外の各構成は、図1を参照して説明した第1の実施形態における構成と同様である。入力部15の例としては、キーボード、マウス、タッチパネルなどがある。また例えばロボットの操作盤や工作機械の数値制御装置に設けられた入力部と兼用であってもよい。入力部15に設けることで、作業者が任意に許容惰走距離を設定することができ、モータ駆動装置1が駆動するモータ3が設けられた機械(ロボットや工作機械)などの運用の柔軟性が向上する。
なお、第3の実施形態による入力部15を、第1の実施形態及び第2の実施形態並びに後述する第4の実施形態によるモータ駆動装置1にさらに設けてもよい。
続いて、本開示の第4の実施形態によるモータ駆動装置について説明する。第4の実施形態では、モータ3が設けられた機械(ロボットや工作機械)の周囲に、予め規定された検知領域内への当該機械の可動部の侵入を検知するエリアセンサがさらに設けられる。エリアセンサにより当該機械が検知領域内に入ったことを検知したときのモータの回転速度に基づき、可変抵抗器の抵抗値が計算される。
図8は、本開示の第4の実施形態によるモータ駆動装置を備えるモータ駆動システムを示す図である。また、図9は、本開示の第4の実施形態における許容惰走距離の設定を説明する図であって、(A)は通常動作時のロボットを示し、(B)は機械の可動部がエリアセンサの検知範囲に侵襲したときのロボットを示し、(C)はモータに対するダイナミックブレーキにより停止させられたロボットを示す。
第4の実施形態においては、モータ駆動システムは、モータ駆動装置1と、モータ3及びモータ3が駆動する可動部を備えた機械(ロボット1000)と、エリアセンサ16とを備える。
エリアセンサ16は、モータ3が設けられた機械(図9に示す例ではロボット1000)の周囲に設けられる。エリアセンサ16は、モータ3が設けられた機械(図9に示す例ではロボット1000)可動部(図5に示す例ではアーム200)が、予め規定された検知領域内に侵入したか否かを検知する。なお、エリアセンサ16は、予め規定された検知領域内に何からの物体が入ったか否かを検知できるものであればよく、例えば画像処理により物体の侵入を検知するセンサ、レーザ光により物体の侵入を検知するセンサ、赤外線により物体の侵入を検知するセンサ、あるいは、マイクロ波を用いたドップラーセンサなどがある。
通常は、人、柵、他のロボットもしくは工作機械、あるいは各種機器などの障害物500は、安全を確保するために、ロボット1000の可動部であるアーム200の可動領域の外側に位置すべきである。よって、エリアセンサ16は、障害物500の近傍に設置されるのが好ましい。許容惰走距離については、第1の実施形態と同様に、モータ3が設けられた機械(ロボットや工作機械)内のモータ3により駆動される可動部について予め規定された可動領域と制動開始時における可動部の位置とに基づいて事前に設定しておく。またさらに、障害物500についてより高度な安全を確保するために、許容惰走距離よりも短い「安全距離」を事前に設定しておく。安全距離として、例えばモータ3が取り得る最短の惰走距離を設定してもよい。
エリアセンサ16が検知領域へのアーム200の進入を検知したとき、抵抗値設定部13は、惰走距離設定部12で設定されていた許容惰走距離を安全距離に変更するとともに、この安全距離と、モータ3についての各種パラメータと、制動開始時のモータ3の回転速度とに応じて、可変抵抗器22の抵抗値を設定する。すなわち、抵抗値設定部13内の抵抗値計算部32は、エリアセンサ16が検知領域へのアーム200の進入を検知したときは、許容惰走距離よりも短い安全距離と、記憶部31に記憶されたモータ3についての各種パラメータと、制動開始時モータ3の回転速度とに基づき、ダイナミックブレーキ回路11内の可変抵抗器22の抵抗値を計算する。
エリアセンサ16及び抵抗値計算部32以外の各構成は、図1を参照して説明した第1の実施形態における構成と同様である。
ここでは、モータ駆動装置1及びこれにより駆動されるモータ3(図9では図示せず)が設けられたロボット1000を例にとり、第4の実施形態における非常停止時のダイナミックブレーキ動作について説明する。図9(A)に示すようにロボット1000が通常動作していた後、図9(B)に示すようにロボット1000の動作時に例えば作業者により非常停止ボタンが操作された時点でエリアセンサ16が検知領域内へのアーム200の侵入を検知した場合、エリアセンサ16の検知結果(検知信号)が、抵抗値設定部13へ送られる。抵抗値設定部13は、惰走距離設定部12で設定されていた許容惰走距離を安全距離に変更するとともに、抵抗値設定部13内の抵抗値計算部32は、この安全距離と、モータ3についての各種パラメータと、制動開始時のモータ3の回転速度とに応じて、可変抵抗器22の抵抗値を計算する。作業者による非常停止ボタンの操作により、モータ駆動装置1内のダイナミックブレーキ回路11(図9では図示せず)は、モータ3に対する制動を開始する。抵抗値計算部32は、安全距離と、記憶部31に記憶された各種パラメータと、制動開始時のモータ3の回転速度とに基づき、ダイナミックブレーキ回路11内の可変抵抗器22の抵抗値を計算する。抵抗値設定部13内の抵抗値制御部33は、抵抗値計算部32により計算された抵抗値を有するよう可変抵抗器22を制御する。ダイナミックブレーキ回路11がモータ3を制動している間、ダイナミックブレーキ回路11内の可変抵抗器22は、抵抗値計算部32により計算された抵抗値にて動作し、これにより、モータ3は惰走しつつも徐々に減速し、図9(C)に示すようにアーム200は安全距離に達した時点で停止する。なお、作業者により非常停止ボタンが操作された時点でエリアセンサ16が検知領域内へのアーム200の侵入を検知しなかった場合は、抵抗値設定部13は、惰走距離設定部12で設定されていた許容惰走距離は変更せず、抵抗値設定部13内の抵抗値計算部32は、この許容惰走距離と、モータ3についての各種パラメータと、制動開始時のモータ3の回転速度とに応じて、可変抵抗器22の抵抗値を計算する。この場合、これにより、モータ3は惰走しつつも徐々に減速し、アーム200は許容惰走距離に達した時点で停止する。よって、本開示の第4の実施形態によれば、ロボット1000の非常停止の際、アーム200が障害物500と衝突することがないので安全が確保される。また、安全距離として、モータ3が取り得る最短の惰走距離を設定しておけば、エリアセンサ16が検知領域へのアーム200の進入を検知した場合はモータ3を最短の惰走距離(すなわち安全距離)で停止させ、エリアセンサ16が検知領域へのアーム200の進入を検知しなかった場合はモータ3を安全距離(例えば最短の惰走距離)よりも長い許容惰走距離で停止させことができるので、ダイナミックブレーキ回路11にかかる負担を軽減することができ、さらには、ダイナミックブレーキ回路11によるモータ3に対する急激な制動を行う回数を低減することができるので、モータ3及びモータ3が設けられたロボット1000に係る負担を軽減することができる。したがって、ダイナミックブレーキ回路11、モータ3、及びロボット1000の長寿命化を図ることも可能である。また、第4の実施形態におけるエリアセンサ16は、第2の実施形態における距離センサ14よりも安価である。
図10は、本開示の第4の実施形態によるモータ駆動装置におけるダイナミックブレーキ動作時の動作フローを示すフローチャートである。
本開示の第4の実施形態では、惰走距離設定部12により、許容惰走距離を、モータ3が設けられた機械(ロボットや工作機械)内のモータ3により駆動される可動部について予め規定された可動領域に基づいて事前に設定しておく。また、安全距離を、許容惰走距離よりも短い距離にて事前に設定しておく。
モータ駆動装置1によりモータ3の駆動を制御している状態において(ステップS301)、ステップS302において、モータ駆動装置1は、非常停止ボタンが操作されたか否かを判定する。
ステップS302において非常停止ボタンが操作されたと判定された場合、ステップS303において、モータ3に設けられたエンコーダ104は、モータ3の回転速度を取得する。エンコーダ104により取得されたモータ3の回転速度は、抵抗値計算部32へ送られる。
ステップS304において、エリアセンサ16は、モータ3が設けられた機械(図9に示す例ではロボット1000)の可動部(図5に示す例ではアーム200)が検知領域内に侵入したか否かを検知する。ステップS304において可動部の侵入を検知したと判定された場合はステップS305へ進み、可動部の侵入を検知したと判定されなかった場合はステップS308へ進む。
ステップS303においてエリアセンサ16の検知領域内に入ったと判定された場合は、ステップS305において、抵抗値設定部13は、惰走距離設定部12で設定されていた許容惰走距離をより短い安全距離に変更するとともに、抵抗値設定部13内の抵抗値計算部32は、安全距離と、記憶部31に記憶されたモータ3についての各種パラメータと、ステップS303で検出された制動開始時モータ3の回転速度とに基づき、ダイナミックブレーキ回路11内の可変抵抗器22の抵抗値を計算する。抵抗値計算部32で計算された抵抗値は、抵抗値制御部33へ送られる。
一方、ステップS304においてエリアセンサ16の検知領域内に入ったと判定されなかった場合は、ダイナミックブレーキ回路11内の可変抵抗器22の抵抗値は変更せず、ステップS308において、抵抗値計算部32は、惰走距離設定部12で設定された許容惰走距離と、記憶部31に記憶された各種パラメータと、ステップS303で検出された制動開始時のモータ3の回転速度とに基づき、可変抵抗器22の抵抗値を計算する。抵抗値計算部32で計算された抵抗値は、抵抗値制御部33へ送られる。
ステップS306において、抵抗値制御部33は、抵抗値計算部32により計算された抵抗値を有するよう、ダイナミックブレーキ回路11内の可変抵抗器22を制御する。
ステップS307において、ダイナミックブレーキ回路11は、抵抗値計算部32により計算された抵抗値を有する可変抵抗器22の下でモータ3を制動する。これにより、モータ3は惰走しつつも徐々に減速し、ステップS305において安全距離に基づき抵抗値を計算した場合はモータ3は安全距離に達して停止し、ステップS308において許容惰走距離に基づき抵抗値を計算した場合はモータ3は許容惰走距離に達して停止する。
なお、上述の各実施形態では、モータ3に設けられる機械としてロボット1000を例にとり説明したが、工作機械であってもよい。各実施形態を工作機械に適用する場合、モータ3が設けられた工作機械内のモータ3により駆動される可動部は、例えば工具及びワークの把持部などが該当し、障害物500は、例えば工作機械の工具が加工するワーク、当該工具とは異なる他の工具、及び工作機械において工具及び把持部を内包する作業室内の内壁などが該当する。この場合、惰走距離設定部12による許容惰走距離の設定の際には、上述の各実施形態と同様、モータ3の回転方向との距離とモータ3が当該回転を行ったときの可動部は、例えば工具及びワークの把持部との関係を表す計算式を例えば工具やワークの把持部を駆動する駆動軸の長さやギア比を考慮して事前に求めておき、この計算式を用いて工具及びワークの把持部の可動領域をモータ3の回転方向の距離に換算し、許容惰走距離を設定する処理が行われる。作業者による非常停止ボタンの操作により、モータ駆動装置1内のダイナミックブレーキ回路11は、モータ3に対する制動を開始する。抵抗値設定部13内の抵抗値計算部32は、惰走距離設定部12で設定された許容惰走距離と、記憶部31に記憶された各種パラメータと、制動開始時のモータ3の回転速度とに基づき、ダイナミックブレーキ回路11内の可変抵抗器22の抵抗値を計算する。抵抗値設定部13内の抵抗値制御部33は、抵抗値計算部32により計算された抵抗値を有するよう可変抵抗器22を制御する。なお、モータ3に設けられる機械を工作機械した場合、モータ3が設けられた工作機械内のモータ3により駆動される可動部を工具とするかあるいはワークの把持部とするかは、例えば工作機械の運用状況や周辺環境などに応じて作業者が適宜設定すればよい。