(57)【特許請求の範囲】
【請求項１】
周期がモータ速度に比例する第１のパルス信号、及び、周期が前記モータ速度に比例し、前記第１のパルス信号に対する位相差が約１／４周期である第２のパルス信号を発生する信号発生手段と、
同一パルス信号の同一方向エッジごとにパルスエッジを区別して検出する第１の検出条件、一方のパルス信号の１周期毎のタイミングでパルスエッジを検出してパルス１周期分の時間計測を行う第２の検出条件、及び、一方のパルス信号の一のエッジから他方のパルス信号の直後の後続のエッジまでの時間をパルス１／４周期分の時間として時間計測を行う第３の検出条件を含む複数の検出条件を記憶し、前記モータ速度、前記第１若しくは第２のパルス信号の周期数、又は、前記モータの駆動量に応じて前記検出条件のいずれかを出力する検出条件記憶手段と、
前記検出条件記憶手段から出力された前記検出条件が設定される検出条件設定手段と、
前記検出条件設定手段に設定された前記検出条件に従い、前記第１及び第２のパルス信号の立ち上がりエッジ及び立ち下がりエッジの一部又は全部を検出するパルスエッジ検出手段と、
前記パルスエッジ検出手段により検出されたパルスエッジ間の時間をそれぞれ計測する時間計測手段と、
前記時間計測手段により計測された時間を用いて前記モータ速度への変換を順次行うことにより、前記モータ速度を検出する速度変換手段と、
を備えたことを特徴とするモータ制御装置。
【請求項２】
前記時間計測手段は、少なくとも４つのパルスエッジ間の時間をそれぞれ同時に並行して計測可能なものであることを特徴とする請求項１に記載のモータ制御装置。
【請求項３】
前記時間計測手段は、前記パルスエッジ検出手段が同一パルス信号の同一方向エッジごとにパルスエッジを区別して検出する場合には、同一パルス信号の同一方向エッジごとのパルスエッジ間の時間をそれぞれ計測するものであることを特徴とする請求項２に記載のモータ制御装置。
【請求項４】
前記検出条件記憶手段、前記検出条件設定手段は、ＰＲＯＭ、ＥＥＰＲＯＭ又はＡＳＩＣのいずれかにより構成されているものであることを特徴とする請求項１乃至３のいずれかに記載のモータ制御装置。
【請求項５】
前記速度変換手段は、前記パルスエッジ間に対応する距離を前記時間で除算することにより前記モータ速度への変換を行うものであることを特徴とする請求項１乃至４のいずれかに記載のモータ制御装置。
【請求項６】
前記モータの駆動対象の目標停止位置を示すパルスエッジである目標エッジより所定数前のパルスエッジから前記目標エッジまでの各パルスエッジごとに設定された比較対象値を記憶する比較対象値記憶手段と、
前記所定数前のパルスエッジから前記目標エッジまでの各パルスエッジにおいて、前記比較対象値と前記モータ速度とを比較し、前記モータ速度が前記比較対象値以上の値である場合に、前記モータの停止を指令するモータ停止制御手段と、
をさらに備えたことを特徴とする請求項１乃至５のいずれかに記載のモータ制御装置。
【請求項７】
前記比較対象値記憶手段は、ＰＲＯＭ、ＥＥＰＲＯＭ又はＡＳＩＣのいずれかにより構成されているものであり、前記モータ停止制御手段は、ＣＰＵにより構成されているものであることを特徴とする請求項６に記載のモータ制御装置。
【請求項８】
前記パルスエッジ検出手段、前記時間計測手段、前記速度変換手段は、ＣＰＵにより構成されていることを特徴とする請求項１乃至７のいずれかに記載のモータ制御装置。
【請求項９】
前記信号発生手段は、エンコーダにより構成されていることを特徴とする請求項１乃至８のいずれかに記載のモータ制御装置。
【請求項１０】
前記エンコーダは、シリアルプリンタのキャリッジに固定されたリニア式エンコーダであることを特徴とする請求項９に記載のモータ制御装置。
【請求項１１】
前記モータは、前記キャリッジを駆動するキャリッジモータであることを特徴とする請求項１０に記載のモータ制御装置。
【請求項１２】
前記エンコーダは、シリアルプリンタの紙送りモータ用ロータリ式エンコーダであることを特徴とする請求項９に記載のモータ制御装置。
【請求項１３】
前記モータは、前記シリアルプリンタの紙送りを行う紙送りモータであることを特徴とする請求項１２に記載のモータ制御装置。
【請求項１４】
周期がモータ速度に比例する第１のパルス信号、及び、周期が前記モータ速度に比例し、前記第１のパルス信号に対する位相差が約１／４周期である第２のパルス信号を発生する第１の過程と、
同一パルス信号の同一方向エッジごとにパルスエッジを区別して検出する第１の検出条件、一方のパルス信号の１周期毎のタイミングでパルスエッジを検出してパルス１周期分の時間計測を行う第２の検出条件、及び、一方のパルス信号の一のエッジから他方のパルス信号の直後の後続のエッジまでの時間をパルス１／４周期分の時間として時間計測を行う第３の検出条件を含む複数の検出条件の中から、前記モータ速度、前記第１若しくは第２のパルス信号の周期数、又は、前記モータの駆動量に応じて、いずれかを選択する第２の過程と、
選択された前記検出条件に従い、前記第１及び第２のパルス信号の立ち上がりエッジ及び立ち下がりエッジの一部又は全部を検出する第３の過程と、
検出されたパルスエッジ間の時間をそれぞれ計測する第４の過程と、
計測された時間を用いて前記モータ速度への変換を順次行うことにより、前記モータ速度を検出する第５の過程と、
を備えたことを特徴とするモータ制御方法。
【請求項１５】
前記第３の過程において同一パルス信号の同一方向エッジごとにパルスエッジを区別して検出する場合には、前記第４の過程は、同一パルス信号の同一方向エッジごとのパルスエッジ間の時間をそれぞれ計測するものであることを特徴とする請求項１４に記載のモータ制御方法。
【請求項１６】
前記第５の過程は、前記パルスエッジ間に対応する距離を前記時間で除算することにより前記モータ速度への変換を行うものであることを特徴とする請求項１４又は１５に記載のモータ制御方法。
【請求項１７】
前記モータの駆動対象の目標停止位置を示すパルスエッジである目標エッジより所定数前のパルスエッジから前記目標エッジまでの各パルスエッジにおいて、前記所定数前のパルスエッジから前記目標エッジまでの各パルスエッジごとに設定された比較対象値と前記モータ速度とを比較し、前記モータ速度が前記比較対象値以上の値である場合に、前記モータの停止を指令する第６の過程をさらに備えたことを特徴とする請求項１４乃至１６のいずれかに記載のモータ制御方法。
【請求項１８】
前記パルス信号は、エンコーダにより発生させられることを特徴とする請求項１４乃至１７のいずれかに記載のモータ制御方法。
【請求項１９】
前記エンコーダは、シリアルプリンタのキャリッジに固定されたリニア式エンコーダであることを特徴とする請求項１８に記載のモータ制御方法。
【請求項２０】
前記モータは、前記キャリッジを駆動するキャリッジモータであることを特徴とする請求項１９に記載のモータ制御方法。
【請求項２１】
前記エンコーダは、シリアルプリンタの紙送りモータ用ロータリ式エンコーダであることを特徴とする請求項１８に記載のモータ制御方法。
【請求項２２】
前記モータは、前記シリアルプリンタの紙送りを行う紙送りモータであることを特徴とする請求項２１に記載のモータ制御方法。
【請求項２３】
請求項１４乃至２２のいずれかに記載のモータ制御方法をコンピュータシステムにおいて実行するコンピュータプログラムが記録されたことを特徴とするコンピュータプログラムの記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、モータ制御装置及び制御方法に係り、特に、シリアルプリンタのキャリッジを駆動するキャリッジモータ又は紙送りを行う紙送りモータを制御するために使用するエンコーダから出力されるパルス信号の立ち上がりタイミング及び立ち下がりタイミングを選択的に採用することによりモータ速度を検出するモータ制御装置及び制御方法に関する。また、そのモータ制御方法を実行するコンピュータプログラムを記録した記録媒体に関する。
【０００２】
【従来の技術】
最初に、ＤＣモータ制御装置が用いられるインクジェットプリンタの概略構成及び制御方法について説明する。
【０００３】
図９は、インクジェットプリンタの概略構成を示したブロック図である。
【０００４】
図９に示したインクジェットプリンタは、紙送りを行う紙送りモータ（以下、ＰＦモータともいう。）１と、紙送りモータ１を駆動する紙送りモータドライバ２と、印刷紙５０にインクを吐出するヘッド９が固定され、印刷紙５０に対し平行方向かつ紙送り方向に対し垂直方向に駆動されるキャリッジ３と、キャリッジ３を駆動するキャリッジモータ（以下、ＣＲモータともいう。）４と、キャリッジモータ４を駆動するＣＲモータドライバ５と、ＣＲモータドライバ５に直流電流指令値を払い出すＤＣユニット６と、ヘッド９の目詰まり防止のためのインクの吸い出しを制御するポンプモータ７と、ポンプモータ７を駆動するポンプモータドライバ８と、ヘッド９を駆動制御するヘッドドライバ１０と、キャリッジ３に固定されたリニア式エンコーダ１１と、所定の間隔にスリットが形成されたリニア式エンコーダ１１用符号板１２と、ＰＦモータ１用のロータリ式エンコーダ１３と、印刷処理されている紙の終端位置を検出する紙検出センサ１５と、プリンタ全体の制御を行うＣＰＵ１６と、ＣＰＵ１６に対して周期的に割込み信号を発生するタイマＩＣ１７と、ホストコンピュータ１８との間でデータの送受信を行うインタフェース部（以下、ＩＦともいう。）１９と、ホストコンピュータ１８からＩＦ１９を介して送られてくる印字情報に基づいて印字解像度やヘッド９の駆動波形等を制御するＡＳＩＣ２０と、ＡＳＩＣ２０及びＣＰＵ１６の作業領域やプログラム格納領域として用いられるＰＲＯＭ２１，ＲＡＭ２２及びＥＥＰＲＯＭ２３と、印刷紙５０を支持するプラテン２５と、ＰＦモータ１によって駆動されて印刷紙５０を搬送する搬送ローラ２７と、ＣＲモータ４の回転軸に取付けられたプーリ３０と、プーリ３０によって駆動されるタイミングベルト３１とから構成されている。
【０００５】
ＤＣユニット６は、ＣＰＵ１６から送られてくる制御指令、エンコーダ１１，１３の出力に基づいて紙送りモータドライバ２及びＣＲモータドライバ５を駆動制御する。また、紙送りモータ１及びＣＲモータ４はいずれもＤＣモータで構成されている。
【０００６】
図１０は、インクジェットプリンタのキャリッジ３周辺の構成を示した斜視図である。
【０００７】
図１０に示すように、キャリッジ３は、タイミングベルト３１によりプーリ３０を介してキャリッジモータ４に接続され、ガイド部材３２に案内されてプラテン２５に平行に移動するように駆動される。キャリッジ３の印刷紙に対向する面には、ブラックインクを吐出するノズル列及びカラーインクを吐出するノズル列を有する記録ヘッド９が設けられ、各ノズルはインクカートリッジ３４からインクの供給を受けて印刷紙にインク滴を吐出して文字や画像を印刷する。
【０００８】
また、キャリッジ３の非印字領域には、非印字時に記録ヘッド９のノズル開口を封止するためのキャッピング装置３５と、図９に示したポンプモータ７を有するポンプユニット３６とが設けられている。キャリッジ３が印字領域から非印字領域に移動すると、図示しないレバーにキャリッジ３が当接して、キャッピング装置３５が上方に移動し、ヘッド９を封止する。
【０００９】
ヘッド９のノズル開口列に目詰まりが生じた場合や、カートリッジ３４の交換等を行ってヘッド９から強制的にインクを吐出する場合は、ヘッド９を封止した状態でポンプユニット３６を作動させ、ポンプユニット３６からの負圧により、ノズル開口列からインクを吸い出す。これにより、ノズル開口列の近傍に付着している塵埃や紙粉が洗浄され、さらにはヘッド９内の気泡がインクとともにキャップ３７に排出される。
【００１０】
図１１は、キャリッジ３に取付けられたリニア式エンコーダ１１の構成を模式的に示した説明図である。
【００１１】
図１１に示したエンコーダ１１は、発光ダイオード１１ａと、コリメータレンズ１１ｂと、検出処理部１１ｃとを備えている。検出処理部１１ｃは、複数（４個）のフォトダイオード１１ｄと、信号処理回路１１ｅと、２個のコンパレータ１１ｆA，１１ｆBとを有している。
【００１２】
発光ダイオード１１ａの両端に抵抗を介して電圧ＶCCが印加されると、発光ダイオード１１ａから光が発せられる。この光はコリメータレンズ１１ｂにより平行光に集光されて符号板１２を通過する。符号板１２には、所定の間隔（例えば１／１８０インチ（１インチ＝２．５４ｃｍ））毎にスリットが設けられている。
【００１３】
符号板１２を通過した平行光は、図示しない固定スリットを通って各フォトダイオード１１ｄに入射し、電気信号に変換される。４個のフォトダイオード１１ｄから出力される電気信号は信号処理回路１１ｅにおいて信号処理され、信号処理回路１１ｅから出力される信号はコンパレータ１１ｆA，１１ｆBにおいて比較され、比較結果がパルスとして出力される。コンパレータ１１ｆA，１１ｆBから出力されるパルスＥＮＣ−Ａ，ＥＮＣ−Ｂがエンコーダ１１の出力となる。
【００１４】
図１２は、ＣＲモータ正転時及び逆転時におけるエンコーダ１１の２つの出力信号の波形を示したタイミングチャートである。
【００１５】
図１２（ａ），（ｂ）に示すように、ＣＲモータ正転時及び逆転時のいずれの場合も、パルスＥＮＣ−ＡとパルスＥＮＣ−Ｂとは位相が９０度だけ異なっている。ＣＲモータ４が正転しているとき、即ち、キャリッジ３が主走査方向に移動しているときは、図１２（ａ）に示すように、パルスＥＮＣ−ＡはパルスＥＮＣ−Ｂよりも９０度だけ位相が進み、ＣＲモータ４が逆転しているときは、図１２（ｂ）に示すように、パルスＥＮＣ−ＡはパルスＥＮＣ−Ｂよりも９０度だけ位相が遅れるようにエンコーダ４は構成されている。そして、上記パルスの１周期Ｔは符号板１２のスリット間隔（例えば１／１８０インチ）に対応し、キャリッジ３が上記スリット間隔を移動する時間に等しい。
【００１６】
一方、ＰＦモータ１用のロータリ式エンコーダ１３は符号板がＰＦモータ１の回転に応じて回転する回転円板である以外は、リニア式エンコーダ１１と同様の構成となっており、２つの出力パルスＥＮＣ−Ａ，ＥＮＣ−Ｂを出力する。インクジェットプリンタにおいては、ＰＦモータ１用のロータリ式エンコーダ１３の符号板に設けられている複数のスリットのスリット間隔は１／１８０インチであり、ＰＦモータ１が上記１スリット間隔だけ回転すると、１／１４４０インチだけ紙送りされるような構成となっている。
【００１７】
図１３は、給紙及び紙検出に関連する部分を示した透視図である。
図１３を参照して、図９に示した紙検出センサ１５の位置について説明する。図１３において、プリンタ６０の給紙挿入口６１に挿入された印刷紙５０は、給紙モータ６３により駆動される給紙ローラ６４によってプリンタ６０内に送り込まれる。プリンタ６０内に送り込まれた印刷紙５０の先端が例えば光学式の紙検出センサ１５により検出される。紙検出センサ１５によって先端が検出された紙５０は、ＰＦモータ１により駆動される紙送りローラ６５及び従動ローラ６６によって紙送りが行われる。
【００１８】
続いてキャリッジガイド部材３２に沿って移動するキャリッジ３に固定された記録ヘッド（図示せず）からインクが滴下されることにより印字が行われる。所定の位置まで紙送りが行われると、現在、印字されている印刷紙５０の終端が紙検出センサ１５によって検出される。印字が終了した印刷紙５０は、ＰＦモータ１により駆動される歯車６７Ａ，６７Ｂを介して歯車６７Ｃにより駆動される排紙ローラ６８及び従動ローラ６９によって排紙口６２から外部に排出される。尚、紙送りローラ６５の回転軸には、ロータリ式エンコーダ１３が連結されている。
【００１９】
次に、上述したインクジェットプリンタのＣＲモータ４を制御する従来のＤＣモータ制御装置であるＤＣユニット６の構成、及び、ＤＣユニット６による制御方法について説明する。
【００２０】
図１４は、ＤＣモータ制御装置であるＤＣユニット６の構成を示したブロック図であり、図１５は、従来のＤＣユニット６の速度演算部６ｄにおけるエンコーダパルスエッジ検出条件を示したタイミングチャートであり、図１６は、ＤＣユニット６により制御されるＣＲモータ４のモータ電流及びモータ速度を示したグラフである。
【００２１】
図１４に示したＤＣユニット６は、位置演算部６ａと、減算器６ｂと、目標速度演算部６ｃと、速度演算部６ｄと、減算器６ｅと、比例要素６ｆと、積分要素６ｇと、微分要素６ｈと、加算器６ｉと、Ｄ／Ａコンバータ６ｊと、タイマ６ｋと、加速制御部６ｍとから構成されている。
【００２２】
位置演算部６ａは、エンコーダ１１の出力パルスＥＮＣ−Ａ，ＥＮＣ−Ｂの各々の立ち上がりエッジ、立ち下がりエッジを検出し、検出されたエッジの個数を計数し、この計数値に基づいて、キャリッジ３の位置を演算する。この計数はＣＲモータ４が正転しているときは１個のエッジが検出されると「＋１」を加算し、逆転しているときは、１個のエッジが検出されると「−１」を加算する。パルスＥＮＣ−Ａ及びＥＮＣ−Ｂの各々の周期は符号板１２のスリット間隔に等しく、かつ、パルスＥＮＣ−ＡとパルスＥＮＣ−Ｂとは位相が９０度だけ異なっている。このため、上記計数のカウント値「１」は符号板１２のスリット間隔の１／４に対応する。これにより上記計数値にスリット間隔の１／４を乗算すれば、計数値が「０」に対応するキャリッジ３の位置からの移動量を求めることができる。このときエンコーダ１１の解像度は符号板１２のスリットの間隔の１／４となる。上記スリットの間隔を１／１８０インチとすれば解像度は１／７２０インチとなる。
【００２３】
減算器６ｂは、ＣＰＵ１６から送られてくる目標位置と、位置演算部６ａによって求められたキャリッジ３の実際の位置との位置偏差を演算する。
【００２４】
目標速度演算部６ｃは、減算器６ｂの出力である位置偏差に基づいてキャリッジ３の目標速度を演算する。この演算は位置偏差にゲインＫPを乗算することにより行われる。このゲインＫPは位置偏差に応じて決定される。尚、このゲインＫP の値は、図示しないテーブルに格納されていてもよい。
【００２５】
速度演算部６ｄは、エンコーダ１１の出力パルスＥＮＣ−Ａ，ＥＮＣ−Ｂに基づいてキャリッジ３の速度を演算する。この速度は次のようにして求められる。
【００２６】
速度演算を行うためには、先ず、エンコーダ１１の出力パルスＥＮＣ−Ａ，ＥＮＣ−Ｂの立ち上がりエッジ、立ち下がりエッジを検出する必要があるが、従来の速度演算部６ｄにおけるパルスエッジ検出条件には、図１５（ａ）、（ｂ）に示す２通りのパターンがある。
【００２７】
図１５（ａ）に示す第１のパルスエッジ検出条件においては、出力パルスＥＮＣ−Ａ，ＥＮＣ−Ｂのいずれか一方、例えば出力パルスＥＮＣ−Ａを用い、その立ち上がりエッジのみを順次検出することにより、符号板１２のスリット間隔に対応するエッジ間の時間間隔を、タイマカウンタによってカウントする。このカウント値をＴとし（Ｔ＝Ｔ1，Ｔ2，．．．）、符号板１２のスリット間隔をλとすればキャリッジの速度はλ／Ｔとして順次求めることができる。
【００２８】
図１５（ｂ）に示す第２のパルスエッジ検出条件においては、出力パルスＥＮＣ−Ａ，ＥＮＣ−Ｂの双方を用い、両パルスの立ち上がりエッジ及び立ち下がりエッジを順次検出することにより、符号板１２のスリット間隔の１／４に対応するエッジ間の時間間隔を、同様にタイマカウンタによってカウントする。このカウント値をＴとし（Ｔ＝Ｔ1，Ｔ2，．．．）、符号板１２のスリット間隔をλとすればキャリッジの速度はλ／（４Ｔ）として順次求めることができる。
【００２９】
上記第１のパルスエッジ検出条件は、速度検出の分解能が比較的低くても足りる場合に使用され、上記第２のパルスエッジ検出条件は、速度検出の分解能が比較的高い必要がある場合に使用される。
【００３０】
減算器６ｅは、目標速度と、速度演算部６ｄによって演算されたキャリッジ３の実際の速度との速度偏差を演算する。
【００３１】
比例要素６ｆは、上記速度偏差に定数Ｇｐを乗算し、乗算結果を出力する。積分要素６ｇは、速度偏差に定数Ｇｉを乗じたものを積算する。微分要素６ｈは、現在の速度偏差と、１つ前の速度偏差との差に定数Ｇｄを乗算し、乗算結果を出力する。比例要素６ｆ、積分要素６ｇ及び微分要素６ｈの演算は、エンコーダ１１の出力パルスＥＮＣ−Ａの１周期ごとに、例えば出力パルスＥＮＣ−Ａの立ち上がりエッジに同期して行う。
【００３２】
比例要素６ｆ、積分要素６ｇ及び微分要素６ｈの出力は、加算器６ｉにおいて加算される。そして加算結果、即ちＣＲモータ４の駆動電流が、Ｄ／Ａコンバータ６ｊに送られてアナログ電流に変換される。このアナログ電圧に基づいて、ドライバ５によりＣＲモータ４が駆動される。
【００３３】
また、タイマ６ｋ及び加速制御部６ｍは、加速制御に用いられ、比例要素６ｆ、積分要素６ｇ及び微分要素６ｈを使用するＰＩＤ制御は、加速途中の定速及び減速制御に用いられる。
【００３４】
タイマ６ｋは、ＣＰＵ１６から送られてくるクロック信号に基づいて所定時間ごとにタイマ割込み信号を発生する。
【００３５】
加速制御部６ｍは、上記タイマ割込信号を受ける度ごとに所定の電流値（例えば２０ｍＡ）を目標電流値に積算し、積算結果、即ち加速時におけるＤＣモータ４の目標電流値が、Ｄ／Ａコンバータ６ｊに送られる。ＰＩＤ制御の場合と同様に、上記目標電流値はＤ／Ａコンバータ６ｊによってアナログ電流に変換され、このアナログ電流に基づいて、ドライバ５によりＣＲモータ４が駆動される。
【００３６】
ドライバ５は、例えば４個のトランジスタを備えており、Ｄ／Ａコンバータ６ｊの出力に基づいて上記トランジスタを各々ＯＮ又はＯＦＦさせることにより（ａ）ＣＲモータ４を正転又は逆転させる運転モード、（ｂ）回生ブレーキ運転モード（ショートブレーキ運転モード、即ち、ＣＲモータの停止を維持するモード）、（ｃ）ＣＲモータを停止させようとするモード、を行わせることが可能な構成となっている。
【００３７】
次に、図１６（ａ），（ｂ）を参照してＤＣユニット６の動作、即ち、従来のＤＣモータ制御方法について説明する。
【００３８】
ＣＲモータ４が停止しているときに、ＣＰＵ１６からＤＣユニット６へ、ＣＲモータ４を起動させる起動指令信号が送られると、加速制御部６ｍから起動初期電流値Ｉ0がＤ／Ａコンバータ６ｊに送られる。この起動初期電流値Ｉ0は、起動指令信号とともにＣＰＵ１６から加速制御部６ｍに送られてくる。そしてこの電流値Ｉ0は、Ｄ／Ａコンバータ６ｊによってアナログ電圧に変換されてドライバ５に送られ、ドライバ５によってＣＲモータ４が起動開始する（図１６（ａ），（ｂ）参照）。起動指令信号を受信した後、所定の時間ごとにタイマ６ｋからタイマ割込信号が発生される。加速制御部６ｍは、タイマ割込信号を受信する度ごとに、起動初期電流値Ｉ0に所定の電流値（例えば２０ｍＡ）を積算し、積算した電流値をＤ／Ａコンバータ６ｊに送る。すると、この積算した電流値は、Ｄ／Ａコンバータ６ｊによってアナログ電流に変換されてドライバ５に送られる。そして、ＣＲモータ４に供給される電流の値が上記積算した電流値となるように、ドライバ５によってＣＲモータが駆動されＣＲモータ４の速度は上昇する（図１６（ｂ）参照）。このためＣＲモータ４に供給される電流値は、図１６（ａ）に示すように階段状になる。尚、このときＰＩＤ制御系も動作しているが、Ｄ／Ａコンバータ６ｊは加速制御部６ｍの出力を選択して取込む。
【００３９】
加速制御部６ｍの電流値の積算処理は、積算した電流値が一定の電流値ＩSとなるまで行われる。時刻ｔ1において積算した電流値が所定値ＩS  となると、加速制御部６ｍは積算処理を停止し、Ｄ／Ａコンバータ６ｊに一定の電流値ＩSを供給する。これによりＣＲモータ４に供給される電流の値が電流値ＩSとなるようにドライバ５によって駆動される（図１６（ａ）参照）。
【００４０】
そして、ＣＲモータ４の速度がオーバーシュートするのを防止するために、ＣＲモータ４が所定の速度Ｖ1になると（時刻ｔ2参照）、ＣＲモータ４に供給される電流を減小させるように加速制御部６ｍが制御する。このときＣＲモータ４の速度は更に上昇するが、ＣＲモータ４の速度が所定の速度Ｖcに達すると（図１６（ｂ）の時刻ｔ3参照）、Ｄ／Ａコンバータ６ｊが、ＰＩＤ制御系の出力、即ち加算器６ｉの出力を選択し、ＰＩＤ制御が行われる。
【００４１】
即ち、目標位置と、エンコーダ１１の出力から得られる実際の位置との位置偏差に基づいて目標速度が演算され、この目標速度と、エンコーダ１１の出力から得られる実際の速度との速度偏差に基づいて、比例要素６ｆ、積分要素６ｇ及び微分要素６ｈが動作し、各々比例、積分、及び微分演算が行われ、これらの演算結果の和に基づいて、ＣＲモータ４の制御が行われる。尚、上記比例、積分及び微分演算は、例えばエンコーダ１１の出力パルスＥＮＣ−Ａの立ち上がりエッジに同期して行われる。これによりＤＣモータ４の速度は所望の速度Ｖeとなるように制御される。尚、所定の速度Ｖcは、所望の速度Ｖeの７０〜８０％の値であることが好ましい。
【００４２】
時刻ｔ4からＤＣモータ４は、所望の速度となるからキャリッジ３も所望の一定の速度Ｖeとなり、印字処理を行うことが可能となる。
【００４３】
印字処理が終了し、キャリッジ３が目標位置に近づくと（図１６（ｂ）の時刻ｔ5参照）、位置偏差が小さくなるから目標速度も小さくなり、このため速度偏差、即ち減算器６ｅの出力が負になり、ＤＣモータ４の減速が行われ、時刻ｔ6に停止する。
【００４４】
【発明が解決しようとする課題】
しかし、従来のモータ制御装置であるＤＣユニット６の速度演算部６ｄにおけるエンコーダパルスエッジ検出条件には、以下のような問題点があった。即ち、上記第１のパルスエッジ検出条件では、キャリッジ３の速度が低い場合にモータ速度検出の分解能が低すぎること、上記第２のパルスエッジ検出条件では、各パルスのデューティ比のばらつきや両パルス間の位相差のばらつきが発生することから、いずれのパルスエッジ検出条件によっても常に高精度なモータ速度検出を行うことができないという問題点があった。また、停止制御の際の低速度における位置決め精度が低いという問題点もあった。
【００４５】
本発明は上記問題点に鑑みてなされたもので、その目的は、モータ速度検出の分解能を大幅に向上させ、常に高精度なモータ速度検出を行うことが可能な構成のモータ制御装置及び制御方法を提供することである。
【００４７】
【課題を解決するための手段】
本発明に係るモータ制御装置によれば、周期がモータ速度に比例する第１のパルス信号、及び、周期が上記モータ速度に比例し、上記第１のパルス信号に対する位相差が約１／４周期である第２のパルス信号を発生する信号発生手段と、同一パルス信号の同一方向エッジごとにパルスエッジを区別して検出する第１の検出条件、一方のパルス信号の１周期毎のタイミングでパルスエッジを検出してパルス１周期分の時間計測を行う第２の検出条件、及び、一方のパルス信号の一のエッジから他方のパルス信号の直後の後続のエッジまでの時間をパルス１／４周期分の時間として時間計測を行う第３の検出条件を含む複数の検出条件を記憶し、上記モータ速度、上記第１若しくは第２のパルス信号の周期数、又は、上記モータの駆動量に応じて上記検出条件のいずれかを出力する検出条件記憶手段と、上記検出条件記憶手段から出力された上記検出条件が設定される検出条件設定手段と、上記検出条件設定手段に設定された上記検出条件に従い、上記第１及び第２のパルス信号の立ち上がりエッジ及び立ち下がりエッジの一部又は全部を検出するパルスエッジ検出手段と、上記パルスエッジ検出手段により検出されたパルスエッジ間の時間をそれぞれ計測する時間計測手段と、上記時間計測手段により計測された時間を用いて上記モータ速度への変換を順次行うことにより、上記モータ速度を検出する速度変換手段とを備えたことを特徴とし、この構成により、モータ速度検出の分解能を大幅に向上させて、常に高精度なモータ速度検出を行うことが可能になると共に、複数のエンコーダパルスエッジ検出条件を適当に組み合わせて用いると、より効率的で高精度なモータ速度検出を行うことが可能になる。
【００４９】
上記時間計測手段は、少なくとも４つのパルスエッジ間の時間をそれぞれ同時に並行して計測可能なものとするとよい。
【００５０】
上記時間計測手段は、上記パルスエッジ検出手段が同一パルス信号の同一方向エッジごとにパルスエッジを区別して検出する場合には、同一パルス信号の同一方向エッジごとのパルスエッジ間の時間をそれぞれ計測するものとするとよい。
【００５１】
上記検出条件記憶手段、上記検出条件設定手段は、ＰＲＯＭ、ＥＥＰＲＯＭ又はＡＳＩＣのいずれかにより構成されているものとするとよい。
【００５２】
上記速度変換手段は、上記パルスエッジ間に対応する距離を上記時間で除算することにより上記モータ速度への変換を行うものとするとよい。
【００５３】
上記モータの駆動対象の目標停止位置を示すパルスエッジである目標エッジより所定数前のパルスエッジから上記目標エッジまでの各パルスエッジごとに設定された比較対象値を記憶する比較対象値記憶手段と、上記所定数前のパルスエッジから上記目標エッジまでの各パルスエッジにおいて、上記比較対象値と上記モータ速度とを比較し、上記モータ速度が上記比較対象値以上の値である場合に、上記モータの停止を指令するモータ停止制御手段とをさらに備えたものとするとよい。
【００５４】
上記比較対象値記憶手段は、ＰＲＯＭ、ＥＥＰＲＯＭ又はＡＳＩＣのいずれかにより構成されているものであり、上記モータ停止制御手段は、ＣＰＵにより構成されているものとするとよい。
【００５５】
上記パルスエッジ検出手段、上記時間計測手段、上記速度変換手段は、ＣＰＵにより構成されているものとするとよい。
【００５６】
上記信号発生手段は、エンコーダにより構成されているものとするとよい。
【００６１】
本発明に係るモータ制御方法によれば、周期がモータ速度に比例する第１のパルス信号、及び、周期が上記モータ速度に比例し、上記第１のパルス信号に対する位相差が約１／４周期である第２のパルス信号を発生する第１の過程と、同一パルス信号の同一方向エッジごとにパルスエッジを区別して検出する第１の検出条件、一方のパルス信号の１周期毎のタイミングでパルスエッジを検出してパルス１周期分の時間計測を行う第２の検出条件、及び、一方のパルス信号の一のエッジから他方のパルス信号の直後の後続のエッジまでの時間をパルス１／４周期分の時間として時間計測を行う第３の検出条件を含む複数の検出条件の中から、上記モータ速度、上記第１若しくは第２のパルス信号の周期数、又は、上記モータの駆動量に応じて、いずれかを選択する第２の過程と、選択された上記検出条件に従い、上記第１及び第２のパルス信号の立ち上がりエッジ及び立ち下がりエッジの一部又は全部を検出する第３の過程と、検出されたパルスエッジ間の時間をそれぞれ計測する第４の過程と、計測された時間を用いて上記モータ速度への変換を順次行うことにより、上記モータ速度を検出する第５の過程とを備えたことを特徴とし、この構成により、モータ速度検出の分解能を大幅に向上させて、常に高精度なモータ速度検出を行うことが可能になると共に、複数のエンコーダパルスエッジ検出条件を適当に組み合わせて用いると、より効率的で高精度なモータ速度検出を行うことが可能になる。
【００６３】
上記第３の過程において同一パルス信号の同一方向エッジごとにパルスエッジを区別して検出する場合には、上記第４の過程は、同一パルス信号の同一方向エッジごとのパルスエッジ間の時間をそれぞれ計測するものとするとよい。
【００６４】
上記第５の過程は、上記パルスエッジ間に対応する距離を上記時間で除算することにより上記モータ速度への変換を行うものとするとよい。
【００６５】
上記モータの駆動対象の目標停止位置を示すパルスエッジである目標エッジより所定数前のパルスエッジから上記目標エッジまでの各パルスエッジにおいて、上記所定数前のパルスエッジから上記目標エッジまでの各パルスエッジごとに設定された比較対象値と上記モータ速度とを比較し、上記モータ速度が上記比較対象値以上の値である場合に、上記モータの停止を指令する第６の過程をさらに備えたものとするとよい。
【００６６】
上記パルス信号は、エンコーダにより発生させられるものとするとよい。
【００６７】
上記本発明に係るモータ制御装置及び制御方法において、上記エンコーダは、シリアルプリンタのキャリッジに固定されたリニア式エンコーダであるものとし、上記モータは、上記キャリッジを駆動するキャリッジモータであるものとするとよい。
【００６８】
又は、上記エンコーダは、シリアルプリンタの紙送りモータ用ロータリ式エンコーダであるものとし、上記モータは、上記シリアルプリンタの紙送りを行う紙送りモータであるものとするとよい。
【００６９】
本発明に係るコンピュータプログラムの記録媒体によれば、上記本発明に係るモータ制御方法のいずれかをコンピュータシステムにおいて実行するコンピュータプログラムが記録されたことを特徴とする。
【００７０】
【発明の実施の形態】
以下、本発明に係るモータ制御装置及び制御方法並びにそのモータ制御方法を実行するコンピュータプログラムを記録した記録媒体の実施の一形態について、図面を参照しながら説明する。
【００７１】
図１は、本発明に係るモータ制御装置であるＤＣユニット６の速度演算部６ｄの構成を示したブロック図であり、図２は、本発明に係るモータ制御装置であるＤＣユニット６の速度演算部６ｄにおけるエンコーダパルスエッジ検出条件を示したタイミングチャートである。尚、ＤＣユニット６全体の構成は、図１４に示したブロック図の構成と同様のものであり、インクジェットプリンタ全体の概略構成は、図９に示したブロック図の構成と同様のものである。
【００７２】
図１に示した本発明に係るモータ制御装置における速度演算部６ｄは、エンコーダ１１から入力されるエンコーダパルスＥＮＣ−Ａ，ＥＮＣ−Ｂのパルスエッジを、設定されたパルスエッジ検出条件に従って検出し出力するパルスエッジ検出部６ｄａと、パルスエッジ検出部６ｄａにおけるパルスエッジ検出条件が設定される検出条件設定部６ｄｂと、検出条件設定部６ｄｂに設定する１通り以上のパルスエッジ検出条件を記憶し、モータ速度に応じたパルスエッジ検出条件を検出条件設定部６ｄｂに出力して設定する検出条件記憶部６ｄｃと、設定されたパルスエッジ検出条件に従ってパルスエッジ検出部６ｄａにより順次検出され出力されるパルスエッジ間の時間を計測するタイマカウンタ６ｄｄと、設定されたパルスエッジ検出条件におけるパルスエッジ間に対応する距離とタイマカウンタ６ｄｄにより計測される時間とを用いた演算により、モータ速度への変換を行う速度変換部６ｄｅとから構成されている。
【００７３】
本発明に係るモータ制御装置及び制御方法の最大の特徴は、エンコーダ１１から入力される２つのエンコーダパルスＥＮＣ−Ａ及びＥＮＣ−Ｂの立ち上がりエッジ及び立ち下がりエッジを同一エンコーダパルス（同一チャネルのエンコーダパルス）の同一方向エッジごとに区別して検出し、かつ、同一エンコーダパルスの同一方向エッジごとにパルスエッジ間の時間の計測を行い、同一エンコーダパルスの同一方向エッジごとのパルスエッジ間に対応する距離とそれらのパルスエッジ間の時間とを用いてモータ速度への変換を行う点にある。即ち、図２（ａ）のタイミングチャートに示すように、エンコーダパルスＥＮＣ−Ａの一の立ち上がりエッジからエンコーダパルスＥＮＣ−Ａの直後の後続の立ち上がりエッジまでの時間Ｔ1，エンコーダパルスＥＮＣ−Ｂの一の立ち上がりエッジからエンコーダパルスＥＮＣ−Ｂの直後の後続の立ち上がりエッジまでの時間Ｔ2，エンコーダパルスＥＮＣ−Ａの一の立ち下がりエッジからエンコーダパルスＥＮＣ−Ａの直後の後続の立ち下がりエッジまでの時間Ｔ3，エンコーダパルスＥＮＣ−Ｂの一の立ち下がりエッジからエンコーダパルスＥＮＣ−Ｂの直後の後続の立ち下がりエッジまでの時間Ｔ4，以下同様のパルスエッジ間の時間を、時刻ｔ1，ｔ2，ｔ3，ｔ4，．．．のタイミングで順次計測し、同一エンコーダパルスの同一方向エッジごとのパルスエッジ間に対応する距離とそれらのパルスエッジ間の時間とを用いてモータ速度への変換を行うものである。
【００７４】
図２（ｂ）、図２（ｃ）に示したタイミングチャートは、図１５（ａ）、図１５（ｂ）に示した従来のＤＣユニット６の速度演算部６ｄにおけるエンコーダパルスエッジ検出条件を示したタイミングチャートと同様のものである。
【００７５】
本発明に係るモータ制御装置及び制御方法により図２（ａ）に示したエンコーダパルスエッジ検出条件でエンコーダパルスエッジを検出してエンコーダパルス１周期分の時間計測を行い、モータ速度への変換を行うと、図２（ｂ）、図２（ｃ）に示したエンコーダパルスエッジ検出条件でエンコーダパルスエッジを検出して時間計測を行い、モータ速度への変換を行う場合の問題点を解消することができる。
【００７６】
図２（ｂ）に示したエンコーダパルスエッジ検出条件の場合、一方のエンコーダパルスの１周期毎のタイミングでエンコーダパルスエッジを検出してエンコーダパルス１周期分の時間計測を行うので、特にモータ速度が低速の場合にはモータ速度検出の分解能が低すぎるという問題点があった。これに対し、図２（ａ）に示したエンコーダパルスエッジ検出条件の場合、総てのエンコーダパルスエッジを同一エンコーダパルスの同一方向エッジごとに区別して検出し、かつ、同一エンコーダパルスの同一方向エッジごとにエンコーダパルス１周期分の時間計測を行うので、モータ速度検出の頻度が４倍になり、モータ速度検出の分解能を大幅に向上させることができる。
【００７７】
また、図２（ｃ）に示したエンコーダパルスエッジ検出条件の場合、総てのエンコーダパルスエッジを検出して時間計測を行っているが、一方のエンコーダパルスの一のエッジから他方のエンコーダパルスの直後の後続のエッジまでの時間をエンコーダパルス１／４周期分の時間として時間計測を行っている。従って、各エンコーダパルスのデューティ比や両エンコーダパルスの位相差が変動すると、いずれかのエンコーダパルス１／４周期分の時間を正確に計測したことにはならず、常に高精度なモータ速度検出を行うことができないという問題点があった。これに対し、図２（ａ）に示したエンコーダパルスエッジ検出条件の場合、総てのエンコーダパルスエッジを同一エンコーダパルスの同一方向エッジごとに区別して検出し、かつ、同一エンコーダパルスの同一方向エッジごとにパルスエッジを検出した側のエンコーダパルス１周期分の時間計測を行っている。このように計測されたエンコーダパルスの１周期の長さは、常にその時点のモータ速度に正確に比例しており、各エンコーダパルスのデューティ比や両エンコーダパルス間の位相差が変動しても影響を受けることがないので、エンコーダパルス１周期に対応する距離とエンコーダパルス１周期の時間とから、常に高精度なモータ速度検出を行うことが可能となる。
【００７８】
以上より、本発明に係るモータ制御装置及び制御方法により図２（ａ）に示したエンコーダパルスエッジ検出条件でエンコーダパルスエッジを検出してエンコーダパルス１周期分の時間計測を行い、モータ速度への変換を行うと、従来の問題点を解決して常に高精度なモータ速度検出を行うことが可能となる。
【００７９】
しかし、図２（ｂ）、図２（ｃ）に示したエンコーダパルスエッジ検出条件でエンコーダパルスエッジを検出して時間計測を行い、モータ速度への変換を行うことが、常に不都合というわけではない。
【００８０】
例えば、モータ速度が十分に高速である場合には、図２（ｂ）に示したエンコーダパルスエッジ検出条件でエンコーダパルスエッジを検出して時間計測を行い、モータ速度への変換を行っても、十分なモータ速度検出の分解能を得ることができる。また、ＣＰＵ等により構成される速度演算部６ｄの演算処理能力によっては、図２（ａ）に示したエンコーダパルスエッジ検出条件ではなく図２（ｂ）に示したエンコーダパルスエッジ検出条件の方が都合がよい場合もあり得る。また、多少の誤差があっても、速度情報が無いよりはよい。
【００８１】
従って、図２（ａ）、図２（ｂ）、図２（ｃ）に示したエンコーダパルスエッジ検出条件を適当に組み合わせて用いることにより、より効率的で高精度なモータ速度検出を行うことが可能となる。
【００８２】
そこで、図１に示した本発明に係るモータ制御装置であるＤＣユニット６の速度演算部６ｄは、図２（ａ）、図２（ｂ）、図２（ｃ）に示したエンコーダパルスエッジ検出条件を組み合わせて用いることを可能とした構成となっている。以下、その動作について説明する。
【００８３】
検出条件記憶部６ｄｃには、例えば、上述の図２に示した３通りのエンコーダパルスエッジ検出条件が記憶されており、所定条件に応じたエンコーダパルスエッジ検出条件が検出条件設定部６ｄｂ及び速度変換部６ｄｅに出力されるようになっている。エンコーダパルスエッジ検出条件を選択的に出力するための所定条件は、後述するようにここでは、エンコーダパルスから変換されたモータ速度の値、又は、エンコーダパルスの周期数としている。あるいは、モータの駆動量、即ち、モータの駆動対象の移動距離とすることもできる。
【００８４】
検出条件設定部６ｄｂには、上述のように、エンコーダパルスから変換されたモータ速度に応じたエンコーダパルスエッジ検出条件が検出条件記憶部６ｄｃから入力され、設定されるようになっている。例えば、モータが停止状態から動作を開始したときの最初の１周期又は数周期だけは図２（ｃ）に示したエンコーダパルスエッジ検出条件を設定し、その後、モータ速度が所定値未満のときは図２（ａ）に示したエンコーダパルスエッジ検出条件を設定し、モータ速度が所定値以上のときは図２（ｂ）に示したエンコーダパルスエッジ検出条件を設定するようにする。
【００８５】
パルスエッジ検出部６ｄａは、エンコーダ１１から入力されるエンコーダパルスＥＮＣ−Ａ，ＥＮＣ−Ｂのパルスエッジを、設定されたパルスエッジ検出条件に従って検出し、検出したパルスエッジをタイマカウンタ６ｄｄに対し順次出力する。ここで、図２（ｃ）に示したエンコーダパルスエッジ検出条件が設定されている場合には、パルスエッジ検出部６ｄａはパルスエッジを特に区別することなく同一種類のものとして順次出力するが、図２（ａ）に示したエンコーダパルスエッジ検出条件が設定されている場合には、パルスエッジ検出部６ｄａはエンコーダパルスＥＮＣ−Ａの立ち上がりエッジ、立ち下がりエッジ、エンコーダパルスＥＮＣ−Ｂの立ち上がりエッジ、立ち下がりエッジをそれぞれ識別できるようにして出力する。また、図２（ｂ）に示したエンコーダパルスエッジ検出条件が設定されている場合には、パルスエッジ検出部６ｄａはエンコーダパルスＥＮＣ−Ａの立ち上がりエッジのみを他のパルスエッジと識別できるようにして出力する。
【００８６】
タイマカウンタ６ｄｄは、パルスエッジ検出部６ｄａから出力されたパルスエッジ間の時間を計測する。但し、パルスエッジ検出部６ｄａから出力されるパルスエッジが複数種類の識別可能なものである場合には、パルスエッジの種類ごとにエッジ間の時間を計測する。即ち、同一方向のパルスエッジ間の時間をそれぞれ計測する。従って、図２（ａ）に示したエンコーダパルスエッジ検出条件が設定されている場合に、同一エンコーダパルスの同一方向エッジごとにパルスエッジ間の時間の計測をそれぞれ行うことができるように、タイマカウンタ６ｄｄは、少なくとも４つのパルスエッジ間の時間をそれぞれ同時に並行して計測可能なものとなっている。
【００８７】
タイマカウンタ６ｄｄは、計測したパルスエッジ間の時間を順次出力する。但し、パルスエッジの種類ごとにエッジ間の時間を計測した場合であっても、出力する際にはそれらを識別可能なものとして出力する必要はなく、特に区別することなく順次出力するだけで足りる。
【００８８】
速度変換部６ｄｅは、設定されたパルスエッジ検出条件におけるパルスエッジ間に対応する距離とタイマカウンタ６ｄｄにより計測される時間とを用いた演算により、モータ速度への変換を行う。
【００８９】
図２（ａ）、図２（ｂ）に示すパルスエッジ検出条件が設定されている場合には、タイマカウンタ６ｄｄにより計測されたパルスエッジ間の時間、即ち、タイマカウンタ６ｄｄのカウント値をＴ（Ｔ＝Ｔ1，Ｔ2，．．．）、エンコーダ１１の符号板１２のスリット間隔をλとすると、設定されたパルスエッジ検出条件におけるパルスエッジ間に対応する距離はλであるので、演算Ｖ＝λ／Ｔを順次行うことにより、モータ速度Ｖへの変換を行うことができる。
【００９０】
図２（ｃ）に示すパルスエッジ検出条件が設定されている場合には、設定されたパルスエッジ検出条件におけるパルスエッジ間に対応する距離はλ／４であるので、演算Ｖ＝λ／（４Ｔ）を順次行うことにより、モータ速度Ｖへの変換を行うことができる。
【００９１】
上述した速度演算部６ｄの具体的な一構成例として、例えば、パルスエッジ検出部６ｄａ、タイマカウンタ６ｄｄ、速度変換部６ｄｅはＣＰＵで構成し、検出条件設定部６ｄｂはＣＰＵ、ＲＡＭ又はＡＳＩＣで構成し、検出条件記憶部６ｄｃはＰＲＯＭ、ＥＥＰＲＯＭ又はＡＳＩＣで構成することができる。
【００９２】
図３は、図２（ａ）、図２（ｂ）に示すパルスエッジ検出条件の設定切換速度を示したグラフである。
【００９３】
図３のグラフに示すように、モータの目標速度の変動が比較的小さく、かつ、モータの目標速度が十分に高速である期間ＴXには、上述したように、図２（ｂ）に示すパルスエッジ検出条件でも、十分なモータ速度検出の分解能を得ることができ、速度演算部６ｄの演算処理能力に対する余裕を確保することができる。そこで、この期間ＴXは、図２（ｂ）に示すパルスエッジ検出条件を設定するとよい。
【００９４】
一方、モータの目標速度の変動が比較的大きく、かつ、モータの目標速度が比較的低速であり、各エンコーダパルスのデューティ比や両エンコーダパルス間の位相差が変動しやすい期間ＴYには、高精度なモータ速度検出を行うことが必要とされるので、図２（ａ）に示すパルスエッジ検出条件を設定するとよい。
【００９５】
他方、モータの目標速度の変動が比較的小さくても、モータの目標速度が低速である期間ＴY’には、高精度なモータ速度検出を行うことが必要とされるので、図２（ｂ）に示すパルスエッジ検出条件ではなく図２（ａ）に示すパルスエッジ検出条件を設定するとよい。
【００９６】
通常、モータの駆動対象の移動距離が長いほどモータの目標速度は高速になるので、移動距離と目標速度との関係が予め明らかになっているときは、移動距離に応じて期間ＴX及びＴYの制御を予め設定し、あるいは、期間ＴY’の制御を予め設定することができる。
【００９７】
また、上記パルスエッジ検出条件の設定切換は、パルスエッジ検出部６ｄａ、タイマカウンタ６ｄｄ、速度変換部６ｄｅ、検出条件設定部６ｄｂの一部又は全部を構成するＣＰＵの演算処理能力に応じて行うようにしてもよい。エンコーダパルスエッジの検出を行うパルスエッジ検出部６ｄａは、フィルタ効果を有するものとしてもよい。
【００９８】
次に、動作しているモータを減速させて停止させる際の制御について説明する。モータを停止させる制御は、目標停止位置を示すエンコーダパルスの目標エッジの手前でモータへの通電を切断することによりブレーキをかけてモータを停止させる。このとき、目標エッジからどの程度手前でブレーキをかけるかは、予め実験によりブレーキ特性を調べておき、その実験データに基づいて決定する。
【００９９】
図４は、ブレーキ時の速度（ｉｐｓ：inch per second）と行きすぎ量（エッジ）との関係の一例を表したグラフであり、図５は、ブレーキ時の速度測定期間、ブレーキタイミング及び行きすぎ量（エッジ）を示したタイミングチャートであり、図４，図５における期間ＴP、ＴQ、ＴRは相互に対応している。
【０１００】
図４のグラフは、図５のタイミングチャートの期間ＴKにおいて計測された速度と、パルスエッジＥＤＧKでブレーキをかけたときの行きすぎ量との関係を示したものである。図４のグラフに示されるように、ブレーキ直前期間ＴKの速度が０．２ｉｐｓ以上０．２５ｉｐｓ未満のときはちょうど目標区間ＴP内に停止しているが、速度が０．２５ｉｐｓ以上０．３ｉｐｓ未満のときは１エッジに相当する距離だけ行きすぎ、速度が０．３ｉｐｓ以上０．３５ｉｐｓ未満のときは２エッジに相当する距離だけ行きすぎることが分かる。即ち、図４及び図５に示すように、ブレーキ直前期間ＴKの速度が０．２ｉｐｓ以上０．２５ｉｐｓ未満のときは期間ＴPに対応する目標区間内に停止しているが、速度が０．２５ｉｐｓ以上０．３ｉｐｓ未満のときは１エッジに相当する距離だけ行きすぎて期間ＴQに対応する区間内に停止し、速度が０．３ｉｐｓ以上０．３５ｉｐｓ未満のときは２エッジに相当する距離だけ行きすぎて期間ＴRに対応する区間内に停止している。
【０１０１】
以上のブレーキ特性実験データに基づくモータ停止制御の一例について説明する。
【０１０２】
図６は、モータ停止制御の一例を示したタイミングチャートであり、期間ＴYが減速制御期間、期間ＴZが停止制御期間、パルスエッジＥＤＧ（ref-0）が目標エッジ、パルスエッジＥＤＧ（ref-0）から直後の後続のパルスエッジまでの期間に対応する区間が目標停止位置である。
【０１０３】
停止制御期間ＴZに入ると、モータへの通電を切断してブレーキをかけるか否かの判断がパルスエッジごとに行われる。パルスエッジＥＤＧ（ref-2）において速度が０．３ｉｐｓ以上であるときはこの時点でモータへの通電を切断するが、０．３ｉｐｓ未満であるときはモータへの通電を切断せずそのまま速度制御を継続する。パルスエッジＥＤＧ（ref-1）において速度が０．２５ｉｐｓ以上であるときはこの時点でモータへの通電を切断するが、０．２５ｉｐｓ未満であるときはモータへの通電を切断せずそのまま速度制御を継続する。パルスエッジＥＤＧ（ref-1）においてモータへの通電を切断しなかったときは目標エッジであるパルスエッジＥＤＧ（ref-0）においてモータへの通電を切断し、モータ停止制御を終了する。
【０１０４】
尚、この例では、期間ＴZに入る時点、即ち、パルスエッジＥＤＧ（ref-4）の時点でモータ速度が０．３５ｉｐｓ未満になるように期間ＴYにおける減速制御を行うこととしているが、パルスエッジＥＤＧ（ref-3）の時点でモータ速度が０．３５ｉｐｓ以上であるときはこの時点でモータへの通電を切断するように保護動作制御を行うようにしている。
【０１０５】
以上のようなモータ停止制御は、例えば、目標停止位置と、速度演算部６ｄの出力である検出速度Ｖと、停止制御期間ＴZの各パルスエッジにおける比較対象速度とをＣＰＵに入力し、その比較判断結果を示すＣＰＵの出力信号をＤ／Ａコンバータ６ｊに入力することにより行うことができる。停止制御期間ＴZの各パルスエッジにおける比較対象速度は、例えばＰＲＯＭ、ＥＥＰＲＯＭ又はＡＳＩＣに記憶保持しておくことができる。
【０１０６】
以上の説明におけるエンコーダは、キャリッジ３に固定されたリニア式エンコーダ１１として説明したが、ＰＦモータ１用のロータリ式エンコーダ１３としてもよい。従って、以上の説明におけるモータは、キャリッジ３を駆動するキャリッジモータ４、又は、紙送りを行う紙送りモータ１とすることができる。
【０１０７】
図７は、本発明に係るモータ制御方法を実行するコンピュータプログラムが記録された記録媒体及びその記録媒体が使用されるコンピュータシステムの外観構成を示した説明図、図８は、図７に示したコンピュータシステムの構成を示すブロック図である。
図７に示したコンピュータシステム７０は、ミニタワー型等の筐体に収納されたコンピュータ本体７１と、ＣＲＴ（Cathode Ray Tube:陰極線管）、プラズマディスプレイ、液晶表示装置等の表示装置７２と、記録出力装置としてのプリンタ７３と、入力装置としてのキーボード７４ａ及びマウス７４ｂと、フレキシブルディスクドライブ装置７６と、ＣＤ−ＲＯＭドライブ装置７７とから構成されている。図８は、このコンピュータシステム７０の構成をブロック図として表示したものであり、コンピュータ本体７１が収納された筐体内には、ＲＡＭ（Random Access Memory）等の内部メモリ７５と、ハードディスクドライブユニット７８等の外部メモリがさらに設けられている。本発明に係るモータ制御方法を実行するコンピュータプログラムが記録された記録媒体は、このコンピュータシステム７０で使用される。記録媒体としては、例えば、フレキシブルディスク８１，ＣＤ−ＲＯＭ（Read Only Memory）８２が用いられるが、その他、ＭＯ（Magneto Optical）ディスク、ＤＶＤ（Digital Versatile Disk）、その他の光学的記録ディスク、カードメモリ、磁気テープ等を用いてもよい。
【０１０９】
本発明に係るモータ制御装置によれば、周期がモータ速度に比例する第１のパルス信号、及び、周期が上記モータ速度に比例し、上記第１のパルス信号に対する位相差が約１／４周期である第２のパルス信号を発生する信号発生手段と、同一パルス信号の同一方向エッジごとにパルスエッジを区別して検出する第１の検出条件、一方のパルス信号の１周期毎のタイミングでパルスエッジを検出してパルス１周期分の時間計測を行う第２の検出条件、及び、一方のパルス信号の一のエッジから他方のパルス信号の直後の後続のエッジまでの時間をパルス１／４周期分の時間として時間計測を行う第３の検出条件を含む複数の検出条件を記憶し、上記モータ速度、上記第１若しくは第２のパルス信号の周期数、又は、上記モータの駆動量に応じて上記検出条件のいずれかを出力する検出条件記憶手段と、上記検出条件記憶手段から出力された上記検出条件が設定される検出条件設定手段と、上記検出条件設定手段に設定された上記検出条件に従い、上記第１及び第２のパルス信号の立ち上がりエッジ及び立ち下がりエッジの一部又は全部を検出するパルスエッジ検出手段と、上記パルスエッジ検出手段により検出されたパルスエッジ間の時間をそれぞれ計測する時間計測手段と、上記時間計測手段により計測された時間を用いて上記モータ速度への変換を順次行うことにより、上記モータ速度を検出する速度変換手段とを備えたので、モータ速度検出の分解能を大幅に向上させて、常に高精度なモータ速度検出を行うことが可能になると共に、複数のエンコーダパルスエッジ検出条件を適当に組み合わせて用いると、より効率的で高精度なモータ速度検出を行うことが可能になる。
【０１１１】
本発明に係るモータ制御方法によれば、周期がモータ速度に比例する第１のパルス信号、及び、周期が上記モータ速度に比例し、上記第１のパルス信号に対する位相差が約１／４周期である第２のパルス信号を発生する第１の過程と、同一パルス信号の同一方向エッジごとにパルスエッジを区別して検出する第１の検出条件、一方のパルス信号の１周期毎のタイミングでパルスエッジを検出してパルス１周期分の時間計測を行う第２の検出条件、及び、一方のパルス信号の一のエッジから他方のパルス信号の直後の後続のエッジまでの時間をパルス１／４周期分の時間として時間計測を行う第３の検出条件を含む複数の検出条件の中から、上記モータ速度、上記第１若しくは第２のパルス信号の周期数、又は、上記モータの駆動量に応じて、いずれかを選択する第２の過程と、選択された上記検出条件に従い、上記第１及び第２のパルス信号の立ち上がりエッジ及び立ち下がりエッジの一部又は全部を検出する第３の過程と、検出されたパルスエッジ間の時間をそれぞれ計測する第４の過程と、計測された時間を用いて上記モータ速度への変換を順次行うことにより、上記モータ速度を検出する第５の過程とを備えたので、モータ速度検出の分解能を大幅に向上させて、常に高精度なモータ速度検出を行うことが可能になると共に、複数のエンコーダパルスエッジ検出条件を適当に組み合わせて用いると、より効率的で高精度なモータ速度検出を行うことが可能になる。
【０１１２】
また、本発明に係るモータ制御装置及び制御方法によれば、低速度における正確な速度検出のみならず、正確な位置決め精度をも実現することができる。
【０１１３】
本発明に係るコンピュータプログラムの記録媒体によれば、上記本発明に係るモータ制御方法のいずれかをコンピュータシステムにおいて実行するコンピュータプログラムが記録されたものとしたので、モータ制御に使用することにより、上記本発明に係るモータ制御方法の効果を得ることができる。
【図面の簡単な説明】
【図１】本発明に係るモータ制御装置であるＤＣユニット６の速度演算部６ｄの構成を示したブロック図。
【図２】本発明に係るモータ制御装置であるＤＣユニット６の速度演算部６ｄにおけるエンコーダパルスエッジ検出条件を示したタイミングチャート。
【図３】図２（ａ）、（ｂ）に示すパルスエッジ検出条件の設定切換速度を示したグラフ。
【図４】ブレーキ時の速度と行きすぎ量との関係の一例を表したグラフ。
【図５】ブレーキ時の速度測定期間、ブレーキタイミング及び行きすぎ量を示したタイミングチャート。
【図６】モータ停止制御の一例を示したタイミングチャート。
【図７】本発明に係るモータ制御方法を実行するプログラムが記録された記録媒体及びその記録媒体が使用されるコンピュータシステムの外観構成を示した説明図。
【図８】図７に示したコンピュータシステムの構成を示すブロック図。
【図９】インクジェットプリンタの概略構成を示したブロック図。
【図１０】インクジェットプリンタのキャリッジ３周辺の構成を示した斜視図。
【図１１】キャリッジ３に取付けられたリニア式エンコーダ１１の構成を模式的に示した説明図。
【図１２】ＣＲモータ正転時及び逆転時におけるエンコーダ１１の２つの出力信号の波形を示したタイミングチャート。
【図１３】給紙及び紙検出に関連する部分を示した透視図。
【図１４】ＤＣモータ制御装置であるＤＣユニット６の構成を示したブロック図。
【図１５】従来のＤＣユニット６の速度演算部６ｄにおけるエンコーダパルスエッジ検出条件を示したタイミングチャート。
【図１６】ＤＣユニット６により制御されるＣＲモータ４のモータ電流及びモータ速度を示したグラフ。
【符号の説明】
１  紙送りモータ（ＰＦモータ）
２  紙送りドライバ
３  キャリッジ
４  キャリッジモータ（ＣＲモータ）
５  キャリッジモータドライバ（ＣＲモータドライバ）
６  ＤＣユニット
６ａ  位置演算部
６ｂ  減算器
６ｃ  目標速度演算手段
６ｄ  速度演算部
６ｄａ  パルスエッジ検出部
６ｄｂ  検出条件設定部
６ｄｃ  検出条件記憶部
６ｄｄ  タイマカウンタ
６ｄｅ  速度変換部
６ｅ  減算器
６ｆ  比例要素
６ｇ  積分要素
６ｈ  微分要素
６ｊ  Ｄ／Ａコンバータ
７  ポンプモータ
８  ポンプモータドライバ
９  記録ヘッド
１０  ヘッドドライバ
１１  リニア式エンコーダ
１２  符号板
１３  エンコーダ（ロータリ式エンコーダ）
１５  紙検出センサ
１６  ＣＰＵ
１７  タイマＩＣ
１８  ホストコンピュータ
１９  インタフェース部
２０  ＡＳＩＣ
２１  ＰＲＯＭ
２２  ＲＡＭ
２３  ＥＥＰＲＯＭ
２５  プラテン
３０  プーリ
３１  タイミングベルト
３２  キャリッジモータのガイド部材
３４  インクカートリッジ
３５  キャッピング装置
３６  ポンプユニット
３７  キャップ
５０  記録紙
【図１】
0003832174.tif 000002
【図２】
0003832174.tif 000003
【図３】
0003832174.tif 000004
【図４】
0003832174.tif 000005
【図５】
0003832174.tif 000006
【図６】
0003832174.tif 000007
【図７】
0003832174.tif 000008
【図８】
0003832174.tif 000009
【図９】
0003832174.tif 000010
【図１０】
0003832174.tif 000011
【図１１】
0003832174.tif 000012
【図１２】
0003832174.tif 000013
【図１３】
0003832174.tif 000014
【図１４】
0003832174.tif 000015
【図１５】
0003832174.tif 000016
【図１６】
0003832174.tif 000017