JP2004088926A - モータの制御方法及び制御装置 - Google Patents

モータの制御方法及び制御装置 Download PDF

Info

Publication number
JP2004088926A
JP2004088926A JP2002247480A JP2002247480A JP2004088926A JP 2004088926 A JP2004088926 A JP 2004088926A JP 2002247480 A JP2002247480 A JP 2002247480A JP 2002247480 A JP2002247480 A JP 2002247480A JP 2004088926 A JP2004088926 A JP 2004088926A
Authority
JP
Japan
Prior art keywords
value
motor
speed
profile
ideal
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.)
Granted
Application number
JP2002247480A
Other languages
English (en)
Other versions
JP4012013B2 (ja
JP2004088926A5 (ja
Inventor
Nobutsune Kobayashi
小林 伸恒
Hiroyuki Saito
斎藤 弘幸
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2002247480A priority Critical patent/JP4012013B2/ja
Publication of JP2004088926A publication Critical patent/JP2004088926A/ja
Publication of JP2004088926A5 publication Critical patent/JP2004088926A5/ja
Application granted granted Critical
Publication of JP4012013B2 publication Critical patent/JP4012013B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B41PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
    • B41JTYPEWRITERS; SELECTIVE PRINTING MECHANISMS, i.e. MECHANISMS PRINTING OTHERWISE THAN FROM A FORME; CORRECTION OF TYPOGRAPHICAL ERRORS
    • B41J19/00Character- or line-spacing mechanisms
    • B41J19/18Character-spacing or back-spacing mechanisms; Carriage return or release devices therefor
    • B41J19/20Positive-feed character-spacing mechanisms
    • B41J19/202Drive control means for carriage movement

Landscapes

  • Character Spaces And Line Spaces In Printers (AREA)
  • Control Of Position Or Direction (AREA)
  • Control Of Electric Motors In General (AREA)
  • Control Of Direct Current Motors (AREA)
  • Handling Of Sheets (AREA)

Abstract

【課題】使用される記録媒体や環境が変化した場合においても高速かつ高精度な位置制御を行う。
【解決手段】モータを動力源として使用して機構を駆動する機器におけるモータの制御において、各駆動を行う際に、目標位置及び予め設定されたパラメータに従って該駆動の理想的なプロファイルを作成し、プロファイルに従って前記モータの駆動を制御し、各駆動の終了の際に、パラメータの値を評価し、評価の結果に応じて、パラメータの値を変更するようにし、駆動命令の待機時間が所定時間を越えたと判定された場合(S11104)、パラメータの値をデフォルト値に戻す(S11012)。
【選択図】 図11

Description

【0001】
【発明の属する技術分野】
本発明はモータの制御方法及び制御装置に関し、特に、モータを動力源として使用して機構を駆動する際の制御に関する。
【0002】
【従来の技術】
現在、様々な装置の動力源としてモータが使用されており、特にDCモータは、構造が簡単でメンテナンスが不要、回転ムラや振動が少ない、高速化や高精度な制御が可能であるなどの理由で、OA機器や家庭用電化製品などに数多く使用されている。
【0003】
近年、プリンタにおいては、一般民生用プリンタは家庭で使用される割合が高いため、画像品位の向上と共に、稼動音の低下が望まれている。稼働時に発生される騒音(ノイズ)としては、記録時に発生するものと機構部分の駆動時に発生するものとがあるが、記録時の騒音発生源の少ないインクジェット記録装置においては、機構部分の駆動時に発生する騒音を低下することとなる。
【0004】
インクジェット記録装置の主な機構部分としては、記録ヘッドの走査機構と記録媒体の搬送機構とがあるが、記録ヘッドの走査機構の駆動手段として、DCモータとリニアエンコーダを使用して低騒音化を実現している。今日では、これに加え、記録媒体の搬送機構の駆動手段としてもDCモータとロータリーエンコーダが採用される場合が増えている。
【0005】
低騒音化の観点からは、DCモータを採用することにより効果が期待できるが、記録媒体搬送の高精度化の観点からは、機械的精度に加え、より高度な位置制御が必要となる。
【0006】
DCモータの位置制御方法としては、基本的には目標となる位置にローラの回転(角度)が到達した時にモータの電源をOFFにして惰性で停止させる方法が一般的である。
【0007】
DCモータを使用した機構において停止位置の精度を確保するためには、停止前速度の低速化と停止前外乱トルクの排除、すなわち停止直前の低速運転の安定化が必要不可欠であり、充分に遅い一定速度となった状態でモータの電源をOFFすることにより、停止までの制定時間及び停止位置の精度を安定させることができる。
【0008】
このようなDCモータを使用した構成においては、高精度な制御を行うためにはトルク変動を極力減らすことが必要となる。
【0009】
大きな周期のトルク変動に関しては、一般的に知られているPID制御に代表されるフィードバック制御によって外乱トルクを排除できるため制御可能であるが、コギングに代表される小さな周期のトルク変動に対しては、制御対象であるモータ自身に起因するものであることと、高速駆動時には上記のフィードバック制御によって解決できる周波数を超えてしまうことがあることから、制御することが困難である。
【0010】
このDCモータのコギングによるトルク変動に関して、図1及び図2を参照して以下に説明する。
【0011】
図1は、DCモータを定速で駆動した場合の速度変動を簡略に示したグラフである。横軸は時間を、縦軸は速度を示している。1001はここで基準速度として想定する速度(V_x)で駆動したときの速度プロファイルを示しており、1002は基準速度の2倍(2*V_x)で駆動したときの速度プロファイル、1003は基準速度の8倍(8*V_x)で駆動したときの速度プロファイルをそれぞれ示している。
【0012】
ここで、該DCモータが動作原理に起因する必然的な特性として持っているモータ自身のコギングによりトルク変動が生じ、周期的な速度変動が発生する。この周期的な速度変動は、モータ自身の特性に起因するものであるので、常に一定の回転角度に対応した移動距離ごとに発生し、従って速度が速くなればなるほど、より高い周波数で発生する。
【0013】
図中●で示されている1004は、コギングによるトルク変動の影響で、モータ自身が高速で回転してしまう位相角に対応するポイントを示している。また、図中■で示されている1005は、コギングによるトルク変動の影響で、モータ自身が低速で回転してしまう位相角に対応するポイントを示している。
【0014】
このように、基準速度V_xの2倍の速度2*V_xで駆動すれば速度変動は2倍の周波数で発生し、8倍の速度8*V_xで駆動すれば速度変動は8倍の周波数で発生する。
【0015】
次に、コギングによるトルク変動が、実際の駆動において及ぼす影響について説明する。
【0016】
図2は、DCモータにおいて用いられる理想位置プロファイル追値制御、理想速度プロファイル追値制御を例にして、コギングによるトルク変動の及ぼす影響を説明するための図である。
【0017】
図2において、横軸は時間を示しており、縦軸2001は速度を、縦軸2002は位置を示している。
【0018】
2003は理想位置プロファイルを示しており、2004は理想位置に到達させるための理想速度プロファイルを示している。この理想速度プロファイル2004は4つの制御領域からなり、加速制御領域2011、定速制御領域2012、減速制御領域2013、位置決め制御領域2014により構成されている。
【0019】
2004の理想速度プロファイルにおいて、V_STARTは初速度であり、V_FLATは定速制御領域2012の速度を示している。また、V_APPROACHは位置決め制御領域の速度を示しており、V_PROMISEは位置決め精度を達成するために絶対に守られなければならない停止直前の最大速度を示している。v_stopは、現実の駆動を想定した場合における外乱によってあらゆる値に変化する現実の値としての停止直前速度である。
【0020】
V_APPROACHは、実際の駆動における速度変動を考慮して、いかなる速度変動が発生してもv_stopがV_PROMISEを超えることがないように充分に低い値に設定されることが要求される。
【0021】
ここで示した例においては、後述するように、2011、2012、2013では位置サーボを、2014では速度サーボを採用している。図示した2003の曲線は、位置サーボ時には理想位置プロファイルを示し、速度サーボ時には理想速度プロファイルによって動作した場合の到達想定位置プロファイルを示している。図示した2004の曲線は、速度サーボ時には理想速度プロファイルを示し、位置サーボ時には理想位置プロファイルに追従して動作するために求められる要求速度プロファイルを示している。
【0022】
2005は、理想速度プロファイル2004との比較を容易とするため、コギングによる高い周波数での変動を平均化した場合の、物理的なモータの現実駆動速度プロファイルを示している。理想位置プロファイル2003を入力としてフィードバック制御をかけていくと、理想速度プロファイル2004に対して若干の遅れが出ているが、位置決め制御領域2014に進むに従って理想速度に近くなり、最終的な停止直前の速度としては位置決め精度を達成できる速度V_APPROACHに収束している。なお、減速制御領域2013から位置決め制御領域2014への移行は、物理的な駆動速度状態に関わらず、位置がS_APPROACHに達した瞬間に行われるものとする。
【0023】
2005のプロファイルは、超音波モータのようにコギングによるトルク変動がないモータを駆動した場合には、現実に達成することが可能であるが、ここではコギングによるトルク変動があるDCモータを駆動することを想定しているため、実際の現実速度プロファイルの形状は、2005に対して更にコギングによるトルク変動の影響が加わり、2006あるいは2007に示した形状となる。
【0024】
2006のプロファイルは、移動開始時点でのDCモータの位相が、2007のプロファイルと反対である場合を示しており、実際にはこの2つのパターンだけでなく、DCモータの移動開始時の位相により、トルク変動により速度が速くなるポイント1004及び速度が遅くなるポイント1005の位置が時間的にずれた様々なパターンが生じ得る。
【0025】
図中のS_APPROACHは、上述のように減速制御領域2013から位置決め制御領域2014に移行する位置を示しており、S_STOPは停止位置を示している。T_ADDは加速制御領域2011に費やされる所要時間であり、T_DECは減速制御領域2013に費やされる所要時間である。T_FLATは定速制御領域2012に費やされる時間であり、移動開始位置を0としたときの停止位置S_STOP、すなわち総移動距離に対する理想位置プロファイル2003を設定した時点で決定される固定値である。
【0026】
T_APPROACHは位置決め制御領域2014に費やされる時間であり、制御対象が実際に動いたときに、位置決め制御領域2014に移行する位置S_APPROACHから停止位置S_STOPまでの距離S_APR_STOPを移動するのに要する時間である。この図に示した2005では、位置決め領域を駆動制御対象が理想速度で動いた場合をモデルとして示しているが、現実の制御においては、理想通りの物理的動作は一般的に大変困難である。
【0027】
高速かつ高精度の位置決めを行うためには、理想位置プロファイル2003のカーブをその系に適合するようにチューニングする必要がある。具体的には、定速制御領域2012の速度は、位置決め所要時間を短縮するために系の性能の許す限り速く、位置決め制御領域2014の速度は、位置決め精度の向上を実現するために系の性能の許す限り遅く、さらに加速制御領域2011、減速制御領域2013、及び位置決め制御領域2014の距離は、位置決め所要時間を短縮するために系の性能の許す限り短くなるように、理想位置プロファイル2003を設定することが望ましい。
【0028】
しかしながら、このようなチューニングの詳細な手法については本発明の主題ではないので、ここではすでに理想位置プロファイル2003が最適に調整されているものとして説明する。
【0029】
上述のように、2006及び2007は、図1に関して説明したようなコギングによるトルク変動を有するDCモータを用いて同様の制御を施した場合の、物理的なモータの速度プロファイルを示している。大局的には、理想的なモータにおける現実速度プロファイル2005と同様の曲線となるが、コギングによるトルク変動の影響による速度変動があるため、位置決め制御領域2014に移行した瞬間の速度を目標となる速度V_APPROACHと比較すると、2006では速く、2007では遅くなってしまっている。
【0030】
この影響により、2006で示したプロファイルでは、停止位置S_STOPに到達した瞬間の速度がV_PROMISEを超えてしまっている。この速度では、装置に要求される停止条件を満たすことはできないので、停止位置の精度が保証されず、停止位置をオーバーランする可能性がある。
【0031】
一方、2007で示したプロファイルでは、位置決め制御領域2014における速度の平均が低くなるため、実際に停止位置S_STOPに到達するまでの時間が、T_APPROACHよりも長くなってしまい、所要時間が長くなるという問題が生じる。
【0032】
2006のプロファイルにおける停止位置の問題を解決するためには、位置決め制御領域に移行する際の速度をデフォルトの値V_APPROACHよりも下げることで容易に対処できる。しかしながら、このようにすると、移動開始時のモータの位相により2007に示すプロファイルとなったときに、所要時間が長くなるという問題を更に悪化させてしまう。
【0033】
また逆に、2007における所要時間の問題を解決するためには、位置決め制御領域に移行する際の速度をデフォルトの値V_APPROACHよりも上げることで容易に対処できる。しかしながら、このようにすると、移動開始時のモータの位相により2006に示すプロファイルとなったときに、停止位置の精度が保証されないという問題を更に悪化させてしまう。
【0034】
更に、DCモータのコギングには周期が存在するが、この周期は定量的に正確に検知することが難しい。図では近似的にサインカーブで示しているが、実際のトルク変動は個体毎にばらつきがあり、サインカーブで表せない様々な特性となる。このため、同じ種類・型番であってもトルク変動の特性は同一とはならず、あらゆるモータに対して汎用的、普遍的に完全に適用できる曲線(プロファイル)は存在しない。
【0035】
また、エンコーダから読み込む論理的位置情報と、コギングによるトルクリップルの周期を360度とみなした場合の位相角とを関連付けて制御することも考えられるが、この場合、装置がパワーオフされる度に論理的位置情報が初期化されてしまうため、装置がパワーオンした後に行う移動の際の停止位置での速度が、2006に示すように最終的に目標となる速度を超過するのか、2007に示すように最終的に目標となる速度未満となるのかを、予め予測して制御することが困難である。
【0036】
以上のように、使用するDCモータのコギング特性に応じて位置決め制御領域の目標速度(V_APPROACH)を設定し、高精度かつ高速な位置制御を達成することは事実上非常に困難である。
【0037】
かかる問題を解決すべく、各駆動を行う際に、目標位置及び予め設定された初期パラメータに従って該駆動の理想的なプロファイルを作成し、このプロファイルに従ってモータの駆動を制御し、各駆動の終了の際に、初期パラメータの値を評価し、評価の結果に応じて、初期パラメータの値を変更するという発明が、特願2001−148341号に提案されている。
【0038】
【発明が解決しようとする課題】
近年は、材質やサイズの異なる多種多様な記録媒体に記録することが望まれており、記録装置において搬送機構及びそのモータは、制御対象物である記録媒体の種類に応じて適切に制御する必要がある。
【0039】
このような問題に対処すべく、特願2001−148344号には、予備駆動を行っている間に、機構の移動を監視して、該機構を始動させるのに必要なモータへの指令値を求め、この指令値を駆動パラメータの初期値として用いることにより、制御対象物及び機構部分の摩擦力の個体差や使用環境の差異にかかわらず、高速かつ高精度な位置制御を可能とする発明が提案されている。
【0040】
しかしながら、上記特願2001−148344号に記載された発明では、予備駆動が行われるのは、電源が投入された後の1回だけであり、一旦起動された後は、同じパラメータが引き続いて使用される。これは、特願2001−148341号に記載された発明でも同様であり、一旦起動された後には、使用される記録媒体の種類が代わった場合にも、パラメータの値は引き継がれてしまう。
【0041】
更に、温度等の環境が変化した場合にも、機構部分の静止摩擦力等が変化するため、パラメータが引き継がれてしまうと、高速かつ高精度な位置制御を行うことができなくなる。
【0042】
本発明は以上のような状況に鑑みてなされたものであり、起動した後にも所定のタイミングでパラメータの設定を変更し、使用される記録媒体や環境が変化した場合においても高速かつ高精度な位置制御を可能とする、モータの制御方法及び制御装置を提供することを目的とする。
【0043】
【課題を解決するための手段】
上記目的を達成するために本発明のモータの制御方法は、モータを動力源として使用して機構を駆動する機器におけるモータの制御方法であって、
各駆動を行う際に、目標位置及び予め設定されたパラメータに従って該駆動の理想的なプロファイルを作成するプロファイル作成工程と、
前記プロファイルに従って前記モータの駆動を制御する追値制御工程と、
各駆動の終了の際に、前記パラメータの値を評価する評価工程と、
前記評価の結果に応じて、前記パラメータの値を変更する変更工程と、
所定のタイミングで、前記パラメータの値をデフォルト値に戻すリセット工程と、を備える。
【0044】
また、上記目的を達成する本発明のモータの制御装置は、モータを動力源として使用して機構を駆動する機器におけるモータの制御装置であって、
各駆動を行う際に、目標位置及び予め設定されたパラメータに従って該駆動の理想的なプロファイルを作成するプロファイル作成手段と、
前記プロファイルに従って前記モータの駆動を制御する追値制御手段と、
各駆動の終了の際に、前記パラメータの値を評価する評価手段と、
前記評価の結果に応じて、前記パラメータの値を変更する変更手段と、
所定のタイミングで、前記パラメータの値をデフォルト値に戻すリセット手段と、を備える。
【0045】
すなわち、本発明では、モータを動力源として使用して機構を駆動する機器におけるモータの制御において、各駆動を行う際に、目標位置及び予め設定されたパラメータに従って該駆動の理想的なプロファイルを作成し、プロファイルに従って前記モータの駆動を制御し、各駆動の終了の際に、パラメータの値を評価し、評価の結果に応じて、パラメータの値を変更するようにし、所定のタイミングで、パラメータの値をデフォルト値に戻す。
【0046】
このようにすると、例えば、機構の駆動が所定時間以上行われていないタイミング、機器に関する情報が所定の範囲内にないと判定されたタイミング、前回の駆動時と機構によって搬送される負荷の種類が変化したと判定されたタイミング等のタイミングで、パラメータの値をデフォルト値に戻し、駆動条件や対象が異なった場合に、パラメータの値が引き継がれることによって生じる不具合を防止することができる。
【0047】
従って、起動した後にも所定のタイミングでパラメータの設定を変更し、使用される記録媒体や環境が変化した場合においても高速かつ高精度な位置制御が可能となる。
【0048】
【発明の実施の形態】
以下、本発明の好適な実施形態について図面を参照して詳細に説明する。ここで説明する実施形態は、着脱可能なインクタンクを備えた記録ヘッドを搭載したシリアル式インクジェットプリンタにおいて、記録媒体搬送用のラインフィードモータの制御に、本発明のモータの制御方法を適用したものである。
【0049】
<第1の実施形態>
図3は本発明の第1の実施形態に係るシリアル式インクジェットプリンタの全体図である。同図において、101はインクタンクを有する記録ヘッド、102は記録ヘッド101を搭載するキャリッジである。キャリッジ102の軸受け部には主走査方向に摺動可能な状態でガイドシャフト103が挿入され、そのシャフトの両端はシャーシ114に固定されている。このキャリッジ102に係合したキャリッジ駆動伝達手段であるベルト104を解して、キャリッジ駆動手段である駆動モータ105の駆動が伝達され、キャリッジ102が主走査方向に移動可能である。
【0050】
記録待機中において記録用紙115は、給紙ベース106にスタックされており、記録開始時には給紙ローラ(不図示)により記録用紙が給紙される。給紙された記録用紙を搬送するため、DCモータである用紙搬送用モータ(107)の駆動力により伝達手段であるギア列(モータギア108、搬送ローラギア109)を介して搬送ローラを回転させ、ピンチローラばね(不図示)により搬送ローラ110に押圧され従動回転するピンチローラ111とこの搬送ローラ110とにより記録用紙115は適切な送り量だけ搬送される。ここで、搬送量は搬送ローラ109に圧入されたコードホイール(ロータリーエンコーダフィルム116)のスリットをエンコーダセンサ117で検知、カウントすることで管理され、高精度送りを可能としている。
【0051】
図4は、図3に示したプリンタの制御構成を説明するブロック図である。
【0052】
図において、401はプリンタ装置のプリンタ制御用のCPUで、ROM402に記憶されたプリンタ制御プログラムやプリンタエミュレーション、記録フォントを利用して記録処理を制御する。
【0053】
403はRAMで、記録のための展開データ、ホストからの受信データを蓄える。404はプリンタヘッド、405はモータを駆動するモータドライバ、406はプリンタコントローラで、RAM403のアクセス制御やホスト装置とのデータのやりとりやモータドライバへの制御信号送出を行う。407はサーミスタ等で構成される温度センサで、プリンタ装置の温度を検知する。
【0054】
CPU401はROM402内の制御プログラムにより本体のメカ的/電気的制御を行いつつ、ホスト装置からプリンタ装置へ送られてくるエミュレーションコマンド等の情報をプリンタコントローラ406内のI/Oデータレジスタから読み出し、コマンドに対応した制御をプリンタコントローラ406内のI/Oレジスタ、I/Oポートに書き込み、読み出しを行う。
【0055】
図5は、図4に示したプリンタコントローラ406の詳細構成を説明するブロック図であり、図4と同一のものには同一の符号を付してある。
【0056】
図において、501はI/Oレジスタで、ホストとのコマンドレベルでのデータのやり取りを行う。502は受信バッファコントローラで、レジスタから受信データをRAM403に直接書き込む。
【0057】
503は記録バッファコントローラで、記録時にはRAMの記録データバッファから記録データを読み出し、プリンタヘッド404に対してデータの送出を行う。504はメモリコントローラで、RAM403に対して3方向のメモリアクセスを制御する。505はプリントシーケンスコントローラで、プリントシーケンスをコントロールする。231はホストインターフェースで、ホストとの通信を司る。
【0058】
図6は、一般的なDCモータの位置サーボによる制御手順(6000)を示すブロック図である。本実施形態において位置サーボは、加速制御領域、定速制御領域、減速制御領域において使用される。このようなDCモータの制御は、PID(proportional integral and differential)コントロールあるいは古典制御と呼ばれており、以下にその手順を説明する。
【0059】
まず、制御対象に与えたい目標位置を、理想位置プロファイル6001という形で与える。本実施形態においては、これは該当する時刻においてラインフィードモータによって搬送された紙が到達しているべき絶対位置に該当する。時刻の進行とともに、この位置情報は変化していく。この理想位置プロファイルに対する追値制御を行うことで、本実施形態の駆動制御が行われる。
【0060】
装置にはエンコーダセンサ6005が具備されており、これによりモータの物理的な回転を検知する。エンコーダ位置情報変換手段6009は、エンコーダセンサ6005が検知したスリット数を累積加算して絶対位置情報を得る手段であり、エンコーダ速度情報変換手段6006はエンコーダセンサ6005の信号と、プリンタに内蔵された時計(タイマ)から、現在のラインフィードモータの駆動速度を算出する手段である。
【0061】
理想位置プロファイル6001から、位置情報変換手段6009により得られた実際の物理的位置を減算した数値を、目標位置に対して足りない位置誤差として、6002以降の位置サーボのフィードバック処理に受け渡す。6002は位置サーボのメジャーループであり、一般的には比例項Pに関する計算を行う手段が知られている。
【0062】
6002における演算の結果としては、速度指令値が出力される。この速度指令値が、6003以降の速度サーボのフィードバック処理に受け渡される。速度サーボのマイナーループは、比例項P、積分項I、微分項Dに対する演算を行うPID演算により行う手段が一般的である。
【0063】
本実施形態においては、速度指令値の非線形な変化が発生した場合の追従性を改善し、なおかつ追値制御時の微分演算の弊害を防ぐために、一般に微分先行形と呼ばれる手法を示しており、エンコーダ速度情報変換手段6006で得られたエンコーダ速度情報は、6002で得られた速度指令値との差を取る前に、微分演算手段6007を通される。この手法自体は本発明の主題となるものではなく、制御対象の系の特性によっては、6003において微分演算を行えば充分なものもある。
【0064】
速度サーボのマイナーループにおいては、速度指令値からエンコーダ速度情報を減算した数値を、目標速度に対して足りない速度誤差として、PI演算回路6003に受け渡し、その時点でDCモータに与えるべきエネルギーを、PI演算と呼ばれる手法で算出する。それを受けたモータドライバ回路は、例えばモータ印加電圧は一定として、印加電圧のパルス幅を変化させる手段(以下「PWM(Pules Width Modulation)制御」と呼ぶ)を用い、印加電圧のDutyを変化させて、電流値を調節し、DCモータ6004に与えるエネルギーを調節し、速度制御を行う。
【0065】
電流値を印加されて回転するDCモータは、6008の外乱による影響を受けながら物理的な回転を行い、その出力がエンコーダセンサ6005により検知される。
【0066】
図7は一般的なDCモータの速度サーボによる制御手順(7000)を説明するブロック図である。図6と同様な構成要素には同じ符号を伏して説明を省略する。本実施形態において速度サーボは、位置決め制御領域において使用される。このようなDCモータの制御は、PIDコントロールあるいは古典制御と呼ばれており、以下にその手順を説明する。
【0067】
まず、制御対象に与えたい目標速度を、理想速度プロファイル7001という形で与える。本実施形態においては、これは該当する時刻においてラインフィードモータにより紙を搬送すべき理想速度であり、該当する時刻における速度指令値ということになる。時刻の進行とともに、この速度情報は変化していく。この理想速度プロファイルに対して追値制御を行うことで、本実施形態の駆動制御が行われる。
【0068】
速度サーボにおいては、比例項P、積分項I、微分項Dに対する演算を行うPID演算により行う手段が一般的である。本実施形態においては、速度指令値の非線形な変化が発生した場合の追従性を改善し、なおかつ追値制御時の微分演算の弊害を防ぐために、一般に微分先行形と呼ばれる手法を示しており、6006で得られたエンコーダ速度情報は、理想速度プロファイル7001で得られた速度指令値との差を取る前に、微分演算手段7003を通される。この手法自体は本発明の主題となるものではなく、制御対象の系の特性によっては、7002において該微分演算を行えば充分なものもある。
【0069】
速度サーボにおいては、速度指令値からエンコーダ速度情報を減算した数値を、目標速度に対して足りない速度誤差として、PI演算回路7002に受け渡し、その時点でDCモータに与えるべきエネルギーを、PI演算と呼ばれる手法で算出する。それを受けたモータドライバ回路は、例えばPWM制御を用い、印加電圧のDutyを変化させて、電流値を調節し、DCモータ6004に与えるエネルギーを調節し、速度制御を行う。
【0070】
電流値を印加されて回転するDCモータ6004は、6008の外乱による影響を受けながら物理的な回転を行い、その出力がエンコーダセンサ6005により検知される。
【0071】
図8、9、10は、図2において説明した、コギングによるトルク変動の及ぼす影響と制御について、各ケースについて更に詳細に説明するための図である。
【0072】
図8は、停止直前の速度v_stopが、平均的かつ理想的な値V_APPROACHで終了する場合を示し、図9は、v_stop>V_APPROACH、すなわち速度超過で終了する場合を示し、図10は、t_approach>T_APPROACH、すなわち時間超過で終了する場合を示している。
【0073】
8001は理想位置プロファイルであり、位置サーボを行う2011、2012、2013の各領域に対して設定されるが、S_APPROACHまでしか計算されない。これは、S_APPROACHを通り過ぎると速度サーボに切り替わるため、S_APPROACH以降ではこの理想位置プロファイルが不必要であるからである。8001における減速所要時間T_DECは実際の駆動と関わりなく一定であり、これに該当する制御領域を理想減速制御領域9001として示すものとする。
【0074】
8003、9003、10003は、各図における外乱等の影響を考慮した現実位置プロファイルである。ここでは、説明対象の明確化を図るため、コギングによる高い周波数での変動を平均化した場合の、物理的なモータの現実位置プロファイルを示している。
【0075】
位置サーボにおいては、時間的な遅れが必ず発生するため、理想位置プロファイル8001に対して8003、9003、10003の現実位置プロファイルはいずれも遅れを持っている。従って、理想位置プロファイル8001が終了しても、現実位置はS_APPROACHには到達しないことが一般的であり、本実施形態においては、9001が終了してから現実の駆動がS_APPROACHに到達するまでの間には、仮想の理想位置プロファイル8006によって位置サーボへの指令位置値として代用するものとする。この仮想の理想位置プロファイル8006は、理想位置プロファイル8001の最終的な傾きを用いて、理想位置プロファイルの終点から伸ばした直線とする。
【0076】
8005、9005、10005は、2005と同様、説明対象の明確化を図るため、コギングによる高い周波数での変動を平均化した、簡略化された概念における場合の、物理的なモータの現実速度プロファイルを示しており、ここでは各図における外乱等の影響を考慮したプロファイルを各々示している。
【0077】
その他の図2と同様な部分は、図2と同じ符号で示している。ただし、図2においては定数値であった位置決め制御領域2014に費やされる時間の理想値T_APPROACHに対して、図8、9、10においては現実の駆動を想定した場合に外乱によってあらゆる値に変化する現実の値として、位置決め制御領域2014に費やされる時間として現実変数値t_approachを追加している。
【0078】
なお、本実施形態における説明では、定数値を英大文字、変数値を英小文字で示している。同一スペリングの値について英大文字、英小文字の表記がある場合、英大文字で示された値は理想定数値であり、英小文字で示された値は同じ内容の値について変化しうる変数値を示している。
【0079】
S_DECは定速制御領域2012が終了して減速制御領域2013が開始される位置を示しており、あくまでも理想位置プロファイル8001によって決定される値であるため、現実の駆動における外乱の影響とは無関連である。
【0080】
上記のように、図8は停止直前速度v_stopが、平均的かつ理想的な値V_APPROACHで終了する場合であり、v_stop<V_PROMISE、かつ、t_approach=T_APPROACH、であるため、停止直前速度、駆動所要時間の双方が要件を満たしている。
【0081】
また、図9は、v_stop>V_APPROACH、すなわち速度超過で終了するため、停止直前速度の要件を満たすことができない。実際にこのような駆動が発生する主たる原因は、主に減速領域におけるコギングによるトルク変動の影響により、S_APPROACHに到達した瞬間の速度が過剰であるためであるが、S_STOPの位置がちょうどモータのトルク変動により速度が速くなるポイント1004に対応する位相角である場合にも、同様の結果をもたらしうる。
【0082】
一方、図10は、t_approach>T_APPROACH、すなわち時間超過で終了するため、駆動所要時間の要件を満たすことができない。実際にこのような駆動が発生する主たる原因は、主に減速領域におけるコギングによるトルク変動の影響により、S_APPROACHに到達するかなり以前から速度が落ちてしまうためであるが、S_STOPの位置がちょうどモータの速度が遅くなるポイント1005に対応するの位相角である場合にも、同様の結果をもたらしうる。
【0083】
図11は、本実施形態における駆動制御処理を説明するフローチャートであり、図12は、図11の各処理に関わる信号の状態を速度プロファイルと共に同じ時間軸上に示したタイミングチャートである。
【0084】
ステップS11011でパワーオンがなされると、ステップS11012に進み、デフォルトの値としてv_approachにはV_APPROACHを、s_apr_STOPにはS_APR_STOPが設定される。
【0085】
ステップS11101では、駆動命令が発行されない状態で経過した時間をカウントするためのタイマカウンタwaittime_counterに0を代入して初期化する。
【0086】
ステップS11013では、プリンタシステムにおいて駆動命令が発行されたか否かを判定し、駆動命令が来ていなければ待機処理を行うべくステップ11102に進み、駆動命令が来ていれば駆動制御を開始すべくステップS11001に進む。
【0087】
ステップS11102では、タイマカウンタwaittime_counterをカウントアップし、ステップS11103で5msecの時間待機する。そしてステップS11104で、タイマカウンタwaittime_counterの値が、閾値WAITTIME_LIMITに達しているか否かの判定を行う。この閾値WAITTIME_LIMITの値は、環境温度やモーター蓄熱状態などが変化している可能性のある時間に相当する値である。
【0088】
waittime_counterの値がWAITTIME_LIMIT未満であれば、ステップS11013に戻り、再度駆動命令がくるのを待つ。一方、waittime_counterの値がWAITTIME_LIMIT以上であれば、ステップS11012に戻り、v_approach及びs_apr_STOPをデフォルトの値に戻す。
【0089】
ステップS11001で駆動制御処理が開始されると、ステップS11002で駆動制御準備手段が行われる。ここで行われる処理については後述するが、その概略は、一般的にモータ制御タスクに記述される処理であり、駆動目的に適したテーブルの選択、駆動量に合致したT_FLATの設定、本発明の主題である評価手段の結果を次回の駆動で使用する理想速度プロファイルに反映させる処理、各種ワーク領域の設定を行い、最後にタイマ割り込み処理を司るタイマに起動をかけて終了する。
【0090】
ステップS11002でタイマが起動されると、ステップS11003で示された実駆動処理に移行する。この処理は、一般的にタイマ割り込み処理内に記述される処理であり、たとえば1msec毎に1回の割り込みを行い、エンコーダの値を読み出し、PID演算等により出力すべき電流の値を算出し、モータに対して算出した値を出力するものである。
【0091】
ステップS11003の処理と並行して、システムにおいては停止位置S_STOPに到達したかどうかの監視が行われており、到達が検知されると駆動目標位置への到達検知処理ステップS11004が起動されて割り込みが発生し、ステップS11005の駆動制御終了処理へと処理は移行する。
【0092】
ステップS11005においては、モータに対する出力をいち早くディセーブルにしてからタイマを停止し、本発明の主題である評価処理を実行して処理を終了する。
【0093】
以上の各処理を行うことで、1つの駆動処理はステップS11006の駆動制御終了へと至ることになる。
【0094】
図13は、ステップS11002の駆動制御準備処理での動作を詳細に示すフローチャートである。
【0095】
駆動制御準備処理においては、駆動目的及び駆動量に適したテーブルの選択を行い、該テーブルのv_approach、V_FLAT、T_DEC、s_apr_STOP、V_START、T_ADD、T_FLATを取得する。シリアルプリンタ装置においては、処理速度の高速化、静音化、給紙モータとの同期制御等のために、ラインフィードモータに関して複数種類のテーブルを持つことが一般的であり、ここで使用するテーブルの選択を行うものとする。ここでは、更にT_DECを変数領域t_decに、S_DECを変数領域s_decに格納する場合について説明する。
【0096】
ステップS13001では、該テーブルに適したフィードバック制御のゲイン設定等を行う。ここでの処理は従来より行われている処理と同様であり、本実施形態の主題とするところではないため説明を省略する。
【0097】
ステップS13000は理想位置プロファイル生成処理であり、理想位置プロファイル8001を生成するための処理であり、その詳細を以下に説明する。
【0098】
ステップS13002では加速駆動プロファイルを生成する。ここで行われる処理は従来より行われている処理と同様であり、例えば、加速駆動プロファイルとしては、時間を入力とし速度を出力とする1次関数または3次関数を用い、該出力を加算していくことで位置プロファイルを得る方法が一般的である。
【0099】
ステップS13003では定速駆動プロファイルを生成する。ここで行われる処理も従来より行われている処理と同様であり、例えば、定速駆動プロファイルとしては、V_FLATにより駆動した場合の位置の変化を計算する方法が一般的である。
【0100】
ステップS13004では減速駆動プロファイルを生成する。これは本実施形態の特徴的な処理であり、以下で詳細について説明する。
【0101】
ステップS13005において、時刻値Txを初期化し、時刻Txに到達すべき理想位置S(Tx)の初期値として、減速開始位置であるs_decを設定する。
【0102】
ステップS13006では、速度の3次減速曲線により時刻Txにおける理想速度V(Tx)を算出する。本実施形態において速度の3次減速曲線は、以下の式により求めることができる。すなわち、
V(Tx)=(V_FLAT−v_approach) (2Tx−3t_dec)Tx/t_dec+V_FLAT
である。
【0103】
この式からわかるように、v_approachの変化に追従して、フレキシブルに曲線を変化させうる構造となっているところに特徴がある。もちろん本発明で使用する減速曲線はこの3次減速曲線に限定されるものではなく、系の適性に応じて、1次減速曲線やその他の関数で示される曲線であってもよく、v_approachの変化を反映させうる曲線であれば、いかなる減速曲線においても本発明の意図する効果を享受することができる。
【0104】
ステップS13007では、S(Tx)に対してV(Tx)を加算しうることで、Tx+1において到達すべき理想位置S(Tx+1)を算出する。
【0105】
ステップS13008では、Txをインクリメントする。そしてステップS13009で、カウンタTxの値が理想減速制御領域9001の終了を意味する値t_decになるまで、ステップS13006〜S13008の処理が繰り返されて各TxにおけるV(Tx)、S(Tx)の計算が続けられる。
【0106】
以上の処理が終了すると、ステップS13010に進み、プロファイル計算で加算した時刻カウンタTxを実際の制御に備えて再度初期化したり、タイマを起動するための各種設定等を行う。ここでの処理は従来行われているものと同様であるので説明を省略する。
【0107】
そしてステップS13011によりタイマの起動を行うと、ステップS13012で本駆動制御準備処理は終了する。
【0108】
図14は、ステップS11003の実駆動処理で行われる動作を示したフローチャートであり、タイマ割り込みが発生する毎に遂行される処理について示したものである。
【0109】
タイマ割り込みが発生してステップS11003が起動されると、ステップS14001に進み、エンコーダ位置情報変換手段6009によって現在位置を得てS(Tx)への代入が行われる。
【0110】
次にステップS14002において、位置決め制御領域2014に到達しているか否かを判定し、まだ到達していなければステップS14011に、到達していればステップS14005に進む。
【0111】
ステップS14011では、理想減速制御領域9001内にいるか否かを判定し、まだ該領域内にいる場合にはステップS14003に、逸脱してしまっている場合にはステップS14012に進む。
【0112】
ステップS14003では、理想位置プロファイル生成処理13000で生成した位置プロファイルから、現時刻Txに該当する位置情報を理想位置プロファイルとして採用し、ステップS14004に進む。
【0113】
一方、ステップS14012では、すでに理想位置プロファイル生成処理ステップS13000で生成される領域を逸脱しているため、該理想位置プロファイルの最終的な傾きを用いて、該理想位置プロファイルの終点から伸ばした直線を生成し、仮想の理想位置プロファイルとして採用し、ステップS14004に進む。
【0114】
ステップS14004では、以上により得た位置指令値を用い、図6に示した位置サーボ制御6000を実行させ、ステップS14007に進む。
【0115】
ステップS14005では、理想速度プロファイルとして、v_approachを採用し、該値を速度指令値として、ステップS14006で図7に示した速度サーボ制御7000を実行させ、ステップS14007に進む。
【0116】
ステップS14007では、演算結果の電流値をモータに出力し、ステップS14008で割り込み内の処理を終了する。
【0117】
図15は、ステップS11005の駆動制御終了処理で行われる動作を説明するフローチャートである。
【0118】
ステップS15001で出力電流をディセーブルにしタイマを停止すると、ステップS15002の評価処理に進む。この評価処理は本実施形態において特徴的な処理であり、以下で詳細について説明する。
【0119】
まずステップS15021で、理想値であるT_APPROACHと、現実に要したt_approachとの差をとり、dif_approachに代入し、ステップS15003に進む。
【0120】
studyPrmは、t_approachが理想値から逸脱している度合いを、次の駆動におけるv_approachに反映させるための改善係数である。
【0121】
ステップS15003において、dif_approachとSTUDY_T_HISPEEDLIMITを比較する。そして、dif_approachが小さすぎる場合には、ステップS15011に進んで、studyPrmとしてstudy_prm_emergencyを採用する。一方、小さすぎない場合にはステップS15004に進んで、study_prm_normalを採用する。ここで、study_prm_emergency>study_prm_normalである。
【0122】
該処理は、t_approachがあまりにも短すぎて、減速しきらないままにS_STOPに到達してしまい、v_stopが高速になってしまう場合を想定している。かかる場合にはステップS15011でstudy_prm_emergencyを採用することで、後述するステップS15007での計算により、最終的に評価処理S15002で出力されるv_approachはより低くなる。すなわち、study_prm_normalにより計算したv_approachを用いた場合よりも、次の駆動におけるt_approachはより急激に長くなることが期待でき、v_stopが高速になってしまい停止位置の精度が保証されないという問題を改善できる。
【0123】
なお、study_prm_emergencyをいかなる場合にもstudyPrmとして採用すると、t_approachが長い場合に、より急激なt_approachの短縮を招いて、次の駆動におけるv_stopが高速になってしまうという弊害が生じるが、ステップS15003による判定においてそのような状態となった場合の分岐先をステップS15004にしているため、そのような場合にはstudy_prm_normalが採用される。
【0124】
ステップS15005及びS15006では、dif_approachの絶対値とSTUDY_T_INPUTLIMITを比較し、dif_approachの絶対値が大きい場合には、ステップS15012又はS15013において、その値を最大リミット値である±STUDY_T_INPUTLIMITに変更する。該処理は、突発的で極大な外乱の影響を押さえるための処理である。
【0125】
このように、ステップS15003、S15011、S15004、S15005、S15006、S15012、S15013は、本実施形態におけるv_approachの計算において、非常に有効な作用を実現している。
【0126】
これらの処理の目的は、図9に関して説明したように、v_stop>V_APPROACH、すなわち速度超過で終了して停止直前速度の要件を満たすことができない場合と、図10に関して説明したように、t_approach>T_APPROACH、すなわち時間超過で終了して駆動所要時間の要件を満たすことができない場合の双方を改善することにある。
【0127】
ここで、ラインフィードモータの位置決め制御においては、停止位置精度の保証はいかなる状況でも達成されなければならないが、駆動所要時間は平均的に達成されていれば許され、許容される範囲内であれば達成されない場合が生じても問題とはならない。
【0128】
従って、停止直前速度v_stopがV_APPROACHを超過している場合には早急な改善が必要とされるが、駆動所要時間については、その改善によりv_stopの悪化を招いてしまう可能性がある場合には、たとえ改善効果が鈍くなったとしても慎重に進める必要がある。ステップS15003、S15011、S15004、S15005、S15006、S15012、S15013での処理は、この点を考慮している。
【0129】
ステップS15007は、本実施形態において最も重要な処理であり、評価処理の核をなすものである。
【0130】
すなわち、理想のT_APPROACHから、終了した駆動で実際に検出されたt_approachを引いた差dif_approachに、適切な係数studyPrmをかけ、それを現在のv_approachから引くことで、次の駆動で使用されるv_approachを算出する。
【0131】
以上の処理が終了すると、ステップS15008で処理を終了する。
【0132】
ここで、ステップS15007での処理による作用について、図16、17、18、19を用いて以下で具体的に説明する。
【0133】
図16は、図9のv_stopが超過状態となる場合の駆動を示すグラフに、コギングによるトルク変動を明示した現実速度プロファイルの曲線16006を追加したグラフであり、図17は、ステップS15007の処理が行われた後の駆動状態を示したグラフである。
【0134】
上述のように、このような駆動が発生する主たる原因は、実際にこのような駆動が発生する主たる原因は、主に減速領域におけるコギングによるトルク変動の影響により、S_APPROACHに到達した瞬間の速度が過剰であるためであるが、S_STOPの位置がちょうどモータのトルク変動により速度が速くなるポイント1005に対応する位相角である場合にも、同様の結果をもたらしうる。図16は、この2つの要因を、わかりやすくするため同時に示したものである。
【0135】
ここで、ステップS15007の処理は、t_approachが短すぎることを改善するため、図17に示したように、次の駆動のv_approachを減少させることで位置決め制御領域2014の平均速度を落としてt_approachの増加とv_stopの低速化をはかる方向に作用する。
【0136】
図18は、図10のt_approachが超過状態となる場合の駆動を示すグラフに、コギングによるトルク変動を明示した現実速度プロファイルの曲線18006を追加して示したグラフであり、図19は、ステップS15007の処理が行われた後の駆動状態を示したグラフである。
【0137】
上述のように、実際にこのような駆動が発生する主たる原因は、主に減速領域におけるコギングによるトルク変動の影響により、S_APPROACHに到達するかなり以前から速度が落ちてしまうためであるが、S_STOPの位置がちょうどモータの速度が遅くなるポイント100に対応する位相角である場合にも、同様の結果をもたらしうる。図18は、この2つの要因を、わかりやすくするために同時に示したものである。
【0138】
ここで、ステップS15007の処理は、t_approachが長すぎることを改善するため、図19に示したように、次の駆動のv_approachを増加させることで位置決め制御領域2014の平均速度を上げてt_approachの減少とv_stopの高速化をはかる方向に作用する。
【0139】
図20は、改善係数studyPrmに代入される変数study_prm_emergency及びstudy_prm_normalの設定処理を示すフローチャートであり、この図を参照して本発明の特徴的な制御の詳細について説明する。
【0140】
まずステップS20001で、本発案の適用対象であるシリアルプリンタ装置の電源が投入されるとステップS20002に進む。lf_counterは、装置起動後ラインフィードモータが駆動された回数を記憶するためのカウンタであり、電源投入直後にはステップS2002で0にリセットされる。
【0141】
ステップS20003で、lf_counterと、起動後何回ラインフィードモータを駆動したら改善係数の値を変更するかの判定の基準値であるSTUDY_STARTCASEとを比較する。STUDY_STARTCASEに、たとえば整数3を採用すると、電源投入後3回の駆動まではステップS20005に進み、それ以降の駆動ではステップS20004に進むことになる。
【0142】
ステップS20005は、電源投入後の駆動回数が少なく、制御が理想状態から離れていると想定される場合に行われる処理であり、改善係数として大きめの値が設定される。本実施形態では基本となる改善係数STUDY_PRM_BASEの4倍の数値をstudy_prm_emergencyに、2倍の数値をstudy_prm_normalに設定する。
【0143】
一方、ステップS20004は、電源投入後に充分な回数だけ駆動された場合に行われる処理であり、改善係数として小さめの値が設定される。本実施形態では基本となる改善係数STUDY_PRM_BASEの2倍の数値をstudy_prm_emergencyに、1倍の数値をstudy_prm_normalに設定する。
【0144】
ステップS20006では、モータの駆動を開始する。ここでの駆動は、ステップS20004またはステップS20005で設定された改善係数を使用して行われる。
【0145】
ステップS20007で駆動が終了すると、ステップS20008でlf_counterの値がインクリメントされる。
【0146】
以上説明したように本実施形態では、駆動命令を待機している間の経過時間が、環境温度やモーター蓄熱状態などが変化している可能性のある時間以上となった場合に、パラメータv_approach及びs_apr_STOPをデフォルトの値に戻す。
【0147】
このようにすると、装置の状態がパラメータを設定した時点と異なっている可能性が高い状況において、パラメータを適切なタイミングで一旦デフォルト値に戻して再度設定することができ、現時点により適した駆動制御を行うことができる。
【0148】
なお、上記の説明では、駆動が行われない待機時間が予め設定した時間以上となったときに装置の情報が変化した可能性が高いと判断しているが、センサなどを用いて実際に温度等の装置の使用状況(環境)に関する情報を測定し、その値が予め設定した範囲を越えた場合にパラメータをデフォルト値に戻すようにしてもよい。
【0149】
<第2の実施形態>
次に、本発明に係る第2の実施形態について説明する。なお、以下の説明においては上記第1の実施形態と同様な部分については説明を省略し、第2の実施形態の特徴的な部分を中心に説明する。
【0150】
本実施形態は、搬送負荷の異なる記録媒体を使用する際に、パラメータの設定を変更するように、第1の実施形態における図11に示した処理のみに変更を加えたものであるため、該当部分の処理と作用・効果を中心に説明を行う。
【0151】
図21は、本実施形態における搬送部の機械的構成を示す概略図であり、(a)は記録媒体として普通紙を搬送している場合、(b)は記録媒体としてCD−Rを使用する場合に使用されるCD−Rトレイを搬送している場合をそれぞれ示している。
【0152】
搬送対象となる記録媒体としての普通紙20003又はCD−Rトレイ21003は、搬送ローラ110とピンチローラ111によって、両面を支持されている。モータギア108の回転力は搬送ローラギア109を介して搬送ローラ110へ伝達される。ピンチローラ111は、ピンチローラばね20001により搬送ローラ110に適切な圧力で押し付けられており、普通紙20003又はCD−Rトレイ21003が搬送ローラ110から浮き上がることを防いでいる。これらの構成により、搬送ローラ110からの搬送力は普通紙20003、CD−Rトレイ21003に対して少ないエネルギー損失で伝達され、これら記録媒体は搬送ローラ110とピンチローラ111が回転することによって搬送される。
【0153】
CD−Rトレイ21003は普通紙20003よりも厚いため、(b)に示すピンチローラ111と搬送ローラ110との間隔は、(a)と比べて離間した状態となる。このとき、ピンチローラばね20001は激しく縮んでいる。
【0154】
理想的な搬送機構としては記録媒体の種類にかかわらず搬送負荷が等しくなることが望ましい。しかしながら現実的には、例えば図示したピンチローラばね20001の圧力の違い等により、記録媒体の種類により搬送負荷が変わってしまうことが多い。本実施形態はこのような場合においても理想的なモータ制御が行えるようにするものである。
【0155】
以下、本実施形態における駆動制御処理を、図22のフローチャートを参照して説明する。なお、図22において図11と同じ処理は同じ参照符号で示している。
【0156】
ステップS11011でパワーオンがなされると、ステップS22001に進み、搬送しようとしている記録媒体の種類を表す変数prtmedia_nowを、未定であることを意味する定数PRTMEDIA_UNKOWNで初期化する。
【0157】
ステップS22002では、駆動命令が発行されたか否かを判定し、駆動命令が来るまで待機し、駆動命令が来たらステップS22003に進む。ステップS22003では、これから搬送しようとしている記録媒体の種類を識別し、普通紙であればステップS22004に進み、厚紙であればステップS22005に進み、CD−RトレイであればステップS22006に進む。記録媒体の種類の識別は、たとえばホストコンピュータから送信されるコマンドを解析することなどによって容易に行うことができる。
【0158】
ステップS22004では、直前の駆動を行ったときの記録媒体の種類を表す情報が格納されている変数prtmedia_nowを参照し、該変数の値がこれから搬送しようとしている普通紙と同じであるか否かを判定する。変数の値が普通紙と同じであればステップS11001に進んで駆動制御を開始し、一方、普通紙でないならばステップS22007に進む。
【0159】
ステップS22007では、変数prtmedia_nowに、普通紙を意味する定数PRTMEDIA_NORMALを代入する。そして、ステップS22010へ進んで、v_approachにはV_APPROACHを、s_apr_STOPにはS_APR_STOPを設定してデフォルト値に戻す。この後、ステップS11001に進んで駆動制御を開始する。
【0160】
ステップS22005では、直前の駆動を行ったときの記録媒体の種類を表す情報が格納されている変数prtmedia_nowを参照し、該変数の値がこれから搬送しようとしている厚紙と同じであるか否かを判定する。変数の値が厚紙と同じであればステップS11001に進んで駆動制御を開始し、一方、厚紙でないならばステップS22008に進む。
【0161】
ステップS22008では、変数prtmedia_nowに、厚紙を意味する定数PRTMEDIA_SPECIALを代入する。そして、ステップS22010へ進んで、v_approachにはV_APPROACHを、s_apr_STOPにはS_APR_STOPを設定してデフォルト値に戻す。この後、ステップS11001に進んで駆動制御を開始する。
【0162】
ステップS22006では、直前の駆動を行ったときの記録媒体の種類を表す情報が格納されている変数prtmedia_nowを参照し、該変数の値がこれから搬送しようとしているCD−Rと同じであるか否かを判定する。変数の値がCD−Rと同じあればステップS11001に進んで駆動制御を開始し、一方、CD−RでないならばステップS22008に進む。
【0163】
ステップS22008では、変数prtmedia_nowに、CD−Rを意味する定数PRTMEDIA_CDRを代入する。そして、ステップS22010へ進んで、v_approachにはV_APPROACHを、s_apr_STOPにはS_APR_STOPを設定してデフォルト値に戻す。この後、ステップS11001に進んで駆動制御を開始する。
【0164】
ステップS11001からS11006までの処理は、第1の実施形態における処理と同様であり、詳細な説明は省略する。ステップS11006の駆動制御終了処理が終わると、ステップS22002に戻って処理を続行する。
【0165】
以上説明したように本実施形態によれば、図21に示したように、搬送負荷の異なる記録媒体を使用する場合においても、記録媒体の種類が変化するごとにパラメータv_approach及びs_apr_STOPがデフォルトの値に戻されるため、異なる記録媒体に対して最適化されたパラメータを使用することがなく、一方、同じ記録媒体を使用する際には該記録媒体に対して最適化されたパラメータを使用するようにして、使用される記録媒体に適した搬送制御を行うことができる。
【0166】
<第3の実施形態>
次に、本発明に係る第3の実施形態について説明する。なお、以下の説明においては上記第1及び第2の実施形態と同様な部分については説明を省略し、第3の実施形態の特徴的な部分を中心に説明する。
【0167】
本実施形態は、第1の実施形態において積分補償量の初期値を0とした場合に起こる弊害を防止するものであり、第1の実施形態と異なる処理とその作用・効果について説明を行う。
【0168】
図23は、本実施形態におけるモータの制御において外乱の及ぼす影響と実際の制御との関係を図8と同様に示した図である。図中、横軸は時間を示しており、2001の縦軸は速度を、2002の縦軸は位置を示している。
【0169】
図23では停止直前速度v_stopが、平均的かつ理想的な値V_APPROACHで終了する場合を示している。
【0170】
23001は理想位置プロファイルを示しており、2004は理想速度プロファイルを示している。該理想位置プロファイル23001は、加速制御領域2011、定速制御領域2012、減速制御領域2013、位置決め制御領域2014の4つの制御領域により構成されている。
【0171】
2004の理想速度プロファイル2004において、V_STARTは初速度であり、V_FLATは定速制御領域2012の速度を示している。V_APPROACHは位置決め制御領域の速度を示しており、V_PROMISEは位置決め精度性能を達成するために絶対に守られなければならない停止直前速度の最速値を示している。v_stopは、現実の駆動を想定した場合に外乱によってあらゆる値に変化する現実の値としての停止直前速度である。実際の駆動における速度変動を考慮して、V_APPROACHはいかなる速度変動が発生してもv_stopがV_PROMISEを超えることがないよう充分に低く設定された速度であることが要求される。
【0172】
本実施形態においては、加速制御領域2011、定速制御領域2012、及び減速制御領域2013では位置サーボを採用し、位置決め制御領域2014では速度サーボを採用している。理想位置プロファイル23001の曲線は、位置サーボにおける理想位置のプロファイルを示している。理想速度プロファイル2004の曲線は、速度サーボ時には理想速度のプロファイルを示し、位置サーボ時には理想位置プロファイル23001に追従して動作するために求められる要求速度プロファイルを示している。
【0173】
理想位置プロファイル23001は、位置サーボを行う2011、2012、2013の各領域に対して設定されるが、S_APPROACHまでしか計算されない。これは、S_APPROACHを通り過ぎると速度サーボに切り替わるため、S_APPROACH以降では理想位置プロファイルが不必要であるからである。理想位置プロファイル23001における減速所要時間T_DECは、現実の駆動と関わりなく一定であり、これに該当する制御領域を理想減速制御領域24001として示すものとする。
【0174】
23003は、各状態における外乱等の影響を受けた現実位置プロファイルである。位置サーボにおいては、遅れが必ず発生するため、理想位置プロファイル23001に対して現実位置プロファイル23003はいずれも遅れを持っている。従って、理想位置プロファイル23001が終了しても、現実位置はS_APPROACHには到達しないことが一般的であり、本実施形態においては、理想位置プロファイル23001が終了してから現実の駆動がS_APPROACHに到達するまでの間には、仮想の理想位置プロファイル23006によって位置サーボへの指令位置を代用するものとする。仮想の理想位置プロファイル23006は、理想位置プロファイル23001の最終的な傾きを用いて、理想位置プロファイルの終点から伸ばした直線とする。
【0175】
23005は、物理的なモータの現実速度プロファイルを表している。理想位置プロファイル23001を入力としてフィードバック制御をかけていき、理想速度プロファイル2004に対して若干の遅れを出しつつも、位置決め制御領域2014が進むに従って理想速度に近づき、最終的な停止直前速度としては位置決め精度性能を達成できる速度V_APPROACHに収束するよう制御される。なお、減速制御領域2013から位置決め制御領域2014への移行は、物理的な駆動速度状態に関わらず、S_APPROACHに達した瞬間に行われるものとする。
【0176】
S_DECは定速制御領域2012が終了して減速制御領域2013が開始される位置を示しており、あくまでも理想位置プロファイル23001によって決定づけられる値であるため、現実の駆動における外乱の影響とは無関連である。
【0177】
図中のS_APPROACHは減速制御領域2013が終了して位置決め制御領域2014が開始される位置を示しており、S_STOPは停止位置を示している。T_ADDは加速制御領域2011に費やされる所要時間であり、T_DECは減速制御領域2013に費やされる所要時間である。T_FLATは定速制御領域2012に費やされる時間であり、駆動開始位置を0としたときの停止位置S_STOP、すなわち総駆動距離を満足する理想位置プロファイル23001を設定した時点で決定する固定値である。
【0178】
T_APPROACHは位置決め制御領域2014に費やされる時間であり、駆動制御対象が実際に動いたときに、位置決め制御領域2014に突入する位置S_APPROACHから停止位置S_STOPまでの距離S_APR_STOPを移動するのに要する時間である。図23では、位置決め制御領域2014において駆動制御対象がほぼ理想速度通りに動いた場合を示しているが、現実の制御において理想通りの物理的動作は一般的に大変困難である。
【0179】
高速かつ高精度の位置決めを行うために、理想位置プロファイル23001のカーブをその系に適合するようにチューニングする必要がある。具体的には、定速制御領域2012の速度は、位置決め所要時間を短縮するために系の性能の許す限り速く、位置決め制御領域2014の速度は、位置決め精度の向上を実現するために系の性能の許す限り遅く、さらに加速制御領域2011、減速制御領域2013、及び位置決め制御領域2014の距離は、位置決め所要時間を短縮するために系の性能の許す限り短くなるように、理想位置プロファイル23001を設定することが望ましい。
【0180】
しかしながら、このようなチューニングの詳細な手法については本発明の主題ではないので、ここではすでに理想位置プロファイル23001が最適に調整されているものとして説明する。
【0181】
t_approachは、現実の駆動を想定した場合に外乱によってあらゆる値に変化する現実の値として、位置決め制御領域2014に費やされる時間を表す変数である。
【0182】
なお、本実施形態においても上記実施形態と同様に、定数値を英大文字、変数値を英小文字で示している。同一スペリングの値について英大文字、英小文字の表記がある場合、英大文字で示された値は理想定数値であり、英小文字で示された値は同じ内容の値について変化しうる変数値を示している。
【0183】
図24は、積分補償量の初期値を0とした場合に起こる制御の弊害を、最悪の例を用いて簡略に示したものである。
【0184】
図24における現実速度プロファイル23005は、静止摩擦力に打ち勝って動きうる積分補償量に達するまでに、時間t_problemを要している。ここでようやく動き出すが、今度はt_problemまでの時点で過剰に大きくなってしまった位置の偏差を小さくするために、位置サーボのフィードバックが大きくかかり、現実速度プロファイル23005は、理想速度プロファイル2004を大きく超えてしまう。
【0185】
やがて位置の偏差が少なくなるにつれて速度は落ちてくるが、対象となる系に対して最適調整されたプロファイルから完全に逸脱しているため、停止位置に近づいても速度が充分に落ちきらない。結果的に、本来は時間T_DECを要して、V_APPROACHに近い速度で到達すべき位置S_STOPに、時間T_DECが経過する前に速すぎる速度v_badで突入してしまうこととなる。この結果オーバーランが発生してs_stopを行き過ぎてしまい、要求される精度が満たせなくなってしまう。
【0186】
図25は、本実施形態における駆動制御処理を説明するフローチャートであり、図26は、図25の各処理に関わる信号の状態を速度プロファイルと共に同じ時間軸上に示したタイミングチャートである。
【0187】
ステップS25011でパワーオンがなされると、ステップS30000でこれから搬送しようとしている記録媒体の種類を表す情報を格納する変数prtmedia_nowを、未定であることを意味する定数PRTMEDIA_UNKOWNで初期化する。
【0188】
次に、ステップS25054で、本実施形態の特徴であるところの積分補償量初期値を検出する処理が起動される。
【0189】
まず、ステップS25051において、積分補償量の初期値を表す変数init_integral_spdを0で初期化する。本実施形態においてこの値を0で初期化するのは、ステップS25051だけである点が重要である。また、ステップS25051においては、更に後続のシーケンスで使用されるLFモータの送りテーブルを選択している。本実施形態装置においては、ここで選択されるテーブルは低速駆動テーブルであり、一定速度v_testでの速度サーボによる駆動を選択するものとする。
【0190】
なお、速度v_testの設定値は、検出せんとする初期積分補償量の値に直接かかわるものであり、系に適切なチューニングの上で定められることが望ましいが、たとえば図23におけるV_APPROACHを使用することが考えられる。
【0191】
ステップS25051の処理が終了すると、該当するテーブルによる駆動の処理が、ステップS25052で行われる。ステップS25052内の各処理は、図26においても説明されている。
【0192】
具体的には、ステップS25001で駆動制御処理が開始されると、ステップS25002で駆動制御準備処理が行われる。ここで、積分補償量の初期値init_integral_spdを、実際にフィードバック制御で使用するワーク領域integral_spdに代入する。ステップS25002は、一般的にモータ制御タスクに記述される処理であり、integral_spdの設定の他に、駆動目的に適したテーブルの選択、駆動量に合致したT_FLATの設定、本発明の主題である評価手段の結果を次回の駆動で使用する理想速度プロファイルに反映させる反映処理、及び各種ワーク領域の設定を行い、最後にタイマ割り込み処理を司るタイマに起動をかけて終了する。
【0193】
ステップS25002でタイマが起動されると、ステップS25003で示された実駆動処理に移行する。この処理は、一般的にタイマ割り込み処理内に記述される処理であり、たとえば1msec毎に1回の割り込みを行い、エンコーダの値を読み出し、PID演算等により出力すべき電流の値を算出し、モータに対して算出した値を出力するものである。
【0194】
ステップS25003の処理と並行して、システムにおいては停止位置S_STOPに到達したかどうかの監視が行われており、到達が検知されると駆動目標位置への到達検知処理ステップS25004が起動されて割り込みが発生し、ステップS25005の駆動制御終了処理へ移行する。
【0195】
ステップS25005においては、モータに対する出力をいち早くディセーブルにしてからタイマを停止し、ステップS25006で処理を終了する。
【0196】
ステップS25006の駆動制御終了処理を終了すると、ステップS25053に進み、最適積分補償量初期値の解析を行う。
【0197】
以上のようにしてステップS25054の積分補償量初期値検出手段を終了すると、ステップS30001に進み、駆動命令の待機状態となる。プリンタシステムで、給紙、印刷、排紙等の動作が発生する度に、紙送りの駆動命令が発行され、これを受信してステップS30002に処理は進む。
【0198】
ステップS30002では、すでに搬送ローラ上に記録媒体があるか否かを判定し、ある場合にはステップS30003に進み、ない場合にはステップS30012に進んで駆動制御を開始する。
【0199】
本実施形態装置においては、記録媒体の種類に適した最適な積分補償量初期値を得ることを意図しており、記録媒体が搬送ローラ上にある状態でステップS25054の積分補償量初期値検出処理を実行することで、該記録媒体に適したより厳密な搬送処理を実現するものである。従って、給紙処理実行前で、まだ搬送ローラ上に記録媒体がない状態では、ステップS30003以降の処理を行っても効果がないことから、それらの処理をスキップしてステップS30012に進むべく、ステップS30002の処理で分岐するようにしている。
【0200】
なお、給紙の場合紙送り中に記録媒体が搬送ローラ上に引き込まれるため搬送負荷は変化してしまうが、この場合に要求される搬送制御の精度は記録実行中における精度よりも低くてよいため、いきなりステップS30012に進んでも装置としては特に問題はない。
【0201】
ステップS30003では、これから搬送しようとしている記録媒体の種類を識別し、普通紙であればステップS30004に進み、厚紙であればステップS30005に進み、CD−RトレイであればステップS30006に進む。記録媒体の種類の識別は、たとえばホストコンピュータから送信されるコマンドを解析することなどによって容易に行うことができる。
【0202】
普通紙であると判定された場合、ステップS30004では、直前の駆動を行ったときの搬送記録媒体を表す情報が格納されている変数prtmedia_nowを参照し、該変数の値がこれから搬送しようとしている普通紙と同じであれば、ステップS30012に進んで駆動制御を開始し、普通紙でないならばステップS30007に進む。
【0203】
ステップS30007では、変数prtmedia_nowに、普通紙を意味する定数PRTMEDIA_NORMALを代入し、ステップS30010へ進んでステップS25054の積分補償量初期値検出処理と同様の処理を再度行う。
【0204】
ここで、記録媒体を保持した状態でステップS30010の処理を行ってしまったため、記録媒体が搬送されているため、搬送した距離だけ戻すためにステップS30011で搬送ローラを逆転させる戻し処理を行う。このあとステップS30012に進んで駆動制御を開始する。
【0205】
厚紙と判定された場合、ステップS30005で、直前の駆動を行ったときの記録媒体を表す情報が格納されている変数prtmedia_nowを参照し、該変数の値がこれから搬送しようとしている厚紙と同じであればステップS30012に進んで駆動制御を開始し、厚紙でないならばステップS30008に進む。
【0206】
ステップS30008では、変数prtmedia_nowに、厚紙を表す定数PRTMEDIA_SPECIALを代入し、ステップS30010へ進んでステップS25054の積分補償量初期値検出処理と同様の処理を再度行う。
【0207】
また、CD−Rトレイと判定された場合、ステップS30006で、直前の駆動を行ったときの記録媒体を表す情報が格納されている変数prtmedia_nowを参照し、該変数の値がこれから搬送しようとしているCD−Rと同じであればステップS30012に進んで駆動制御を開始し、CD−RでないならばステップS30009に進む。
【0208】
ステップS30009では、変数prtmedia_nowに、CD−Rを表す定数PRTMEDIA_CDRを代入し、ステップS30010へ進んでステップS25054の積分補償量初期値検出処理と同様の処理を再度行う。
【0209】
ステップS30012では、用途に見合った該当する駆動テーブルを選択し、ステップS30013で駆動処理を行い、駆動処理が終了するとステップS30001に戻り、駆動命令の待機状態となる。
【0210】
図27は、ステップS25003の実駆動処理で行われる処理について、特に本発明の特徴となる速度のPI演算部分の詳細に着目して示したフローチャートである。ステップS25003で行われる処理全体に関しては、位置サーボ時には位置のP演算、また速度サーボのループにおけるD演算等、他にもさまざまな処理が行われるが、これらの処理は本発明の特徴となるものではなく、また公知の技術であることから説明を省略する。
【0211】
ステップS25003で実駆動処理が起動されると、まずステップS25101でエンコーダ速度情報変換手段6006により現在速度を得てv(tx)に代入する。ここでは説明の簡略化のため、図4における6007の微分演算、図5における7003の微分演算に関しては無視して説明を進める。なお、txは、該当する時刻を示している。
【0212】
次にステップS25102で、理想速度プロファイルの実値v_ideal(tx)と、v(tx)の差をとってv_differenceに代入する。v_ideal(tx)は、速度サーボ時には、純粋に速度理想プロファイルの値そのものとなるが、図4で説明した位置サーボ時には6002のP演算の結果を使用することになる。
【0213】
本実施形態において、ステップS25054の処理の実行時には、v_ideal(tx)にはv_testを適用するものとする。この場合、v_ideal(tx)は時刻の変化には依存しない一定値である。
【0214】
ステップS25103で、積分ゲインとして予め設定した定数値INTEGRAL_PARAMによって、txにおける積分補償量integral_spdを算出する。これが一般的に積分演算と呼ばれるものである。
【0215】
ステップS25104で、比例ゲインとして予め設定した定数値PROPORTION_PARAMによって、最終的な出力電流値ourput_pwmを算出する。これが一般的に比例演算と呼ばれるものである。
【0216】
ステップS25105で、演算結果を駆動対象に対して出力し、ステップS25106で、該当時刻txにおける積分補償量integral_spdを、配列mem_integral_spd[tx]に格納する。配列mem_integral_spd[tx]は、ステップS25053において使用される情報を格納しておくための領域である。
【0217】
そして、ステップS25107で、時刻を示すカウンタtxをインクリメントして、ステップS28008で処理を終了する。
【0218】
図28は、ステップS25054の積分補償量初期値検出処理が起動された場合における駆動の様子を速度プロファイルと共に示すタイミングチャートである。
【0219】
速度指令値はv_testで固定されており、一方積分補償量integral_spdは0から開始されるため、現実速度プロファイル2005は、時刻0からやや遅れて経ち上がる。その後、一定の時間における速度は、v_testに対して上下に振幅するが、やがてv_testに収束する。
【0220】
本実施形態においては、該条件においてv_testに対する現実速度プロファイルの上下の振幅が、許容可能なレベルに収束することが予想される時間をT_SAMPLING_STARTとし、この時刻から後の積分補償量を、ステップS25053の最適積分補償量初期値解析処理において使用する。なお、T_SAMPLING_ENDは、ステップS25053の最適積分補償量初期値解析処理において使用するデータの最後尾を示す時刻である。
【0221】
後述するようにステップS25053の最適積分補償量初期値解析処理では、T_SAMPLING_STARTからT_SAMPLING_ENDまでの時間に記録された積分補償量の平均をとるため、この区間において速度が多少上下していても、本実施形態の効果を妨げるものではない。速度0からv_testに到達するまでの立ち上りに要する時間領域を、T_SAMPLING_STARTによってカットできれば、本実施形態の効果は充分期待できるものである。
【0222】
図29は、ステップS25053の最適積分補償量初期値解析処理の詳細を示すフローチートである。
【0223】
まずステップS25201で、データのアクセスに用いるカウンタtxを初期化し、合計値を算出するためのワーク領域sum_integral_spdを初期化する。
【0224】
ステップS25202、S25203、S25204により、T_SAMPLING_STARTからT_SAMPLING_ENDまでの時間に記録された積分補償量の合計を取得する。そしてステップS25205で、該積分補償量の平均値を算出し、init_integral_spdに代入して処理を終了する。
【0225】
以上述べてきた処理により、積分補償量の初期値は、v_testによる一定速度の駆動を行ったときの定速駆動中の積分補償量の初期値となる。v_testで一定速度の駆動を行いうる積分補償量であるということは、静止摩擦に打ち勝って動くだけの出力電流値に対応する値であるということを意味している。
【0226】
従って、本実施形態による駆動制御を図24に示した駆動と比較すると、時刻0において既に出力電流値が静止摩擦に打ち勝って動き出すに足る値となっているため、静止時間t_problemを短縮することができ、より高速で正確な制御を期待することができる。また、v_testをV_APPROACHに設定しておくことにより、この状態で検出された積分補償量の初期値が、V_FLATに対して速度のオーバーシュートを誘発する危険性は非常に低くなる。
【0227】
更に、積分補償量の検出を、ステップS30003〜S30010に示した処理により記録媒体ごとに個別に行うことで、使用する記録媒体の特性の違いによる悪影響を回避でき、最適な駆動制御を実現することができる。
【0228】
[他の実施形態]
上記で説明した第1から第3の実施形態はそれぞれ単独で実施してもよいし、2つ以上を組合せて実施してもよい。
【0229】
以上の実施形態は、シリアル式インクジェットプリンタの記録紙搬送用(ラインフィード;LF)モータの制御に本発明を適用したものであるが、本発明は、インクジェットプリンタに限らず、モータを使用する様々な機器に適用可能である。
【0230】
また、上記の実施形態はいずれもDCモータの制御に本発明を適用したものであるが、DCモータ以外でも上記の追値制御等のフィードバック制御が可能なモータであれば、本発明を適用できる。
【0231】
本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。
【0232】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0233】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピディスク,ハードディスク,光ディスク,光磁気ディスク,CD−ROM,CD−R,磁気テープ,不揮発性のメモリカード,ROMなどを用いることができる。
【0234】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0235】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0236】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明した(図11、13〜15、20、22、25、27、29に示す)フローチャートに対応するプログラムコードが格納されることになる。
【0237】
【発明の効果】
以上説明したように本発明によれば、例えば、機構の駆動が所定時間以上行われていないタイミング、機器に関する情報が所定の範囲内にないと判定されたタイミング、前回の駆動時と機構によって搬送される負荷の種類が変化したと判定されたタイミング等のタイミングで、パラメータの値をデフォルト値に戻し、駆動条件や対象が異なった場合に、パラメータの値が引き継がれることによって生じる不具合を防止することができる。
【0238】
従って、起動した後にも所定のタイミングでパラメータの設定を変更し、使用される記録媒体や環境が変化した場合においても高速かつ高精度な位置制御が可能となる。
【図面の簡単な説明】
【図1】DCモータを定速で駆動した場合の速度変動を簡略に示したグラフである。
【図2】DCモータにおいて用いられる理想位置プロファイル追値制御、理想速度プロファイル追値制御を例にして、コギングによるトルク変動の及ぼす影響を説明するための図である。
【図3】本発明の実施形態に係るシリアル式インクジェットプリンタの全体図である。
【図4】図3のプリンタの制御構成を説明するブロック図である。
【図5】図4に示したプリンタコントローラの詳細構成を説明するブロック図である。
【図6】一般的なDCモータの位置サーボによる制御手順を示すブロック図である。
【図7】一般的なDCモータの速度サーボによる制御手順を示すブロック図である。
【図8】コギングによるトルク変動の及ぼす影響と制御について詳細に説明するための図である。
【図9】コギングによるトルク変動の及ぼす影響と制御について詳細に説明するための図である。
【図10】コギングによるトルク変動の及ぼす影響と制御について詳細に説明するための図である。
【図11】第1の実施形態における駆動制御処理を説明するフローチャートでである。
【図12】図11の各処理に関わる信号の状態を速度プロファイルと共に同じ時間軸上に示したタイミングチャートである。
【図13】図11の駆動制御準備処理で行われる動作を示すフローチャートである。
【図14】図11の実駆動処理で行われる動作を示すフローチャートである。
【図15】図11の駆動制御終了処理で行われる動作を示すフローチャートである。
【図16】図9に、コギングによるトルク変動を明示した現実速度プロファイルの曲線を追加したグラフである。
【図17】図15のステップS15007の処理が行われた後の駆動状態を示したグラフである。
【図18】図10に、コギングによるトルク変動を明示した現実速度プロファイルの曲線を追加したグラフである。
【図19】図15のステップS15007の処理が行われた後の駆動状態を示したグラフである。
【図20】改善係数に代入される変数の設定処理を示すフローチャートである。
【図21】搬送部の機械的構成を概略的に示す図である。
【図22】第2の実施形態における駆動制御処理を説明するフローチャートでである。
【図23】第2の実施形態におけるモータの制御において外乱の及ぼす影響と実際の制御との関係を図8と同様に示した図である。
【図24】積分補償量の初期値を0とした場合に起こる制御の弊害を、最悪の例を用いて簡略に示した図である。
【図25】第3の実施形態における駆動制御処理を説明するフローチャートである。
【図26】図25の各処理に関わる信号の状態を速度プロファイルと共に同じ時間軸上に示したタイミングチャートである。
【図27】実駆動処理で行われる処理について、速度のPI演算部分の詳細に着目して示したフローチャートである。
【図28】積分補償量初期値検出処理が起動された場合における駆動の様子を速度プロファイルと共に示すタイミングチャートである。
【図29】最適積分補償量初期値解析処理の詳細を示すフローチートである。
【符号の説明】
101 インクタンクを有する記録ヘッド
102 記録ヘッド101を搭載するキャリッジ
103 ガイドシャフト
104 ベルト
105 駆動モータ
106 給紙ベース
107 用紙搬送用モータ
108 モータギア
109 搬送ローラギア
110 搬送ローラ
111 ピンチローラ
114 シャーシ
115 記録用紙
116 ロータリーエンコーダフィルム
117 エンコーダセンサ
231 ホストインターフェース
401 プリンタ装置のプリンタ制御用のCPU
402 ROM
403 RAM
404 プリンタヘッド
405 モータを駆動するモータドライバ
406 プリンタコントローラ
407 サーミスタ等で構成される温度センサ
501 I/Oレジスタ
502 受信バッファコントローラ
503 記録バッファコントローラ
504 メモリコントローラ
505 プリントシーケンスコントローラ
1001 V_xで駆動したときの速度変動
1002 2*V_xで駆動したときの速度変動
1003 8*V_xで駆動したときの速度変動
1004 モータ自身が高速で回転してしまう位相角に対応するポイント
1005 モータ自身が低速で回転してしまう位相角に対応するポイント
2003 理想位置プロファイル
2004 理想速度プロファイル
2011 加速制御領域
2012 定速制御領域
2013 減速制御領域
2014 位置決め制御領域
2003 理想位置プロファイル
2004 理想速度プロファイル
2005 物理的なモータの現実駆動速度プロファイル
2006 実際の現実速度プロファイル
2007 実際の現実速度プロファイル
6001 理想位置プロファイル
6005 エンコーダセンサ
6009 エンコーダ位置情報変換手段
6006 エンコーダ速度情報変換手段
6002 位置サーボのメジャーループ
6003 PI演算
6007 微分演算
6004 DCモータに与えるエネルギー
6008 外乱
7001 理想速度プロファイル
7002 PI演算
7003 微分演算
8001 理想位置プロファイル
8003 現実位置プロファイル
8005 物理的なモータの現実駆動速度プロファイル
8006 仮想の理想位置プロファイル
9001 仮想減速制御領域
9003 現実位置プロファイル
9005 物理的なモータの現実駆動速度プロファイル
10003 現実位置プロファイル
10005 物理的なモータの現実駆動速度プロファイル
20001 ピンチローラばね
20003 普通紙
21003 CD−Rトレイ

Claims (22)

  1. モータを動力源として使用して機構を駆動する機器におけるモータの制御方法であって、
    各駆動を行う際に、目標位置及び予め設定されたパラメータに従って該駆動の理想的なプロファイルを作成するプロファイル作成工程と、
    前記プロファイルに従って前記モータの駆動を制御する追値制御工程と、
    各駆動の終了の際に、前記パラメータの値を評価する評価工程と、
    前記評価の結果に応じて、前記パラメータの値を変更する変更工程と、
    所定のタイミングで、前記パラメータの値をデフォルト値に戻すリセット工程と、を備えることを特徴としたモータの制御方法。
  2. 前記リセット工程において、前記パラメータの値をデフォルト値に戻すと共に、所定の初期化処理を実行することを特徴とする請求項1に記載のモータの制御方法。
  3. 前記所定のタイミングが、前記機構の駆動を行わない時間が所定時間となったタイミングであることを特徴とする請求項1に記載のモータの制御方法。
  4. センサにより前記機器に関する情報を検出する検出工程と、検出された情報が所定の範囲内にあるか否かを判定する判定工程とを更に備え、前記所定のタイミングが、前記判定工程において、前記情報が前記所定の範囲内にないと判定されたタイミングであることを特徴とする請求項1に記載のモータの制御方法。
  5. 前記機構によって搬送される負荷の種類を検出する負荷検出工程と、前回の駆動時と前記負荷の種類が変化したか否かを判定する判定工程とを更に備え、
    前記所定のタイミングが、前記判定工程において、前記負荷の種類が変化したと判定されたタイミングであることを特徴とする請求項1に記載のモータの制御方法。
  6. 前記変更工程において、前記パラメータの値を改善係数に基づいて変更し、
    前記改善係数を起動後の駆動回数に従って設定する係数設定工程を更に備えることを特徴とする請求項1から5のいずれか1項に記載のモータの制御方法。
  7. 前記追値制御工程において、前記パラメータに対応する実際の駆動における値を記憶する記憶工程を更に備え、
    前記評価工程は、前記記憶工程で記憶された値と前記パラメータの値と所定値とを比較し、前記変更工程は、前記比較の結果に応じて前記パラメータを変更することを特徴とする請求項1に記載のモータの制御方法。
  8. 前記プロファイル作成工程は、時間と位置との関係を示す理想位置プロファイルと、時間と速度との関係を示す理想速度プロファイルとを作成し、
    前記追値制御工程で、前記駆動を加速領域、定速領域、減速領域、及び位置決め領域の4つの領域に分けて制御し、前記加速領域、定速領域、及び減速領域においては前記理想位置プロファイルに従って前記モータの制御を駆動し、前記位置決め領域においては前記理想速度プロファイルに従って前記モータを駆動することを特徴とする請求項7に記載のモータの制御方法。
  9. 前記所定の初期化処理が、前記機構によって負荷の搬送が開始されるパラメータの値を求めるための予備駆動工程を含むことを特徴とする請求項2に記載のモータの制御方法。
  10. 前記予備駆動工程において、時間と速度との関係を示す理想速度プロファイルに従って前記機構を駆動することを特徴とする請求項9に記載のモータの制御装置。
  11. 前記予備駆動工程において、時間と位置との関係を示す理想位置プロファイルに従って前記機構を駆動することを特徴とする請求項9に記載のモータの制御装置。
  12. 前記モータがDCモータであることを特徴とする請求項1から11のいずれか1項に記載のモータの制御方法。
  13. 請求項1から12のいずれか1項に記載のモータの制御方法をコンピュータによって実現するコンピュータプログラム。
  14. 請求項1から12のいずれか1項に記載のモータの制御方法をコンピュータによって実現するプログラムのコードを格納したことを特徴とする記憶媒体。
  15. モータを動力源として使用して機構を駆動する機器におけるモータの制御装置であって、
    各駆動を行う際に、目標位置及び予め設定されたパラメータに従って該駆動の理想的なプロファイルを作成するプロファイル作成手段と、
    前記プロファイルに従って前記モータの駆動を制御する追値制御手段と、
    各駆動の終了の際に、前記パラメータの値を評価する評価手段と、
    前記評価の結果に応じて、前記パラメータの値を変更する変更手段と、
    所定のタイミングで、前記パラメータの値をデフォルト値に戻すリセット手段と、を備えることを特徴としたモータの制御装置。
  16. 前記リセット手段が、前記パラメータの値をデフォルト値に戻すと共に、所定の初期化処理を実行することを特徴とする請求項15に記載のモータの制御装置。
  17. 前記所定のタイミングが、前記機構の駆動を行わない時間が所定時間となったタイミングであることを特徴とする請求項15に記載のモータの制御装置。
  18. 前記機器に関する情報を検出するセンサと、検出された情報が所定の範囲内にあるか否かを判定する判定手段とを更に備え、
    前記所定のタイミングが、前記判定手段によって、前記情報が前記所定の範囲内にないと判定されたタイミングであることを特徴とする請求項15に記載のモータの制御装置。
  19. 前記機構によって搬送される負荷の種類を検出する負荷検出手段と、前回の駆動時と前記負荷の種類が変化したか否かを判定する判定手段とを更に備え、
    前記所定のタイミングが、前記判定手段によって、前記負荷の種類が変化したと判定されたタイミングであることを特徴とする請求項15に記載のモータの制御装置。
  20. 前記モータがDCモータであることを特徴とする請求項15から19のいずれか1項に記載のモータの制御装置。
  21. 請求項15から20のいずれか1項に記載のモータの制御装置を備えたことを特徴とする電子機器。
  22. 請求項15から20のいずれか1項に記載のモータの制御装置を記録媒体の搬送に使用することを特徴とする記録装置。
JP2002247480A 2002-08-27 2002-08-27 モータの制御方法、モータの制御装置、電子機器及び記録装置 Expired - Fee Related JP4012013B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002247480A JP4012013B2 (ja) 2002-08-27 2002-08-27 モータの制御方法、モータの制御装置、電子機器及び記録装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002247480A JP4012013B2 (ja) 2002-08-27 2002-08-27 モータの制御方法、モータの制御装置、電子機器及び記録装置

Publications (3)

Publication Number Publication Date
JP2004088926A true JP2004088926A (ja) 2004-03-18
JP2004088926A5 JP2004088926A5 (ja) 2005-10-27
JP4012013B2 JP4012013B2 (ja) 2007-11-21

Family

ID=32055114

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002247480A Expired - Fee Related JP4012013B2 (ja) 2002-08-27 2002-08-27 モータの制御方法、モータの制御装置、電子機器及び記録装置

Country Status (1)

Country Link
JP (1) JP4012013B2 (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006334961A (ja) * 2005-06-03 2006-12-14 Ricoh Co Ltd 印字媒体制御装置、画像形成装置、並びに、プログラムおよび記録媒体
WO2010107124A1 (en) * 2009-03-18 2010-09-23 Canon Kabushiki Kaisha Apparatus including motor
JP2010234817A (ja) * 2010-07-20 2010-10-21 Canon Inc モータを備える機器
JP2013066300A (ja) * 2011-09-16 2013-04-11 Brother Ind Ltd モータ制御装置及び画像形成装置
CN103048904A (zh) * 2011-10-12 2013-04-17 佳能株式会社 记录材料传送装置和图像形成装置
CN104460703A (zh) * 2014-12-04 2015-03-25 浙江中控研究院有限公司 可自调谐的全固态微波源mpt、自调谐装置及控制方法
US9018885B2 (en) 2012-03-12 2015-04-28 Ricoh Company, Ltd. Motor controller and motor control method

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4697731B2 (ja) * 2005-06-03 2011-06-08 株式会社リコー 印字媒体制御装置、画像形成装置、並びに、プログラムおよび記録媒体
JP2006334961A (ja) * 2005-06-03 2006-12-14 Ricoh Co Ltd 印字媒体制御装置、画像形成装置、並びに、プログラムおよび記録媒体
US8729843B2 (en) 2009-03-18 2014-05-20 Canon Kabushiki Kaisha Apparatus including motor
WO2010107124A1 (en) * 2009-03-18 2010-09-23 Canon Kabushiki Kaisha Apparatus including motor
JP2010214875A (ja) * 2009-03-18 2010-09-30 Canon Inc モータを備える機器
JP4558079B2 (ja) * 2009-03-18 2010-10-06 キヤノン株式会社 モータを備える機器
CN102355999A (zh) * 2009-03-18 2012-02-15 佳能株式会社 包括马达的设备
JP2010234817A (ja) * 2010-07-20 2010-10-21 Canon Inc モータを備える機器
JP4647036B2 (ja) * 2010-07-20 2011-03-09 キヤノン株式会社 モータを備える機器
JP2013066300A (ja) * 2011-09-16 2013-04-11 Brother Ind Ltd モータ制御装置及び画像形成装置
JP2013083891A (ja) * 2011-10-12 2013-05-09 Canon Inc 記録材搬送装置及び画像形成装置
CN103048904A (zh) * 2011-10-12 2013-04-17 佳能株式会社 记录材料传送装置和图像形成装置
US9187276B2 (en) 2011-10-12 2015-11-17 Canon Kabushiki Kaisha Recording material conveyance apparatus and image forming apparatus
US9018885B2 (en) 2012-03-12 2015-04-28 Ricoh Company, Ltd. Motor controller and motor control method
US9588522B2 (en) 2012-03-12 2017-03-07 Ricoh Company, Ltd. Motor controller and motor control method
CN104460703A (zh) * 2014-12-04 2015-03-25 浙江中控研究院有限公司 可自调谐的全固态微波源mpt、自调谐装置及控制方法
CN104460703B (zh) * 2014-12-04 2017-07-21 浙江全世科技有限公司 可自调谐的全固态微波源mpt、自调谐装置及控制方法

Also Published As

Publication number Publication date
JP4012013B2 (ja) 2007-11-21

Similar Documents

Publication Publication Date Title
JP3658339B2 (ja) モータの制御のための方法及び装置
JP3658340B2 (ja) モータの制御のための方法及び装置
JP4497891B2 (ja) 記録装置と搬送制御装置
JP4666970B2 (ja) 搬送装置及び該装置を備えた記録装置
KR100403099B1 (ko) 시트 부재 이송 장치용 제어 방법 및 기록 장치용 제어 방법
US6729712B2 (en) Printing apparatus and printing control method
JP4012013B2 (ja) モータの制御方法、モータの制御装置、電子機器及び記録装置
JP3814509B2 (ja) モータの制御のための方法及び装置
JP4729002B2 (ja) サーボ制御装置、方法及びプログラム、並びにインクジェット記録装置
JP4012012B2 (ja) モータの制御方法、モータの制御装置、電子機器及び記録装置
JP2006036490A (ja) 搬送装置、記録装置及び記録装置の搬送制御方法
JP2012135073A (ja) プリンタの制御装置
US7588379B2 (en) Drive motor control method and printer
US6607321B2 (en) Method and apparatus for moving a medium through a medium indexing device
JP2004166458A (ja) モータの制御方法
JP2005178334A (ja) インクジェット記録装置
JP2005335302A (ja) 記録装置及び記録装置の頭出し位置制御方法
JP2006082410A (ja) インクジェット記録装置
JP2002345280A (ja) モータ制御方法及び装置
JP2002233179A (ja) Dcモータの制御のための方法及び装置
KR100205750B1 (ko) 시리얼 프린터의 양방향 인쇄 위치 오차 자동 보상 방법
JP2004222468A (ja) 画像形成装置
JP5295210B2 (ja) 搬送装置及び該装置を備えた記録装置
JP5550761B2 (ja) 記録装置及び記録装置の制御方法
JP2002233177A (ja) Dcモータの制御のための方法及び装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050823

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050823

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070405

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070511

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070710

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: 20070827

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070906

R150 Certificate of patent or registration of utility model

Ref document number: 4012013

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20100914

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20100914

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110914

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110914

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120914

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120914

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130914

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees