(57)【特許請求の範囲】
【請求項１】
駆動源を用いて紙を送る紙送り手段と、
前記紙送り手段の動作量を検出する検出手段と、
前記動作量が、外部から指示された動作量と一致するよう該駆動源の制御量を演算するとともに、演算ビット長が一定で、整数部を上位ビットＪ桁で表し、小数部を下位ビットＫ桁で表す固定小数点形式のデータを用い前記駆動源の制御量を演算する演算手段と、
前記演算手段の演算結果の制御量に基づき駆動源を制御する制御手段と、
前記外部から指示された動作量の最大である最大動作量Ｌを２以上の任意の範囲に分割した分割範囲に対応して、前記整数部または前記小数部のビット桁数を表す情報があらかじめ記憶された記憶手段と、
前記動作量が指示されると、該動作量に応じて、前記ビット桁数ＪおよびＫを、該動作量が小さいほど前記小数部のビット桁数Ｋが多くなるように設定する設定手段とを備え、
前記演算手段は、
前記検出手段の検出結果と、前記駆動源を制御する制御量とに基づいて、制御対象の動作状態を推定する推定手段、及び
前記指示された動作量と、前記検出手段の検出結果とから、この偏差を演算する偏差演算手段を有し、
前記演算手段は、前記偏差演算手段により演算された偏差量と、前記推定手段により推定された状態量とに基づいて、前記駆動源の制御量を演算し、
前記設定手段は、前記指示された動作量が当てはまる前記分割範囲に対応する情報を前記記憶手段から読み出し、該読み出した情報により前記ビット桁数ＪおよびＫを設定し、
さらに、前記分割範囲を、前記最大動作量Ｌを２のａ乗（ａは１からｍ−１までの整数で、ｍは前記演算ビットの総ビット数）で割った値を分割点として分割した範囲としたことを特徴とする紙送り装置。
【請求項２】
前記紙送り手段は、前記駆動源として、モータを用い、
前記検出手段は、ロータリエンコーダで構成され、前記紙送り手段のモータによって生ずる回転量を検出する、
ことを特徴とする請求項１に記載の紙送り装置。
【請求項３】
前記紙送り手段は、
前記駆動源としてのモータ、
紙に接し、回転動作により紙を送る紙送りローラ、及び
前記モータの駆動力を前記紙送りローラに伝える減速機構からなり、
前記検出手段は、紙送りローラの回転量を検出することを特徴とする請求項１又は２に記載の紙送り装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、プリンタ、ファクシミリ装置等の画像形成装置において、画像の記録媒体である用紙を搬送するのに用いられる紙送り装置に関する。
【０００２】
【従来の技術】
従来より、この種の紙送り装置は、用紙を挟んで送るためのローラと、このローラを回転駆動するためのモータ等の駆動源とを備え、外部からの指令に従いローラの回転量を制御することにより、用紙の搬送量を制御するようにされている。つまり、従来の紙送り装置では、外部から指示された動作量（換言すれば紙送り量）に基づき駆動源の制御量を演算し、この制御量に従い駆動源を駆動することにより、ローラを所定量回転させるようにしている。
【０００３】
そして、この種の紙送り装置において制御量の演算のために使用される演算装置は、逐次変わる紙送り装置の動作状態を制御するための演算をする必要があるため、高速な演算性能が要求される。またこの演算装置は、演算の内容が紙送り動作に関する演算に限定され汎用的な計算を必要とはしない。このため、こうした紙送り装置の演算装置には、通常、構成が単純で、高速な演算が可能で、安価である固定小数点形式のデータのみを用いる演算装置が採用されている。
【０００４】
尚、この固定小数点形式とは、図８に示すように、演算データの上位ビットを整数部、下位ビットを小数部として表し、そのビット数をそれぞれ固定したデータ形式である。この整数部と小数部のビットの境目を小数点位置と呼んでいる。
ところで、固定小数点形式のデータは、演算を実施するに際して、オーバーフローや桁落ちにより演算結果への影響が出る場合がある。例えば、演算ビットが２４ビットの演算装置において、整数部を１６ビット、小数部を８ビットの符号無しデータ形式とした場合、整数部は「６５５３５」まで表せ、小数部は「０．００３９（１／２５６）」が最小単位（分解能）となる。そして、この場合、演算で取り扱う数値が、整数部が表現できる値より大きい値である「１０００００」となると、演算装置における演算データはオーバーフロー状態となり、数値を「６５５３５」としか表現できず演算結果が不正確となる。また、同じく、数値が小数部の最小単位より小さい値である「０．００３」となった場合、演算装置における演算データはアンダーフロー（桁落ち）状態となり、「０」と表現されてしまい演算誤差の元となる。
【０００５】
一方、画像形成装置において、紙送り装置による動作量は種々の状態がある。例えば、写真画質などの高解像度印刷が必要な時には、紙送り動作１回当たりの動作量は数百μｍとなり、印刷内容が無い箇所では、飛ばして送ればよいため、紙送り動作１回当たりの動作量は数ｃｍとなる。このため、紙送り装置の演算装置は、このように広いダイナミックレンジをもつ動作量に対応して、制御量を演算する必要がある。
【０００６】
このため、従来の固定小数点形式で表す数値の範囲は、上記オーバーフローを避けるため、紙送り動作時の演算で取り扱う最大の値を表現できるように整数部のビット数を決め、残りのビット数を小数部として割り当てている。
【０００７】
【発明が解決しようとする課題】
従来の紙送り装置では、演算装置の演算ビットが表す数値の範囲は、前述のように取り扱う数値の最大で設定されるため、演算ビット長が十分に無いと小数部に割り当てられるビット数が少なく、最小単位（分解能）が大きいものとなり、桁落ちによって切り捨てられる量が大きくなるため十分な演算精度が得られない場合がある。このため紙送り装置は、動作量の精度を上げることができず、応答性の向上にも影響するという問題がある。
【０００８】
一方、この問題を防止するには、十分な精度が得られるように、演算ビット長の多い演算装置を用いればよいのであるが、演算ビット長の多い演算装置は高価であり、コストアップにつながる。また、演算ビット長が多い演算装置を用いたとしても、動作量が小さい場合は、取り扱う数値は小さいものばかりで、上位のビットは殆ど使われず、逆に動作量が多い場合は、動作量の精度はラフでよく細かい精度まで演算しても無駄となってしまうことから、演算装置の能力を十分利用することはできないという問題が生じる。
【０００９】
また、昨今、画像形成装置の印刷分解能の向上により、紙送り装置における紙送り動作１回当たりの動作量を、より細かく高精度にすることが要求されている。しかし、指示された動作量が小さいと実際の動作量との偏差も小さいため、駆動源を駆動する制御量も小さいものとなり、その制御量は駆動源の始動トルクと近い値となるので、従来の紙送り装置では、駆動源でローラを駆動できない、もしくは駆動できても応答性が悪いという問題が生じることになる。つまり、従来の紙送り装置では、小さい動作量での動作精度を向上できないという問題がある。
【００１０】
本発明は、こうした問題に鑑みなされたものであり、紙送り装置において、制御量の演算ビットを長くすることなく、紙送りの動作量を効率よく広範囲に制御できるようにすることを目的とする。
【００１１】
【課題を解決するための手段】
かかる目的を達成するためになされた請求項１記載の紙送り装置においては、検出手段が、紙送り手段の動作量を検出し、演算手段が、その検出された動作量が外部から指示された動作量と一致するように紙送り手段の駆動源の制御量を演算し、制御手段が、その演算された制御量に基づき、紙送り手段の駆動源を制御する。
【００１２】
また、演算手段は、演算ビット長が一定で、整数部を上位ビットＪ桁で表し、小数部を下位ビットＫ桁で表す固定小数点形式のデータを用いて、駆動源の制御量を演算するよう構成され、しかも、そのデータの整数部及び小数部のビット桁数Ｊ、Ｋについては、設定手段が、紙送り手段の動作量が小さいほど小数部のビット桁数Ｋが多くなるように設定するようにされている。
【００１３】
即ち、紙送り装置において、動作量の精度は指示された動作量に比例し、指示された動作量が小さいときには細かい精度での動作が必要であるが、指示された動作量が大きくなれば、その大きさに比例して動作の精度が荒くなっても問題ないという関係がある。また紙送り装置の動作量が小さくなると、取り扱う数値も小さくなるため、演算ビットで取り扱う数値の範囲も小さくてよくなるという関係もある。これらの関係を利用して、紙送り装置は、動作量が指示される毎に、指示された動作量に応じて、この動作量が小さいほど、小数部の桁数Ｋが多くなるように整数部と小数部の桁数Ｊ，Ｋを設定する。
【００１４】
この結果、本発明の紙送り装置によれば、指示された動作量が小さく、高精度な制御が要求とされる状態では、演算手段におけるデータの小数部の桁数が増えて、１ビットが表す値が小さくなり分解能が向上するため、演算手段による演算精度（延いては紙送り装置の動作量の制御精度）を向上できる。また、同じ演算精度を確保すればよい場合は、演算手段における演算ビット長を少なくすることができるので、演算手段の安価なものを利用でき、紙送り装置のコストダウンを図ることができる。
【００１５】
ところで、本発明の紙送り装置によれば、外部から指示された動作量が小さいときの演算データの分解能を向上することができるので、従来の紙送り装置では切り捨てられていた数値が有効となる。
【００１６】
また、請求項１記載の紙送り装置においては、演算手段が、検出手段の検出結果と駆動源を制御する制御量に基づいて制御対象の動作状態を推定する推定手段と、指示された動作量と検出手段による検出結果とからこの偏差を演算する偏差演算手段とを備え、偏差演算手段により演算された偏差量と、推定手段により推定された状態量とに基づいて駆動源の制御量を演算する。
【００１７】
ここで、推定手段は、いわゆる現代制御理論で状態推定器と呼ばれるものであり、制御対象である紙送り手段への制御入力ｕ（ここでは駆動源を制御する制御量）と、制御出力ｙ（ここでは検出手段による検出結果）とに基づいて、制御対象（紙送り手段）の内部状態を表す状態量ｘを推定するものである。
【００１８】
この結果、推定手段にて得られる状態量ｘは、制御対象である紙送り手段の実際の挙動を表すものとなり、演算手段にて、この状態量ｘを基に算出される制御量は、紙送り手段の挙動に対応した最適値となる。
ところで、推定手段では、いくつかのマトリクスで表される状態方程式を演算する必要があり、演算装置内での演算が多数行われるため、演算の際の桁落ちによる精度劣化の影響が出やすく、特に、紙送り手段の動作量が小さい場合には、この問題が顕著に現れる。
【００１９】
これに対し、本発明によれば、演算装置における演算精度を、紙送り装置の動作量に応じて変化させることができるので、桁落ちによる精度劣化を小さく抑えることができる。
このため、本発明（請求項１）を、推定手段を用いて紙送り手段の状態量を推定して、その状態量から紙送り手段の制御量を設定する装置に適用すれば、演算手段による演算精度を改善して、演算手段をより効率よく動作させることができるようになる。
つまり、本発明の紙送り装置は、小さな数値を活かすことができる紙送り装置へ適用すると、より効果を発揮することができる。
【００２０】
一方、偏差演算手段は、指示された動作量と、紙送り装置の動作量の検出結果との差分である偏差を求める手段であって、紙送り装置の動作量が指示された動作量となるよう制御するための駆動源の制御量を、演算するときに用いるものである。
【００２１】
ところで偏差演算手段の結果は、偏差が小さくなると、従来のように演算精度が悪い演算装置では、桁落ちにより「０」とみなされ、制御量の演算結果に影響しなくなっていた。
これに対し、本発明によれば、前述のごとく演算ビットが表す値の分解能が向上するため、偏差演算手段の結果は、従来桁落ちしていた値が有効となり、制御量の演算に反映され、演算精度が向上する。
【００２２】
また、偏差演算手段の結果を用い演算する制御量は推定手段の入力としても用いられており、偏差演算手段の精度向上に伴い状態推定手段の精度向上にもつながっている。このため、状態推定手段と偏差演算手段を併せ持つ紙送り装置において、より演算精度向上の効果が大きい。
【００２３】
従って、請求項１に記載の紙送り装置では、本発明の効果である演算精度の向上の効果が、推定手段および偏差演算手段により、より顕著となる。
尚、制御量を演算する際、偏差演算手段の結果を積分した値を用いるようにしてもよい。この偏差を積分した値を用いるようにすると、微小量の偏差に対しても積分し増幅されるため、これまで桁落ちとなっていたような値が制御量の演算に影響しやすくなるため、より本発明の効果がでる。
【００２４】
ところで、紙送り装置における動作量の精度は、指示された動作量が少しでも変わると、これに応じて動作量の精度をリニアに変える必要があるものではなく、ある程度の動作量の範囲毎に精度を見直せばよい場合が多い。このため、本発明を請求項１記載の紙送り装置とすればよい。
【００２５】
即ち、請求項１記載の紙送り装置は、指示される動作量の最大である最大動作量Ｌを２以上の任意の範囲に分割した分割範囲に対応して、整数部または小数部のビット桁数を表す情報があらかじめ記憶された記憶手段を備え、設定手段により、指示された動作量が当てはまる分割範囲に対応する情報を記憶手段から読み出し、この読み出した情報によりビット桁数ＪおよびＫを設定する。
【００２６】
この結果、紙送り装置の演算手段における演算ビットの小数点位置を設定する条件が限定されるため、設定手段が簡易となる。
また仮に、最大動作量に対する分割範囲を設定する際、指示された動作量の変化割合に応じて、演算ビットの小数点位置を設定すると、指示された動作量の増減に対して、増減される演算ビットの量は１ビットづつずらす、言い換えれば２の乗数倍づつしか増減できない。
例えば、最大動作量の１／３の位置に分割点を設定しても、最大動作量のときの小数点位置に対し、１ビットずらす（１／２）もしくは２ビットずらす（１／４）としか設定できない。このように動作量の分割範囲を適当に選ぶと、動作量の分割範囲の増減の割合と、設定した小数点位置による増減の割合が一致しないことになってしまう。
【００２７】
これに対しは、請求項１に記載の発明のごとく、分割範囲の設定で、指示された動作量の増減の割合と、演算ビットが表す値の増減の割合を近くにするには、指示された動作量の分割範囲の区分を、演算ビットの桁毎の増加量に合わせて区分するのが適当である。
【００２８】
即ち、請求項１の紙送り装置は、分割範囲の設定手段を最大動作量Ｌを２のａ乗（ａは１からｍ−１までの整数で、ｍは前記演算ビットの総ビット数）で割った値を分割点として分割した範囲とする。
これは、小数点位置の変更による演算ビットが表す値の増減が、２のｎ乗（ｎは小数点位置の移動数）の関係にあることを利用したものである。また、この関係式を逆に解いた｛Log2（Ｌ／ｒ）｝＋１（ｒは指示された動作量）から動作量が対応する分割区分を求めることもできるようになる。
【００２９】
この結果、演算ビットの小数点位置１ビット毎に区分できるようになるため、無駄なく設定できる。また、指示された動作量が該当する分割区分を関係式で導き出し判別することにより、該当する区分を一つ一つ判定する必要が無くなるため、分割区分の判別が容易になる。
【００３０】
また、請求項２記載の紙送り装置は、紙送り手段の駆動源として、モータを用い、検出手段は、ロータリエンコーダで構成され、紙送り手段のモータによって生ずる回転量を検出することを特徴とする。
従って、本発明（請求項２）の紙送り装置においては、駆動力はモータの回転動作として発生し、紙送り手段の動作量として回転量を検出するので、同じ回転量のディメンジョンであるため、モータ制御のためのフィードバック制御の設計が容易であり、本装置の構成を容易にできる。
【００３１】
さらに、請求項３の紙送り装置は、駆動源としてモータを用い、モータの駆動力を減速機構を介してローラへ伝達し、ローラが紙に接し、回転動作により紙を送る紙送り手段とし、紙送りローラの回転量を検出する検出手段とする。
従って、本発明（請求項３）の紙送り装置においては、実際に紙を搬送する紙送りローラの回転を検出するので、減速機構のギヤガタ等による位置誤差の影響が少なく、紙の移動量を正しく検出できる。よって本発明による演算精度の向上と合わせ実施することで、紙送り装置の動作精度をより高精度とすることができる。
【００３２】
【発明の実施の形態】
次に本発明の第１実施例の実施の形態について例を挙げて説明する。本実施例は、インクジェットプリンタにおける用紙を搬送するための紙送り装置に関するものである。まず全体構成について説明する。
【００３３】
［全体構成］
プリンタ１は、図１に示すように、用紙搬送ローラ（紙送りローラ）としてメインローラ１０、メインローラ１０の回転状態を検出するためのロータリーエンコーダ（以降、単にエンコーダとする）１２、排紙ローラ１４ａ、１４ｂ、用紙搬送用のＤＣモータ２０（以降、単にＬＦモータと称する。）などからなる紙送り機構を備えている。
【００３４】
エンコーダ１２は、メインローラ１０と共に回転する回転板１２ａおよび回転板１２ａの回転状態を検出するフォトインタラプタ１２ｂからなり、回転板１２ａが所定の角度回転する毎に、フォトインタラプタ１２ｂから、例えばＡ相及びＢ相からなる矩形波信号であって、この信号の位相がπ／２だけずれている形態のエンコーダ信号が出力されるように構成されている。また、このエンコーダ１２は、回転板１２ａがメインローラ１０と共に回転するため、メインローラ１０により用紙が所定量搬送される毎に、フォトインタラプタ１２ｂからエンコーダ信号が出力されることになる。
【００３５】
ＬＦモータ２０は、メインローラ１０に直結し、メインローラ１０を駆動する駆動プーリ（図示せず）との間に掛け渡されたベルト１６ａを介して、メインローラ１０および回転板１２ａを回転させると共に、駆動プーリ（図示せず）の回転を伝達するためのベルト１６ｂ及びアイドルギア１４ａを介して、排出ローラ１４ｂを回転させることができる（図１における矢印ｃ，ｄ参照）。メインローラ１０にはピンチローラ１０ａが圧接され、排紙ローラ１４ｂには排出拍車１４ｃが圧接されており、用紙は、それぞれの圧接点を通過し、メインローラ１０と排出ローラ１４ｂの間（の経路中）で画像を記録された後、排出ローラ１４ｂ、排出拍車１４ｃの圧接点から排出される（図１における矢印ｅ参照）。ＬＦモータ２０は、メインローラ１０を、順方向（図１における矢印ａ参照）に回転させることによって、メインローラ１０から排紙ローラ１４ｂに向けて用紙を外部に向けて搬送することができる。
【００３６】
また、プリンタ１には、図２に示すように、プリンタ１全体の動作を制御するＣＰＵ３０、ＣＰＵ３０の処理手順／条件／結果を記憶するメモリ３１、ＬＦモータ２０を駆動するモータ駆動回路４０、モータ駆動回路４０に入力するＰＷＭ信号を生成する信号生成回路１００などが内蔵されている。
【００３７】
信号生成回路１００は、いわゆるＡＳＩＣ（Application Specific Integrated Circuit）によって構成されており、ＬＦモータ２０の制御に用いる各種パラメータを格納するレジスタ群１１０、エンコーダ１２から入力したエンコーダ信号に基づき用紙の搬送状態をチェックする搬送状態チェック部１２０、ＬＦモータ２０を制御するための制御信号を生成する制御信号生成部１３０、制御信号生成部１３０により生成された制御信号をＰＷＭ信号に変換するＰＷＭ信号変換部１４０、クロック信号を信号生成回路１００全体に供給可能なクロック生成部１５０などにより構成されている。
【００３８】
なお、クロック生成部１５０は、少なくともエンコーダ１２から入力されるエンコーダ信号の最短周期より短い周期のクロック信号を生成するものである。また、制御信号生成部１３０は、演算ビット長が２４ビットであり、整数部と小数部を表すビット数を定め、整数部と小数部の境目である小数点位置が固定された固定小数点形式のデータで演算を行うものである。
【００３９】
これらのうち、レジスタ群１１０は、信号生成回路１００を起動するための起動設定レジスタ１１１、後述する制御信号修正演算を行うタイミングを示す演算時間ｔｏをセットするタイミング設定レジスタ１１２、用紙の目標搬送量に相当するエンコーダ信号の数を示す目標量ｒをセットする目標設定レジスタ１１３、制御信号生成部１３０が取り扱うデータの小数点位置を設定するために用いられる小数点位置設定レジスタ１１４、制御信号生成部１３０が制御信号を生成する際に利用する積分ゲインＦ１、状態フィードバックゲインＦ２をセットする第１ゲイン設定レジスタ１１５、第２ゲイン設定レジスタ１１６などからなる。なお、各レジスタのうちの起動設定レジスタ１１１は、信号生成回路１００を起動するための指令が書き込まれるレジスタであって、この起動設定レジスタ１１１への書き込みが行われることによって、信号生成回路１００全体が起動する。
【００４０】
また、搬送状態チェック部１２０は、エンコーダ１２からエンコーダ信号の立ち上がりエッジ又は立ち下がりエッジ、もしくはその両者を検出する検出部１２１、検出部１２１により検出されたエンコーダ信号のエッジ数をカウントするカウンタ１２２、用紙の搬送量が目標搬送量に到達した後に停止割込信号をＣＰＵ３０へ出力する割込処理部１２３などからなる。この割込処理部１２３は、カウンタ１２２によるカウント値ｙが、目標設定レジスタ１１３にセットされている目標量ｒ以上となった際、あるいは、カウント値ｙが目標量ｒとなって後、所定時間経過後に停止割込信号を出力する。
【００４１】
また、制御信号生成部１３０は、ＬＦモータ２０を制御量ｕだけ制御するための制御信号を生成する演算処理部１３１、クロック生成部１５０により生成されたクロック信号に基づいて時間を計測する第１タイマー１３２などからなる。
これらのうち、演算処理部１３１は、カウンタ１２２によるカウント値ｙが目標設定レジスタ１１３にセットされている目標量ｒと一致するようにフィードバック制御を行うものであって、図３に示すように、第１加算器add1、積分器int、第１ゲイン積算器g1、状態推定器obs、第２ゲイン積算器g2、第２加算器add2などにより構成されている。
【００４２】
この演算処理部１３１では、まず、第１加算器add1によって、目標設定レジスタ１１３にセットされている目標量ｒとカウンタ１２２によるカウント値ｙとの偏差が演算される。
次に、積分器intによって、第１加算器add1により演算された偏差が、タイミング設定レジスタ１１２にセットされている演算時間ｔｏで離散積分、つまり、偏差の累積値が演算される。
【００４３】
次に、第１ゲイン積算器g1によって、積分器intにより演算された累積値と、第１ゲイン設定レジスタ１１５にセットされている積分ゲインＦ１とを積算した値「ｕ１」を有する第１制御信号が生成される。
また、状態推定器obsによって、モータ駆動回路４０に入力する制御量ｕとカウンタ１２２によるカウント値ｙとに基づいて紙送り機構の動作状態を示す状態量ｘが推定される。
【００４４】
次に、第２ゲイン積算器g2によって、状態推定器obsにより推定された状態量ｘと第２ゲイン設定レジスタ１１６にセットされている状態フィードバックゲインＦ２とを積算した値「ｕ２」を有する第２制御信号が生成される。
そして、第２加算器add2によって、第１制御信号と第２制御信号とを加算した値「ｕ（＝ｕ１＋ｕ２）」を有する制御信号が、ＬＦモータ２０を制御量ｕだけ制御する制御信号として生成される。これによって、制御信号の制御量ｕが正の値である場合にメインローラ１０が順方向（図１における矢印ａ参照）に回転する制御信号が出力され、制御量ｕが負の値である場合にはメインローラ１０が逆方向（図１における矢印ｂ参照）に回転する制御信号が出力される。
【００４５】
［ＣＰＵ３０による処理手順］
以下に、用紙を搬送する際にＣＰＵ３０が行う処理手順を図４に基づいて説明する。
まず、ＣＰＵ３０は、レジスタ群１１０の各レジスタにパラメータをセットする（ｓ１１）。この処理においては、タイミング設定レジスタ１１２に演算時間ｔｏがセットされ、目標設定レジスタ１１３に目標量ｒがセットされ、第１ゲイン設定レジスタ１１５に積分ゲインＦ１がセットされ、第２ゲイン設定レジスタ１１６に状態フィードバックゲインＦ２がセットされる。
【００４６】
このとき、ＣＰＵ３０は、目標量ｒ毎にあらかじめ決められた値の積分ゲインＦ１および状態フィードバックゲインＦ２を各レジスタ１１５、１１６にセットする。ここでは、目標量ｒの値が大きいほど、絶対値の大きな積分ゲインＦ１および状態フィードバックゲインＦ２が各レジスタ１１５、１１６にセットされる。
【００４７】
次に前記目標量ｒに応じた小数点位置情報Ｋが、詳細は後述する小数点位置設定の手順（図５）により小数点位置設定レジスタ１１４にセットされる。（ｓ１２）
次に、ＣＰＵ３０は、信号生成回路１００を起動させる（ｓ１３）。この処理においては、レジスタ群１１０を構成する起動設定レジスタ１１１への書き込みが行われ、これによって、信号生成回路１００全体が起動する。
【００４８】
こうして、信号生成回路１００が起動した後、信号生成回路１００を構成する制御信号生成部１３０が、制御信号を生成する。そして、この制御信号が、ＰＷＭ信号変換部１４０を介して、モータ駆動回路４０に入力され、ＬＦモータ２０が用紙の搬送を開始する。この後、制御信号が繰り返しモータ駆動回路４０に入力された後、用紙の搬送量が目標搬送量に到達すると、信号生成回路１００を構成する搬送状態チェック部１２０の割込処理部１２３から、停止割込信号が出力されてくる。
【００４９】
そして、ＣＰＵ３０は、搬送状態チェック部１２０の割込処理部１２３から停止割込信号を入力するまで待機し（ｓ１４：ＮＯ）、停止割込信号を入力したら（ｓ１４：ＹＥＳ）、本処理を終了する。
[ＣＰＵ３０により小数点位置を設定する手順]
次に、ＣＰＵ３０による処理手順のうち、ｓ１２で実行する小数点位置の設定手順は本発明の主要部であるため、図５に基づいて詳しく説明する。
【００５０】
本手順は、本発明に従って目標量ｒに応じた小数点位置情報Ｋを設定し、この情報を小数点位置設定レジスタ１１４にセットすることによって、制御信号生成部１３０が演算の際に用いる固定小数点形式データが、目標搬送量に応じた小数点位置となるようにするものである。
【００５１】
そして、この処理を実行するに際して、ＣＰＵ３０のメモリ３１には、目標搬送量に対応した小数点位置の情報のテーブルがあらかじめ記憶されている。
尚、このテーブルは、当該プリンタ１の用紙の搬送量を、最大搬送量である４ｉｎｃｈ（１０ｃｍ）から１ｉｎｃｈ（２．５ｃｍ）の範囲Ａと、１ｉｎｃｈ（２．５ｃｍ）から０．２５ｉｎｃｈ（０．６ｃｍ）の範囲Ｂと、０．２５ｉｎｃｈ（０．６ｃｍ）以下の範囲Ｃに区分し、この範囲に対応して、制御信号生成部１３０が演算の際に小数点位置を設定するときに用いる小数点位置の情報Ｋａ（４ビット）、Ｋｂ（８ビット）、Ｋｃ（１６ビット）をもつものである。ここでの小数点位置情報は、後述する[小数点位置情報の選定]に基づき選定したものである。
【００５２】
まず、小数点位置設定レジスタ１１４を設定する際のＣＰＵ３０の処理手順は、目標設定レジスタ１１３から目標量ｒを読み出す（ｓ２０１）。この目標量ｒが、範囲Ａの下限である１ｉｎｃｈ（２．５ｃｍ）に相当するエンコーダ信号のエッジ数として換算した値以上か判定する（ｓ２０２）。判定の結果１ｉｎｃｈ（２．５ｃｍ）相当以上であれば（ｓ２０２：ＹＥＳ）、範囲Ａに対応する小数点位置情報Ｋａをメモリ３１から読み出し（ｓ２０３）、小数点位置設定レジスタ１１４にＫａをセットする（ｓ２０４）。
【００５３】
次に、目標量ｒが１ｉｎｃｈ（２．５ｃｍ）相当以上でなければ（ｓ２０２：ＮＯ）、範囲Ｂの判定として、目標量ｒが０．２５ｉｎｃｈ（０．６ｃｍ）相当以上であるかを判定する。（ｓ２０５）判定の結果、目標量ｒが０．２５ｉｎｃｈ（０．６ｃｍ）相当以上であれば（ｓ２０５：ＹＥＳ）、範囲Ｂに対応する小数点位置情報Ｋｂをメモリ３１から読み出し（ｓ２０６）、小数点位置設定レジスタ１１４にＫｂをセットする（ｓ２０４）。
【００５４】
次に、目標量ｒが０．２５ｉｎｃｈ（０．６ｃｍ）相当以上で無ければ（ｓ２０５：ＮＯ）、範囲Ｃに該当となるので、小数点位置情報Ｋｃをメモリ３１から読み出し（ｓ２０７）、小数点位置設定レジスタ１１４にＫｃをセットする（ｓ２０４）。
【００５５】
次に、小数点位置設定レジスタ１１４の内容を設定したら、本処理を終了する。
[小数点位置情報の選定]
目標搬送量に応じた小数点位置情報は、本実施例の設計段階で、次の示す３項の内容を考慮して選定されている。
（１）目標搬送量が種々の状態で、制御信号生成部１３０への入出力の値に対し、演算ビットがオーバーフローとならない。
（２）紙送り動作中に、制御信号生成部１３０の内部数値のオーバーフロー、もしくはアンダーフローによる、制御特性へ影響がでない。（尚、制御特性へ影響しないオーバーフローおよびアンダーフローは許容される。）
（３）極力精度を高めるため、できるだけ小数部の桁数が多くなるように小数点位置情報を選定する。
【００５６】
ここで選定した小数点位置は紙送り装置の制御特性への影響を確認しておく必要がある。この制御特性における動的な状態に対する確認は、机上では難しいので、その確認方法の一つである、制御信号生成部１３０以外を数値モデルとして模擬し演算処理をシミュレーションして確認している。
【００５７】
次に、この確認の例として、目標値ｒが大きく、小数部のビット数が少なく変わる場合の過渡応答特性についてシミュレーションを実施した結果を図６に示す。  まず、図６（ａ）は従来の特性として小数部を８ビットで演算したときの電流特性であり、縦軸が電流値で、横軸が時間である。入力は目標値ｒがステップで入ったときの状態である。また図６（ｂ）はローラおよびモータの角速度特性である。縦軸が角速度で、横軸が時間となっている。これに対し、今回の発明を適用し、小数部が４ビットと減ったときのシミュレーション結果が図６（ｃ）および図６（ｄ）である。図６（ｃ）が図６（ａ）と対応し、図６（ｄ）が図６（ｂ）と対応し、同じスケールである。いずれの波形も、時間がたつと安定して０に収束しており、有意差は認められない。
【００５８】
このように小数部のビット数が変わっても、制御特性として影響無いことを確認している。また、同様に動作量が小さく、整数部のビット数が少なくなった場合についてもシミュレーションを実施し、制御特性として影響無いことを確認している。（図示しない。）
尚、制御信号生成部１３０でのオーバーフロー／アンダーフローの影響に関しては、本発明の適用に関係なく固定小数点形式のデータを扱う演算を行う紙送り装置設計時には考慮および確認必要な事項である。
【００５９】
［効果］
このように、第１実施例でのプリンタ１は、指示された搬送量が小さい時は、制御信号生成部１３０における小数部の桁数が増えて、１ビットが表す値が小さくなり、分解能が向上するため、制御信号生成部１３０における演算精度を上げることができる。延いてはプリンタ１の動作量の制御精度を向上できる。
【００６０】
このため、第１実施例のように状態推定器obsを用いてプリンタの状態量を推定して、その状態量からプリンタの制御量を設定するプリンタにおいて、制御信号生成部１３０における演算精度が改善され、制御信号生成部１３０をより効率よく動作させることができる。
【００６１】
また、プリンタ１の制御信号生成部１３０における演算ビットの小数点位置を設定する条件である搬送量を、３つの範囲に限定しているため、小数点位置の設定を簡易にできる。
[第２実施例]
次に第２実施例について説明する。第２実施例は、紙送り装置としての構成は第１実施例と全く同じで、[小数点位置の設定の手順]の内容を変えたものである。第２実施例における[小数点位置の設定手順]について、図７に示し説明する。
【００６２】
この処理を実行に際して、ＣＰＵ３０のメモリ３１には、目標搬送量に対応した小数点位置の情報のテーブルがあらかじめ記憶してある。
尚、このテーブルは、用紙の搬送量の最大Ｌ＝４ｉｎｃｈ（１０ｃｍ）の範囲を、最大搬送量Ｌ／（２のｍ乗）（ｍは１から２４−１まで）で求められる点で２４に区分し、この範囲に対応した図７（ｂ）に示す制御信号生成部１３０が演算の際に小数点位置を設定するときに用いる小数点位置の情報をもつものである。
【００６３】
尚、小数点位置情報Ｋは、先に記載の[小数点位置情報の選定]に基づき選定した。
次に、小数点位置設定レジスタ１１４を設定する際のＣＰＵ３０の処理手順は、まず、目標設定レジスタ１１３から目標量ｒを読み出す（ｓ２１０）。
【００６４】
次に目標量ｒが対応する分割区分を求めるために、（Log2（Ｌ／ｒ））＋１を計算し、計算結果の整数部を分割区分Ｂとする（ｓ２１１）。
次に分割区分Ｂに対応する小数点位置情報Ｋをテーブルから読み取る（ｓ２１２）。
【００６５】
次に、読み取った小数点位置情報Ｋを、小数点位置設定レジスタ１１４に設定する（ｓ２１３）。
次に、小数点位置設定レジスタ１１４の設定が完了すると本処理を終了する。
[効果]
演算ビットの小数点位置１ビット毎に区分できるようになるため、無駄なく設定できる。
【００６６】
また、指示された動作量が該当する分割区分を関係式で導き出し判別することにより、該当する区分を一つ一つ判定する必要が無くなるため、分割区分の判別が容易になる。
尚、図７に示すテーブルの分割範囲区分Ｂの「１」、「２」における小数点位置情報Ｋの値をそれぞれ「４」とし、同じく区分Ｂの「３」、「４」における位置情報をそれぞれ「８」とし、残りの区分Ｂの「５」〜「２４」における位置情報Ｋの値をそれぞれ「１６」とすると、前記第一実施例と同様に３つの範囲に区分することができる。
[本発明との対応関係]
上述したエンコーダ１２は、本発明における検出手段であり、エンコーダ信号を、紙送り手段の動作量として検出する。
【００６７】
また、ＬＦモータ２０は本発明における駆動源であり、メインローラ１０とともに、本発明における紙送り手段を構成する。
また、制御信号生成部１３０は、本発明における演算手段であり、目標値ｒが本発明における外部から指示された動作量であり、演算処理部１３０の制御量ｕが本発明における制御量である。
【００６８】
また、ＰＷＭ信号変換部及びモータ駆動回路４０が本発明における制御手段である。
また、図５及び図７に示すフローチャートが本発明における設定手段である。
また、演算処理部１３１の状態推定器obsが、本発明における推定手段であり、第１加算器本add1が、発明における偏差演算手段である。
【００６９】
また、メモリ３１が、本発明における記憶手段である。
[変形例]
以上、本発明の実施形態について説明したが、本発明は上記の具体的な実施形態に限定されず、このほかにも様々な形態で実施することができる。
【００７０】
例えば、プリンタ１として、搬送量の精度を上げる必要が無い場合は、用途に応じて演算ビット数の少ない制御信号生成部１３０を用いても良い。この場合、安価な信号生成回路１００を構成することが可能となる。
また、本発明の実施形態おいて、ローラ１０の角度を検出し、状態推定器obsにて推定した状態量を用いてフィードバック制御する制御方式の場合を説明したが、単なる比例制御であっても、他の制御方式であってもよい。但し、本発明のように、状態推定器obsを用いている場合に、その効果はより発揮される。
【００７１】
また、第２実施例においては、範囲の分割数を演算ビット長の２４としたが、これ以下であっても良い。
さらに、エンコーダ１２はモータ軸に直接取り付けても良い。また減速が多段に行われる場合には、その減速機構に取り付けられても良い。この場合は、減速する前の回転量を検出するので、エンコーダピッチの荒い、安価なエンコーダが使用できる。
【図面の簡単な説明】
【図１】第１実施例のプリンタの紙送り機構を示す側面図である。
【図２】第１実施例のプリンタの制御機構を示すブロック図である。
【図３】第１実施例の演算処理部の制御系統を示すブロック図である。
【図４】第１実施例の用紙搬送する際にＣＰＵが行う処理手順を示すフローチャートである。
【図５】第１実施例のＣＰＵでの処理手順のうち小数点位置設定の手順を示すフローチャートである。
【図６】第１実施例のシミュレーション結果を表す説明図である。
【図７】第２実施例のＣＰＵでの処理手順のうち小数点位置設定の手順を示すフローチャートである。
【図８】固定小数点形式のデータ構造を表す説明図である。
【符号の説明】
１…プリンタ、１０…メインローラ、１２…エンコーダ、１４ａ…排紙ローラ、１６ａ…ベルト、１６ｂ…ベルト、２０…ＬＦモータ、３０…ＣＰＵ、３１…メモリ、４０…モータ駆動回路、１００…信号生成回路、１１０…レジスタ群、１１１…起動設定レジスタ、１１２…タイミング設定レジスタ、１１３…目標設定レジスタ、１１４…小数点位置設定レジスタ、１１５…第１ゲイン設定レジスタ、
１１６…第２ゲイン設定レジスタ、１２０…搬送状態チェック部、１２１…検出部、１２２…カウンタ、１２３…割込処理部、１３０…制御信号生成部、１３１…演算処理部、１３２…第１タイマー、１４０…信号変換部、１５０…クロック生成部。
【図１】
0004193403.tif 000002
【図２】
0004193403.tif 000003
【図３】
0004193403.tif 000004
【図４】
0004193403.tif 000005
【図５】
0004193403.tif 000006
【図６】
0004193403.tif 000007
【図７】
0004193403.tif 000008
【図８】
0004193403.tif 000009