(57)【要約】【課題】ＤＣモータを制御するためのＰＩＤ計算が適切に行われる印刷装置を提供する【解決手段】第１のモータ（例えばキャリッジモータ）と第２のモータ（例えば紙送りモータ）とを有する印刷装置において、第１のモータ及び第２のモータそれぞれに対応するエンコーダからの検出パルスによって、現在位置と現在速度を検出し、現在位置に対応する目標速度と現在速度との偏差についてＰＩＤ計算して各モータの駆動信号を生成するモータ制御部を有し、前記ＰＩＤ計算が、前記エンコーダの検出パルスのエッジタイミングとは独立したＰＩＤ割り込みタイミングで行われる。複数のモータがエンコーダからの検出パルスによりＰＩＤ制御されるとき、そのＰＩＤ計算のタイミングを検出パルスのエッジタイミングとは独立した割り込みタイミングで行うので、それぞれのモータの速度制御を適切なＰＩＤ演算によって行うことができる。【選択図】図７
2004129400.tif 000002
【特許請求の範囲】
【請求項１】
第１のモータと第２のモータとを有する印刷装置において、
前記第１のモータ及び第２のモータそれぞれに対応するエンコーダからの検出パルスによって、現在位置と現在速度を検出し、前記現在位置に対応する目標速度と現在速度との偏差についてＰＩＤ計算して各モータの駆動信号を生成するモータ制御部を有し、
前記ＰＩＤ計算が、前記エンコーダの検出パルスのエッジタイミングとは独立したＰＩＤ割り込みタイミングで行われることを特徴とする印刷装置。
【請求項２】
請求項１において、
前記第１のモータは、印刷ヘッドを駆動するキャリッジモータであり、前記第２のモータは、印刷用紙を搬送する紙送りモータであることを特徴とする印刷装置。
【請求項３】
請求項１または２において、
前記モータ制御部は、前記ＰＩＤ割り込みタイミングの直前の検出パルスのエッジでの目標速度と現在速度の偏差について、前記ＰＩＤ計算を行うことを特徴とする印刷装置。
【請求項４】
請求項１または２において、
前回のＰＩＤ割り込みタイミングと今回のＰＩＤ割り込みタイミングとの間で、対応するエンコーダの検出パルスのエッジが発生している場合に、新たな微分成分の計算を行ってＰＩＤ制御を行い、対応するエンコーダの検出パルスのエッジが発生していない場合は、前回計算した微分成分を利用してＰＩＤ制御を行うことを特徴とする印刷装置。
【請求項５】
請求項１または２において、
今回のＰＩＤ割り込みタイミングの直前の２つの検出パルスエッジ間における割り込み回数に応じて、微分成分を抑制してＰＩＤ制御を行うことを特徴とする印刷装置。
【請求項６】
第１のモータと第２のモータの速度を制御するモータ制御装置において、
前記第１のモータ及び第２のモータそれぞれに対応するエンコーダからの検出パルスによって、現在位置と現在速度を検出し、前記現在位置に対応する目標速度と現在速度との偏差についてＰＩＤ計算して各モータの駆動信号を生成し、
更に、前記ＰＩＤ計算が、前記エンコーダの検出パルスのエッジタイミングとは独立したＰＩＤ割り込みタイミングで行われることを特徴とするモータ制御装置。
【請求項７】
請求項６において、
前記モータ制御部は、前記ＰＩＤ割り込みタイミングの直前の検出パルスのエッジでの目標速度と現在速度の偏差について、前記ＰＩＤ計算を行うことを特徴とするモータ制御装置。
【請求項８】
請求項６において、
前回のＰＩＤ割り込みタイミングと今回のＰＩＤ割り込みタイミングとの間で、対応するエンコーダの検出パルスのエッジが発生している場合に、新たな微分成分の計算を行ってＰＩＤ制御を行い、対応するエンコーダの検出パルスのエッジが発生していない場合は、前回計算した微分成分を利用してＰＩＤ制御を行うことを特徴とするモータ制御装置。
【請求項９】
請求項６において、
今回のＰＩＤ割り込みタイミングの直前の２つの検出パルスエッジ間における割り込み回数に応じて、微分成分を抑制してＰＩＤ制御を行うことを特徴とするモータ制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＤＣモータを備えた印刷装置に関し、特に、複数のＤＣモータに対するＰＩＤ制御を適切に行うことができる印刷装置及びＤＣモータの制御装置に関する。
【０００２】
【従来の技術】
ＤＣモータの駆動制御は、ＤＣモータに対応して設けられるエンコーダからの検出パルスによって、現在位置と現在速度を検出し、速度が現在位置の目標速度に一致するようにＰＩＤ計算された駆動信号により行われる。ＰＩＤ計算された駆動信号に応じて、対応するモータドライバがＤＣモータに駆動電流を供給する。
【０００３】
一般的なＤＣモータの駆動制御では、エンコーダの検出パルスのエッジのタイミングで、パルス周期の逆数により現在速度を求めて、ＰＩＤ計算される。このＰＩＤ計算は、検出パルスのエッジのタイミングで発生するＣＰＵ割り込みにより、プログラムを実行することで求められる。その場合、制御対象のＤＣモータの予測される最大速度があらかじめわかっているので、ＣＰＵ割り込みによって行われるＰＩＤ計算時間が、検出パルスの最短エッジ周期より短くなるように設計することができる。
【０００４】
一方、インクジェットプリンタなどの印刷装置は、印刷ヘッドであるキャリッジを駆動するキャリッジモータ（ＣＲモータ）や、紙送りを行う紙送りモータ（ＬＦモータ）など複数のモータを有し、それらのモータ速度を、あらかじめ設計した目標速度軌跡に一致するようにＰＩＤ制御する。このような印刷装置については、以下の特許文献１乃至５に示される。
【０００５】
【特許文献１】
特開２０００−２７８９８０号公報
【０００６】
【特許文献２】
特開２００１−７８４７６号公報
【０００７】
【特許文献３】
特開２００１−２２４１９３号公報
【０００８】
【特許文献４】
特開２００１−２３２８８２号公報
【０００９】
【特許文献５】
特開２００１−２５３１３２号公報
【００１０】
【発明が解決しようとする課題】
しかしながら、上記の印刷装置においては、複数のＤＣモータがそれぞれ独立して且つ同時期に速度制御されるので、それぞれのエンコーダの検出パルスのエッジ間の時間が、極端に短くなることがある。このエッジ間時間の予測は、複数のＤＣモータが同時駆動される場合ほとんど不可能である。従って、従来のようにエンコーダの検出パルスのエッジのタイミングで、ＣＰＵ割り込みをかけてＰＩＤ計算を行うようにすると、エッジ間時間が短くなるため、そのエッジ間の時間内でＰＩＤ計算が完了せず、次のＰＩＤ計算タイミングが遅れてしまう。そうなると、エンコーダ検出パルスのエッジのタイミングでのＰＩＤ計算では、適切な計算が行えないという課題がある。
【００１１】
そこで、本発明の目的は、ＤＣモータを制御するためのＰＩＤ計算が適切に行われる印刷装置を提供することにある。
【００１２】
更に、本発明の別の目的は、ＰＩＤ計算が適切に行われるＤＣモータの制御装置を提供することにある。
【００１３】
【課題を解決するための手段】
上記の目的を達成するために、本発明の一つの側面は、第１のモータ（例えばキャリッジモータ）と第２のモータ（例えば紙送りモータ）とを有する印刷装置において、第１のモータ及び第２のモータそれぞれに対応するエンコーダからの検出パルスによって、現在位置と現在速度を検出し、現在位置に対応する目標速度と現在速度との偏差についてＰＩＤ計算して各モータの駆動信号を生成するモータ制御部を有し、前記ＰＩＤ計算が、前記エンコーダの検出パルスのエッジタイミングとは独立したＰＩＤ割り込みタイミングで行われることを特徴とする。
【００１４】
上記の発明の側面によれば、複数のモータがエンコーダからの検出パルスによりＰＩＤ制御されるとき、そのＰＩＤ計算のタイミングを検出パルスのエッジタイミングとは独立した割り込みタイミングで行うので、モータの速度制御がいかなる組合せになっても、次の割り込みタイミングまで適切にＰＩＤ計算を完了することができる。
【００１５】
上記発明の側面の好ましい実施例では、割り込みタイミングの直前の検出パルスのエッジでの目標速度と現在速度の偏差について、ＰＩＤ計算を行う。つまり、割り込みタイミングが検出パルスのエッジタイミングと独立しているので、割り込みタイミングにおけるＰＩＤ計算では、直前のエッジでの目標速度と現在速度を利用する。
【００１６】
上記発明の側面の好ましい実施例では、前回の割り込みタイミングと今回の割り込みタイミングとの間で、対応するエンコーダの検出パルスのエッジが発生している場合に、新たな微分成分の計算を行ってＰＩＤ制御を行い、対応するエンコーダの検出パルスのエッジが発生していない場合は、前回計算した微分成分を利用してＰＩＤ制御を行うことを特徴とする。
【００１７】
更に、上記の実施例において、割り込みタイミングの直前の２つのエッジ間における割り込み回数に応じて、微分成分を抑制してＰＩＤ制御を行うことが好ましい。
【００１８】
本発明は、複数のモータを、それらに対応するエンコーダからの検出パルスによって、現在位置と現在速度を検出し、目標速度と現在速度との偏差についてＰＩＤ計算して各モータの駆動信号を生成するモータ制御装置にも適用することができる。
【００１９】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態例を説明する。しかしながら、かかる実施の形態例が、本発明の技術的範囲を限定するものではない。
【００２０】
本発明は、複数のモータを有する印刷装置以外にも、複数のモータをＰＩＤ制御する制御装置にも適用できるが、以下の実施の形態では、インクジェットを利用した印刷装置を例にして説明する。
【００２１】
図１は、本実施の形態におけるインクジェットプリンタの構成図である。インクジェットプリンタは、紙送りを行う紙送りモータ１と、それを駆動する紙送りモータドライバ２と、印刷ヘッド９が搭載されているキャリッジ３を駆動するキャリッジモータ４と、そのキャリッジモータドライバ５と、それらドライバ２，５に駆動信号を供給するＤＣユニット６とを有する。上記紙送りモータ１とキャリッジモータ４には、それぞれロータリーエンコーダ１３とリニア式エンコーダ１１とが設けられている。リニア式エンコーダ１１には、図示しない光源からの光を透過する等間隔のスリットが設けられた符号板１２が設けられる。更に、プリンタは、インクの目詰まりを防止するための吸い出しポンプ用モータ７とそのポンプモータドライバ８と、ヘッド９のインクノズルを駆動するヘッドドライバ１０と、印刷用紙の終端位置を検出する紙検出センサ１５とを有する。
【００２２】
キャリッジモータ４に取り付けられたプーリ３０により駆動されるタイミングベルト３１にヘッド３が取り付けられ、ヘッド３が水平方向に移動する時に、エンコーダ１１から検出パルスが生成され、ＤＣユニット６に供給される。同様に、紙送りモータ１により搬送ローラ２７が回転されて、印刷紙５０がプラテン２５上を搬送される。この紙送りモータ１が駆動される時も、エンコーダ１３が検出パルスを生成し、ＤＣユニット６に供給する。そして、ＤＣユニット６は、これらモータ１，４を制御する制御装置であり、ＣＰＵ１６からの制御指令とエンコーダ１１，１３からの検出パルスとに基づいて制御する。以上が、プリンタのエンジンと呼ばれる部分の構成である。
【００２３】
インクジェットプリンタは、更に、ホストコンピュータ１８から印刷データを受信するインターフェース１９と、受信した印刷データを二値化したり、ヘッド９のノズル位置に合わせて二値化データをインターレス処理したりする画像処理装置２０と、それら画像処理や印刷エンジンへの制御を行うＣＰＵ１６と、それに必要なプログラムメモリ２１、ダイナミックメモリ２２と、不揮発性メモリ２３と、タイマーＩＣ１７などを有する。
【００２４】
図２は、モータに対応して設けられるエンコーダからの検出パルスを示す図である。エンコーダは、光源と、一定の間隔で並べられたスリットや透過孔を有する符号板と、透過した光を受光して９０°位相が異なる検出パルスＥＮＣ−Ａ，ＥＮＣ−Ｂを出力する信号処理部とを有する。位相が異なる２つの検出パルスは、モータが一方の方向に回転する時は、一方の検出パルスの位相が進んだ状態になり、モータが反対方向に回転する時は、他方の検出パルスの位相が進んだ状態になる。
【００２５】
ＤＣユニット６は、後述するとおり、この検出パルスをエンコーダから受信し、パルスの立ち上がりエッジ及び立ち下がりエッジをカウントすることで、現在位置を検出することができ、パルス周期Ｔ１〜Ｔ６を検出することにより、現在速度を検出することができる。そして、従来のＤＣユニットでは、検出パルスのエッジタイミングｔａ１，ｔｂ１〜ｔａ３，ｔｂ３で、それぞれの現在位置と現在速度を求めて、後述するＰＩＤ計算をし、両モータの駆動信号を生成する。
【００２６】
図３は、モータの速度制御を示す図であり、図４は、モータの速度制御におけるモータ電流とモータ速度に波形図である。図３の例は、キャリッジモータの速度制御を例にして示しているが、紙送りモータの速度制御も同様である。
【００２７】
図３には、ＤＣユニット６に設けられた速度制御部８０が示される。この速度制御部８０は、エンコーダ１１からの検出パルスをカウントして現在位置を検出する位置カウンタ８０ａと、ＣＰＵ１６から与えられる目標位置と位置カウンタ８０ａの現在位置との偏差を求める減算器８０ｂと、位置偏差からあらかじめ作成された制御テーブルを参照して目標速度を出力する目標速度演算部８０ｃと、エンコーダ１１からの検出パルスの周期から現在速度を求める速度演算部８０ｄと、目標速度と現在速度との偏差を求める減算器８０ｅと、速度偏差に比例して制御出力を求める比例成分演算部８０ｆと、速度偏差を積分した値に比例した制御出力を求める積分成分演算部８０ｇと、速度偏差を微分した値に比例した制御出力を求める微分成分演算部８０ｈと、それらの出力を加算する加算器８０ｉとを有する。
【００２８】
比例成分は、現在の目標速度と実速度との偏差に比例する成分であり、リアルタイムの速度制御を可能にする。また、比例成分だけでは、オフセットが発生するので、過去の積分値に依存する積分成分によってそのオフセットが除去される。更に、微分成分は、速度偏差の微分値、つまり、１つ前の制御タイミングでの速度偏差と現在の速度偏差との差に係数をかけた制御値であり、よりなめらかな速度制御に必要である。これらのＰＩＤ制御成分の演算は、それぞれマイクロコンピュータによる演算プログラムを実行することにより行われる。これらのＰＩＤ制御成分は、加算器８０ｉで加算されて、Ｄ／Ａコンバータ８０ｊでアナログ制御信号に変換され、モータドライバ５に供給される。ドライバ５は、このアナログ制御信号に基づいて、キャリッジモータ４の駆動電流を供給する。
【００２９】
速度制御部８０は、更に、加速制御のために、クロック同期で動作するタイマ８０ｋと加速制御部８０ｍとを有する。加速制御部８０ｍは、モータの加速制御する期間で、タイマ８０ｋからのタイマ割り込み信号に応答して、所定の付加電流を目標電流値に加算して、Ｄ／Ａコンバータ８０ｊに出力する。そこで、コンバートされたアナログ信号が、ドライバ５に供給され、同様にキャリッジモータ４の駆動電流が制御される。
【００３０】
次に、図４を参照して、速度制御部８０の制御動作を説明する。キャリッジモータ４が停止状態の時に、時刻ｔ０でＣＰＵ１６から起動指令信号が供給されると、加速制御部８０ｍから初期電流値Ｉ０が、Ｄ／Ａコンバータ８０ｊに出力される。この初期電流値Ｉ０はＣＰＵ１６から供給される。これにより、キャリッジモータ４は、初期電流値Ｉ０で駆動され、モータ速度が上昇し、加速制御が始まる。起動指令後、所定の時間毎にタイマ８０ｋが出力するタイマ割り込み信号に応答して、加速制御部８０ｍは、起動初期電流値Ｉ０に所定の加算電流値を加算して、新たな駆動電流値としてＤ／Ａコンバータ８０ｊに出力する。これにより、図４に示されるとおり、モータ電流がタイマー割り込みのたびに上昇する。つまり、モータ電流は階段状に上昇する。この加速制御中、ＰＩＤ制御成分は利用されない。
【００３１】
加速制御部８０ｍの駆動電流の加算処理は、加算電流値が所定の電流値Ｉｓになるまで行われ、時刻ｔ１にて電流値Ｉｓになるとその加算処理が停止し、一定の電流値ＩｓがＤ／Ａコンバータに供給される。これに伴って、モータ速度は上昇する。
【００３２】
キャリッジモータ４の速度がオーバーシュートするのを防止するために、モータ速度がＶ１に達した時刻ｔ２にて、加速制御部８０ｍは、モータ電流を減少させるように制御する。しかし、モータ速度は更に上昇するが、速度Ｖｃに達する時刻ｔ３で、Ｄ／Ａコンバータ８０ｊが加速制御部８０ｍの出力から、ＰＩＤ制御出力に切り換えて、速度のＰＩＤ制御が始まる。ＰＩＤ制御により、モータ速度はオーバシュートすることなく、時刻ｔ４以降は、目標速度Ｖｅに維持される。この速度Ｖｅの期間において、印刷動作が行われる。そして、目標位置に接近したことに伴い、時刻ｔ５でモータ電流がマイナスに制御されて、モータ速度は減衰し、時刻ｔ６にて目標位置に到達すると同時にモータ速度がゼロになって、キャリッジモータは停止する。
【００３３】
ＰＩＤ制御のためのＰＩＤ成分の演算処理は、従来においては、図２に示したエンコーダからの検出パルスの両エッジのタイミングで行われる。従って、モータ速度が速くなるとＰＩＤ演算処理の周期が短くなり、モータ速度が遅くなるとＰＩＤ演算処理の周期は長くなる。しかし、検出パルスのエッジのタイミングで演算処理がされるので、現在位置及び現在速度は正確に検出可能である。
【００３４】
図５は、キャリッジモータと紙送りモータの同時駆動を示す図である。（１）（２）は、両モータの速度（縦軸）と時間（横軸）の関係が示される。（３）は、両モータが同時駆動している期間を示す。印刷制御では、紙送りモータにより用紙が所定の位置まで搬送され、一旦停止してからキャリッジモータによりヘッドを移動させながらインクノズルからインクを飛ばして所望の画像を印刷する。そして、ヘッドが１回水平方向に移動すると、そのパスでの印刷を終了し、紙送りモータにより用紙が再度搬送される。上記の動作が繰り返されることにより、印刷制御が行われる。
【００３５】
その場合、図５に示されるとおり、紙送りモータが速度ＬＦｖ１で駆動している途中の時刻ｔ１からキャリッジモータの駆動が開始され、紙送りモータが停止する時刻ｔ２から即座に印刷が開始される。また、キャリッジモータが速度ＣＲｖ１での駆動中の印刷が終了すると、即座に紙送りモータの駆動が開始される。そして、紙送りモータの速度ＬＦｖ２での駆動中の時刻ｔ５からキャリッジモータの駆動が開始され、紙送りモータの駆動が終了する時刻ｔ６から即座に印刷ができるように制御される。
【００３６】
これらの一連のモータ制御では、印刷スループットを最大限に上げるために、両モータが同時駆動される期間ｔ１−ｔ２、ｔ３−ｔ４、ｔ５−ｔ６、ｔ７−ｔ８、ｔ９−ｔ１０が存在する。しかも、これらの同時駆動期間での両モータの速度は、印刷対象画像によって無限の可能性があり、それらの組合せをあらかじめ予測することは困難である。
【００３７】
図６は、キャリッジモータと紙送りモータとの同時駆動の問題点を示す図である。図６には、キャリッジモータのエンコーダからの検出パルスＣＲＥＮＣ−Ａ、ＣＲＥＮＣ−Ｂと、紙送りモータのエンコーダ検出パルスＬＦＥＮＣ−Ａ、ＬＦＥＮＣ−Ｂとが示される。図６の例では、キャリッジモータの速度のほうが、紙送りモータの速度よりも遅い例である。両モータのＰＩＤ制御のためのＰＩＤ演算処理を、エンコーダ検出パルスのエッジタイミングで行うと、両モータが同時に駆動している時は、両検出パルスのエッジタイミングは非同期となり、図中時刻ｔ１，ｔ２，ｔ３，ｔ４のように、ＰＩＤ演算処理タイミングであるエッジタイミングの間隔が非常に狭くなる場合がある。それぞれのタイミングでＰＩＤ演算処理がＣＰＵへの割り込み処理により行われると、ＰＩＤ演算処理が次のエッジタイミングまでに完了することができなくなり、次のタイミングエッジでのＰＩＤ演算処理の開始が遅れることになる。その結果、適切なＰＩＤ演算結果に基づくＰＩＤ制御を行うことができない。
【００３８】
図７は、本実施の形態におけるＰＩＤ制御のタイミングチャートを示す図である。この例も、図６と同様にキャリッジモータの速度のほうが、紙送りモータの速度よりも遅い例である。本実施の形態では、エンコーダの検出パルスは、エッジをカウントして現在位置を検出し、エッジ間の周期を計測して現在速度を検出することに利用し、ＰＩＤ制御のためのＰＩＤ演算処理のタイミングは、エンコーダ検出パルスのエッジタイミングではなく、それと非同期のＰＩＤ割込クロックのタイミングにする。このＰＩＤ割込クロックは、キャリッジモータ用と紙送りモータ用とにそれぞれ設けられ、それぞれのＰＩＤ割込クロックの周期Ｔｐ１，Ｔｐ２は、非同期である。
【００３９】
このように、ＰＩＤ演算処理のタイミングを、エンコーダ検出パルスのエッジタイミングとは非同期の周期Ｔｐを有するＰＩＤ割込クロックのタイミングにし、ＰＩＤ演算で使用する現在位置と現在速度とを、そのタイミングの直前のものを使うことにより、複数のモータが同時にそれぞれ独立した速度制御で駆動されても、それらモータに対するＰＩＤ演算処理を適切な形で行うことができる。
【００４０】
本実施の形態のＰＩＤ制御では、第１に、ＰＩＤ割込クロックのタイミングで、両モータのＰＩＤ演算処理を行う。その場合、キャリッジモータのＰＩＤ演算は、キャリッジモータ用のＰＩＤ割込クロックのタイミングで行い、紙送りモータ用のＰＩＤ演算は、紙送りモータ用のＰＩＤ割込クロックのタイミングで行う。第２に、検出パルスのエッジタイミングとＰＩＤ割込クロックのタイミングとが非同期であるので、現在位置と現在速度とは、ＰＩＤ割込タイミングの直前の検出パルスエッジでの現在位置と現在速度とを利用する。また、現在の平均速度は、直前の検出パルスエッジでの周期とそれより１つ前の検出パルスエッジでの周期とを少なくとも利用して求める。
【００４１】
図７の例では、時刻ｔ２の割込タイミングでは、キャリッジモータについては、直前の検出パルスのエッジでの周期Ｔａ１と、それより１つ前の検出パルスエッジでの周期Ｔｂ１とが、現在の平均速度の計算に利用される。つまり、両周期Ｔａ１、Ｔｂ１の逆数の和を２で除した値が平均速度になる。同様に時刻ｔ３では、周期Ｔｂ２とＴａ２とが現在の平均速度の計算に利用される。更に、時刻ｔ４では、直前のエッジの周期Ｔａ３とその１つ前のエッジの周期Ｔｂ３とが平均速度の計算に用いられる。このように、ＰＩＤ割込クロックがエンコーダパルスエッジと非同期であるので、全てのエッジでの周期が速度計算に用いられるとは限らない。紙送りモータの場合もキャリッジモータと同様である。
【００４２】
第３に、モータ速度が低速領域では、検出パルスのエッジの間に複数回のＰＩＤ割込クロックが発生する場合がある。その場合は、前回のＰＩＤ割込クロックから今回のＰＩＤ割込クロックまでの間に検出パルスエッジが発生していない場合は、ＰＩＤ演算処理のうち、微分成分の計算は行わずに、前回ＰＩＤ割込クロックタイミングで求めた微分成分値をそのまま使用する。
【００４３】
第４に、モータ速度が極めて遅くなった時は、上記のとおり検出パルスのエッジ間に複数回のＰＩＤ割込クロックが発生する。その場合、前回のＰＩＤ演算時の速度偏差と今回のＰＩＤ演算時の速度偏差の差は、隣接するＰＩＤ演算時の差ではなく、複数回のＰＩＤ割込タイミングを挟んだ速度偏差の差になる。そこで、エッジ間のＰＩＤ割込クロックの回数に応じて、微分成分を抑制するように微分成分の演算を行う。
【００４４】
図８は、本実施の形態におけるＰＩＤ演算処理での微分成分の演算処理を示すフローチャート図である。また、図９は、モータ速度が低速時のタイミングチャート図であり、図１０は、モータ速度が高速時のタイミングチャート図である。図９，図１０には、単一のモータに対する２相のエンコーダ検出パルスとＰＩＤ割込クロックとのタイミング関係が示される。
【００４５】
ＰＩＤ割込クロックが発生すると、ＤＣユニット１６内の速度制御部８０でＰＩＤ演算処理が行われる。このＰＩＤ演算処理は、図示しないＣＰＵ割込処理によりプログラムを実行することにより行われる。ＰＩＤ演算のうち、微分成分の演算処理では、前回の割込からエンコーダの検出パルスに変化があったか否か、つまり、検出パルスのエッジが発生したかいなかがチェックされる（Ｓ１）。例えば、図９の低速時では、時刻ｔ２の割込タイミングでは前回の割込タイミングｔ１後にエンコーダ検出パルスＬＦＥＮＣ−Ａの立ち上がりエッジが発生しているのに対して、時刻ｔ３の割込タイミングでは前回割込タイミングｔ２後にエンコーダ検出パルスのエッジは発生していない。また、図１０の高速時では、全ての割込タイミングにおいて、直前に検出パルスのエッジが発生している。
【００４６】
前回割込から今回割込までの間にエンコーダの検出パルスに変化があれば、新たな微分成分の演算が行われ、変化がなければ、前回の微分成分値が出力Ｄｏｕｔとなる（Ｓ９）。検出パルスに変化がない場合は、演算結果に変更はないからである。従って、図９の低速時において、時刻ｔ３、時刻ｔ５、時刻ｔ７、時刻ｔ１０の割込タイミングでは、検出パルスのエッジが発生していないので、前回の割込タイミングで求められた微分成分Ｄｏｕｔがそのまま利用される。
【００４７】
次に、直前の２つのエンコーダ検出パルスのエッジ間の割込回数に１加えた回数が、割込回数値として求められる（Ｓ３）。図１０の高速時には、ＰＩＤ割込タイミングｔ１〜ｔ５の直前の２つのパルスエッジ間には割込クロックは発生していないので、エッジ間の割込回数はゼロである。従って、その場合は、工程Ｓ３で求められる割込回数値は１となる。一方、図９の低速時には、時刻ｔ４の割込タイミングでは、直前の２つのエッジ間に時刻ｔ２，ｔ３と２回の割込が発生している。従って、この場合は、工程Ｓ３での割込回数値は２＋１＝３回となる。時刻ｔ６、ｔ８では、割込回数値は３回、時刻ｔ１１では、割込回数値は４回になる。この割込回数値は、モータ速度がより低速になるとそれに応じて増加する係数である。
【００４８】
そして、工程Ｓ５に示される数式によって、微分成分値が求められる。この演算式によれば、今回割込時での目標周期ＲｅｆＰＲＩＯＤと現在の平均速度ＡｖｅＰＲＩＯＤのそれぞれの逆数の差（１／ＲｅｆＰＲＩＯＤ−１／ＡｖｅＰＲＩＯＤ）が、割込時の速度偏差として求められ、前回割込時の目標周期ｔｍｐＲｅｆＰＲＩＯＤと平均速度ｔｍｐＡｖｅＰＲＩＯＤのそれぞれの逆数の差（１／ｔｍｐＲｅｆＰＲＩＯＤ−１／ｔｍｐＡｖｅＰＲＩＯＤ）が、前回割込時の速度偏差として求められ、両偏差の差分に係数Ｋｄを乗算し、更にそれを工程Ｓ３で求めた割込回数で除した値が、微分成分値Ｄｏｕｔとして求められる。係数Ｋｄには、エンコーダが符号板のスリット距離が含められている。
【００４９】
目標周期ＲｅｆＰＲＩＯＤの逆数１／ＲｅｆＰＲＩＯＤは、割込タイミングの直前の検出パルスエッジで目標速度演算部８０ｃにて求められ、平均周期ＡｖｅＰＲＩＯＤの逆数１／ＡｖｅＰＲＩＯＤは、割込タイミングの直前の２つの検出パルスエッジでの周期の平均値として、速度演算部８０ｄにて求められる。これらの演算は、検出パルスエッジのタイミングで行うことができる。
【００５０】
今回のＰＩＤ演算処理での速度偏差と、前回ＰＩＤ演算処理での速度偏差との差分に一定の係数Ｋｐを乗算し、更に、割込回数値で除すところが本実施の形態の第４の特徴点である。つまり、検出パルスと非同期のＰＩＤ割込タイミングを利用したことに伴い、低速駆動時に検出パルスエッジ毎にＰＩＤ演算処理できないので、上記割込回数値を利用して、微分成分Ｄｏｕｔの値を、割込回数値に応じて抑制するようにして、速度制御のなめらかさを維持できるようにする。
【００５１】
図１０の高速制御時は、この割込回数値は殆ど１であり、従来の微分成分計算と同じになるが、図９の低速制御時では、速度に応じてこの割込回数値が増加し、その分だけ微分成分値が抑制される。割込回数値が増加すると、ＰＩＤ制御の微分成分が複数回にわたって同じ値に制御される。しかし、複数の割込タイミングを経ることで、速度偏差の微分値は減少することが予想される。従って、直前のエッジ間の割込回数が増加すると、ＰＩＤ制御の微分成分を小さくするようにすることで、より適切な速度制御を提供することができる。
【００５２】
そして、工程Ｓ７では、今回の割込処理で求めた目標周期ＲｅｆＰＲＩＯＤと平均速度ＡｖｅＰＲＩＯＤとが、次回の割込処理のための前回目標周期ｔｍｐＲｅｆＰＲＩＯＤと前回平均速度ｔｍｐＡｖｅＰＲＩＯＤとに置き換えられる。
【００５３】
微分成分の演算以外の、比例成分の演算や積分成分の演算でも、ＰＩＤ割込タイミングの直前の検出パルスエッジでの速度偏差を利用する。それ以外の点は、従来の比例成分及び積分成分の演算と同じである。比例成分については、図９の時刻ｔ２，ｔ３では検出パルスエッジの発生がないので、同じ演算結果になる。また、積分成分については、図９の時刻ｔ２とｔ３とでは、累積されることにより異なる値になる。
【００５４】
以上の実施の形態例では、インクジェットプリンタのキャリッジモータと紙送りモータとを例にして、複数のＤＣモータのＰＩＤ速度制御方法を説明した。しかし、本実施の形態のモータのＰＩＤ速度制御は、それ以外の複数のＤＣモータ若しくはそれ以外の複数のモータを制御する場合にも適用することができる。その場合も、複数のモータに対応するエンコーダの検出パルスエッジとは非同期のＰＩＤ割込タイミングでＰＩＤ演算処理が行われる。
【００５５】
以上、本発明の保護範囲は、上記の実施の形態例に限定されるものではなく、特許請求の範囲に記載された発明とその均等物にまで及ぶものである。
【図面の簡単な説明】
【図１】本実施の形態におけるインクジェットプリンタの構成図である。
【図２】モータに対応して設けられるエンコーダからの検出パルスを示す図である。
【図３】モータの速度制御を示す図である。
【図４】モータの速度制御におけるモータ電流とモータ速度に波形図である。
【図５】キャリッジモータと紙送りモータの同時駆動を示す図である。
【図６】キャリッジモータと紙送りモータとの同時駆動の問題点を示す図である。
【図７】本実施の形態におけるＰＩＤ制御のタイミングチャートを示す図である。
【図８】本実施の形態におけるＰＩＤ演算処理での微分成分の演算処理を示すフローチャート図である。
【図９】モータ速度が低速時のタイミングチャート図である。
【図１０】モータ速度が高速時のタイミングチャート図である。
【符号の説明】
１　紙送りモータ、４　キャリッジモータ、１１　エンコーダ、１３　エンコーダ、６　　ＤＣユニット（モータ制御装置）
【図１】
2004129400.tif 000003
【図２】
2004129400.tif 000004
【図３】
2004129400.tif 000005
【図４】
2004129400.tif 000006
【図５】
2004129400.tif 000007
【図６】
2004129400.tif 000008
【図７】
2004129400.tif 000009
【図８】
2004129400.tif 000010
【図９】
2004129400.tif 000011
【図１０】
2004129400.tif 000012