JP4729002B2 - サーボ制御装置、方法及びプログラム、並びにインクジェット記録装置 - Google Patents

サーボ制御装置、方法及びプログラム、並びにインクジェット記録装置 Download PDF

Info

Publication number
JP4729002B2
JP4729002B2 JP2007142287A JP2007142287A JP4729002B2 JP 4729002 B2 JP4729002 B2 JP 4729002B2 JP 2007142287 A JP2007142287 A JP 2007142287A JP 2007142287 A JP2007142287 A JP 2007142287A JP 4729002 B2 JP4729002 B2 JP 4729002B2
Authority
JP
Japan
Prior art keywords
speed
control
driven body
value
control cycle
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
JP2007142287A
Other languages
English (en)
Other versions
JP2008299426A (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.)
Ricoh Co Ltd
Original Assignee
Ricoh 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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2007142287A priority Critical patent/JP4729002B2/ja
Publication of JP2008299426A publication Critical patent/JP2008299426A/ja
Application granted granted Critical
Publication of JP4729002B2 publication Critical patent/JP4729002B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Description

本発明は、サーボ制御装置及びサーボ制御方法、サーボ制御プログラム並びにインクジェット記録装置に関する。
サーボ制御(刻々と変化する目標に対して、制御対象を追従させていく制御手法)を簡素な構成で実現することに関連する技術として特許文献1に開示される「サーボ制御装置」や特許文献2に開示される「サーボ制御装置」が、サーボ制御をインクジェット記録装置のキャリッジに用いることに関連する技術として特許文献3に開示される「画像形成装置」がある。
特許文献1は、サーボ制御装置は、制御対象を駆動させるため駆動部へ駆動電流を供給する電流供給部と、少なくとも駆動電流値を検出する検出部と、制御対象を所望の位置へ移動させるために駆動部の駆動速度を制御する駆動電流を定めた電流指令を入力し、検出部からフィードバックされた駆動電流値を入力し、駆動電流値に基づいて電流指令をディジタルロジック方式により補正して補正後の該電流指令を電流供給部へ出力する論理演算部とを備えている。これにより、製造コストが低く、小型であり、かつ、制御対象の制御周期が従来よりも短いサーボ制御装置を提供している。
特許文献2は、サーボモータに接続されて当該サーボモータを制御するサーボ制御装置であり、所定数のビット幅を有するディジタルロジック回路を備え、このディジタルロジック回路は、少なくとも一対の並列演算回路を有している。これにより、制御性能の向上とコストダウンとの両立を図ったサーボ制御装置を提供している。
特許文献3は、主走査モータをサーボ制御で駆動して記録ヘッドを搭載したキャリッジを移動させる場合、同一方向のみの移動で印字を行う印刷モードで、1行の印字終了後次の行の印字開始位置にキャリッジを移動させるとき、印字動作中のキャリッジの移動速度に対して、リターン動作中のキャリッジの移動速度の設定速度を高速にする。これにより、キャリッジの同一方向のみの移動で印字を行う場合に効果的に印刷速度の向上を図ることができる。
特開2004−005218号公報 特開2003−345443号公報 特開2005−305841号公報
しかし、サーボ制御によって常に同じ制御周期で制御を行うと、CPUへの負荷が常に高い状態となってしまうという問題があった。
サーボ制御装置でのモータ出力値を計算する計算手段は、CPU上のプログラムによって実現されるのが一般的である。この計算には、制御周期が数msec、1回の計算時間が数十μsec〜数百μsec程度であることが一般的であり、この時サーボ制御装置ではCPU処理能力の数%〜数十%を使用していることとなる。
ここで、例えばインクジェットプリンタのようなサーボ制御と画像処理などその他の処理を同一のCPU上で行う装置を考えると、サーボ制御に費やす処理の比率はなるべく少なく抑えたい。また、サーボ制御に費やす処理の比率を小さくするためには、処理能力の高い高価なCPUを使用することも考えられるが、これは装置コストの高騰を招く。
本発明はかかる問題に鑑みてなされたものであり、オーバシュート現象の発生を抑えるとともに、CPU負荷を低減したサーボ制御装置、方法及びプログラム並びにインクジェット記録装置を提供することを目的とする。
上記目的を達成するため、本発明は、第1の態様として、直線的に駆動される被駆動体と、前記被駆動体を駆動する駆動手段と、前記被駆動体の位置を検出する位置検出手段と、前記被駆動体の速度を検出する速度検出手段と、前記被駆動体を駆動する速度の目標値である速度目標値を生成する速度目標値生成手段と、前記駆動手段による駆動力の指示値である駆動出力値を演算する演算手段とを有し、前記駆動出力値をデジタル演算によって特定の制御周期で離散的に演算して、少なくとも前記被駆動体の速度を前記速度目標値に近づけるように制御するサーボ制御装置であって、前記デジタル演算を行う制御周期が可変であり、前記速度目標値が一定以上の加速度変化をするときに、前記制御周期を短く設定する制御周期設定手段を有し、前記制御周期設定手段は、前記被駆動体が加速後に等速の前記速度目標値から一定速度以内に近づいたときに前記制御周期を短く設定し、前記被駆動体の速度と前記速度目標値との偏差が一定値以内である状態が一定時間継続した場合に前記制御周期を元の値に戻す設定をすることを特徴とするサーボ制御装置を提供するものである。
本発明の第1の態様においては、速度目標値が、一定以上の加速度変化をするときに、制御周期を短く設定することが好ましい。
本発明の第1の態様の上記のいずれの構成においても、前記制御周期設定手段は、所定位置近辺で反応するセンサが反応した時に速度目標の減速を開始する場合に、前記センサが反応すると想定される位置に前記被駆動体が近づいたタイミングで前記制御周期を短く設定し、速度の変化から実際に前記被駆動体が減速を開始したことを確認できたタイミングで前記制御周期を元の値に戻す設定をすることを特徴とする
また、上記目的を達成するため、本発明は、第3の態様として、被駆動体はプリンタヘッドであることを特徴とする上記第1又は第2の態様のいずれかの構成に係るサーボ制御装置を用いたインクジェット記録装置を提供するものである。
また、上記目的を達成するため、本発明は、第4の態様として、直線的に駆動される被駆動体と、前記被駆動体を駆動する駆動手段と、前記被駆動体の位置を検出する位置検出手段と、前記被駆動体の速度を検出する速度検出手段と、前記被駆動体を駆動する速度の目標値である速度目標値を生成する速度目標値生成手段と、前記駆動手段による駆動力の指示値である駆動出力値を演算する演算手段とを有するサーボ制御装置におけるサーボ制御方法であって、前記駆動出力値をデジタル演算によって特定の制御周期で離散的に演算し、少なくとも前記被駆動体の速度を前記速度目標値に近づけるように制御する工程と、前記デジタル演算を行う制御周期が可変であり、前記速度目標値が一定以上の加速度変化をするときに、前記制御周期を短く設定する制御周期設定工程と、を有し、前記制御周期設定工程は、前記被駆動体が加速後に等速の前記速度目標値から一定速度以内に近づいたときに前記制御周期を短く設定し、前記被駆動体の速度と前記速度目標値との偏差が一定値以内である状態が一定時間継続した場合に前記制御周期を元の値に戻す設定をすることを特徴とするサーボ制御方法を提供するものである。
本発明の第4の態様においては、速度目標値が、一定以上の加速度変化をするときに、制御周期を短く設定することが好ましい。
本発明の第4の態様の上記のいずれの構成においても、前記制御周期設定工程は、所定位置近辺で反応するセンサが反応した時に速度目標の減速を開始する場合に、前記センサが反応すると想定される位置に前記被駆動体が近づいたタイミングで前記制御周期を短く設定し、速度の変化から実際に前記被駆動体が減速を開始したことを確認できたタイミングで前記制御周期を元の値に戻す設定をすることを特徴とする
また、上記目的を達成するため、本発明は、第6の態様として、直線的に駆動される被駆動体と、前記被駆動体を駆動する駆動手段と、前記被駆動体の位置を検出する位置検出手段と、前記前記被駆動体の速度を検出する速度検出手段とを有するサーボ制御装置を制御する実質的なコンピュータにサーボ制御を行わせるためのサーボ制御プログラムであって、前記実質的なコンピュータを、前記被駆動体を駆動する速度の目標値である速度目標値を生成する速度目標値生成手段、及び前記駆動手段による駆動力の指示値である駆動出力値をデジタル演算によって特定の制御周期で離散的に演算する演算手段として機能させ、前記実質的なコンピュータが、少なくとも前記被駆動体の速度を前記速度目標値に近づけるように制御するとともに、前記デジタル演算を行う制御周期を可変とし、前記速度目標値が一定以上の加速度変化をするときに、前記制御周期を短く設定する制御を行い、前記実質的なコンピュータに行わせる前記制御周期を短く設定する制御は、前記被駆動体が加速後に等速の前記速度目標値から一定速度以内に近づいたときに前記制御周期を短く設定し、前記被駆動体の速度と前記速度目標値との偏差が一定値以内である状態が一定時間継続した場合に前記制御周期を元の値に戻す設定をすることを特徴とするサーボ制御プログラムを提供するものである。
本発明の第6の態様においては、実質的なコンピュータは、速度目標値が一定以上の加速度変化をするときに、制御周期を短くすることが好ましい。
本発明の第6の態様の上記のいずれの構成においても、前記実質的なコンピュータに行わせる前記制御周期を短く設定する制御は、所定位置近辺で反応するセンサが反応した時に速度目標の減速を開始する場合に、前記センサが反応すると想定される位置に前記被駆動体が近づいたタイミングで前記制御周期を短く設定し、速度の変化から実際に前記被駆動体が減速を開始したことを確認できたタイミングで前記制御周期を元の値に戻す設定をすることを特徴とする
本発明によれば、オーバシュート現象の発生を抑えるとともに、CPU負荷を低減したサーボ制御装置、方法及びプログラム並びにインクジェット記録装置を提供できる。
本発明の好適な実施の形態について説明する。本実施形態では着脱可能なインクタンク付き記録ヘッドを搭載したシリアル式インクジェットプリンタを例とし、ラインフィードモータと、キャリッジモータ制御とにおいてクロス制御を適用した場合について説明する。
ここで「クロス制御」とは、記録ヘッドを搭載したキャリッジの主走査方向の駆動と、記録媒体の搬送における副走査方向の駆動とにおいて、協調的に両駆動をオーバラップさせる制御をいう。印字処理を高速化させるために、理想的には、副走査(LF)完了前に主走査(CR)の駆動を開始し、CRが記録領域に達した瞬間にちょうどLFが停止するように駆動のタイミングを管理するものである。
このような時間管理を行わないと、LFが動作している最中にCRが記録領域に達してしまい、斜行記録を引き起こしたり、逆に、LF駆動と重ならずに記録を行わない無駄なCRの空走区間を生じたりしてしまう。
図1に、プリンタの制御部の構成を示す。
プリンタの制御部はCPU401、ROM402、RAM403、プリンタヘッド404、モータドライバ405、プリンタコントローラ406、温度センサ407を有する。
CPU401は、プリンタ装置のプリンタ制御用であり、ROM402に記憶されたプリンタ制御プログラムやプリンタエミュレーション、記録フォントを利用して記録処理を制御する。RAM403は、記録のための展開データ、ホストからの受信データを蓄える。プリンタヘッド404は、制御の対象であって、主走査方向に移動し、インクを吐出して記録紙に画像を形成する。モータドライバ405は、プリンタヘッド404を移動させるため、及び記録用紙搬送のためのモータを駆動する。プリンタコントローラ406は、RAM403のアクセス制御やホスト装置とのデータのやりとりやモータドライバへの制御信号送出を行う。温度センサ407は、サーミスタ等で構成されており、プリンタ装置の温度を検知する。なお、ここではROM402に記憶されたプログラムをCPU401が読み出してRAM403に展開して実行する構成を例としているが、プログラムが演算装置内に組み込まれていても良い(例えば、DSPやASIC)。
CPU401は、ROM402内の制御プログラムにより本体のメカ的・電気的制御を行いつつ、ホスト装置からプリンタ装置へ送られてくるエミュレーションコマンド等の情報をプリンタコントローラ406内のI/Oポートレジスタ、I/Oポートへ書き込み、読み出しを行う。なお、制御プログラムは必ずしもROM402に記憶されている必要はなく、情報記録媒体に記録されているプログラムを不図示の外部記憶装置で読み出して、CPU401がRAM403上に展開してもよい。また、ROM402として書き換え可能なタイプを用い、情報記録媒体から読み出したプログラムやネットワークを介して取得したプログラムなどでROM402内部のプログラムを更新できるようにしても良い。
図2に、プリンタコントローラ406の詳細な構成を示す。プリンタコントローラ406は、I/Oレジスタ501、受信バッファコントローラ502、記録バッファコントローラ503、メモリコントローラ504、プリントシーケンスコントローラ505、及びホストインタフェース231を有する。
I/Oレジスタ501は、ホストとのコマンドレベルでのやりとりを行う。受信バッファコントローラ502は、I/Oレジスタ501から受信データをRAM403へ書き込む。バッファコントローラ503は、記録時にはRAM403の規則データバッファから記録データを読み出し、プリンタヘッド404に対してデータを送出する。メモリコントローラ504は、RAM403に対して3方向のメモリアクセスを制御する。プリントシーケンスコントローラ505は、プリントシーケンスをコントロールする。ホストインタフェース231は、ホストとの通信を司る。
図3に、一般的なDCモータの位置制御系の構成を示す。本実施形態において位置サーボは、加速制御領域、定速制御領域、減速制御領域において使用される。このようなDCモータの制御は、PIDコントロール又は古典制御と呼ばれる手法で制御される。以下、その手順を説明する。
まず、制御対象に与えたい目標位置は、理想位置プロファイル6001として与えられる。本実施形態においては、該当する時刻においてラインフィードモータによって搬送された紙が到達しているべき絶対位置に該当する。時刻の進行とともにこの位置情報は変化していく。理想位置プロファイル6001に対して追値制御を行うことで、本実施形態の駆動制御が行われる。
装置には、エンコーダセンサ6005が具備されており、DCモータ6004の物理的な回転を検知する。エンコーダ位置情報変換部6009は、エンコーダセンサ6005が検知したスリット数を累積加算していき、絶対位置情報を得る手段であり、エンコーダ速度情報変換部6006はエンコーダセンサ6005の信号と、プリンタに内蔵された時計(タイマ)から、現在のラインフィードモータの駆動速度を算出する。
理想位置プロファイル6001から位置情報変換部6009によって得られた実際の物理位置を減算した数値を、目標位置に対して足りない位置誤差として位置サーボメジャーループの比例演算部6002以降の位置サーボのフィードバック処理に受け渡す。比例演算部6002は、一般的には比例項Pに関する計算を行う。
位置サーボメジャーループの比例演算部6002における演算の結果として、速度指令値が出力される。この速度指令値は、PI演算部6003以降の速度サーボのフィードバック処理に受け渡される。速度サーボのマイナーループは、比例項P、積分項I、微分項Dに対する演算を行うPID演算によって行う手法が一般的である。
本実施形態においては、速度指令値の非線形な変化が発生した場合の追従性を改善し、なおかつ追値制御時の微分演算の弊害を防ぐために、一般に微分先行形と呼ばれる手法を示しており、エンコーダ速度情報変換部6006で得られたエンコーダ速度情報は、比例演算部6002で得られた速度指令値との差を取る前に微分演算部6007に入力される。もっとも、制御対象の系の特性によっては、PI演算部6003で微分演算を行えば十分なものもある。
速度サーボのマイナーループにおいては、速度指令値からエンコーダ速度情報を減算した数値を、目標速度に対して足りない速度誤差としてPI演算部6003へ受け渡し、その時点でDCモータ6004に与えるべきエネルギーをPI演算と呼ばれる手法で算出する。これを受けたモータドライバは、例えばモータ印加電圧は一定として、印加電圧のパルス幅を変化させる方法(以下、「PWM(Pulse Width Modulation)制御」と称する。)を用い、印加電圧のデューティを変化させて電流値を調整し、DCモータ6004に与えるエネルギーを調整し、速度制御を行う。
電流値を印可されて回転するDCモータ6004は、DCモータ6008の外乱による影響を受けながら物理的に回転し、その出力がエンコーダセンサ6005によって検知される。
図4に、一般的なDCモータの速度サーボの制御構成を示す。
本実施形態において速度サーボは、位置決め制御領域において使用される。DCモータは、PIDコントロール又は古典制御と呼ばれる手法で制御される。
まず、制御対象に与えたい目標速度が理想速度プロファイル7001として与えられる。本実施形態においては、これは該当する時刻においてラインフィードモータによって紙を搬送すべき理想速度であり、該当する時刻における速度指令値となる。時刻の進行とともにこの速度情報は変化していく。理想速度プロファイル7001に対して追値制御を行うことで、駆動制御を行う。
速度サーボにおいては、比例項P、積分項I、微分項Dに対する演算であるPID演算を行う手法が一般的である。
本実施形態においては、速度指令値の非線形な変化が発生した場合の追従性を改善し、なおかつ追値制御時の微分演算の弊害を防ぐために、一般に微分先行形と呼ばれる手法を示しており、エンコーダ速度情報変換部6006で得られたエンコーダ速度情報は、理想速度プロファイル7001で得られた速度指令値との差を取る前に、微分演算部7003を通される。もっとも、制御対象の系の特性によっては、PI演算部7002においてその微分演算を行えば十分なものもある。
速度サーボにおいては、速度指令値からエンコーダ速度情報を減算した数値を、目標速度に対して足りない速度誤差として、PI演算部702に受け渡し、その時点でDCモータ6004に与えるべきエネルギーを、PI演算と呼ばれる手法で算出する。それを受けたモータドライバは、例えばPWM制御を行い、印加電圧のデューティを変化させて、電流値を調節し、DCモータ6004に与えるエネルギーを調節して速度制御を行う。
電流値を印可されて回転するDCモータ6004は、DCモータ6008の外乱による影響を受けながら物理的に回転し、その出力がエンコーダ6005によって検知される。
図5、図6、図7は、本実施形態における副走査(LF)制御において外乱の及ぼす影響と制御の実際について詳細に示した図である。横軸は時間を示している。縦軸2001は速度を、縦軸2002は位置を示している。
図5は、停止直前速度v_stopが、平均的かつ理想的な値V_APPROACHで終了する場合を示す。図6は、t_approach<T_APPROACH、すなわち見込み時間よりも早く終了する場合を示す。図7は、t_approach>T_APPROACHすなわち見込み時間よりも遅く終了する場合を示す。
理想位置プロファイル8001は、四つの制御領域からなり、加速制御領域2011、定速制御領域2012、減速制御領域2013、位置決め制御領域2014によって構成される。
理想速度プロファイル2004において、V_STARTは初速度であり、V_FLATは定速制御領域2012の速度を示している。V_APPROACHは位置決め制御領域の速度を示しており、V_PROMISEは位置決め精度性能を達成するために絶対に守られなければならない停止直前速度の最速値を示している。v_stopは、現実の駆動を想定した場合に外乱によってあらゆる値に変化する現実の値としての停止直前速度である。実際の駆動における速度変動を考慮して、V_APPROACHはいかなる速度変動が発生してもv_stopがV_PROMISEを超えることがないように十分低く設定された速度であることが要求される。
本実施形態においては、加速制御領域2011、定速制御領域2012、減速制御領域2013では位置サーボを、位置決め制御領域2014では速度サーボを採用している。図示した曲線8001は、位置サーボ時の理想位置プロファイルを示している。曲線2004は、速度サーボ時には理想速度プロファイルを示し、位置サーボ時には理想位置プロファイルに追従して動作するために求められる要求速度プロファイルを示している。
理想位置プロファイル8001は、位置サーボを行う加速制御領域2011、定速制御領域2012、減速制御領域2013の各領域に対して設定されるが、S_APPROACHまでしか計算されない。これは、S_APPROACHを通り過ぎると速度サーボに切り替わるため、S_APPROACH以降では理想位置プロファイルが不要となるためである。理想位置プロファイル8001における減速所要時間T_DECは、現実の駆動と関わりなく一定であり、これに該当する制御領域を理想減速制御領域9001として示す。
位置サーボにおいては外乱の影響により遅れが必ず発生するため、現実位置プロファイル8003、9003、10003は、理想位置プロファイル8001に対していずれも遅れを持っている。したがって、理想位置プロファイル8001が終了しても、現実位置はS_APPROACHに到達しないことが一般的であり、本実施形態においては理想位置プロファイル8001が終了してから現実の駆動がS_APPROACHに到達するまでの間には、仮想の理想位置プロファイル8006によって位置サーボへの指令位置値として代用する。仮想の理想位置プロファイル8006は、理想位置プロファイル8001の最終的な傾きを用いて、理想位置プロファイル8001の終点から伸ばした直線とする。
現実駆動速度プロファイル8005、9005、10005は、物理的なモータの現実駆動速度のプロファイルである。理想位置プロファイル8001を入力としてフィードバック制御をかけていき、理想速度プロファイル8001に対して若干の遅れを出しつつも、位置決め制御領域2014が進むにしたがって理想速度に近づいて、最終的な停止直前速度としては位置決め精度性能を達成できる速度V_APPROACHに収束しようとする。なお、減速制御領域2013から位置決め制御領域2014への移行は、物理的な駆動速度状態に関わらず、S_APPROACHに達した瞬間に行われる。
S_DECは定速制御領域2012が終了して減速制御領域2013が開始される位置を示しており、あくまでも理想位置プロファイル8001によって決定づけられる値であるため、現実の駆動における外乱の影響とは無関係である。
図中のS_APPROACHは減速制御領域2013が終了して位置決め制御領域2014が開始される位置を示しており、S_STOPは停止位置を示している。
T_ADDは、加速制御領域2011に費やされる所要時間である。T_DECは減速制御領域2013に費やされる所要時間である。T_FLATは、定速制御領域2012に費やされる時間であり、駆動開始位置を0としたときの停止位置S_STOP、すなわち総駆動距離を満足する理想位置プロファイル8001を設定した時点で決定される固定値である。T_APPROACHは位置決め制御領域2014に費やされる時間を示している。T_APPROACHは、駆動制御対象が実際に動いた時に、位置決め制御領域2014に突入する位置S_APPROACHから停止位置S_STOPまでの距離S_APR_STOPを移動するのに要する時間である。図5では、位置決め領域を駆動制御対象がほぼ理想速度通りに動いた場合を示しているが、実際の制御において理想通りの物理的動作は一般的に大変困難である。
高速かつ高精度の位置決めを行うために、理想位置プロファイル8001のカーブは系に適したチューニングが必要である。具体的には、定速制御領域2012の速度は位置決め所要時間性能の向上を実現するために系の性能の許す限り速く、位置決め制御領域2014の速度は位置決め精度性能の向上を実現するために系の性能の許す限り遅く、さらに加速制御領域2011、減速制御領域2013、位置決め制御領域2014の距離は位置決め所要時間性能の向上を実現するために系の性能の許す限り短くなるように理想位置プロファイル8001を設定することが望ましい。ここではすでに理想位置プロファイル8001が最適調整されているものとして説明する。
t_approachは、現実の駆動を想定した場合に外乱によってあらゆる値に変化する現実の値として、位置決め制御領域2014に費やされる時間の現実変数値である(本実施形態においては、定数値を英大文字、変数値を英小文字で示している。同一スペリングの値について英大文字、英小文字の表記がある場合、英大文字で示された値は理想定数値であり、英小文字で示された値は同じ内容の値について変化しうる変数値を示している。)。
現実駆動速度プロファイル9005、10005は、物理的なモータの駆動速度プロファイルを意味している。大局的には、理想的な駆動の現実駆動速度プロファイル8005と同様の加減速プロファイルとなるが、外乱が乗った結果、位置決め制御領域2014に突入した瞬間の速度が現実駆動速度プロファイル9005では速く、現実駆動速度プロファイル10005では遅くなってしまっている。
この影響で現実駆動速度プロファイル9005では、位置決め制御領域2014における速度の平均が高くなった結果、実際に位置決め制御領域2014を通過するのに要する時間は、T_APPROACHよりも短くなってしまい、制御所要時間が短くなる。
また、現実駆動速度プロファイル10005では、位置決め制御領域2014における速度の平均が低くなった結果、実際に位置決め制御領域2014を通過するのに要する時間は、T_APPROACHよりも長くなってしまい、制御所要時間が長くなる。
図8は、本実施形態における駆動処理の流れを示すフローチャートである。図9は、駆動処理における制御タイミングを示すタイミング図である。
ステップS11011でパワーオン状態となると、ステップS11007において駆動命令がきたか否かを判断する。駆動命令がきた場合(ステップS11007/Yes)、すなわち、プリンタシステムにおいて駆動命令が発行されると、ステップS11001の処理に進む。
ステップS11001で駆動制御処理が開始されると、ステップS11002で駆動制御準備が行われる。ステップS11002における準備処理は、一般的にモータ制御タスクに記述される処理であり、駆動目的に適したテーブルの選択、駆動量に合致したT_FLATの設定、評価手段の結果を次回の駆動で使用する理想速度プロファイルに反映させる反映処理、各種ワーク領域の設定を行い、最後にタイマ割り込み処理を司るタイマに起動をかけて終了する。
ステップS11002においてタイマが起動されると、実駆動処理に移行する(ステップS11003)。ステップS13は、一般にタイマ割り込み処理内に記述される処理であり、例えば1msecごとに1回割り込んできて、エンコーダの値を読み出し、PID演算等によって出力すべき電流値を算出し、モータに対してその値を出力する。
ステップS11003の処理と並行して、システムにおいては停止位置S_STOPに到達したかどうかの監視が行われており、到達が検知されると駆動目標位置への到達検知処理(ステップS11004)を実行して割り込みが発生し、駆動制御終了処理(ステップS11005)へと移行する。
ステップS11005においては、モータに対する出力をいち早くディセーブルにしてからタイマを停止して処理を終了する。
図9において、12001は、図8におけるステップS11002及びステップS11005におけるモータ駆動タスクの状態、12002はステップS11003におけるタイマ割り込み処理の状態、12003はステップS11004における位置割り込みの状態を示している。
以上の各処理を行うことで、一つの駆動処理はステップS11006の駆動制御終了へと至ることとなる。
図10は、以上説明した一般的な駆動処理の流れを副走査(LF)と主走査(CR)に対して各々適用し、さらに各々のタイミング管理について示した図である。
図10における11012は、LFの駆動制御準備信号であり、11022はCRの駆動制御準備信号である。両者とも、一般的な駆動処理における駆動制御準備処理(図8、ステップS11002)と同様の処理を、各駆動対象のモータに対して行うものである。11013は、LFの実駆動処理を実行するための信号であり、11023はCRの実駆動処理を実行するための信号である。両者とも、一般的な駆動処理における実駆動処理(図8、ステップS11003)と同様の処理を、各駆動対象のモータに対して行うものである。
11014は、LFにおける駆動目標位置への到達検知信号であり、一般的な駆動処理における駆動目標位置への到達検知処理(図8、ステップS11004)と同様の処理を、LFに対して行うものである。また、11015は、LFにおける駆動制御終了信号であり、一般的な駆動処理における駆動制御終了処理(図8、ステップS11005)と同様の処理をLFに対して行うものである。
12011は、LFモータ制御タスク状態を示し、12031はCRモータ制御タスク状態を示し、一般的な駆動処理における駆動制御準備処理(図8、ステップS11002)と同様の内容をLF、CRの各々に関して記したものである。
12012は、LFタイマ割り込み処理状態を示し、12032はCRタイマ割り込み状態を示し、一般的な駆動処理における駆動制御準備処理(図8、ステップS11002)と同様の内容をLF、CRの各々に関して記したものである。
12033は、インク吐出処理の状態を記したものであり、インク吐出処理信号12034が出力されている領域でインクの吐出、すなわち記録がなされていることを示している。
ここで、クロス記録制御を実現するために、LF駆動開始後、t_cross_startが経過した時点で、LF実駆動信号11013を制御するLF実駆動手段により、CRモータ駆動開始指令イベント12021が発行され、これを受けて駆動制御準備手段はCRの駆動制御信号12022を発動する。こうして起動されたCRが記録開始位置に到達すると、インク吐出処理信号12034が出力されている領域で記録が行われる。本図においてはこのときすでにLFは到達検知信号11014によって停止しているため、斜行記録は発生しない。また到達検知信号11014の直後にインク吐出処理信号12034が発動するため、無駄な処理時間は一切存在しない。
以上により、最適なt_cross_startを設定することが、クロス制御の効率化の要であることがわかる。最適なt_cross_startを設定するためには、LFの駆動の現実の所要時間を知ることが求められ、それは本図においては、理想減速制御領域9001が終わってから停止するまでの実時間t_lf_allowと一意的に対応している。なぜなら、駆動開始から理想減速制御領域9001の終了までの時間は固定値であり、実駆動による制定時間のばらつきは、t_lf_allowによってのみ表されるからである。
図11は、本実施形態の制御周期変更処理の詳細を示したフローチャートである。図12、図13、図14は、図11のフローチャートによって示された処理におけるタイミング図である。
図12、図13、図14において、横軸は時間を示しており、縦軸は各モータの速度を示している。図12(a)、図13、(a)、図14(a)は、LFに関するものであり、図12(b)、図13(b)、図14(b)はCRに関するものである。t_lf_flatは、記録データによって変化する紙送りの時間である。t_lf_flatは、可変の値であるが、既に説明したt_allowが外乱により変化する可変の値であるのとは異なり、外乱とは関係なく記録処理の論理的な要求(送り量は、記録データに依存してあらゆる値に変化しうるため)によってのみ変化する可変の値である。
T_CR_ADDは、CRの加速所要時間であり、本実施形態においてはCRの加速性能が安定しており、その値を定数として扱うことが可能である場合について説明を行う。
t_cr_flatは記録データの左右端、記録方向、CRの現在位置に基づいて決定される、CR加速終了からインク吐出処理が発動するまでの時間であり、各値の組み合わせによって自在に変化するが、その算出方法については公知であるため説明は省略する。
T_LF_APPROAFCHは、理想状態で想定される、減速終了から停止までの時間である。
T_CROSS_MARGINは、以下に述べる各計算において用いられるマージン値である。過去の制御で記録された制定時間の履歴を用いて、未来の制御において現出するであろう制定時間を推測する場合、DCモータの制御は動的であり、加工の制御で記録された制定時間が未来に発生する全ての状況を約束するものではない。動的に変化している制御対象の制御を、より安全に推測するためには、過去の履歴を総括した上で制御対象の系において予測される変化の最大量としてあらかじめマージンを見込んでおくことが必要となる。T_CROSS_MARGINはそのマージンを意味している。
図12は、クロスの深さを決める直接の値として、T_CROSS_PERFECTが支配的になった場合を示している。T_CROSS_PERFECTは、対象システムで想定される最も深いクロスの値を決める時間を決定する定数である。T_CROSS_PERFECTとT_CROSS_MARGINとを足し合わせた量が、対象システムにおいて許容される最も深いクロスの度合いとなる。すなわち、最も深くクロスする場合においても、理想減速制御領域が終了してから、(T_CROSS_PERFECT+T_CROSS_MARGIN)を経過する前に、インク吐出処理が発動することは許さない。T_CROSS_PERFECTは、このタイミング管理を保証するための値である。
完全に理想的な系においては、T_CROSS_MARGINは0、T_CROSS_PERFECTはT_LF_APPROACHと等しくできる。
これは、仮にT_LF_APPROACHを下回る時間でLFが停止したとしても、その短い時間を裏付けにして次のクロス制御を行ってしまった場合、斜行記録が発生してしまう危険性があることを憂慮している。なぜなら、減速終了から停止までの時間をT_LF_APPROACHを理想として制御している以上、仮にそれより短い時間でLFが停止するという事象が発生しても、それを裏づけにして次の駆動を行うことは危険であるからである。
図14は、クロスの深さを決める直接の値として、T_CROSS_ENABLEが支配的になった場合を示している。T_CROSS_ENABLEは、システムが正常な状態で想定される。最も長いLFの制定時間を鑑みて設定する定数時間値である。理想減速制御領域が終了してからT_CROSS_ENABLEが経過しても停止しないような駆動が検出された場合、LFは異常状態であると判定し、推定処理では対応不可能な動作をしているものとして扱う。すなわち、過去の履歴が未来の駆動に対して何の裏づけにも成り得ないという状況である。このような状況においては、いかなる浅いクロス制御といえども斜行記録を引き起こす可能性があるため、クロス制御は禁止される。
図13は、クロスの深さを決める直接の値として、t_lf_allow_maxが支配的となった場合を示している。t_lf_allow_maxは、過去の履歴から導き出された理想減速速度制御領域が終了してから停止までの最も長い所要時間である。過去の履歴が完全に未来の駆動を保証するのであれば、この値を持ってクロスの深さを決定できるが、DCモータの制御が動的であることを鑑みて、本実施形態ではこの値にT_CROSS_MARGINを加えた数値により、次にクロス制御の深さを決めようとしている。
以上の動作を実現する具体的な処理について、図11を用いて説明する。
ステップS13001で装置がパワーオンされると、ステップS13002において領域の初期化を行う。ここで、mem_t_lf_allow[N]は、過去N回の駆動で記録されたt_lf_allowを格納する記憶領域である。ステップS13002では、ここに初期値T_LF_ALLOW_INIT0〜T_LF_ALLOW_INITNを格納する。
ステップS13003において、記録(LFとCRとの両方を駆動する)命令が来たか否かを調べ、来ていればステップS13011に進み、不要なクロス制御を禁止してLFの駆動を行い、LF時に検出されたt_lf_allowを記録する。
次に、ステップS13005以降の処理の詳細について説明する。
ステップS13005においては、まず記録データの左右端、記録方向、CRの現在位置に基づき、t_cr_flatを計算する。さらにステップS13006に進み、mem_t_lf_allow[N]内の最大値を摘出してt_lf_allow_maxに代入する。
ステップS13007で、t_lf_allow_maxとT_CROSS_ENABLEとを比べ、前者が大きければステップS13011に進んでクロス制御を禁止するための設定cross_sw=DISABLEを行う。さもなければ、ステップS13008に進み、クロス制御を有効にするための設定cross_sw_=ENABLEを行い、ステップS13009に進む。
ステップS13009で、t_lf_allow_maxとT_CROSS_PERFECTとを比べ、前者が大きければステップS13012へ進んでt_lf_allow_maxをよりどころとしてt_cross_startを決めるための計算を行い、ステップS11012へ進む。さもなければ、ステップS13010へ進み、T_CROSS_PERFECTをよりどころにしてt_cross_startを決めるための計算を行い、ステップS11012へ進む。
ステップS13013のワーク領域設定処理でLFの駆動に必要なフィードバック制御のゲイン設定等の各種設定を行い、ステップS13014でタイマを起動する。ステップS13013とステップS13014とを総合すると、既に説明した図11のステップS11012に相当する。
ステップS13015は、図11におけるステップS11013においてなされる処理であり、cross_sw=ENABLEの場合に限り、タイマ起動後t_cross_startが経過した瞬間にCRモータ制御タスクに対して駆動開始指令のイベントを発行する。
ステップS13017〜ステップS13019は、図11における駆動制御の終了処理(ステップS11015)に相当する処理である。
ステップS13017で、CRモータ制御タスクに対して駆動開始指令イベントを発行する。ステップS13015においてcross_sw_DISABLEであるが故に駆動開始指令イベントが未発行である場合に限り、ステップS13017によりCR駆動を開始する。
ステップS13018、S13019で、mem_t_lf_allow[N]内の情報を一つずつシフトし、最も古いデータは破棄し、最新の値を代わりに記憶する。
以上説明した動作により、図12、図13、図14に示した動作が実現される。
なお、以上説明した処理において、初期値T_LF_ALLOW_INIT0〜T_LF_ALLOW_INITNの設定がもつ意味について補足説明する。
これらの設定を適切な値に設定することにより、パワーオン後のクロスの値をフレキシブルに設定できる。例えば、量産のばらつきの大きい製品においては、この初期値をあらかじめ大きめに設定することで、パワーオン直度の斜行記録の危険を確実に回避し、その上で個体に見合ったt_lf_allowをmem_t_lf_allow[N]内に蓄積していくことで、斜行記録を回避した上で各個体のポテンシャルを最大限に引き出してやることが可能である。
また、T_LF_ALLOW_INIT0〜T_LF_ALLOW_INITNのうち、最初の数値のみを大きめに設定することで、パワーオン直後の走査に対する斜行記録の危険回避に対するマージンだけを大きくし、それ以降はすぐに個体に見合った実測値のt_lf_allowが支配的になるようにして、個体のポテンシャルがより早く発揮されるようにチューニングすることも可能である。
図4に示すPID制御手順は、CPU上のプログラムによって実現され、これはある制御周期ごとに離散的に行われる。この制御周期が、例えば1msecであるとすれば、これを2msecとすることにより、制御手順を実現するためのCPU処理時間はほぼ半分となる。しかしながら、制御周期を単に倍にすると、応答が悪くなり、加減速中の追従性や停止制度など制御性への悪影響が懸念される。
そこで、制御周期が長くても問題の無い部分のみ制御周期を長く設定し、細やかな応答が必要である部分では制御周期を短く設定することにより、制御性へ悪影響を与えることなく、サーボ制御に費やすCPU処理の比率を低減できる。
制御周期が長くなることで問題のある部分の一つは、加速度が変化する部分での応答性である。図15は、速度目標値(a)が加速してから等速に変化した時の速度変化を示しており、縦軸は速度、横軸は時間を示している。図中(b)は制御周期1msecで、(c)は制御周期3msecで制御を行ったものである。ただし、制御の条件を同じにするため、(c)ではPID制御のIゲインを3倍にして使用している。このとき(c)は、(b)に対してオーバシュートが大きく、追従性が悪くなっている。
そこで図16では、速度目標(d)に対して、通常は(e)のように制御周期3msecで制御を行い、速度目標(d)の加速度が切り替わるタイミングから始まる区間(f)で、制御周期1msecの制御を行うことで、(g)のようにオーバシュートが大きくならないようにしている。すなわち、被駆動体が加速から等速に変わる際に制御周期を短くする。
ここで、区間(f)の開始タイミングは、加速後に等速の目標速度から一定速度以内に近づいた時などであり、この他のタイミングであっても良い。また、区間(f)の終了タイミングは、開始から一定の経過時間や移動距離でも良いし、速度と速度目標値との偏差が一定値以内である状態が一定時間継続した場合など、速度変動が十分に収まって安定したことが確認されたタイミングであっても良い。
すなわち、短い制御周期で制御を行う区間(f)は、被駆動体に作用する加速度が変化し、等速運動を開始する時点を含むように設定されるべきものであり、その開始タイミングや終了タイミングは、要求される制御精度に応じて設定すればよい。換言すると、制御周期を短くしなければオーバシュートが発生している期間を含むように、制御周期が短い期間を設定することにより、追従性を向上させることができる。
制御周期が長くなることで問題のある他の部分として、目標速度の切換タイミングへの反応が鈍くなることがあげられる。図17は、速度目標値(i)が等速から減速に変化した時の速度の変化を示しており、上記同様に(j)は制御周期1msecで、(k)では制御周期3msecで制御を行っている。このとき(j)は図17に(l)で示すタイミングで減速のための制御を開始するが、(k)は(m)で示すタイミングで減速の制御を開始するため、(j)よりも等速のまま進んでしまう時間が長く、結果として速度目標への追従性が悪くなっている。
そこで、図18では、ここでの速度目標の減速開始は位置によって決まるものとして、位置が減速開始位置からある距離以内に入ったタイミングから始まる区間(p)で制御周期1msecで制御を行うことで、速度目標(n)への追従性を良くしている。すなわち、被駆動体が等速から減速に変わる際にサーボ制御周期を短くする。
ここで区間(p)の開始タイミングは、例えば、所定位置近辺で反応するセンサが反応した時に速度目標を減速を開始する場合に、センサが反応すると想定される位置に近づいたタイミングで開始するなどの決め方でよい。また、区間(p)の終了タイミングは開始から一定の経過時間や移動距離でも良いし、速度の変化から実際に減速を開始したことを確認できたタイミングであっても良い。
すなわち、短い制御周期で制御を行う区間(p)は、被駆動体に加速度が作用して減速を開始する時点を含むように設定されるべきものであり、その開始タイミングや終了タイミングは、要求される制御精度に応じて設定すればよい。換言すると、等速運動をしていた被駆動体に作用する加速度が変化する瞬間を含むように、制御周期が短い期間を設定することにより、追従性を向上させることができる。
制御周期が長くなることで問題のある部分のもう一つとして、位置決め精度があげられる。制御周期と位置を読み取る間隔は同じであるため、制御周期が長い場合には、読み取り間隔の間に停止位置目標を通り越してしまう可能性が高くなり、位置合わせにかかる時間が増大したり、振動的になったりする可能性がある。そこで、停止目標位置までの距離が一定の範囲内になったタイミング(換言すると、被駆動体が停止する直前)で制御周期を短くすることで、これを防ぐことができる。制御周期を短くするタイミングは、あらかじめ計算された目標位置に近づくと予想される時間を用いたり、別途センサを使用して決まるタイミングを用いたりしても良い。なお、ここでの「停止目標位置までの一定の距離」は、被駆動体の移動速度(単位時間当たりの移動量)に応じて変わるため、制御周期を短くし始めるタイミングは、要求される制御精度に応じて設定すればよい。
これらをまとめると、被駆動体に作用する加速度が変化する場合(加速→等速、等速→減速)や、目標位置までの距離が制御周期の間の被駆動体が移動量に近づいた場合に制御周期を短くすることで、オーバシュートの発生を抑制しつつ、CPU負荷を低減できることとなる。
より詳しくは、被駆動体に作用する加速度が変化する場合、制御周期を短くする期間は、加速度が変化する瞬間を含むようにすることが好ましいが、加速度が変化した後の非定常状態となっている間を含む期間とすることにより、制御誤差を低減できる。一方、目標位置に近づいた場合には、被駆動体の速度や要求される制御精度に応じた位置に被駆動体が到達した時点から制御周期を短くすることにより、制御誤差を低減できる。
このように、本発明によれば、サーボ制御のためのデジタル演算にCPUを使用する場合に、デジタル演算に費やすCPU負荷を装置のコストを増大させることなく低減できるため、例えばインクジェットプリンタのようなサーボ制御と画像処理などその他の処理とを同一のCPU上で行う装置を、安価で高性能なものとできる。
また、サーボ制御の速度目標の加速度が大きく切り替わる際に追従性が悪くなる、いわゆるオーバシュートを誘発することなく、サーボ制御に費やすCPU負荷を低減できるため、例えばインクジェットプリンタのようなサーボ制御と画像処理などのその他の処理とを同一のCPU上で行う装置を、安価で高性能なものとできる。
また、サーボ制御の速度目標の切り替わりタイミングの検出精度を悪化させることなく、サーボ制御に費やすCPU負荷を低減できるため、例えばインクジェットプリンタのようなサーボ制御と画像処理などのその他の処理とを同一のCPU上で行う装置を、安価で高性能なものとできる。
さらに、サーボ制御の位置決め精度を悪化させることなく、サーボ制御に費やすCPU負荷を低減できるため、例えばインクジェットプリンタのようなサーボ制御と画像処理などのその他の処理とを同一のCPU上で行う装置を、安価で高性能なものとできる。
なお、上記実施形態は本発明の好適な実施の一例であり、本発明はこれに限定されることなく様々な変形が可能である。
プリンタの制御構成を示す図である。 プリンタコントローラの詳細構成を示す図である。 一般的なDCモータの位置制御系の構成を示す図である。 一般的なDCモータの速度サーボにおける制御系を示す図である。 停止直前速度が平均的且つ理想的な値で終了する場合の時間と速度及び位置との関係を示す図である。 見込みよりも早く終了する場合の時間と速度及び位置との関係を示す図である。 見込みよりも遅く終了する場合の時間と速度及び位置との関係を示す図である。 駆動処理の流れを示すフローチャートである。 駆動処理における制御タイミングを示す図である。 一般的な駆動処理の流れを主副走査にそれぞれ適用した場合の各々のタイミングを示す図である。 制御周期変更処理の動作の流れを示す図である。 クロスの深さを決める直接の値として、T_CROSS_PERFECTが支配的になった場合の信号のタイミングを示す図である。 クロスの深さを決める直接の値として、t_lf_allow_maxが支配的となった場合の信号のタイミングを示す図である。 クロスの深さを決める直接の値として、T_CROSS_ENABLEが支配的になった場合の信号のタイミングを示す図である。 制御周期とオーバシュートの大きさとの関係を示す図である。 速度目標の加速度が切り替わるタイミングから始まる区間で、制御周期を短くした場合のオーバシュートを示す図である。 制御周期による速度目標切替時の追従性の差を示す図である。 位置が減速開始位置からある距離以内に入ったタイミングから始まる区間で制御周期を短くした場合の追従性を示す図である。
符号の説明
231 ホストインタフェース
401 CPU
402 ROM
403 RAM
404 プリンタヘッド
405 モータドライバ
406 プリンタヘッド
407 温度センサ
501 I/Oデータレジスタ
502 受信バッファコントローラ
503 記録バッファコントローラ
504 メモリコントローラ
505 プリントシーケンスコントローラ
6001、7001 理想位置プロファイル
6002 比例演算部
6003、7002 PI演算部
6004、6008 DCモータ
6005 エンコーダセンサ
6006 エンコーダ速度情報変換部
6007、7003 微分演算部
6009 エンコーダ位置情報変換部

