(57)【要約】【課題】分解能を高くせずに、高速駆動を行なう際の量子化誤差を小さくする。【解決手段】モータ１０２を動力源として使用して機構を駆動する機器におけるモータの制御において、機構の所定距離の移動に応じて検出信号を出力するエンコーダ１０１と、検出信号の周期に関する情報をデジタル値で出力する周期検出部１０５及びカウンタ部と、所定距離及びデジタル値に基づいて、機構の速度情報を算出し、速度情報に基づいて、機構の駆動を制御するサーボコントロール部１１０及びモータドライバ部１１１とを備え、カウンタ部が、１つの周期に対する第１のカウンタと、連続した２つの周期に対する第２のカウンタと、各カウンタの出力を保持する２つのラッチ１０８及び１０９とを有している。【選択図】　図１
2004054762.tif 000002
【特許請求の範囲】
【請求項１】
モータを動力源として使用して機構を駆動する機器におけるモータの制御装置であって、
前記機構の所定距離の移動に応じて検出信号を出力する検出手段と、
前記検出信号の周期に関する情報をデジタル値で出力する周期情報出力手段と、
前記所定距離及び前記デジタル値に基づいて、前記機構の速度情報を算出する速度情報算出手段と、
前記速度情報に基づいて、前記機構の駆動を制御する制御手段と、を備えており、
前記周期情報出力手段は、前記周期の長さに応じて、連続した複数の周期に関する情報を前記デジタル値として出力することを特徴とするモータの制御装置。
【請求項２】
前記周期情報出力手段は、前記デジタル値と所定の閾値とを比較する比較手段を有し、前記デジタル値が前記閾値より小さい場合に、前記連続した複数の周期に関する情報を前記デジタル値として出力することを特徴とする請求項１に記載のモータの制御装置。
【請求項３】
前記周期情報出力手段は、所定周波数のクロック信号の数をカウントするカウンタを有し、前記周期の間に前記カウンタでカウントされた値を前記デジタル値として出力することを特徴とする請求項１又は２に記載のモータの制御装置。
【請求項４】
前記周期情報出力手段は、所定の固定周期の間に入力された前記クロック信号の数をカウントする第１のカウンタと、前記所定の固定周期の異なる整数倍周期間に入力された前記クロック信号をカウントする複数のカウンタとを有することを特徴とする請求項３に記載のモータの制御装置。
【請求項５】
前記カウンタは所定の固定周期の間に入力された前記クロック信号の数をカウントし、前記周期情報出力手段は、複数の前記固定周期のそれぞれに対して前記カウンタから出力されたカウント値を保持する複数のラッチを更に有することを特徴とする請求項３に記載のモータの制御装置。
【請求項６】
前記周期情報出力手段は、前記カウンタと、前記周期の数をカウントする周期カウンタを有することを特徴とする請求項３に記載のモータの制御装置。
【請求項７】
請求項１から６のいずれか１項に記載のモータの制御装置を用いてキャリッジの移動又は記録媒体の搬送を行なうことを特徴とする記録装置。
【請求項８】
モータを動力源として使用して機構を駆動する機器におけるモータの制御方法であって、
前記機構の所定距離の移動に応じて検出信号を出力する検出工程と、
前記検出信号の周期に関する情報をデジタル値で出力する周期情報出力工程と、
前記所定距離及び前記デジタル値に基づいて、前記機構の速度情報を算出する速度情報算出工程と、
前記速度情報に基づいて、前記機構の駆動を制御する制御工程と、を備えており、
前記周期情報出力工程において、前記周期の長さに応じて、連続した複数の周期に関する情報を前記デジタル値として出力することを特徴とするモータの制御方法。
【請求項９】
前記周期情報出力工程は、前記デジタル値と所定の閾値とを比較する比較工程を含み、前記デジタル値が前記閾値より小さい場合に、前記連続した複数の周期に関する情報を前記デジタル値として出力することを特徴とする請求項８に記載のモータの制御方法。
【請求項１０】
前記周期情報出力工程は、所定周波数のクロック信号の数をカウントするカウント工程を含み、前記周期の間に前記カウント工程でカウントされた値を前記デジタル値として出力することを特徴とする請求項８又は９に記載のモータの制御方法。
【請求項１１】
前記周期情報出力工程は、所定の固定周期の間に入力された前記クロック信号の数をカウントする第１のカウント工程と、前記所定の固定周期の異なる整数倍周期間に入力された前記クロック信号をカウントする第２のカウント工程とを含むことを特徴とする請求項１０に記載のモータの制御方法。
【請求項１２】
前記カウント工程は所定の固定周期の間に入力された前記クロック信号の数をカウントし、前記周期情報出力工程は、複数の前記固定周期のそれぞれに対して前記カウント工程でカウントされたカウント値を保持する複数のラッチ工程を更に含むことを特徴とする請求項１０に記載のモータの制御方法。
【請求項１３】
前記周期情報出力工程は、前記カウント工程と、前記周期の数をカウントする周期カウント工程とを含むことを特徴とする請求項１０に記載のモータの制御装置。
【請求項１４】
モータを動力源として使用して機構を駆動する機器におけるモータの制御方法をコンピュータによって実行させるコンピュータプログラムであって、
前記機構の所定距離の移動に応じて検出信号を出力する検出工程と、
前記検出信号の周期に関する情報をデジタル値で出力する周期情報出力工程と、
前記所定距離及び前記デジタル値に基づいて、前記機構の速度情報を算出する速度情報算出工程と、
前記速度情報に基づいて、前記機構の駆動を制御する制御工程と、に対応したプログラムコードを備えており、
前記周期情報出力工程において、前記周期の長さに応じて、連続した複数の周期に関する情報を前記デジタル値として出力することを特徴とするコンピュータプログラム。
【請求項１５】
請求項１４に記載のコンピュータプログラムを格納したことを特徴とする記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はモータの制御装置及び制御方法に関し、特に、モータを動力源として使用して機構を駆動する機器における、デジタルエンコーダの出力信号に基づいた速度サーボを行なう、モータの制御装置及び制御方法に関する。
【０００２】
【従来の技術】
例えばワードプロセッサ、パーソナルコンピュータ、ファクシミリ等に於ける情報出力装置として、所望される文字や画像等の情報を用紙やフィルム等シート状の記録媒体に記録を行うプリンタが広く使用されている。
【０００３】
プリンタの記録方式としては様々な方式が知られているが、用紙等の記録媒体に非接触記録が可能である、カラー化が容易である、静粛性に富む、等の理由でインクジェット方式が近年特に注目されており、又その構成としては所望される記録情報に応じてインクを吐出する記録ヘッドを装着すると共に用紙等の記録媒体の送り方向と交差する方向に往復走査しながら記録を行なうシリアル記録方式が安価で小型化が容易などの点から一般的に広く用いられている。
【０００４】
インクジェットプリンタの機構部分の駆動源としてはモータが使用されており、記録ヘッドを搭載したキャリッジを往復駆動するキャリッジモータ、記録媒体を給紙するＡＳＦモータ、ヘッドクリーニング等を行う回復系モータ、記録媒体を記録スキャン毎に送る紙送りモータ等が使用されている。従来、低コスト化が容易であり、制御が簡単である等の理由により、上記駆動源としてはステッピングモータが多く使用されていた。
【０００５】
インクジェットプリンタは、上記のようにノンインパクト方式である為に騒音が少ないが、更なる静音化に加え、回転ムラや振動が少ない、高速化や高精度な制御が可能であるなどの理由で、上記駆動源としてＤＣモータが使用されることが多くなっている。この場合、ＤＣモータの制御情報を得るためにエンコーダを使用するのが一般的である。
【０００６】
図１２は、ＤＣモータの制御に使用されるデジタルエンコーダの動作原理を示す図である。図示されたデジタルエンコーダは光学式エンコーダであり、ＬＥＤ７０１が発生した光のうちコードホイール７０２を通過した光をディテクタ７０３で検出して信号を発生するように構成されている。
【０００７】
コードホイール７０２上には、光を透過する部分７０４と光を透過しない部分７０５とが決められた間隔で交互に配置されている。ディテクタ７０３には複数のフォトダイオード７０６，７０７，７０８，７０９が決められた間隔で配置さており、各フォトダイオード７０６，７０７，７０８，７０９で検出された光を基に電気信号Ａ　７１０、電気信号＊Ａ　７１１、電気信号Ｂ　７１２、電気信号＊Ｂ　７１３に変換して出力し、出力された電気信号７１０，７１１，７１２，７１３は、コンパレーター７１４，７１５に入力されて差動出力のチャネルＡ７１６及びチャネルＢ７１７として出力される。
【０００８】
デジタルエンコーダから出力される信号には、様々な原因によりノイズが発生する可能性がある。このノイズの影響を無くす為に、一般的にデジタルエンコーダから出力された信号を、デジタルＬＰＦ（ローパスフィルタ）を通して使用する。
【０００９】
図１３は、エンコーダ出力に接続されるＬＰＦの回路図の例を示している。複数のＤＦＦ８０１，８０２，８０３，８０４をシリアルに接続してシフトレジスタを構成する。このシフトレジスタにデジタルエンコーダからの出力信号８０５が入力され、クロック信号ＣＬＫ８０６が入力される度に順次ＤＦＦ８０１の状態がＤＦＦ８０２に、ＤＦＦ８０２の状態がＤＦＦ８０３に、ＤＦＦ８０３の状態がＤＦＦ８０４に伝搬される。各ＤＦＦ８０２，８０３，８０４の出力は、ＡＮＤ（論理和）ゲート８０７に入力され、ＡＮＤゲート８０７の出力は、ＪＫＦＦ８０８のＪ入力に入力される。一方、各ＤＦＦ８０２，８０３，８０４の反転出力も別のＡＮＤゲート８０９に入力され、ＡＮＤゲート８０９の出力はＪＫＦＦ８０８のＫ入力に入力される。
【００１０】
この回路の動作を説明すると、３つのＤＦＦ８０２，８０３，８０４の出力が全てＨｉｇｈレベルになるとＡＮＤゲート８０７からＨｉｇｈレベル信号が出力され、その結果ＪＫＦＦ８０８はＨｉｇｈレベル信号を出力する。また、３つのＤＦＦ８０２，８０３，８０４の出力が全てＬｏｗレベルになるとＡＮＤゲート８０９からＨｉｇｈレベル信号が出力され、その結果ＪＫＦＦ８０８はＬｏｗレベル信号を出力する。つまり、３つのＤＦＦ８０２，８０３，８０４の出力が全て一致した時のみＪＫＦＦ８０８の出力が変化する。
【００１１】
ここで、３つのＤＦＦ８０２，８０３，８０４の出力が全て一致する為には、デジタルエンコーダの出力信号８０５のレベルが最低クロック信号ＣＬＫの３周期以上一定である必要がある。言い換えれば、デジタルエンコーダの出力信号８０５のクロック信号ＣＬＫの３周期未満の短時間での変化は無視される。従って、ＬＰＦのカットオフ周波数を低く（フィルタリング効果を大きく）する場合には、シフトレジスタの段数を増やすかデータをシフトさせるタイミングを規定するクロック信号ＣＬＫの周期を遅く（周波数を低く）すればよい。
【００１２】
デジタルエンコーダにおいては、解像度が１５０ＬＰＩ（１インチ当たりのライン数）や３００ＬＰＩ等に予め定められており、デジタルエンコーダの出力信号の１周期に対応する物理的な距離（又は角度）がわかっている。そこで、デジタルエンコーダの１周期の時間を計測することにより、その時点での移動速度（又は角速度）を知ることができる。
【００１３】
【発明が解決しようとする課題】
デジタルエンコーダの出力信号と、ＬＰＦや周期カウンタ等の制御回路とは非同期の関係にあり、これら制御回路に入力されたデジタルエンコーダの出力信号に対しては、制御回路のサンプル用クロック信号ＣＬＫで同期を取り１周期の時間を計測するが、この際に必ず量子化誤差が生じる。
【００１４】
また、上記のようなインクジェットプリンタの機構部分は、停止と駆動とが短時間で繰り返されるので、モータの制御としては駆動速度が短時間のうちに変化する系を効率良くサーボ制御する必要がある。
【００１５】
駆動速度が遅い場合には、デジタルエンコーダの出力信号の周期が長くなる為、上記の量子化誤差の影響は小さい。しかしながら、駆動速度が速くなるに従ってデジタルエンコーダの出力信号の周期が短くなる為、上記の量子化誤差の影響が大きくなり、その結果、検出した速度情報の精度が低下して効率良いサーボ制御が行なえないという問題が生じる。
【００１６】
一方、高速駆動時の量子化誤差を低減させる為に分解能を高めるべく制御回路のサンプル用クロック信号ＣＬＫの周期を短く（周波数を高く）すると、低速駆動時のデジタルエンコーダの出力信号の周期に対するカウント値が大きくなる。このためカウンタがオーバーフローするのを防止すべく、ビット数の大きなカウンタを使用する必要があるという問題が生じる。
【００１７】
近年は、上記のようなインクジェットプリンタにおいては、記録速度を高速化するために機構部分及びモータを一層高速で駆動することが行われており、上記のような問題を解決することが望まれている。
【００１８】
本発明は以上のような状況に鑑みてなされたものであり、分解能を高くせずに、高速駆動を行なう際の量子化誤差を小さくすることができる、モータの制御装置及び制御方法を提供することを目的とする。
【００１９】
【課題を解決するための手段】
上記の目的を達成するために本発明のモータの制御装置は、モータを動力源として使用して機構を駆動する機器におけるモータの制御装置であって、
前記機構の所定距離の移動に応じて検出信号を出力する検出手段と、
前記検出信号の周期に関する情報をデジタル値で出力する周期情報出力手段と、
前記所定距離及び前記デジタル値に基づいて、前記機構の速度情報を算出する速度情報算出手段と、
前記速度情報に基づいて、前記機構の駆動を制御する制御手段と、を備えており、
前記周期情報出力手段は、前記周期の長さに応じて、連続した複数の周期に関する情報を前記デジタル値として出力する。
【００２０】
また、上記の目的を達成する本発明のモータの制御方法は、モータを動力源として使用して機構を駆動する機器におけるモータの制御方法であって、
前記機構の所定距離の移動に応じて検出信号を出力する検出工程と、
前記検出信号の周期に関する情報をデジタル値で出力する周期情報出力工程と、
前記所定距離及び前記デジタル値に基づいて、前記機構の速度情報を算出する速度情報算出工程と、
前記速度情報に基づいて、前記機構の駆動を制御する制御工程と、を備えており、
前記周期情報出力工程において、前記周期の長さに応じて、連続した複数の周期に関する情報を前記デジタル値として出力する。
【００２１】
更に、上記目的は上述のモータの制御方法を実現する本発明のコンピュータプログラム、又は該プログラムを格納した記憶媒体によっても達成される。
【００２２】
すなわち、本発明では、モータを動力源として使用して機構を駆動する機器におけるモータの制御において、機構の所定距離の移動に応じて検出信号を出力し、検出信号の周期に関する情報をデジタル値で出力し、所定距離及びデジタル値に基づいて、機構の速度情報を算出し、速度情報に基づいて、機構の駆動を制御するようにし、周期の長さに応じて、連続した複数の周期に関する情報をデジタル値として出力する。
【００２３】
このようにすると、例えば、周期が短い場合には、連続した２つの周期に関する情報をデジタル値として出力するようにすることで、２つの周期に対するデジタル値の変動は１つの周期に対するデジタル値の変動の略半分となるので、分解能を高くせずに、見かけ上サンプリング周波数を倍にしたのと同様に、デジタル値を用いる場合に生じる量子化誤差を低減できるという効果が得られる。
【００２４】
【発明の実施の形態】
以下、本発明の好適な実施形態について図面を参照して詳細に説明する。始めに、本発明に係るモータ制御装置を使用する記録装置の例として、シリアル式インクジェットプリンタについて説明する。
【００２５】
＜インクジェットプリンタの構成＞
図１０は、以下で説明する本発明に係るモータ制御装置を利用するインクジェットプリンタの構成を示す、部分透視図である。
【００２６】
図中１００１はプラテンローラであり、搬送モータ１０１８によって回転駆動されて記録媒体１００２を搬送すると共にその記録面を規制する。キャリッジ１００４は、キャリッジモータ１０１４の駆動力を伝達するワイヤ１０１３によって２本のガイドシャフト１００３に沿って移動可能に構成されている。キャリッジ１００４には、記録媒体に対してインクを吐出するノズルが配列された記録ヘッド１００５が搭載され、記録ヘッド１００５にはフレキシブルケーブル１０１９を介して記録すべき画像に対応した吐出信号が供給される。
【００２７】
キャリッジモータ１０１４のエンコーダは、キャリッジ１００４の移動方向（ガイドシャフト）に沿って設けられるリニア型のデジタルエンコーダであり、キャリッジ１００４が一定距離移動する度に矩形波（パルス）状の信号を出力する。一方、搬送モータ１０１８のエンコーダは、駆動軸又はギアの回転軸に取り付けられるロータリー型のデジタルエンコーダであり、駆動軸又はギアの回転軸が一定角度回転する度に矩形波状の信号を出力する。
【００２８】
記録動作を実行する際には、記録媒体１００２が搬送モータ１０１８によってプラテンローラ１００１の規制する記録位置に搬送されると、キャリッジモータ１０１４によって記録ヘッド１００５を搭載したキャリッジ１００４が図中左側から右側へ移動される。キャリッジ１００４が左から右へ移動（走査）する間に、フレキシブルケーブル１０１９を介して記録ヘッド１００５に吐出信号が供給されると、記録ヘッド１００５の各ノズルからインクが吐出され、吐出されたインクが記録媒体に到達して記録が行なわれる。
【００２９】
このようなキャリッジ１００４の１回の走査による記録と、記録媒体１００２を１回の走査で記録される長さだけ搬送することを交互に行なうことにより、１ページの記録媒体に対する記録が行なわれる。
【００３０】
次に、上述した装置の記録制御を実行するための制御構成について説明する。
【００３１】
図１１はインクジェットプリンタの制御回路の構成を示すブロック図である。制御回路を示す同図において、１１００は記録信号を入力するインターフェース、１１０１は装置全体を制御するＭＰＵ（又はＣＰＵ）、１１０２はＭＰＵ１１０１が実行する制御プログラムを格納するＲＯＭ、１１０３は各種データ（上記記録信号やヘッドに供給される記録データ等）を保存しておくＤＲＡＭである。１１０４は記録ヘッド１００５に対する記録データの供給制御を行うＡＳＩＣなどのゲートアレイ（Ｇ．Ａ．）であり、インターフェース１１００、ＭＰＵ１１０１、ＲＡＭ１１０３間のデータ転送制御も行う。１０１４は記録ヘッド１００５を搭載するキャリッジを駆動するためのキャリッジモータ、１０１８は記録媒体搬送のための搬送モータである。１１０５は記録ヘッドを駆動するヘッドドライバ、１１０６，１１０７はそれぞれ搬送モータ１０１８、キャリッジモータ１０１４を駆動するためのモータドライバである。
【００３２】
上記制御構成の動作を説明すると、インターフェース１１００に記録信号が入るとゲートアレイ１１０４とＭＰＵ１１０１との間で記録信号がプリント用の記録データに変換される。そして、モータドライバ１１０６、１１０７が駆動されると共に、ヘッドドライバ１１０５に送られた記録データに従って記録ヘッド１００５が駆動され、記録が行われる。
【００３３】
ここでは、ＭＰＵ１１０１が実行する制御プログラムをＲＯＭ１１０２に格納するものとしたが、ＥＥＰＲＯＭ等の消去／書き込みが可能な記憶媒体を更に追加して、インクジェットプリンタと接続されたホストコンピュータから制御プログラムを変更できるように構成することもできる。
【００３４】
以下、上記のようなインクジェットプリンタのキャリッジモータ及び／又は搬送モータの駆動制御に利用される本発明に係るモータ制御装置の実施形態について図面を用いて詳細に説明する。
【００３５】
＜第１の実施形態＞
図１は本発明のモータ制御装置の第１の実施形態の構成を示すブロック図である。本実施形態のモータ制御装置は、デジタルエンコーダ１０１と、駆動制御部１０３と、モータドライバ部１１１とを有し、モータ１０２の駆動を制御する。
【００３６】
デジタルエンコーダ１０１は、モータ１０２の駆動により機構部分が所定の距離（角度）だけ移動（回転）する度に矩形波状の信号を出力する。
【００３７】
駆動制御部１０３は、ＬＰＦ（ローパスフィルタ）部１０４、周期検出部１０５、第１の速度検出カウンタ１０６、第２の速度検出カウンタ１０７、第１の速度情報ラッチ部１０８、第２の速度情報ラッチ部１０９、サーボコントロール部１１０を有している。
【００３８】
駆動制御部１０２の各部と上記図１１に関して説明した構成との対応を説明すると、例えば、ＬＰＦ部１０４、周期検出部１０５、第１の速度検出カウンタ１０６、第２の速度検出カウンタ１０７、第１の速度情報ラッチ部１０８、及び第２の速度情報ラッチ部１０９はゲートアレイ１１０４内に設けられ、サーボコントロール部１１０は、ＭＰＵ１１０１が所定のプログラムを実行することによって実現される。
【００３９】
デジタルエンコーダ１０１からの出力信号は、駆動制御部１０３のＬＰＦ（ローパスフィルタ）部１０４を通過することによりノイズが除去され、周期検出部（エッジ検出部）１０５に入力される。周期検出部１０５はデジタルエンコーダの出力信号から周期検出信号を生成し、第１の速度検出カウンタ部１０６及び第２の速度検出カウンタ部１０７に出力する。
【００４０】
これら２つのカウンタ部１０６及び１０７は、デジタルエンコーダの出力信号の周期をその間に入力されたクロックの数でカウントするが、これら２つのカウンタ部１０６及び１０７は、互いに単位とするエンコーダの周期数が異なり、例えば、第１の速度検出カウンタ部１０６は１つのエンコーダ周期、第２の速度検出カウンタ部１０７は２つのエンコーダ周期を単位としてクロック数をカウントする。
【００４１】
なお、本実施形態では説明を簡略にする為、異なる周期数を単位としてカウントするカウンタ部を２つ有する構成としているが、適用する装置やシステムに応じて異なる周期数を単位としてカウントするカウンタ部を３つ以上有する構成としても良い。
【００４２】
第１の速度検出カウンタ部１０６は常にカウント動作を実施しており、測定周期の終了を検出すると、カウント値を第１の速度情報ラッチ部１０８に出力すると共にカウント値をリセットする。同様に第２の速度検出カウンタ部１０７も測定周期の終了を検出すると、カウント値を第２の速度情報ラッチ部１０９に出力すると共にカウント値をリセットする。
【００４３】
サーボコントロール部１１０は必要に応じて速度情報を取得するが、その際、まず第１の速度情報ラッチ部１０８の値を読み込み、予め設定されている基準カウント値と比較を行う。その結果、読み込まれた第１の速度情報ラッチ部１０８からの値の方が予め設定されている基準カウント値以上（速度が遅い）である場合には、読み込まれた第１の速度情報ラッチ部１０６の値を使用して速度情報を求める。一方、比較の結果、第１の速度情報ラッチ部１０８からの値の方が予め設定されている基準カウント値より小さい（速度が速い）場合には、第２の速度情報ラッチ部１０９の値を読み込み、この値を使用して速度情報を求める。
【００４４】
サーボコントロール部１１０は、求めた速度情報を基にサーボ制御の演算を実施してモータドライバ部１１１を制御する。モータドライバ部１１１は、サーボコントロール部１１０からの制御信号に従ってモータ１０２へ通電する電流を制御する。そして、エンコーダ１０１が、モータ１０２の駆動によって機構部分が所定距離移動する度に矩形波状の信号を駆動制御部１０３へ出力することにより、フィードバック制御ループが確立される。
【００４５】
ここで、図３を参照して本実施形態におけるサーボコントロール部１１０での速度情報の求め方について説明する。
【００４６】
図３の（ａ）はデジタルエンコーダ１０１から出力されるパルス信号、（ｂ）は第１の速度検出カウンタ部１０６から出力され第１の速度情報ラッチ部に保持されたカウント値、（ｃ）は第２の速度検出カウンタ部１０７から出力され第２の速度情報ラッチ部１０９に保持されたカウント値の例をそれぞれ示している。
【００４７】
上述のように、第１の速度検出カウンタ部１０６は１つのエンコーダ周期の間に入力されたクロック数をカウントし、第２の速度検出カウンタ部１０７は２つのエンコーダ周期の間に入力されたクロック数をカウントする。図示されたように、４つのエンコーダ周期に対する第１の速度検出カウンタ部１０６のカウント値がそれぞれ３０、２５、２０、１５であり、第２の速度検出カウンタ部１０７のカウント値が５５及び３５であると想定する。
【００４８】
ここで、サーボコントロール部１１０での比較対象として予め設定されている基準カウント値が２３であると想定すると、サーボコントロール部１１０が速度情報を求めるのに使用するカウント値は、第１及び第２の周期に対しては、第１の速度検出カウンタ部１０６のカウント値３０及び２５となり、第３の周期に対しては、第２の速度検出カウンタ部１０７のカウント値５５となる。
【００４９】
サーボコントロール部１１０で速度情報を求める場合に、エンコーダのパルスが出力される距離をＡとすると、第１の速度検出カウンタ部１０６のカウント値を使用する場合には、速度＝距離／時間＝Ａ／（カウント値×クロック周期）となり、第２の速度検出カウンタ部１０７のカウント値を使用する場合には、２Ａ／（カウント値×クロック周期）となる。この場合、クロック周期は一定であるので、速度情報としてＡ／カウント値、又は２Ａ／カウント値を用いてもよい。
【００５０】
図示した例では、カウント値がエンコーダ周期毎に大きく異なっているが、実際に高速駆動が行なわれる場合には、カウント値が非常に小さい値となり、かつその値が安定しない場合がある。例えば、所望の駆動速度に対するカウント値が５であり、実際はそれに非常に近い速度で駆動されているにもかかわらず、検出されるカウント値としては４〜６の間となる場合がある。
【００５１】
従来の制御では、このような場合にも、カウント値を５とするようなサーボ制御が行なわれる。これに対して本実施形態によれば、２つのエンコーダ周期に対するカウント値の変動は１つのエンコーダ周期に対するカウント値の変動の略半分となるので、見かけ上サンプリング周波数を倍にしたのと同様に量子化誤差を低減できるという効果が得られる。
【００５２】
本実施形態のサーボコントロール部１１０の動作を、図２のフローチャートを参照して説明する。
【００５３】
まず、サーボコントロール部１１０がサーボ動作を開始すると（ステップＳ２０１）、サーボコントロール部１１０は第１の速度情報ラッチ部１０８の情報を取得する（ステップＳ２０２）。ここで、取得した第１の速度情報ラッチ部１０８のカウント値と予め設定されている基準カウント値との比較を行う（ステップＳ２０３）。
【００５４】
その結果、第１の速度情報ラッチ部１０８のカウント値が予め設定されている基準カウント値以上である場合には、取得した第１の速度情報ラッチ部１０８のカウント値を使用してサーボ演算を実施（ステップＳ２０４）して終了する（ステップＳ２０５）。
【００５５】
一方、ステップＳ２０３での比較の結果、第１の速度情報ラッチ部１０８のカウント値が予め設定されている基準カウント値より小さい場合には、第２の速度情報ラッチ部１０９の値を取得して（ステップＳ２０６）、この値を使用してサーボ制御を実施（ステップＳ２０４）して終了する（ステップＳ２０５）。
【００５６】
以上説明したように本実施形態によれば、量子化誤差の影響を低減することができ効率的なサーボ制御を行なうことができるという効果が得られる。
【００５７】
＜第２の実施形態＞
図４は本発明のモータ制御装置の第２の実施形態の構成を示すブロック図である。本実施形態のモータ制御装置も、第１の実施形態と同様にデジタルエンコーダ３０１と、駆動制御部３０３と、モータドライバ部３１２とを有し、モータ３０２の駆動を制御するが、駆動制御部３０３の構成が第１の実施形態とは異なっている。
【００５８】
デジタルエンコーダ３０１は、モータ３０２の駆動により機構部分が所定の距離（角度）だけ移動（回転）する度に矩形波状の信号を出力する。
【００５９】
駆動制御部３０３は、ＬＰＦ（ローパスフィルタ）部３０４、周期検出部３０５、速度検出カウンタ部３０６、速度情報ラッチ部３０７、速度履歴情報１ラッチ部３０８、速度履歴情報２ラッチ部３０９、速度履歴情報３ラッチ部３１０、及びサーボコントロール部３１１を有している。
【００６０】
駆動制御部３０３の各部と上記図１１に関して説明した構成との対応を説明すると、例えば、ＬＰＦ部３０４、周期検出部３０５、速度検出カウンタ部３０６、速度情報ラッチ部３０７、速度履歴情報１ラッチ部３０８、速度履歴情報２ラッチに３０９、及び速度履歴情報３ラッチ部３１０はゲートアレイ１１０４内に設けられ、サーボコントロール部３１１は、ＭＰＵ１１０１が所定のプログラムを実行することによって実現される。
【００６１】
デジタルエンコーダ３０１からの出力信号は、駆動制御部３０３のＬＰＦ（ローパスフィルタ）部３０４を通過することによりノイズが除去され、周期検出部（エッジ検出部）３０５に入力される。周期検出部３０５はデジタルエンコーダの出力信号から周期検出信号を生成し、速度検出カウンタ部３０６に出力する。
【００６２】
速度検出カウンタ部３０６は、デジタルエンコーダの出力信号の周期をその間に入力されたクロックの数でカウントする。本実施形態の速度検出カウンタ部３０６は予め決められた一定のデジタルエンコーダ周期数に対するクロック数をカウントする。本実施形態では、説明を簡略化する為、デジタルエンコーダの出力信号１周期に対するクロック数をカウントするものとする。
【００６３】
速度検出カウンタ部３０６は常にカウント動作を実施しており、測定周期の終了を検出すると、カウント値を速度情報ラッチ部３０７に出力すると共にカウント値をリセットする。この時、速度情報ラッチ部３０７内に保持されていたカウント値は速度履歴情報１ラッチ部３０８へ出力され、速度履歴情報１ラッチ部３０８内に保持されていたカウント値は速度履歴情報２ラッチ部３０９へ出力され、速度履歴情報２ラッチ部３０９内に保持されていたカウント値は速度履歴情報３ラッチ部３１０へとそれぞれラッチされる。これにより、現在カウントされたカウント値と過去３つ分のカウント値が保持される。
【００６４】
なお、本実施形態では、過去３つ分のカウント値を履歴情報として保持する構成としているが、適用する装置やシステムに応じて、履歴情報として保持するカウント値の数は適宜選択されるのがよい。
【００６５】
サーボコントロール部３１１は必要に応じて速度情報を取得するが、その際、まず速度情報ラッチ部３０７の値を読み込み、予め設定されている基準カウント値と比較を行う。その結果、取得した速度情報ラッチ部３０７のカウント値の方が予め設定されている基準カウント値以上（速度が遅い）である場合には、その速度情報を使用して速度情報を求める。
【００６６】
一方、比較の結果、速度情報ラッチ部３０７のカウント値が予め設定されている基準カウント値より小さい（速度が速い）場合には、速度履歴情報１ラッチ部３０８のカウント値を読み込み、速度情報ラッチ部３０７のカウント値と加算して第１の加算結果を算出する。そして、この第１の加算結果と予め設定されている基準カウント値との比較を行なう。第１の加算結果が依然として基準カウント値より小さい場合には、更に速度履歴情報２ラッチ部３０９のカウント値を第１の加算結果に加算して第２の加算結果を求めて同様の比較を行う。第２の加算結果が依然として基準カウント値より小さい場合には、更に速度履歴情報３ラッチ部３１０のカウント値を加算して第３の加算結果を求めて同様の比較を行なう。
【００６７】
このようにして加算結果が基準カウント値以上となるまで順次過去のカウント値を加算する。そして得られた加算結果と、この加算結果がデジタルエンコーダ信号の何周期分に相当するのかについての情報に基づいて速度情報を算出する。サーボコントロール部３１１は、求めた速度情報を基にサーボ制御の演算を実施してモータドライバ部３１２を制御する。モータドライバ部３１２は、サーボコントロール部３１１からの制御信号に従ってモータ３０２へ通電する電流を制御する。そしてエンコーダ３０１が、モータ３０２の駆動によって機構部分が所定距離移動する度に矩形波状の信号を駆動制御部３０３へ出力することにより、フィードバック制御ループが確立される。
【００６８】
ここで、図６を参照して本実施形態におけるサーボコントロール部３１１での速度情報の求め方について説明する。
【００６９】
図６の（ａ）はデジタルエンコーダ３０１から出力されるパルス信号、（ｂ）は速度検出カウンタ部３０６から出力され速度情報ラッチ部３０７に保持されたカウント値、（ｃ）は速度履歴情報１ラッチ部３０８に保持されたカウント値、（ｄ）は速度履歴情報２ラッチ部３０９に保持されたカウント値、（ｅ）は速度履歴情報３ラッチ部３１０に保持されたカウント値の例をそれぞれ示している。
【００７０】
ここで、４つのエンコーダ周期に対する速度検出カウンタ部３０６のカウント値がそれぞれ１００、６０、３０、１５であり、サーボコントロール部３１１での比較対象として予め設定されている基準カウント値が２０であると想定すると、サーボコントロール部３１１が速度情報を求めるのに使用するカウント値は、第１から第３の周期に対しては、速度検出カウンタ部１０６のカウント値となり、第４の周期に対しては、速度情報ラッチ部３０７に保持されたカウント値１５と速度履歴情報１ラッチ部に保持されたカウント値３０の加算結果である４５となる。
【００７１】
サーボコントロール部３１１で速度情報を求める場合に、エンコーダのパルスが出力される距離をＡとすると、速度検出カウンタ部３０６のカウント値を使用する場合には、速度＝距離／時間＝Ａ／（カウント値×クロック周期）となり、速度情報ラッチ部３０７のカウント値と速度履歴情報１ラッチ部３０８のカウント値との加算結果を使用する場合には、２Ａ／（カウント値×クロック周期）となる。この場合、クロック周期は一定であるので、速度情報としてＡ／カウント値、又は２Ａ／カウント値を用いてもよい。
【００７２】
本実施形態のサーボコントロール部３１１の動作を、図５のフローチャートを参照して説明する。
【００７３】
まず、サーボコントロール部３１１がサーボ動作を開始すると（ステップＳ４０１）、サーボコントロール部３１１は速度情報ラッチ部３０７の情報を取得する（ステップＳ４０２）。ここで、取得した情報（カウント値）と予め設定されている基準カウント値の比較を行う（ステップＳ４０３）。
【００７４】
その結果、取得したカウント値が予め設定されている基準カウント値以上である（速度が遅い）場合には、取得したカウント値を使用してサーボ演算を実施（ステップＳ４０４）して終了する（ステップＳ４０５）。
【００７５】
一方、ステップＳ４０３での比較の結果、取得したカウント値が予め設定されている基準カウント値より小さい（速度が速い）場合には、１つ過去のカウント値を速度履歴情報１ラッチ部３０８から取得し（ステップＳ４０６）、２つのカウント値を加算すると共に何周期過去までを加算したかを記憶する（ステップＳ４０７）。その後、ステップＳ４０３に戻り再び比較を実施して、加算結果が予め設定されている基準カウント値より大きくなるまで、ステップＳ４０６、Ｓ４０７及びＳ４０３の処理を繰り返す。
【００７６】
ステップＳ４０３での比較の結果、加算結果が基準カウント値以上であれば、その加算結果と何周期分まで加算したかという情報を使用してサーボ演算を実施（ステップＳ４０４）して終了する（ステップＳ４０５）。
【００７７】
以上説明したように本実施形態によれば、上記第１の実施形態と同様に、量子化誤差の影響を低減することができ効率的なサーボ制御を行なうことができるという効果が得られる。
【００７８】
＜第３の実施形態＞
図７は本発明のモータ制御装置の第３の実施形態の構成を示すブロック図である。本実施形態のモータ制御装置も、第１及び第２の実施形態と同様にデジタルエンコーダ５０１と、駆動制御部５０３と、モータドライバ部５１２とを有し、モータ５０２の駆動を制御するが、駆動制御部５０３の構成が第１及び第２の実施形態とは異なっている。
【００７９】
デジタルエンコーダ５０１は、モータ５０２の駆動により機構部分が所定の距離（角度）だけ移動（回転）する度に矩形波状の信号を出力する。
【００８０】
デジタルエンコーダ３０１は、モータ３０２の駆動により機構部分が所定の距離（角度）だけ移動（回転）する度に矩形波状の信号を出力する。
【００８１】
駆動制御部５０３は、ＬＰＦ（ローパスフィルタ）部５０４、周期検出部５０５、速度検出カウンタ部５０６、基準カウント値比較部５０７、周期カウンタ部５０８、速度情報ラッチ部５０９、カウント周期情報ラッチ部５１０、及びサーボコントロール部５１１を有している。
【００８２】
駆動制御部５０３の各部と上記図１１に関して説明した構成との対応を説明すると、例えば、ＬＰＦ部５０４、周期検出部５０５、速度検出カウンタ部５０６、基準カウント値比較部５０７、周期カウンタ部５０８、速度情報ラッチ部５０９、及びカウント周期情報ラッチ部５１０はゲートアレイ１１０４内に設けられ、サーボコントロール部５１１は、ＭＰＵ１１０１が所定のプログラムを実行することによって実現される。
【００８３】
デジタルエンコーダ５０１からの出力信号は、駆動制御部５０３のＬＰＦ（ローパスフィルタ）部５０４を通過することによりノイズが除去され、周期検出部（エッジ検出部）５０５に入力される。周期検出部５０５はデジタルエンコーダの出力信号から周期検出信号を生成し、速度検出カウンタ部５０６及び基準カウント値比較部５０７に出力する。
【００８４】
速度検出カウンタ部５０６は、デジタルエンコーダの出力信号の周期をその間に入力されたクロックの数でカウントする。ここで、基準カウント値比較部５０７は、測定周期の終了を検出すると速度検出カウンタ部５０６でカウントしたカウント値と予め設定されている基準カウント値との比較を行う。その結果、速度検出カウンタ部５０６のカウント値の方が予め設定されている基準カウント値より小さい場合、基準カウント値比較部５０７は速度検出カウンタ部５０６に対して次の周期までのカウントの延長を指示し、周期カウンタ部５０８に対して周期カウント値のカウントアップを指示する。
【００８５】
その後、基準カウント値比較部５０７が測定周期の終了を再度検出すると、速度検出カウンタ部５０６でカウントしたカウント値と予め設定されている基準カウント値との比較を再度行う。この動作は、速度検出カウンタ部５０６のカウント値が予め設定されている基準カウント値以上となるまで繰り返される。
【００８６】
そして基準カウント値比較部５０７が、速度検出カウンタ部５０６のカウント値が予め設定されている基準カウント値以上であると判定すると、速度検出カウンタ部５０６のカウント値及び周期カウンタ部５０８の周期カウント値とを、速度情報ラッチ部５０９及びカウント周期情報ラッチ部５１０にそれぞれ保持すると共に、それぞれのカウント値をリセットする。
【００８７】
サーボコントロール部５１１は必要に応じて速度情報を取得するが、その際、速度情報ラッチ部５０９の情報とカウント周期情報ラッチ部５１０の情報とを読込み、この２つの情報から現在の速度情報を算出する。そして算出した速度情報に基づいてサーボ演算を実施してモータドライバ部５１２を制御する。モータドライバ部５１２は、サーボコントロール部５１１からの制御信号に従ってモータ５０２へ通電する電流を制御する。エンコーダ５０１が、モータ５０２の駆動によって機構部分が所定距離移動する度に矩形波状の信号を駆動制御部５０３へ出力することにより、フィードバック制御ループが確立される。
【００８８】
ここで、図９を参照して本実施形態における速度情報の求め方について説明する。
【００８９】
図９の（ａ）はデジタルエンコーダ５０１から出力されるパルス信号、（ｂ）は速度検出カウンタ部５０６から出力され速度情報ラッチ部５０９に保持されたカウント値、（ｃ）は周期カウンタ部５０８から出力されカウント周期情報ラッチ部５１０に保持されたカウント値の例をそれぞれ示している。
【００９０】
ここで、３つのエンコーダ周期に対するクロック数がそれぞれ５０、３０、１５であり、基準カウント値比較部５０７での比較対象として予め設定されている基準カウント値が４０であると想定すると、第１のエンコーダ周期に対しては、速度検出カウンタ部５０６から速度情報ラッチ部５０９にはカウント値５０が出力され、周期カウンタ部５０８からカウント周期情報ラッチ部５１０には周期数１が出力される。第２のエンコーダ周期に対しては、速度検出カウンタ部５０６でのカウント値３０が４０未満であるので、速度情報ラッチ部５０９及びカウント周期情報ラッチ部５１０には出力されない。そして、第３のエンコーダ周期に対しては、速度検出カウンタ部５０６から速度情報ラッチ部５０９にはカウント値４５（＝３０＋１５）が出力され、周期カウンタ部５０８からカウント周期情報ラッチ部５１０には周期数２が出力される。
【００９１】
サーボコントロール部５１１で速度情報を求める場合に、エンコーダのパルスが出力される距離をＡとすると、速度情報ラッチ部５０９に保持されたカウント値と。カウント情報周期ラッチ部５１０に保持された周期数とを使用して、速度＝距離／時間＝Ａ×周期数／（カウント値×クロック周期）となる。この場合、クロック周期は一定であるので、速度情報としてＡ×周期数／カウント値を用いてもよい。
【００９２】
本実施形態の駆動制御部５０３の速度算出に関する動作を、図８のフローチャートを参照して説明する。
【００９３】
まず、速度情報カウントを開始する（ステップＳ６０１）と、デジタルエンコーダの速度測定周期の検出を行う（ステップＳ６０２）。速度測定周期が検出されるまでは、速度検出カウンタ部５０６により入力されたクロック数のカウントを続ける（ステップＳ６０３）。ここて、速度測定周期の終了が検出されると、基準カウント値比較部５０７で速度検出カウンタ部５０６のカウント値と予め設定されている基準カウント値との比較を行う（ステップＳ６０４）。
【００９４】
ステップＳ６０４での比較の結果、速度検出カウンタ部５０６のカウント値が予め設定されている基準カウント値未満である場合には、周期カウンタ部５０８の測定周期カウンタの値をインクリメント（ステップＳ６０５）して、速度検出カウンタ部５０６により入力されたクロック数のカウントを続ける。そして、ステップＳ６０２で、次の速度測定周期が検出されたら、ステップＳ６０４に進み、カウント値比較部５０７での速度検出カウンタ部５０６のカウント値と予め設定されている基準カウント値との比較を再度行う。この一連の動作は速度検出カウンタ部５０６のカウント値が予め設定されている基準カウント値以上になるまで繰り返される。
【００９５】
ステップＳ６０４で、速度検出カウンタ部５０６のカウント値が予め設定されている基準カウント値以上であると判定されると、速度検出カウンタ部５０６のカウント値及び周期カウンタ部５０８の測定周期数とが、速度情報ラッチ部５０９及びカウント周期情報ラッチ部５１０にそれぞれ出力されて格納される（ステップＳ６０６）。その後、速度検出カウンタ部５０６のカウンタと周期カウンタ部５０８の値をリセットし（ステップＳ６０７）、処理を終了する（ステップＳ６０８）。
【００９６】
なお、サーボコントロール部５１１では、上述のように速度情報ラッチ部５０９に保持されたカウント値と、カウント周期情報ラッチ部５１０に保持された周期数とを基に、現在の速度情報を算出してサーボ制御を実施する。
【００９７】
以上説明したように本実施形態では、上記第１及び第２の実施形態の効果に加え、サーボコントロール部の機能を実現するＭＰＵの負荷を軽減することができるという効果がある。
【００９８】
［他の実施形態］
以上の実施形態は、シリアル式インクジェットプリンタのキャリッジモータ及び／又は搬送モータの制御に本発明を適用したものであるが、本発明は、インクジェットプリンタに限らず、モータを使用する様々な機器に適用可能である。
【００９９】
また、上記の実施形態はいずれもＤＣモータの制御に本発明を適用したものであるが、ＤＣモータ以外でも上記の速度サーボ等のフィードバック制御が可能なモータであれば、本発明を適用できる。
【０１００】
本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。
【０１０１】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１０２】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，磁気テープ，不揮発性のメモリカード，ＲＯＭなどを用いることができる。
【０１０３】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１０４】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１０５】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明した（図２、５及び８に示す）フローチャートに対応するプログラムコードが格納されることになる。
【０１０６】
【発明の効果】
以上説明したように本発明によれば、例えば、周期が短い場合には、連続した２つの周期に関する情報をデジタル値として出力するようにすることで、２つの周期に対するデジタル値の変動は１つの周期に対するデジタル値の変動の略半分となるので、分解能を高くせずに、見かけ上サンプリング周波数を倍にしたのと同様に、デジタル値を用いる場合に生じる量子化誤差を低減できるという効果が得られる。
【図面の簡単な説明】
【図１】本発明のモータ制御装置の第１の実施形態の構成を示すブロック図である。
【図２】図１の実施形態のサーボコントロール部の動作のフローチャートである。
【図３】図１の実施形態における検出信号及びカウント数の例を示す図である。
【図４】本発明のモータ制御装置の第２の実施形態の構成を示すブロック図である。
【図５】図４の実施形態のサーボコントロール部の動作のフローチャートである。
【図６】図４の実施形態における検出信号及びカウント数の例を示す図である。
【図７】本発明のモータ制御装置の第３の実施形態の構成を示すブロック図である。
【図８】図７の実施形態の速度情報算出に関する動作のフローチャートである。
【図９】図７の実施形態における検出信号及びカウント数の例を示す図である。
【図１０】本発明の実施形態に係るシリアル式インクジェットプリンタの全体図である。
【図１１】図１０のプリンタの制御構成を説明するブロック図である。
【図１２】デジタルエンコーダの動作原理を示す図である。
【図１３】エンコーダ出力に接続されるＬＰＦの例を示す回路図である。
【符号の説明】
１０１，３０１，５０１　デジタルエンコーダ
１０２，３０２，５０２　モータ
１０３，３０３，５０３　駆動制御部
１０４，３０４，５０４　ＬＰＦ部
１０５，３０５，５０５　周期検出部
１０６，１０７，３０６，５０６，５０８　カウンタ部
１０８，１０９，３０７〜３１０，５０９，５１０　ラッチ部
１１０，３１１，５１１　サーボコントロール部
１１１，３１２，５１２　モータドライバ部
５０７　基準カウント値比較部　５０７
【図１】
2004054762.tif 000003
【図２】
2004054762.tif 000004
【図３】
2004054762.tif 000005
【図４】
2004054762.tif 000006
【図５】
2004054762.tif 000007
【図６】
2004054762.tif 000008
【図７】
2004054762.tif 000009
【図８】
2004054762.tif 000010
【図９】
2004054762.tif 000011
【図１０】
2004054762.tif 000012
【図１１】
2004054762.tif 000013
【図１２】
2004054762.tif 000014
【図１３】
2004054762.tif 000015