(57)【要約】【課題】目標位置検出用のスイッチや位置検出用エンコーダに異常を生じた場合、異常を検出して機器の誤動作を確実に防止できるモータ制御装置を提供する。【解決手段】マイクロプロセッサ１１は、移動体を原点から目標１に移動させる場合、先ず、原点検出スイッチ１５がオンしているか否かを確認し、オンしていればエンコーダカウンタ２０のカウント値をクリアし、その後、モータ１８を駆動する。エンコーダカウンタ２０は、モータ１８の駆動に伴ってエンコーダ１９から出力されるパルス信号をカウントする。マイクロプロセッサ１１は、位置検出スイッチ１６ａがオンすると、モータ１８の駆動を停止し、エンコーダカウンタ２０のカウント値Ａ′と記憶装置１４に記憶されている目標１における設計値Ａとの差分値を求め、その差分値が許容値α内であれば正常と判定し、許容値αを超えていれば表示装置１３にエラーを表示して機器の動作を停止する。【選択図】      図１
2009183027.tif 000002
【特許請求の範囲】
【請求項１】
移動体を原点から目標位置に移動させるエンコーダ付きモータを駆動制御するモータ制御装置において、
前記モータの駆動に伴ってエンコーダから出力されるパルス信号をカウントするエンコーダカウンタと、前記移動体が原点から目標位置に到達した時の前記エンコーダカウンタのカウント設計値及び該カウント設計値に対する前記エンコーダカウンタのカウント値の許容範囲を示す許容値を予め記憶してなる記憶装置と、前記移動体が目標位置に到達したことを検出する位置検出スイッチと、前記モータを駆動して前記移動体を原点から目標位置に移動させる制御部とを具備し、
前記制御部は、前記モータの駆動により移動体を原点から目標方向に移動させ、前記位置検出スイッチにより前記移動体が検出された際、前記エンコーダカウンタのカウント値と前記記憶装置に記憶されているカウント設計値との差分値を求め、この差分値が前記許容値内であれば正常であると判断し、前記差分値が許容値を超えていれば異常と判断してエラー表示を行うと共に機器の動作を停止することを特徴とするモータ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば搬送用ロボットの移動位置を制御する位置制御装置等において、エンコーダ付きモータを制御して移動体を指定位置に移動させるモータ制御装置に関する。
【背景技術】
【０００２】
従来、例えば搬送用ロボット等の移動体の位置を制御する位置制御装置においては、移動体を移動させるためのエンコーダ付きモータを備え、位置検出用エンコーダにより位置を確認しながらモータを駆動し、移動体を直線偏位あるいは回転偏位させ、指定の位置に移動するようにしている。この場合、目標位置には目標位置検出用のスイッチを設け、このスイッチがオンすることによって移動体が目標位置に到達したことを検出し、モータを停止するようにしている。
【０００３】
しかし、上記のようにエンコーダにより移動体の移動位置を検出しながらモータを制御し、目標位置検出用のスイッチがオン動作したことでモータを停止するようにした従来のモータ制御装置は、目標位置検出用のスイッチの動作信号にノイズが混入して正常なスイッチ信号が得られなかった場合、あるいは位置検出用エンコーダが異常になった場合には、被制御機器が誤動作し、重大な事故を発生する可能性がある。
【０００４】
また、本発明に関連する公知技術として、位置検出用エンコーダの出力パルスをカウントする第１のパルスカウンタ及び、モータを駆動するパルスを信号変換部により上記位置検出用エンコーダの出力パルスと等化のパルスに変換してカウントする第２のパルスカウンタを備え、上記第１及び第２のパルスカウンタの値を比較してモータの動作を監視するようにした技術が知られている（例えば、特許文献１参照。）
【特許文献１】特開平４−２７５６０６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上記従来のモータ制御装置は、エンコーダにより移動体の移動位置を検出しながらモータを制御し、目標位置検出用のスイッチがオン動作したことでモータを停止するように構成されており、装置が正常に動作している状態では、スイッチのオン動作を確認することによって移動体を目標位置で正確に停止することができる。
【０００６】
しかし、従来のモータ制御装置は、目標位置検出用のスイッチ及び位置検出用エンコーダの動作をチェックする機能を備えていないので、目標位置検出用のスイッチが誤動作したり、スイッチの動作信号にノイズが混入して正常なスイッチ信号が得られなかった場合、あるいは位置検出用エンコーダに異常を生じた場合には、機器が誤動作して重大な事故を発生する可能性がある。
【０００７】
本発明は上記の課題を解決するためになされたもので、目標位置検出用のスイッチや位置検出用エンコーダに異常を生じた場合、その異常を検出して機器の誤動作を確実に防止することができるモータ制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明は、移動体を原点から目標位置に移動させるエンコーダ付きモータを駆動制御するモータ制御装置において、前記モータの駆動に伴ってエンコーダから出力されるパルス信号をカウントするエンコーダカウンタと、前記移動体が原点から目標位置に到達した時の前記エンコーダカウンタのカウント設計値及び該カウント設計値に対する前記エンコーダカウンタのカウント値の許容範囲を示す許容値を予め記憶してなる記憶装置と、前記移動体が目標位置に到達したことを検出する位置検出スイッチと、前記モータを駆動して前記移動体を原点から目標位置に移動させる制御部とを具備し、
前記制御部は、前記モータの駆動により移動体を原点から目標方向に移動させ、前記位置検出スイッチにより前記移動体が検出された際、前記エンコーダカウンタのカウント値と前記記憶装置に記憶されているカウント設計値との差分値を求め、この差分値が前記許容値内であれば正常であると判断し、前記差分値が許容値を超えていれば異常と判断してエラー表示を行うと共に機器の動作を停止することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、移動体が目標位置に達したことを位置検出スイッチにより検出した際、エンコーダカウンタのカウント値と記憶装置に予め記憶しているカウント設計値とを比較し、その差分値が許容値内に収まっているかどうかを判定することにより、位置検出スイッチの誤動作や、スイッチの動作信号にノイズが混入して正常なスイッチ信号が得られなかった場合、更にはエンコーダに異常を生じている場合に、それらの異常を確実に検出して機器の動作を停止することができ、機器の誤動作に伴う重大な事故を未然に防止することができる。
【発明を実施するための最良の形態】
【００１０】
以下、図面を参照して本発明の一実施形態を説明する。  
図１は本発明の一実施形態に係るモータ制御装置の構成を示すブロック図、図２は移動体の原点位置に設置される原点検出スイッチ及び目標位置に設置される位置検出スイッチの配置例を示す図である。図３は記憶装置に予め設定される各目標に対するエンコーダカウンタのカウント設計値及び許容値を示す図である。
【００１１】
図１において、１１は制御部例えばマイクロプロセッサで、このマイクロプロセッサ１１には、例えばキーボードやマウス等の入力装置１２、入力データや処理データを表示する表示装置１３、各種の設定データや処理データを記憶する記憶装置１４が接続される。
【００１２】
また、マイクロプロセッサ１１には、移動体（図示せず）が原点（基準点）に位置していることを確認する原点検出スイッチ１５、及び移動体の移動目標位置に設けられる第１及び第２の位置検出スイッチ１６ａ、１６ｂの検出信号が入力される。
【００１３】
上記原点検出スイッチ１５は、図２に示すように原点に設置され、移動体が原点に位置している時にオンし、その他の状態ではオフ状態に保持される。第１の位置検出スイッチ１６ａは、目標１に設置され、移動体が目標１に達した時にオンし、その他の状態ではオフ状態に保持される。第２の位置検出スイッチ１６ｂは、目標２に設置され、移動体が目標２に達した時にオンし、その他の状態ではオフ状態に保持される。
【００１４】
上記マイクロプロセッサ１１からはモータ駆動部１７に駆動指令が送られ、このモータ駆動部１７によって例えばステッピングモータあるいはＡＣサーボモータ等のモータ１８が駆動される。このモータ１８は、例えばロータリエンコーダ等のエンコーダ１９を備えており、このエンコーダ１９から出力されるパルス信号はエンコーダカウンタ２０へ送られてカウントされる。このエンコーダカウンタ２０のカウント値は、マイクロプロセッサ１１へ送られる。マイクロプロセッサ１１は、エンコーダカウンタ２０のカウント値を確認しながらモータ１８を駆動制御する。上記エンコーダカウンタ２０は、移動体が原点に復帰して原点検出スイッチ１５がオン動作したときに、マイクロプロセッサ１１からの指令によりカウント値がクリアされる。
【００１５】
上記記憶装置１４には、マイクロプロセッサ１１がモータ１８の動作を制御するためのソフトウェアが格納されている。更に、記憶装置１４には、図３に示すように移動体が原点から目標１に到達したときのエンコーダカウンタ２０の基準カウント値を示す設計値Ａ、及び移動体が目標２に到達したときのエンコーダカウンタ２０の基準カウント値を示す設計値Ｂが予め書込まれると共に、上記設計値Ａに対する実測値Ａ′（目標１におけるエンコーダカウンタ２０のカウント値）の許容範囲を示す許容値α、及び上記設計値Ｂに対する実測値Ｂ′（目標２におけるエンコーダカウンタ２０のカウント値）の許容範囲を示す許容値βが予め書込まれる。
【００１６】
上記マイクロプロセッサ１１は、移動体が目標１、２に到達した場合、記憶装置１４に記憶されている設計値Ａ、Ｂとエンコーダカウンタ２０のカウント値Ａ′、Ｂ′とを比較して差分値を求め、その差分値が許容値α、βの範囲内にあることを確認して正常動作と判断する。
【００１７】
また、マイクロプロセッサ１１は、移動体が目標１、２に到達した場合、エンコーダカウンタ２０のカウント値Ａ′、Ｂ′及び上記比較動作時の差分データ等を記憶装置１４に記憶する。この記憶装置１４には、移動体が目標１、２に到達したときの過去の初期移動時（電源投入後、最初の１回目）におけるエンコーダカウンタ２０のカウント値Ａ″、Ｂ″が書込まれると共に、上記初期移動時のエンコーダカウンタ２０のカウント値Ａ″、Ｂ″と現時点におけるエンコーダカウンタ２０のカウント値Ａ′、Ｂ′との差分値の許容範囲を示す許容値α′、β′が予め書込まれている。
【００１８】
上記エンコーダカウンタ２０の計測値に対する許容値α、β、α′、β′は、例えばパラメータ設定として任意に変更できるようになっており、実験等を行って最適値を決定する。
【００１９】
次に上記のように構成されたモータ制御装置の動作を移動体が原点から目標１に移動する場合について、図４に示すフローチャートを参照して説明する。
【００２０】
マイクロプロセッサ１１は、外部制御指令等に従って移動体を原点から目標１に移動させる場合、先ず、移動体が原点に位置しているかどうか、すなわち、原点検出スイッチ１５がオンになっているかどうかを確認し（ステップＡ１）、原点検出スイッチ１５がオンしていればエンコーダカウンタ２０のカウント値をクリアする（ステップＡ２）。
【００２１】
次にマイクロプロセッサ１１は、モータ駆動部１７に駆動指令を与え、モータ１８を駆動し（ステップＡ３）、移動体を目標１方向に移動させる。上記モータ１８に駆動に伴ってエンコーダ１９からパルス信号が出力され、エンコーダカウンタ２０へ送られる。エンコーダカウンタ２０は、エンコーダ１９から出力されるパルス信号をカウントし、そのカウント値をマイクロプロセッサ１１へ出力する。マイクロプロセッサ１１は、エンコーダカウンタ２０のカウント値を確認しながらモータ１８を駆動制御し、移動体を目標１に向かって移動させる。
【００２２】
マイクロプロセッサ１１は、モータ１８を駆動制御しながら第１の位置検出スイッチ１６ａがオンしたかどうかをチェックし（ステップＡ４）、第１の位置検出スイッチ１６ａがオンするまでモータ駆動部１７を介してモータ１８を駆動する。
【００２３】
マイクロプロセッサ１１は、第１の位置検出スイッチ１６ａがオンすると、移動体が目標１に到達したものと判断してモータ１８の駆動を停止し（ステップＡ５）、エンコーダカウンタ２０のカウント値Ａ′を読み込んで記憶装置１４に記憶する（ステップＡ６）。次いでマイクロプロセッサ１１は、記憶装置１４に記憶されている目標１における設計値Ａと上記エンコーダカウンタ２０のカウント値Ａ′との差分値を求め（ステップＡ７）、その差分値が許容値α内かどうかを判定し（ステップＡ８）、許容値αを超えていれば表示装置１３にエラーを表示すると共に機器の動作を停止する（ステップＡ９）。このエラー表示は、更にブザーや表示灯などを用いて行っても良い。
【００２４】
上記ステップＡ８で、目標１における設計値Ａとエンコーダカウンタ２０のカウント値Ａ′との差分値が許容値α内であると判定された場合には、次に目標１における現在のエンコーダカウンタ２０のカウント値Ａ′と記憶装置１４に記憶している初期移動時におけるエンコーダカウンタ２０のカウント値Ａ″との差分値を求め（ステップＡ１０）、記憶装置１４に記憶している許容値α′内かどうかを判定し（ステップＡ１１）、許容値α′を超えていれば表示装置１３にエラーを表示すると共に機器の動作を停止する（ステップＡ１２）。
【００２５】
上記ステップＡ１１で目標１における現在のエンコーダカウンタ２０のカウント値Ａ′と過去のエンコーダカウンタ２０のカウント値Ａ″との差分値が許容値α′内であると判定された場合には、移動体が正常に目標１に到達したものと判断し、原点から目標１までのモータ制御処理を終了する。
【００２６】
次にマイクロプロセッサ１１は、移動体を目標１から目標２に向かって移動させ、移動体が目標２の位置に達したことが第２の位置検出スイッチ１６ｂにより検出されると、エンコーダカウンタ２０のカウント値Ｂ′と記憶装置１４に予め記憶している設計値Ｂとを比較し、その差分値が許容値内βに収まっているか否かにより正常か異常かの判定を行い、正常であれば、更に目標２における現在のエンコーダカウンタ２０のカウント値Ｂ′と記憶装置１４に記憶している初期移動時におけるエンコーダカウンタ２０のカウント値Ｂ″との差分値を求め、その差分値が許容値β′内に収まっているかどうかにより正常か異常かの判定を行う。
【００２７】
上記移動体を目標１から目標２に向かって移動させる場合のモータ制御動作は、上記移動体を原点から目標１に移動させる場合と同様であるので、詳細な説明は省略する。
【００２８】
上記実施形態で示したように移動体が目標位置に達したことを位置検出スイッチ１６ａ、１６ｂにより検出した際、エンコーダカウンタ２０のカウント値と記憶装置１４に予め記憶している設計値とを比較し、その差分値が許容値内に収まっているかどうかを判定することにより、位置検出スイッチ１６ａ、１６ｂの誤動作や、スイッチの動作信号にノイズが混入して正常なスイッチ信号が得られなかった場合、更にはエンコーダ１９に異常を生じている場合に、それらの異常を確実に検出して機器の動作を停止することができ、機器の誤動作に伴う重大な事故を未然に防止することができる。
【００２９】
また、移動体を目標位置に停止させたときのエンコーダカウンタ２０のカウント値を記憶装置１４に記憶し、現時点におけるエンコーダカウンタ２０のカウント値Ａ′、Ｂ′と初期移動時におけるカウント値Ａ″、Ｂ″とをそれぞれ比較することにより、エンコーダ１９の異常状態を確認することができる。更に、機器を作動させる毎に、目標位置におけるエンコーダカウンタ２０のカウント値を記憶装置１４に記憶しておくことで、機器の劣化の状況を確認でき、それに応じたメンテナンスを行うことができる。
【００３０】
なお、上記実施形態では、移動体を原点から目標１及び目標２に移動させる場合について説明したが、更に多数の目標に対して移動体を移動制御する場合においても同様にして実施し得るものである。
【００３１】
また、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できるものである。
【図面の簡単な説明】
【００３２】
【図１】本発明の一実施形態に係るモータ制御装置の構成を示すブロック図である。
【図２】同実施形態において、移動体の原点位置に設置される原点検出スイッチ及び目標位置に設置される位置検出スイッチの配置例を示す図である。
【図３】同実施形態において、記憶装置に予め設定される各目標に対するエンコーダカウンタの設計値及び許容値を示す図である。
【図４】同実施形態において、移動体を原点から目標１に移動する場合の制御動作を示すフローチャートである。
【符号の説明】
【００３３】
１１…マイクロプロセッサ、１２…入力装置、１３…表示装置、１４…記憶装置、１５…原点検出スイッチ、１６ａ、１６ｂ…位置検出スイッチ、１７…モータ駆動部、１８…モータ、１９…エンコーダ、２０…エンコーダカウンタ。
【図１】
2009183027.tif 000003
【図２】
2009183027.tif 000004
【図３】
2009183027.tif 000005
【図４】
2009183027.tif 000006