Claims (7)

  1. 直線的に駆動される被駆動体と、前記被駆動体を駆動する駆動手段と、前記被駆動体の位置を検出する位置検出手段と、前記被駆動体の速度を検出する速度検出手段と、前記被駆動体を駆動する速度の目標値である速度目標値を生成する速度目標値生成手段と、前記駆動手段による駆動力の指示値である駆動出力値を演算する演算手段とを有し、前記駆動出力値をデジタル演算によって特定の制御周期で離散的に演算して、少なくとも前記被駆動体の速度を前記速度目標値に近づけるように制御するサーボ制御装置であって、
    前記デジタル演算を行う制御周期が可変であり、
    前記速度目標値が一定以上の加速度変化をするときに、前記制御周期を短く設定する制御周期設定手段を有し、
    前記制御周期設定手段は、前記被駆動体が加速後に等速の前記速度目標値から一定速度以内に近づいたときに前記制御周期を短く設定し、前記被駆動体の速度と前記速度目標値との偏差が一定値以内である状態が一定時間継続した場合に前記制御周期を元の値に戻す設定をすることを特徴とするサーボ制御装置。
  2. 前記制御周期設定手段は、所定位置近辺で反応するセンサが反応した時に速度目標の減速を開始する場合に、前記センサが反応すると想定される位置に前記被駆動体が近づいたタイミングで前記制御周期を短く設定し、速度の変化から実際に前記被駆動体が減速を開始したことを確認できたタイミングで前記制御周期を元の値に戻す設定をすることを特徴とする請求項1記載のサーボ制御装置。
  3. 前記被駆動体はプリンタヘッドであることを特徴とする請求項1記載のサーボ制御装置を用いたインクジェット記録装置。
  4. 直線的に駆動される被駆動体と、前記被駆動体を駆動する駆動手段と、前記被駆動体の位置を検出する位置検出手段と、前記被駆動体の速度を検出する速度検出手段と、前記被駆動体を駆動する速度の目標値である速度目標値を生成する速度目標値生成手段と、前記駆動手段による駆動力の指示値である駆動出力値を演算する演算手段とを有するサーボ制御装置におけるサーボ制御方法であって、
    前記駆動出力値をデジタル演算によって特定の制御周期で離散的に演算し、少なくとも前記被駆動体の速度を前記速度目標値に近づけるように制御する工程と、
    前記デジタル演算を行う制御周期が可変であり、
    前記速度目標値が一定以上の加速度変化をするときに、前記制御周期を短く設定する制御周期設定工程と、を有し、
    前記制御周期設定工程は、前記被駆動体が加速後に等速の前記速度目標値から一定速度以内に近づいたときに前記制御周期を短く設定し、前記被駆動体の速度と前記速度目標値との偏差が一定値以内である状態が一定時間継続した場合に前記制御周期を元の値に戻す設定をすることを特徴とするサーボ制御方法。
  5. 前記制御周期設定工程は、所定位置近辺で反応するセンサが反応した時に速度目標の減速を開始する場合に、前記センサが反応すると想定される位置に前記被駆動体が近づいたタイミングで前記制御周期を短く設定し、速度の変化から実際に前記被駆動体が減速を開始したことを確認できたタイミングで前記制御周期を元の値に戻す設定をすることを特徴とする請求項4記載のサーボ制御方法。
  6. 直線的に駆動される被駆動体と、前記被駆動体を駆動する駆動手段と、前記被駆動体の位置を検出する位置検出手段と、前記前記被駆動体の速度を検出する速度検出手段とを有するサーボ制御装置を制御する実質的なコンピュータにサーボ制御を行わせるためのサーボ制御プログラムであって、
    前記実質的なコンピュータを、
    前記被駆動体を駆動する速度の目標値である速度目標値を生成する速度目標値生成手段、及び前記駆動手段による駆動力の指示値である駆動出力値をデジタル演算によって特定の制御周期で離散的に演算する演算手段として機能させ、
    前記実質的なコンピュータが、少なくとも前記被駆動体の速度を前記速度目標値に近づけるように制御するとともに、前記デジタル演算を行う制御周期を可変とし、前記速度目標値が一定以上の加速度変化をするときに、前記制御周期を短く設定する制御を行い、
    前記実質的なコンピュータに行わせる前記制御周期を短く設定する制御は、前記被駆動体が加速後に等速の前記速度目標値から一定速度以内に近づいたときに前記制御周期を短く設定し、前記被駆動体の速度と前記速度目標値との偏差が一定値以内である状態が一定時間継続した場合に前記制御周期を元の値に戻す設定をすることを特徴とするサーボ制御プログラム。
  7. 前記実質的なコンピュータに行わせる前記制御周期を短く設定する制御は、所定位置近辺で反応するセンサが反応した時に速度目標の減速を開始する場合に、前記センサが反応すると想定される位置に前記被駆動体が近づいたタイミングで前記制御周期を短く設定し、速度の変化から実際に前記被駆動体が減速を開始したことを確認できたタイミングで前記制御周期を元の値に戻す設定をすることを特徴とする請求項6記載のサーボ制御プログラム。
