(57)【特許請求の範囲】
【請求項１】
コイルを有するサーボモータの位置を検出するとともに、前記サーボモータに関するモードに応じて指令を選択し、選択した指令とサーボモータの位置との差から位置偏差を算出し、算出した位置偏差を基にトルク指令を生成し、当該トルク指令に従って前記サーボモータの電流を制御することで、前記位置偏差が０になるように前記サーボモータの回転位置をフィードバック制御するサーボモータの制御方法において、
前記サーボモータの運転開始時に、ユーザーからの回転指令を受付けない状態で且つサーボオンの状態でテストモードによる微小指令を選択し、当該選択した微小指令と前記サーボモータの位置との差から位置偏差を算出し、当該算出した位置偏差が暴走検出しきい値以上のときには前記サーボモータのコイルに対する励磁を即座に中止し、前記サーボモータに対する電流制御を停止してなり、
前記テストモードによる微小指令は、前記サーボモータの通常運転時の回転指令で規定される回転角よりも小さい回転角の位置指令であって、
前記暴走検出しきい値は、通常運転モードにおける位置偏差オーバーしきい値よりも小さい値であって、
前記テストモードによる微小指令と前記サーボモータの位置との差から算出された位置偏差が前記暴走検出しきい値より小さい状態が一定時間経過したことを条件に、通常運転モードに移行してユーザーからの回転指令を選択するものであり、
前記通常運転モードに移行する際には、事前に、前記テストモードによる微小指令とは逆方向の指令を選択することによって、前記テストモードによる微小指令をキャンセルして、前記サーボモータの運転開始時の位置を保持した後に、通常運転モードにおける制御を開始してなる、サーボモータの制御方法。
【請求項２】
前記テストモードによる微小指令は、前記サーボモータを４秒の角度だけ回転させる指令であることを特徴とする、請求項１に記載のサーボモータの制御方法。
【請求項３】
通常運転モードにおける位置偏差オーバーしきい値は３０度であって、前記暴走検出しきい値は１５度であることを特徴とする、請求項１に記載のサーボモータの制御方法。
【請求項４】
前記サーボモータは、内部パルスジェネレータと減算器とを有しており、前記内部パルスジェネレータが、前記テストモードによる微小指令を反転させた逆符号の微小指令を内部から発生し、回転指令として前記減算器に入力し、前記減算器の算出による位置偏差の値を補正することを特徴とする請求項１に記載のサーボモータの制御方法。
【請求項５】
前記サーボモータは、指令選択器と、暴走テスト用パルス発生器と、パルス列発生機と、を有しており、
前記指令選択器は、
前記テストモードのときには、前記暴走テスト用パルス発生器からの微小指令を選択し、
前記テストモードから前記通常運転モードに移行するときには、前記内部パルスジェネレータからの微小指令を選択し、
前記通常運転モードのときには、前記パルス列発生機からの指令を選択するものであって、
選択した指令を回転指令として前記減算器に入力することを特徴とする請求項４に記載のサーボモータの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーボモータの暴走を防止するに好適なサーボモータの制御方法およびその制御装置に関する。
【背景技術】
【０００２】
従来、サーボモータを駆動するシステムとして、サーボモータの回転位置を位置検出器で検出し、位置検出器の検出による位置と回転指令を基にサーボモータの回転位置をフィードバック制御するものがある。
【０００３】
この種のシステムに用いられるサーボモータに、期待したトルクを発生させるためには、電流制御のための電気角原点を設定する必要がある。このため、サーボモータの駆動を制御するに際しては、例えば、サーボモータの回転位置を検出する位置検出器がアブソリュート方式の場合、予めU相‐N極が対向する電気角原点と、サーボモータに連結された位置検出器の機械角原点の位相差を予め記憶しておき、これらを基に電気角原点を算出し、算出値にしたがってサーボモータの電流を制御する構成が採用されている。また位置検出器がインクリメンタル方式の場合でも、アブソリュート方式と同様に電気角原点と位置検出器原点（機械角原点）の位相を検出する構成が採用されている。
【０００４】
しかし、以下の状態がある場合には、正しい電気角原点が得られない場合がある。
【０００５】
（１）位置検出器の故障
（２）位置検出器とモータコアの位相差が使用中に変化した
（３）記憶した位置検出器の位相差データの破壊
（４）サーボモータとドライブユニットのミスマッチ
【０００６】
（１）〜（４）のうちいずれかの状態でサーボモータに対する電流制御を行うと、トルク指令に対して、発生トルクの符合が反転する場合があり、この状態でフィードバック制御を行うとサーボモータが暴走することがある。
【０００７】
サーボモータの暴走は、サーボモータをサーボオンしたあとに、ユーザが回転指令を入力することで発生することが多い。これは、サーボモータが期待した方向に動作しないため、回転指令＝位置偏差となり、暴走する方向の出力トルクが短時間で立ち上がるためである。
【０００８】
そこで、モータの暴走を防止するために、電源を入れるごとに、モータの通常運転に入る前に、モータのロータと、モータのロータと結合された回転部材の位相のずれである転流角を診断する簡易キャリブレーションモードを設け、この簡易キャリブレーションモードにおいて、モータのコイルに流れる電流をフィードバック制御する駆動回路に、所定の一定値の電流指令値を与えるとともに、モータの回転位置がロックされた状態で、モータの回転位置を検出するセンサの検出信号を基にモータのロータとステータの歯の１歯ピッチ内における位相ずれを検出して転流角を測定し、測定した転流角と予め設定しておいた転流角とを比較し、これらの差が許容範囲外にあるときには警報を発生するようにしたものが提案されている（特許文献１参照）。
【０００９】
【特許文献１】特開平３−８２３９２号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
従来技術においては、モータが通常運転に入る前に、簡易キャリブレーションモードを設け、このモードにより、モータの実際の転流角を測定し、この転流角と予め設定しておいた転流角とを比較し、これらの差が許容範囲内にないときには警報を発生することでモータの暴走を未然に防止しているが、キャリブレーションモードにおける処理として、モータのコイルに一定電流を流し、ロータが安定した状態になったときに転流角を測定している。このため、このキャリブレーションモードでは、ロータが位置制御されない、オープンループによる制御のため、位置保持力が期待できず、ロータが微小に回転する可能性がある。
【００１１】
本発明の目的は、サーボモータの運転開始時に、電気角が正しくない場合にはテストモードによる指令によって暴走動作を誘発させて、より小さい回転角でサーボモータの暴走を停止することができるサーボモータの制御方法およびその装置を提供することにある。
【課題を解決するための手段】
【００１２】
前記目的を達成するために、本発明は、サーボモータの位置を検出するとともに、前記サーボモータに関するモードに応じて指令を選択し、選択した指令とサーボモータの位置との差から位置偏差を算出し、算出した位置偏差を基にトルク指令を生成し、当該トルク指令に従って前記サーボモータの電流を制御するサーボモータの制御方法において、前記サーボモータの運転開始時に、テストモードによる指令を選択し、当該選択した指令と前記サーボモータの位置との差から位置偏差を算出し、当該算出した位置偏差が暴走検出しきい値以上のときには前記サーボモータに対する電流制御を停止することを特徴とする。
【００１３】
係る構成によれば、サーボモータの運転開始時に、サーボモータが通常運転に移行するに先立って、テストモードによる指令を選択し、選択した指令とサーボモータの位置との差から位置偏差を算出し、算出した位置偏差が暴走検出しきい値以上のときにはサーボモータに対する電流制御を停止するようにしているため、ユーザの操作による指令に従ってサーボモータが通常運転に移行する前に、電気角が正しくない場合には、テストモードによる指令によって暴走動作を誘発させて、より小さい回転角でサーボモータの暴走を停止することができる。
【００１４】
サーボモータの制御方法を採用するに際しては、以下の要素を付加することができる。
【００１５】
好適には、前記サーボモータの運転開始時に、前記テストモードによる微小指令と前記サーボモータの位置との差から算出された位置偏差が前記暴走検出しきい値より小さい状態が一定時間経過したことを条件に、通常運転モードによる指令を選択し、前記通常運転モードに移行する際には、前記テストモードの指令をキャンセルして、前記サーボモータの運転開始時の位置を保持して制御を開始してなる。
【００１６】
係る構成によれば、位置偏差が暴走検出しきい値より小さい状態が一定時間経過したことを条件に、通常運転モードによる指令を選択し、通常運転モードに移行する際には、テストモードの指令をキャンセルして、サーボモータの運転開始時の位置を保持して制御を開始することで、テストモードのときには、ユーザからの回転指令によって通常運転モードに移行するのを阻止することができるため、サーボモータを停止位置に保持した状態で通常運転モードによる運転に移行することができる。
【００１７】
好適には、前記テストモードによる指令は、前記サーボモータの通常運転時の回転指令で規定される回転角よりも小さい回転角の位置指令である。
【００１８】
係る構成によれば、テストモードによる指令を、サーボモータの通常運転時の回転指令で規定される回転角よりも小さい回転角の位置指令とすることで、より確実に小さい回転角でサーボモータの暴走を停止することができる。
【００１９】
また、本発明は、サーボモータに関するモードに応じた指令を選択して出力する指令選択器と、前記サーボモータの位置を検出する位置検出器と、前記指令選択器の選択による指令と前記位置検出器の検出出力との差から位置偏差を算出する位置偏差算出器と、前記位置偏差算出器の算出による位置偏差を基にトルク指令を生成し、当該トルク指令に従って前記サーボモータの電流を制御する位置制御器とを備え、前記指令選択器は、前記サーボモータの運転開始時に、テストモードによる指令を選択し、前記位置偏差算出器は、前記テストモードによる指令と前記位置検出器の検出出力との差から位置偏差を算出し、前記位置制御器は、前記位置偏差算出器の算出による位置偏差が暴走検出しきい値以上のときには前記サーボモータに対する電流制御を停止してなることを特徴とする。
【００２０】
係る構成によれば、サーボモータの運転開始時に、サーボモータが通常運転に移行するに先立って、テストモードによる指令を選択し、選択した指令とサーボモータの位置との差から位置偏差を算出し、算出した位置偏差が暴走検出しきい値以上のときにはサーボモータに対する電流制御を停止するようにしているため、ユーザの操作による指令に従ってサーボモータが通常運転に移行する前に、電気角が正しくない場合には、テストモードによる指令によって暴走動作を誘発させて、より小さい回転角でサーボモータの暴走を停止することができる。
【００２１】
サーボモータの制御装置を構成するに際しては、以下の要素を付加することができる。
【００２２】
好適には、前記位置制御器は、前記位置偏差算出器の算出による位置偏差が前記暴走検出しきい値より小さい状態が一定時間経過したことを条件に、通常運転モードによる指令を前記指令選択器に選択させ、前記通常運転モードに移行させる際には、前記テストモードの指令をキャンセルして、前記サーボモータの運転開始時の位置を保持して制御を開始してなる。
【００２３】
係る構成によれば、位置偏差が暴走検出しきい値より小さい状態が一定時間経過したことを条件に、通常運転モードによる指令を指令選択器に選択させ、通常運転モードに移行させる際には、テストモードの指令をキャンセルして、サーボモータの運転開始時の位置を保持して制御を開始することで、テストモードのときには、ユーザからの回転指令によって通常運転モードに移行するのを阻止することができるため、サーボモータを停止位置に保持した状態で通常運転モードによる運転に移行することができる。
【００２４】
好適には、前記指令選択器は、前記テストモードによる指令として、前記サーボモータの通常運転時の回転指令で規定される回転角よりも小さい回転角の位置指令を選択してなる。
【００２５】
係る構成によれば、テストモードによる指令を、サーボモータの通常運転時の回転指令で規定される回転角よりも小さい回転角の位置指令とすることで、より確実に小さい回転角でサーボモータの暴走を停止することができる。
【発明の効果】
【００２６】
本発明によれば、サーボモータの運転開始時に、電気角が正しくない場合には、テストモードによる指令によって暴走動作を誘発させ、より小さい回転角でサーボモータの暴走を停止することができる。
【発明を実施するための最良の形態】
【００２７】
以下、本発明の一実施形態を図面に基づいて説明する。図１は本発明に係るサーボモータの制御装置の一実施例を示す暴走テスト時の制御ブロック図である。  図１において、サーボモータの制御装置は、サーボモータ１０を制御対象として、暴走テスト用パルス発生器１２、内部パルスジェネレータ１４、パルス列発生器１６、スイッチ１８、減算器２０、位置制御器２２、位置検出器２４を備えて構成されている。
【００２８】
暴走テスト用パルス発生器１２は、サーボモータ１０の運転開始時に、テストモードによる指令として、暴走テスト用の微小パルス、例えば、１６パルスであって４秒相当のパルス（通常運転モードにおける回転指令で規定される回転角よりも小さい回転角のパルス）を発生するようになっている。内部パルスジェネレータ１４は、暴走テスト用の微小パルスをキャンセルし、元に戻すためのパルス、例えば、暴走テスト用の微小パルスの符号を反転させた微小パルス（−１６パルス）を内部から発生するようになっている。パルス列発生器１６は、サーボモータ１０の通常運転モードにおける動作指令として、外部からパルス列を発生するようになっている。
【００２９】
スイッチ１８は、サーボモータ１０に関するモードに応じた指令を選択する指令選択器として、テストモードのときには暴走テスト用パルス発生器１２からの微小パルスを選択し、テストモードから通常運転モードに移行するときには、内部パルスジェネレータ１４からの微小パルスを選択し、通常運転モードのときには、パルス列発生器１６からのパルス（パルス列）を選択し、選択したパルスを回転指令として減算器２０に出力する。
【００３０】
減算器２０は、スイッチ１８によって選択されたパルスを回転指令として取り込むとともに、サーボモータ１０の回転位置を検出する位置検出器２４の検出出力を取り込み、スイッチ１８の選択による回転指令と位置検出器２４の検出出力との差から位置偏差を算出し、算出した位置偏差を位置制御器２２に出力する位置偏差算出器として構成されている。
【００３１】
位置制御器２２は、減算器２０の算出による位置偏差を基にトルク指令を生成し、生成したトルク指令にしたがってサーボモータ１０のコイルを励磁して、サーボモータ１０の電流を制御し、減算器２０の算出による位置偏差が０になるように、サーボモータ１０の回転位置をフィードバック制御するようになっている。
【００３２】
この際、スイッチ１８は、例えば、位置制御器２２からの制御信号を基に、サーボモータ１０の運転開始時に、テストモードによる指令として、暴走テスト用パルス発生器１２からの微小パルスを選択し、その後、テストモードから通常運転モードに移行する過程では内部パルスジェネレータ１４からの微小パルスを選択し、通常運転モードに移行したときには、パルス列発生器１６からのパルスを選択するようになっている。
【００３３】
次に、暴走テスト時の作用を図２のフローチャートにしたがって説明する。まず、サーボモータ１０に対する暴走テストを開始するに際して、サーボモータ１０の運転開始時には、まずテストモードが選択され、スイッチ１８が暴走テスト用パルス発生器１２からのパルスを選択するための切換えが行われ（ステップS１）、その後サーボモータ１０がサーボオンとなる（S２）。サーボモータ１０がサーボオンになった運転開始時には、テストモードによる指令として、暴走テスト用パルス発生器１２からの微小パルスがスイッチ１８を介して減算器２０に入力される。この微小パルスは、例えば、１６パルスであって、４秒相当の回転指令である（S３）。
【００３４】
次に、減算器２０において、スイッチ１８で選択された微小パルスと位置検出器２４の検出出力との差から位置偏差が算出され、算出された位置偏差が位置制御器２２に入力される。このとき、位置制御器２２は、減算器２０の算出による位置偏差が暴走検出しきい値、例えば、通常運転モードにおける位置偏差オーバーしきい値を３０度とした場合、この３０度よりも小さいしきい値である１５度よりも大きいか否かを判定する（S４）。位置偏差が暴走しきい値以上のときには位置制御器２２は、転流異常として、サーボモータ１０のコイルに対する励磁を即座に中止し、サーボモータ１０に対する電流制御を停止する（S５）。すなわち、位置偏差が暴走検出しきい値以上のときには電気角が正しくないとして、暴走テスト用微小パルスを基にサーボモータ１０による暴走動作を誘発させて、より小さい回転角でサーボモータ１０の暴走を停止する。
【００３５】
一方、ステップS４で、位置偏差が暴走検出しきい値よりも小さいと判定されたときには、位置制御器２２は、一定時間経過したか否かを判定し（S６）、位置偏差が暴走しきい値よりも小さい状態が一定時間経過するまでステップS４〜ステップS6の処理を繰り返す。このあと、位置偏差が暴走検出しきい値よりも小さい状態が一定時間経過したことを条件に、すなわちユーザからの回転指令を受付けない状態（サーボロック状態）が一定時間経過したときには、テストモードから通常運転モードに移行するために、スイッチ１８を切換えて、内部パルスジェネレータ１４からのパルスとして、暴走テスト用微小パルスをキャンセルするためのパルスであって、暴走テスト用微小パルスとは逆符号の微小パルス（−１６パルス）を回転指令として入力し、減算器２０の算出による位置偏差の値を補正し、元の状態に戻す（S７）。つまり、位置偏差が暴走検出しきい値より小さい状態が一定時間経過したことを条件に、通常運転モードに移行する際には、テストモードの指令をキャンセルして、サーボモータの運転開始時の位置を保持して制御を開始する。
【００３６】
このあと通常運転モードによる指令を入力するために、スイッチ１８をパルス列発生器１６側に切換えて、パルス列発生器１６からのパルスを回転指令として取り込み、この回転指令と位置検出器２４の検出出力との差から位置偏差を算出し、算出した位置偏差を基に位置制御器２２でトルク指令を生成し、このトルク指令にしたがってサーボモータ１０のコイルを励磁し、通常運転モードに応じたトルク指令にしたがってサーボモータ１０に対する電流を制御し（S８）、このルーチンでの処理を終了する。
【００３７】
本実施例によれば、サーボモータ１０の運転開始時に、サーボモータ１０を通常運転モードで運転するに先立って、テストモードによってサーボモータ１０をサーボオン状態とし、サーボモータ１０がサーボオンになった直後から一定時間、ユーザからの回転指令を受付けない状態（サーボロック状態）として、暴走テスト用微小パルスにしたがって位置偏差を算出し、この位置偏差が暴走検出しきい値以上のときには電気角が正しくないとして、暴走テスト用微小パルスを基にサーボモータ１０による暴走動作を誘発させて、より小さい回転角でサーボモータ１０の暴走を停止することができる。
【００３８】
この場合、サーボモータ１０は位置制御による停止位置に保持され、サーボモータ１０のロータはサーボオン時の位置を保持されるため、負荷トルクの影響を受けるのを抑制することもできる。
【図面の簡単な説明】
【００３９】
【図１】本発明に係るサーボモータの制御装置の一実施例を示す暴走テスト時の制御ブロック図である。
【図２】暴走テスト時の作用を説明するためのフローチャートである。
【符号の説明】
【００４０】
１０  サーボモータ、１２  暴走テスト用パルス発生器、１４  内部パルスジェネレータ、１６  パルス列発生器、１８  スイッチ、２０  減算器、２２  位置制御器、２４  位置検出器
【図１】
0005273582.tif 000002
【図２】
0005273582.tif 000003