(57)【要約】【課題】異常によるモータ駆動系の損傷を防止すること。【解決手段】モータ制御装置は、制御対象のモータの回転を検出して、回転に関する回転検出値を出力する検出部と、前記回転検出値に基づいて、前記モータに対して、時間の経過に従って増加する制御目標値で回転を行わせる駆動制御を行う駆動制御部と、前記回転検出値と所定の閾値とに基づいて、前記駆動制御における異常を検知する異常検知処理を行う異常検知部と、を備え、前記駆動制御部は、異常が検知された場合に、前記モータの回転を停止させる制御を行う。【選択図】図１
2013179822.tif 000002
【特許請求の範囲】
【請求項１】
制御対象のモータの回転を検出して、回転に関する回転検出値を出力する検出部と、
前記回転検出値に基づいて、前記モータに対して、時間の経過に従って増加する制御目標値で回転を行わせる駆動制御を行う駆動制御部と、
前記回転検出値と所定の閾値とに基づいて、前記駆動制御における異常を検知する異常検知処理を行う異常検知部と、を備え、
前記駆動制御部は、異常が検知された場合に、前記モータの回転を停止させる制御を行う、
モータ制御装置。
【請求項２】
前記異常検知部は、前記回転検出値が前記閾値以下であるか否かを判断し、前記回転検出値が前記閾値以下である場合に、前記異常を検知する、
請求項１に記載のモータ制御装置。
【請求項３】
前記異常検知部は、前記回転検出値と前記制御目標値との誤差を算出し、前記誤差が前記閾値より大きいか否かを判断し、前記誤差が前記閾値より大きい場合に、前記異常を検知する、
請求項１に記載のモータ制御装置。
【請求項４】
前記異常検知部は、前記検出部から前記回転検出値が出力されない状態の前記異常である第１異常を検知する、
請求項１に記載のモータ制御装置。
【請求項５】
前記異常検知部は、前記駆動制御の開始後の所定の判定期間に、前記第１異常の前記異常検知処理を行う、
請求項４に記載のモータ制御装置。
【請求項６】
前記判定期間は、前記駆動制御の開始から所定時間経過後に開始する、
請求項５に記載のモータ制御装置。
【請求項７】
前記異常検知部は、前記モータが本来の回転方向と逆方向に回転している状態の前記異常である第２異常を検知する、
請求項１に記載のモータ制御装置。
【請求項８】
前記異常検知部は、前記駆動制御の開始後、常時、前記第２異常の前記異常検知処理を行う、
請求項７に記載のモータ制御装置。
【請求項９】
前記駆動制御部は、一定時間継続して異常が検知された場合に、前記モータの回転を停止させる制御を行う、
請求項１に記載のモータ制御装置。
【請求項１０】
制御対象のモータの回転を検出して、回転に関する回転検出値を出力するステップと、
前記回転検出値に基づいて、前記モータに対して、時間の経過に従って増加する制御目標値で回転を行わせる駆動制御を行うステップと、
前記回転検出値と所定の閾値とに基づいて、前記駆動制御における異常を検知するステップと、
異常が検知された場合に、前記モータの回転を停止させる制御を行うステップと、
を含むモータ制御方法。
【請求項１１】
制御対象のモータの回転を検出して、回転に関する回転検出値を出力するステップと、
前記回転検出値に基づいて、前記モータに対して、時間の経過に従って増加する制御目標値で回転を行わせる駆動制御を行うステップと、
前記回転検出値と所定の閾値とに基づいて、前記駆動制御における異常を検知するステップと、
異常が検知された場合に、前記モータの回転を停止させる制御を行うステップと、
をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モータ制御装置、モータ制御方法及びプログラムに関する。
【背景技術】
【０００２】
従来から諸種の電気機器において、直流モータ（以下、「ＤＣモータ」という。）を駆動源とする位置や速度の制御系が動作部に採用されている。例えば、プリンタ、複合機等の画像形成装置において、記録用紙や複写原稿等の紙搬送に用いられるＤＣモータの駆動制御に、モータの回転検出信号（エンコーダ信号）から生成される位置情報、速度情報をフィードバックする制御系が採用されている。
【０００３】
画像形成装置において上記ＤＣモータの駆動制御系に関する従来技術として、例えば、特許文献１（特許第２８８６５３４号公報）の技術がある。この特許文献１には、サーボ（ＤＣ）モータの駆動を制御するフィードバック制御系において起こり得る異常動作によるモータの発熱や発火を未然に防ぐために、エンコーダの出力から回転の異常を検知し、異常が検知された時にモータのドライバをオフする処理を行うことが記載されている。
【０００４】
しかし、このような従来技術は、一定速度で動作するＰＬＬ（Phase  Locked  Loop）制御中にモータの回転を検出するエンコーダの出力により異常検知を行うという限定された条件に適用する構成を示すものである。このため、ＤＣモータが、例えば停止からの加速動作といった、時間の経過に従って単調に回転速度を上げる動作を行う際に、断線や回路の故障によってエンコーダから回転検出信号が正常に出力されない等の異常の発生を検知することが困難となり、暴走による機械系の破壊や、モータの発熱による損傷等が生じてしまう。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明は、上記に鑑みてなされたものであって、時間の経過に従ってモータの回転を増加させる駆動制御を行う際に生じる異常を検知し、異常によるモータ駆動系の損傷を防止することができるモータ制御装置、モータ制御方法及びプログラムを提供することを主な目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するために、本発明にかかるモータ制御装置は、制御対象のモータの回転を検出して、回転に関する回転検出値を出力する検出部と、前記回転検出値に基づいて、前記モータに対して、時間の経過に従って増加する制御目標値で回転を行わせる駆動制御を行う駆動制御部と、前記回転検出値と所定の閾値とに基づいて、前記駆動制御における異常を検知する異常検知処理を行う異常検知部と、を備え、前記駆動制御部は、異常が検知された場合に、前記モータの回転を停止させる制御を行う。
【０００７】
また、本発明にかかるモータ制御方法は、制御対象のモータの回転を検出して、回転に関する回転検出値を出力するステップと、前記回転検出値に基づいて、前記モータに対して、時間の経過に従って増加する制御目標値で回転を行わせる駆動制御を行うステップと、前記回転検出値と所定の閾値とに基づいて、前記駆動制御における異常を検知するステップと、異常が検知された場合に、前記モータの回転を停止させる制御を行うステップと、を含む。
【０００８】
また、本発明にかかるプログラムは、制御対象のモータの回転を検出して、回転に関する回転検出値を出力するステップと、前記回転検出値に基づいて、前記モータに対して、時間の経過に従って増加する制御目標値で回転を行わせる駆動制御を行うステップと、前記回転検出値と所定の閾値とに基づいて、前記駆動制御における異常を検知するステップと、異常が検知された場合に、前記モータの回転を停止させる制御を行うステップと、をコンピュータに実行させる。
【発明の効果】
【０００９】
本発明によれば、時間の経過に従ってモータの回転を増加させる駆動制御を行う際に生じる異常を検知し、異常によるモータ駆動系の損傷、例えば、暴走による機械系の破壊、モータの発熱による損傷等を防止することができるという効果を奏する。
【図面の簡単な説明】
【００１０】
【図１】本実施の形態に係るモータ制御装置の構成を示す図である。
【図２】本実施の形態に係るモータ制御装置におけるモータフィードバック制御システムを機能ブロックにて示す図である。
【図３】時間の関数である制御目標位置と異常発生時及び正常時におけるエンコーダの検出位置を対比して示すグラフである。
【図４】本実施の形態に係るモータ制御装置による制御動作におけるむだ時間を説明するグラフである。
【図５】本実施の形態の異常検知処理（検出方法２）の手順を示すフローチャートである。
【図６】時間の関数である制御目標位置と異常発生時及び正常時における位置誤差を対比して示すグラフである。
【図７】本実施の形態の異常検知処理（検出方法１）の手順を示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下に添付図面を参照して、この発明にかかるモータ制御装置、モータ制御方法及びプログラムの実施の形態を詳細に説明する。本実施の形態では、直流モータ（以下、「ＤＣモータ」という。）を駆動源として移動体を所定位置に所定速度で搬送する動作に用いるモータ制御装置を例に説明をする。
【００１２】
すなわち、本実施の形態のモータ制御装置は、一例として、ＤＣモータに移動体を搬送するための負荷が掛かった状態でモータ出力軸に取り付けたエンコーダの回転検出信号から求められる検出速度及び検出位置をモータの駆動を制御するコントローラにフィードバックして、移動体を制御目標の速度で搬送し、位置付ける制御を行う。ただし、停止した状態から一定の速度へ加速する、という速度制御のみの制御機能を搭載するようにモータ制御装置を構成してもよいし、また、速度を単調に増加させるという動作条件を前提に位置制御のみの制御機能を搭載するようにモータ制御装置を構成してもよい。ここで、速度が単調増加するとは、速度が上下の変動をせずに増加することをいう。
【００１３】
[モータ制御装置の構成]
図１は、本実施の形態に係るモータ制御装置の構成を示す図である。なお、図１に示すモータ制御装置は、ＤＣモータが複写機、スキャナー装置、ファクシミリ装置、プリンタ装置等の機器において扱う記録用紙や原稿等の紙媒体を搬送する装置の駆動源として用いられる場合を例にとっている。また、図１中の構成要素の間をつなぐ矢印は、情報（データ）の流れ、もしくは動作関係（因果で結ばれた関係）を表している。
【００１４】
本実施の形態のモータ制御装置は、図１に示すように、目標位置設定部８と、目標速度設定部１と、コントローラ２と、ＰＷＭ変換部３と、モータドライバ４と、ＤＣモータ＋負荷５と、エンコーダ６と、速度検出部７と、位置検出部９とを主に備えている。
【００１５】
モータ制御装置は、ＤＣモータを駆動源として紙媒体を制御目標の目標速度で搬送し、位置付ける制御を行うので、制御対象のＤＣモータを駆動するモータドライバ４を、コントローラ２、ＰＷＭ変換部３、目標速度設定部１及び目標位置設定部８からなる系で制御する。目標速度設定部１は、制御動作を行う前にコントローラ２に制御目標値としての目標速度をユーザの入力操作により設定する。また、目標位置設定部８は、制御動作を行う前にコントローラ２に制御目標値としての目標位置をユーザの入力操作により設定する。
【００１６】
また、モータ制御装置は、エンコーダ６、速度検出部７及び位置検出部９からなる、コントローラ２へのフィードバックループを構成する。エンコーダ６は、ＤＣモータの回転軸に装着されて回転を検出するものである。エンコーダ６は、例えば円盤の周方向に等間隔に配列したスリットに作用する光をセンサで検出して回転を時系列パルス列からなるエンコーダ信号に変換する（回転速度はパルス周波数で検出）ものを用いることができる。
【００１７】
なお、ＤＣモータは記録紙や原稿等の紙媒体の搬送手段を駆動するので、搬送動作時に負荷が掛かった動作状態、つまり図２に示すように、「ＤＣモータ＋負荷５」における回転（出力）軸の動きがエンコーダ６の検出対象となって、エンコーダ（回転検出）信号として出力される。
【００１８】
速度検出部７は、エンコーダ６が出力するエンコーダ信号からＤＣモータの回転速度を検出する。また、位置検出部９は、エンコーダ６が出力するエンコーダ信号からＤＣモータの回転位置を検出する。ここで、検出された回転速度および回転位置は、回転検出値に相当し、これ以降、速度検出部７により検出された回転速度を、検出速度といい、位置検出部９により検出された回転位置を検出位置という。
【００１９】
コントローラ２は、図１に示すように、制御部２ｅと、異常検知部２ｄとを備えている。制御部２ｅは、駆動制御部として機能し、速度検出部７からの検出速度、位置検出部９からの検出位置に基づいて、ＤＣモータ＋負荷５に対して、時間の経過に従って増加する制御目標値で回転を行わせる駆動制御を行う。具体的には、制御部２ｅは、目標速度設定部１によって設定された目標速度と速度検出部７で検出した検出速度の偏差に、目標位置設定部８によって設定された目標位置と位置検出部９で検出した検出位置の偏差を加味して得られるＤＣモータの検出速度の偏差から、ＰＩＤ（Ｐ：比例，Ｉ：積分，Ｄ：微分）演算、ローパスフィルタ演算等を行うことで制御量を算出する。この制御部２ｅの詳細については、図２を用いて後述する。
【００２０】
また、コントローラ２は、異常検知部２ｄを備える。異常検知部２ｄは、速度検出部７及び位置検出部９の検出結果の制御目標値に対する誤差を求め、得られた誤差から制御動作の異常を検知する。あるいは、異常検知部２ｄは、位置検出部９からの検出位置から制御動作の異常を検知する。コントローラ２の制御部２ｅは、異常検知部２ｄによって制御動作の異常が検知された場合に、ＤＣモータの駆動を停止する制御を行う。なお、この異常検知処理の詳細については後述する。
【００２１】
ＰＷＭ変換部３は、コントローラ２で算出された制御量を表すデジタルデータの入力を受け、このデジタルデータを制御量に比例したデューティーのＰＷＭ（Ｐulse  Ｗidth  Ｍodulation：パルス幅変調）信号に変換する。モータドライバ４は、ＰＷＭ変換部３から出力されるＰＷＭ信号のデューティーに比例した電圧をＤＣモータに印加してＤＣモータを駆動する。
【００２２】
図１の構成要素を有するモータ制御装置により、ＤＣモータは目標速度設定部１で設定される目標速度で回転するように制御され、図示しない記録紙や原稿等の紙媒体の搬送手段を駆動して紙媒体を目標位置設定部８によって設定される目標位置に移動する。
【００２３】
ここで、モータ制御装置（図１）のフィードバック制御システムについて、説明を加える。図２は、図１のモータ制御装置におけるＤＣモータフィードバック制御システムを機能ブロックにて示す図である。なお、図２は、図１に示した構成要素に対応付けて、各要素が持つ機能をそれぞれの伝達特性で表現したものである。ただし、図２は、制御システムの基本構成として、フィードバック制御機能によりＤＣモータが設定条件に従い制御される通常動作時の構成を示すものである。図２において、コントローラ２内部のブロックは、制御部２ｅの構成を示している。
【００２４】
コントローラ２の制御部２ｅは、フィードバック制御をＰＩＤ動作により行うので、ＰＩＤ演算およびローパスフィルタ演算等を行う。このため、図２に示すように、コントローラ２の制御部２ｅは、目標位置設定部８によって設定された目標位置と制御対象のＤＣモータの回転位置（位置検出部９のＧｐモジュール９１による検出位置）の偏差を算出し、これにＧｘモジュール２１でＧｘ（位置フィードバックゲイン）を乗算し、その結果を、目標速度設定部１によって設定された目標速度と制御対象のＤＣモータの回転速度（速度検出部７のＧｖモジュール７１による検出速度）の偏差に加算する。
【００２５】
コントローラ２の制御部２ｅは、算出された上記偏差にＰＩＤ演算として、Ｐモジュール２２でＰ（比例ゲイン）を乗算し、この結果にＩ／ｓモジュール２３でＩ（積分ゲイン）／ｓ（ラプラス演算子）、Ｄ＊ｓモジュール２４でＤ（微分ゲイン）＊ｓをそれぞれ乗算し、Ｐモジュール２２、Ｉ／ｓモジュール２３、Ｄ＊ｓモジュール２４の各モジュールの算出結果を加算する。
【００２６】
さらに、コントローラ２の制御部２ｅは、上記ＰＩＤ演算の算出結果にＬＰＦ（ｓ）モジュール２５でＬＰＦ（ローパスフィルタ）（ｓ）の乗算をして制御量を得る。
【００２７】
ＰＷＭ変換部３は、コントローラ２によって算出された制御量[lsb]にＧpwmモジュール３１でＰＷＭ信号のデューティー[%]に変換するＧpwm[%/lsb]ゲインを乗算する。モータドライバ４は、ＰＷＭ変換部３から出力されるＰＷＭ信号のデューティーにＧｄモジュール４１でＤＣモータに印加する電圧Ｖｍに変換するＧｄ[Ｖ/%]ゲインを乗算する。
【００２８】
モータドライバ４から電圧Ｖｍが印加されるＤＣモータ＋負荷５は、電圧Ｖｍ入力側から回転出力Ｖω側に順に、１／（Ｒ＋Ｌ＊ｓ）モジュール５１、Ｋｔモジュール５２、異常外乱トルクの付加、トルク変動、１／Ｊモジュール５３、１／ｓモジュール５４の各モジュールと回転出力ＶωをフィードバックするループにおけるＫｅモジュール５５からなるモジュール構成の系として表すことができる。なお、ＤＣモータ＋負荷５の上記モジュール構成において、各パラメータは以下のとおりである。
【００２９】
Ｒ：端子間抵抗
Ｌ：モータコイルインダクタンス
Ｋｔ：トルク定数
Ｊ：モータイナーシャ＋負荷イナーシャ
ｓ：ラプラス演算子
Ｋｅ：誘起電圧定数
【００３０】
ＤＣモータの回転出力Ｖωを受けてエンコーダ（回転検出）信号を出力するエンコーダ６は、Ｇｅモジュール６１でＤＣモータの回転軸が１周した時に発生するパルス数を２πで割った値に変換するＧｅ［Hz/(rad/s)］ゲインの計算をする。
【００３１】
エンコーダ６からの回転検出信号を受ける速度検出部７は、Ｇｖモジュール７１で、例えばエンコーダパルスのパルス周期を、高速クロックｆｃ［Hz］でカウントして周波数を検出する方法をとるときであれば、エンコーダパルス周波数は高速クロックｆｃ［Hz］をカウント値で割ることによって求まるので、Ｇｖ［lsb/Hz］ゲインの計算により検出速度への変換をする。
【００３２】
エンコーダ６からの回転検出信号を受ける位置検出部９は、Ｇｐモジュール９１で、エンコーダパルスのカウント値にＧｐ［lsb・rad］ゲインを乗算することにより回転位置（検出位置）への変換をする。
【００３３】
コントローラ２として用いるコンピュータは、図示しないが、汎用のハードウェアで構成するもの、即ち、ソフトウェアプログラムの命令を実行するためのＣＰＵ（Central  Processing  Unit）、ＣＰＵによって使用されるプログラムやデータ等を保存するＲＯＭ（Read  Only  Memory）、前記プログラムによって生成されるデータなどを一時的に保存するＲＡＭ（Random  Access  Memory）、コントローラ２に設定された各種の設定データ、管理情報等の保存が必要なデータを不揮発に記憶するＨＤＤ（Hard  Disk  Drive）の各要素がバスで接続され、また前記バスには、Ｉ／Ｏポートや表示部、入力部をそれぞれ接続するインターフェースを有するものである。
【００３４】
また、搭載したコンピュータのＩ／Ｏポートは、エンコーダ６からの回転検出信号に基づいて速度検出部７で算出された検出速度のデータ及び位置検出部９で算出された検出位置のデータの入力ポートとして用いられる。また、このコンピュータの表示部と入力部は、目標位置設定部８及び目標速度設定部１として、ユーザーの入力操作を案内する画面表示を行い、また、画面表示の案内に従いユーザーがマウス等を用いて行うボタン（キー）操作等によって行われる設定に係る指示やデータの入力を受け付ける。
【００３５】
また、Ｉ／Ｏポートには、ＣＤ（コンパクトディスク）等の各種ディスク型のメディアや小型のフラッシュメモリの読取り／書込みをする装置を接続することで各種のリムーバブルな記録媒体の使用を可能とする。
【００３６】
［異常検知処理］
図１及び２を参照して説明したモータ制御装置が、例えば停止からの加速のように、時間の経過につれてＤＣモータの回転速度を上げる制御を行う際に、例えば、断線によってエンコーダ６から回転検出信号が出力されない異常が生じると、コントローラ２はＤＣモータが所定の目標速度になるよう、即ち偏差を無くすように制御を掛ける。しかし、加速動作においては、目標速度は単調に増加するので偏差は拡大して、ＤＣモータに流れる電流が増加し続けてＤＣモータが暴走し、駆動される機械系の暴走により部品が破損することや、またモータの発熱による損傷が生じる可能性がある。なお、こうした事故は、断線以外にも回路の誤動作等によってエンコーダ６から回転検出信号が正常に出力されない場合にも生じ得る。
【００３７】
そこで、モータ制御装置は、エンコーダ６からの回転検出信号に生じる異常を検知して、この異常が検知されたときに制御対象のＤＣモータの停止制御を行うことで、未然にＤＣモータの異常動作による損傷等を防ぐ。
【００３８】
回転検出信号に生じる異常の検知は、次に示す二検知手法のいずれかによる。第１の異常検知の手法は、制御対象のＤＣモータの加速動作は、経過時間に対して制御目標値が時間の経過につれて単調に増加するので、所定経過時点のＤＣモータの回転検出（エンコーダ）信号に基づいて得られる回転検出値と所定の第１閾値とを比較する閾値処理を行い、この比較結果によって異常を検知する（以下「検知手法１」という）。この検知手法１では、正常であれば、回転検出値は増加するはずであるから、所定経過時点で越えるはずの第１閾値を定め、所定経過時点の回転検出値がこの第１閾値以下である場合、異常と判定して、これを検知結果とする。
【００３９】
第２の異常検知の手法は、制御対象のＤＣモータの加速動作は、経過時間に対して制御目標値が時間の経過につれて単調に増加する（つまり、一意に定められる）ので、所定経過時点のＤＣモータの回転検出（エンコーダ）信号に基づいて得られる回転検出値の当該時点における制御目標値に対する誤差（フィードバック制御の偏差に当たる）を算出し、算出された誤差と所定の第２閾値とを比較する閾値処理を行い、この比較結果によって異常を検知する（以下「検知手法２」という）。この検知手法２では、正常であれば、回転検出値は増加して制御目標値に対する誤差は小さな値に収まるはずであるから、越えるはずのない第２閾値を定め、所定経過時点の誤差がこの第２閾値を越える場合、異常と判定して、これを検知結果とする（後記図５の説明、参照）。
【００４０】
これらの異常検知手法について、具体例を挙げて、より詳細に説明する。図３は、時間の関数である制御目標位置と異常発生時及び正常時におけるエンコーダの検出位置を対比して示すグラフである。図３における縦軸はＤＣモータの回転位置で、エンコーダ６からの回転検出信号に基づいて得られる検出位置［puls］にとり（ただし、目標位置を示す線Ｌｇは検出値ではない）、横軸は時間［t］で、ここでは制御動作を開始したときをt＝０にし、そこからの経過時間をとっている。
【００４１】
図３には、制御開始時からの時間の経過につれて制御目標値としての目標位置が単純に増加する制御動作（例示は一定加速動作）における異常発生時及び正常時の検出値が示されている。
【００４２】
モータ制御装置では、異なる発生原因の異常に対応して検知動作を行うことを意図しており、図３においては、異常１（第１異常）及び異常２（第２異常）としてそれぞれの検出値を示している。
【００４３】
異常１は、例えば断線によってエンコーダ６から回転検出信号が出力されない場合である。他方、異常２は、例えば回路の誤動作によってエンコーダ６から本来の回転方向とは逆の方向の回転検出信号が出力された場合である。ここでは、回転検出（エンコーダ）信号は回転方向も検出できるように９０°位相がずれた２相（Ａ相、Ｂ相）で出力される。例えば誤動作でＡ相、Ｂ相が逆に接続された場合、回転方向が逆と判断され、変位も＋−が逆になって、目標位置に対して遠ざかる動作として検出されてしまう。
【００４４】
図３のグラフにおいて、エンコーダ６から回転検出信号が正常に出力されている状態では、ＤＣモータの制御が開始されると、位置検出部９で検出される検出位置が目標位置と等しくなるように制御するため、図３中の目標位置を示す線Ｌｇに対して、正常時の検出位置を示す線Ｌｎは、やや下回るが接近した位置となる。
【００４５】
他方、異常１の発生時において、回転検出（エンコーダ）信号が断線で出力されなかった場合、図３中の異常１発生時の検出位置を示す線Ｌ１に示すように、ＤＣモータが回転していても検出位置は０で変化しない。
【００４６】
また、異常２の発生時において、回転検出（エンコーダ）信号が誤った逆回転の出力となった場合、図３中の異常２発生時の検出位置を示す線Ｌ２に示すように、誤った逆回転の出力に基づいて位置検出部９が出力する検出位置は、−となる。
【００４７】
上記のように、異常１の発生時には、時間［t]が経つにつれて、図３に示す目標位置Ｌｇと異常１発生時の検出位置を示す線Ｌ１の偏差は、目標位置Ｌｇの増加に従い大きくなるので、偏差を早急に無くすために、コントローラ２は、高速にＤＣモータを回転させる制御を行う。
【００４８】
また、異常２の発生時には、時間［t]が経つにつれて、図３に示す目標位置Ｌｇと異常２発生時の検出位置を示す線Ｌ２の偏差は、目標位置Ｌｇの増加に、誤検出による線Ｌ２に示す−方向の位置変化が加わることで急激に大きくなるので、急激に大きくなる偏差を早く無くすために、コントローラ２は、異常１よりもさらに高速にＤＣモータを回転させる制御を行う。
【００４９】
つまり、モータ制御装置は、異常１及び異常２いずれもエンコーダ６から誤った回転検出信号が出力されたために生じる、正常時にはあり得ない偏差に応じて、ＤＣモータ駆動系に損傷をもたらす意図しない制御動作を行ってしまう。
【００５０】
回転検出信号の出力異常に応じる意図しない上述の制御動作を未然に防ぐために、モータ制御装置は、加速動作における所定経過時点のＤＣモータの回転検出（エンコーダ）信号に基づいて上記検知手法１又は２により異常の検知を行う。
【００５１】
具体的には、検知手法１の場合、異常検知部２ｄは、回転検出値が正常な値となったか否かを判定する第１閾値以下であることを条件に異常の発生を検知する。また、検知手法２の場合、異常検知部２ｄは、制御目標値に対する回転検出値の誤差を算出し、算出された誤差が異常の発生に当たる値となったか否かを判定する第２閾値を越えることを条件に異常の発生を検知する。
【００５２】
異常を検知するために用いる第１閾値、第２閾値は、制御対象の駆動系において安全性が確保でき、また、異常検知処理が本来のモータ制御動作におよぼす影響を少なくする条件を実験等により確認して得られる経験値をあてる。
【００５３】
上述の異常１、異常２に対応するいずれの異常検知も、回転検出（エンコーダ）信号に基づいて得られる位置検出値又は位置検出値の制御目標値に対する誤差を閾値処理することによるので、回転検出信号をサンプリングする度ごとに異常検知の処理を行うように異常検知部２ｄを構成してもよい。
【００５４】
ただ、検知結果が有効に利用できない、もしくは検知結果を得る意味がなくなる期間が存在する。この期間は、加速制御期間のうち、加速制御の開始時から一定の間に生じるむだ時間にあたる期間及び異常検知を行うことで正常な動作が確認された以後の期間で、検知結果を得る意味がなくなると考えられる期間である。図３中に「判定開始位置」及び「判定終了位置」として示された点に対応する期間であり、この２点間が異常検知処理を行う期間、即ち、異常の判定を必要とする判定期間である。
【００５５】
なお、この異常の判定を必要とする期間は、モータ制御装置では、異常１の検知にのみ適用し、異常２については、基本的に常時検知機能を働かせる。これは異常１の方が異常時の検出値の変化がない（断線により検出値は０を保つ）という性質による。
【００５６】
図４は、モータ制御装置による制御動作におけるむだ時間を説明するグラフである。図４は、図３と同様に、縦軸はＤＣモータの回転位置（ただし、線Ｌｇは設定された目標位置で、線Ｌｎは検出位置である）、横軸は時間［t］で、制御動作を開始したときをt＝０にし、そこからの経過時間をとっている。
【００５７】
図４には、線Ｌｇとして、制御開始時からの時間の経過につれて制御目標値としての目標位置が単純に増加する制御動作（同図示は一定加速動作）を行い、この制御動作において、正常に回転検出（エンコーダ）信号が出力される時の検出位置を示す線Ｌｎが示されている。
【００５８】
図４の制御動作の開始時からｔ0に至る時間は、ＤＣモータの加速動作を開始した直後であり、静止摩擦トルク等の影響を受けるこの間における動作状態では、位置検出部９からの検出位置の出力は、動作の開始時から時間ｔ0遅れてしまう。このｔ0分の時間はむだ時間といわれる。
【００５９】
よって、このむだ時間ｔ0の位置検出部９から出力される検出位置に基づく異常検知は誤った検知結果を導くおそれがあるので、採用しない。したがって、異常検知部２ｄは、所定時間としてのむだ時間ｔ0を過ぎた時点から異常検知を開始する。
【００６０】
また、図３中に示される「判定終了位置」は、位置検出部９からの検出位置の出力が正常であることが確認された時点を定めたもので、この時点以後の期間においては、検知結果が異常に変わる可能性が極めて低くなる。このため、処理を終了して処理負担を軽減する方が有益である。特に、異常１の検知に適合する動作であり、後述の異常検知処理（図５のフロー、参照）はこの動作を採用している。
【００６１】
〈異常検知処理フロー〉
モータ制御装置におけるコントローラ２（異常検知部２ｄ）が行う異常検知処理の手順を図５の処理フローチャートを参照して説明する。図５の異常検知処理のフローチャートでは、異常検知部２ｄは、異常の異なる原因である異常１（例えば断線によってエンコーダ６から回転検出信号が出力されない場合）、及び、異常２（例えば回路の誤動作によってエンコーダ６から本来の回転方向とは逆の方向の回転検出信号が出力された場合）それぞれに適応した検知処理を行う。また、図５に示すフローチャートでは、異常検知部２ｄは、上記した検知手法２（即ち、制御目標値に対する回転検出値の誤差を算出し、算出された誤差が異常の発生に当たる値となったか否かを判定する第２閾値を越えることを条件に異常の発生を検知する方式）で異常検知を行うものとする。
【００６２】
異常検知部２ｄは、モータ制御装置が制御対象のＤＣモータを制御する際、例えば停止状態にあるときに、図５の処理フローチャートを起動して開始する。
【００６３】
図５のフローチャートによる処理が開始されると、異常検知部２ｄは、先ず、ＤＣモータの駆動制御が始まったときに開始された制御が加速動作であることを、制御目標値として設定された目標位置が増加したことにより確認する（ステップＳ１０１：Ｙｅｓ）。なお、ここでは、異常検知部２ｄは、時間の経過につれて目標位置が増加したことを判断することで、停止状態から加速動作を開始したことを確認するが、目標速度によって停止状態（もしくは定速動作状態）からの速度変化を判断するように異常検知部２ｄを構成してもよい。また、モータ制御装置をコントロールする上位のコントローラが存在し、上位コントローラからの停止要求、加速要求等の指示で動作を開始する場合、異常検知部２ｄは、これらの指示から判断してもよい。
【００６４】
次に、異常検知部２ｄは、時間の経過につれて増加する目標位置が判定開始位置（図３の「判定開始位置」）以上であり、且つ判定終了位置以下であるか否かを判定し（ステップＳ１０２）、その結果により異常１の検知処理と異常２の検知処理に分岐する。
【００６５】
ここで、目標位置が判定開始位置以上であり、且つ判定終了位置以下である場合（ステップＳ１０２：Ｙｅｓ）、異常検知部２ｄは、異常１の検知処理であるステップＳ１０５〜Ｓ１１０（図５中の破線で囲んだ手順）を行い、目標位置が上記範囲以外であれば（ステップＳ１０２：Ｎｏ）、異常検知部２ｄは、異常２の検知処理であるステップＳ１０３，Ｓ１０４を行う。ここで、異常１の検知処理を実行する期間を定めたのは、ＤＣモータの動作は、加速直後は静止摩擦トルク等の影響によるむだ時間が生じるので、その分遅れて動作を開始させることで、加速開始直後に誤判定の出やすい異常１の検知を回避して、それを防ぐためである。
【００６６】
なお、ステップＳ１０２の判定に用いる目標位置は、設定値として時間によってその目標値を変えていくので、ステップＳ１０２における判定には、目標位置に代えて時間を採用するように異常検知部２ｄを構成してもよい。
【００６７】
目標位置が異常１の検知処理を行う範囲であれば（ステップＳ１０２：Ｙｅｓ）、回転検出（エンコーダ）信号に基づいて位置検出部９が求めた検出位置の目標位置に対する位置誤差を算出する（ステップＳ１０５）。
【００６８】
次に、異常検知部２ｄは、ステップＳ１０５で算出した位置誤差が第２閾値より大きいか否かを判断する閾値処理を行う（ステップＳ１０６）。すなわち、異常検知部２ｄは、算出された位置誤差が異常の発生に当たる値となったか否かを判定する第２閾値を越えることを条件に異常の発生を判断する。
【００６９】
ここで、ステップＳ１０６で行う位置誤差に対する閾値処理による異常発生の検知方法について具体例により、説明を加える。図６は、時間の関数である制御目標位置と異常発生時及び正常時における位置誤差を対比して示すグラフである。
【００７０】
図６における縦軸はＤＣモータの回転位置で、エンコーダ６からの回転検出信号に基づいて得られる検出位置［puls］の単位でとり、横軸は時間［ｔ］で、ここでは制御動作を開始したときをｔ＝０にし、そこからの経過時間をとっている。
【００７１】
図６には、制御開始時からの時間の経過につれて制御目標値としての目標位置が単純に増加する制御動作（図６の例示は一定加速動作で目標位置を示す線Ｌｇは右上がりの直線である）における異常１及び異常２（図３、参照）発生時及び正常時の位置誤差（位置検出値の目標値に対する誤差）値が示されている。
【００７２】
図６に示された位置誤差値の線Ｌｃは正常動作時における誤差値であり、むだ時間を過ぎると小さな値でほぼ一定の値となる。
【００７３】
他方、異常１発生時は、検出位置の値が０のまま変化しないので、位置誤差値の線Ｌｅ１は目標位置とほぼ等しくなり、また、異常２発生時は、検出位置の値が単純減少（一方向変位）するので、位置誤差値の線Ｌｅ２は異常１よりも急に大きくなる。
【００７４】
よって、正常動作時における誤差値（線Ｌｃ）よりもやや大きな閾値を設定して閾値処理をすることで正常な動作状態であるか異常発生かを判別することができ、また、異常１と異常２の各発生検知についても閾値を選ぶことで判別することができる。
【００７５】
図５の処理フローチャートでは、異常１に適応する検知処理として、正常な動作状態と異常１を判別するのに適した閾値をステップＳ１０６において設定するとともに、検知処理の手順として、ステップＳ１０６の閾値処理で異常の発生が判断された場合、再びステップＳ１０６の処理を通すループ処理を繰り返し、所定の時間にわたり異常の発生が継続して検知されることを条件に、最終的に駆動の停止を必要とする所期の異常であると判断する。なお、ステップＳ１０６で設定される第２閾値は、後述する異常２の検知に適したステップＳ１０３で設定する第２閾値よりも小さな値として、異常１及び異常２それぞれに適応する。
【００７６】
よって、ステップＳ１０６で位置誤差が第２閾値を越えて異常が発生したと判断された場合（ステップＳ１０６：Ｙｅｓ）、異常検知部２ｄは、タイマカウントアップ、即ち、タイマがストップしていれば計時をスタートし、既にスタートしていればタイマの計時を継続する動作を行う（ステップＳ１０７）。
【００７７】
一方、ステップＳ１０６で位置誤差が第２閾値以下で異常が発生したと判断されなかった場合（ステップＳ１０６：Ｎｏ）、異常検知部２ｄは、計時中のタイマカウントをストップし、カウントをクリアして、新たなループ処理の始まりとする（ステップＳ１０８）。
【００７８】
異常検知部２ｄは、ステップＳ１０７又はＳ１０８でタイマカウントの操作を行った後、現在のタイマカウントがＤＣモータの駆動停止を必要とする所期の異常を判断するために定めた所定値以上に達しているか否かを確認する（ステップＳ１０９）。
【００７９】
ここで、タイマカウントが所定値以上に達していない場合（ステップＳ１０９：Ｎｏ）、検知動作の初めのステップＳ１０１に戻す。ただし、ステップＳ１０１に戻す過程で、異常検知部２ｄは、ステップＳ１０３及びＳ１０４で異常２の検知処理（ステップＳ１０３）を行う。
【００８０】
一方、タイマカウントが所定値以上に達している場合（ステップＳ１０９：Ｙｅｓ）、異常検知部２ｄは、ＤＣモータの駆動停止を必要とする所期の異常が発生したと判断し（ステップＳ１１０）、ＤＣモータの駆動を停止させ（ステップＳ１１１）、異常検知処理を終了する。
【００８１】
ステップＳ１０３における異常２に対応する検知処理は、基本的には常時異常検知を行うようにする。本実施の形態では、異常１の検知処理を開始するか否かを、目標位置によって設定された範囲内であるか否かによって判定するステップＳ１０２において、設定範囲外で異常１の検知処理を開始しない場合（ステップＳ１０２：Ｎｏ）、異常検知部２ｄは、異常２の検知処理を行う（ステップＳ１０３）。
【００８２】
また、本実施の形態では、ステップＳ１０９でタイマカウントが所定値に達していない場合（ステップＳ１０９：Ｎｏ）にも、異常検知部２ｄは、異常２の検知処理を行う（ステップＳ１０３）。これは、異常１に適応する検知処理において、最終的に駆動の停止を必要とする異常１の発生検知が、所定の時間にわたり継続することを条件にしており、この処理手順として行うループ処理の過程、即ち、再度異常１の検知処理を行うためにステップＳ１０９からステップＳ１０１へ戻す過程で行うようにするものである。
【００８３】
ステップＳ１０３の異常２の検知処理では、異常検知部２ｄは、ステップＳ１０５及びＳ１０６と同様に位置誤差を算出し、算出される位置誤差に対する閾値処理を行う。ただし、異常２の検知に適した第２閾値は、ステップＳ１０６で設定する第２閾値よりも大きな値として、急峻に変化する異常２の位置誤差（図６参照）に適応し、異常１の検知処理を適用すべき異常、異常２を適用すべき異常が判別できるようにする。よって、次に、ステップＳ１０３で異常が検知されたか否かを確認して（ステップＳ１０４）、異常２の検知結果に応じて処理を分岐する。
【００８４】
ステップＳ１０４で異常検知が確認された場合には（ステップＳ１０４：Ｙｅｓ）、位置誤差が大きくなって、危険な状態となっているので、異常１の検知結果を待つまでもなく、異常検知部２ｄは、ＤＣモータの駆動停止を必要とする異常が発生したと判断し、ＤＣモータの駆動を停止させ（ステップＳ１１１）、異常検知処理を終了する。
【００８５】
一方、ステップＳ１０４で異常検知が確認されなかった場合には（ステップＳ１０４：Ｎｏ）、異常１の検知動作の初めのステップＳ１０１に戻す。
【００８６】
上記のように、本実施の形態の異常検知処理によれば、原因の異なる異常１及び異常２それぞれに適応して確実に異常を検知して、異常検知時にＤＣモータの停止制御を行うことで、ＤＣモータ駆動系の損傷（暴走による機械系の破壊、モータの発熱による損傷等）を未然に防ぐことができる。
【００８７】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【００８８】
例えば、本実施の形態の異常検知処理では、異なる原因の異常１及び異常２に適応する異常検知処理を示したが、いずれか一方を単独に検知する処理も基本的に同様の手法を採ることで実施することができる。
【００８９】
また、本実施の形態の異常検知処理では、検知手法２（位置誤差に基づく手法）を採用したが、この手法によらずに、検知手法１（検出位置に基づく手法）によってもよい。検知手法１を採用する場合、上記で説明したように、閾値処理が異なるが、図５の処理フローチャートにおけるステップＳ１０５、Ｓ１０６、並びにステップＳ１０３を上記で図３を参照して説明した閾値処理に置き換えることで、図５の処理フローチャートと同様の手順で実施することができる。以下、具体的に説明する。
【００９０】
図７は、検出方法１による異常検知処理の手順を示すフローチャートである。ステップＳ１０１、Ｓ１０２は、図５で説明した検出方法１による異常検知処理の手順と同様である。次に、検出方法１では、異常検知部２ｄは、位置検出部９から出力される検出位置が、第１閾値以下であるか否かを判断する閾値処理を行う（ステップＳ３０６）。そして、検出位置が第１閾値以下である場合には（ステップＳ３０６：Ｙｅｓ）、異常検知部２ｄは、タイマをカウントアップする（ステップＳ３０７）。
【００９１】
一方、ステップＳ３０６で検出位置が第１閾値より大きい場合には（ステップＳ３０６：Ｎｏ）、異常検知部２ｄは、タイマカウントをクリアする（ステップＳ３０８）。
【００９２】
そして、異常検知部２ｄは、タイマカウントが所定値以上であるか否かを判断する（ステップＳ３０９）。そして、タイマカウントが所定値以上である場合には（ステップＳ３０９：Ｙｅｓ）、異常検知部２ｄは異常を判断する（ステップＳ３１０）。一方、ステップＳ３０９でタイマカウントが所定値未満である場合には（ステップＳ３０９：Ｎｏ）、異常検知部２ｄは、異常２の検知を行う（ステップＳ３０３）。ここで、異常２の検知は、ステップＳ３０６と同様に行われる。これ以降の処理（ステップＳ１０４、Ｓ１１１）については検知方法２の処理と同様に行われる。
【００９３】
本実施の形態では、位置制御の例を示したが、速度制御においても同様の検知手法によって実施することができる。速度制御においては、停止（速度０）からの加速動作のほか、一定速度からの加速動作であってもよい。
【００９４】
なお、本実施の形態のコントローラ２として用いるコンピュータで実行されるモータ制御プログラムは、ＲＯＭ等に予め組み込まれて提供される。
【００９５】
本実施の形態のコントローラ２として用いるコンピュータで実行されるモータ制御プログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。
【００９６】
さらに、本実施の形態のコントローラ２として用いるコンピュータで実行されるモータ制御プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、本実施の形態のコントローラ２として用いるコンピュータで実行されるモータ制御プログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。
【００９７】
本実施の形態のコントローラ２として用いるコンピュータで実行されるモータ制御プログラムは、上述した各部（制御部２ｅ、異常検知部２ｄ）を含むモジュール構成となっており、実際のハードウェアとしてはＣＰＵが上記ＲＯＭからモータ制御プログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、制御部２ｅ、異常検知部２ｄが主記憶装置上に生成されるようになっている。
【００９８】
また、制御部２ｅ、異常検知部２ｄをソフトウェアで構成する他、ハードウェアで構成してもよい。
【符号の説明】
【００９９】
１・・目標速度設定部、２・・コントローラ、２ｄ・・異常検知部、３・・ＰＷＭ変換部、４・・モータドライバ、５・・ＤＣモータ＋負荷、６・・エンコーダ、７・・速度検出部、８・・目標位置設定部、９・・位置検出部。
【先行技術文献】
【特許文献】
【０１００】
【特許文献１】特許第２８８６５３４号公報
【図１】
2013179822.tif 000003
【図２】
2013179822.tif 000004
【図３】
2013179822.tif 000005
【図４】
2013179822.tif 000006
【図５】
2013179822.tif 000007
【図６】
2013179822.tif 000008
【図７】
2013179822.tif 000009