JP2007142287A 2007-05-29 2007-05-29 サーボ制御装置、方法及びプログラム、並びにインクジェット記録装置 Expired - Fee Related JP4729002B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007142287A JP4729002B2 (ja) 2007-05-29 2007-05-29 サーボ制御装置、方法及びプログラム、並びにインクジェット記録装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007142287A JP4729002B2 (ja) 2007-05-29 2007-05-29 サーボ制御装置、方法及びプログラム、並びにインクジェット記録装置

Publications (2)

Publication Number Publication Date
JP2008299426A JP2008299426A (ja) 2008-12-11
JP4729002B2 true JP4729002B2 (ja) 2011-07-20

Family

ID=40172926

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007142287A Expired - Fee Related JP4729002B2 (ja) 2007-05-29 2007-05-29 サーボ制御装置、方法及びプログラム、並びにインクジェット記録装置

Country Status (1)

Country Link
JP (1) JP4729002B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011125360A1 (ja) 2010-04-02 2011-10-13 株式会社安川電機 信号処理装置、エンコーダ及びモータシステム
JP2012100422A (ja) * 2010-11-01 2012-05-24 Sumitomo Heavy Ind Ltd 射出成形機
JP6260825B2 (ja) * 2014-06-06 2018-01-17 株式会社デンソー 非接触給電装置
CN109520702B (zh) * 2018-12-28 2020-08-18 大连工业大学 一种水产品水射流力参数测试方法及其试验装置
JP7401244B2 (ja) * 2019-10-04 2023-12-19 ファナック株式会社 制御装置、及び制御方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001342885A (ja) * 2000-05-31 2001-12-14 Denso Corp 内燃機関の燃料噴射制御装置
JP2004230565A (ja) * 2003-01-28 2004-08-19 Funai Electric Co Ltd 印字装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63127479A (ja) * 1986-11-17 1988-05-31 Fujitsu Ltd インデツクスサ−ボ方式
JPH01151736A (ja) * 1987-12-08 1989-06-14 Japan Electron Control Syst Co Ltd 内燃機関の電子制御燃料噴射装置
JP2688491B2 (ja) * 1988-05-18 1997-12-10 株式会社神戸製鋼所 産業用ロボットの速度制御方法および装置
JPH03265001A (ja) * 1990-03-15 1991-11-26 Idemitsu Kosan Co Ltd プロセスの制御方法
JPH0777092A (ja) * 1993-09-08 1995-03-20 Tokyo Gas Co Ltd 内燃機関の空燃比制御方法及びその装置
JPH07222479A (ja) * 1994-01-26 1995-08-18 Toyota Motor Corp 駆動装置
JP2005186549A (ja) * 2003-12-26 2005-07-14 Ricoh Co Ltd 駆動制御装置および画像形成装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001342885A (ja) * 2000-05-31 2001-12-14 Denso Corp 内燃機関の燃料噴射制御装置
JP2004230565A (ja) * 2003-01-28 2004-08-19 Funai Electric Co Ltd 印字装置

Also Published As

Publication number Publication date
JP2008299426A (ja) 2008-12-11

Similar Documents

Publication Publication Date Title
JP3658339B2 (ja) モータの制御のための方法及び装置
JP4497891B2 (ja) 記録装置と搬送制御装置
JP3658340B2 (ja) モータの制御のための方法及び装置
JP4729002B2 (ja) サーボ制御装置、方法及びプログラム、並びにインクジェット記録装置
KR101634474B1 (ko) 모터 제어 장치
JP2002337414A (ja) 記録装置及び記録制御方法
US5351068A (en) Ink-jet printer carriage and paper motion overlap method and apparatus
JP3053144B2 (ja) プリンタのキャリッジモータ制御装置
JP7131263B2 (ja) 画像形成システム
KR100403098B1 (ko) 기록 장치
JP3814509B2 (ja) モータの制御のための方法及び装置
JP2004088926A (ja) モータの制御方法及び制御装置
JP4012012B2 (ja) モータの制御方法、モータの制御装置、電子機器及び記録装置
US6940252B2 (en) DC motor control method and apparatus
JP2005178334A (ja) インクジェット記録装置
JP5923915B2 (ja) モータ制御装置
JP2004216711A (ja) インクジェット記録装置
JP2007168976A (ja) 記録装置、記録装置の制御方法、および記録装置の制御プログラム
JP2018001490A (ja) 記録装置
JPS6040277A (ja) キヤリツジの駆動方法
JP2002345280A (ja) モータ制御方法及び装置
JP4556885B2 (ja) キャリッジの制御方法、この方法を実行する制御装置、この制御装置を含むプリンタ
JP2007044947A (ja) 記録装置
JP5927831B2 (ja) モータ制御装置
JP2004166458A (ja) モータの制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100112

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100714

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100727

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100917

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110405

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110415

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20140422

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees