JP3700325B2 - 駆動源制御方法 - Google Patents

駆動源制御方法 Download PDF

Info

Publication number
JP3700325B2
JP3700325B2 JP13076397A JP13076397A JP3700325B2 JP 3700325 B2 JP3700325 B2 JP 3700325B2 JP 13076397 A JP13076397 A JP 13076397A JP 13076397 A JP13076397 A JP 13076397A JP 3700325 B2 JP3700325 B2 JP 3700325B2
Authority
JP
Japan
Prior art keywords
drive source
speed
phase
edge
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP13076397A
Other languages
English (en)
Other versions
JPH10323069A (ja
Inventor
祐士 豊村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP13076397A priority Critical patent/JP3700325B2/ja
Priority to US09/080,288 priority patent/US6037734A/en
Publication of JPH10323069A publication Critical patent/JPH10323069A/ja
Application granted granted Critical
Publication of JP3700325B2 publication Critical patent/JP3700325B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P23/00Arrangements or methods for the control of AC motors characterised by a control method other than vector control
    • H02P23/16Controlling the angular speed of one shaft

Landscapes

  • Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Control Of Electric Motors In General (AREA)
  • Facsimile Scanning Arrangements (AREA)

Description

【0001】
【発明の属する技術分野】
本発明はモータ等の駆動源に結合、あるいは一体的に装備されるエンコーダ出力を用いて駆動源を制御する方法に関し、特に駆動源を一定速度に駆動する駆動源制御方法に関するものである。
【0002】
【従来の技術】
図14を用いて従来の駆動源制御方法を説明する。
【0003】
図14は従来の駆動源制御方法の概要を示すブロック図である。図14において、1はDCモータ等の駆動源である。2は駆動源1の同軸上に配置されたエンコーダであり、駆動源1が所定角度だけ回転する毎に、パルスを発生する。3aはエンコーダのA相信号、3bはエンコーダのB相信号である。一般にA相とB相の位相は90゜ずらして設計されるが、10数%程度の誤差を持つものもある。また各相信号のデューティ比は50%となるよう設計されているが、10数%程度の誤差を持つものもある。4a、4bはエッジ検出部であり、A相とB相各々の立ち上がりエッジと立ち下がりエッジを検出し、パルスとして出力する。5は回転方向検出部であり、例えばA相の立ち上がりエッジ検出時のB相のステート(LowかHiか)に応じて駆動源1の回転方向を検出する。
【0004】
6は合成回路部であり、エッジ検出部4a、4bの出力をOR演算し、A相とB相の立ち上がりと立ち下がりエッジを全てパルスとして出力する。7はアップダウンカウンタであり、回転方向検出部5の出力に応じて、合成回路6から出力されたパルスをアップダウンカウントする。アップダウンカウンタ7の出力を参照することで、駆動源1で駆動される対象がどの位置にあるかを検出することができる。8はプリスケーラであり入力信号を所望の率で分周する。9はセレクタであり、プリスケーラ8の出力とエンコーダ出力のいずれかを選択できる。10は演算部(以降CPUと略称する)であり、11はCPU10に供給されるクロック信号を発生するクロック発生器である。12はモータドライバであり、CPU10が出力する制御信号に基づき、駆動源1の回転速度を制御する。
【0005】
次に図15を併用してCPU10が駆動源1の速度情報を取得0するまでの過程を詳細に説明する。図15において13はセレクタ9の出力信号であり、14a、14b、14c、14dはセレクタ出力信号13の立ち上がりエッジを示している。15ab、15bc、15cdは、それぞれ立ち上がりエッジ14a〜14b、14b〜14c、14c〜14dの時間間隔に相当する。16ab、16bc、16cdはそれぞれ時間間隔15ab、15bc、15cdにおいて後述するクロック信号のカウンタ値を示している。また17b、17c、17dはCPUに対する割り込み要求を意味している。
【0006】
CPU10はセレクタ出力信号13の立ち上がりエッジ間隔、即ち15ab、15bc、15cdを、クロック発生器11が出力するクロック信号をカウントして計測する。CPU10にはこのための図示しない内蔵カウンタと、内蔵カウンタの値を保持する図示しない内蔵レジスタ装備している。
【0007】
図示しない内蔵カウンタはフリーランカウンタであり、クロック発生器11が発生するクロックパルスが入力する度に値がインクリメントされ、時間経過と共にカウンタ値は増加する。
【0008】
CPU10にセレクタ出力信号13の立ち上がりエッジが入力されると、それまでクロック数を計数してきたカウンタの値は、図示しない内蔵レジスタにコピーされると共に、カウンタの値は0にリセットされる。例えばエッジ間隔15ab期間中のクロック信号を計数したカウント値16abは図示しない内蔵レジスタに保持され、内蔵カウンタはただちに0にリセットされる。リセット後もクロック信号が入力される度にカウンタ値は増加するが、カウンタ値16abは内蔵レジスタにコピーされている。
【0009】
一方立ち上がりエッジによってCPU10には割り込み要求が発生する。例えば立ち上がりエッジ14bによってCPU10に割り込み要求17bが発生すると、CPU10は内蔵レジスタに保持された値を読み取る。このときのカウント値は間隔15abを計測した、カウント値16abである。カウンタ値16abは次の立ち上がりエッジ14cが発生するまで内蔵レジスタに保持されるため、ソフトウェアによる比較的低速な割り込み処理でも、カウンタ値16abを容易に取得することができる。同様にしてCPU10は、立ち上がりエッジ14cによる割り込み要求17cにより、間隔15bcに対応したカウント値16bcを、また立ち上がりエッジ14dによる割り込み要求17dにより、間隔15cdに対応したカウント値16cdを入手することができる。
【0010】
本来駆動源1が等速度に回転していれば、出力信号13の各立ち上がりエッジ14a、14b、14c、14dは等間隔になるため、時間間隔15ab、15bc、15cdは等しく、従ってカウンタ値16ab、16bc、16cdも全て等しくなる。しかし駆動源1に速度変動が発生すると、図示するように、クロック信号のカウンタ値16ab、16bc、16cdは、駆動源1の速度に応じて変化する。例えば駆動源1の速度が低下すると、セレクタ出力信号13の立ち上がりエッジの間隔が広がり、カウンタ値は大きくなる。逆に駆動源1の速度が増加すると、出力信号13の立ち上がりエッジの間隔が狭まり、カウンタ値は小さくなる。従ってカウンタ値によって駆動源1の速度が計測できることになる。
【0011】
次に計測したカウンタ値を速度情報に変換する過程を詳細に説明する。
エンコーダ信号は駆動源、例えばモータが所定の角度回転する毎に発生する「距離」を示す信号である。またクロック信号を計数したカウンタ値は「時間」を表わすから、CPU10は距離÷時間を演算することで、駆動源1の速度情報を入手することができる。エンコーダの性質上、「距離」は一定値とみなせるから、適当な数値を速度変換定数として定義し、速度変換定数÷カウンタ値を計算して、速度情報とする。
【0012】
次に得られた速度情報に基づいて、制御信号を生成するまでの過程を詳細に説明する。
【0013】
最終的な制御信号を得るためには、制御対象をどのように制御するのか、その指針となる制御目標が必要である。速度制御では駆動源が所定の一定速度で動作している状態が理想状態であるが、このときのセレクタ出力13のエッジ周期は、駆動系の設計により決定される事項である。またエッジ周期を計測するクロック信号の周波数も同様に、設計次第である。従って理想的な状態における内蔵カウンタの計測値(理論カウンタ値)も、駆動系の設計時点で決定されており、前述のごとく速度変換定数は一定であるから、理想的な速度情報(目標速度)=速度変換定数÷理論カウンタ値と定まり、これも当然一定の値となる。そして制御の目的は、計測された速度情報と理論速度を等しくすることである。この状態が確保できているならば、系は理想的に駆動されていることになる。
【0014】
図16は従来例における制御信号生成過程を示すフローを示す図である。従来例ではPI制御を採用している。PI制御とはP(Proportional:比例)項とI(Integral:積分)項を用いた手法であり、比例積分制御とも呼ばれ、非常にポピュラーなフィードバック制御手法である。
【0015】
まずステップ1で速度偏差を(数1)に従って計算する。
(数1) 速度偏差e=目標速度−速度情報
次にステップ2で、(数2)に示すようにステップS1で得られた速度偏差eを累積(積分)して距離の偏差を求める。
【0016】
(数2) 距離偏差=Σe
次にステップ3で速度偏差と距離偏差を用いて速度指令値を(数3)に従って計算する。
【0017】
(数3) 速度指令値=K{速度偏差+距離偏差/T}
比例積分制御にはKとTの2つの係数があり、Kを比例係数、Tを積分係数と呼称する。これらの係数は、駆動系を構成するハードウェア(モータ、モータドライバ等)に依存しており、例えばSPICE等によるアナログシミュレーションや限界感度法などの方法によって定めることができる。
【0018】
次に従来例において駆動対象の速度を変更する方法について図14を用いて説明する。簡単のためにCPU10がエンコーダの直接出力を、セレクタ出力13として選択した時の駆動系の速度を基準速度Vとする。
【0019】
まず駆動速度を2×Vに変更する場合を説明する。CPU10はプリスケーラ8に対して入力信号を2分周するように設定し、セレクタ9に対してプリスケーラ8の出力を選択するよう指定する。これらによってCPU10には駆動系の速度がVのときの2倍周期(周波数=1/2)で立ち上がりエッジが入力される。
もし速度が基準速度VのままならCPUの内蔵カウンタの値は基準速度Vのときの2倍になるが、CPU10は内蔵カウンタの値が一定となるように駆動源を制御するから、結果的に駆動源の駆動速度は2×Vとなる。即ち基準速度Vと2×Vときでセレクタ出力13のエッジ周期は変わらない。より端的に言えば、速度×プリスケーラ分周比=一定となるのである。ただし駆動系の時間当たりの変異量は速度が大きくなれば増加するため、制御系のループゲインは速度に応じて変更せねばならない。具体的には、図16を用いて説明した比例係数Kを速度に応じて増減させる。例えば速度が2×Vであれば、Kも2×Kという具合に速度倍率と同じ倍率を乗じることでループゲインを補償する。
【0020】
次に図17(a)〜(e)を用いて駆動速度とエンコーダ出力の関係について説明する。図17(a)〜(e)において○はCPU10による駆動源の制御点を示す。
【0021】
上述の手法を用いれば、基準速度V(図17(c))に対して高速に制御する場合は、プリスケーラでエンコーダ信号を間引くことで簡単に対応できる。例えば基準速度Vの2倍の速度はエンコーダ出力を1/2に(図17(b))、基準速度Vの4倍の速度はエンコーダ出力を1/4に(図17(a))間引き、○で示すCPU10のサービス周期を一定にできる。
【0022】
しかしエンコーダ信号を増倍することはできないため、基準速度Vより低速に制御するのは簡単ではない。図17(d)と図17(e)における□はCPU10がサービスを実行できない制御点を示しており、例えば1/2×VのときはCPU10が制御演算を実施するサービス回数は基準速度V時の1/2倍(図17(d))となり、1/4×Vのときは同1/4倍(図17(e))となる。サービス回数の低下はそのまま制御性能、特にサーボ帯域の低下となって現われる。
【0023】
この対策として、例えば図18の方法がある。図18はCPU10のサービス回数を単純に増加する方法を示す図である。図18において○はCPU10のサービス実施の対象となるエッジを示している。まず駆動速度が基準速度Vのとき、CPU10はエンコーダの単相信号(例えばA相)の単エッジを用いて制御を実施するが、駆動速度が1/2倍の時はエンコーダの単相信号(例えばA相)の両エッジ、駆動速度が1/4倍の時はエンコーダの両相信号(A相とB相)の両エッジを用いて制御を実施するものである。
【0024】
この方法なら非常に簡単にCPUのサービス回数を確保できる。しかし本来エンコーダのエッジ間隔(=距離)は常に等しいという前提でサーボ演算はなされるが、上述の手法では、この前提が成立しない場合がある。
【0025】
次に図19を用いてエッジ間隔が等しくならない場合について説明する。
図19(a)はエンコーダの各相信号のデューティが50%で、相間の位相差が90゜の状態を示す図であり、一方図19(b)は、例えばエンコーダの精度が低く、図19(a)の状態が崩れた場合を示す図である。図19(a)では、駆動源が理想的に駆動された場合は、2つの相信号によって形成される4つの区間(区間A:A相立ち上がりエッジ〜B相立ち上がりエッジ、区間B:B相立ち上がりエッジ〜A相立ち下がりエッジ、区間C:A相立ち下がりエッジ〜B相立ち下がりエッジ、区間D:B相立ち下がりエッジ〜A相立ち上がりエッジ)の全ての区間距離が等しくなる。よって2つの相信号の全エッジを取得すれば、エッジ間隔も等しくなる。
【0026】
ところが図19(b)ではデューティが50%でなく、また相間の位相差も90゜ではないため、A相、B相の2つの相信号によって形成される4つの区間距離A’、B’、C’、D’はまちまちであり、駆動源が理想的に駆動されていても、各相の変化点で生成されるエッジ間隔は等しくならない。
【0027】
前述のように、サーボ演算はエンコーダのエッジ間隔(=距離)は常に等しいという前提でなされるため、図19(b)の状態では演算の結果、出力される制御信号は区間A、区間B、区間C、区間Dを一周期として振動する。このため駆動源から振動周期と一致する異音が生じたり、制御系全体の挙動が不安定になったりする。
【0028】
一般に市販されているエンコーダの大半は図19(b)のような特性を示し、中にはデューティ、相間の位相差とも10数%ばらつくものさえ存在する。
【0029】
【発明が解決しようとする課題】
上述してきたように従来の駆動源制御方法では、次の課題がある。まず駆動源の速度を基準速度Vより低速に制御しようとする場合、相対的にエンコーダの分解能が低くなるため制御帯域を確保することが困難となる。図18で示したようにエンコーダのエッジ間隔は駆動源が低速になるほど広がるため、系の速度変化に対して素早く反応できなくなる。一般的には、この立ち上がりエッジの周期の逆数(周波数)がサンプリングレートであり、サーボ系はサンプリングレートが低下するとサービス回数が低下し、制御性能が劣化する。
【0030】
高分解能のエンコーダを使用することも可能であるが、一般に分解能の高いエンコーダは非常に高価であり、コストのかかるものになってしまう。
【0031】
またエンコーダにはA相とB相があるので、例えばA相とB相の両相の両方のエッジを検出し、この検出タイミングに基づき上述した方法で速度情報を得て制御を行えば、原理的には従来例の4倍のサンプリングレートを確保できることになる。しかし図19(a)、図19(b)を用いて詳細に説明したように、エンコーダ各相のデューティ比や相間の位相差は10数%ばらつくこともあるため、もともと一定の距離を示すはずの情報を信頼できなくなる。これを無視して制御を行うと、駆動源から異音が発生したり制御系の挙動が不安定となる。
【0032】
本発明は上述した課題を解決し、駆動源を低速に駆動したときもサンプリングレートを低下させず帯域を確保でき、更に両相・両エッジを検出し単純にサンプリングレートを確保した場合に見られるような、異音や制御系の挙動不安定のない駆動源制御方法を提供することを目的とする。
【0033】
【課題を解決するための手段】
本発明に係る駆動源制御方法は、A相、B相の複数相信号を出力するエンコーダと、複数相の出力信号に対して立ち上がりエッジと立ち下がりエッジを検出する検出手段と、時系列に隣接するエッジ間隔を測定する測定手段を有し、駆動源を第1の駆動速度で駆動して測定手段で得た値に基づいて制御目標値を取得する第1行程と、測定手段で得た値と制御目標値を比較した結果に基づいて駆動源を第1の駆動速度よりも低速の第2の駆動速度で制御する第2行程とを有する。これにより第1行程でエンコーダのバラつきに対応する制御目標値を得ることができる。また第2行程では第1行程で得た制御目標値を用いて駆動源を制御することができる。
【0034】
更に第1行程において、検出手段は、エンコーダのA相とB相の立ち上がりエッジと立ち下がりエッジを検出し、測定手段は、A相立ち上がりエッジとB相立ち上がりエッジの区間と、B相立ち上がりエッジとA相立ち下がりエッジの区間と、A相立ち下がりエッジとB相立ち下がりエッジの区間と、B相立ち下がりエッジとA相立ち上がりエッジの区間の、4区間についてエッジ間隔を測定すると共に、4区間を1周期として1周期につき1回の割合で、駆動源に対する制御指令を更新し駆動源を第1の駆動速度で駆動する。これにより安定した駆動条件のもとで上記各区間単位で制御目標値を入手することができる。
【0035】
更に複数相の出力信号に対して特定相の特定エッジ(例えばA相の立ち上がりエッジ)を検出する第1特定状態検出手段を有し、第1特定状態の検出タイミングに基づき、第1行程のシーケンスを制御する。これにより上述の4区間を特定することができる。
【0036】
更に第1特定状態の検出タイミングに基づき、第2行程のシーケンスを制御する。これにより上述の4区間を特定し、各区間に対して計測された制御目標値を選択して、制御を実行できる。
【0037】
また第1行程において、検出手段は、複数相の出力信号のうちの1つに対して立ち上がりエッジと立ち下がりエッジを検出し、測定手段は、立ち上がりエッジと立ち下がりエッジの区間と、立ち下がりエッジと立ち上がりエッジの区間の、2区間についてエッジ間隔を測定すると共に、2区間を1周期として1周期につき1回、駆動源に対する制御指令を更新し駆動源を第1の駆動速度で駆動する。これにより測定手段に時間的な余裕がない場合でも、上記各区間単位で制御目標値を入手することができる。
【0038】
更に複数相の出力信号の一方に対して、特定エッジ(例えば立ち上がりエッジ)を検出する第2特定状態検出手段を有し、第2特定状態の検出タイミングに基づき、第1行程のシーケンスを制御する。これにより上述の2区間を特定することができる。
【0039】
更に第2特定状態の検出タイミングに基づき、第2行程のシーケンスを制御する。これにより上述の2区間を特定し、各区間に対して計測された制御目標値を選択して、制御を実行できる。
【0040】
また1相の信号を出力するエンコーダと、1相の出力信号に対してエッジを検出する検出手段と、時系列に隣接するエッジ間隔を測定する測定手段を有し、駆動源を第1の駆動速度で駆動して測定手段で得た値に基づいて制御目標値を取得する第1行程と、測定手段で得た値と制御目標値を比較した結果に基づいて、駆動源を第1の駆動速度よりも低速の第2の駆動速度で制御する第2行程とを有する。これにより第1行程でエンコーダのバラつきに対応する制御目標値を得、第2行程では第1行程で得た制御目標値を用いて駆動源を制御することができる。
【0041】
更に第1行程において、検出手段は、1相の出力信号に対して立ち上がりエッジと立ち下がりエッジを検出し、測定手段は、立ち上がりエッジと立ち下がりエッジの区間と、立ち下がりエッジと立ち上がりエッジの区間の、2区間についてエッジ間隔を測定すると共に、2区間を1周期として1周期につき1回、駆動源に対する制御指令を更新し駆動源を第1の駆動速度で駆動する。これにより安定した駆動条件のもとで上述の2区間を特定することができる。
【0042】
更に1相の出力信号に対して、特定エッジ(例えば立ち上がりエッジ)を検出する特定状態検出手段を有し、特定状態の検出タイミングに基づき、第1行程のシーケンスを制御する。これにより上述の2区間を特定することができる。
【0043】
更に特定状態の検出タイミングに基づき、前記第2行程のシーケンスを制御する。これにより上述の2区間を特定し、各区間に対して計測された制御目標値を選択して、制御を実行できる。
【0044】
また制御目標値を記憶するための記憶手段を有し、駆動源を含む装置の電源が投入された直後に第1行程を実施して、制御目標値を記憶手段に格納すると共に、以降は記憶手段に格納された制御目標値を用いて、駆動源を制御する。これにより頻繁に駆動源のスタート・ストップが発生する場合でも時間的な無駄を省くことができる。
【0045】
また制御目標値を記憶するための記憶手段を有し、第2行程実行中に前記エッジ間隔を測定し、測定結果に応じて制御目標値を更新する。これにより駆動源を常に安定して制御できる。
【0046】
【発明の実施の形態】
本発明の請求項1に記載の発明は、駆動源と機械的に接続され、または駆動源と一体に構成され、駆動源の変位量に応じて、複数相の信号を出力するエンコーダと、前記複数相の出力信号に対してエッジを検出する検出手段と、時系列に隣接するエッジ間隔を測定する測定手段を有し、駆動源を第1の駆動速度で駆動して前記測定手段で得た値に基づいて制御目標値を取得する第1行程と、前記測定手段で得た値と制御目標値を比較した結果に基づいて、駆動源を前記第1の駆動速度よりも低速の第2の駆動速度で制御する第2行程とを有することを特徴とする駆動源制御方法であり、これにより第1行程でエンコーダのバラつきに対応する制御目標値を得ることができる。また第2行程では第1行程で得た制御目標値を用いて駆動源を制御することができる。
【0047】
本発明の請求項2に記載の発明は、前記第1行程において、前記検出手段は、エンコーダのA相とB相の立ち上がりエッジと立ち下がりエッジを検出し、前記測定手段は、A相立ち上がりエッジとB相立ち上がりエッジの区間と、B相立ち上がりエッジとA相立ち下がりエッジの区間と、A相立ち下がりエッジとB相立ち下がりエッジの区間と、B相立ち下がりエッジとA相立ち上がりエッジの区間の、4区間についてエッジ間隔を測定すると共に、4区間を1周期として1周期につき1回の割合で、駆動源に対する制御指令を更新し駆動源を前記第1の駆動速度で駆動することを特徴とする請求項1に記載の駆動源制御方式であり、これにより上記各区間単位で制御目標値を入手することができる。
【0048】
本発明の請求項3に記載の発明は、前記複数相の出力信号に対して特定相の特定エッジ(例えばA相の立ち上がりエッジ)を検出する第1特定状態検出手段を有し、前記第1特定状態の検出タイミングに基づき、前記第1行程のシーケンスを制御することを特徴とする請求項1に記載の駆動源制御方式であり、これにより上述の4区間を特定することができる。
【0049】
本発明の請求項4に記載の発明は、前記第1特定状態の検出タイミングに基づき、前記第2行程のシーケンスを制御することを特徴とする請求項に記載の駆動源制御方式であり、これにより上述の4区間を特定し、各区間に対して計測された制御目標値を選択して、制御を実行できる。
【0050】
本発明の請求項5に記載の発明は、前記第1行程において、前記検出手段は、前記複数相の出力信号のうちの1つに対して立ち上がりエッジと立ち下がりエッジを検出し、前記測定手段は、立ち上がりエッジと立ち下がりエッジの区間と、立ち下がりエッジと立ち上がりエッジの区間の、2区間についてエッジ間隔を測定すると共に、2区間を1周期として1周期につき1回、駆動源に対する制御指令を更新し駆動源を第1の駆動速度で駆動することを特徴とする請求項1に記載の駆動源制御方式であり、これにより測定手段に時間的な余裕がない場合でも、上記各区間単位で制御目標値を入手することができる。
【0051】
本発明の請求項6に記載の発明は、前記複数相の出力信号の一方に対して、特定エッジ(例えば立ち上がりエッジ)を検出する第2特定状態検出手段を有し、前記第2特定状態の検出タイミングに基づき、前記第1行程のシーケンスを制御することを特徴とする請求項1に記載の駆動源制御方式であり、これにより上述の2区間を特定することができる。
【0052】
本発明の請求項7に記載の発明は、前記第2特定状態の検出タイミングに基づき、前記第2行程のシーケンスを制御することを特徴とする請求項に記載の駆動源制御方式であり、これにより上述の2区間を特定し、各区間に対して計測された制御目標値を選択して、制御を実行できる。
【0053】
本発明の請求項8に記載の発明は、駆動源と機械的に接続され、または駆動源と一体に構成され、駆動源の変位量に応じて、1相の信号を出力するエンコーダと、1相の出力信号に対してエッジを検出する検出手段と、時系列に隣接するエッジ間隔を測定する測定手段を有し、駆動源を第1の駆動速度で駆動して前記測定手段で得た値に基づいて制御目標値を取得する第1行程と、前記測定手段で得た値と制御目標値を比較した結果に基づいて、駆動源を前記第1の駆動速度よりも低速の第2の駆動速度で制御する第2行程とを有することを特徴とする駆動源制御方法であり、これにより第1行程でエンコーダのバラつきに対応する制御目標値を得、第2行程では第1行程で得た制御目標値を用いて駆動源を制御することができる。
【0054】
本発明の請求項9に記載の発明は、前記第1行程において、前記検出手段は、前記1相の出力信号に対して立ち上がりエッジと立ち下がりエッジを検出し、前記測定手段は、立ち上がりエッジと立ち下がりエッジの区間と、立ち下がりエッジと立ち上がりエッジの区間の、2区間についてエッジ間隔を測定すると共に、2区間を1周期として1周期につき1回、駆動源に対する制御指令を更新し駆動源を前記第1の駆動速度で駆動することを特徴とする請求項8に記載の駆動源制御方式であり、これにより上述の2区間を特定することができる。
【0055】
本発明の請求項10に記載の発明は、前記1相の出力信号に対して、特定エッジ(例えば立ち上がりエッジ)を検出する特定状態検出手段を有し、前記特定状態の検出タイミングに基づき、前記第1行程のシーケンスを制御することを特徴とする請求項8に記載の駆動源制御方式であり、これにより上述の2区間を特定することができる。
【0056】
本発明の請求項11に記載の発明は、前記特定状態の検出タイミングに基づき、前記第2行程のシーケンスを制御することを特徴とする請求項10に記載の駆動源制御方式であり、これにより上述の2区間を特定し、各区間に対して計測された制御目標値を選択して、制御を実行できる。
【0057】
本発明の請求項12に記載の発明は、前記制御目標値を記憶するための記憶手段を有し、駆動源を含む装置の電源が投入された直後に前記第1行程を実施して、前記制御目標値を前記記憶手段に格納すると共に、以降は前記記憶手段に格納された制御目標値を用いて、駆動源を制御することを特徴とする請求項1及び8に記載の駆動源制御方式であり、これにより頻繁に駆動源のスタート・ストップが発生する場合でも時間的な無駄を省くことができる。
【0058】
本発明の請求項13に記載の発明は、前記制御目標値を記憶するための記憶手段を有し、前記第2行程実行中に前記エッジ間隔を測定し、測定結果に応じて前記制御目標値を更新することを特徴とする請求項1及び8に記載の駆動源制御方式であり、これにより駆動源を常に安定して制御できる。
【0059】
(実施の形態1)
以下、本発明の一実施の形態について図面を参照しながら説明する。実施の形態1では本発明を画像読み取り装置に適用した場合について説明する。
【0060】
近年ワークステーションやパーソナルコンピュータ等が高機能化され、カラー画像の編集、電子ファイリングやOCR(光学式文字読み取り装置)等による文字入力が高速に処理できるようになった。これに伴い画像を簡易に入力することができるフラットベッドタイプの画像読み取り装置が普及してきている。この種の装置では、原稿を読み取るためにDCモータ等の駆動源が採用されている。
【0061】
図1は本発明に係る駆動源制御方法を応用した画像読み取り装置の概略を示す図である。図1において18は画像読み取り装置本体である。19は読み取らせる原稿を載置する原稿ガラスである。20は原稿を走査して読みとるキャリッジである。キャリッジ20は図示しないシャフト、レール等の支持部材により支持され、移動方向を一方向に規制されている。21はキャリッジを駆動する駆動源でありDCモータが採用されている。22は駆動源21の軸に直結されたエンコーダであり、駆動源21が所定量回転する毎にA相、B相の2つの相から位相が約90゜ずれた、デューティ比約50%のパルスを発生する。23は駆動プーリ、24はタイミングベルトであり、駆動源21で発生した動力は、タイミングベルト24によって駆動プーリ23に伝達される。25はワイヤ、26は従動プーリであり、ワイヤ25は駆動プーリ23と従動プーリ26の間に張られ、駆動プーリ23の回転に伴ってキャリッジ20を方向d1及びその逆方向に移動させる。
【0062】
27は原稿ガラス19上に載置された原稿であり、原稿27はキャリッジ20の移動によりライン単位に読み取られる。28は原稿カバーであり、支持部29によって開閉可能に支持されている。30は基準取得位置であり、この位置の原稿ガラス上には白色の基準板が張り付けられている。p1はキャリッジ20のホームポジションであり、画像読み取り装置が待機中の場合は、キャリッジ20は必ずホームポジションp1に位置している。
【0063】
次に図2は本発明に係る駆動源制御方法を適用した画像読み取り装置の光学系の概略を示す図である。図2において31は原稿を照射するランプ、32は実質的に画像読み取り位置を特定するアパーチャ、33a、33b、33cは原稿からの反射光を反射する反射ミラー、34は光学情報を電気信号に変換するイメージセンサ、35はイメージセンサ34上にイメージを結像させる結像レンズである。
【0064】
以上の様に構成された画像読み取り装置について、図1及び図2を用いて、以下にその動作を説明する。
【0065】
装置の電源が投入されると、キャリッジ20は初期位置にかかわらず、ホームポジションp1に復帰する。その後、基準取得位置30に移動し、ランプ31を点灯して基準板を実際に読み取ってイメージセンサ34から出力されるアナログ信号に対する増幅率の決定、及び白黒レベルの補正(シェーディング補正)等を行なう。その後再度ホームポジションp1に復帰し、待機状態となる。
【0066】
次に本発明に係る駆動源制御方法を応用した画像読み取り装置の読み取り動作について詳細に説明する。
【0067】
例えばパーソナルコンピーュータ等の外部ホスト(図示せず。以降、単にPCと略称する)より、読み取り解像度、読み取り範囲等の設定を行なった後、原稿の読み取り命令が出されると、ランプ31を点灯すると共に駆動源21を回転し、タイミングベルト24、駆動プーリ23、ワイヤ25及び従動プーリ26を介して駆動力をキャリッジ20に伝達し、キャリッジ20を方向d1に、PCから予め設定された読み取り解像度に対応した速度で移動させる。PCから設定された読み取り範囲に対応した領域の先頭にキャリッジ20が到達すると、原稿ガラス19上に載置された原稿の読み取りを開始する。原稿は、原稿ガラス19を通してランプ31により照射され、原稿からの反射光は反射ミラー33a、33b、33cにより反射され、結像レンズ35によりイメージセンサ34上に結像され、電気信号に変換される。指定された読み取り範囲に対する読み取り動作が終了すると、キャリッジ20を方向d1とは逆方向に移動させ、ホームポジションp1に復帰させる。
【0068】
以上述べたように画像読み取り装置はPCから指定された解像度に応じてキャリッジ20の移動速度を変化させて画像を読み取る。
【0069】
次に本発明に係る駆動源制御方法を図3を用いて詳細に説明する。図3は本発明に係る駆動源制御方法の構成を示すブロック図である。
【0070】
図3において、21はキャリッジを駆動する駆動源であり、DCモータが採用されている。22は駆動源21の軸に直結されたエンコーダであり、駆動源21が所定量回転する毎にA相、B相の2つの相から位相が約90゜ずれた、デューティ比約50%のパルスを発生する。36aはエンコーダ22から出力されるA相信号、36bはエンコーダ22から出力されるB相信号である。一般にA相とB相の位相は90゜ずらして設計されるが、10数%程度の誤差を持つものもある。また各相信号のデューティ比は50%となるよう設計されているが、10数%程度の誤差を持つものもある。37a、37bはエッジを検出する検出手段としてのエッジ検出部であり、A相とB相各々の立ち上がりエッジと立ち下がりエッジを検出し、パルスとして出力する。
【0071】
38は回転方向検出部であり、例えばA相の立ち上がりエッジ検出時のB相のステート(LowかHiか)に応じて駆動源21の回転方向、即ちキャリッジ20の移動方向を検出する。39は合成回路部であり、エッジ検出部37a、37bの出力をOR演算し、エッジ検出部37a、37bで検出されたA相とB相の立ち上がりと立ち下がりエッジを全てパルスとして出力する。40はアップダウンカウンタであり、回転方向検出部38の出力に応じて、合成回路部39から出力されたパルスをアップダウンカウントする。アップダウンカウンタ40の出力を参照することで、駆動源21で駆動されるキャリッジ20がどの位置にあるかを検出することができる。41はプリスケーラであり、指定された読み取り解像度に依存して決まるキャリッジ20の移動速度に応じて、所望の率で入力信号を分周する。42はプリスケーラ出力であり、43は(プリスケーラ41により分周されていない)合成回路出力であり、44はエンコーダ単相出力である。45はセレクタであり、プリスケーラ出力42と、合成回路出力43とエンコーダ単相出力44のいずれかを選択する。46は後述のごとくセレクタ45から出力される信号のエッジ間隔を測定する測定手段としての演算装置(以降CPUと略称する)であり、更にCPU46は後述のようにエッジ間隔を測定して駆動源の速度情報(即ち駆動速度)を算出するとともに、この速度情報に基づいてモータドライバ48に速度指令値を出力し駆動源21を制御する。47はCPU46に供給されるクロック信号を発生するクロック発生器である。48はモータドライバであり、CPU46が出力する制御信号に基づき駆動源21の回転速度を制御する。49は不揮発性メモリであり、例えばシリアル通信等によりCPU46とデータのやり取りを行う。また後述するように、不揮発性メモリ49には駆動源の駆動速度の目標値としての制御目標値が格納され、更に不揮発性メモリ49上で制御目標値を更新することも可能である。50はワークメモリであり、CPU46のワーク領域として装備されている。
【0072】
さてCPU46は図示しない内蔵カウンタと、内蔵カウンタの値をコピーする図示しない内蔵レジスタを有している。内蔵カウンタは基本的にはフリーランカウンタであり、クロック発生器47が発生するクロックパルスが入力する度にカウンタ値がインクリメントされる。CPU46はセレクタ45で選択された信号の立ち上がりエッジが入力されると、それまでクロック数を計数してきた内蔵カウンタの値を、図示しない内蔵レジスタにコピーすると共に、内蔵カウンタの値を0にリセットする。
【0073】
次に図3と図4を用いて、A相、B相の立ち上がり、立ち下がりエッジを参照して、駆動源を基準速度Vの1/4倍の速度に制御する場合(以降このモードを両相両エッジ駆動と呼称する)における、本発明の第1行程、即ち制御目標値を取得する過程について説明する。
【0074】
図4は実施の形態1における両相両エッジ駆動の第1行程のシーケンスを示す図である。
【0075】
まず駆動源21の回転を開始するにあたって、エンコーダ単相信号44(=エンコーダA相信号)がCPU46の入力となるように、CPU46はセレクタ45を設定する。CPU46はこの状態で駆動源21の速度制御を行うが、この過程は従来例と全く同様なので省略する。またこの時点での駆動源の駆動速度は、例えばA相の立ち上がりエッジのみを参照して駆動源を駆動する場合の速度と等しく、これは従来例で基準速度Vとして説明した速度であり、特許請求の範囲の記載における第1の駆動速度に対応する。
【0076】
駆動源21が予め定められた回転速度に到達すると、CPU46は、割り込みによって、その直後のエンコーダ単相信号44の立ち上がりのタイミングT1−1を検出すると、直ちにエッジ合成回路出力43がCPU46の入力となるように、セレクタ45の設定を変更し、更にワークメモリ50上に割り付けられた、ソフトウェアが管理する変数である、4つの区間累積値を0にクリアする。
【0077】
その他のCPU46の状態は変わっていないため、以降、CPU46の内蔵カウンタは、図4に示す区間s、区間t、区間u、区間vにおいて、クロック発生器47が発生したクロックパルスを計数し、このカウンタ値は図示しない内蔵レジスタにコピーされる。
【0078】
CPU46が次の立ち上がりのタイミングT1−2を検出した時点では、内蔵レジスタには区間sにおけるカウンタ値がコピーされており、CPU46はこの値を内蔵レジスタから取りだし、ワークメモリ50にカウンタ値sとして格納すると共に、区間sに対応する区間累積値に加算する。以降この処理を処理Bと呼称する。
【0079】
CPU46が次の立ち上がりのタイミングT1−3を検出した時点では、内蔵レジスタには区間tにおけるカウンタ値がコピーされており、CPU46はこの値を内蔵レジスタから取りだし、ワークメモリ50にカウンタ値tとして格納すると共に、区間tに対応する区間累積値に加算する。以降この処理を処理Cと呼称する。
【0080】
CPU46が次の立ち上がりのタイミングT1−4を検出した時点では、内蔵レジスタには区間uにおけるカウンタ値がコピーされており、CPU46はこの値を内蔵レジスタから取りだし、ワークメモリ50にカウンタ値uとして格納すると共に、区間uに対応する区間累積値に加算する。以降この処理を処理Dと呼称する。
【0081】
CPU46が次の立ち上がりのタイミングT1−5を検出した時点では、内蔵レジスタには区間vにおけるカウンタ値がコピーされており、CPU46はこの値を内蔵レジスタから取りだし、ワークメモリ50にカウンタ値vとして格納すると共に、区間vに対応する区間累積値に加算する。更にワークメモリに格納されたカウンタ値s、カウンタ値t、カウンタ値u、カウンタ値vを加算する。この加算結果はエンコーダ単相信号44の立ち上がりエッジ間隔のみに着目してカウントした値と等価である。
【0082】
エンコーダ単相信号44は駆動源が所定の角度回転する毎に発生する「距離」を示す信号である。また各区間毎にクロック信号を計数したカウンタ値の加算結果は「時間」を表わすから、CPU46は距離÷時間を演算することで、駆動源21の速度情報を入手することができる。一般にエンコーダは、同一の相の同一のエッジ間隔は極めて高い精度で一定に再現されるため、エッジ間隔=「距離」を一定値とみなし、予め定められた定数(以降速度変換定数:TRNVと示す)を定義し、これをカウンタ値s、カウンタ値t、カウンタ値u、カウンタ値vの加算結果で除算して速度情報とする。以降この処理を処理Aと呼称する。
【0083】
この速度情報に基づきCPU46はモータドライバ48に速度指令値を出力し、駆動源21を制御する。この過程は図16のフローに示した従来例の制御信号生成過程と全く同様なので省略する。
【0084】
同様にタイミングT1−6では処理Bを、タイミングT1−7では処理Cを、タイミングT1−8では処理Dを、更にタイミングT1−9では処理Aを・・・のように順次周期的に実行していく。最初にエンコーダ単相信号44の立ち上がり、即ちタイミングT1−1を開始トリガとして用いることで、区間s、区間t、区間u、区間vを容易に判別できる。上述した処理を繰り返せば、合成回路出力43を参照しながら、エンコーダ単相信号44を用いたのと全く同等に駆動源21を制御できる。
【0085】
さてこのように駆動源21を制御しながら、駆動源21を予め定められた期間、例えば予め定められた回数の、処理Aを実施する期間、駆動源21を駆動すれば、上述の処理B、処理C、処理D、処理Aにより、それぞれ区間sのカウンタ値s、区間tのカウンタ値t、区間uのカウンタ値u、区間vのカウンタ値vの累積結果を得ることができる。以降この累積結果を累積値s、累積値t、累積値u、累積値vと呼称する。
【0086】
エンコーダの各相のデューティ比と相間の位相差のばらつきは、エンコーダ固有のものであり、上述の4つの区間に周期的に現われるため、4つの区間についての累積値を取得すれば、ばらつきの状態を完全に把握することができる。更に累積期間をある程度与えれば、制御系の外乱要素の影響を小さくなるため、結果的に累積値s、累積値t、累積値u、累積値vの比は、それぞれ区間s、区間t、区間u、区間vの距離の比を示す情報とみなしてよい。
【0087】
一方エンコーダ単相信号44の立ち上がりエッジの周期は、仮に駆動源21が理想的に回転していれば一定の値となり、エッジ周期をカウントするカウント値も当然一定の値となる。これはキャリッジ20の目標とする移動速度と駆動系の減速比と、エッジ周期をカウントするクロックの周波数から予め求めることができる。例えばキャリッジ20を所定の速度で駆動するとき、駆動源が基準速度Vで駆動されるとする。このときエンコーダ単相信号44の立ち上がりエッジの周期が1msecであり、区間計測用のクロック周波数が8MHzであれば、エンコーダ単相信号44のエッジ間においてカウンタ値は理論的には8000となる。このカウント値は設計上定まる数値であり、以降これを理論カウント値と呼称しCNTAと示す。
【0088】
最終的に第1行程は各区間に対する理論カウント値を求め、これから各区間毎の制御目標値を得ることが目的である。
【0089】
次に各区間の理論カウント値を求める方法を説明する。理論カウント値CNTAは設計的に求めることができる数値であることは既に述べた。また累積値s、累積値t、累積値u、累積値vの比は、それぞれ区間s、区間t、区間u、区間vの距離の比を示す情報とみなしてよい。そこでまず累積値s、累積値t、累積値u、累積値vの平均値を求め、これをCNTaveとする。CNTaveを用いて区間sの理論カウント値CNTsは(数4)のように、区間tの理論カウント値CNTtは(数5)のように、区間uの理論カウント値CNTuは(数6)のように、区間vの理論カウント値CNTvは(数7)のように求められる。
【0090】
(数4) CNTs=CNTA×累積値s/CNTave
(数5) CNTt=CNTA×累積値t/CNTave
(数6) CNTu=CNTA×累積値u/CNTave
(数7) CNTv=CNTA×累積値v/CNTave
さてここで、前に述べた速度変換定数TRNVを用いると、区間sの速度目標値VELOsは(数8)、区間tの速度目標値VELOtは(数9)、区間uの速度目標値VELOuは(数10)、区間vの速度目標値VELOvは(数11)と表される。
【0091】
(数8) VELOs=TRNV/CNTs
(数9) VELOt=TRNV/CNTt
(数10) VELOu=TRNV/CNTu
(数11) VELOv=TRNV/CNTv
こうして求めた4つの、各区間毎の速度目標値は、それぞれが対応する区間の制御目標として、ワークメモリ50に格納される。
【0092】
さて、前述したようにエンコーダの各相のデューティ比と相間の位相差のばらつきは、エンコーダ固有のばらつき量であるから、経時的な変化は生じない。従って第1行程は、例えば装置の電源が立ち上げられた直後に実施すればよいし、また、例えば、装置の組み立て行程において一度実施し、各区間の制御目標値を不揮発性メモリ49に格納しておくこともできる。仮にエンコーダのデューティ比に経時変化が生じた場合には、再計測した値を不揮発性メモリ49上で更新することも可能である。
【0093】
次に図3と図5と図6を用いて、本発明において駆動源の駆動速度を基準速度Vの1/4に設定した場合の第2行程、即ち第1行程で駆動源を基準速度Vで駆動して求めた区間毎の制御目標値を用いて駆動源を制御する過程について説明する。この第2行程における、基準速度Vに対して1/4に設定された駆動速度が、特許請求の範囲に記載の第1の駆動速度よりも低速の第2の駆動速度に対応する。
【0094】
図5は実施の形態1における第2行程のシーケンスを示す図であり、図6は制御信号生成過程を示すフローを示す図である。
【0095】
駆動源21の回転を開始するにあたって、CPU46は第1行程で取得した各区間の制御目標値、即ち速度目標値(VELOs、VELOt、VELOu、VELOv)を不揮発性メモリ49から取り出し、ワークメモリ50にコピーすることもできる。既にワークメモリ50に速度目標値(VELOs、VELOt、VELOu、VELOv)が格納されていれば、これをそのまま使用することもできる。まずエンコーダ単相信号44(=エンコーダA相信号)がCPU46の入力となるように、CPU46はセレクタ45を設定する。CPU46はこの状態で駆動源21の速度制御を行うが、この過程は従来例と全く同様なので省略する。
【0096】
駆動源21が予め定められた回転速度に到達すると、CPU46は、割り込みによって、その直後のエンコーダ単相信号44の立ち上がりのタイミングT2−1を検出すると(ステップ10)、直ちにエッジ合成回路出力43がCPU46の入力となるように、セレクタ45の設定を変更する(ステップ20)。
【0097】
その他のCPU46の状態は変わっていないため、以降、CPU46の内蔵カウンタは、図5に示す区間s、区間t、区間u、区間vにおいて、クロック発生器47が発生したクロックパルスを計数し、このカウンタ値は図示しない内蔵レジスタにコピーされる。この値を以降CNTと略称する。
【0098】
CPU46が次の立ち上がりのタイミングT2−2を検出した時点では(ステップ30)、CPU46はこの割り込みを起点として割り込み回数のカウントを開始する(ステップ40)。内蔵レジスタには区間sにおける内蔵カウンタ値CNTがコピーされており、CPU46はこの値を内蔵レジスタから取りだし、(数12)により速度情報VELOに変換する(ステップ50)。
【0099】
(数12) VELO=TRNV/CNT次に割り込み回数を4で割った余りを求め(ステップ60)、ここでは余りが0なので区間sの速度目標値VELOsを選択する(ステップ70)。
【0100】
次にステップ50で得られた速度情報VELOを用いて(数13)に基づいて速度偏差を求める(ステップ80)。
【0101】
(数13) 速度偏差e=速度目標値VELOs−VELO
次にステップ80で得られた速度偏差eを累積(積分)し、(数14)に従い距離偏差を求める(ステップ90)。
【0102】
(数14) 距離偏差=Σ(速度偏差e)
次にステップ80とステップ90で得られた速度偏差と距離偏差を用い、(数15)に従って速度指令値を計算する(ステップ100)。
【0103】
(数15) 速度指令値=K{速度偏差+距離偏差/T}
比例積分制御にはKとTの2つの係数が存在するが、一般にKを比例係数、Tを積分係数と呼称する。これらの係数は、駆動系を構成するハードウェア(モータ、モータドライバ等)に依存しており、例えばSPICE等によるアナログシミュレーションや限界感度法などの方法によって定めることができる。
【0104】
次に割り込み回数をインクリメントし(ステップ110)、最後にCPU46はモータドライバ48に対して速度指令値を出力して駆動源21の速度を制御する(ステップ120)。
【0105】
CPU46が次の立ち上がりのタイミングT2−3を検出した時点では、割り込み回数の条件(ステップ30)によりステップ40は処理しない。内蔵レジスタには区間tにおける内蔵カウンタ値CNTがコピーされており、CPU46はこの値を内蔵レジスタから取りだし、(数12)により速度情報VELOに変更する(ステップ50)。
【0106】
次に割り込み回数を4で割った余りを求め(ステップ60)、ここでは余りが1なので(ステップ130)、区間sの速度目標値VELOtを選択する(ステップ140)。
【0107】
次にステップ50で得られた速度情報VELOを用いて(数16)に基づいて速度偏差を求める(ステップ80)。
【0108】
(数16) 速度偏差e=速度目標値VELOt−VELO
次にステップ80で得られた速度偏差eを累積(積分)し、(数14)に従い距離偏差を求める(ステップ90)。
【0109】
次にステップ80とステップ90で得られた速度偏差と距離偏差を用い、(数15)に従って速度指令値を計算する(ステップ100)。
【0110】
次に割り込み回数をインクリメントし(ステップ110)、最後にCPU46はモータドライバ48に対して速度指令値を出力する(ステップ120)。
【0111】
CPU46が次の立ち上がりのタイミングT2−4を検出した時点では、割り込み回数の条件(ステップ30)によりステップ40は処理しない。内蔵レジスタには区間uにおける内蔵カウンタ値CNTがコピーされており、CPU46はこの値を内蔵レジスタから取りだし、(数12)により速度情報VELOに変更する(ステップ50)。
【0112】
次に割り込み回数を4で割った余りを求め(ステップ60)、ここでは余りが2なので(ステップ150)、区間uの速度目標値VELOuを選択する(ステップ160)。
【0113】
次にステップ50で得られた速度情報VELOを用いて(数17)に基づいて速度偏差を求める(ステップ80)。
【0114】
(数17) 速度偏差e=速度目標値VELOu−VELO
次にステップ80で得られた速度偏差eを累積(積分)し、(数14)に従い距離偏差を求める(ステップ90)。
【0115】
次にステップ80とステップ90で得られた速度偏差と距離偏差を用い、(数15)に従って速度指令値を計算する(ステップ100)。
【0116】
次に割り込み回数をインクリメントし(ステップ110)、最後にCPU46はモータドライバ48に対して速度指令値を出力する(ステップ120)。
【0117】
CPU46が次の立ち上がりのタイミングT2−5を検出した時点では、割り込み回数の条件(ステップ30)によりステップ40は処理しない。内蔵レジスタには区間vにおける内蔵カウンタ値CNTがコピーされており、CPU46はこの値を内蔵レジスタから取りだし、(数12)により速度情報VELOに変更する(ステップ50)。
【0118】
次に割り込み回数を4で割った余りを求め(ステップ60)、ここでは余りが3なので(ステップ150)、区間vの速度目標値VELOvを選択する(ステップ170)。
【0119】
次にステップ50で得られた速度情報VELOを用いて(数18)に基づいて速度偏差を求める(ステップ80)。
【0120】
(数18) 速度偏差e=速度目標値VELOv−VELO
次にステップ80で得られた速度偏差eを累積(積分)し、(数14)に従い距離偏差を求める(ステップ90)。
【0121】
次にステップ80とステップ90で得られた速度偏差と距離偏差を用い、(数15)に従って速度指令値を計算する(ステップ100)。
【0122】
次に割り込み回数をインクリメントし(ステップ110)、最後にCPU46はモータドライバ48に対して速度指令値を出力する(ステップ120)。
【0123】
以降上述したタイミングT2−2、タイミングT2−3、タイミングT2−4、タイミングT2−5を周期的に繰り返し、駆動源21の速度制御をおこなう。
【0124】
さて上述した処理のなかで、ステップ70の処理時点ではステップ50で得られた内蔵カウンタ値も参照できる。従ってステップ70において区間sに対する内蔵カウンタの値を常にモニタできる。同様にステップ140において区間t、ステップ160において区間u、ステップ170において区間vに対する内蔵カウンタの値をモニタできる。
【0125】
そこで、例えば区間sに対する内蔵カウンタの値を規定回数累積し、これが現在採用している区間sの理論カウント値と予め定められた率より大きく外れた場合は、既に説明した第1行程を装置の待機時等に再実行して、何らかの障害によりエンコーダのデューティや位相差に経時変化が生じた場合に対応できる。
【0126】
また装置組立時に制御目標値を不揮発性メモリ等に書き込んでおくような装置であれば、エンコーダのデューティや位相差に経時変化が生じた場合は、再計測した値を不揮発性メモリ上で更新することも可能である。
【0127】
以上、基準速度Vに対して1/4の速度で、駆動源を駆動する場合について説明してきた。次に基準速度Vに対して1/2の速度で、駆動源を駆動する場合について説明する。
【0128】
基準速度Vに対して1/4の速度で駆動源を駆動する場合は、エンコーダのA相、B相それぞれの立ち上がり、立ち下がりエッジを全て検出して、その区間計測値に基づき駆動源を制御した(両相両エッジ駆動)。一方基準速度Vに対して1/2の速度で、駆動源を駆動する場合はA相の立ち上がり、立ち下がりエッジを検出して、その区間計測値に基づき駆動源を制御する(単相両エッジ駆動)。
【0129】
以降、図3と図7を用いて説明する。図7は実施の形態1における単相両エッジ駆動の第1行程のシーケンスを示す図である。
【0130】
まず駆動源21の回転を開始するにあたって、エンコーダ単相信号44(=エンコーダA相信号)がCPU46の入力となるように、CPU46はセレクタ45を設定する。またプリスケーラ41を2分周出力に設定する。
【0131】
CPU46はこの状態で駆動源21の速度制御を行うが、この過程は従来例と全く同様なので省略する。またこの時点での駆動源の駆動速度は、例えばA相の立ち上がりエッジのみを参照して駆動源を駆動する場合の速度と等しく、これは従来例で基準速度Vとして説明した速度である。
【0132】
駆動源21が予め定められた回転速度に到達すると、CPU46は、割り込みによって、その直後のエンコーダ単相信号44の立ち上がりのタイミングT’1−1を検出すると、直ちにプリスケーラ出力42がCPU46の入力となるように、セレクタ45の設定を変更する。プリスケーラ41にはA相、B相の両エッジの合成回路出力43が入力されているから、プリスケーラ出力42は合成回路出力43を2分周したものとなる。またプリスケーラ41はA相信号を直接参照し(図示せず)、分周出力の立ち上がりと、A相の立ち上がりエッジの同期をとっている。またCPU46はワークメモリ50上に割り付けられた、ソフトウェアが管理する変数である、2つの区間累積値を0にクリアする。
【0133】
その他のCPU46の状態は変わっていないため、以降、CPU46の内蔵カウンタは、図7に示す区間w、区間xにおいて、クロック発生器47が発生したクロックパルスを計数し、このカウンタ値は図示しない内蔵レジスタにコピーされる。
【0134】
CPU46が次の立ち上がりのタイミングT’1−2を検出した時点では、内蔵レジスタには区間wにおけるカウンタ値がコピーされており、CPU46はこの値を内蔵レジスタから取りだし、ワークメモリ50にカウンタ値wとして格納すると共に、区間wに対応する区間累積値に加算する。以降この処理を処理B’と呼称する。
【0135】
CPU46が次の立ち上がりのタイミングT’1−3を検出した時点では、内蔵レジスタには区間xにおけるカウンタ値がコピーされており、CPU46はこの値を内蔵レジスタから取りだし、ワークメモリ50にカウンタ値xとして格納すると共に、区間xに対応する区間累積値に加算する。更にワークメモリに格納されたカウンタ値w、カウンタ値xを加算する。この加算結果はエンコーダ単相信号44の立ち上がりエッジ間隔のみに着目してカウントした値と等価である。
【0136】
エンコーダ単相信号44は駆動源が所定の角度回転する毎に発生する「距離」を示す信号である。また各区間毎にクロック信号を計数したカウンタ値の加算結果は「時間」を表わすから、CPU46は距離÷時間を演算することで、駆動源21の速度情報を入手することができる。一般にエンコーダは、同一の相の同一のエッジ間隔は極めて高い精度で一定に再現されるため、エッジ間隔=「距離」を一定値とみなし、予め定められた定数(以降速度変換定数:TRNVと示す)を定義し、これをカウンタ値w、カウンタ値xの加算結果で除算して速度情報とする。以降この処理を処理A’と呼称する。
【0137】
この速度情報に基づきCPU46はモータドライバ48に速度指令値を出力し、駆動源21を制御する。この過程は図16のフローに示した従来例の制御信号生成過程と全く同様なので省略する。
【0138】
同様にタイミングT’1−3では処理B’を、タイミングT’1−4では処理A’を・・・のように順次周期的に実行していく。最初にエンコーダ単相信号44の立ち上がり、即ちタイミングT’1−1を開始トリガとして用いることで、区間w、区間xを容易に判別できる。上述した処理を繰り返せば、合成回路出力43を参照しながら、エンコーダ単相信号44を用いたのと全く同等に駆動源21を制御できる。
【0139】
さてこのように駆動源21を制御しながら、駆動源21を予め定められた期間、例えば予め定められた回数の、処理A’を実施する期間、駆動源21を駆動すれば、上述の処理B’、処理A’により、それぞれ区間wのカウンタ値w、区間xのカウンタ値xの累積結果を得ることができる。以降この累積結果を累積値w、累積値xと呼称する。
【0140】
エンコーダの単相におけるデューティ比のばらつきは、エンコーダ固有のものであり、上述の2つの区間に周期的に現われるため、2つの区間についての累積値を取得すれば、ばらつきの状態を完全に把握することができる。更に累積期間をある程度与えれば、制御系の外乱要素の影響を小さくなるため、結果的に累積値w、累積値xの比は、それぞれ区間w、区間xの距離の比を示す情報とみなしてよい。
【0141】
一方、エンコーダ単相信号44の立ち上がりエッジの周期は、仮に駆動源21が理想的に回転していれば一定の値となり、エッジ周期をカウントするカウント値も当然一定の値となる。これはキャリッジ20の目標とする移動速度と駆動系の減速比と、エッジ周期をカウントするクロックの周波数から予め求めることができる。例えばキャリッジ20を所定の速度で駆動するとき、駆動源が基準速度Vで駆動されるとする。このときエンコーダ単相信号44の立ち上がりエッジの周期が1msecであり、区間計測用のクロック周波数が8MHzであれば、エンコーダ単相信号44のエッジ間においてカウンタ値は理論的には8000となる。このカウント値は設計上定まる数値であり、以降、これを理論カウント値と呼称し、CNTA’と示す。
【0142】
最終的に第1行程は各区間に対する理論カウント値を求め、これから各区間毎の制御目標値を得ることが目的である。
【0143】
次に各区間の理論カウント値を求める方法を説明する。理論カウント値CNTA’は設計的に求めることができる数値であることは既に述べた。また累積値w、累積値xの比は、それぞれ区間w、区間xの距離の比を示す情報とみなしてよい。そこでまず累積値w、累積値xの平均値を求め、これをCNTave’とする。CNTave’を用いて区間wの理論カウント値CNTwは(数19)のように、区間xの理論カウント値CNTxは(数20)のように求められる。
【0144】
(数19) CNTw=CNTA’×累積値w/CNTave’
(数20) CNTt=CNTA’×累積値x/CNTave’
さてここで、前に述べた速度変換定数TRNV’を用いると、区間wの速度目標値VELOwは(数21)、区間xの速度目標値VELOxは(数22)と表される。
【0145】
(数21) VELOw=TRNV’/CNTw
(数22) VELOx=TRNV’/CNTx
こうして求めた2つの、各区間毎の速度目標値は、それぞれが対応する区間の制御目標として、ワークメモリ50に格納される。
【0146】
さて前述したようにエンコーダの単相のデューティ比のばらつきは、エンコーダ固有のばらつき量であるから、経時的な変化は生じない。従って第1行程は、例えば装置の電源が立ち上げられた直後に実施すればよいし、また例えば装置の組み立て行程において一度実施し、各区間の制御目標値を不揮発性メモリ49に格納しておくこともできる。
【0147】
次に図3と図8と図9を用いて、駆動速度が基準速度Vの1/2の場合における第2行程、即ち第1行程でもとめた区間毎の制御目標値を用いて駆動源を制御する過程について説明する。
【0148】
図8は実施の形態1における駆動速度が基準速度Vの1/2の場合の、第2行程のシーケンスを示す図であり、図9は実施の形態1における駆動速度が基準速度Vの1/2の場合の、第2行程の制御信号生成過程を示すフローチャートである。
【0149】
駆動源21の回転を開始するにあたって、CPU46は第1行程で取得した各区間の制御目標値を不揮発性メモリ49から取り出し、ワークメモリ50にコピーすることもできる。既にワークメモリ50に制御目標値が格納されていれば、これをそのまま使用することもできる。
【0150】
まずエンコーダ単相信号44(=エンコーダA相信号)がCPU46の入力となるように、CPU46はセレクタ45を設定する。CPU46はこの状態で駆動源21の速度制御を行うが、この過程は従来例と全く同様なので省略する。
【0151】
駆動源21が予め定められた回転速度に到達すると、CPU46は、割り込みによって、その直後のエンコーダ単相信号44の立ち上がりのタイミングT’2−1を検出すると(ステップ200)、直ちにプリスケーラ出力42がCPU46の入力となるように、セレクタ45の設定を変更する(ステップ210)。プリスケーラ41にはA相、B相の両エッジの合成回路出力43が入力されているから、プリスケーラ出力42は合成回路出力43を2分周したものとなる。またプリスケーラ41はA相信号を直接参照し(図示せず)、分周出力の立ち上がりと、A相の立ち上がりエッジの同期をとっている。
【0152】
その他のCPU46の状態は変わっていないため、以降、CPU46の内蔵カウンタは、図8に示す区間w、区間xにおいて、クロック発生器47が発生したクロックパルスを計数し、このカウンタ値は図示しない内蔵レジスタにコピーされる。この値を以降CNT’と略称する。
【0153】
CPU46が次の立ち上がりのタイミングT’2−2を検出した時点では(ステップ220)、CPU46はこの割り込みを起点として割り込み回数のカウントを開始する(ステップ230)。内蔵レジスタには区間wにおける内蔵カウンタ値CNT’がコピーされており、CPU46はこの値を内蔵レジスタから取りだし、(数23)により速度情報VELO’に変換する(ステップ240)。
【0154】
(数23) VELO’=TRNV’/CNT’
次に割り込み回数の偶奇判定をし(ステップ250)、ここでは偶数なので区間wの速度目標値VELOwを選択する(ステップ260)。
【0155】
次にステップ240で得られた速度情報VELO’を用いて(数24)に基づいて速度偏差を求める(ステップ270)。
【0156】
(数24) 速度偏差e’=速度目標値VELOw−VELO’
次にステップ270で得られた速度偏差e’を累積(積分)し、(数25)に従い距離偏差を求める(ステップ280)。
【0157】
(数25) 距離偏差=Σ(速度偏差e’)
次にステップ270とステップ280で得られた速度偏差と距離偏差を用い、(数15)に従って速度指令値を計算する(ステップ290)。
【0158】
次に割り込み回数をインクリメントし(ステップ300)、最後にCPU46はモータドライバ48に対して速度指令値を出力して駆動源21の速度を制御する(ステップ310)。
【0159】
CPU46が次の立ち上がりのタイミングT’2−3を検出した時点では、割り込み回数の条件(ステップ220)によりステップ230は処理しない。内蔵レジスタには区間xにおける内蔵カウンタ値CNT’がコピーされており、CPU46はこの値を内蔵レジスタから取りだし、(数23)により速度情報VELO’に変換する(ステップ240)。
【0160】
次に割り込み回数の偶奇判定を行ない(ステップ250)、ここでは奇数なので区間xの速度目標値VELOxを選択する(ステップ320)。
【0161】
次にステップ240で得られた速度情報VELO’を用いて(数26)に基づいて速度偏差を求める(ステップ270)。
【0162】
(数26) 速度偏差e’=速度目標値VELOx−VELO’
次にステップ270で得られた速度偏差e’を累積(積分)し、(数22)に従い距離偏差を求める(ステップ280)。
【0163】
次にステップ270とステップ280で得られた速度偏差と距離偏差を用い、(数15)に従って速度指令値を計算する(ステップ290)。
【0164】
次に割り込み回数をインクリメントし(ステップ300)、最後にCPU46はモータドライバ48に対して速度指令値を出力する(ステップ310)。
【0165】
以降上述したタイミングT’2−2、タイミングT’2−3を周期的に繰り返し、駆動源21の速度制御をおこなう。
【0166】
さて上述した処理のなかで、ステップ260の処理時点ではステップSP240で得られた内蔵カウンタ値も参照できる。従ってステップ260において区間wに対する内蔵カウンタの値を常にモニタできる。同様にステップSP320において区間xに対する内蔵カウンタの値をモニタできる。
【0167】
そこで、例えば区間wに対する内蔵カウンタの値を規定回数累積し、これが現在採用している区間wの理論カウント値と予め定められた率より大きく外れた場合は、既に説明した第1行程を装置の待機時等に再実行して、何らかの障害によりエンコーダのデューティに経時変化が生じた場合に対応できる。
【0168】
また装置組立時に制御目標値を不揮発性メモリ等に書き込んでおくような装置であれば、エンコーダのデューティに経時変化が生じた場合は、再計測した値を不揮発性メモリ上で更新することも可能である。
【0169】
(実施の形態2)
以下、本発明の一実施の形態について図面を参照しながら説明する。実施の形態2では本発明を画像形成装置、より詳しくは電子写真装置に適用した場合について説明する。
【0170】
以下に従来例の電子写真装置について述べていくが、感光体上にレーザビーム等で形成された潜像を各色の現像器で現像し、顕画化された単色画像を一旦中間転写体と呼称する像形成媒体上に転写して合成し、中間転写体上の合成像を一括して用紙に転写する、いわゆる中間転写体方式の電子写真装置について主に説明する。
【0171】
図10は本発明の駆動源制御方法を応用した電子写真装置の全体構成を示す図である。
【0172】
図10において、51はループベルト状の感光体である。感光体51はPET基材、アルミ蒸着層、電荷発生層(CGL)、電荷輸送層(CTL)で構成され、3本の感光体搬送ローラ52、53、54によって支持されている。55は駆動源であり、DCモータが採用されている。駆動源55はエンコーダと一体に構成されており、駆動源55が所定の量回転する毎に単相のパルスを出力する。駆動源55の回転により感光体51は駆動方向d2に周回動する。56は感光体位置検出用マークであり、感光体51の端部に1つ配置されている。57は感光体位置検出マーク56を検出する感光体位置検出センサーである。感光体51は継目58を有しており、画像を形成する際は継目58を回避せねばならない。この際に感光体位置検出センサー57の出力を参照する。
【0173】
感光体51の周面にはd2で示す回転方向に帯電器59、露光光学系60、ブラック(K)、イエロー(Y)、マゼンタ(M)、シアン(C)の各色の現像器61K、61Y、61M、61C、中間転写前除電器62、中間転写ローラ63、感光体クリーニング装置64、及び除電器65が設けられている。
【0174】
帯電器59はタングステンワイヤ等からなる帯電線と金属板からなるシールド板、グリッド板等(図示せず)によって構成され、帯電線へ負の高電圧を印加すると帯電線がコロナ放電を起こし、グリッド板に例えば−700Vの電圧を印加すると感光体51の表面は一様に−700V程度の負の電位に帯電する。
【0175】
露光光学系60はレーザ駆動装置、ポリゴンミラー、レンズ系、ポリゴンミラー回転用のモータ(スキャナモータ)等(図示せず)で構成され、帯電された感光体51上に静電潜像を形成する。66は露光光学系60から照射される露光光線である。露光光線66は例えば階調変換回路(図示せず)からの画像信号をレーザ駆動回路(図示せず)でパルス幅変調して得られ、感光体51上に特定色の画像データに対応する静電潜像を形成する。
【0176】
各現像器61K、61Y、61M、61Cはそれぞれブラック、イエロー、マゼンタ、シアンのトナーを収納している。各色現像器は導電性ゴム等を用いたスリーブローラ67K、67C、67M、67Yを有しており、スリーブローラを感光体51の駆動方向d2に対して順方向に回転させると、現像器内部から薄層化されたトナーがスリーブローラの表面に供給される。トナーは薄層化される時点で摩擦により負に帯電している。各色の現像はスリーブローラに負の電圧(現像バイアス)を印加し、スリーブローラを回転させながら、各色離接カム68K、68Y、68M、68Cに対応した専用モータ(図示せず)を駆動し、選択された現像器、例えばブラック現像器61Kをd4方向に移動し、スリーブローラ67Kを感光体51に接触させて行う。本例では非磁性一成分トナーを用いた接触現像を採用している。
【0177】
潜像が形成された部分の感光体51の表面電位(明電位)は−50〜−100V近くに上昇しており、スリーブローラ67に−300V程度の負の電位を与えることで、感光体51からスリーブローラ67の方向に電界が発生する。この結果スリーブローラ上の負に帯電したトナーには電界の逆、即ち感光体51の方向にクーロン力が作用し、トナーは感光体51に形成された潜像部分に付着する。
一方潜像が形成されていない部分の感光体51の表面電位(暗電位)は−700Vであるから、現像バイアスを印加しても電界はスリーブローラ67から感光体51の方向に生じるためトナーは感光体51に付着しない。以上のような現像プロセスは、光が照射された部分(即ち白)にトナーを付着させる(即ち黒)ため一般にネガポジプロセスあるいは反転現像と呼称されている。
【0178】
中間転写前除電器62は赤色LEDを複数個線上に配置したものであり、感光体51に形成されたトナー像を各色画像の合成媒体である中間転写体69に転写する直前に感光体51の表面を除電する。中間転写前除電器62は原則的に第一色目の転写時には動作せず、二色目以降の転写の際に動作する。転写前除電は中間転写体69にトナー像が転写され、かつ感光体51上にトナーが存在しない場合に、中間転写体69のトナー像が感光体51に逆転写するのを防止する効果がある。
【0179】
逆転写発生のメカニズムを以下に説明する。中間転写体69にトナー像が存在し、かつ感光体51上にトナーが存在しない場合には、中間転写体69上のトナーは後述する中間転写ローラ63による転写バイアスと感光体51の表面電位による過剰な電界中にさらされる。このためトナーの真の電荷が剥奪される、いわゆる電荷注入が発生しトナーと感光体51間でファンデルワールス力が支配的になりトナーが感光体51に逆転写したり、逆帯電トナー(正に帯電したトナー)が発生して、クーロン力により感光体51に逆転写すると考えられている。
【0180】
一方転写前除電を行った場合は、感光体51のトナーが存在しない部分が明電位となるため、トナーに過剰な電界が作用しなくなり、効率よく逆転写を防止することができる。しかしながら除電作用が大きすぎると、ドット周辺のトナーがない部分の電位のバリアが消失し、トナーを感光体51の面方向に束縛する力が減少するため、転写の際にドットが飛散してしまう。従って転写前除電器の発光光量は十分管理する必要がある。
【0181】
中間転写ローラ63は感光体支持ローラ53の近傍にあって、中間転写体69の内側に接触する金属ローラであり、中間転写体69を挟んで感光体51と対向して配置されている。感光体51のアルミ蒸着層は接地されているため、中間転写ローラ63に正電圧を印加すると中間転写ローラ63から感光体51の方向に電界が発生する。このため感光体51上の負電荷トナーには中間転写体69の方向にクーロン力が作用しトナーは中間転写体69に転写される。
【0182】
感光体クリーニング装置64は感光体51を挟んで感光体支持ローラ54と対向して配置されており、感光体51から中間転写体69の転写後に感光体51に残っている残留トナーを除去する。感光体51の継目58は露光光線66の走査方向に対して3゜〜5゜程度傾斜して設けられており、継目58が感光体クリーニング装置64を通過する際の衝撃により、画像が乱れないよう配慮されている。感光体クリーニング装置64は感光体51に対して離接する機構を有していない。
【0183】
除電器65は赤色LEDを複数個線上に配置したものであり、感光体51上の残留電位を除去する。
【0184】
次に中間転写体周辺の構成について説明する。
中間転写体69は導電性の樹脂等からなる継ぎ目のないループ状のベルトであり単色画像を合成してフルカラー画像を形成するための媒体である。中間転写体69は3本の搬送ローラ70、71、72によって支持され、感光体51と同一の駆動源55により方向d3に周回動する。73は中間転写体位置検出用マークであり、中間転写体69の端部に8つ配置されている。74は中間転写体位置検出マーク73を検出する中間転写体位置検出センサーである。画像を形成する際には、複数個の中間転写体位置検出用マーク73から1つを選択して画像形成位置の基準として用いる。
【0185】
以降画像形成基準の決定方法について説明する。図10の構成の電子写真装置では、感光体51と中間転写体69の周長は等しくなるよう設計されているが、完全に同一ではないため各々の回転周期は異なる。もし感光体位置検出マーク56を画像形成基準にした場合は、感光体51上では常に同じ位置にトナー像が形成されるが、中間転写体69上で画像を重ねると各色のトナー像が位置ずれを起こす。一方、中間転写体69から画像形成基準を得た場合は、周長差に応じて感光体51上の画像形成位置は徐々に変わって行くが、中間転写体69上では同じ位置に合成像が形成される。従って画像形成基準は中間転写体69から得ねばならない。ところで感光体51には継目58があり、継目上にトナー像は形成できないため、中間転写体69の適当な位置で画像形成位置を見つけても、画像形成動作に移行できない場合がある。
【0186】
そこで中間転写体69の端部に中間転写体位置検出マーク73を複数個配置しておき、感光体位置検出マーク56を検出する直前の中間転写体位置検出マーク73を、画像形成基準として選択する。更に感光体位置検出マーク56を検出する直前の中間転写体位置検出マーク73を検出してから、感光体位置検出マーク56を検出するまでの時間を位相差時間として計測し、選択された中間転写体位置検出マーク73を検出後、全ての作像プロセスを位相差時間だけ遅延させる処理を行っている。
【0187】
原理上は中間転写体位置検出マーク73は一つであっても構わないが、感光体51と中間転写体69の位置関係によっては最初のページの印字が遅くなったり、中間転写体位置検出マーク73を検出してから画像形成開始までに時間がかかり、中間転写体69上の画像位置合わせ精度の劣化が考えられるため、中間転写体69には複数の中間転写体位置検出マーク73を配置し、マーク検出後速やかに画像形成が開始されるよう配慮されている。
【0188】
中間転写体69の周面にはd3で示す回転方向に、転写前帯電器75、濃度センサー76、用紙転写ローラ77、中間転写体クリーニング装置78が配置されている。
【0189】
転写前帯電器75はタングステンワイヤ等からなる帯電線と金属板からなるシールド板(図示せず)で構成されるコロトロンチャージャであり、帯電線へ負の高電圧を印加すると帯電線がコロナ放電を起こし、中間転写体69上に合成されたトナー像を、強制的に再帯電する。転写前帯電器75の起動は記録用紙79に転写する直前に、中間転写体69上の画像領域に対してのみ行われ、その他の期間は停止している。転写前帯電により、用紙転写の際の機構的なマージン及び対環境特性が改善される。
【0190】
濃度センサー76は反射型センサーを応用したものであり、中間転写体69上のトナー濃度を検出する。濃度センサー76の発光側はD/A変換器(図示せず)に接続されており、D/A変換器にデータを設定して電流を制御することで発光光量を変化させることができる構成となっている。受光側の出力はオペアンプ(図示せず)等で増幅されCPUのA/D変換ポート(図示せず)に入力される。
【0191】
用紙転写ローラ77は金属の中心軸と発泡シリコンや導電性ウレタンゴムで構成されている。中間転写体69上で合成されたトナー像を記録用紙に転写する際に中間転写体69と接触回動する。用紙転写ローラ77がトナー等で汚染されると画像が劣化するため、近傍にクリーニング機構(図示せず)が配置されている。
【0192】
中間転写体クリーニング装置78は用紙転写後の中間転写体69上の残留トナーを除去する装置であり、中間転写体69上にトナー像が合成されている間は中間転写体69から離間しており、クリーニングに共する時のみ当接する。
【0193】
次に給紙系並びに定着装置の構成を説明する。
給紙系は記録紙カセット80、給紙ローラ81、用紙搬送路82、スリップローラ83、レジストローラ84aとその従動ローラ84bから構成されている。
【0194】
記録紙カセット80は記録紙を収納するためのカセットである。カセット周辺には記録紙カセット有無センサー、記録紙サイズ判別センサー、記録紙有無センサー、記録紙残量センサー(全て図示せず)等が配置されている。
【0195】
給紙ローラ81は半月形のローラであり、記録紙カセット80から記録用紙79を1枚づつ用紙搬送路82へ送り出す。
【0196】
用紙搬送路82の途中には、スリップローラ83が配置され、給紙ローラ81によってピックアップされた記録用紙79はスリップローラ83によりレジストローラ84aまで搬送される。記録用紙79の先端がレジストローラ84aに到達した時点では、レジストローラ84aは回転しておらず、記録用紙79は先に進むことができずにスリップローラ83位置でスリップしている。
【0197】
レジストローラ84aと従動ローラ84bは記録用紙79と中間転写体69上の合成像の位置を一致させるため一時的に記録用紙79を停止待機させる。動作時は共に回動して記録用紙79を用紙転写ローラ77の方向へ搬送する。
【0198】
次に定着装置85の構成を説明する。
定着装置85はヒートローラ86、加圧ローラ87、温度センサー88等で構成されている。
【0199】
ヒートローラ86はヒータと、アルミ製の芯金、厚み0.5mm程度のシリコンゴムによって構成されており、記録用紙88上に転写されたトナー像の表面を加熱しトナーを軟化、溶融させる。
【0200】
加圧ローラ87は鉄製の軸と厚み3mm程度のシリコンゴムとからなり、ヒートローラ86との間に記録用紙79を挟持して圧力を加える。ヒートローラ86と加圧ローラ87の挟持回転に伴い熱と圧力で記録用紙79上のトナー像は記録用紙79に定着されカラー画像を形成する。
【0201】
温度センサ88はサーミスタ等の温度センサであり、ヒートローラ86の表面温度を検出する。温度センサ88からの出力は適当なサンプリング周期で検出され、検出結果に基づいて、単位時間当りのヒータの点灯時間が制御され、常に規定の温度を保持している。
【0202】
以上述べてきた画像形成装置では、画像形成時において、感光体51は方向d2に、中間転写体69は方向d3に、常に同一方向に回転する。従って駆動源55も常に同一方向に回転すればよいため、速度制御に際して、実施の形態1で述べた画像読み取り装置のように、複数の方向を検出する必要がない。
【0203】
このため以上述べてきたタイプの画像形成装置で使用されるエンコーダは、例えば駆動源55のロータの外周に磁気記録された単相のパターンを磁気検出器で検出して、これを単相出力する方式が多く用いられる。即ちこのタイプでは、エンコーダと駆動源は一体に構成されていることが多い。
【0204】
さて、画像品質を向上するため、画素密度を感光体51の送り方向(副走査方向)、及びこれと垂直方向(主走査方向)の夫々について2倍にして、画像を形成する方法が知られている。これは感光体51と中間転写体69の搬送速度を1/2倍に設定し、かつ露光光学系60による1走査期間の記録画素数を2倍に制御することで達成される。このときは駆動源を基準速度Vの1/2速度で精度よく駆動することが必要である。
【0205】
図11は実施の形態2における駆動源制御方法の構成を示すブロック図である。図11において55は既に説明した駆動源であり、駆動源が所定の量回転する毎に、一体に構成されたエンコーダから単相のパルスが出力される。90はエッジを検出する検出手段としてのエッジ検出部であり、単相信号の立ち上がり及び立ち下がりエッジを検出して、これをパルスとして出力する。91はエンコーダ出力信号であり、92はエッジ検出部出力である。93はエンコーダ出力信号91とエッジ検出部出力92のいずれかを選択するセレクタである。94は後述のごとくセレクタ93から出力される信号のエッジ間隔を測定する測定手段としての演算装置(以降CPUと略称する)であり、更にCPU94は後述のようにエッジ間隔を測定して駆動源の速度情報(即ち駆動速度)を算出するとともに、この速度情報に基づいてモータドライバ96に速度指令値を出力し駆動源55を制御する。95はCPU94に供給されるクロック信号を発生するクロック発生器である。96はモータドライバであり、CPU94が出力する制御信号に基づき駆動源55の回転速度を制御する。97は不揮発性メモリであり、例えばシリアル通信等によりCPU94とデータのやり取りを行う。また後述するように、不揮発性メモリ49には駆動源の駆動速度の目標値としての制御目標値が格納され、更に不揮発性メモリ49上で制御目標値を更新することも可能である。50はワークメモリであり、CPU46のワーク領域として装備されている。98はワークメモリであり、CPU94のワーク領域として装備されている。
【0206】
次にエンコーダの単相出力信号の立ち上がり、立ち下がりエッジを検出して、その区間計測値に基づき、基準速度Vに対して1/2の速度で、駆動源を駆動する方法について説明する(単相両エッジ駆動)。
【0207】
まず図11と図12を用いて本発明の第1行程、即ち制御目標値を取得する過程について説明する。図12は実施の形態2における単相両エッジ駆動の第1行程のシーケンスを示す図である。本シーケンスにおけるタイミングや処理内容は、実施の形態1で述べた単相両エッジ駆動と同等のため、用語は同じものを使用する。
【0208】
まず駆動源55の回転を開始するにあたって、エンコーダ出力信号91がCPU94の入力となるように、CPU94はセレクタ93を設定する。
【0209】
CPU94はこの状態で駆動源55の速度制御を行うが、この過程は従来例と全く同様なので省略する。またこの時点での駆動源の駆動速度は、立ち上がりエッジのみを参照して駆動源を駆動する場合の速度と等しく、これは従来例で基準速度Vとして説明した速度である。
【0210】
駆動源55が予め定められた回転速度に到達すると、CPU94は、割り込みによって、その直後のエンコーダ出力信号91の立ち上がりのタイミングT’1−1を検出すると、直ちにエッジ検出部出力92がCPU94の入力となるように、セレクタ93の設定を変更する。またCPU46はワークメモリ98上に割り付けられた、ソフトウェアが管理する変数である、2つの区間累積値を0にクリアする。
【0211】
その他のCPU94の状態は変わっていないため、以降、CPU94の内蔵カウンタは、図12に示す区間w、区間xにおいて、クロック発生器95が発生したクロックパルスを計数し、このカウンタ値は図示しない内蔵レジスタにコピーされる。
【0212】
CPU94が次の立ち上がりのタイミングT’1−2を検出した時点では、内蔵レジスタには区間wにおけるカウンタ値がコピーされており、CPU94はこの値を内蔵レジスタから取りだし、ワークメモリ98にカウンタ値wとして格納すると共に、区間wに対応する区間累積値に加算する。以降この処理を処理B’と呼称する。
【0213】
CPU94が次の立ち上がりのタイミングT’1−3を検出した時点では、内蔵レジスタには区間xにおけるカウンタ値がコピーされており、CPU94はこの値を内蔵レジスタから取りだし、ワークメモリ98にカウンタ値xとして格納すると共に、区間xに対応する区間累積値に加算する。更にワークメモリに格納されたカウンタ値w、カウンタ値xを加算する。この加算結果はエンコーダ出力信号91の立ち上がりエッジ間隔のみに着目してカウントした値と等価である。
【0214】
エンコーダ出力信号91は駆動源が所定の角度回転する毎に発生する「距離」を示す信号である。また各区間毎にクロック信号を計数したカウンタ値の加算結果は「時間」を表わすから、CPU94は距離÷時間を演算することで、駆動源55の速度情報を入手することができる。一般にエンコーダは、同一の相の同一のエッジ間隔は極めて高い精度で一定に再現されるため、エッジ間隔=「距離」を一定値とみなし、予め定められた定数(以降速度変換定数:TRNVと示す)を定義し、これをカウンタ値w、カウンタ値xの加算結果で除算して速度情報とする。以降この処理を処理A’と呼称する。
【0215】
この速度情報に基づきCPU94はモータドライバ96に速度指令値を出力し、駆動源55を制御する。この過程は図16のフローに示した従来例の制御信号生成過程と全く同様なので省略する。
【0216】
同様にタイミングT’1−3では処理B’を、タイミングT’1−4では処理A’を・・・のように順次周期的に実行していく。最初にエンコーダ出力信号91の立ち上がり、即ちタイミングT’1−1を開始トリガとして用いることで、区間w、区間xを容易に判別できる。上述した処理を繰り返せば、エッジ検出部出力92を参照しながら、エンコーダ単相信号44を用いたのと全く同等に駆動源55を制御できる。
【0217】
さてこのように駆動源55を制御しながら、駆動源55を予め定められた期間、例えば予め定められた回数の、処理A’を実施する期間、駆動源55を駆動すれば、上述の処理B’、処理A’により、それぞれ区間wのカウンタ値w、区間xのカウンタ値xの累積結果を得ることができる。以降この累積結果を累積値w、累積値xと呼称する。
【0218】
エンコーダ信号のデューティ比のばらつきは、エンコーダ固有のものであり、上述の2つの区間に周期的に現われるため、2つの区間についての累積値を取得すれば、ばらつきの状態を完全に把握することができる。更に累積期間をある程度与えれば、制御系の外乱要素の影響を小さくなるため、結果的に累積値w、累積値xの比は、それぞれ区間w、区間xの距離の比を示す情報とみなしてよい。
【0219】
一方エンコーダ出力信号91の立ち上がりエッジの周期は、仮に駆動源55が理想的に回転していれば一定の値となり、エッジ周期をカウントするカウント値も当然一定の値となる。これは感光体51及び中間転写体69の目標とする搬送速度と駆動系の減速比と、エッジ周期をカウントするクロックの周波数から予め求めることができる。例えば感光体51及び中間転写体69を所定の速度で駆動するとき、駆動源が基準速度Vで駆動されるとする。このときエンコーダ出力信号91の立ち上がりエッジの周期が1msecであり、区間計測用のクロック周波数が8MHzであれば、エンコーダ出力信号91のエッジ間においてカウンタ値は理論的には8000となる。このカウント値は設計上定まる数値であり、以降これを理論カウント値と呼称しCNTA’と示す。
【0220】
最終的に第1行程は各区間に対する理論カウント値を求め、これから各区間毎の制御目標値を得ることが目的である。
【0221】
次に各区間の理論カウント値を求める方法を説明する。理論カウント値CNTA’は設計的に求めることができる数値であることは既に述べた。また累積値w、累積値xの比は、それぞれ区間w、区間xの距離の比を示す情報とみなしてよい。そこでまず累積値w、累積値xの平均値を求め、これをCNTave’とする。CNTave’を用いて区間wの理論カウント値CNTwは(数19)のように、区間xの理論カウント値CNTxは(数20)のように求められる。
【0222】
さてここで、前に述べた速度変換定数TRNV’を用いると、区間wの速度目標値VELOwは(数21)、区間xの速度目標値VELOxは(数22)と表される。
【0223】
こうして求めた2つの、各区間毎の速度目標値は、それぞれが対応する区間の制御目標として、ワークメモリ98に格納される。
【0224】
さて前述したようにエンコーダ出力信号のデューティ比のばらつきは、エンコーダ固有のばらつき量であるから、経時的な変化は生じない。従って第1行程は、例えば装置の電源が立ち上げられた直後に実施すればよいし、また例えば装置の組み立て行程において一度実施し、各区間の制御目標値を不揮発性メモリ97に格納しておくこともできる。仮にエンコーダのデューティ比に経時変化が生じた場合には、再計測した値を不揮発性メモリ97上で更新することも可能である。
【0225】
次に図11と図13を用いて、駆動速度が基準速度Vの1/2の場合における第2行程、即ち第1行程でもとめた区間毎の制御目標値を用いて駆動源を制御する過程について説明する。また制御のフローは実施の形態1で説明した、基準速度Vに対して1/2の速度で、駆動源を駆動する場合と同等なので、説明には図9を流用して説明する。
【0226】
図13は実施の形態2における、駆動速度が基準速度Vの1/2の場合の第2行程のシーケンスを示す図である。
【0227】
駆動源55の回転を開始するにあたって、CPU94は第1行程で取得した各区間の制御目標値を不揮発性メモリ97から取り出し、ワークメモリ98にコピーすることもできる。既にワークメモリ98に制御目標値が格納されていれば、これをそのまま使用することもできる。
【0228】
まずエンコーダ出力信号91がCPU94の入力となるように、CPU94はセレクタ93を設定する。CPU94はこの状態で駆動源55の速度制御を行うが、この過程は従来例と全く同様なので省略する。
【0229】
駆動源55が予め定められた回転速度に到達すると、CPU94は、割り込みによって、その直後のエンコーダ出力信号91の立ち上がりのタイミングT’2−1を検出すると(ステップ200)、直ちにエッジ検出部出力92がCPU94の入力となるように、セレクタ93の設定を変更する。(ステップ210)
その他のCPU94の状態は変わっていないため、以降、CPU94の内蔵カウンタは、図8に示す区間w、区間xにおいて、クロック発生器95が発生したクロックパルスを計数し、このカウンタ値は図示しない内蔵レジスタにコピーされる。以降この値をCNT’と略称する。
【0230】
CPU94が次の立ち上がりのタイミングT’2−2を検出した時点では(ステップ220)、CPU94はこの割り込みを起点として割り込み回数のカウントを開始する(ステップ230)。内蔵レジスタには区間wにおける内蔵カウンタ値CNT’がコピーされており、CPU94はこの値を内蔵レジスタから取りだし、(数23)により速度情報VELO’に変換する(ステップ240)。
【0231】
次に割り込み回数の偶奇判定をし(ステップ250)、ここでは偶数なので区間wの速度目標値VELOwを選択する(ステップ260)。
【0232】
次にステップ240で得られた速度情報VELO’を用いて(数24)に基づいて速度偏差を求める(ステップ270)。
【0233】
次にステップ270で得られた速度偏差e’を累積(積分)し、(数25)に従い距離偏差を求める(ステップ280)。
【0234】
次にステップ270とステップ280で得られた速度偏差と距離偏差を用い、(数15)に従って速度指令値を計算する(ステップ290)。
【0235】
次に割り込み回数をインクリメントし(ステップ300)、最後にCPU94はモータドライバ96に対して速度指令値を出力して駆動源55の速度を制御する(ステップ310)。
【0236】
CPU94が次の立ち上がりのタイミングT’2−3を検出した時点では、割り込み回数の条件(ステップ220)によりステップ230は処理しない。内蔵レジスタには区間xにおける内蔵カウンタ値CNT’がコピーされており、CPU94はこの値を内蔵レジスタから取りだし、(数23)により速度情報VELOに変更する(ステップ240)。
【0237】
次に割り込み回数の偶奇判定を行ない(ステップ250)、ここでは奇数なので区間xの速度目標値VELOxを選択する(ステップ320)。
【0238】
次にステップ240で得られた速度情報VELO’を用いて(数26)に基づいて速度偏差を求める(ステップ270)。
【0239】
次にステップ270で得られた速度偏差e’を累積(積分)し、(数22)に従い距離偏差を求める(ステップ280)。
【0240】
次にステップ270とステップ280で得られた速度偏差と距離偏差を用い、(数15)に従って速度指令値を計算する(ステップ290)。
【0241】
次に割り込み回数をインクリメントし(ステップ300)、最後にCPU94はモータドライバ96に対して速度指令値を出力する(ステップ310)。
【0242】
以降上述したタイミングT’2−2、タイミングT’2−3を周期的に繰り返し、駆動源55の速度制御をおこなう。
【0243】
さて上述した処理のなかで、ステップ260の処理時点ではステップ240で得られた内蔵カウンタ値も参照できる。従ってステップ260において区間wに対する内蔵カウンタの値を常にモニタできる。同様にステップ320において区間xに対する内蔵カウンタの値をモニタできる。
【0244】
そこで、例えば区間wに対する内蔵カウンタの値を規定回数累積し、これが現在採用している区間wの理論カウント値と予め定められた率より大きく外れた場合は、既に説明した第1行程を装置の待機時等に再実行して、何らかの障害によりエンコーダのデューティに経時変化が生じた場合に対応できる。
【0245】
また装置組立時に制御目標値を不揮発性メモリ等に書き込んでおくような装置であれば、エンコーダのデューティに経時変化が生じた場合は、再計測した値を不揮発性メモリ上で更新することも可能である。
【0246】
【発明の効果】
以上のように本発明によれば非常に簡易な方法で、第1の駆動速度で駆動源を駆動した際の、エンコーダの複数相の出力信号に対して立ち上がりエッジと立ち下がりを検出し、このエッジ間隔を測定した値に基づいて制御目標値を取得する第1行程と、この制御目標値に基づいて駆動源の駆動速度を、第1の駆動速度より低速に設定された第2の駆動速度で制御する第2行程とを有することで、第1行程で安定した駆動条件のもとでエンコーダのバラつきに対応する制御目標値を得ることができ、更に第2行程では第1行程で得た制御目標値を用いて駆動源を極めて低速に制御することができる。
【0247】
これにより高価な高精度エンコーダを使用することなく、駆動源を低速に駆動したときもサンプリングレートを低下させず帯域を確保でき、更に全ての相信号の全エッジを単純に検出しサンプリングレートを確保した場合に見られるような、異音や制御系の挙動不安定のない駆動源制御方法を実現できる。
【図面の簡単な説明】
【図1】本発明に係る駆動源制御方法を応用した画像読み取り装置の概略を示す図
【図2】本発明に係る駆動源制御方法を適用した画像読み取り装置の光学系の概略を示す図
【図3】本発明に係る駆動源制御方法の構成を示すブロック図
【図4】実施の形態1における両相両エッジ駆動における第1行程のシーケンスを示す図
【図5】実施の形態1における第2行程のシーケンスを示す図
【図6】制御信号生成過程を示すフローを示す図
【図7】実施の形態1における単相両エッジ駆動の第1行程のシーケンスを示す図
【図8】実施の形態1における駆動速度が基準速度Vの1/2の場合の、第2行程のシーケンスを示す図
【図9】実施の形態1における駆動速度が基準速度Vの1/2の場合の、第2行程の制御信号生成過程を示すフローチャート
【図10】本発明の駆動源制御方法を応用した電子写真装置の全体構成を示す図
【図11】実施の形態2における駆動源制御方法の構成を示すブロック図
【図12】実施の形態2における単相両エッジ駆動の第1行程のシーケンスを示す図
【図13】実施の形態2における、駆動速度が基準速度Vの1/2の場合の第2行程のシーケンスを示す図
【図14】従来の駆動源制御方法の概要を示すブロック図
【図15】CPUが駆動源の速度情報を取得するまでの過程を示す図
【図16】従来例における制御信号生成過程を示すフローを示す図
【図17】駆動速度とエンコーダ出力の関係を示す図
【図18】単純にCPUのサービス回数を増加する方法を示す図
【図19】エンコーダの各相信号のデューティが50%で、相間の位相差が90゜の状態を示す図
【符号の説明】
21 キャリッジを駆動する駆動源
22 エンコーダ
36a A相信号
36b B相信号
37a エッジ検出部(A相)
37b エッジ検出部(B相)
38 回転方向検出部
39 合成回路部
40 アップダウンカウンタ
41 プリスケーラ
42 プリスケーラ出力
43 合成回路出力
44 エンコーダ単相出力
45 セレクタ
46 演算装置(CPU)
47 クロック発生器
48 モータドライバ
55 駆動源
90 エッジ検出部
91 エンコーダ出力信号
92 エッジ検出部出力
93 セレクタ
94 演算装置(CPU)
95 クロック発生器
96 モータドライバ

Claims (13)

  1. 駆動源と機械的に接続され、または駆動源と一体に構成され、駆動源の変位量に応じて、複数相の信号を出力するエンコーダと、前記複数相の出力信号に対してエッジを検出する検出手段と、時系列に隣接するエッジ間隔を測定する測定手段を有し、駆動源を第 1 の駆動速度で駆動して前記測定手段で得た値に基づいて制御目標値を取得する第1行程と、前記測定手段で得た値と前記制御目標値を比較した結果に基づいて、駆動源を前記第1の駆動速度よりも低速の第2の駆動速度で制御する第2行程とを有することを特徴とする駆動源制御方法。
  2. 前記第1行程において、前記検出手段は、エンコーダのA相とB相の立ち上がりエッジと立ち下がりエッジを検出し、前記測定手段は、A相立ち上がりエッジとB相立ち上がりエッジの区間と、B相立ち上がりエッジとA相立ち下がりエッジの区間と、A相立ち下がりエッジとB相立ち下がりエッジの区間と、B相立ち下がりエッジとA相立ち上がりエッジの区間の、4区間についてエッジ間隔を測定すると共に、4区間を1周期として1周期につき1回の割合で、駆動源に対する制御指令を更新し駆動源を前記第1の駆動速度で駆動することを特徴とする請求項1に記載の駆動源制御方法。
  3. 前記複数相の出力信号に対して特定相の特定エッジを検出する第1特定状態検出手段を有し、前記第1特定状態の検出タイミングに基づき、前記第1行程のシーケンスを制御することを特徴とする請求項1に記載の駆動源制御方法。
  4. 前記第1特定状態の検出タイミングに基づき、前記第2行程のシーケンスを制御することを特徴とする請求項に記載の駆動源制御方法。
  5. 前記第1行程において、前記検出手段は、前記複数相の出力信号のうちの1つに対して立ち上がりエッジと立ち下がりエッジを検出し、前記測定手段は、立ち上がりエッジと立ち下がりエッジの区間と、立ち下がりエッジと立ち上がりエッジの区間の、2区間についてエッジ間隔を測定すると共に、2区間を1周期として1周期につき1回、駆動源に対する制御指令を更新し駆動源を前記第1の駆動速度で駆動することを特徴とする請求項1に記載の駆動源制御方法。
  6. 前記複数相の出力信号の一方に対して、特定エッジ(例えば立ち上がりエッジ)を検出する第2特定状態検出手段を有し、前記第2特定状態の検出タイミングに基づき、前記第1行程のシーケンスを制御することを特徴とする請求項1に記載の駆動源制御方法。
  7. 前記第2特定状態の検出タイミングに基づき、前記第2行程のシーケンスを制御することを特徴とする請求項に記載の駆動源制御方法。
  8. 駆動源と機械的に接続され、または駆動源と一体に構成され、駆動源の変位量に応じて、1相の信号を出力するエンコーダと、1相の出力信号に対してエッジを検出する検出手段と、時系列に隣接するエッジ間隔を測定する測定手段を有し、駆動源を第1の駆動速度で駆動して前記測定手段で得た値に基づいて制御目標値を取得する第1行程と、前記測定手段で得た値と前記制御目標値を比較した結果に基づいて、駆動源を前記第1の駆動速度よりも低速の第2の駆動速度で制御する第2行程とを有することを特徴とする駆動源制御方法。
  9. 前記第1行程において、前記検出手段は、前記1相の出力信号に対して立ち上がりエッジと立ち下がりエッジを検出し、前記測定手段は、立ち上がりエッジから立ち下がりエッジまでの区間と、立ち下がりエッジから立ち上がりエッジまでの区間の、2区間についてエッジ間隔を測定すると共に、2区間を1周期として1周期につき1回、駆動源に対する制御指令を更新し駆動源を前記第1の駆動速度で駆動することを特徴とする請求項8に記載の駆動源制御方法。
  10. 前記1相の出力信号に対して、特定エッジ(例えば立ち上がりエッジ)を検出する特定状態検出手段を有し、前記特定状態の検出タイミングに基づき、前記第1行程のシーケンスを制御することを特徴とする請求項8に記載の駆動源制御方法。
  11. 前記特定状態の検出タイミングに基づき、前記第2行程のシーケンスを制御することを特徴とする請求項10に記載の駆動源制御方法。
  12. 前記制御目標値を記憶するための記憶手段を有し、駆動源を含む装置の電源が投入された直後に前記第1行程を実施して、前記制御目標値を前記記憶手段に格納すると共に、以降は前記記憶手段に格納された制御目標値を用いて、駆動源を制御することを特徴とする請求項1又は請求項8に記載の駆動源制御方法。
  13. 前記制御目標値を記憶するための記憶手段を有し、前記第2行程実行中に前記エッジ間隔を測定し、測定結果に応じて前記制御目標値を更新することを特徴とする請求項1又は請求項8に記載の駆動源制御方法。
JP13076397A 1997-05-21 1997-05-21 駆動源制御方法 Expired - Fee Related JP3700325B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP13076397A JP3700325B2 (ja) 1997-05-21 1997-05-21 駆動源制御方法
US09/080,288 US6037734A (en) 1997-05-21 1998-05-18 Motor velocity controlling method employing detection of all side edges of phase signals of an encoder to generate control target values for updating a motor control command

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP13076397A JP3700325B2 (ja) 1997-05-21 1997-05-21 駆動源制御方法

Publications (2)

Publication Number Publication Date
JPH10323069A JPH10323069A (ja) 1998-12-04
JP3700325B2 true JP3700325B2 (ja) 2005-09-28

Family

ID=15042083

Family Applications (1)

Application Number Title Priority Date Filing Date
JP13076397A Expired - Fee Related JP3700325B2 (ja) 1997-05-21 1997-05-21 駆動源制御方法

Country Status (2)

Country Link
US (1) US6037734A (ja)
JP (1) JP3700325B2 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000270162A (ja) * 1999-03-15 2000-09-29 Fuji Xerox Co Ltd 画像読取装置
WO2001022095A1 (de) * 1999-09-22 2001-03-29 Papst-Motoren Gmbh & Co. Kg Verfahren zur drehzahlregelung eines motors, und motor zur durchführung eines solchen verfahrens
US6914400B2 (en) * 2003-04-15 2005-07-05 Lexmark International, Inc. Method and apparatus for synchronizing a scan operation with the motion of the scan mechanism
US7325171B2 (en) * 2005-02-22 2008-01-29 National Instruments Corporation Measurement and data acquisition system including a real-time monitoring circuit for implementing control loop applications
US20070036126A1 (en) * 2005-08-08 2007-02-15 Poole David K Laser position measurement system
KR101330660B1 (ko) * 2006-09-08 2013-11-15 삼성전자주식회사 스캐닝 유닛의 제어가 가능한 화상형성장치, 그의 스캐닝 유닛 제어 방법 및 모터 제어 장치
US7612598B2 (en) * 2007-04-27 2009-11-03 Semiconductor Energy Laboratory Co., Ltd. Clock signal generation circuit and semiconductor device
US7982424B2 (en) * 2007-08-09 2011-07-19 Seiko Epson Corporation Document reading apparatus, document reading method, and program for reading document
JP2016029866A (ja) * 2014-07-25 2016-03-03 株式会社リコー モータ制御装置、画像形成装置、及びモータ制御方法
JP6767107B2 (ja) * 2015-12-07 2020-10-14 株式会社トプコン 角度検出装置及び測量装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4371819A (en) * 1980-12-11 1983-02-01 Pako Corporation Pulse width modulation speed control
US4463300A (en) * 1981-09-17 1984-07-31 Printronix, Inc. Linear motor digital servo control
JPS58110778A (ja) * 1981-12-23 1983-07-01 ワイケイケイ株式会社 自動開閉扉の制御装置
JPS5913957A (ja) * 1982-07-15 1984-01-24 Fanuc Ltd 速度検出回路
JPH0627653B2 (ja) * 1983-11-08 1994-04-13 株式会社日立製作所 位置、速度検出方法及び装置
US4680516A (en) * 1986-05-30 1987-07-14 Guzik Technical Enterprises Motor speed control system
JP3397007B2 (ja) * 1995-06-30 2003-04-14 松下電器産業株式会社 ブラシレスモータ

Also Published As

Publication number Publication date
US6037734A (en) 2000-03-14
JPH10323069A (ja) 1998-12-04

Similar Documents

Publication Publication Date Title
US7382387B2 (en) Image forming apparatus and image density correction device
US8849134B2 (en) Image forming apparatus having banding correction function
JP3700325B2 (ja) 駆動源制御方法
JP2009223083A (ja) 画像形成装置
JPH052310A (ja) 画像形成装置
JPH09318895A (ja) 画像形成装置
JP3067250B2 (ja) カラープリンタ
JP5203823B2 (ja) 画像形成装置、画像形成装置の制御方法、プログラム及び記憶媒体
JP2009036993A (ja) 画像形成装置
US6611279B2 (en) Light beam scanning apparatus
US5666591A (en) Image forming apparatus utilizing discharge current of charger
JP4401460B2 (ja) 振動型アクチュエータ駆動装置および画像形成装置
JPH1035007A (ja) 画像形成装置
JP2005096943A (ja) モータ制御回路及びシート搬送装置及び画像形成装置
JP2004306292A (ja) 画像形成装置
JP5560137B2 (ja) 画像形成装置
JP3282353B2 (ja) 像形成装置
JP2005001179A (ja) 画像形成装置
JPS63128371A (ja) 記録装置
JP2002283616A (ja) 画像形成装置と画像形成装置のレーザダイオード制御方法
JP2005107367A (ja) カラー電子写真装置
US9037012B2 (en) Image forming apparatus
JP2002252993A (ja) モータ制御方法、モータ制御装置、画像形成装置、画像読取装置、及び記録媒体
JP2000270570A (ja) 振動波モータ駆動制御装置、駆動制御方法、及び記憶媒体
JP2007025539A (ja) 画像形成装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050329

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050405

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050527

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050621

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050704

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090722

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090722

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100722

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110722

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110722

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120722

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120722

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130722

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees