以下図面を参照して、回生ブレーキ回路及びダイナミックブレーキ回路を有するモータ駆動装置について説明する。理解を容易にするために、これらの図面は縮尺を適宜変更している。図面に示される形態は実施をするための一つの例であり、図示された実施形態に限定されるものではない。
まず、本開示の第1の実施形態によるモータ駆動装置について説明する。第1の実施形態では、制動する際にモータが惰走する距離が許容惰走距離以下になるように、回生ブレーキ回路及びダイナミックブレーキ回路による制動動作が制御される。
図1は、本開示の第1の実施形態によるモータ駆動装置を示す図である。
一例として、モータ駆動装置1により、交流モータ(以下、単に「モータ」と称する。)3を制御する場合について示す。モータ3の種類は特に限定されず、例えば誘導モータであっても同期モータであってもよい。モータ3が設けられる機械には、例えばロボットや工作機械などがある。また、モータ3の相数は本実施形態を特に限定するものではなく、例えば三相であっても単相であってもよい。
第1の実施形態によるモータ駆動装置1は、電源部11と、インバータ12と、回生ブレーキ回路13と、ダイナミックブレーキ回路14と、ブレーキ制御部15と、許容惰走距離設定部16とを備える。
電源部11は、直流電力をDCリンクへ供給する。図示の例では、電源部11は、交流電源2とコンバータ101とで構成される。
交流電源2の一例を挙げると、三相交流400V電源、三相交流200V電源、三相交流600V電源、単相交流100V電源などがある。図示の例では、一例として、交流電源2は三相としている。
コンバータ101は、交流電源2から供給される交流電力を直流電力に変換してDCリンクへ出力する順変換器である。コンバータ101は、交流電源2から三相交流が供給される場合は三相ブリッジ回路で構成され、交流電源2から単相交流が供給される場合は単相ブリッジ回路で構成される。コンバータ101の例としては、ダイオード整流回路、120度通電型整流回路、及びPWMスイッチング制御方式の整流回路などがある。例えば、コンバータ101がPWMスイッチング制御方式の整流回路である場合は、スイッチング素子及びこれに逆並列に接続されたダイオードのブリッジ回路からなり、上位制御装置(図示せず)から受信した駆動指令に応じて各スイッチング素子がオンオフ制御されて交直双方向に電力変換を行う。スイッチング素子の例としては、FETなどのユニポーラトランジスタ、バイポーラトランジスタ、IGBT、サイリスタ、GTOなどがあるが、スイッチング素子の種類自体は本実施形態を限定するものではなく、その他のスイッチング素子であってもよい。
なお、「DCリンク」とは、コンバータ101の直流出力側と後述するインバータ12の直流入力側とを電気的に接続する回路部分のことを指し、「DCリンク部」、「直流リンク」、「直流リンク部」、「直流母線」あるいは「直流中間回路」などとも別称されることもある。DCリンクには、DCリンクコンデンサ103が設けられる。DCリンクコンデンサ103は、DCリンクにおいてエネルギー(直流電力)を蓄積する機能及びコンバータ101の直流側の出力の脈動分を抑える機能を有する。DCリンクコンデンサ103に電荷が充電されることにより、DCリンクに直流電力が蓄積されることになる。
また、代替例として、電源部11をバッテリなどの直流電源で実現してもよい。この場合は、後述するインバータ12は、直流電源から供給された直流電力をモータ3を駆動するための交流電力に変換して出力する。
インバータ12は、DCリンクにおける直流電力とモータ3の駆動電力または回生電力である交流電力との間で電力変換を行う。図示の例では、モータ3は三相交流モータであるので、インバータ12は、三相ブリッジ回路として構成される。モータ3が単相モータである場合はインバータ12は、単相ブリッジ回路として構成される。インバータ12の例としては、内部に半導体スイッチング素子を備えるPWMインバータなどがある。インバータ12がPWMインバータで構成される場合は、半導体スイッチング素子及びこれに逆並列に接続された還流ダイオードのブリッジ回路からなる。この場合、半導体スイッチング素子の例としては、IGBT、FET、サイリスタ、GTO、SiC、トランジスタなどがあるが、半導体スイッチング素子の種類自体は本実施形態を限定するものではなく、その他の半導体スイッチング素子であってもよい。
モータ駆動装置1は、一般的なモータ駆動装置と同様、インバータ12の電力変換動作を制御するためのモータ制御部(図示せず)を備える。モータ制御部は、エンコーダ18を介して取得されるモータ3の回転速度(速度フィードバック)、モータ3の巻線に流れる電流(電流フィードバック)、所定のトルク指令、及びモータ3の動作プログラムなどに基づいて、モータ3の速度、トルク、もしくは回転子の位置を制御するための電力変換指令を生成する。モータ制御部によって作成された電力変換指令に基づいて、インバータ12による電力変換動作が制御される。より詳細には、インバータ12は、モータ制御部から受信したスイッチング指令に基づき内部の半導体スイッチング素子をスイッチング動作させ、DCリンクを介して電源部11から供給される直流電力を、モータ3を駆動するための所望の電圧及び所望の周波数を有する交流電力に変換する(逆変換動作)。これにより、モータ3は回転駆動することになる。また、モータ3の減速時には回生電力が発生することがあるが、モータ制御部から受信した駆動指令に基づき内部の半導体スイッチング素子をスイッチング動作させ、モータ3で発生した交流の回生電力を直流電力へ変換してDCリンクへ戻す(順変換動作)。モータ制御部は、例えばソフトウェアプログラム形式で構築されてもよく、あるいは各種電子回路とソフトウェアプログラムとの組み合わせで構築されてもよい。この場合、例えば、CPUやMPUDSPなどの演算処理装置にこのソフトウェアプログラムを動作させて各部の機能を実現することができる。またあるいは、モータ制御部の機能を実現するソフトウェアプログラムを書き込んだ半導体集積回路として実現してもよい。
回生ブレーキ回路13は、回生抵抗21と、この回生抵抗21に直列に接続される第1のスイッチ22とを有する。図示のように、回生抵抗21と第1のスイッチ22とからなる直列回路は、インバータ12の直流側の正負の直流端子間に設けられる。回生抵抗21にはダイオードが並列に接続される。第1のスイッチ22は、リレーや半導体スイッチング素子などで構成され、後述するブレーキ制御部15により生成されるブレーキ指令によりオンオフが制御される。回生ブレーキ回路13によりモータ3を制動する際は、回生ブレーキ回路13において第1のスイッチ22をオンしてインバータ12の直流端子間を回生抵抗21を介して短絡する。インバータ12の還流ダイオードを介してインバータ12の交流側から直流側に流入するエネルギーは、回生抵抗21でジュール熱に変換されて消費され、その結果、モータ3に減速トルクが発生する。この減速トルクによりモータ3を制動し、最終的にはモータ3を停止させる。
ダイナミックブレーキ回路14は、ダイナミックブレーキ(DB)抵抗23と、このダイナミックブレーキ抵抗23に直列に接続される第2のスイッチ24とを有する。図示のように、ダイナミックブレーキ抵抗23と第2のスイッチ24とからなる直列回路は、モータ3の入力端子間(モータ3の巻線の相間)に設けられる。第2のスイッチ24は、リレーや半導体スイッチング素子などで構成され、後述するブレーキ制御部15により生成されるブレーキ指令によりオンオフが制御される。ダイナミックブレーキ回路14によりモータ3を制動する際は、インバータ12によるモータ3への駆動電力の供給を遮断した上で、ダイナミックブレーキ回路14において第2のスイッチ24をオンしてモータ3の入力端子間をダイナミックブレーキ抵抗23を介して短絡する。モータ3は電源から電気的に切り離されても界磁磁束が存在し、惰性により回転しているモータ3は発電機として働くため、これにより発生した電流はオンした第2のスイッチ24を介してダイナミックブレーキ抵抗23に流れ込み、ダイナミックブレーキ抵抗23でジュール熱に変換されて消費され、その結果、モータ3に減速トルクが発生する。この減速トルクによりモータ3を制動し、最終的にはモータ3を停止させる。
ブレーキ制御部15は、モータ3の回転速度と、モータ3に関して予め規定されたモータパラメータとに基づいて、回生ブレーキ回路13及びダイナミックブレーキ回路14のうちの少なくとも1つに対してブレーキオン指令を出力する。ブレーキ制御部15による回生ブレーキ回路13及びダイナミックブレーキ回路14に対する制御の詳細については後述する。
なお、ブレーキ制御部15による制御に用いられるモータ3の回転速度は、図示の例では、モータ3に取り付けられたエンコーダ18によって取得される。この代替例として、ブレーキ制御部15による制御に用いられるモータ3の回転速度として、予め規定された一定値を設定してもよく、この場合はエンコーダ18は省略される。
例えば、モータ3に対して予め規定された最大回転速度(一定値)を、ブレーキ制御部15による制御に用いられるモータ3の回転速度として設定してもよい。モータ3の最大回転速度は、例えば、モータ3に対して許容される最大回転速度としてモータ3の仕様書に規定されたものであってもよく、あるいは、モータ駆動装置1にてモータ3を実際に駆動する際にとり得る最大回転速度であってもよい。モータ3のとり得るあらゆる回転速度のうち最大回転速度からの制動が、最も安全を確保するのが難しい状況であるといえるので、モータ3の最大回転速度を、ブレーキ制御部15による制御に用いれば、確実に安全を確保することができる。
また例えば、モータ3が一定速度で回転する状態が多い機械においては、モータ駆動装置1にてモータ3を実際に駆動する際において最もとり得る一定値の回転速度を、ブレーキ制御部15による制御に用いられるモータ3の回転速度として設定してもよい。この場合、例えばエンコーダ18を用いる必要がないので、低コストで本実施形態を実現することができる。
許容惰走距離設定部16は、モータ3とモータ3が駆動する可動部とを備えた機械において予め規定された可動部の可動領域と、モータ3の制動開始時における可動部の位置とに基づいて、モータ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の位置との間の距離に所定のマージンを加えた距離を設定してもよい。いずれの場合においても、回生ブレーキ回路13及び/またはダイナミックブレーキ回路14による制動完了時にはアーム200は可動領域の内方(すなわち、ロボット1000の本体に近い方)に停止する。なお、モータ3の回転動作によりアーム200は3次元的な動きをするので、アーム200自体の可動距離はモータ3の回転方向の距離とは、数値的には一致していないが、一対一の対応関係がある。したがって、許容惰走距離設定部16では、モータ3の回転方向との距離とモータ3が当該回転を行ったときのアーム200の可動距離との関係を表す計算式を例えばアーム200の長さやギア比を考慮して事前に求めておき、この計算式を用いてアーム200の可動領域をモータ3の回転方向の距離に換算し、許容惰走距離を設定すればよい。後述する第2及び第3の実施形態についても許容惰走距離設定部16では同様の換算処理が行われる。
図2(A)に示すようにロボット1000の動作時に例えば作業者により非常停止ボタンが操作された場合、ブレーキ制御部15による制御に従い、回生ブレーキ回路13及びダイナミックブレーキ回路14(図2では図示せず)は、モータ3に対する制動を開始する。許容惰走距離設定部16は、制動開始時におけるアーム200の位置に関する情報をロボット1000の制御装置(図示せず)から取得し、アーム200について予め規定された可動領域と制動開始時におけるアーム200の位置とに基づいて許容惰走距離を設定する。許容惰走距離は、例えばアーム200の可動領域の境界線と制動開始時におけるアーム200の位置との間の距離以下の値に設定される。ブレーキ制御部15は、モータ3の回転速度と、モータ3に関して予め規定されたモータパラメータと、回生抵抗21の抵抗値と、ダイナミックブレーキ抵抗23の抵抗値とに基づいて、制動する際にモータ3が惰走する距離が許容惰走距離以下になるように、回生ブレーキ回路13及びダイナミックブレーキ回路14のうちの少なくとも1つに対してブレーキオン指令を出力する。ブレーキオン指令を受信した回生ブレーキ回路13及び/またはダイナミックブレーキ回路14は、モータ3に対して回生ブレーキ及び/またはダイナミックブレーキをかける。これにより、モータ3は惰走しつつも徐々に減速し、最終的には図2(B)に示すようにアーム200は許容惰走距離に達して停止する。よって、本開示の第1の実施形態によれば、ロボット1000の非常停止の際、アーム200が障害物500と衝突することがないので安全が確保される。また、設定された許容惰走距離が、モータ3が取り得る最短の惰走距離よりも長い距離であれば、モータ3の惰走距離が最短である場合に比べ、回生ブレーキ回路13及びダイナミックブレーキ回路14にかかる負担を軽減することができ、さらには、回生ブレーキ回路及びダイナミックブレーキ回路14によるモータ3に対する急激な制動を回避することができるので、モータ3及びモータ3が設けられたロボット1000に係る負担を軽減することができる。したがって、回生ブレーキ回路13、ダイナミックブレーキ回路14、モータ3、及びロボット1000の長寿命化を図ることも可能である。
なお、ロボット1000が多関節ロボットである場合、ロボット1000内には複数のモータ3が設けられる。ここで、多関節ロボットであるロボット1000のアーム200を構成する個々の部位をアームセグメントと称する。複数のアームセグメントの各々を駆動するためにモータ3が複数設けられる。ロボット1000が多関節ロボットである場合、アームセグメントがそれぞれ3次元的に動作することで、結果としてアーム200の先端が3次元的に動作する。アーム200の先端部分の可動方向及び可動距離は、アームセグメントの各々の可動方向及び可動距離を合成したものとなる。この場合、許容惰走距離設定部16は、許容惰走距離を、ロボット1000内の複数のモータ3の各々により駆動される複数の可動部(アームセグメント)のうちの少なくとも1つの可動部(アームセグメント)について予め規定された可動領域と当該少なくとも1つの可動部(アームセグメント)の制動開始時の位置とに基づいて設定するようにしてもよい。例えば、アーム200を構成する複数のアームセグメントのうち、中間付近に位置するアームセグメントの可動領域が大きいような場合、許容惰走距離を、当該中間付近に位置するアームセグメントについて規定された可動領域と当該中間付近に位置するアームセグメントの制動開始時の位置とに基づいて設定するようにしてもよい。また例えば、アーム200を構成する複数のアームセグメントのうち、可動領域が最も大きいアームセグメントについて規定された可動領域と、当該アームセグメントの制動開始時の位置とに基づいて設定するようにしてもよい。また例えば、アーム200を構成する複数のアームセグメントのうち、障害物500に最も近づくような可動領域を有するアームセグメントについて規定された可動領域と障害物500に最も近づくアームセグメントの制動開始時の位置とに基づいて設定するようにしてもよい。また例えば、許容惰走距離の設定の際には、アームセグメントの長さ、アームセグメントの可動方向、あるいはアームセグメントの可動速度などを適宜考慮してもよい。
続いて、ブレーキ制御部15による回生ブレーキ回路13及びダイナミックブレーキ回路14に対する制御について、より詳細に説明する。
第1の実施形態では、ブレーキ制御部15は、モータ3の回転速度と、モータ3に関して予め規定されたモータパラメータと、回生抵抗21の抵抗値と、ダイナミックブレーキ抵抗23の抵抗値とに基づいて、制動する際にモータ3が惰走する距離が許容惰走距離以下になるように、回生ブレーキ回路13及びダイナミックブレーキ回路14のうちの少なくとも1つに対してブレーキオン指令を出力する。
上述のように、回生ブレーキ回路13では回生抵抗21にエネルギーを消費させることでモータ3を制動し、ダイナミックブレーキ回路14ではダイナミックブレーキ抵抗23にエネルギーを消費させることでモータ3を制動する。制動する際にモータ3が惰走する距離は、回生抵抗21の抵抗値及びダイナミックブレーキ抵抗23の抵抗値の大きさ如何によって変わる。そこで、第1の実施形態では、回生ブレーキ回路13によりモータ3を制動する時間とダイナミックブレーキ回路14によりモータ3を制動する時間とを適宜組み合わせることによって、制動する際にモータ3が惰走する距離が許容惰走距離以下になるようにする。
ここで、制動する際にモータ3が惰走する距離及び時間については、以下のように導出することができる。以下、各数式において、モータ3の制動開始時点からモータ3が完全に停止するまでに惰走する距離をs[m]、モータ3の機械摩擦をTf[kgm2]、ロータ慣性モーメントをJ[kgm2]、回転角周波数をω[rad/sec]、トルク定数をKt[N・m/Ap]、逆起電力定数をKv[Vsec/rad]、モータ極数をp、モータインダクタンスをL[H]とする。また、制動開始時点のモータ3の回転速度をN0[rotation/min]、回生抵抗21の抵抗値をRDC[Ω]、ダイナミックブレーキ抵抗23の抵抗値をRDB[Ω]、モータ巻線抵抗の抵抗値をRm[Ω]とする。
例えば、回生ブレーキ回路13の第1のスイッチ22のみをオンしてモータ3を制動する場合と、ダイナミックブレーキ回路14の第2のスイッチ24のみをオンしてモータ3を制動する場合と、回生ブレーキ回路13の第1のスイッチ22とダイナミックブレーキ回路14の第2のスイッチ24とを同時にオンしてモータ3を制動する場合とでは、モータ3の制動のためのエネルギー消費に寄与する抵抗値の大きさは異なる。ここで、モータ3の制動のためのエネルギー消費に寄与する抵抗を、エネルギー消費寄与抵抗と称し、その値R[Ω]と規定する。
回生ブレーキ回路13の第1のスイッチ22のみをオンしてモータ3を制動する場合、エネルギー消費寄与抵抗の抵抗値R[Ω]は、式1のように表される。
ダイナミックブレーキ回路14の第2のスイッチ24のみをオンしてモータ3を制動する場合、エネルギー消費寄与抵抗の抵抗値R[Ω]は、式2のように表される。
回生ブレーキ回路13の第1のスイッチ22とダイナミックブレーキ回路14の第2のスイッチ24とを同時にオンしてモータ3を制動する場合、エネルギー消費寄与抵抗の抵抗値R[Ω]は、式3のように表される。
ここで、数式をより簡明にするために、式3〜式9に示すように定数A、定数B、定数α、定数β、定数δ、及び定数γを導入する。
制動開始時点のモータ3の回転角周波数ω0[rad/sec]は、式10のように表される。
制動開始時点のモータ3の回転角周波数ω0からある回転角周波数ω[rad/sec]になるまでの時間t[sec]は、下記のように導出することができる。
モータ3の例えばU相のステータ電圧eIは、式11のように表される。
モータ3のU相のステータ電流i
Iとしたとき、モータ3のU相について式12のような回路方程式が成り立つ。
Dを微分演算子としたとき、式12は式13のように表すことができる。
C、X及びYを定数としたとき、式13の一般解は式14のように表される。
ここで、モータ3のU相のステータ電流iIは周期関数であることから式15が成り立つ。
よって、C=0が成り立ち、式14は、式16のように変形される。
式16を式12に代入して整理した式を、式11と比較することで、式17及び式18が得られる。
ここで、X及びYは、式19及び式20のように表される。
式14〜式20を整理すると、モータ3のU相のステータ電流iIは式22のように表すことができる。
ここで、αは式22のように表される。
モータ3のV相のステータ電圧eII及びステータ電流iII並びにW相のステータ電圧eIII及びステータ電流iIIIはそれぞれ、式22で表されるモータ3のV相のステータ電流iIに対して位相が±2/3πずれている。よって、ステータ電力Pは式23のように表すことができる。
ここで、トルク定数Kt[N・m/Ap]と逆起電力定数Kv[Vsec/rad]との間で式24で表される関係が成り立つ。
ここで、式22を変形すると、式25で表されるcosαが得られる。
よって、ステータ電力Pは、式26のように表すことができる。
モータ3のステータに与えられたエネルギーは、モータ3のロータのエネルギーに等しいので、「トルク×角度=電力×時間」が成り立ち、すなわち式27が成り立つ。
式27に式26で表されるステータ電力Pを代入すると、トルクT[N]は式28のように表すことができる。
モータ3のロータの運動方程式は式29のように表される。
式29に式28を代入すると、式30が得られる。
式30を整理すると、式31が得られる。
式30において、Aは式4で表され、Bは式5で表され、δは式8で合わされ、γは式9で表される。
式31を整理すると、式32が得られる。
ここで、式32を積分すると、式33が得られる。ここで、C1を積分定数とする。
制動開始時点であるt=0のときのモータ3の回転角速度ω0を式33に代入すると、式34が得られる。
式34において、制動開始時点のモータ3の回転角周波数ω0[rad/sec]は式10のように表される。
よって、制動開始時点のモータ3の回転角周波数ω0からある回転角周波数ω[rad/sec]になるまでの時間t[sec]は、式34を式33に代入して整理することにより、式35のように表すことができる。
式35の回転角周波数ω[rad/sec]にゼロ(0)を代入すると、式36に示すような、モータ3の制動開始時点からモータ3が完全に停止するまでに要する時間として規定される惰走時間tω=0[sec]を求めることができる。
式36に基づき、モータ3の制動開始時点からモータ3が完全に停止するまでに惰走する距離s[m]を式37のように求めることができる。
式4〜式9に示される各定数にはエネルギー消費寄与抵抗の抵抗値R[Ω]が含まれるので、式37で示されるモータ3の制動開始時点からモータ3が完全に停止するまでに惰走する距離s[m]は、エネルギー消費寄与抵抗の抵抗値R[Ω]の関数として表されることが分かる。説明をより簡明にするために、式37で示されるモータ3の制動開始時点からモータ3が完全に停止するまでに惰走する距離s[m]を、式38に示すようにエネルギー消費寄与抵抗の抵抗値R[Ω]を変数とする関数g(R)で表す。
式38の逆関数は、式39で示される。
よって、式39より、式37で示すモータ3の制動開始時点からモータ3が完全に停止するまでに惰走する距離がs[m]となるような、エネルギー消費寄与抵抗の抵抗値R[Ω]を求めることができる。第1の実施形態では、ブレーキ制御部15は、式39に従い、モータ3の制動開始時点からモータ3が完全に停止するまでに惰走する距離s[m]が許容惰走距離設定部16で設定された許容惰走距離以下となるようなエネルギー消費寄与抵抗の抵抗値R[Ω]を、「目標抵抗値」として算出する。ブレーキ制御部15は、この目標抵抗値を算出するための目標抵抗値計算部31を有する。
式1〜式3に示すように、惰走時間中に回生ブレーキ回路13の第1のスイッチ22及びダイナミックブレーキ回路14の第2のスイッチ24の各オン時間の長さや、単独のスイッチをオンするか同時に2つのスイッチをオンするかなどによって、エネルギー消費寄与抵抗の抵抗値の大きさは異なる。上述のように、本実施形態では、エネルギー消費寄与抵抗の抵抗値R[Ω]を、「目標抵抗値」として利用する。目標抵抗値R[Ω]と惰走時間に対する回生ブレーキ回路13のオン時間割合及びダイナミックブレーキ回路14のオン時間割合との関係については、モータ駆動装置1の実際の運用の前に、予めに計算しておきこれを記憶部19に記憶しておく。記憶部19は、例えばEEPROM(登録商標)などのような電気的に消去・記録可能な不揮発性メモリ、または、例えばDRAM、SRAMなどのような高速で読み書きのできるランダムアクセスメモリなどで構成される。ブレーキ制御部15は、記憶部19から、目標抵抗値計算部31が計算した目標抵抗値を得ることができる回生ブレーキ回路13のオン時間とダイナミックブレーキ回路14のオン時間との組み合わせを読み出し、これに基づいてブレーキオン指令を生成する。ブレーキ制御部15は、ブレーキオン指令生成のためのブレーキ指令生成部32を有する。
図3は、目標抵抗値と回生ブレーキ回路のオン時間割合とダイナミックブレーキ回路のオン時間割合との関係を例示する図である。一例として、回生抵抗21の抵抗値が5[Ω]、ダイナミックブレーキ抵抗23の抵抗値が1[Ω]である場合について説明する。また、モータ3の巻線抵抗の抵抗値Rm[Ω]は、一般に回生抵抗21の抵抗値RDC[Ω]及びダイナミックブレーキ抵抗RDB[Ω]よりも小さいので、ここでは説明を簡明なものとするために、図3においてモータ3の巻線抵抗の抵抗値Rm[Ω]は無視している。
例えば、パターン1は、回生ブレーキ回路13の第1のスイッチ22及びダイナミックブレーキ回路14の第2のスイッチ24のオン時間割合いずれについても惰走時間に対して100%を設定した場合である。この場合、惰走時間中、回生ブレーキ回路13の第1のスイッチ22及びダイナミックブレーキ回路14の第2のスイッチ24が同時にオンしているので、回生抵抗21とダイナミックブレーキ抵抗23との合成抵抗値である0.833(=5/6)[Ω]が目標抵抗値として得られる。
また例えば、パターン2は、ダイナミックブレーキ回路14の第2のスイッチ24のオン時間割合を惰走時間に対して100%を設定した場合である。この場合、惰走時間中、ダイナミックブレーキ回路14の第2のスイッチ24のみがオンしているのでダイナミックブレーキ抵抗23との抵抗値である1[Ω]がそのまま目標抵抗値となる。
また例えば、パターン3は、回生ブレーキ回路13の第1のスイッチ22のオン時間割合を惰走時間に対して75%に設定し、ダイナミックブレーキ回路14の第2のスイッチ24のオン時間割合を惰走時間に対して25%を設定した場合である。この場合、2(=1×0.75+5×0.25)[Ω]が目標抵抗値として得られる。
また例えば、パターン4は、回生ブレーキ回路13の第1のスイッチ22のオン時間割合を惰走時間に対して50%に設定し、ダイナミックブレーキ回路14の第2のスイッチ24のオン時間割合を惰走時間に対して50%を設定した場合である。この場合、3(=1×0.5+5×0.5)[Ω]が目標抵抗値として得られる。
また例えば、パターン5は、回生ブレーキ回路13の第1のスイッチ22のオン時間割合を惰走時間に対して48%に設定し、ダイナミックブレーキ回路14の第2のスイッチ24のオン時間割合を惰走時間に対して52%を設定した場合である。この場合、目標抵抗値は、3(=1×0.48+5×0.52)[Ω]が目標抵抗値として得られる。よって、パターン4及びパターン5は、回生ブレーキ回路13の第1のスイッチ22及びダイナミックブレーキ回路14の第2のスイッチ24のオン時間は異なっても同じ目標抵抗値を示している。
また例えば、パターン6は、回生ブレーキ回路13の第1のスイッチ22のオン時間割合を惰走時間に対して25%に設定し、ダイナミックブレーキ回路14の第2のスイッチ24のオン時間割合を惰走時間に対して75%を設定した場合である。この場合、目標抵抗値は、4(=1×0.25+5×0.75)[Ω]が目標抵抗値として得られる。
また例えば、パターン7は、回生ブレーキ回路13の第1のスイッチ22のオン時間割合を惰走時間に対して100%を設定した場合である。この場合、惰走時間中、回生ブレーキ回路13の第1のスイッチ22のみがオンしているので回生抵抗21との抵抗値である5[Ω]がそのまま目標抵抗値となる。
このように、回生ブレーキ回路13の第1のスイッチ22及びダイナミックブレーキ回路14の第2のスイッチ24の各オン時間割合を適宜組み合わせれば、様々な大きさの目標抵抗値を設定することができる。図3に示す例では、5[Ω]の回生抵抗21の抵抗値と、1[Ω]のダイナミックブレーキ抵抗23の抵抗値とにより、0.833(=5/6)[Ω]から5[Ω]の目標抵抗値を設定することができる。回生ブレーキ回路13の第1のスイッチ22及びダイナミックブレーキ回路14の第2のスイッチ24のオン時間割合の組み合わせパターンの種類が多いほど、より細かな刻みで目標抵抗値を設定することができる。
目標抵抗値計算部31による目標抵抗値の計算に必要な上述の各パラメータについては、記憶部19に予め記憶しておく。また、目標抵抗値R[Ω]と回生ブレーキ回路13のオン時間とダイナミックブレーキ回路14のオン時間割合との関係についても、モータ駆動装置1の実際の運用の前に、予めに計算しておきこれを記憶部19に記憶しておく。目標抵抗値R[Ω]と回生ブレーキ回路13のオン時間とダイナミックブレーキ回路14のオン時間割合との関係を計算するにあたっては、モータ3の巻線抵抗の抵抗値Rm[Ω]は、モータ3の巻線抵抗の抵抗値Rm[Ω]は無視してもよく、あるいは考慮してもよい。
ブレーキ制御部15内の目標抵抗値計算部31は、エンコーダ18により取得されたモータ3の回転速度と、記憶部19に記憶されたモータ3に関して予め規定されたモータパラメータと、に基づいて、モータ3の制動開始時点からモータ3が完全に停止するまでに惰走する距離s[m]が許容惰走距離設定部16で設定された許容惰走距離以下となるような目標抵抗値を計算する。
ブレーキ制御部15内のブレーキ指令生成部32は、目標抵抗値計算部31により算出された目標抵抗値が得られるような回生ブレーキ回路13のオン時間割合とダイナミックブレーキ回路14のオン時間割合との組み合わせを、記憶部19から読み出し、読み出されたこれらオン時間割合に基づいて回生ブレーキ回路13及び/またはダイナミックブレーキ回路14に対するブレーキオン指令を生成する。上述のように記憶部19に記憶された回生ブレーキ回路13のオン時間割合及びダイナミックブレーキ回路14のオン時間割合は、惰走時間に対する割合を示している。そこで、ブレーキ指令生成部32は、目標抵抗値計算部31における計算処理において用いられた式36に基づき算出された惰走時間を取得し、この惰走時間を、記憶部19に記憶された回生ブレーキ回路13のオン時間割合とダイナミックブレーキ回路14のオン時間割合とで案分して、回生ブレーキ回路13による実際の制動時間とダイナミックブレーキ回路14による実際の制動時間とを決定する。
例えば図3に示すような目標抵抗値と回生ブレーキ回路のオン時間割合とダイナミックブレーキ回路のオン時間割合との関係が記憶部19に記憶されている場合において、作業者により非常停止ボタンが操作されたときに目標抵抗値計算部31が算出した惰走時間が1[sec]であり目標抵抗値が2[Ω]である場合、ブレーキ指令生成部32は記憶部19からパターン3を読み出す。パターン3は、回生ブレーキ回路13の第1のスイッチ22のオン時間割合は25%であり、ダイナミックブレーキ回路14の第2のスイッチ24のオン時間割合は75%であるので、ブレーキ指令生成部32は、惰走時間1[sec]のうち、回生ブレーキ回路13の第1のスイッチ22に対してはブレーキオン指令を0.25[sec]だけ出力し、ダイナミックブレーキ回路14の第2のスイッチ24に対してはブレーキオン指令を0.75[sec]だけ出力する。
また例えば図3に示すような目標抵抗値と回生ブレーキ回路のオン時間割合とダイナミックブレーキ回路のオン時間割合との関係が記憶部19に記憶されている場合において、作業者により非常停止ボタンが操作されたときに目標抵抗値計算部31が算出した惰走時間が3[sec]であり目標抵抗値が0.833[Ω]である場合、ブレーキ指令生成部32は記憶部19からパターン1を読み出す。パターン1は、回生ブレーキ回路13の第1のスイッチ22及びダイナミックブレーキ回路14の第2のスイッチ24のオン時間割合はともに100%であるので、ブレーキ指令生成部32は、惰走時間3[sec]の間、回生ブレーキ回路13の第1のスイッチ22及びダイナミックブレーキ回路14の第2のスイッチ24の両方に対してブレーキオン指令を出力する。
また例えば図3に示すような目標抵抗値と回生ブレーキ回路のオン時間割合とダイナミックブレーキ回路のオン時間割合との関係が記憶部19に記憶されている場合において、作業者により非常停止ボタンが操作されたときに目標抵抗値計算部31が算出した惰走時間が2[sec]であり目標抵抗値が3[Ω]である場合、ブレーキ指令生成部32は、記憶部19からパターン4またはパターン5を読み出す。目標抵抗値が3[Ω]であるのならば、ブレーキ指令生成部32はパターン4またはパターン5のどちらを読み出してもよい。例えば、ブレーキ指令生成部32がパターン5を読み出した場合、惰走時間2[sec]の間、回生ブレーキ回路13の第1のスイッチ22に対してはブレーキオン指令を1.04[sec]だけ出力し、ダイナミックブレーキ回路14の第2のスイッチ24に対してはブレーキオン指令を0.96[sec]だけ出力する。
なお、ブレーキ指令生成部32がブレーキオン指令を出力する順番は特に限定されない。また、ブレーキ指令生成部32が決定したブレーキオン指令が出力される時間は、分割されてもよい。
例えば図3に示すような目標抵抗値と回生ブレーキ回路のオン時間割合とダイナミックブレーキ回路のオン時間割合との関係が記憶部19に記憶されている場合において、目標抵抗値計算部31が算出した惰走時間が1[sec]であり目標抵抗値が2[Ω]である場合、記憶部19からパターン3を読み出したブレーキ指令生成部32は、回生ブレーキ回路13の第1のスイッチ22に対してブレーキオン指令を0.25[sec]だけ出力した後、ダイナミックブレーキ回路14の第2のスイッチ24に対してブレーキオン指令を0.75[sec]だけ出力してもよく、あるいはその逆の順で出力されてもよい。また例えば、記憶部19からパターン3を読み出したブレーキ指令生成部32は、回生ブレーキ回路13の第1のスイッチ22に対してブレーキオン指令を0.15[sec]だけ出力した後、ダイナミックブレーキ回路14の第2のスイッチ24に対してブレーキオン指令を0.65[sec]だけ出力し、その後、回生ブレーキ回路13の第1のスイッチ22に対してブレーキオン指令を0.10[sec]だけ出力した後、ダイナミックブレーキ回路14の第2のスイッチ24に対してブレーキオン指令を0.10[sec]だけ出力してもよい。
なお、回生抵抗21の抵抗値RDCとダイナミックブレーキ抵抗23の抵抗値RDBの大きさに違いがありすぎると、回生ブレーキ回路13及びダイナミックブレーキ回路14を同時に動作させなければならないにもかかわらず抵抗値の小さい方にのみ電流が流れるといった事態が発生する可能性がある。したがって、回生抵抗21の抵抗値RDCとダイナミックブレーキ抵抗23の抵抗値RDBとは、ある程度値が近い方が好ましい。
図4は、本開示の第1の実施形態によるモータ駆動装置における制動時の動作フローを示すフローチャートである。
モータ駆動装置1によりモータ3の駆動を制御している状態において(ステップS101)、ステップS102において、モータ駆動装置1は、非常停止ボタンが操作されたか否かを判定する。
ステップS102において非常停止ボタンが操作されたと判定された場合、ステップS103において、モータ3に設けられたエンコーダ18は、モータ3の回転速度を取得する。エンコーダ18により取得されたモータ3の回転速度は、ブレーキ制御部15内の目標抵抗値計算部31へ送られる。また、許容惰走距離設定部16は、制動開始時(非常停止ボタン操作時)におけるアーム200の位置に関する情報をロボット1000の制御装置から取得し、アーム200について予め規定された可動領域と制動開始時におけるアーム200の位置とに基づいて許容惰走距離を設定する。設定された許容惰走距離は、目標抵抗値計算部31へ送られる。
ステップS104において、ブレーキ制御部15内の目標抵抗値計算部31は、エンコーダ18により取得されたモータ3の回転速度と、記憶部19に記憶されたモータ3に関して予め規定されたモータパラメータと、に基づいて、モータ3の制動開始時点からモータ3が完全に停止するまでに惰走する距離s[m]が許容惰走距離設定部16で設定された許容惰走距離以下となるような目標抵抗値を計算する。目標抵抗値計算部31で計算された目標抵抗値は、ブレーキ指令生成部32へ送られる。目標抵抗値計算部31における計算処理において用いられた式36に基づき算出された惰走時間についても、ブレーキ指令生成部32へ送られる。
ステップS105において、ブレーキ制御部15内のブレーキ指令生成部32は、目標抵抗値計算部31により算出された目標抵抗値が得られるような回生ブレーキ回路13のオン時間割合とダイナミックブレーキ回路14のオン時間割合とを記憶部19から読み出す。そして、ブレーキ指令生成部32は、目標抵抗値計算部31から取得された惰走時間をこれらオン時間割合で案分して、回生ブレーキ回路13による実際の制動時間とダイナミックブレーキ回路14による実際の制動時間とを決定する。ブレーキ指令生成部32は、決定したこれら制動時間に基づいて、回生ブレーキ回路13及び/またはダイナミックブレーキ回路14に対するブレーキオン指令を生成する。
ステップS106において、回生ブレーキ回路13は、ブレーキオン指令受信時において第1のスイッチ22をオンしてインバータ12の直流端子間を回生抵抗21を介して短絡する。インバータ12の還流ダイオードを介してインバータ12の交流側から直流側に流入するエネルギーは、回生抵抗21でジュール熱に変換されて消費され、その結果、モータ3に減速トルクが発生する。また、ダイナミックブレーキ回路14は、ブレーキオン指令受信時において第2のスイッチ24をオンしてモータ3の入力端子間をダイナミックブレーキ抵抗23を介して短絡する。モータ3は電源から電気的に切り離されても界磁磁束が存在し、惰性により回転しているモータ3は発電機として働くため、これにより発生した電流はオンし第2のスイッチ24を介してダイナミックブレーキ抵抗23に流れ込み、ダイナミックブレーキ抵抗23でジュール熱に変換されて消費され、その結果、モータ3に減速トルクが発生する。モータ3は、回生ブレーキ回路13及び/またはダイナミックブレーキ回路14により制動されると、惰走時間経過後、停止する。
続いて、本開示の第1の実施形態の第1の変形例によるモータ駆動装置を備えるモータ駆動システムについて説明する。第1の実施形態の第1の変形例では、モータが設けられた機械内のモータにより駆動される可動部に距離センサが設けられる。そして、回生ブレーキ回路及びダイナミックブレーキ回路によりモータを制動する際にモータに対して許容される許容惰走距離が、距離センサにより測定された可動部と障害物との間の距離に基づいて設定される。
図5は、本開示の第1の実施形態の第1の変形例によるモータ駆動装置を備えるモータ駆動システムを示す図である。また、図6は、本開示の第1の実施形態の第1の変形例における許容惰走距離の設定を説明する図であって、(A)はモータに対する制動開始時のロボットを示し、(B)はモータに対する制動により停止させられたロボットを示す。
第1の実施形態においては、モータ駆動システムは、モータ駆動装置1と、モータ3及びモータ3が駆動する可動部を備えた機械(ロボット1000)と、距離センサ41とを備える。
距離センサ41は、モータ3が設けられた機械(図6に示す例ではロボット1000)内のモータ3により駆動される可動部(図6に示す例ではアーム200)に設けられ、可動部とロボット1000の外部の物体である障害物500との間の距離を測定する。障害物500の例としては、人、柵、他のロボットもしくは工作機械、あるいは各種機器などがある。距離センサ41は、可動部であるアーム200の可動方向のうちロボット1000の本体から最も離れていく方向に位置するように、アーム200上に設けられるのが好ましい。例えば、可動部であるアーム200の先端や、アーム200の側面などに距離センサ41を設けることができる。なお、距離センサ41は、測定対象との間の距離を測定することができるものであればよく、例えば画像処理により距離を測定するセンサ、レーザ光の反射により距離を測定するセンサ、あるいは、マイクロ波を用いたドップラーセンサなどがある。
許容惰走距離設定部16は、許容惰走距離を、制動開始時に距離センサ41により測定されたアーム200と障害物500との間の距離に基づいて設定する。
距離センサ41及び許容惰走距離設定部16以外の各構成は、図1を参照して説明した第1の実施形態における構成と同様である。
以下、モータ駆動装置1及びこれにより駆動されるモータ3(図6では図示せず)が設けられたロボット1000を例にとり、第1の実施形態の第1の変形例における非常停止時のダイナミックブレーキ動作について説明する。図6(A)に示すようにロボット1000の動作時に例えば作業者により非常停止ボタンが操作された場合、可動部であるアーム200の先端に設けられた距離センサ41は、当該距離センサ41(すなわちアーム200の先端)と障害物500との間の距離を測定する。距離センサ41により測定された距離は許容惰走距離設定部16へ送られる。許容惰走距離設定部16は、許容惰走距離を、制動開始時に距離センサ41により測定された距離に基づいて設定する。許容惰走距離は、制動開始時に距離センサ41により測定された距離以下の値に設定されればよく、例えば距離センサ41が測定した距離に設定してもよく、あるいは多少余裕をもって距離センサ41が測定した距離よりも短い距離に設定してもよい。なお、許容惰走距離設定部16による許容惰走距離の設定の際には、第1の実施形態と同様、モータ3の回転方向との距離とモータ3が当該回転を行ったときのアーム200の可動距離との関係を表す計算式を例えばアーム200の長さやギア比を考慮して事前に求めておき、この計算式を用いてアーム200の可動領域をモータ3の回転方向の距離に換算し、許容惰走距離を設定する処理が行われる。作業者による非常停止ボタンの操作により、モータ駆動装置1内の回生ブレーキ回路13及び/またはダイナミックブレーキ回路14(図6では図示せず)は、モータ3に対する制動を開始する。ブレーキ制御部15内の目標抵抗値計算部31は、エンコーダ18により取得されたモータ3の回転速度と、記憶部19に記憶されたモータ3に関して予め規定されたモータパラメータと、に基づいて、モータ3の制動開始時点からモータ3が完全に停止するまでに惰走する距離s[m]が許容惰走距離設定部16で設定された許容惰走距離以下となるような目標抵抗値を計算する。ブレーキ制御部15内のブレーキ指令生成部32は、目標抵抗値計算部31により算出された目標抵抗値に対応する回生ブレーキ回路13のオン時間割合及びダイナミックブレーキ回路14のオン時間割合を記憶部19から読み出し、目標抵抗値計算部31から取得された惰走時間に基づいて、回生ブレーキ回路13及び/またはダイナミックブレーキ回路14に対するブレーキオン指令を生成する。ブレーキオン指令を受信した回生ブレーキ回路13及び/またはダイナミックブレーキ回路14は、モータ3に対して回生ブレーキ及び/またはダイナミックブレーキをかける。これにより、モータ3は惰走しつつも徐々に減速し、最終的には図6(B)に示すようにアーム200は許容惰走距離に達して停止する。よって、本開示の第1の実施形態の第1の変形例によれば、ロボット1000の非常停止の際、アーム200が障害物500と衝突することがないので安全が確保される。また、設定された許容惰走距離が、モータ3が取り得る最短の惰走距離よりも長い距離であれば、モータ3の惰走距離が最短である場合に比べ、回生ブレーキ回路13及びダイナミックブレーキ回路14にかかる負担を軽減することができ、さらには、回生ブレーキ回路13及びダイナミックブレーキ回路14によるモータ3に対する急激な制動を回避することができるので、モータ3及びモータ3が設けられたロボット1000に係る負担を軽減することができる。したがって、回生ブレーキ回路13、ダイナミックブレーキ回路14、モータ3、及びロボット1000の長寿命化を図ることも可能である。
なお、ロボット1000が多関節ロボットである場合、ロボット1000内の複数のモータ3の各々により駆動される複数の可動部であるアームセグメントの各々に距離センサ41を設け、許容惰走距離設定部16は、許容惰走距離を、複数の距離センサ41のうちの少なくとも1つの距離センサ41により測定された距離に基づいて設定するようにしてもよい。例えば、アーム200を構成するアームセグメントの各々に設けられた距離センサ41が測定した障害物500との間の距離のうち、最も短い距離を、許容惰走距離に設定してもよい。また例えば、アーム200を構成する複数のアームセグメントのうち、可動領域が最も大きいアームセグメントにのみ距離センサ41を設置し、この距離センサ41が測定した距離に基づいて許容惰走距離を設定するようにしてもよい。また例えば、アーム200を構成する複数のアームセグメントのうち、障害物500に最も近づくような可動領域を有するアームセグメントにのみ距離センサ41を設置し、この距離センサ41が測定した距離に基づいて許容惰走距離を設定するようにしてもよい。また例えば、許容惰走距離の設定の際には、アームセグメントの長さ、アームセグメントの可動方向、あるいはアームセグメントの可動速度などを適宜考慮してもよい。
図7は、本開示の第1の実施形態の第1の変形例によるモータ駆動装置を備えるモータ駆動システムにおける制動時の動作フローを示すフローチャートである。
モータ駆動装置1によりモータ3の駆動を制御している状態において(ステップS201)、ステップS202において、モータ駆動装置1は、非常停止ボタンが操作されたか否かを判定する。
ステップS202において非常停止ボタンが操作されたと判定された場合、ステップS203において、距離センサ41は、モータ3が設けられた機械(図5に示す例ではロボット1000)内のモータ3により駆動される可動部と障害物500との間の距離を測定する。距離センサ41により測定された距離は許容惰走距離設定部16へ送られる。
ステップS204において、許容惰走距離設定部16は、許容惰走距離を、制動開始時に距離センサ41により測定された距離に基づいて設定する。設定された許容惰走距離は、目標抵抗値計算部31へ送られる。
ステップS205において、モータ3に設けられたエンコーダ18は、モータ3の回転速度を取得する。エンコーダ18により取得されたモータ3の回転速度は、ブレーキ制御部15内の目標抵抗値計算部31へ送られる。
なお、ステップS204における許容惰走距離設定部16による許容惰走距離設定処理と、ステップS205におけるエンコーダ18による回転速度検出処理とは、順序を入れ替えて実行してもよい。
ステップS206において、ブレーキ制御部15内の目標抵抗値計算部31は、エンコーダ18により取得されたモータ3の回転速度と、記憶部19に記憶されたモータ3に関して予め規定されたモータパラメータと、に基づいて、モータ3の制動開始時点からモータ3が完全に停止するまでに惰走する距離s[m]が許容惰走距離設定部16で設定された許容惰走距離以下となるような目標抵抗値を計算する。目標抵抗値計算部31で計算された目標抵抗値は、ブレーキ指令生成部32へ送られる。目標抵抗値計算部31における計算処理において用いられた式36に基づき算出された惰走時間についても、ブレーキ指令生成部32へ送られる。
ステップS207において、ブレーキ制御部15内のブレーキ指令生成部32は、目標抵抗値計算部31により算出された目標抵抗値に対応する回生ブレーキ回路13のオン時間割合及びダイナミックブレーキ回路14のオン時間割合を記憶部19から読み出し、目標抵抗値計算部31から取得された惰走時間に基づいて、回生ブレーキ回路13及び/またはダイナミックブレーキ回路14に対するブレーキオン指令を生成する。
ステップS208において、回生ブレーキ回路13は、ブレーキオン指令受信時において第1のスイッチ22をオンしてインバータ12の直流端子間を回生抵抗21を介して短絡する。インバータ12の還流ダイオードを介してインバータ12の交流側から直流側に流入するエネルギーは、回生抵抗21でジュール熱に変換されて消費され、その結果、モータ3に減速トルクが発生する。また、ダイナミックブレーキ回路14は、ブレーキオン指令受信時において第2のスイッチ24をオンしてモータ3の入力端子間をダイナミックブレーキ抵抗23を介して短絡する。モータ3は電源から電気的に切り離されても界磁磁束が存在し、惰性により回転しているモータ3は発電機として働くため、これにより発生した電流はオンし第2のスイッチ24を介してダイナミックブレーキ抵抗23に流れ込み、ダイナミックブレーキ抵抗23でジュール熱に変換されて消費され、その結果、モータ3に減速トルクが発生する。モータ3は、回生ブレーキ回路13及び/またはダイナミックブレーキ回路14により制動されると、惰走時間経過後、停止する。
続いて、本開示の第1の実施形態の第2の変形例によるモータ駆動装置について説明する。第1の実施形態の第2の変形例は、作業者が外部から許容惰走距離を任意に設定可能としたものである。
図8は、本開示の第1の実施形態の第2の変形例によるモータ駆動装置を示す図である。
第1の実施形態の第2の変形例によるモータ駆動装置1は、図1〜図4を参照して説明した第1の実施形態によるモータ駆動装置の構成に加え、許容惰走距離を許容惰走距離設定部16に入力するための入力部43をさらに備える。入力部43で入力された許容惰走距離は、許容惰走距離設定部16を経たのち、ブレーキ制御部15内の目標抵抗値計算部31に入力される。入力部43以外の各構成は、図1を参照して説明した第1の実施形態における構成と同様である。入力部43の例としては、キーボード、タッチパネル、マウス、及び音声認識装置などがある。また例えばロボットの操作盤や工作機械の数値制御装置に設けられた入力部と兼用であってもよい。入力部43に設けることで、作業者が任意に許容惰走距離を設定することができ、モータ駆動装置1が駆動するモータ3が設けられた機械(ロボットや工作機械)などの運用の柔軟性が向上する。
なお、第1の実施形態の第2の変形例による入力部43を、第1の実施形態の第1の変形例及び後述する第1の実施形態の第3の変形例によるモータ駆動装置1にさらに設けてもよい。
続いて、本開示の第1の実施形態の第3の変形例によるモータ駆動装置について説明する。第1の実施形態の第3の変形例では、モータ3が設けられた機械(ロボットや工作機械)の周囲に、予め規定された検知領域内への当該機械の可動部の侵入を検知するエリアセンサがさらに設けられる。エリアセンサにより当該機械が検知領域内に入ったことを検知したときのモータの回転速度に基づき、目標抵抗値が計算される。
図9は、本開示の第1の実施形態の第3の変形例によるモータ駆動装置を備えるモータ駆動システムを示す図である。また、図10は、本開示の第1の実施形態の第3の変形例における許容惰走距離の設定を説明する図であって、(A)は通常動作時のロボットを示し、(B)は機械の可動部がエリアセンサの検知範囲に侵襲したときのロボットを示し、(C)はモータに対する制動により停止させられたロボットを示す。
第1の実施形態の第3の変形例においては、モータ駆動システムは、モータ駆動装置1と、モータ3及びモータ3が駆動する可動部を備えた機械(ロボット1000)と、エリアセンサ42とを備える。
エリアセンサ42は、モータ3が設けられた機械(図10に示す例ではロボット1000)の周囲に設けられる。エリアセンサ42は、モータ3が設けられた機械(図10に示す例ではロボット1000)の可動部(図10に示す例ではアーム200)が、予め規定された検知領域内に侵入したか否かを検知する。なお、エリアセンサ42は、予め規定された検知領域内に何からの物体が入ったか否かを検知できるものであればよく、例えば画像処理により物体の侵入を検知するセンサ、レーザ光により物体の侵入を検知するセンサ、赤外線により物体の侵入を検知するセンサ、あるいは、マイクロ波を用いたドップラーセンサなどがある。
通常は、人、柵、他のロボットもしくは工作機械、あるいは各種機器などの障害物500は、安全を確保するために、ロボット1000の可動部であるアーム200の可動領域の外側に位置すべきである。よって、エリアセンサ42は、障害物500の近傍に設置されるのが好ましい。許容惰走距離については、第1の実施形態と同様に、モータ3が設けられた機械(ロボットや工作機械)内のモータ3により駆動される可動部について予め規定された可動領域と制動開始時における可動部の位置とに基づいて事前に設定しておく。またさらに、障害物500についてより高度な安全を確保するために、許容惰走距離よりも短い「安全距離」を事前に設定しておく。安全距離として、例えばモータ3が取り得る最短の惰走距離を設定してもよい。
エリアセンサ42が検知領域へのアーム200の進入を検知したとき、目標抵抗値計算部31は、許容惰走距離設定部16で設定されていた許容惰走距離を安全距離に変更する。そして、目標抵抗値計算部31は、エンコーダ18により取得されたモータ3の回転速度と、記憶部19に記憶されたモータ3に関して予め規定されたモータパラメータと、に基づいて、モータ3の制動開始時点からモータ3が完全に停止するまでに惰走する距離s[m]が安全距離以下となるような目標抵抗値を計算する。すなわち、目標抵抗値計算部31は、エリアセンサ42が検知領域へのアーム200の進入を検知したときは、許容惰走距離よりも短い安全距離を用いて目標抵抗値を計算する。
エリアセンサ42及び抵抗値計算部32以外の各構成は、図1を参照して説明した第1の実施形態における構成と同様である。
ここでは、モータ駆動装置1及びこれにより駆動されるモータ3(図10では図示せず)が設けられたロボット1000を例にとり、第1の実施形態の第3の変形例における非常停止時のダイナミックブレーキ動作について説明する。図10(A)に示すようにロボット1000が通常動作していた後、図10(B)に示すようにロボット1000の動作時に例えば作業者により非常停止ボタンが操作された時点でエリアセンサ42が検知領域内へのアーム200の侵入を検知した場合、エリアセンサ42の検知結果(検知信号)が、目標抵抗値計算部31へ送られる。目標抵抗値計算部31は、許容惰走距離設定部16で設定されていた許容惰走距離を安全距離に変更する。そして、目標抵抗値計算部31は、エンコーダ18により取得されたモータ3の回転速度と、記憶部19に記憶されたモータ3に関して予め規定されたモータパラメータと、に基づいて、モータ3の制動開始時点からモータ3が完全に停止するまでに惰走する距離s[m]が安全距離以下となるような目標抵抗値を計算する。作業者による非常停止ボタンの操作により、モータ駆動装置1内の回生ブレーキ回路13及び/またはダイナミックブレーキ回路14(図9では図示せず)は、モータ3に対する制動を開始する。ブレーキ制御部15内の目標抵抗値計算部31は、エンコーダ18により取得されたモータ3の回転速度と、記憶部19に記憶されたモータ3に関して予め規定されたモータパラメータと、に基づいて、モータ3の制動開始時点からモータ3が完全に停止するまでに惰走する距離s[m]が安全距離以下となるような目標抵抗値を計算する。ブレーキ制御部15内のブレーキ指令生成部32は、目標抵抗値計算部31により算出された目標抵抗値に対応する回生ブレーキ回路13のオン時間割合及びダイナミックブレーキ回路14のオン時間割合を記憶部19から読み出し、目標抵抗値計算部31から取得された惰走時間に基づいて、回生ブレーキ回路13及び/またはダイナミックブレーキ回路14に対するブレーキオン指令を生成する。ブレーキオン指令を受信した回生ブレーキ回路13及び/またはダイナミックブレーキ回路14は、モータ3に対して回生ブレーキ及び/またはダイナミックブレーキをかける。これにより、モータ3は惰走しつつも徐々に減速し、図10(C)に示すようにアーム200は安全距離に達した時点で停止する。なお、作業者により非常停止ボタンが操作された時点でエリアセンサ42が検知領域内へのアーム200の侵入を検知しなかった場合は、目標抵抗値計算部31は、許容惰走距離設定部16で設定されていた許容惰走距離は変更せず、エンコーダ18により取得されたモータ3の回転速度と、記憶部19に記憶されたモータ3に関して予め規定されたモータパラメータと、に基づいて、モータ3の制動開始時点からモータ3が完全に停止するまでに惰走する距離s[m]が許容惰走距離以下となるような目標抵抗値を計算する。この場合、モータ3は惰走しつつも徐々に減速し、アーム200は許容惰走距離に達した時点で停止する。よって、本開示の第1の実施形態の第3の変形例によれば、ロボット1000の非常停止の際、アーム200が障害物500と衝突することがないので安全が確保される。また、安全距離として、モータ3が取り得る最短の惰走距離を設定しておけば、エリアセンサ42が検知領域へのアーム200の進入を検知した場合はモータ3を最短の惰走距離(すなわち安全距離)で停止させ、エリアセンサ42が検知領域へのアーム200の進入を検知しなかった場合はモータ3を安全距離(例えば最短の惰走距離)よりも長い許容惰走距離で停止させことができるので、回生ブレーキ回路13及びダイナミックブレーキ回路14にかかる負担を軽減することができ、さらには、回生ブレーキ回路13及びダイナミックブレーキ回路14によるモータ3に対する急激な制動を行う回数を低減することができるので、モータ3及びモータ3が設けられたロボット1000に係る負担を軽減することができる。したがって、回生ブレーキ回路13、ダイナミックブレーキ回路14、モータ3、及びロボット1000の長寿命化を図ることも可能である。また、第1の実施形態の第3の変形例におけるエリアセンサ42は、第1の実施形態の第1の変形例における距離センサ41よりも安価である。
図11は、本開示の第1の実施形態の第3の変形例によるモータ駆動装置における制動時の動作フローを示すフローチャートである。
本開示の第1の実施形態の第3の変形例では、許容惰走距離設定部16により、許容惰走距離を、モータ3が設けられた機械(ロボットや工作機械)内のモータ3により駆動される可動部について予め規定された可動領域に基づいて事前に設定しておく。また、安全距離を、許容惰走距離よりも短い距離にて事前に設定しておく。
モータ駆動装置1によりモータ3の駆動を制御している状態において(ステップS301)、ステップS302において、モータ駆動装置1は、非常停止ボタンが操作されたか否かを判定する。
ステップS302において非常停止ボタンが操作されたと判定された場合、ステップS303において、モータ3に設けられたエンコーダ18は、モータ3の回転速度を取得する。エンコーダ18により取得されたモータ3の回転速度は、目標抵抗値計算部31へ送られる。
ステップS304において、エリアセンサ42は、モータ3が設けられた機械(図10に示す例ではロボット1000)の可動部(図10に示す例ではアーム200)が検知領域内に侵入したか否かを検知する。ステップS304において可動部の侵入を検知したと判定された場合はステップS305へ進み、可動部の侵入を検知したと判定されなかった場合はステップS308へ進む。
ステップS303においてエリアセンサ42の検知領域内に入ったと判定された場合は、ステップS305において、目標抵抗値計算部31は、許容惰走距離設定部16で設定されていた許容惰走距離をより短い安全距離に変更する。そして、目標抵抗値計算部31は、エンコーダ18により取得されたモータ3の回転速度と、記憶部19に記憶されたモータ3に関して予め規定されたモータパラメータと、に基づいて、モータ3の制動開始時点からモータ3が完全に停止するまでに惰走する距離s[m]が安全距離以下となるような目標抵抗値を計算する。目標抵抗値計算部31で計算された目標抵抗値は、ブレーキ指令生成部32へ送られる。
一方、ステップS304においてエリアセンサ42の検知領域内に入ったと判定されなかった場合は、ステップS308において、目標抵抗値計算部31は、エンコーダ18により取得されたモータ3の回転速度と、記憶部19に記憶されたモータ3に関して予め規定されたモータパラメータと、に基づいて、モータ3の制動開始時点からモータ3が完全に停止するまでに惰走する距離s[m]が許容惰走距離以下となるような目標抵抗値を計算する。目標抵抗値計算部31で計算された目標抵抗値は、ブレーキ指令生成部32へ送られる。
ステップS306において、ブレーキ制御部15内のブレーキ指令生成部32は、目標抵抗値計算部31により算出された目標抵抗値に対応する回生ブレーキ回路13のオン時間割合及びダイナミックブレーキ回路14のオン時間割合を記憶部19から読み出し、目標抵抗値計算部31から取得された惰走時間に基づいて、回生ブレーキ回路13及び/またはダイナミックブレーキ回路14に対するブレーキオン指令を生成する。
ステップS307において、回生ブレーキ回路13は、ブレーキオン指令受信時において第1のスイッチ22をオンしてインバータ12の直流端子間を回生抵抗21を介して短絡する。インバータ12の還流ダイオードを介してインバータ12の交流側から直流側に流入するエネルギーは、回生抵抗21でジュール熱に変換されて消費され、その結果、モータ3に減速トルクが発生する。また、ダイナミックブレーキ回路14は、ブレーキオン指令受信時において第2のスイッチ24をオンしてモータ3の入力端子間をダイナミックブレーキ抵抗23を介して短絡する。モータ3は電源から電気的に切り離されても界磁磁束が存在し、惰性により回転しているモータ3は発電機として働くため、これにより発生した電流はオンし第2のスイッチ24を介してダイナミックブレーキ抵抗23に流れ込み、ダイナミックブレーキ抵抗23でジュール熱に変換されて消費され、その結果、モータ3に減速トルクが発生する。モータ3は、回生ブレーキ回路13及び/またはダイナミックブレーキ回路14により制動されると、惰走時間経過後、停止する。
なお、上述した第1の実施形態の第1〜第3の変形例は、後述する第2及び第3の実施形態にも適用可能である。
続いて、本開示の第2の実施形態によるモータ駆動装置について説明する。第2の実施形態では、制動開始時にモータが有していたエネルギーが、惰走時間の間においては回生抵抗及び/またはダイナミックブレーキ抵抗に対して予め規定された許容エネルギー以下になるように、回生ブレーキ回路及びダイナミックブレーキ回路による制動動作が制御される。
図12は、本開示の第2の実施形態によるモータ駆動装置を示す図である。
第2の実施形態によるモータ駆動装置1は、第1の実施形態によるモータ駆動装置1における許容惰走距離設定部16に代えてエネルギー計算部17を備えるとともに、第1の実施形態によるモータ駆動装置1における目標抵抗値計算部31に代えて惰走時間計算部33を備える。そして、ブレーキ制御部15は、エネルギー計算部17により計算された制動開始時にモータ3が有するエネルギーに基づいて、回生ブレーキ回路13及びダイナミックブレーキ回路14のうちの少なくとも1つに対してブレーキオン指令を出力するものである。
例えば、モータ駆動装置1及びこれにより駆動されるモータ3が設けられたロボットにおいて、ロボットの可動部(アーム)の可動領域の外側に、人、柵、他のロボット、工作機械、あるいは各種機器などの障害物がある場合は、ロボットの可動部が障害物に衝突する可能性はない。よって、第1の実施形態の場合のような許容惰走距離を設定する必要がない。一般に、回生抵抗21及びダイナミックブレーキ抵抗23にはそれぞれ耐量がある。惰走時間tω=0の間に耐量を超えるエネルギーが回生抵抗21及びダイナミックブレーキ抵抗23に流れると、回生抵抗21及びダイナミックブレーキ抵抗23は焼損する。そこで、第2の実施形態は、回生ブレーキ回路13及びダイナミックブレーキ回路14による制動時における回生抵抗21及びダイナミックブレーキ抵抗23による焼損を防ぐために、制動開始時にモータ3が有するエネルギーと回生抵抗21及びダイナミックブレーキ抵抗23とを考慮して、惰走時間を、回生ブレーキ回路13による制動時間とダイナミックブレーキ回路14による制動時間とに適宜割り振る。
エネルギー計算部17は、モータ3の回転速度と、モータ3に関して予め規定されたモータパラメータとに基づいて、制動開始時にモータ3が有するエネルギーを計算する。
ブレーキ制御部15は、モータ3の回転速度と、モータ3に関して予め規定されたモータパラメータと、回生抵抗21の抵抗値と、ダイナミックブレーキ抵抗23の抵抗値とに基づいて、エネルギー計算部17が計算したエネルギーが惰走時間tω=0の間において回生抵抗21に対して予め規定された許容エネルギー以下またはダイナミックブレーキ抵抗23に対して予め規定された許容エネルギー以下になるように、回生ブレーキ回路13及びダイナミックブレーキ回路14のうちの少なくとも1つに対してブレーキオン指令を出力する。
制動開始時にモータ3が有するエネルギーは、惰走時間tω=0の間に、ブレーキ制御部15によって制御された回生ブレーキ回路13内及び/またはダイナミックブレーキ回路14内のエネルギー消費寄与抵抗によって全て消費される。なお、惰走時間tω=0は、上述した式36に従い、ブレーキ制御部15内の惰走時間計算部33により計算される。この制動時におけるエネルギー消費寄与抵抗の抵抗値は、目標抵抗値R[Ω]に対応する。したがって、制動開始時にモータ3が有するエネルギーから、惰走時間tω=0の間に目標抵抗値R[Ω]を有する抵抗で消費されるエネルギーを求めることができる。具体的には次の通りである。
モータ3の回転角周波数をω[rad/sec]、モータ極数をp、モータインダクタンスをL[H]としたとき、式40に示すような定数σを規定する。
目標抵抗値R[Ω]を有する抵抗に流れる電流は、式41のように表すことができる。
よって、惰走時間tω=0の間に目標抵抗値R[Ω]を有する抵抗で消費されるエネルギーEは、式42に示すように「I2R」を積分することによって計算することができる。
式42において、単位時間区間の長さstepは式43のように表される。
エネルギー計算部17は、モータ3の回転速度と、モータ3に関して予め規定されたモータパラメータとに基づいて、式42及び式43に従って、制動開始時にモータ3が有するエネルギーを計算する。
回生抵抗21及びダイナミックブレーキ抵抗23にはそれぞれ耐量があり、耐量を超えるエネルギーが回生抵抗21及びダイナミックブレーキ抵抗23に流れると、回生抵抗21及びダイナミックブレーキ抵抗23は焼損する。そこで、ブレーキ制御部15は、モータ3の回転速度と、モータ3に関して予め規定されたモータパラメータと、回生抵抗21の抵抗値と、ダイナミックブレーキ抵抗23の抵抗値とに基づいて、エネルギー計算部17が計算したエネルギーが、惰走時間tω=0の間においては回生抵抗21に対して予め規定された許容エネルギー以下またはダイナミックブレーキ抵抗23に対して予め規定された許容エネルギー以下になるように、回生ブレーキ回路13及びダイナミックブレーキ回路14のうちの少なくとも1つに対してブレーキオン指令を出力する。
図13は、本開示の第2の実施形態によるモータ駆動装置における制動時の動作フローを示すフローチャートである。
モータ駆動装置1によりモータ3の駆動を制御している状態において(ステップS401)、ステップS402において、モータ駆動装置1は、非常停止ボタンが操作されたか否かを判定する。
ステップS402において非常停止ボタンが操作されたと判定された場合、ステップS403において、モータ3に設けられたエンコーダ18は、モータ3の回転速度を取得する。エンコーダ18により取得されたモータ3の回転速度は、エネルギー計算部17及びブレーキ制御部15内の惰走時間計算部33へ送られる。
ステップS404において、エネルギー計算部17は、モータ3の回転速度と、モータ3に関して予め規定されたモータパラメータとに基づいて、式42及び式43に従って、制動開始時にモータ3が有するエネルギーを計算する。また、ブレーキ制御部15内の惰走時間計算部33は、エンコーダ18により取得されたモータ3の回転速度と、記憶部19に記憶されたモータ3に関して予め規定されたモータパラメータと、に基づいて、式36に基づき惰走時間を計算する。惰走時間計算部33で計算された惰走時間は、ブレーキ指令生成部32へ送られる。
ステップS405において、ブレーキ制御部15内のブレーキ指令生成部32は、惰走時間計算部33から取得された惰走時間の値に基づいて、エネルギー計算部17が計算したエネルギーが、惰走時間の間において回生抵抗21に対して予め規定された許容エネルギー以下またはダイナミックブレーキ抵抗23に対して予め規定された許容エネルギー以下になるように、回生ブレーキ回路13及び/またはダイナミックブレーキ回路14に対するブレーキオン指令を生成する。なお、第1の実施形態と同様、ブレーキ指令生成部32がブレーキオン指令を出力する順番は特に限定されない。また、ブレーキ指令生成部32が決定したブレーキオン指令が出力される時間は、分割されてもよい。
一般に、回生ブレーキ回路13に関しては、モータが通常動作している間は頻繁に回生ブレーキがかけられるため、これに耐えることができるよう、高耐量の回生抵抗を用いている。また、従来は、ダイナミックブレーキ回路に関しては、非常停止時やアラーム発生時などの異常時における急制動に対応できるようにするために、モータの高い回転エネルギーを速やかにジュール熱にできるよう高耐量のダイナミックブレーキ抵抗を用いるのが一般的であった。しかしながら、非常停止やアラーム発生に伴う急制動が要求される頻度はそれほど多くない。また、モータに対する急制動開始時点で、モータが高い回転エネルギー(運動エネルギー)を有しているは限らないよって、ダイナミックブレーキ回路に高耐量のダイナミックブレーキ抵抗を設けても大抵の場合はその性能を持て余すことになり、効率が悪い。そこで、第2の実施形態では、ダイナミックブレーキ抵抗23の耐量を、一般的な値より小さめに設定し、ダイナミックブレーキ抵抗23の耐量を超える分のエネルギーについては、回生抵抗21にて消費されるようにする。これにより、従来一般的に用いられていたよりも小さい耐量のダイナミックブレーキ抵抗23を用いることができるので、効率が向上する。
ここで、ダイナミックブレーキ抵抗23の抵抗値RDBが1[Ω]であり耐量が1000[J]を例にとり、惰走時間1[sec]の場合における回生ブレーキ回路13及び/またはダイナミックブレーキ回路14に対するブレーキオン指令を生成例について説明する。例えばダイナミックブレーキ抵抗23では0.2[sec]で耐量に達する場合、ダイナミックブレーキ回路14に対してはブレーキオン指令を0.2[sec]だけ出力し、回生ブレーキ回路13に対してはブレーキオン指令を0.8[sec]だけ出力する。また例えばダイナミックブレーキ抵抗23では1[sec]であって耐量に達しない場合、ダイナミックブレーキ回路14に対してのみブレーキオン指令を1[sec]にわたって出力する。
ステップS406において、回生ブレーキ回路13は、ブレーキオン指令受信時において第1のスイッチ22をオンしてインバータ12の直流端子間を回生抵抗21を介して短絡する。インバータ12の還流ダイオードを介してインバータ12の交流側から直流側に流入するエネルギーは、回生抵抗21でジュール熱に変換されて消費され、その結果、モータ3に減速トルクが発生する。また、ダイナミックブレーキ回路14は、ブレーキオン指令受信時において第2のスイッチ24をオンしてモータ3の入力端子間をダイナミックブレーキ抵抗23を介して短絡する。モータ3は電源から電気的に切り離されても界磁磁束が存在し、惰性により回転しているモータ3は発電機として働くため、これにより発生した電流はオンし第2のスイッチ24を介してダイナミックブレーキ抵抗23に流れ込み、ダイナミックブレーキ抵抗23でジュール熱に変換されて消費され、その結果、モータ3に減速トルクが発生する。モータ3は、回生ブレーキ回路13及び/またはダイナミックブレーキ回路14により制動されると、惰走時間経過後、停止する。
続いて、本開示の第3の実施形態によるモータ駆動装置について説明する。第3の実施形態は、第1の実施形態と第2の実施形態とを組み合わせたものである。
図14は、本開示の第3の実施形態によるモータ駆動装置を示す図である。
第3の実施形態によるモータ駆動装置1は、第1の実施形態によるモータ駆動装置1における許容惰走距離設定部16及び第2の実施形態によるモータ駆動装置1におけるエネルギー計算部17の両方を備える。
許容惰走距離設定部16は、モータ3とモータ3が駆動する可動部とを備えた機械において予め規定された可動部の可動領域と、モータ3の制動開始時における可動部の位置とに基づいて、モータ3を制動する際にモータ3に対して許容される許容惰走距離を設定する。なお、許容惰走距離については、第1の実施形態に関連して説明した第1〜第3の変形例に従い設定されてもよい。
ブレーキ制御部15内の目標抵抗値計算部31は、エンコーダ18により取得されたモータ3の回転速度と、記憶部19に記憶されたモータ3に関して予め規定されたモータパラメータと、に基づいて、モータ3の制動開始時点からモータ3が完全に停止するまでに惰走する距離s[m]が許容惰走距離設定部16で設定された許容惰走距離以下となるような目標抵抗値を計算する。
エネルギー計算部17は、モータ3の回転速度と、モータ3に関して予め規定されたモータパラメータとに基づいて、式42及び式43に従って、制動開始時にモータ3が有するエネルギーを計算する。
また、ブレーキ制御部15内の惰走時間計算部33は、エンコーダ18により取得されたモータ3の回転速度と、記憶部19に記憶されたモータ3に関して予め規定されたモータパラメータと、に基づいて、式36に基づき惰走時間を計算する。
ブレーキ制御部15内のブレーキ指令生成部32は、目標抵抗値計算部31により算出された目標抵抗値に対応する回生ブレーキ回路13のオン時間割合及びダイナミックブレーキ回路14のオン時間割合を、記憶部19から読み出し、回生ブレーキ回路13及び/またはダイナミックブレーキ回路14に対する第1の仮ブレーキオン指令を生成する。また、ブレーキ制御部15内のブレーキ指令生成部32は、惰走時間計算部33から取得された惰走時間の値に基づいて、エネルギー計算部17が計算したエネルギーが、惰走時間の間において回生抵抗21に対して予め規定された許容エネルギー以下またはダイナミックブレーキ抵抗23に対して予め規定された許容エネルギー以下になるように、回生ブレーキ回路13及び/またはダイナミックブレーキ回路14に対する第2の仮ブレーキオン指令を生成する。
このように、ブレーキ指令生成部32は、許容惰走距離に基づき第1の仮ブレーキオン指令を生成し、制動開始時にモータ3が有するエネルギーに基づく第2の仮ブレーキオン指令を生成する。ブレーキ指令生成部32は、これら生成された仮ブレーキオン指令を総合的に考慮して、最終的なブレーキオン指令を生成する。一例と挙げると次の通りである。
図15は、目標抵抗値とモータの惰走時間とモータの想定惰走距離との関係を例示する図である。一例として、式39に従って算出された各目標抵抗値R[Ω]に対して、式36から惰走時間tω=0[sec]が算出されかつ式37から想定惰走距離s[m]が算出された場合を説明する。目標抵抗値R[Ω]とモータの惰走時間tω=0[sec]とモータの想定惰走距離s[m]との関係は、モータ駆動装置1の実際の運用の前に、予めに計算しておきこれを記憶部19に記憶しておく。
目標抵抗値計算部31により計算された目標抵抗値R[Ω]に対応する想定惰走距離s[m]が、許容惰走距離設定部16により設定された許容惰走距離よりも大きい場合、ブレーキ指令生成部32は、想定惰走距離s[m]が最小となるような目標抵抗値R[Ω]を記憶部19から読み出し、これに基づいて、第1の仮ブレーキオン指令を生成する。また、目標抵抗値計算部31により計算された目標抵抗値R[Ω]に対応する想定惰走距離s[m]が、許容惰走距離設定部16により設定された許容惰走距離よりも小さい場合、ブレーキ指令生成部32は、想定惰走距離s[m]が最大となるような目標抵抗値R[Ω]を記憶部19から読み出し、これに基づいて、第1の仮ブレーキオン指令を生成する。
一方、惰走時間計算部33は、エンコーダ18により取得されたモータ3の回転速度と、記憶部19に記憶されたモータ3に関して予め規定されたモータパラメータと、に基づいて、式36に基づき惰走時間tω=0[sec]を計算する。ブレーキ指令生成部32は、ダイナミックブレーキ抵抗23の耐量に達するまでの時間tb[sec]を計算する。ダイナミックブレーキ抵抗23の耐量に達するまでの時間tb[sec]は、例えば次のようにして求めることができる。
ダイナミックブレーキ回路14による制動を開始してから時間tb[sec]経過後に、ダイナミックブレーキ抵抗23で消費されるエネルギーはダイナミックブレーキ抵抗23の耐量EDBに達することから、式44が成り立つ。ここで、stepは上述した式43で表される。
式44のnb番目までの演算で、ダイナミックブレーキ抵抗23の耐量EDBに達する直前に至ることから、ダイナミックブレーキ抵抗23の耐量EDBに達するまでの時間tb[sec]は式45のように表される。
ここで、式44及び式45におけるnbは、式42に従って各時間区間において目標抵抗値R[Ω]を有する抵抗で消費されるエネルギーEを、i番目(ただし、iは0からnbまでの自然数)まで合算し、合算したエネルギーがダイナミックブレーキ抵抗23の耐量EDBを超えたときの序数「i−1」に設定すればよい。より詳細には次の通りである。
図16は、式44及び式45におけるnbを計算するためのフローチャートである。図16に示すステップS501〜S505の処理は、惰走時間計算部33により実行される。
ステップS501において、初期値としてi=0を設定する。
ステップS502において、式42に従って、目標抵抗値R[Ω]を有する抵抗で消費されるi番目までのエネルギーの合算値Eiを計算する。
ステップS503において、i番目までのエネルギーの合算値Eiがダイナミックブレーキ抵抗23の耐量EDBを超えたか否かを判定する。ステップS505においてEiがEDBを超えないと判定された場合はステップS504へ進み、EiがEDBを超えたと判定された場合はステップS505へ進む。
ステップS504では、iを1だけインクリメントし、その後、ステップS502へ戻る。
ステップS505において、nbを「i−1」に設定する。以上のようにして求められたnbを式45に代入することで、ダイナミックブレーキ抵抗23の耐量EDBに達するまでの時間tb[sec]を求めることができる。
ダイナミックブレーキ抵抗23の耐量に達するまでの時間tb[sec]が、惰走時間tω=0[sec]よりも小さい場合、ブレーキ指令生成部32は、ダイナミックブレーキ抵抗23の耐量に達するまでの時間tb[sec]だけダイナミックブレーキ回路14が動作するような第2の仮ブレーキオン指令を生成する。また、ダイナミックブレーキ抵抗23の耐量に達するまでの時間が、惰走時間tω=0[sec]よりも大きい場合、ブレーキ指令生成部32は、惰走時間tω=0[sec]の間中は常にダイナミックブレーキ回路14が動作するような第2の仮ブレーキオン指令を生成する。
ブレーキ指令生成部32は、最終的なブレーキオン指令を、許容惰走距離に基づく第1の仮ブレーキオン指令と制動開始時にモータ3が有するエネルギーに基づく第2の仮ブレーキオン指令とのうちのいずれの仮ブレーキオン指令を優先するかを示す重み付け係数(優先度)に基づいて決定する。
例えば、第1の仮ブレーキオン指令がダイナミックブレーキ回路14を0.5[sec]だけ動作させるものであり、第2の仮ブレーキオン指令がダイナミックブレーキ回路14を0.3[sec]だけ動作させるものであるという結果が得られたとする。第1の仮ブレーキオン指令の重み付け係数が100%であり、第2の仮ブレーキオン指令の重み付け係数が0%である場合、ブレーキ指令生成部32は、ダイナミックブレーキ回路14を0.5[sec]だけ動作させるブレーキオン指令を生成する。第1の仮ブレーキオン指令の重み付け係数が0%であり、第2の仮ブレーキオン指令の重み付け係数が100%である場合、ブレーキ指令生成部32は、ダイナミックブレーキ回路14を0.3[sec]だけ動作させるブレーキオン指令を生成する。第1の仮ブレーキオン指令の重み付け係数が50%であり、第2の仮ブレーキオン指令の重み付け係数が50%である場合、ブレーキ指令生成部32は、「0.5−(0.5−0.3)×0.5」で得られる0.4[sec]だけダイナミックブレーキ回路14を動作させるブレーキオン指令を生成する。
なお、モータ駆動装置1により駆動されるモータ3が設けられた機械の可動部が障害物と衝突しないよう安全が確保されるべきであるので、許容惰走距離に基づく第1の仮ブレーキオン指令の方を、制動開始時にモータ3が有するエネルギーに基づく第2の仮ブレーキオン指令よりも重み付け係数を高く設定するのが好ましい。
図17は、本開示の第3の実施形態によるモータ駆動装置における制動時の動作フローを示すフローチャートである。
モータ駆動装置1によりモータ3の駆動を制御している状態において(ステップS601)、ステップS602において、モータ駆動装置1は、非常停止ボタンが操作されたか否かを判定する。
ステップS602において非常停止ボタンが操作されたと判定された場合、ステップS603において、モータ3に設けられたエンコーダ18は、モータ3の回転速度を取得する。エンコーダ18により取得されたモータ3の回転速度は、ブレーキ制御部15内の目標抵抗値計算部31へ送られる。
ステップS604において、惰走時間計算部33は、エンコーダ18により取得されたモータ3の回転速度と、記憶部19に記憶されたモータ3に関して予め規定されたモータパラメータと、に基づいて、式37に基づき惰走時間を計算する。惰走時間計算部33で計算された惰走時間は、ブレーキ指令生成部32へ送られる。
ステップS604において、ブレーキ制御部15内の目標抵抗値計算部31は、エンコーダ18により取得されたモータ3の回転速度と、記憶部19に記憶されたモータ3に関して予め規定されたモータパラメータと、に基づいて、モータ3の制動開始時点からモータ3が完全に停止するまでに惰走する距離s[m]が許容惰走距離設定部16で設定された許容惰走距離以下となるような目標抵抗値を計算する。目標抵抗値計算部31で計算された目標抵抗値は、ブレーキ指令生成部32へ送られる。
ステップS606において、エネルギー計算部17は、モータ3の回転速度と、モータ3に関して予め規定されたモータパラメータとに基づいて、式42及び式43に従って、制動開始時にモータ3が有するエネルギーを計算する。エネルギー計算部17で計算されたエネルギーの値は、ブレーキ指令生成部32へ送られる。
ステップS607において、ブレーキ指令生成部32は、ステップS605において計算された目標抵抗値を用いて許容惰走距離に基づき第1の仮ブレーキオン指令を生成し、ステップS606において計算された制動開始時にモータ3が有するエネルギーに基づく第2の仮ブレーキオン指令を生成する。
ステップS608において、ブレーキ指令生成部32は、最終的なブレーキオン指令を、許容惰走距離に基づく第1の仮ブレーキオン指令と制動開始時にモータ3が有するエネルギーに基づく第2の仮ブレーキオン指令とのうちのいずれの仮ブレーキオン指令を優先するかを示す重み付け係数に基づいて決定する。
ステップS609において、回生ブレーキ回路13は、ブレーキオン指令受信時において第1のスイッチ22をオンしてインバータ12の直流端子間を回生抵抗21を介して短絡する。インバータ12の還流ダイオードを介してインバータ12の交流側から直流側に流入するエネルギーは、回生抵抗21でジュール熱に変換されて消費され、その結果、モータ3に減速トルクが発生する。また、ダイナミックブレーキ回路14は、ブレーキオン指令受信時において第2のスイッチ24をオンしてモータ3の入力端子間をダイナミックブレーキ抵抗23を介して短絡する。モータ3は電源から電気的に切り離されても界磁磁束が存在し、惰性により回転しているモータ3は発電機として働くため、これにより発生した電流はオンし第2のスイッチ24を介してダイナミックブレーキ抵抗23に流れ込み、ダイナミックブレーキ抵抗23でジュール熱に変換されて消費され、その結果、モータ3に減速トルクが発生する。モータ3は、回生ブレーキ回路13及び/またはダイナミックブレーキ回路14により制動されると、惰走時間経過後、停止する。
上述したブレーキ制御部15、許容惰走距離設定部16、エネルギー計算部17、及びインバータ12を制御するための制御部(図示せず)は、例えばソフトウェアプログラム形式で構築されてもよく、あるいは各種電子回路とソフトウェアプログラムとの組み合わせで構築されてもよい。例えばこれらをソフトウェアプログラム形式で構築する場合は、モータ駆動装置1内やモータ駆動装置1が設けられたロボットや工作機械内にある例えばMPUやDSPなどの演算処理装置をこのソフトウェアプログラムに従って動作させることで、上述の各部の機能を実現することができる。またあるいは、ブレーキ制御部15、許容惰走距離設定部16、エネルギー計算部17、及びインバータ12を制御するための制御部を、各部の機能を実現するソフトウェアプログラムを書き込んだ半導体集積回路として実現してもよい。
なお、上述の各実施形態では、モータ3に設けられる機械としてロボット1000を例にとり説明したが、工作機械であってもよい。各実施形態を工作機械に適用する場合、モータ3が設けられた工作機械内のモータ3により駆動される可動部は、例えば工具及びワークの把持部などが該当し、障害物500は、例えば工作機械の工具が加工するワーク、当該工具とは異なる他の工具、及び工作機械において工具及び把持部を内包する作業室内の内壁などが該当する。この場合、許容惰走距離設定部16による許容惰走距離の設定の際には、上述の各実施形態と同様、モータ3の回転方向との距離とモータ3が当該回転を行ったときの可動部は、例えば工具及びワークの把持部との関係を表す計算式を例えば工具やワークの把持部を駆動する駆動軸の長さやギア比を考慮して事前に求めておき、この計算式を用いて工具及びワークの把持部の可動領域をモータ3の回転方向の距離に換算し、許容惰走距離を設定する処理が行われる。作業者による非常停止ボタンの操作により、モータ駆動装置1内の回生ブレーキ回路13及びダイナミックブレーキ回路14は、モータ3に対する制動を開始する。ブレーキ制御部15内の目標抵抗値計算部31は、エンコーダ18により取得されたモータ3の回転速度と、記憶部19に記憶されたモータ3に関して予め規定されたモータパラメータと、に基づいて、モータ3の制動開始時点からモータ3が完全に停止するまでに惰走する距離s[m]が許容惰走距離以下となるような目標抵抗値を計算する。なお、モータ3に設けられる機械を工作機械した場合、モータ3が設けられた工作機械内のモータ3により駆動される可動部を工具とするかあるいはワークの把持部とするかは、例えば工作機械の運用状況や周辺環境などに応じて作業者が適宜設定すればよい。