(57)【要約】【課題】  制御リソースを消費せずに複数のモータを備える装置のモータ制御装置を提供する。【解決手段】  複数のモータを制御するモータ制御装置において、前記複数のモータごとに定められた許容される連続駆動時間に関する情報をそれぞれ格納する記憶手段と、所定間隔ごとに前記許容される連続駆動時間に達したモータが存在するか否かを判断する前記複数のモータに共通の判断手段と、前記判断手段により前記許容される連続駆動時間に達したモータが存在すると判断された場合にエラーを報知する報知手段とを備えることを特徴とするモータ制御装置。【選択図】      図２
2006094663.tif 000002
【特許請求の範囲】
【請求項１】
複数のモータを制御するモータ制御装置において、
前記複数のモータごとに定められた許容される連続駆動時間に関する情報をそれぞれ格納する記憶手段と、
所定間隔ごとに前記許容される連続駆動時間に達したモータが存在するか否かを判断する前記複数のモータに共通の判断手段と、
前記判断手段により前記許容される連続駆動時間に達したモータが存在すると判断された場合にエラーを報知する報知手段とを備えることを特徴とするモータ制御装置。
【請求項２】
前記許容される連続駆動時間をデクリメントする減算手段を更に備え、前記減算手段は、前記所定間隔ごとに前記許容される連続駆動時間をデクリメントし、前記判断手段は、該デクリメントされた許容される連続駆動時間が０になったときに対応するモータが許容される連続駆動時間に達したと判断することを特徴とする請求項１記載のモータ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はモータ制御装置に関する。
【背景技術】
【０００２】
従来から駆動と停止を繰り返すような用途に用いられるモータにおいて、ノイズなどの影響により本来停止すべきタイミングにも関わらず回転し続けてしまう現象が発生していた。そのようなエラーに対し、連続駆動時間が所定時間以上になったら停止させるような制御も行われていた。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
連続駆動時間をカウントするためにはタイマーが用いられるが、モータを１つしか備えない装置ではタイマーも１つで済むが、複数のモータを備える装置では、モータごとにタイマーを備える必要があり制御リソースが消費されるという問題があった。
【０００４】
本発明は、かかる問題に鑑みて創作されたものであって、制御リソースを消費せずに複数のモータを備える装置のモータ制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記目的を達成するため、本発明に係るモータ制御装置は、複数のモータを制御するモータ制御装置において、前記複数のモータごとに定められた許容される連続駆動時間に関する情報をそれぞれ格納する記憶手段と、所定間隔ごとに前記許容される連続駆動時間に達したモータが存在するか否かを判断する前記複数のモータに共通の判断手段と、前記判断手段により前記許容される連続駆動時間に達したモータが存在すると判断された場合にエラーを報知する報知手段とを備えることを特徴とする。
【発明を実施するための最良の形態】
【０００６】
図１は、本発明のモータ制御装置を示す図である。
【０００７】
モータ制御装置は１は制御手段としてのＣＰＵ２とＣＰＵバス５を介して接続されるＲＡＭ３、ＲＯＭ４、ＡＳＩＣ６を備えている。ＡＳＩＣ６にはモータ８を制御するためのモータ制御回路７が組み込まれている。ＡＳＩＣ６の備えるレジスタなどの各種設定やモードの切り替えは、ＣＰＵ２によって制御される。
【０００８】
ＲＡＭ２はＣＰＵ２のワークメモリとして機能し、ＲＯＭ３にはモータ制御装置１の全体制御を行うためのプログラムが格納されており、全体制御はプログラムをＣＰＵ２で実行されることにより実現される。
【０００９】
図２は、図１で示したＣＰＵ２、ＲＡＭ３、ＲＯＭ４の備える各機能を示す機能ブロック図である。図２における、図１に示した要素と同一の要素には、同一の番号を振って示している。ＣＰＵ２はタイマレジスタと１１とコンペアレジスタ１２からなるタイマー機能部１０と割り込み制御部１３を備えている。割り込み制御部１３は、入力される割り込み信号の種類に応じて、ＲＯＭ上の異なるアドレス（割り込みベクタアドレス１４）を導出するようになっている。外部クロック発生回路９は所定周期のクロック信号を出力する回路である。ＲＯＭ４にはモータ駆動時間監視プログラム１８の他、前述のようにモータ制御装置１の全体制御を行うファームウェアも格納されている。ＲＡＭ３にはモータ制御装置１が備える各モータごとの許容される連続駆動時間が格納されている時間カウンタテーブル１７が格納されている。
【００１０】
以下に割り込み処理の動作について説明する。タイマレジスタ１１には、カウント値が格納されており、外部クロック発生回路９からのクロック信号が入力されるたびにそのカウント値をインクリメントする。タイマー機能部１０は、タイマレジスタ１１のカウント値が、コンペアレジスタ１２に格納されている所定の格納値と一致したかどうかをモニタし、一致したと判断すると割り込み信号１６を生成する。生成された割り込み信号１６が、割り込み制御部１３に入力されると割り込み制御部１３は割り込み信号の種類を判別し、対応する割り込みベクタアドレス１４を導出する。
【００１１】
割り込み制御部１３は、導出された割り込みベクタアドレス１４をプログラムカウンタ１５にセットする。ここでセットされた割り込みベクタアドレス１４はＲＯＭ４からデータを読み出す際の読み出しの開始アドレスに対応している。プログラムカウンタ１５は現在セットされているＲＯＭ４のアドレスからデータが読み出されるたびに、カウント値をＣＰＵデータ単位づつカウントアップまたはカウントダウンし、その結果の値が次の読み出し先アドレスとして指定される。割り込みベクタアドレス１４に連続するアドレスに格納される所定単位のデータの読み出しは、プログラムカウンタ１５のカウント値が、上記所定単位のデータが格納される最後のアドレスに該当する値に達するまで継続する。
【００１２】
所定単位のデータがプログラムであって、そのプログラム全体をＲＯＭ４から読み出す際には、プログラムカウンタ１５は、割り込みベクタアドレス１４（プログラムが格納されるＲＯＭ４上の先頭アドレス）から、そのプログラムが格納されるＲＯＭ４上の終了アドレスまでプログラムの読み出しを継続することになる。
【００１３】
以上が割り込み処理として、所定時間ごとにＲＯＭ４に格納されたプログラムを読み出すまでの流れである。本実施例でＲＯＭ４に格納されＣＰＵ２に実行されるプログラムは、具体的にモータ駆動時間監視プログラム１８であり、そのモータ駆動時間監視プログラム１８は、所定時間ごとにＲＡＭ３に格納される時間カウンタテーブル１７を参照し、各モータの連続駆動時間がテーブルに格納される連続駆動時間に達したかどうかを判断する機能を有している。もし連続駆動時間が設定された連続駆動時間に達するモータが存在すると判断される場合、少なくともそのモータは停止される。
【００１４】
次に図３を用いて時間カウンタテーブル１７による各モータの連続駆動時間管理について説明する。本実施例では、１ｓごとに割り込み処理が実行され、ＣＰＵ２は１ｓごとに各モータの連続駆動時間が時間カウンタテーブル１９に格納される許容される連続駆動時間に達したかどうかを判断している。つまりコンペアレジスタ１２に格納される格納値を、外部クロック発生回路の発生するクロック数に換算すると１ｓに相当していることになる。この１ｓごとの割り込みの優先順位は比較的高く設定されており、モータの連続駆動時間が許容される連続駆動時間を超えたときにＣＰＵ２がすぐに処理に応じることができるようにしている。
【００１５】
図３ではプリンタのモータ制御を例にとって説明する。時間カウンタテーブル１９の各モータ用のセルは上からＣＲ（キャリッジモータ）、ＰＦ（紙搬送モータ）、ＡＳＦ（給紙モータ）に対応している。時間カウンタテーブル１９は、それぞれのモータが駆動を開始するタイミングで、各モータごとに予め設定された許容される連続駆動時間をモータに対応するセルに書き込むようになっている。各モータごとに予め設定された許容される連続駆動時間は例えば、ＲＯＭ４に格納しても良い。また各モータが停止すると対応するセルに書き込まれた許容される連続駆動時間は０にセットされる。ここでモータの停止はモータ制御回路７によって制御され、そのタイミングは割り込みタイミングとは非同期になっている。つまり正常に停止したモータに対応するセルに格納される許容される連続駆動時間もその非同期のタイミングで０にセットされる。１ｓごとの割り込みタイミングで実行されるモータ駆動時間監視プログラム１８は、時間カウンタテーブル１９の各セルに格納された各モータごとの許容される連続駆動時間をデクリメントする機能と、そのデクリメントされた値を参照する機能を有している。ここで仮にモータ駆動時間監視プログラム１８が、セルのカウント値が０の場合に、許容される連続駆動時間に達したと判断した場合に、正常に停止したモータについてもエラーが発生したと判断する恐れがあるが、デクリメントした結果として今回の割り込みタイミングでセルのカウント値が０になったと判断した場合にのみエラーと判断することで、そのように誤った判断がなされないようにしている。なお許容される連続駆動時間のセルに初期値として、０を格納しておきデクリメントの代わりに割り込みタイミングごとにインクリメントしカウント値が予め決められた値になったらそのセルに対応するモータを停止させても良い。
【００１６】
本発明の概念をまとめると以下のようになる。複数のモータを制御するモータ制御装置において、前記複数のモータごとに定められた許容される連続駆動時間に関する情報をそれぞれ格納する記憶手段と、所定間隔ごとに前記許容される連続駆動時間に達したモータが存在するか否かを判断する前記複数のモータに共通の判断手段と、前記判断手段により前記許容される連続駆動時間に達したモータが存在すると判断された場合にエラーを報知する報知手段とを備える。
【００１７】
また前記許容される連続駆動時間をデクリメントする減算手段を更に備え、前記減算手段は、前記所定間隔ごとに前記許容される連続駆動時間をデクリメントし、前記判断手段は、該デクリメントされた許容される連続駆動時間が０になったときに対応するモータが許容される連続駆動時間に達したと判断することを特徴とする。
【００１８】
ここでＣＰＵ２が、減算手段及び判断手段として機能する。また許容される連続駆動時間に関する情報としては、時間カウンタテーブル１９のセルに格納される値が考えられる。具体的には図１９のデクリメントされるべき値もしくはインクリメントされるべき値である。また報知手段としては例えば、装置の筐体に設けられるＬＥＤやモニタが考えられる。他にユーザにエラーが発生したことを知らせる手段であれば別の手段でも良い。また上述した各手段はハードウェアで実現しても良い。
【００１９】
以上、本発明の実施形態について説明したが、これらは本発明の説明のための例示であって、本発明の範囲をこれらの実施形態にのみ限定する趣旨ではない。本発明は、他の種々の形態でも実施することが可能である。例えば、実施形態では、プリンタを例に採って説明したが、実施形態の内容は、複数のモータを備える装置であれば他の種々の処理装置に適用することができる。
【図面の簡単な説明】
【００２０】
【図１】本発明の実施例に係るモータ制御装置の構成図である。
【図２】本発明の実施例に係る機能ブロック図である。
【図３】本発明の実施例に係る模式図である。
【符号の説明】
【００２１】
２  ＣＰＵ  ３  ＲＡＭ  ４  ＲＯＭ  ６  ＡＳＩＣ  ８  モータ
【図１】
2006094663.tif 000003
【図２】
2006094663.tif 000004
【図３】
2006094663.tif 000005