JP4453712B2 - 設定方法及びモータ制御装置 - Google Patents

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

Info

Publication number
JP4453712B2
JP4453712B2 JP2007094722A JP2007094722A JP4453712B2 JP 4453712 B2 JP4453712 B2 JP 4453712B2 JP 2007094722 A JP2007094722 A JP 2007094722A JP 2007094722 A JP2007094722 A JP 2007094722A JP 4453712 B2 JP4453712 B2 JP 4453712B2
Authority
JP
Japan
Prior art keywords
motor
operation amount
control
cycle
motors
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
JP2007094722A
Other languages
English (en)
Other versions
JP2008253110A (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.)
Brother Industries Ltd
Original Assignee
Brother Industries 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 Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2007094722A priority Critical patent/JP4453712B2/ja
Priority to US12/055,278 priority patent/US8026678B2/en
Publication of JP2008253110A publication Critical patent/JP2008253110A/ja
Application granted granted Critical
Publication of JP4453712B2 publication Critical patent/JP4453712B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Control Of Multiple Motors (AREA)

Description

本発明は、複数のモータを制御するモータ制御装置に関する。
従来より、モータ制御装置としては、異なる駆動対象を駆動する複数のモータを、単一の制御部(マイクロコンピュータ等)で制御するモータ制御装置が知られている。この種のモータ制御装置では、例えば、モータの回転に応じてパルス信号を出力するエンコーダからの入力信号に基づき、モータに対する操作量を算出し、この操作量をモータ駆動回路に設定する処理(以下、「制御処理」と称する。)を繰返し、モータ毎に実行することにより、モータ制御を実現する。但し、単一の制御部では、複数モータの上記制御処理を夫々、並列に実行することができない。このため、従来のモータ制御装置では、繰返し、各モータに対する制御処理を、順に実行することで、仮想的に各モータを並列制御している。
この他、複数モータにより異なる駆動対象を駆動する場合には、モータ毎に、適切な制御周期(換言すると、操作量の更新周期)が異なる場合も多い。このため、従来装置では、複数のモータの全てについての制御処理を、同周期で繰返し実行するのではなく、各モータの制御処理を、異なる周期で実行することが行われている。
具体的には、図11に示すように、制御周期の最適値が最小のモータについての当該制御周期を、処理の実行周期Tsに定め、他のモータの制御周期を、処理実行周期Tsの整数倍に定めて、処理実行時刻が到来する度、制御周期が到来したモータについての上記制御処理を順に実行することで、従来装置では、仮想的に、各モータを異なる制御周期で、並列制御している(例えば、特許文献1参照)。制御周期がM×Tsのモータについては、処理実行時刻の到来回数がMの整数倍となる度、上記制御処理を実行するといった具合である。
特開2002−186288号公報
しかしながら、従来装置では、処理実行周期Tsを、制御周期の最適値が最小のモータの当該制御周期に定めていたため、他のモータの制御周期が、上記最適値が最小のモータの制御周期Tsに、拘束されるといった問題があった。
即ち、従来手法では、制御周期の最適値が最小のモータについての当該制御周期Tsに拘束されて、他のモータに対し、最適な制御周期を設定することができないといった問題があった。また、これが原因で、複数モータを単一の制御部で制御するモータ制御装置においては、一部モータの制御性能が劣化するといった問題があった。
勿論、このような問題は、制御部を、モータ毎に設けることで解決することができる。しかしながら、制御部をモータ毎に設けると、装置の製造コストが大幅に上昇するといった問題があった。
本発明は、こうした問題に鑑みなされたものであり、単一の制御部にて、従来よりも適切に、複数モータを制御可能な技術を提供することを目的とする。
かかる目的を達成するためになされた第一の発明は、複数のモータを制御するモータ制御装置であって、設定された操作量に対応する操作をモータに加えて当該モータを駆動するモータ駆動手段及びモータの回転量を検出する回転量検出手段をモータ毎に備えると共に、操作量の算出結果を記憶するための操作量記憶手段、及び、予め定められた周期で到来する処理実行時刻が到来する度、制御周期が到来した各モータについて、回転量検出手段から回転量についての検出値を取得する処理と、取得した検出値に基づきモータに対する操作量を算出し、算出した操作量を操作量記憶手段に記憶させる処理と、モータ駆動手段に対し操作量記憶手段から読み出した操作量を設定する処理と、を実行する操作量設定手段を備えるモータ制御装置に対し、次のように、処理実行時刻の到来周期である処理実行周期及び各モータの制御周期を設定するようにした方法の発明である(請求項1)。
尚、上記操作量設定手段は、処理実行時刻が到来した時点で「制御周期が到来したモータについて、モータ毎に、対応する回転量検出手段から回転量についての検出値を取得すると共に、所定回前に算出された当該モータの操作量を、操作量記憶手段から読み出し、読み出した操作量を、このモータに対応するモータ駆動手段に設定する入出力処理」を実行し、この入出力処理の実行後、制御周期が到来したモータについて、モータ毎に、「対応する回転量検出手段から取得した検出値に基づき、このモータに対する操作量を算出し、算出した操作量を、操作量記憶手段に記憶させる算出記録処理」を実行する。
この発明では、複数のモータの内、最適な制御周期が最小のモータの当該制御周期を基準周期として、当該基準周期のN(但し、値Nは2以上の整数である。)分の一の時間間隔を、処理実行周期に設定し、上記最適な制御周期が最小のモータの当該制御周期を、設定した処理実行周期のN倍に設定すると共に、複数のモータの内、最適な制御周期が最小のモータ以外の各モータの制御周期を、設定した処理実行周期のM倍(但し、値Mは、値N以上の整数である。)に設定する。
このような方法で、処理実行周期及び制御周期を設定すれば、従来のように、最適な制御周期が最小のモータの当該制御周期を、処理実行周期に定めるよりも、各モータの制御周期を、適切な値に設定することができる。
即ち、本発明の設定方法によれば、最適な制御周期が最小のモータの当該制御周期の整数分の一を、処理実行周期に設定するので、従来手法よりも、自由度高く、各モータの制御周期を設定することができ、結果として、各モータの制御周期を、最適値又はその近似値に設定することができる。
また、上記モータ制御装置では、処理実行周期毎に、制御周期が到来したモータを検出し制御周期が到来した各モータについての操作量を更新するといった動作で、各モータを制御周期毎に制御するので、単一の制御部(マイクロコンピュータ等)で、複数のモータを、簡単な手順で制御することができる。即ち、このモータ制御装置では、処理実行周期で統制せずに、各モータを個別に制御するモータ制御装置よりも、簡単に、複数モータを制御することができる。従って、本発明の設定方法によれば、簡単な制御系で、複数のモータを高精度に制御することができる。
また、具体的に、処理実行周期は、最適な制御周期が最小のモータの当該制御周期の整数分の一であって、各モータの最適な制御周期の最大公約数に定められるとよい。処理実行周期を必要以上に短くすると、制御周期が到来したモータが存在しないのにも拘わらず、制御周期が到来したモータの検出動作を、操作量設定手段が高頻繁に実行しなければならなくなり、操作量設定手段の処理負荷が増大する。一方、処理実行周期を、各モータの最適な制御周期の最大公約数に定めれば、各モータを最適な周期で制御することのできる最大長さの周期を、処理実行周期に定めることができ、操作量設定手段の処理負荷を効率的に抑えることができる。
また、上記目的を達成するためになされた第二の発明は、設定された操作量に対応する操作をモータに加えて当該モータを駆動するモータ駆動手段及びモータの回転量を検出する回転量検出手段をモータ毎に備えると共に、操作量の算出結果を記憶するための操作量記憶手段、及び、予め定められた周期で到来する処理実行時刻が到来する度、制御周期が到来した各モータについて、回転量検出手段から回転量についての検出値を取得する処理と、取得した検出値に基づきモータに対する操作量を算出し、算出した操作量を操作量記憶手段に記憶させる処理と、モータ駆動手段に対し操作量記憶手段から読み出した操作量を設定する処理と、を実行する操作量設定手段を備えるモータ制御装置であって、処理実行時刻の到来周期が、制御周期が最小のモータの当該制御周期とは異なる値であって、各モータに対し設定された制御周期の公約数に、定められてなるモータ制御装置の発明である(請求項2)。
尚、操作量設定手段は、処理実行時刻が到来した時点で「制御周期が到来したモータについて、モータ毎に、対応する回転量検出手段から回転量についての検出値を取得すると共に、所定回前に算出された当該モータの操作量を、操作量記憶手段から読み出し、読み出した操作量を、このモータに対応するモータ駆動手段に設定する入出力処理」を実行し、この入出力処理の実行後、制御周期が到来したモータについて、モータ毎に、「対応する回転量検出手段から取得した検出値に基づき、このモータに対する操作量を算出し、算出した操作量を、操作量記憶手段に記憶させる算出記録処理」を実行する。
上述したように、処理実行周期を基準として各モータを制御する手法では、単一の制御部(マイクロコンピュータ等)で複数モータを制御する場合に、その制御手順及び制御系
の構成を、処理実行周期で統制しない手法と比較して、簡単にすることができるといった利点がある。しかしながら、処理実行周期を基準として各モータを制御する手法では、従来、各モータの制御周期が、制御周期の最適値が最小のモータの当該制御周期に、拘束されるといった問題があった。
本発明は、こうした問題に鑑み、各モータの制御周期の公約数に、処理実行周期(処理実行時刻の到来周期)を定めて、モータ制御装置を構成したものである。各モータの制御周期の公約数に、処理実行周期を定めれば、各モータの制御周期が、制御周期の最適値が最小のモータの当該制御周期に拘束されずに済む。即ち、本発明のようにモータ制御装置を構成すれば、処理実行周期を基準として各モータを制御する手法を採用しつつ、各モータの操作量を適切な周期で更新することができ、各モータを高精度に制御することができる。従って、本発明によれば、安価に高性能なモータ制御装置を構築することができる。
尚、このモータ制御装置において、処理実行周期は、各モータの制御周期の最大公約数に定められるとよい。このように、処理実行周期を、各モータの制御周期の最大公約数に定めれば、上述したように、操作量設定手段の処理負荷を抑えることができ、操作量設定手段としての機能をマイクロコンピュータにて実現する場合に、安価なマイクロコンピュータを用いることができる。
また、操作量設定手段では、制御周期が到来したモータを検出する必要があるが、このモータの検出動作は、具体的に、次のようにして実現されるとよい。
即ち、モータ制御装置には、基点からの経過時間を計測する計時手段を設けて、操作量設定手段は、処理実行時刻が到来する度、複数のモータの夫々について、計時手段の計測値をモータの制御周期で除算して除算後の余りを算出し、当該余りが規定値であるか否かを判断することによって、制御周期が到来したモータを検出する構成にされるとよい(請求項3)。このようにモータ制御装置を構成すれば、簡単な動作で制御周期が到来したモータを検出することができる。尚、規定値は、例えば、値ゼロに設定することができる。
また、本発明のモータ制御装置のように、入出力処理の実行後に算出記録処理を実行することで、操作量の演算前に、検出値の取得動作、及び、操作量の設定動作を実行すれば、操作量の演算時間が揺動する場合でも、高精度に一定周期(予め定められたモータの制御周期)で、操作量をモータ駆動手段に対して設定することができる。また、高精度に一定周期で各モータの回転量についての検出値を取得し、これに基づく操作量の算出動作を実行することができる。
即ち、従来装置では、処理実行時刻が到来すると、モータの回転量を取得して、この取
得値に基づき、モータに対する操作量を算出し、算出後に、当該算出の結果得られた操作量を、モータ駆動手段に設定して、操作量を更新するといった制御処理を実行していたため、一定周期で上記制御処理を開始しても、操作量の演算時間の揺動により、操作量の演算後に行われる操作量の設定動作については、安定して一定周期で実行することができないといった問題があった。
また、制御周期が到来したモータが複数ある場合には、処理実行時刻の到来を契機として、上記複数モータの制御処理を、優先度の高いモータから、順に実行することになるが、この場合には、優先度の低いモータの制御処理の実行開始時刻が、先に実行された優先度の高いモータについての制御処理の遅延を受けて安定しないため、操作量の設定動作だけでなく、回転量の検出値の取得動作についても、一定周期で精度よく実行することができないといった問題があった。そして、従来装置では、このような操作量の設定動作及び検出値の取得動作の実行周期の揺動が、モータの制御性能の劣化に繋がっていた。
これに対し、本発明のモータ制御装置では、操作量の演算前に、検出値の取得動作、及び、操作量の設定動作を実行するので、操作量の演算時間の揺動が、検出値の取得動作及び操作量の設定動作の実行時期に影響を与えることがなく、安定的に、一定周期で、検出値の取得動作及び操作量の設定動作を実行することができる。従って、本発明によれば、各モータを高精度に制御することができるモータ制御装置を提供することができる。
また、モータ制御装置は、処理実行時刻が到来してから次の処理実行時刻が到来するまでの期間に、入出力処理及び算出記録処理の全てが終了するように、構成されるのが好ましいが、操作量の演算時間が延びて、算出記録処理が次の処理実行時刻までに終了しない場合も考えられるので、このような場合を想定してモータ制御装置を構成する場合には、具体的に、操作量設定手段を次のように構成するとよい。
即ち、操作量設定手段は、算出記録処理を、次の処理実行時刻の到来時までに終えることができなかった場合、次の処理実行時刻の到来時点で、この算出記録処理を中断すると共に、処理実行時刻の到来を契機として入出力処理を実行した後、中断された算出記録処理を再開する構成にされるとよい(請求項4)。算出記録処理が次の処理実行時刻までに終了しない事態も考えられるモータ制御装置において、このように、操作量設定手段を構成すれば、上記事態が発生した場合でも、優先的に入出力処理が実行されるので、適切に検出値の取得動作及び操作量の設定動作を一定周期で実行することができ、安定したモータ制御を実現することができる。
また、操作量設定手段としての機能は、操作量設定手段としての機能をマイクロコンピュータに実現させるためのプログラムを、モータ制御装置が備える単一のマイクロコンピュータに、実行させることにより、実現することができる(請求項5)。単一のマイクロコンピュータにて操作量を演算する従来のモータ制御装置では、上述したように、操作量の演算時間の揺動から、精度よく一定周期で、回転量の検出値(制御量)の取得動作及び操作量の設定動作を実行することができないといった問題があったが、本発明を、このようなモータ制御装置に適用すれば、検出値の取得動作及び操作量の設定動作を一定周期で実行することができ、安定したモータ制御を実現することが可能なモータ制御装置を構成することができる。
以下、本発明の実施例について、図面と共に説明する。
図1は、本発明が適用された制御システム1の構成を表すブロック図である。本実施例の制御システム1は、複数のモータA,B,Cを、単一の制御部10にて制御するもので
あり、例えば、インクジェットプリンタにおける印字機構100の制御システムに用いられる。図2は、印字機構100の構成を表す概略断面図である。
本実施例の制御システム1を、印字機構100の制御システムに適用する場合には、単一の制御部10にて、インクジェットヘッド101を搭載したキャリッジ103を主走査方向に駆動するCRモータ105、給紙トレイ111から用紙Pを給紙する給紙ローラ113を駆動するACFモータ115、給紙される用紙Pをピンチローラ121と挟持して印字位置へと搬送する用紙搬送ローラ123及び用紙搬送ローラ123に連結された排紙ローラ127であって用紙搬送ローラ123側から搬送されてくる用紙Pをピンチローラ125と挟持して排紙する排紙ローラ127を駆動するLFモータ129を制御することになる。
具体的に、図2に示す印字機構100において印字を実現するには、給紙ローラ113を回転させて、給紙トレイ111上の用紙Pを用紙搬送ローラ123側へと搬送し、用紙Pが用紙搬送ローラ123に到達した場合には、給紙ローラ113を回転させながらも、用紙搬送ローラ123を回転させて、用紙Pを印字位置まで搬送する必要がある。また、印字を開始するに当たっては、インクジェットヘッド101のノズルを洗浄するため、インクを吐き出すフラッシング動作を行う必要があり、この際には、キャリッジ103をフラッシング位置まで移動させる必要がある。そして、この場合には、CRモータ105及びACFモータ115及びLFモータ129を、同時期に制御する必要がある。
図3は、横軸を時間、縦軸をモータ速度としたグラフを記したものであり、図3上段は、印字処理開始時のCRモータ105の動作を表すグラフ、中段は、ACFモータ115の動作を表すグラフ、下段は、LFモータ129の動作を表すグラフである。図3に示すように、CRモータ105、ACFモータ115及びLFモータ129は、特定の期間において同時制御される必要がある。本実施例の制御システム1は、このような複数モータを備える制御システムに適用され、単一の制御部10にて、これら複数モータを制御する。
具体的に、本実施例の制御システム1は、モータA,B,Cを制御する制御部10を備えると共に、図1に示すように、制御対象のモータA,B,C毎に、エンコーダ21、エンコーダ信号処理回路23、及び、モータ駆動回路25を備える。また、この制御システム1は、制御部10に割込み信号Irを所定周期Tsで入力するタイマ27を備える。以下では、モータAのエンコーダ21及びエンコーダ信号処理回路23及びモータ駆動回路25を、特に、エンコーダ21a及びエンコーダ信号処理回路23a及びモータ駆動回路25aと記し、モータBのエンコーダ21及びエンコーダ信号処理回路23及びモータ駆動回路25を、エンコーダ21b及びエンコーダ信号処理回路23b及びモータ駆動回路25bと記し、モータCのエンコーダ21及びエンコーダ信号処理回路23及びモータ駆動回路25を、エンコーダ21c及びエンコーダ信号処理回路23c及びモータ駆動回路25cと記す。
この制御システム1が備えるモータA,B,Cのエンコーダ21は、周知のロータリーエンコーダ若しくはリニアエンコーダであり、対応するモータA,B,Cの回転に応じてパルス信号を出力する。パルス信号は、対応するモータA,B,Cのエンコーダ信号処理回路23に入力され、エンコーダ信号処理回路23は、このパルス信号に基づき、所定の時点(リセットされた時点)を基準としたモータA,B,Cの回転量(位置座標)X及びモータの回転速度Vを算出する。当該制御システム1を、上記印字機構100の制御システムに適用した場合、モータAの回転量は、キャリッジの位置座標を表し、モータB,Cの回転量は、用紙Pの搬送量を表すこととなる。
また、制御部10は、各モータA,B,Cのエンコーダ信号処理回路23で算出された回転量X及び回転速度Vを、制御量の情報としてエンコーダ信号処理回路23から取得し、この情報X,Vに基づき、モータをフィードバック制御する構成にされている。ここでは、フィードバック制御の具体的な態様についての説明を省略するが、制御部10は、周知の手法で、モータA,B,Cの回転量及び回転速度を、フィードバック制御する構成にすることができる。
この制御部10は、各種演算処理を行うCPU11、CPU11が実行するプログラムを記憶するROM13、及び、プログラム実行時に作業領域として使用されるRAM15を有し、CPU11にてROM13が記憶するプログラムを実行することにより、各モータA,B,Cに対する操作量を算出し、これを対応するモータA,B,Cのモータ駆動回路25に設定して、モータ制御を実現する。
具体的に、本実施例の制御システム1は、各モータA,B,CをPWM制御する構成にされており、制御部10は、操作量として、PWM値を、モータ駆動回路25に設定する。換言すると、本実施例では、モータ駆動回路25が、設定された操作量(PWM値)に対応したデューティー比で、モータA,B,Cをオン/オフすることにより、モータの回転量及び回転速度が、操作量に対応した量に調整され、モータ制御が実現される。
そして、このような制御により回転するモータA,B,Cの回転量X及び回転速度Vは、上述したように、対応するエンコーダ21及びエンコーダ信号処理回路23を通じて検出される。制御部10では、この検出値に基づき、新たな操作量が演算され、これがモータ駆動回路25に設定される。本実施例の制御システム1では、このような動作によって、各モータA,B,Cについてのモータ制御が実現される。
ここで、制御システム1にて実現されるモータ制御について、更に具体的に説明すると、本実施例では、タイマ27から制御部10に対し周期的に割込み信号Irを入力する。そして、制御部10に、割込み信号Irが入力される度、制御周期の到来したモータを検出させて、制御周期の到来したモータ毎に、制御量(エンコーダ信号処理回路23にて算出された回転量X,回転速度V)の取得動作、及び、モータ駆動回路25に対する操作量の設定動作を、実行させる。
また、本実施例では、このようにして複数のモータA,B,Cを制御するに先駆け、設計段階で、タイマ27から入力する割込み信号の入力周期Tsと、各モータA,B,Cの制御周期とを、次のようにして定める。図4は、割込み信号Irの入力周期Ts、モータAの制御周期Ts1、モータBの制御周期Ts2、及び、モータCの制御周期Ts3の設定手順を示した説明図である。
周期Ts,Ts1,Ts2,Ts3を設定するに当っては、図4に示すように、各モータA,B,Cの最適な制御周期Tr_A,Tr_B,Tr_Cの最大公約数Tmを導出し(手順[1])、導出した最大公約数Tmを、割込み信号の入力周期Tsに決定する(手順[2])。尚、最適な制御周期Tr_A,Tr_B,Tr_Cは、制御システム1に設定されるべき制御周期の理想値であり、設計者が試験や卓上計算により定めることができる。但し、ここでは、最大公約数Tmといった概念を用いるため、最大公約数Tmの導出に当っては、制御周期Tr_A,Tr_B,Tr_Cを、整数値のスケールに置換して、最大公約数Tmを導出する。
このようにして、最大公約数Tmを導出し入力周期Tsを決定すると、入力周期Tsは、最適な制御周期が最小のモータAの当該制御周期Tr_Aの整数(N)分の一となる。但し、本実施例では、モータAの最適な制御周期Tr_A、モータBの最適な制御周期T
r_B、モータCの最適な制御周期Tr_Cが、Tr_A≦Tr_B≦Tr_Cの関係を有しているものとする。
Ts=Tr_A/N
ここで、モータB,Cの最適な制御周期Tr_B,Tr_Cが、制御周期Tr_Aの整数倍である場合には、パラメータNは、値1(N=1)に設定されることになる。しかしながら、3以上のモータを制御するシステムを構築する場合に、モータB,Cの最適な制御周期が、モータAの最適な制御周期Tr_Aの整数倍となることはまれであるので、入力周期Tsは、一般的に、制御周期Tr_Aの整数分の一であって、二分の一以下に設定されることになる。本実施例においては、この点が、割込み信号の入力周期Tsを、最適な制御周期が最小のモータAの当該制御周期Tr_Aに設定する従来技術と異なる点である。
本実施例では、このようにして、入力周期Tsを決定した後、決定した入力周期Tsを基準として、その整数倍に、モータA,B,Cの制御周期Ts1,Ts2,Ts3を定める。
具体的には、モータAの制御周期Ts1を、入力周期Tsの(Tr_A/Ts)倍に決定し、モータBの制御周期Ts2を、入力周期Tsの(Tr_B/Ts)倍に決定し、モータCの制御周期Ts3を、入力周期Tsの(Tr_C/Ts)倍に決定する(手順[3])。
また、手順[3]の終了後には、これらの決定内容に従って、割込み信号の入力周期Ts、モータAの制御周期Ts1、モータBの制御周期Ts2、モータCの制御周期Ts3を設定してなる制御システム1を構成する(手順[4])。
例えば、モータAの最適な制御周期Tr_Aに対し、モータBの最適な制御周期Tr_Bが(4・Tr_A/3)であり、モータCの最適な制御周期Tr_Cが(5・Tr_A/3)である場合には、割込み信号の入力周期をTs=Tr_A/3に設定し、モータAの制御周期をTs1=3・Tsに設定し、モータBの制御周期をTs2=4・Tsに設定し、モータCの制御周期をTs3=5・Tsに設定する。
図5(a)は、上記のように周期Ts,Ts1,Ts2,Ts3を設定した際に、制御部10で算出される、モータAに対する操作量U1の演算期間T_a、モータBに対する操作量U2の演算期間T_b、モータCに対する操作量U3の演算期間T_c、のパターンを、時間軸に沿って記したタイムチャートである。上記のように周期Ts,Ts1,Ts2,Ts3が設定された場合、本実施例の制御システム1では、制御部10が、初回の割込みを0回目として、割込み回数CNTが3の倍数になる度、モータAに対する操作量を演算し、割込み回数CNTが4の倍数となる度、モータBに対する操作量を演算し、割込み回数CNTが5の倍数となる度、モータCに対する操作量を演算することになる。
但し、本実施例では、従来装置とは異なり、操作量の演算後に操作量を設定するのではなく、操作量を演算する前に、入出力処理(図6及び図7参照)を実行して、前もって算出したモータの操作量をモータ駆動回路25に設定する。図5(b)は、図5(a)に示す各モータの操作量の演算期間に、入出力処理の実行期間T_ioを組み込んだ実際の制御部10の動作態様を示したタイムチャートであり、各処理の実行期間T_io,T_a,T_b,T_cのパターンを記したタイムチャートである。
即ち、本実施例では、周期Tsでタイマ27から割込み信号Irが入力される度、制御部10が、CPU11にて、図6及び図7に示す入出力処理を、割込み処理(例外処理)
として実行することにより、操作量の演算動作に優先した操作量の設定動作が実現される。図6及び図7は、制御部10が実行する入出力処理を表すフローチャートである。
制御部10は、図6に示す入出力処理を開始すると、まず、制御周期がTs1=M1・TsのモータAについて、モータAの制御周期が到来したか否かを判断するため、割込み回数CNTを値M1で除算し、余りRを算出する(S110)。尚、制御部10は、割込み回数CNTの初期値をゼロとして、割込み信号Irが入力される度、S310で割込み回数CNTをカウントアップし、初回割込みを0回目とした割込み回数CNTをRAM15に記憶する構成にされている。
そして、余りRの算出後には、S120に移行し、余りRが値ゼロであるか否かを判断することにより、モータAの制御周期が到来したか否かを判断する。
例えば、制御周期Ts1=3・Tsである場合には、割込み回数CNTを3で除算して余りRを算出し、余りRがゼロであるか否かを判断することにより、割込み回数CNTが3の倍数であるか否かを判断する。そして、余りRがゼロである場合には、割込み回数CNTが3の倍数であり、制御周期が到来したと判断して(S120でYes)、S130に移行する。一方、余りRがゼロではない場合には、制御周期が到来していないと判断して(S120でNo)、S160に移行する。
また、S160に移行すると、制御部10は、RAM15に記憶するモータAの処理開始フラグFG_Aをゼロにリセットし(FG_A=0)、その後、S170に移行する。
一方、S130に移行すると、制御部10は、RAM15に記憶されたモータAに対する操作量U1を、RAM15から読み出し、これをモータAのモータ駆動回路25aに設定する。
尚、本実施例の制御システム1は、モータ制御に先立って、制御部10により初期化処理を実行し、モータAに対する操作量U1、モータBに対する操作量U2、モータCに対する操作量U3として、初期値ゼロを設定し、これをRAM15に記憶する構成にされている。
従って、制御部10は、初回のS130の実行時、モータ駆動回路25aに対して操作量ゼロを設定することになる。一方、本実施例において、RAM15が記憶する操作量U1は、モータ制御の実行過程で、逐次更新される。従って、2回目以降については、更新された操作量U1が、制御部10の動作により、モータ駆動回路25aに設定されることになる。
S130で、操作量としてゼロより大きい値がモータ駆動回路25aに設定された場合、モータ駆動回路25aは、操作量に対応するデューティー比でモータAをオン/オフして、モータAを駆動する。一方、操作量として値ゼロが設定された場合、モータ駆動回路25aは、実質的に、モータAを駆動することなく、操作量が更新されるまで待機する。
S130での処理を終えると、制御部10は、S140に移行し、モータAのエンコーダ信号処理回路23aから、エンコーダ信号処理回路23aが保持するモータAの回転量X及び回転速度Vを取得し、これをRAM15に記憶する。尚、エンコーダ信号処理回路23aにて算出されるモータAの回転量X及び回転速度Vを、以下では、回転量X1及び回転速度V1と表記する。
また、S140での処理を終えると、制御部10は、S150に移行し、モータAの処
理開始フラグFG_Aを値1にセットする(FG_A=1)。その後、S170に移行する。
また、S170に移行すると、制御部10は、制御周期がTs2=M2・TsのモータBについて、S110の処理と同様の処理を実行する。即ち、制御部10は、モータBの制御周期が到来したか否かを判断するために、割込み回数CNTを値M2で除算し、余りRを算出する(S170)。そして、余りRの算出後には、S180に移行し、余りRが値ゼロであるか否かを判断することにより、モータBの制御周期が到来したか否かを判断する。
例えば、制御周期Ts2=4・Tsである場合には、割込み回数CNTを4で除算して余りRを算出し、余りRがゼロであるか否かを判断することにより、割込み回数CNTが4の倍数であるか否かを判断する。そして、余りRがゼロである場合には、割込み回数CNTが4の倍数であり、モータBの制御周期が到来したと判断して(S180でYes)、S190に移行する。一方、余りRがゼロではない場合には、制御周期が到来していないと判断して(S180でNo)、S220に移行する。
また、S220に移行すると、制御部10は、RAM15に記憶するモータBの処理開始フラグFG_Bをゼロにリセットし(FG_B=0)、その後、S230に移行する。一方、S190に移行すると、制御部10は、RAM15に記憶されたモータBに対する操作量U2を、RAM15から読み出し、これをモータBのモータ駆動回路25bに設定する。
具体的に、制御部10は、初回のS190の実行時、モータ駆動回路25bに対して操作量ゼロを設定する。一方、RAM15が記憶する操作量U2については、モータ制御の実行過程で逐次更新されるので、2回目以降では、更新された操作量U2を、モータ駆動回路25bに設定する。
S190で、操作量としてゼロより大きい値がモータ駆動回路25bに設定された場合、モータ駆動回路25bは、操作量に対応するデューティー比でモータBをオン/オフして、モータBを駆動する。一方、操作量として値ゼロが設定された場合、モータ駆動回路25bは、実質的に、モータBを駆動することなく、操作量が更新されるまで待機する。
S190での処理を終えると、制御部10は、S200に移行し、モータBのエンコーダ信号処理回路23bから、エンコーダ信号処理回路23bが保持するモータBの回転量X及び回転速度Vを取得し、これをRAM15に書き込む。尚、エンコーダ信号処理回路23bにて算出されるモータBの回転量X及び回転速度Vを、以下では、回転量X2及び回転速度V2と表記する。
また、S200での処理を終えると、制御部10は、S210に移行し、モータBの処理開始フラグFG_Bを値1にセットする(FG_B=1)。その後、S230に移行する。
また、S230に移行すると、制御部10は、制御周期がTs3=M3・TsのモータCについて、S110の処理と同様の処理を実行する。即ち、制御部10は、モータCの制御周期が到来したか否かを判断するために、割込み回数CNTを値M3で除算し、余りRを算出する(S230)。そして、余りRの算出後には、S240に移行し、余りRが値ゼロであるか否かを判断することにより、モータCの制御周期が到来したか否かを判断する。
例えば、制御周期Ts3=5・Tsである場合には、割込み回数CNTを5で除算して余りRを算出し、余りRがゼロであるか否かを判断することにより、割込み回数CNTが5の倍数であるか否かを判断する。そして、余りRがゼロである場合には、割込み回数CNTが5の倍数であり、モータCの制御周期が到来したと判断して(S240でYes)、S250に移行する。一方、余りRがゼロではない場合には、制御周期が到来していないと判断して(S240でNo)、S280に移行する。
また、S280に移行すると、制御部10は、RAM15に記憶するモータCの処理開始フラグFG_Cをゼロにリセットし(FG_C=0)、その後、S290に移行する。一方、S250に移行すると、制御部10は、RAM15に記憶されたモータCに対する操作量U3を、RAM15から読み出し、これをモータCのモータ駆動回路25cに設定する。
具体的に、制御部10は、初回のS250の実行時、モータ駆動回路25cに対して操作量ゼロを設定する。一方、RAM15が記憶する操作量U3については、モータ制御の実行過程で、更新されるので、2回目以降については、更新された操作量U3を、モータ駆動回路25cに設定する。
S250で、操作量としてゼロより大きい値がモータ駆動回路25cに設定された場合、モータ駆動回路25cは、操作量に対応するデューティー比でモータCをオン/オフして、モータCを駆動する。一方、操作量として値ゼロが設定された場合、モータ駆動回路25cは、実質的に、モータCを駆動することなく、操作量が更新されるまで待機する。
S250での処理を終えると、制御部10は、S260に移行し、モータCのエンコーダ信号処理回路23cから、エンコーダ信号処理回路23cが保持するモータCの回転量X及び回転速度Vを取得し、これをRAM15に書き込む。尚、エンコーダ信号処理回路23cにて算出されるモータCの回転量X及び回転速度Vを、以下では、回転量X3及び回転速度V3と表記する。
また、S260での処理を終えると、制御部10は、S270に移行し、モータCの処理開始フラグFG_Cを値1にセットする(FG_C=1)。その後、S290に移行する。
また、S290に移行すると、制御部10は、上述の処理にて、処理開始フラグFG_A,FG_B,FG_Cのいずれかがセットされた(値1に設定された)か否かを判断し、処理開始フラグFG_A,FG_B,FG_Cのいずれかがセットされた(値1に設定された)と判断すると(S290でYes)、S300に移行し、実行待ちキューに、操作量演算処理タスク(詳細後述。図8参照)を登録する。
尚、制御部10は、割込み信号を受けて例外処理(入出力処理等)を実行するとき以外は、基本的に、実行待ちキューに登録されたタスクを、登録順に実行する構成にされている。また、割込み信号を受けて例外処理を実行する場合には、実行中のタスクを一旦中断して、例外処理を優先的に実行した後、中断したタスクを再開する構成にされている。
S300での処理を終えると、制御部10は、S310に移行する。一方、S290で、処理開始フラグFG_A,FG_B,FG_Cが全てリセットされている(値0に設定されている)と判断すると(S290でNo)、S300の処理を実行することなく、S310に移行する。
また、S310に移行すると、制御部10は、割込み回数CNTを1加算した値に更新
し(CNT←CNT+1)、その後、割込み回数CNTが値M1,M2,M3の最小公倍数であるか否かを判断する(S320)。尚、本実施例では、割込み信号の入力周期Tsが上述のように設定される関係上、M1,M2,M3に1以外の公約数は存在しないので、ここでは、具体的に、割込み回数CNTが、M1・M2・M3であるか否かを判断する。
そして、制御部10は、割込み回数CNTが値M1,M2,M3の最小公倍数であると判断すると(S320でYes)、S330に移行し、割込み回数CNTを値ゼロに更新した後、当該入出処理を終了する。一方、割込み回数CNTが値M1,M2,M3の最小公倍数ではないと判断すると(S320でNo)、S330の処理を実行することなく、当該入出力処理を終了する。
以上に、入出力処理の手順を説明したが、制御部10は、上記入出力処理を、割込み信号Irがタイマ27から入力される度、他のタスクに優先して実行する。従って、本実施例の制御システム1においては、図5(b)に示すように、周期Ts毎に、制御量の取得動作及び操作量の設定動作が遅延なく実行されることになる。
この他、本実施例の制御システム1では、制御周期の到来したモータが存在する場合、上述したように、入出力処理にて、操作量演算処理タスクを、実行待ちキューに登録するので、この入出力処理の実行後には、制御部10にて、操作量演算処理タスクが実行されることになる。図8は、制御部10のCPU11により実行される操作量演算処理タスクの処理手順を表すフローチャートである。
操作量演算処理タスクを開始すると、制御部10は、まず、入出力処理にて設定された処理開始フラグFG_Aの値を、ローカルフラグFL_Aに設定すると共に、処理開始フラグFG_Bの値を、ローカルフラグFL_Bに設定し、更に、処理開始フラグFG_Cの値を、ローカルフラグFL_Cに設定する(S410)。
その後、S420に移行して、フラグFL_Aが値1に設定されているか否かを判断し、フラグFL_Aが値1に設定されていると判断すると(S420でYes)、モータAの制御周期が到来しているとして、S430に移行し、入出力処理にてエンコーダ信号処理回路23aから読み出されたモータAの回転量X1及び回転速度V1の情報に基づき、目標回転量及び目標回転速度に対応したモータAに対する操作量U1を算出する。そして、算出した操作量U1を、RAM15に記録する(S435)。その後、S440に移行する。
一方、S420で、フラグFL_Aが値ゼロに設定されていると判断すると(S420でNo)、制御部10は、S430,S435の処理を実行することなく、S440に移行する。
また、S440に移行すると、制御部10は、フラグFL_Bが値1に設定されているか否かを判断し、フラグFL_Bが値1に設定されていると判断すると(S440でYes)、モータBの制御周期が到来しているとして、S450に移行し、上記入出力処理でエンコーダ信号処理回路23bから読み出されたモータBの回転量X2及び回転速度V2の情報に基づき、目標回転量及び目標回転速度に対応したモータBに対する操作量U2を算出する。そして、算出した操作量U2を、RAM15に記録する(S455)。その後、S460に移行する。
一方、S440で、フラグFL_Bが値ゼロに設定されていると判断すると(S440でNo)、制御部10は、S450,S455の処理を実行することなく、S460に移
行する。
また、S460に移行すると、制御部10は、フラグFL_Cが値1に設定されているか否かを判断し、フラグFL_Cが値1に設定されていると判断すると(S460でYes)、モータCの制御周期が到来しているとして、S470に移行し、上記入出力処理でエンコーダ信号処理回路23cから読み出されたモータCの回転量X3及び回転速度V3の情報に基づき、目標回転量及び目標回転速度に対応したモータCに対する操作量U3を算出する。そして、算出した操作量U3を、RAM15に記録する(S475)。その後、当該操作量演算処理タスクを終了する。
一方、S460で、フラグFL_Cが値ゼロに設定されていると判断すると(S460でNo)、制御部10は、S470,S475の処理を実行することなく、当該操作量演算処理タスクを終了する。
以上、本実施例の制御システム1の構成及び動作について説明したが、本実施例の制御システム1では、上述したように、割込み信号Irが制御部10に入力されて、入出力処理が制御部10にて実行されたときに、操作量演算処理タスクが、実行待ちキューに登録され、この入出力処理の実行後に、実行される。
具体的に、本実施例では、モータAの制御周期がTs1=3・Tsに設定され、モータBの制御周期がTs2=4・Tsに設定され、モータCの制御周期がTs3=5・Tsに設定されている場合、図5(b)に示すパターンで、制御部10が、入出力処理及び操作量演算処理タスクを実行する。尚、操作量演算処理タスクの実行期間は、図5(b)において、操作量の演算期間T_a,T_b,T_cのひとまとまりに対応する。
このように、本実施例では、制御周期の到来時に、次の制御周期の到来時に設定すべき操作量を予め算出して、RAM15に記録し、割込み信号Irが入力されたとき、優先的に入出力処理を実行して、制御量を取得すると共に、RAM15に記録しておいた操作量をモータ駆動回路25に設定する。従って、この制御システム1によれば、操作量の演算時間の揺動が、制御量の取得動作及び操作量の設定動作の実行時期に影響を与えることがなく、安定的に、一定周期で、制御量の取得動作及び操作量の設定動作を実行することができる。よって、本実施例によれば、各モータA,B,Cを、単一の制御部10にて精度よく制御することができる。
この点について、図9を用いて具体的に説明する。図9(a)は、本実施例の制御システム1における入出力処理の実行期間T_io、操作量U1の演算期間T_a、操作量U2の演算期間T_bの例を、横軸を時間軸として記したものである。一方、図9(b)は、従来の制御システムにおいて、制御部が算出するモータAに対する操作量U1の演算期間T_a、モータBに対する操作量U2の演算期間T_b、及び、制御量の取得期間T_i及び操作量の設定期間T_oの例を、横軸を時間軸として記したものである。
図9(b)に示すように、従来システムでは、割込み信号が入力されると、制御部が、まず、モータAの制御量を取得して(期間T_i)、その後、モータAの操作量を算出し(期間T_a)、ここで算出した操作量をモータ駆動回路25aに設定し(期間T_o)、更に、制御周期の到来したモータが複数ある場合には、次のモータBの制御量を取得し(期間T_i)、その後、モータBの操作量を算出し(期間T_b)、その後、算出した操作量をモータ駆動回路25bに設定する(期間T_o)。
従って、従来システムでは、例えば、モータAについての操作量U1の演算が通常(図9(b)上段)よりも遅れると(図9(b)下段)、操作量U1の設定動作が遅れるばか
りでなく、後続のモータBについての制御量の取得動作及び操作量U2の設定動作までもが遅れ、各モータについての制御量の取得動作及び操作量の設定動作を一定周期Tsで、正確に実行することができない。特に、制御周期が到来したモータが、多数ある場合には、優先順位の低いモータについての制御量の取得動作及び操作量の設定動作の実行時期が、優先順位の高いモータについての操作量演算動作の延長によって、累積的に大きく変化する。従って、優先順位の低いモータについての制御性能は、従来システムの場合、大きく劣化する。
一方、本実施例の制御システム1では、図9(a)に示すように、割込み信号が入力される度、制御量の取得動作及び操作量の設定動作(T_io)を、操作量の演算動作(T_a,T_b)に優先して実行するので、この制御システム1によれば、操作量の演算時間が通常(図9(a)上段)より延びても(図9(a)下段)、制御量の取得動作及び操作量の設定動作の実行周期を、一定に保つことができる。また、制御周期の到来したモータが複数ある場合でも、全モータの操作量の演算動作に先駆けて、入出力処理(T_io)を実行するので、他のモータの演算時間の延長により、各モータの制御量の取得動作及び操作量の設定動作の実行周期が揺動することがない。
従って、本実施例の制御システム1によれば、従来よりも精度よく、各モータの制御量の取得動作及び操作量の設定動作を、周期的に実行することができ、結果として、各モータを高精度に制御することができるのである。
また、本実施例では、操作量U1,U2,U3の算出に、通常より時間がかかり、次の割込み信号の入力時刻までに、操作量演算処理タスクが終了しない場合、実行中の操作量演算処理タスクを中断して、入出力処理を優先的に実行するようにした。従って、本実施例の制御システム1によれば、このような場合でも、操作量の演算時間の延びが、制御量の取得動作及び操作量の設定動作の実行時期に影響を与えることがなく、安定的に、一定周期で、制御量の取得動作及び操作量の設定動作を実行することができる。
図10は、次の割込み信号の入力時刻までに、操作量演算処理タスクが終了しない場合の例を、横軸を時間軸とし、時間軸に沿って各処理の実行期間T_io,T_a,T_b,T_cを示して、記したものである。
本実施例では、このような場合でも、図10下段に示すように、入出力処理を優先して実行することにより、制御量の取得動作及び操作量の設定動作を、時間Tsで周期的に実行する。また、本実施例では、操作量を時間Ts内に算出することができない場合でも、入出力処理の終了後、図10下段に示すように、操作量演算処理タスクを中断地点から再開する。
従って、本実施例の制御システム1によれば、操作量の演算が長引いた場合でも、次回の制御周期の到来時までに、各モータの操作量U1,U2,U3を算出することができ、結果として、各モータA,B,Cを高精度に制御することができる。
尚、図10に示す例では、モータCに対する操作量U3の演算が開始された後、割込み信号が入力されるので、制御部10は、この割込み信号の入力を契機として、操作量演算処理タスクを中断し、入出力処理を実行し終了した後、演算途中の操作量U3の中断した演算ステップから処理を再開して、操作量U3を算出することになる。
また、入出力処理にて、他の操作量演算処理タスクが実行待ちキューに登録された場合、制御部10は、中断した操作量演算処理タスクを終えた後、上記実行待ちキューに登録された他の操作量演算処理タスクを、新たに実行することになる。よって、本実施例によ
れば、時間Ts内に操作量を算出することができない場合であっても、各モータA,B,Cを高精度に制御することができる。
また、本実施例では、上述した手法で、各モータの制御量取得動作及び操作量設定動作を一定周期Tsで実行可能としつつ、当該周期Tsを、各モータの最適な制御周期の最大公約数に設定することで、従来手法よりも、各モータの制御周期を適切に設定することができるようにし、単一の制御部10(CPU11)でも、プログラムにより、高精度にモータ制御を実現できるようにした。従って、本実施例では、安価で、高性能な制御システムを構築することができる。
以上、本発明の実施例について説明したが、本発明のモータ駆動手段は、本実施例において、制御対象のモータA,B,Cの夫々に設けられたモータ駆動回路25に相当し、回転量検出手段は、制御対象のモータA,B,Cの夫々に設けられたエンコーダ21及びエンコーダ信号処理回路23に相当する。また、操作量設定手段は、本実施例において、タイマ27及び制御部10が実行する入出力処理及び操作量演算処理タスクにより実現されている。また、本発明の処理実行周期は、割込み信号Irの入力周期Tsに対応し、処理実行時刻は、割込み信号Irの入力時刻に対応する。また、計時手段は、制御部10が実行する入出力処理のS310の処理により実現され、操作量記憶手段は、RAM15に対応する。
また、本発明は、上記実施例に限定されるものではなく、種々の態様を採ることができる。例えば、上記実施例では、合計3個のモータを制御する制御システム1を例に挙げて説明したが、本発明は、モータが2個又は4個以上の制御システムにも適用することができる。また、上記実施例では、割込み回数CNTが、値M1,M2,M3の最小公倍数となる度に、S330にて、割込み回数CNTをゼロにリセットするようにしたが、上記実施例の制御システム1は、S330の処理を実行しない構成にされても、当然のことながら、構わない。
制御システム1の構成を表すブロック図である。 印字機構100の構成を表す概略断面図である。 印字機構100を駆動するモータ105,115,129の動作例を示した説明図である。 割込み信号Irの入力周期Ts及び各モータの制御周期Ts1,Ts2,Ts3の設定手順を示した説明図である。 制御量の取得及び操作量の設定期間(T_io)並びに各モータA,B,Cに対する操作量の演算期間(T_a,T_b,T_c)を表したタイムチャートである。 制御部10が実行する入出力処理を表すフローチャートである。 制御部10が実行する入出力処理を表すフローチャートである。 操作量演算処理タスクの処理手順を表すフローチャートである。 操作量の演算時間の揺動と、制御量の取得時期及び操作量の設定時期と、の関係を表す説明図である。 割込み信号の入力時刻までに、操作量演算処理タスクが終了しない場合の後処理の例を示した説明図である。 従来のモータ制御方法に関する説明図である。
符号の説明
1…制御システム、10…制御部、11…CPU、13…ROM、15…RAM、21…エンコーダ、23…エンコーダ信号処理回路、25…モータ駆動回路、27…タイマ、100…印字機構、103…キャリッジ、105…CRモータ、113…給紙ローラ、11
5…ACFモータ、123…用紙搬送ローラ、127…排紙ローラ、129…LFモータ

Claims (5)

  1. 複数のモータを制御するモータ制御装置であって、
    前記複数のモータの夫々に対し、
    モータの回転量を検出する回転量検出手段と、
    設定された操作量に対応する操作をモータに加えて、モータを駆動するモータ駆動手段と、
    備えると共に、
    操作量の算出結果を記憶するための操作量記憶手段と、
    予め定められた周期で到来する処理実行時刻が到来する度、前記複数のモータの内、制御周期が到来した各モータの前記モータ駆動手段に対して、操作量を設定する操作量設定手段と、
    を備え、
    前記操作量設定手段は、
    前記処理実行時刻が到来した時点で、
    前記制御周期が到来したモータについて、モータ毎に、対応する前記回転量検出手段から前記回転量についての検出値を取得すると共に、前記制御周期が到来したモータについて、モータ毎に、所定回前に算出された当該モータの操作量を、前記操作量記憶手段から読み出し、前記読み出した操作量を、このモータに対応する前記モータ駆動手段に設定する入出力処理
    を実行し、この入出力処理の実行後、前記制御周期が到来したモータについて、モータ毎に、
    対応する前記回転量検出手段から取得した前記検出値に基づき、このモータに対する操作量を算出し、前記算出した操作量を、前記操作量記憶手段に記憶させる算出記録処理
    を実行するモータ制御装置
    に対して、前記処理実行時刻の到来周期である処理実行周期及び前記各モータの制御周期を設定する方法であって、
    前記複数のモータの内、最適な制御周期が最小のモータの当該制御周期を基準周期として、当該基準周期のN(但し、値Nは2以上の整数である。)分の一の時間間隔を、前記処理実行周期に設定し、前記最適な制御周期が最小のモータの当該制御周期を、前記設定した処理実行周期のN倍に設定すると共に、前記複数のモータの内、前記最適な制御周期が最小のモータ以外の各モータの制御周期を、前記設定した処理実行周期のM倍(但し、値Mは、値N以上の整数である。)に設定することを特徴とする設定方法。
  2. 複数のモータを制御するモータ制御装置であって、
    前記複数のモータの夫々に対し、
    モータの回転量を検出する回転量検出手段と、
    設定された操作量に対応する操作をモータに加えて、モータを駆動するモータ駆動手段と、
    備えると共に、
    操作量の算出結果を記憶するための操作量記憶手段と、
    予め定められた周期で到来する処理実行時刻が到来する度、前記複数のモータの内、制御周期が到来した各モータの前記モータ駆動手段に対して、操作量を設定する操作量設定手段と、
    を備え、
    前記操作量設定手段は、
    前記処理実行時刻が到来した時点で、
    前記制御周期が到来したモータについて、モータ毎に、対応する前記回転量検出手段から前記回転量についての検出値を取得すると共に、前記制御周期が到来したモータについて、モータ毎に、所定回前に算出された当該モータの操作量を、前記操作量記憶手段から読み出し、前記読み出した操作量を、このモータに対応する前記モータ駆動手段に設定する入出力処理
    を実行し、この入出力処理の実行後、前記制御周期が到来したモータについて、モータ毎に、
    対応する前記回転量検出手段から取得した前記検出値に基づき、このモータに対する操作量を算出し、前記算出した操作量を、前記操作量記憶手段に記憶させる算出記録処理
    を実行する構成にされ、
    前記処理実行時刻の到来周期は、前記複数のモータの内、制御周期が最小のモータの当該制御周期とは異なる値であって、前記各モータに対し設定された制御周期の公約数に、定められていることを特徴とするモータ制御装置。
  3. 基点からの経過時間を計測する計時手段
    を備え、
    前記操作量設定手段は、前記処理実行時刻が到来する度、前記複数のモータの夫々について、前記計時手段の計測値をモータの制御周期で除算して除算後の余りを算出し、当該余りが規定値であるか否かを判断することによって、制御周期が到来したモータを検出する構成にされていることを特徴とする請求項2記載のモータ制御装置。
  4. 前記操作量設定手段は、前記算出記録処理を、次の前記処理実行時刻の到来時までに終えることができなかった場合、前記次の処理実行時刻の到来時点で、この算出記録処理を中断すると共に、前記処理実行時刻の到来を契機として前記入出力処理を実行した後、前記中断された前記算出記録処理を再開する構成にされていることを特徴とする請求項2又は請求項3記載のモータ制御装置。
  5. マイクロコンピュータと、
    前記操作量設定手段としての機能を、前記マイクロコンピュータに実現させるためのプログラムと、
    を備え、
    前記操作量設定手段としての機能は、当該モータ制御装置が備える単一の前記マイクロコンピュータが、前記プログラムを実行することにより、実現されることを特徴とする請求項2〜請求項4のいずれかに記載のモータ制御装置。
JP2007094722A 2007-03-30 2007-03-30 設定方法及びモータ制御装置 Expired - Fee Related JP4453712B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007094722A JP4453712B2 (ja) 2007-03-30 2007-03-30 設定方法及びモータ制御装置
US12/055,278 US8026678B2 (en) 2007-03-30 2008-03-25 Motor control device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007094722A JP4453712B2 (ja) 2007-03-30 2007-03-30 設定方法及びモータ制御装置

Publications (2)

Publication Number Publication Date
JP2008253110A JP2008253110A (ja) 2008-10-16
JP4453712B2 true JP4453712B2 (ja) 2010-04-21

Family

ID=39977402

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007094722A Expired - Fee Related JP4453712B2 (ja) 2007-03-30 2007-03-30 設定方法及びモータ制御装置

Country Status (1)

Country Link
JP (1) JP4453712B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5304815B2 (ja) * 2011-02-28 2013-10-02 株式会社デンソー マイクロコンピュータ
JP5748126B2 (ja) * 2011-09-13 2015-07-15 富士電機株式会社 同期制御システム

Also Published As

Publication number Publication date
JP2008253110A (ja) 2008-10-16

Similar Documents

Publication Publication Date Title
JP4886425B2 (ja) 搬送装置
JP4453712B2 (ja) 設定方法及びモータ制御装置
JP2006273580A (ja) 搬送制御装置及び画像形成装置
JP4453713B2 (ja) モータ制御装置
US7135831B2 (en) Method and device for controlling motor
US8026678B2 (en) Motor control device
JP4093191B2 (ja) モータ制御装置およびプリンタ
JP2017068850A (ja) 搬送システム、シート処理システム、及び制御デバイス
EP2767403B1 (en) Transport Device And Inkjet Printing Apparatus Having The Same
JP2006109544A (ja) 回転駆動機の評価装置及び方法、補正操作量設定装置及び方法、制御装置及び方法、並びにプログラム
JP2011041375A (ja) モータ制御装置及び画像形成装置
JP4781946B2 (ja) プリンタ装置及びその制御方法
JP2006338367A (ja) 電子機器及びモータの制御方法
CN103660626A (zh) 打印设备和控制方法
JP2001078476A (ja) Dcモータ制御装置及び制御方法
JP5061547B2 (ja) モータ制御装置、モータ制御方法、及び、印刷装置
JP5772018B2 (ja) 回転制御装置
JP3945362B2 (ja) Dcモータを備えた印刷装置
JP5845693B2 (ja) 搬送装置及び画像形成装置
JP5387080B2 (ja) 画像処理装置、画像処理方法、及び画像処理プログラム
JP2015194401A (ja) 制御システム
JP2021041659A (ja) 駆動システム
JP2005111712A (ja) プリンタ
JP2023169678A (ja) 電子機器
JP2012218360A (ja) インクジェット記録装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090330

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090903

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090915

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091116

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

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

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

Free format text: PAYMENT UNTIL: 20130212

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4453712

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

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees