JP2004040839A - Motor control method and motor controller - Google Patents

Motor control method and motor controller Download PDF

Info

Publication number
JP2004040839A
JP2004040839A JP2002190106A JP2002190106A JP2004040839A JP 2004040839 A JP2004040839 A JP 2004040839A JP 2002190106 A JP2002190106 A JP 2002190106A JP 2002190106 A JP2002190106 A JP 2002190106A JP 2004040839 A JP2004040839 A JP 2004040839A
Authority
JP
Japan
Prior art keywords
speed
control
differential
motor
amount
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
JP2002190106A
Other languages
Japanese (ja)
Other versions
JP3690374B2 (en
Inventor
Shigeki Akiyama
秋山 茂樹
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 JP2002190106A priority Critical patent/JP3690374B2/en
Priority to US10/383,558 priority patent/US6812668B2/en
Publication of JP2004040839A publication Critical patent/JP2004040839A/en
Application granted granted Critical
Publication of JP3690374B2 publication Critical patent/JP3690374B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Character Spaces And Line Spaces In Printers (AREA)
  • Control Of Electric Motors In General (AREA)
  • Control Of Direct Current Motors (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a motor control method and a motor controller which can suppress the influence of a momentary disturbance even in the case of detecting a travelling speed with discrete timing and also can suppress inappropriate motor control. <P>SOLUTION: In a carriage controller 1, when setting a rotational speed control signal S3 using a proportional control value, an integral control value, and a differential control value computed by PID control by a feedback processor 70; an output correcting processor 19 corrects a differential control value to 0 after the lapse of a differential quantity reflecting time. As a result, even in the case that a difference arises between the detected speed and the actual travelling speed, it can prevent the rotational speed control signal S3 from being set to a value deviated largely from a value suitable for the actual velocity of movement, and can prevent improper motor control such as overshoot, etc. from being performed. <P>COPYRIGHT: (C)2004,JPO

Description

【0001】
【発明の属する技術分野】
本発明は、駆動対象物の運動速度が目標速度となるように、駆動対象物を駆動するモータの回転速度をフィードバック制御するモータ制御方法及びモータ制御装置に関する。
【0002】
【従来の技術】
従来より、印字ヘッドが移動しながら印刷用紙へ印字を行う形態のプリンタ(例えばインクジェットプリンタ)では、印字ヘッドを搬送するキャリッジを、キャリッジ(CR)モータにより駆動している。また、正確な印字位置へ印字を行うには、印字範囲内でのキャリッジの移動速度を適切な速度に制御する必要があり、そのために、エンコーダ等を用いてキャリッジの移動速度を検出し、その検出した移動速度が予め設定された目標速度と一致するように、PID制御などの制御アルゴリズムを用いて、CRモータに供給する駆動電流を増減して、モータの発生トルク、即ちキャリッジの移動に必要な駆動力を制御している。
【0003】
なお、PID制御において、検出した移動速度または速度偏差(検出した移動速度と目標速度との差分)に基づき算出される制御量(比例制御量、積分制御量、微分制御量)のうち微分制御量は、過渡的(瞬時的)な外乱に対する影響を抑えてモータを制御するために算出される制御量である。
【0004】
【発明が解決しようとする課題】
ところで、キャリッジの移動速度の検出が、連続的ではなく、離散的な検出タイミングで実行される場合には、制御量の算出に用いられる移動速度は、次の検出タイミングに到達するまで更新されない。つまり、実際の移動速度は変化しているにもかかわらず、制御量の算出に用いられる移動速度は過去の値となるために、実際の移動速度に応じたモータ制御が実行できず、不適切な制御が行われる虞がある。
【0005】
具体的には、外乱(移動速度の変動)を連続系(アナログ系)で捉えた微分応答(微分制御量)は、図14(a)に示すように、外乱の変化発生時に大きく変動する波形を示すが、外乱を離散系(デジタル系)で捉えた微分応答は、図14(b)に示すように、次の検出タイミングに到達するまでは、同一値を示すことになる。
【0006】
特に、検出タイミングの周期が長くなるほど、不適切な制御となる可能性が高くなり、移動速度が目標速度を大きく超過するオーバーシュート現象や、目標速度を中心に移動速度が振動的に変化する振動現象等が発生する虞がある。なお、図14(b)では、微分応答1よりも微分応答2の方が検出タイミングの周期が長く、微分応答2よりも微分応答3の方が検出タイミングの周期が長い場合の波形を示している。
【0007】
これに対し、検出タイミングの周期を短く設定し、実際の移動速度とは異なる不適切な移動速度に基づき制御量が算出される時間を短縮することで、不適切なモータ制御の発生確率を低減することはできる。
しかし、検出タイミング周期の短縮には限界があるため、不適切なモータ制御の発生を十分には抑制することができない。また、検出タイミング周期を短縮した場合であっても、瞬時的な外乱に応じて算出された微分制御量に基づき制御が行われたモータの実際の移動速度は、検出タイミング周期よりも短い時間で変化するため、次の検出タイミングに至る前に、制御量が不適切な値となる可能性が大きい。
【0008】
そこで、本発明は、上記問題に鑑みなされたものであり、移動速度の検出を離散的なタイミングで行う場合であっても、瞬時的な外乱の影響を抑制できると共に、不適切なモータ制御となるのを抑制できるモータ制御方法およびモータ制御装置を提供することを目的とする。
【0009】
【課題を解決するための手段】
上記目的を達成するためになされた請求項1記載の発明方法は、モータで駆動する駆動対象物の運動速度を、離散的な速度検出タイミングで検出し、検出タイミングで検出された検出速度と外部からの指令により設定された目標速度との偏差である速度偏差を算出し、検出速度または速度偏差の比例値に応じた比例制御量と速度偏差の積分値に応じた積分制御量とを含む速度制御量を算出し、検出速度または速度偏差の微分値、あるいは、検出速度または速度偏差の単位時間あたりの変化量に応じた微分制御量を算出し、速度制御量および微分制御量を用いて、モータを目標速度で駆動するための制御指令値を設定し、制御指令値に基づき、駆動対象物の運動速度が目標速度となるようにモータの回転速度をフィードバック制御するモータ制御方法であって、速度検出タイミングで検出速度が検出されて、この検出速度に基づき微分制御量を更新する時点を基準として、運動速度の検出周期よりも短い微分量反映時間が経過した後に、制御指令値の設定に用いる微分制御量を、更新した微分制御量よりも小さい値に補正することを特徴とする。
【0010】
このモータ制御方法では、制御指令値を設定するにあたり、微分制御量の更新時点を基準として微分量反映時間が経過する時点までは、更新(算出)された微分制御量をそのまま用い、微分量反映時間の経過後は、小さい値に補正された補正後の微分制御量を用いている。つまり、このモータ制御方法では、制御指令値の設定処理における微分制御量の反映割合を常に一定にするのではなく、微分量反映時間の経過後は、微分制御量の反映割合を低下させている。
【0011】
すなわち、このモータ制御方法によれば、微分量反映時間においては、算出された微分制御量を用いて制御指令値を設定することから、瞬時的な外乱(ノイズ)などが発生した場合においても運動速度が速やかに目標速度に近づくように、安定したモータ制御を行うことができる。
【0012】
なお、微分量反映時間における実際の運動速度は、制御指令値に基づくモータ制御により変動するため、例えば、微分量反映時間の経過時点における実際の運動速度は、最新の速度検出タイミング時点で検出された検出速度とは異なる値(目標速度に近い値)となる。このため、次の速度検出タイミングに到達する前の制御指令値は、実際の運動速度に基づかない不適切な値となることから、制御指令値をそのまま用いてモータ制御を行うと、実際の運動速度が目標速度から大きく逸脱することがある。
【0013】
これに対し、本発明のモータ制御方法では、微分量反映時間の経過後は、微分制御量を小さい値に補正して制御指令値を設定するため、制御指令値が、実際の運動速度に適した値から大幅に逸脱した値に設定されるのを防止できる。このため、速度検出タイミングが離散的に設定されている場合においても、次の速度検出タイミングまたは次の微分制御量の更新(算出)タイミングに到達するまでに制御指令値が不適切な値に設定されるのを抑制できる。
【0014】
よって、本発明方法(請求項1)によれば、少なくとも微分量反映時間は、算出された微分制御量を用いて設定された制御指令値に基づきモータ制御を行うことから、瞬時的な外乱(ノイズ)等の発生時においても安定したモータ制御を行うことができる。また、微分量反映時間の経過後は、小さい値に補正された微分制御量を用いて制御指令値を設定するため、次の速度検出タイミングまたは次の微分制御量の算出タイミングに到達するまでに制御指令値が不適切な値に設定されるのを抑制でき、オーバーシュートなどの不適切なモータ制御が行われるのを防止できる。
【0015】
なお、瞬時的な外乱の影響が反映された制御指令値によるモータ制御が行われた後、実際の運動速度が目標速度に到達するまでの制御応答時間が長時間となる特性を有する装置に対して、本発明方法を適用する場合には、急峻に微分制御量を小さい値に補正すると、実際の運動速度を目標速度に十分に近づけることができず、適切なモータ制御ができなくなる虞がある。
【0016】
そこで、制御指令値の設定に用いる微分制御量を補正するにあたっては、例えば、請求項2に記載のように、時間経過に応じて微分制御量を減少補正するとよい。
このように微分制御量を補正することで、微分量反映時間が経過した後においては、制御指令値における微分制御量の反映割合が、時間経過に伴い徐々に低下することになる。これにより、実際の運動速度が目標速度に到達するまでの制御応答時間が長時間となる場合においても、制御指令値を適切な値に設定することができ、モータ制御が不適切となることを防止できる。
【0017】
また、この他の微分制御量の補正方法としては、例えば、請求項3に記載のように、微分制御量を一定値に補正する補正方法を適用してもよい。
このように微分制御量を補正することで、微分量反映時間が経過した後、制御指令値における微分制御量の反映割合を急峻に低下させることができる。これにより、瞬時的な外乱の影響が反映された制御指令値によるモータ制御が行われた後、実際の運動速度が目標速度に到達するまでの制御応答時間が短い場合における制御指令値を、適切な値に設定することができる。
【0018】
例えば、短い制御応答時間で実際の運動速度が目標速度に略等しくなるようなモータ制御が可能な場合には、補正後の微分制御量を0に設定するとよく、あるいは、短い制御応答時間で実際の運動速度が目標速度に近づくものの若干の誤差が残るような制御となる場合には、補正後の微分制御量を、算出された微分制御量に対する一定割合値(例えば、20%値など)とするとよい。
【0019】
ところで、微分制御量の算出タイミングは、任意に設定することができ、例えば、速度検出タイミングに応じて設定することが可能である。しかし、速度検出タイミングの周期が、駆動対象物の実際の運動速度に応じて変動する場合には、微分制御量の算出タイミングも実際の運動速度に応じて変動することになる。すると、制御指令値の更新時期が運動速度に依存して変動することになり、特に更新周期が長くなる場合には、実際の運動速度に適さない不適切な制御指令値による制御期間が長くなり、安定したモータ制御が実現できない場合がある。
【0020】
そこで、上述(請求項1から請求項3のいずれか)の発明方法においては、請求項4に記載のように、一定周期毎に微分制御量を算出するとよい。
つまり、微分制御量の算出タイミングの周期を、運動速度に応じて変動させるのではなく、一定周期に設定することで、制御指令値の更新時期を一定周期毎に設定することができ、運動速度の変動に拘わらず、安定したモータ制御を実現することができる。
【0021】
よって、本発明方法(請求項4)によれば、微分制御量の算出タイミングを一定周期毎に設定することで、移動速度の検出タイミングが一定周期毎であるか否かに拘わらず、安定したモータ制御を実現することができる。
次に、PWM制御(パルス幅制御)によりモータ制御を行う場合、所定のPWM制御周期毎にPWM制御指令信号を出力することから、PWM制御周期が経過するまでは、同一のPWM制御指令信号に基づきモータ制御が実行される。このため、PWM制御周期の途中で微分制御量を補正したとしても、そのPWM制御周期が経過するまでは、補正後の微分制御量が反映されたPWM制御指令信号を出力できず、速やかなモータ制御を実現できない虞がある。特に、微分量反映時間がPWM制御周期よりも短い時間に設定されていると、常に、PWM制御周期の途中で微分制御量が補正されることになる。
【0022】
そこで、請求項1から請求項4のいずれかに記載のモータ制御方法は、請求項5に記載のように、制御指令値に基づき、モータを駆動制御するためのPWM制御指令信号を生成し、所定のPWM制御周期毎にPWM制御指令信号を出力すると共に、PWM制御周期よりも長い時間が設定された微分量反映時間の経過後に、微分制御量を補正するとよい。
【0023】
つまり、微分量反映時間をPWM制御周期よりも長く設定することで、微分制御量の補正時期が常にPWM制御周期の途中となるのを避けることができ、モータ制御の応答速度が遅くなるのを防止できる。
特に、微分制御量の補正時期とPWM制御指令信号の更新時期とが略同時期となるように、微分量反映時間をPWM制御周期の略整数倍に設定することで、微分制御量の補正時期からPWM制御指令信号の更新時期までの間に、無駄な時間が生じるのを防止でき、モータ制御の応答性向上を図ることができる。
【0024】
よって、本発明方法(請求項5)によれば、速度検出タイミングが離散的であり、かつ、PWM制御(パルス幅制御)によりモータ制御を行う場合においても、モータ制御の応答速度が遅くなるのを防止でき、不適切なモータ制御が行われるのを抑制することができる。
【0025】
ところで、瞬時的な外乱の発生による移動速度の変動開始時点から、モータ制御による目標速度への収束までの所要時間は、種々の要因(例えば 目標速度など)によって異なることが知られている。このため、微分量反映時間は、目標速度によって適切な値が異なることになり、目標速度が変動する用途において、微分量反映時間が固定値に設定される場合には、適切なモータ制御ができない場合がある。
【0026】
そこで、上述(請求項1から請求項5のいずれか)の発明方法は、請求項6に記載のように、目標速度に応じて設定された微分量反映時間の経過後に、微分制御量を補正するとよい。
つまり、目標速度に応じて微分量反映時間を設定することで、目標速度が変動する用途においても、微分量反映時間を適切な値に設定することができ、外乱の発生後における移動速度が目標速度に近づくように、制御指令値の設定における微分制御量の反映割合を適切に変化させることができる。
【0027】
よって、本発明方法(請求項6)によれば、目標速度が変動する用途においても、制御指令値を適切な値に設定できることから、モータ制御が不適切となるのを防止できる。
次に、上記目的を達成するためになされた請求項7記載の発明は、モータで駆動する駆動対象物の運動速度を、離散的な速度検出タイミングで検出する速度検出手段と、速度検出手段にて検出された検出速度と外部からの指令により設定された目標速度との偏差である速度偏差を算出する速度偏差算出手段と、検出速度または速度偏差の比例値に応じた比例制御量と速度偏差の積分値に応じた積分制御量とを含む速度制御量を算出する制御量演算手段と、検出速度または速度偏差の微分値、あるいは、検出速度または速度偏差の単位時間あたりの変化量に応じた微分制御量を算出する微分演算手段と、速度制御量および微分制御量を用いて、モータを目標速度で駆動するための制御指令値を設定する制御指令値設定手段と、を備えて、制御指令値に基づき、駆動対象物の運動速度が目標速度となるようにモータの回転速度をフィードバック制御するモータ制御装置であって、速度検出タイミングで検出速度が検出されて、この検出速度に基づき微分演算手段が微分制御量を更新する時点を基準として、速度検出手段による運動速度の検出周期よりも短い微分量反映時間が経過した後に、制御指令値設定手段が制御指令値の設定に用いる微分制御量を、微分演算手段が更新した微分制御量よりも小さい値に補正する微分制御量補正手段を備えたことを特徴とする。
【0028】
このモータ制御装置は、請求項1に記載のモータ制御方法を装置として実現したものであり、微分制御量補正手段が、微分量反映時間の経過後に、制御指令値の設定に用いる微分制御量を、微分演算手段が算出した微分制御量よりも小さい値に補正している。
【0029】
つまり、このモータ制御装置では、制御指令値の設定処理における微分制御量の反映割合を常に一定にするのではなく、微分制御量の更新時点から微分量反映時間の経過時点までは、微分演算手段により更新された微分制御量をそのまま用い、微分量反映時間の経過後は、微分制御量の反映割合を低下させている。
【0030】
よって、本発明(請求項7)のモータ制御装置によれば、請求項1の発明方法と同様に、少なくとも微分量反映時間は、算出された微分制御量を用いて設定された制御指令値に基づきモータ制御を行うことから、瞬時的な外乱(ノイズ)等の発生時においても安定したモータ制御を行うことができる。また、微分量反映時間の経過後は、小さい値に補正された微分制御量を用いて制御指令値を設定するため、次の速度検出タイミングまたは次の微分制御量の算出タイミングに到達するまでに制御指令値が不適切な値に設定されるのを抑制でき、オーバーシュートなどの不適切なモータ制御が行われるのを防止できる。
【0031】
なお、上述(請求項7)のモータ制御装置は、例えば、請求項8に記載のように、微分制御量補正手段が、制御指令値設定手段にて制御指令値の設定に用いる微分制御量を補正するにあたり、時間経過に応じて微分制御量を減少補正するとよい。
【0032】
このモータ制御装置は、請求項2に記載の発明方法を装置として実現したものであり、このように微分制御量を補正することで、微分量反映時間が経過した後においては、制御指令値における微分制御量の反映割合が、時間経過に伴い徐々に低下することになる。
【0033】
よって、本発明(請求項8)によれば、請求項2に記載の発明方法と同様に、実際の運動速度が目標速度に到達するまでの制御応答時間が長時間となる場合においても、制御指令値を適切な値に設定することができ、モータ制御が不適切となることを防止できる。
【0034】
また、上述(請求項7)のモータ制御装置は、請求項9に記載のように、微分制御量補正手段が、制御指令値設定手段にて制御指令値の設定に用いる微分制御量を補正するにあたり、微分制御量を一定値に補正するとよい。
このモータ制御装置は、請求項3に記載の発明方法を装置として実現したものであり、このように微分制御量を補正することで、微分量反映時間が経過した後、制御指令値における微分制御量の反映割合を急峻に低下させることができる。
【0035】
よって、本発明(請求項9)によれば、請求項3に記載の発明方法と同様に、瞬時的な外乱の影響が反映された制御指令値によるモータ制御が行われた後、実際の運動速度が目標速度に到達するまでの制御応答時間が短い場合における制御指令値を、適切な値に設定することができる。
【0036】
例えば、短い制御応答時間で実際の運動速度が目標速度に略等しくなるようなモータ制御が可能な場合には、補正後の微分制御量を0に設定するとよく、あるいは、短い制御応答時間で実際の運動速度が目標速度に近づくものの若干の誤差が残るような制御となる場合には、補正後の微分制御量を、算出された微分制御量に対する一定割合値(例えば、20%値など)とするとよい。
【0037】
次に、上述(請求項7から請求項9のいずれか)のモータ制御装置は、請求項10に記載のように、微分演算手段が、一定周期毎に微分制御量を算出するとよい。
このモータ制御装置は、請求項4に記載の発明方法を装置として実現したものであり、微分制御量の算出タイミングの周期を、運動速度に応じて変動させるのではなく、一定周期に設定することで、制御指令値の更新時期を一定周期毎に設定することができ、運動速度の変動に拘わらず、安定したモータ制御を実現することができる。
【0038】
よって、本発明(請求項10)によれば、請求項4に記載の発明方法と同様に、微分制御量の算出タイミングを一定周期毎に設定することで、移動速度の検出タイミングが一定周期毎であるか否かに拘わらず、安定したモータ制御を実現することができる。
【0039】
また、上述(請求項7から請求項10のいずれか)のモータ制御装置は、請求項11に記載のように、制御指令値に基づき、モータを駆動制御するためのPWM制御指令信号を生成し、所定のPWM制御周期毎にPWM制御指令信号を出力する指令信号出力手段を備え、微分量反映時間は、PWM制御周期よりも長い時間が設定されているとよい。
【0040】
このモータ制御装置は、請求項5に記載の発明方法を装置として実現したものであり、微分量反映時間をPWM制御周期よりも長く設定することで、微分制御量の補正時期が常にPWM制御周期の途中となるのを避けることができ、モータ制御の応答速度が遅くなるのを防止できる。特に、微分制御量の補正時期とPWM制御指令信号の更新時期とが略同時期となるように、微分量反映時間をPWM制御周期の略整数倍に設定することで、微分制御量の補正時期からPWM制御指令信号の更新時期までの間に、無駄な時間が生じるのを防止でき、モータ制御の応答性向上を図ることができる。
【0041】
よって、本発明(請求項11)によれば、請求項5の発明方法と同様に、速度検出タイミングが離散的であり、かつ、PWM制御(パルス幅制御)によりモータ制御を行う場合においても、モータ制御の応答速度が遅くなるのを防止でき、不適切なモータ制御が行われるのを抑制することができる。
【0042】
次に、上述(請求項7から請求項11のいずれか)のモータ制御装置は、請求項12に記載のように、目標速度に応じて、微分量反映時間を設定する反映時間設定手段を備えるとよい。
このモータ制御装置は、請求項6に記載の発明方法を装置として実現したものであり、目標速度に応じて微分量反映時間を設定することで、目標速度が変動する用途においても、微分量反映時間を適切な値に設定することができ、外乱の発生後における移動速度が目標速度に近づくように、制御指令値の設定における微分制御量の反映割合を適切に変化させることができる。
【0043】
よって、本発明(請求項12)によれば、請求項6に記載の発明方法と同様に、目標速度が変動する用途においても、制御指令値を適切な値に設定することができることから、モータ制御が不適切となるのを防止できる。
【0044】
【発明の実施の形態】
以下に本発明の実施形態を図面と共に説明する。
まず、図1に、本発明が適用されたインクジェットプリンタ(以下単に「プリンタ」という)におけるキャリッジ駆動機構の構造図を示す。
【0045】
図1に示すように、プリンタは、押えローラ32などにより搬送されてくる印刷用紙33の幅方向に設置されたガイド軸34を備えており、このガイド軸34には、ノズルから印刷用紙33に向けてインクを吐出させて印字を行う印字ヘッド30を搭載したキャリッジ31が挿通されている。キャリッジ31は、ガイド軸34に沿って設けられた無端ベルト37に連結され、その無端ベルト37は、ガイド軸34の一端に設置されたCRモータ35のプーリ36と、ガイド軸34の他端に設置されたアイドルプーリ(図示せず)との間に掛け止められている。
【0046】
つまり、キャリッジ31は、無端ベルト37を介して伝達されるCRモータ35の駆動力により、ガイド軸34に沿って印刷用紙33の幅方向に往復運動するように構成されている。
また、ガイド軸34の下方には、一定間隔(例えば、1/150inch=約0.17mm)ごとに一定幅のスリットを形成したタイミングスリット38がガイド軸34に沿って設置されている。また、キャリッジ31の下部には、タイミングスリット38を挟んで互いに対面する少なくとも一つの発光素子と二つ以上の受光素子とを有するフォトインタラプタからなる検出部を備えている。なお、このフォトインタラプタからなる検出部は、上述のタイミングスリット38と共に、後述するリニアエンコーダ39(図2参照)を構成している。
【0047】
なお、リニアエンコーダ39を構成する検出部は、図3のタイミング図に示すような互いに略1/4周期ずれた2種類のエンコーダA相信号ENC1,エンコーダB相信号ENC2を出力する。そして、キャリッジ31の移動方向がホームポジション(図1の左端位置)からアイドルプーリ側に向かう順方向である場合は、エンコーダA相信号ENC1がエンコーダB相信号ENC2に対して位相が略1/4周期進み、アイドルプーリ側からホームポジションに向かう逆方向である場合は、エンコーダA相信号ENC1がエンコーダB相信号ENC2に対して位相が略1/4周期遅れるようにされている。
【0048】
図2は、リニアエンコーダ39からのエンコーダA相信号ENC1,エンコーダB相信号ENC2に基づいて、CRモータ35を駆動制御することによりキャリッジ31の移動速度(運動速度)を制御するキャリッジ制御装置1の構成を表すブロック図である。
【0049】
図2に示すように、キャリッジ制御装置1は、当該プリンタの制御を統括するCPU2と、CRモータ35の回転速度や回転方向等を制御するPWM信号S6を生成するASIC(Application  Specific  Integrated  Circuit)3と、ASIC3にて生成されたPWM信号S6に基づいてCRモータ35を駆動するモータ駆動回路4(CR駆動回路)とから構成されている。
【0050】
なお、モータ駆動回路4の詳細は、図6に示す通りであり、4基のスイッチング素子SW1〜SW4によりHブリッジ回路が構成されたものである。モータ駆動回路4は、このHブリッジ回路の各スイッチング素子SW1〜SW4を、ASIC3内のPWM生成部8にて生成されたPWM信号S6に基づいてオン・オフ制御することにより、CRモータ35を駆動する。尚、各スイッチング素子SW1〜SW4は、例えば、バイポーラトランジスタやFET等の半導体スイッチング素子で構成することができる。
【0051】
また、ASIC3の内部には、CRモータ35の制御に用いる各種パラメータを格納するレジスタ群5と、リニアエンコーダ39からエンコーダA相信号ENC1,エンコーダB相信号ENC2を取り込み、キャリッジ31の位置や移動速度を算出するキャリッジ測位部6と、キャリッジ測位部6からのデータに基づいて、CRモータ35の回転速度を制御するためのモータ制御信号S5を生成するモータ制御部7と、モータ制御部7が生成するモータ制御信号S5に応じたデューティ比のPWM信号S6を生成するPWM生成部8と、エンコーダA相信号ENC1およびエンコーダB相信号ENC2よりも十分に周期が短いクロック信号を生成し、そのクロック信号を当該ASIC3の内部の各部に供給するクロック生成部9と、を備えている。
【0052】
ここで、レジスタ群5は、CRモータ35を起動状態に設定するための起動設定レジスタ50と、装置の起動直後には検出できないパラメータに数値(初期値)を設定するための制御量初期値設定レジスタ56と、キャリッジ31の減速を開始する減速開始位置(印字終了位置と同じ)を設定するための減速開始位置設定レジスタ51と、CPUに対して割込信号を出力する割込発生位置を設定するための割込発生位置設定レジスタ57と、キャリッジ31の移動時における目標速度を設定するための目標速度設定レジスタ53と、CRモータ35の回転速度(トルク)を制御する際のフィードバック演算に用いる微分ゲイン、積分ゲイン、比例ゲインを設定するためのゲイン設定レジスタ54と、算出した微分制御量を回転制御信号の設定に用いる微分量反映時間を設定するための微分ゲイン出力結果反映時間設定レジスタ58と、を備えて構成されている。
【0053】
なお、微分ゲイン出力結果反映時間設定レジスタ58に格納される微分量反映時間は、PWM生成部8がPWM信号S6を出力する周期(PWM制御周期)の整数倍(例えば、10倍)の時間が設定される。
次に、キャリッジ測位部6は、リニアエンコーダ39からのエンコーダA相信号ENC1,エンコーダB相信号ENC2に基づき、エンコーダA相信号ENC1の各周期の開始/終了を表すエッジ検出信号(ここではエンコーダB相信号ENC2がローレベルの時におけるエンコーダA相信号ENC1のエッジ。図3参照。)、およびCRモータ35の回転方向(エッジ検出信号がエンコーダA相信号ENC1の立ち上がりエッジであれば順方向、立ち下がりエッジであれば逆方向)を検出するエッジ検出部60と、エッジ検出部60が検出したCRモータ35の回転方向、ひいてはキャリッジ31の移動方向が、順方向の時にはエッジ検出信号に従ってカウントアップし、逆方向の時にはエッジ検出信号に従ってカウントダウンすることにより、キャリッジ31がホームポジションから何番目のスリットに位置しているのかを検出する位置カウンタ61と、を備えている。つまり、減速開始位置設定レジスタ51に設定される減速開始位置等のキャリッジ31の位置は、位置カウンタ61のカウント値(図3に示すエンコーダエッジカウント値)によって表される。
【0054】
また、キャリッジ測位部6は、位置カウンタ61のエンコーダエッジカウント値と減速開始位置設定レジスタ51の設定値とを比較して、キャリッジ31が減速開始位置に達したか否かを判断し、キャリッジ31が減速開始位置に達した時には制御切替信号S1を出力すると共に、CPU2に対して停止割込み信号S2を出力する比較処理部62と、エッジ検出部60からのエッジ検出信号の発生間隔をクロック信号によりエンコーダ間隔時間Cn(図3参照)をカウントする周期カウンタ63と、タイミングスリット38のスリット間の距離(1/150inch)とエンコーダA相信号ENC1の前回周期で周期カウンタ63がカウントした値の保持値Cn−1 とから特定されるエンコーダキャプチャ時間Tn (=Cn−1 ×クロック周期。図3参照。)とに基づいて、キャリッジ31の移動速度Vn(図3参照)を算出する速度変換部64とを備えている。
【0055】
次に、モータ制御部7は、目標速度設定レジスタ53,ゲイン設定レジスタ54,微分ゲイン出力結果反映時間設定レジスタ58の設定値に基づき、速度変換部64が算出したキャリッジ31の移動速度(以下、検出速度ともいう)が、目標速度設定レジスタ53に設定された目標速度と一致するようにCRモータ35の回転速度を制御するための回転速度制御信号S3を生成するフィードバック演算処理部70と、CRモータ35の回転速度を減速させるための減速制御信号S4を生成する減速制御部71と、比較処理部62からの制御切替信号S1が入力されない時にはフィードバック演算処理部70が生成する回転速度制御信号S3を、制御切替信号S1の入力時には減速制御部71が生成する減速制御信号S4を、モータ制御信号S5としてPWM生成部8に供給する制御信号セレクタ72と、から構成されている。
【0056】
次に、CPU2が実行するCR走査処理の内容を、図4に示すフローチャートに沿って説明する。
本処理が開始されると、図4に示すように、まず、ASIC3のレジスタ群5を構成する各レジスタに、目標速度、初期制御量、減速開始位置、微分ゲイン、積分ゲイン、比例ゲイン、微分量反映時間を設定したのち(S110)、起動設定レジスタ50への書込を行うことにより、ASIC3の各部を起動する(S120)。そして、S110にて各レジスタに設定された内容に従って駆動されたキャリッジ31が減速制御開始位置に到達することにより、比較処理部62から停止割込み信号S2の入力があると(S130)、本処理を終了する。
【0057】
このように構成されたキャリッジ制御装置1では、CPU2がレジスタ群5の設定を行ってASIC3を起動すると、キャリッジ31が減速開始位置設定レジスタ51に設定された減速開始位置に到達するまでは、PWM生成部8へのモータ制御信号S5として、フィードバック演算処理部70からの回転速度制御信号S3が供給される。これにより、CRモータ35の回転速度(トルク)は、キャリッジ31の移動速度が目標速度設定レジスタ53に設定された目標速度に追従するように制御される。その結果、キャリッジ31は、印字開始位置に到達するまでの加速区間では、その移動速度が目標速度に達するように加速され、その後の減速開始位置までの定速区間では一定の目標速度で移動する。
【0058】
その後、キャリッジ31が減速開始位置に到達すると、CPU2に対して停止割込み信号S2が出力されると共に、PWM生成部8に供給されるモータ制御信号S5が回転速度制御信号S3から減速制御信号S4に切り替わる。これにより、CRモータ35は、キャリッジ31の移動によって発生する回転力を電気に変換する発電機として動作するように設定され、その結果、キャリッジ31は、減速開始位置を越えた減速区間では速やかに減速され停止に到る。
【0059】
ところで、キャリッジ31が移動開始位置から減速開始位置に到るまでの間、PWM生成部8にモータ制御信号としての回転速度制御信号を供給するフィードバック演算処理部70は、図5に示すように、目標速度設定レジスタ53に設定された目標速度から、速度変換部64にて算出されたキャリッジ31の移動速度(検出速度)を減算して速度偏差を算出する減算器12と、減算器12により算出された速度偏差にゲイン設定レジスタ54の格納値である比例ゲインKpを乗算することにより比例制御値(比例制御量)を算出する比例演算器13と、速度偏差を積分し、その積分値にゲイン設定レジスタ54の格納値である積分ゲインKiを乗算することにより積分制御値(積分制御量)を算出する積分演算器14と、速度偏差を微分し、その微分値にゲイン設定レジスタ54の格納値である微分ゲインKdを乗算することにより微分制御値(微分制御量)を算出する微分演算器15と、起動トリガの入力時点から微分ゲイン出力結果反映時間設定レジスタ58の格納値である微分量反映時間が経過するまで、微分値反映指令信号S7を出力する微分値有効時間タイマ18と、微分値反映指令信号S7の入力時には微分演算器15からの微分制御値をそのまま出力し、微分値反映指令信号S7の非入力時には微分制御値を0に補正して出力する出力補正処理部19と、比例制御値,積分制御値および出力補正処理部19からの微分制御値を加算する演算を行い、その演算結果を回転速度制御信号S3として出力する演算器16と、を備えており、いわゆるPID制御を行うように構成されている。
【0060】
なお、起動トリガは、エッジ検出信号の検出タイミングに応じて生成されており、微分値有効時間タイマ18の他に、比例演算器13,積分演算器14,微分演算器15にも入力されており、各演算器は、起動トリガの入力時期に応じて速度偏差を取り込み、取り込んだ速度偏差に基づいて制御値を更新するよう構成されている。
【0061】
また、微分演算器15は、瞬時的に発生する外乱(数百Hz〜数kHz程度の微細な振動ノイズ)が、キャリッジ31の移動速度に影響を与えることを抑制するような微分制御値を算出するように構成されている。
以上説明したように、本実施形態のキャリッジ制御装置1では、フィードバック演算処理部70が、PID制御で算出した比例制御値,積分制御値および微分制御値を用いて回転速度制御信号S3を設定するにあたり、微分制御値の算出時から微分量反映時間の経過前までは、微分演算器15で算出された微分制御値をそのまま用いて回転速度制御信号S3を設定している。そして、微分量反映時間の経過後は、出力補正処理部19が微分制御値を0に補正することで、微分制御値を除外し、比例制御値および積分制御値を用いて回転速度制御信号S3を設定している。つまり、キャリッジ制御装置1では、回転速度制御信号S3の設定処理における微分制御量の反映割合を常に一定にするのではなく、微分量反映時間の経過後は、微分制御量の反映割合を低下させている。
【0062】
すなわち、このキャリッジ制御装置1は、微分量反映時間においては、微分演算器15で算出された微分制御量をそのまま用いて回転速度制御信号S3を設定することから、瞬時的な外乱(ノイズ)などが発生した場合においても、キャリッジ31の移動速度が速やかに目標速度に近づくように、安定したモータ制御を行うことができる。
【0063】
また、キャリッジ制御装置1は、微分量反映時間の経過後は、微分制御量を小さい値に補正して回転速度制御信号S3を設定するため、検出速度と実際の移動速度とに差が生じた場合でも、回転速度制御信号S3が、実際の運動速度に適した値から大幅に逸脱した値に設定されるのを防止できる。これにより、キャリッジ制御装置1は、速度検出タイミングが離散的に設定されているにも拘わらず、次の微分制御量の更新(算出)タイミングに到達するまでに回転速度制御信号S3が不適切な値に設定されるのを抑制できる。
【0064】
よって、キャリッジ制御装置1によれば、少なくとも微分量反映時間は、算出された微分制御量を用いて設定された回転速度制御信号S3に基づきCRモータ35の制御を行うことから、瞬時的な外乱(ノイズ)等の発生時においても安定したモータ制御を行うことができる。また、微分量反映時間の経過後は、小さい値に補正された微分制御量を用いて回転速度制御信号S3を設定するため、次の微分制御量の算出タイミングに到達するまでに回転速度制御信号S3が不適切な値に設定されるのを抑制でき、オーバーシュートなどの不適切なモータ制御が行われるのを防止できる。
【0065】
なお、キャリッジ制御装置1は、短い制御応答時間で実際の運動速度が目標速度に略等しくなるようなモータ制御が可能に構成されているため、補正後の微分制御量を0に設定することで、回転速度制御信号S3を適切な値に設定できる。また、キャリッジ制御装置1では、微分ゲイン出力結果反映時間設定レジスタ58に格納される微分量反映時間が、PWM生成部8によるPWM制御周期よりも長い時間(PWM制御周期の整数倍の時間)が設定されている。
【0066】
このため、微分制御量の補正時期が常にPWM制御周期の途中となるのを避けることができ、モータ制御の応答速度が遅くなるのを防止できる。特に、微分量反映時間がPWM制御周期の整数倍に設定されているため、微分制御量の補正時期とPWM制御指令信号の更新時期とを略同時期とすることができ、微分制御量の補正時期からPWM制御指令信号の更新時期までの間に、無駄な時間が生じるのを防止でき、モータ制御の応答性向上を図ることができる。
【0067】
よって、キャリッジ制御装置1によれば、速度検出タイミングが離散的であり、かつ、PWM制御(パルス幅制御)によりモータ制御を行う構成であるにも拘わらず、CRモータの制御の応答速度が遅くなるのを防止でき、不適切なモータ制御が行われるのを抑制することができる。
【0068】
なお、上記実施形態のキャリッジ制御装置1においては、キャリッジ制御装置1が特許請求の範囲に記載のモータ制御装置に相当し、キャリッジ31が駆動対象物に相当し、リニアエンコーダ39およびキャリッジ測位部6が速度検出手段に相当し、減算器12が速度偏差算出手段に相当し、比例演算器13および積分演算器14が制御量演算手段に相当し、微分演算器15が微分演算手段に相当し、フィードバック演算処理部70が制御指令値設定手段に相当し、微分値有効時間タイマ18および出力補正処理部19が微分制御量補正手段に相当し、PWM生成部8が指令信号出力手段に相当する。
【0069】
以上、本発明の実施形態について説明したが、本発明は、上記実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において様々な態様にて実施することができる。
例えば、上記実施形態では、起動トリガがエッジ検出信号の検出タイミングに応じて生成される構成のキャリッジ制御装置について説明したが、一定周期Ts(演算サンプル間隔Ts)毎に起動トリガを発生する起動トリガ定周期発生回路を設けて、一定周期Ts毎に起動トリガを生成するように構成しても良い。そこで、上記のキャリッジ制御装置1に対して起動トリガ定周期発生回路を追加して構成した第2キャリッジ制御装置の各部のタイミング値を図9に示す。なお、以下に説明する第2キャリッジ制御装置の各部の符号は、キャリッジ制御装置1と同様である。
【0070】
第2キャリッジ制御装置では、周期カウンタ63が、起動トリガの発生に応じてエンコーダ間隔キャプチャNnをキャプチャ値Nnとして取り込み、速度変換部64が、キャプチャ値Nnに基づき移動速度Vn(=1/(Nn×CLK)。ただし、CLKはエンコーダ間隔測定時の基準クロックである。)を算出する。
【0071】
移動速度Vnが算出されると、フィードバック演算処理部70では、減算器12が、目標速度rから移動速度Vnを減算した速度偏差en(=rーVn)を算出し、比例演算器13および積分演算器14が、速度偏差enに基づき比例積分制御量PIn(=Kp・en+Ki・∫en)を算出し、微分演算器15が速度偏差enに基づき微分制御量Dn(=Kd・(en−en−1)/Ts)を算出する。また、微分値有効時間タイマ18は、起動トリガの入力時点に基づき微分制御量Dnの算出完了時点を判定し、微分制御量Dnの算出完了時点から微分量反映時間が経過するまで、微分値反映指令信号S7を出力する。
【0072】
つまり、フィードバック演算処理部70は、各制御量が算出された時点から微分量反映時間が経過するまでは、比例積分制御量PInと微分制御量Dnとを加算した微分反映制御量Bを表す回転速度制御信号S3を出力し、微分量反映時間の経過後は、比例積分制御量PInに等しい微分除去制御量Aを表す回転速度制御信号S3を出力する。
【0073】
このように、一定周期Ts毎に移動速度Vnを検出することで、回転速度制御信号S3は少なくとも一定周期Ts毎に更新することができる。
なお、キャリッジ制御装置1のように、エンコーダエッジ毎に移動速度Vnを検出する場合には、キャリッジ31の移動速度が低速である場合には、エンコーダエッジの入力周期が長くなるため、回転速度制御信号S3の更新周期も長くなり、適切なモータ制御ができなくなる可能性が高くなる。
【0074】
これに対して、第2キャリッジ制御装置のように、一定周期Ts毎に移動速度Vnを検出する場合には、周期Tsを適切に選ぶことにより、キャリッジの移動速度に依存して回転速度制御信号S3の更新周期が長くなることは無いため、より安定したモータ制御を実現することができる。
【0075】
次に、上述の実施形態では、微分量反映時間の経過後は微分制御量を0に補正する出力補正処理部19を備えるキャリッジ制御装置について説明したが、出力補正処理部は、微分量反映時間の経過後に、微分演算器15で算出された微分制御値を初期値として微分制御値を時間経過と共に減少補正するよう構成しても良い。これにより、実際の運動速度が目標速度に到達するまでの制御応答時間が長時間となる特性を有する装置においても、回転速度制御信号S3を適切な値に設定することができ、モータ制御が不適切となることを防止できる。
【0076】
また、出力補正処理部は、微分量反映時間の経過後に、微分演算器15で算出された微分制御値に補正係数Rt(たとえば、Rt=0.2)を乗じて補正した微分制御値を出力するよう構成しても良い。これにより、短い制御応答時間で実際の運動速度が目標速度に近づくものの若干の誤差が残るような特性を有する装置においても、回転速度制御信号S3を適切な値に設定することができ、モータ制御が不適切となることを防止できる。
【0077】
つまり、出力補正処理部における補正内容は、微分量反映時間の経過後に微分制御量を0に補正するものに限ることはなく、不適切なモータ制御を抑制できる補正内容に適宜設定すると良い。
次に、キャリッジ制御装置におけるキャリッジの運動速度について、本発明を適用した装置と従来構成の装置とにおいて、それぞれ測定した測定結果について説明する。
【0078】
なお、本発明を適用したキャリッジ制御装置としては、一定周期Ts(演算サンプル間隔Ts)毎に起動トリガを発生する構成の装置を用いており、微分量反映時間として演算サンプル間隔Tsの25%値が設定され、微分量反映時間の経過後に微分制御値を10分の1に補正する構成の第1測定装置と、微分量反映時間として演算サンプル間隔Tsの25%値が設定され、微分量反映時間の経過後に微分制御値を100分の1に補正する構成の第2測定装置と、を用いて測定を実施した。また、従来構成のキャリッジ制御装置としては、微分制御値の補正を行わない構成の第3測定装置を用いて測定を実施した。なお、第1測定装置、第2測定装置および第3測定装置は、それぞれ同一のPIDゲイン(Kp、Kd、Ki)が設定されている。
【0079】
そして、第1測定装置における微分演算器15で算出された微分制御値の測定結果を図10に示し、第1測定装置における速度変換部64から出力される移動速度(検出速度)の測定結果を図11に示し、第2測定装置における速度変換部64から出力される移動速度(検出速度)の測定結果を図12に示し、第3測定装置における速度変換部64から出力される移動速度(検出速度)の測定結果を図13に示す。各装置共に、目標速度を30[ips]として時刻0.05[sec]に装置を起動し、時刻0.20[sec]および時刻0.30[sec]で強制的に外乱を発生させて、各部の変化を測定した。
【0080】
図13の測定結果から、従来装置では、外乱収束性が悪く、起動後立ち上がり時の波形に振動が発生しており、安定したモータ制御が実現できていないことが判る。これに対して、図11および図12の測定結果では、従来装置に比べて、外乱収束性に優れており、起動後立ち上がり時の波形に振動は発生していないことが判る。
【0081】
また、図11の測定波形から、微分制御値が発散することなく収束していることが判り、これは微分量反映時間の経過後に微分制御値を10分の1に補正しているためであり、このように微分制御値を補正することで、安定したモータ制御が実現できる。
【0082】
よって、これらの測定結果から、本発明を適用したキャリッジ制御装置は、従来装置に比べて、外乱収束性に優れ、起動後立ち上がり波形の乱れが少なく、安定したモータ制御が実現できることが判る。
ところで、上記実施形態では、モータ駆動回路4として、図6に示したようなHブリッジ回路により構成されたものを用いたが、モータ駆動回路は図6に示すものに限ることはなく、例えば、DCモータ駆動用IC81aと積分回路81bとを備えた図7に示す第2モータ駆動回路81を用いてもよい。
【0083】
積分回路81bは、抵抗R1,R2およびコンデンサC1で構成され、第2PWM生成部83からのPWM信号S6を積分して、目標速度指令(アナログ量である目標電流指令)を生成するよう構成されている。
DCモータ駆動用IC81aは、CRモータ35の通電電流を検出して、検出した通電電流が積分回路81bからの目標速度指令(アナログ量)に応じた電流値となるように、CRモータ35の通電電流を制御するよう構成されている。言い換えれば、DCモータ駆動用IC81aは、CRモータ35の通電電流が目標電流指令に近づくよう制御することで、CRモータ35の回転速度を目標速度に制御する速度フィードバック制御を行うものである。なお、DCモータ駆動用IC81aは、駆動指令(Enable)の入力時に限りCRモータ35への通電が可能となるよう構成されており、また、駆動方向指令に基づいてCRモータ35の回転方向(正回転、逆回転)を決定している。
【0084】
ただし、この第2モータ駆動回路81を図6のモータ駆動回路4の代わりに用いる場合、ASIC3は、PWM生成部8に代えて、図7に示すような信号の入出力を行う第2PWM生成部83を用いて構成する必要がある。即ち、第2PWM生成部83は、制御信号セレクタ72からのモータ制御信号S5に基づいて、PWM信号S6および駆動方向指令(CRモータ35を回転すべき方向を表す指令)を出力し、さらに比較処理部62からの制御切替信号S1および起動設定レジスタ50からの入力に従って、CRモータ35への通電を行うべきか否かを示す駆動指令(Enable)を出力するよう構成されている。
【0085】
このように構成された第2モータ駆動回路81を用いれば、CRモータ35の回転速度が目標回転速度になるよう制御されるため、キャリッジ31の移動速度を目標速度に制御することができる。
また、モータ駆動回路は、図8に示すような第3モータ駆動回路87で構成することも可能である。第3モータ駆動回路87は、第2モータ駆動回路81における積分回路81bを省略して構成されている。
【0086】
なお、第3モータ駆動回路87を用いる場合には、第2PWM生成部83に代えて、駆動用信号生成部89を備える必要がある。駆動用信号生成部89は、制御信号セレクタ72から出力されるモータ制御信号S5に基づいて、アナログ信号としての目標電流指令(換言すれば目標速度指令)を生成して出力するよう構成されている。
【0087】
つまり、駆動用信号生成部89は、第2PWM生成部83のようにモータ制御信号S5に基づいてPWM信号を生成するのとは異なり、アナログ値の目標電流指令を出力するよう構成されている。このため、第3モータ駆動回路87は、第2モータ駆動回路81のように積分回路を備える必要がない。
【0088】
このように構成された第3モータ駆動回路87を用いれば、CRモータ35の回転速度が目標回転速度になるよう制御されるため、キャリッジ31の移動速度を目標速度に制御することができる。
また、フィードバック演算処理部70におけるPID制御は、上記実施形態のような速度偏差に基づき比例制御量・積分制御量・微分制御量をそれぞれ算出するPID制御に限ることはない。例えば、速度偏差に基づき比例制御量・積分制御量を算出し、検出した移動速度に基づき微分制御量を算出する微分先行型PI−D制御を実行しても良く、速度偏差に基づき積分制御量を算出し、検出した移動速度に基づき微分制御量・比例制御量を算出する比例微分先行型I−PD制御を実行しても良い。
【0089】
さらに、CPU2で実行されるCR走査処理のS110は、外部指令により定められる目標速度に応じて、微分量反映時間を設定するように構成しても良い。つまり、外部指令により目標速度が変動する用途においても、S110が、目標速度に応じて微分量反映時間を設定することで、微分量反映時間を適切な値に設定することができ、外乱の発生後における移動速度が目標速度に近づくように、回転速度制御信号S3を適切に変化させることができる。
【0090】
これにより、目標速度が変動する用途においても、回転速度制御信号S3を適切な値に設定できることから、モータ制御が不適切となるのを防止できる。なお、このように構成されたCR走査処理のS110が、特許請求の範囲に記載の反映時間設定手段に相当する。
【図面の簡単な説明】
【図1】本発明が適用されたインクジェットプリンタにおけるキャリッジ駆動機構の構造図である。
【図2】キャリッジの移動速度を制御するキャリッジ制御装置の構成を表すブロック図である。
【図3】キャリッジ制御装置の各部の状態を示すタイミング図である。
【図4】CPUが実行するCR走査処理の内容を表すフローチャートである。
【図5】フィードバック演算処理部の内部構成およびフィードバック演算処理部と他の機器との接続状態を示す説明図である。
【図6】モータ駆動回路の構成を示す構成図である、
【図7】第2モータ駆動回路の構成を示す構成図である。
【図8】第3モータ駆動回路の構成を示す構成図である。
【図9】第2キャリッジ制御装置の各部の状態を示すタイミング値である。
【図10】第1測定装置における微分演算器で算出された微分制御値の測定結果である。
【図11】第1測定装置における速度変換部から出力される移動速度の測定結果である。
【図12】第2測定装置における速度変換部から出力される移動速度の測定結果である。
【図13】第3測定装置における速度変換部から出力される移動速度の測定結果である。
【図14】(a)は、外乱を連続系で捉えた微分応答を示す説明図であり、(b)は、外乱を離散系で捉えた微分応答を示す説明図である。
【符号の説明】
1…キャリッジ制御装置、4…モータ駆動回路、5…レジスタ群、6…キャリッジ測位部、7…モータ制御部、8…PWM生成部、9…クロック生成部、12…減算器、13…比例演算器、14…積分演算器、15…微分演算器、16…演算器、18…微分値有効時間タイマ、19…出力補正処理、19…出力補正処理部、31…キャリッジ、35…CRモータ、39…リニアエンコーダ、70…フィードバック演算処理部、81…第2モータ駆動回路、83…第2PWM生成部、87…第3モータ駆動回路、89…駆動用信号生成部。
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a motor control method and a motor control device for performing feedback control of a rotation speed of a motor that drives a driving target so that a movement speed of the driving target reaches a target speed.
[0002]
[Prior art]
2. Description of the Related Art Conventionally, in a printer (for example, an ink jet printer) in which printing is performed on print paper while a print head moves, a carriage that conveys the print head is driven by a carriage (CR) motor. In addition, in order to print at an accurate print position, it is necessary to control the moving speed of the carriage within the printing range to an appropriate speed.For this purpose, the moving speed of the carriage is detected using an encoder or the like, and the moving speed is detected. The drive current supplied to the CR motor is increased or decreased by using a control algorithm such as PID control so that the detected moving speed matches a preset target speed. Controlling the driving force.
[0003]
In the PID control, the differential control amount among the control amounts (proportional control amount, integral control amount, differential control amount) calculated based on the detected moving speed or speed deviation (difference between the detected moving speed and the target speed). Is a control amount calculated to control the motor while suppressing the influence on transient (instantaneous) disturbance.
[0004]
[Problems to be solved by the invention]
If the detection of the moving speed of the carriage is not performed continuously but at discrete detection timings, the moving speed used for calculating the control amount is not updated until the next detection timing is reached. In other words, despite the fact that the actual moving speed has changed, the moving speed used for calculating the control amount has a past value, so that the motor control cannot be executed in accordance with the actual moving speed. Control may be performed.
[0005]
Specifically, the differential response (differential control amount) obtained by capturing the disturbance (fluctuation in the moving speed) in a continuous system (analog system) has a waveform that fluctuates greatly when a change in the disturbance occurs, as shown in FIG. As shown in FIG. 14B, the differential response obtained by capturing the disturbance in a discrete system (digital system) shows the same value until the next detection timing is reached.
[0006]
In particular, the longer the period of the detection timing, the higher the possibility of improper control, the overshoot phenomenon in which the moving speed greatly exceeds the target speed, and the vibration in which the moving speed vibrates around the target speed. A phenomenon or the like may occur. FIG. 14B shows a waveform when the differential response 2 has a longer detection timing cycle than the differential response 1 and the differential response 3 has a longer detection timing cycle than the differential response 2. I have.
[0007]
On the other hand, the probability of inappropriate motor control is reduced by shortening the period of the detection timing and shortening the time when the control amount is calculated based on an inappropriate moving speed that is different from the actual moving speed. You can.
However, since there is a limit in shortening the detection timing cycle, occurrence of inappropriate motor control cannot be sufficiently suppressed. Further, even when the detection timing cycle is shortened, the actual moving speed of the motor controlled based on the differential control amount calculated according to the instantaneous disturbance is shorter than the detection timing cycle. Because of the change, it is highly possible that the control amount becomes an inappropriate value before reaching the next detection timing.
[0008]
Therefore, the present invention has been made in view of the above problem, and even when the detection of the moving speed is performed at discrete timing, it is possible to suppress the influence of the instantaneous disturbance and to perform the inappropriate motor control. It is an object of the present invention to provide a motor control method and a motor control device that can suppress the occurrence of the problem.
[0009]
[Means for Solving the Problems]
According to a first aspect of the present invention, there is provided a method for detecting a movement speed of a driving object driven by a motor at discrete speed detection timings. A speed including a proportional control amount corresponding to a detected speed or a proportional value of the speed deviation and an integral control amount corresponding to an integral value of the speed deviation are calculated. Calculate the control amount, calculate the differential value of the detected speed or speed deviation, or calculate the differential control amount according to the change amount of the detected speed or speed deviation per unit time, using the speed control amount and the differential control amount, A motor control system that sets a control command value for driving the motor at a target speed and performs feedback control of the motor rotation speed based on the control command value so that the movement speed of the driven object becomes the target speed. A detection speed is detected at a speed detection timing, and after a differential amount reflection time shorter than a movement speed detection cycle elapses with reference to a time point at which the differential control amount is updated based on the detected speed, the control is performed. The differential control amount used for setting the command value is corrected to a value smaller than the updated differential control amount.
[0010]
In this motor control method, when setting the control command value, the updated (calculated) differential control amount is used as it is until the differential amount reflection time elapses based on the differential control amount update time, and the differential amount is reflected. After a lapse of time, the corrected differential control amount corrected to a small value is used. That is, in this motor control method, the reflection ratio of the differential control amount in the setting process of the control command value is not always kept constant, but after the differential amount reflection time elapses, the reflection ratio of the differential control amount is reduced. .
[0011]
That is, according to this motor control method, the control command value is set using the calculated differential control amount during the differential amount reflection time, so that even when an instantaneous disturbance (noise) or the like occurs, the motion is controlled. Stable motor control can be performed so that the speed quickly approaches the target speed.
[0012]
Since the actual motion speed at the differential amount reflection time fluctuates due to motor control based on the control command value, for example, the actual motion speed at the time when the differential amount reflection time has elapsed is detected at the latest speed detection timing. It becomes a value different from the detected speed (a value close to the target speed). Therefore, the control command value before reaching the next speed detection timing is an inappropriate value that is not based on the actual movement speed. The speed may greatly deviate from the target speed.
[0013]
On the other hand, in the motor control method of the present invention, after the differential amount reflection time has elapsed, the differential control amount is corrected to a small value and the control command value is set, so that the control command value is suitable for the actual motion speed. The value can be prevented from being set to a value that greatly deviates from the set value. Therefore, even when the speed detection timing is set discretely, the control command value is set to an inappropriate value until the next speed detection timing or the next differential control amount update (calculation) timing is reached. Can be suppressed.
[0014]
Therefore, according to the method of the present invention (claim 1), since at least the differential reflection time is controlled based on the control command value set using the calculated differential control amount, the instantaneous disturbance ( Even when noise or the like occurs, stable motor control can be performed. Also, after the elapse of the differential amount reflection time, the control command value is set using the differential control amount corrected to a small value, so that until the next speed detection timing or the next differential control amount calculation timing is reached. It is possible to suppress the control command value from being set to an inappropriate value, and to prevent inappropriate motor control such as overshoot.
[0015]
In addition, after the motor control is performed by the control command value reflecting the influence of the instantaneous disturbance, the control response time until the actual movement speed reaches the target speed becomes longer. When the method of the present invention is applied, if the differential control amount is sharply corrected to a small value, the actual movement speed cannot be sufficiently close to the target speed, and there is a possibility that appropriate motor control cannot be performed. .
[0016]
Therefore, when correcting the differential control amount used for setting the control command value, for example, the differential control amount may be corrected to decrease with time as described in claim 2.
By correcting the differential control amount in this way, after the differential amount reflection time has elapsed, the reflection ratio of the differential control amount in the control command value gradually decreases with time. As a result, even when the control response time until the actual movement speed reaches the target speed is long, the control command value can be set to an appropriate value, and the motor control becomes inappropriate. Can be prevented.
[0017]
Further, as another method of correcting the differential control amount, for example, a correction method of correcting the differential control amount to a constant value may be applied.
By correcting the differential control amount in this way, the reflection ratio of the differential control amount in the control command value can be sharply reduced after the differential amount reflection time has elapsed. As a result, after the motor control is performed based on the control command value reflecting the effect of the instantaneous disturbance, the control command value in the case where the control response time until the actual movement speed reaches the target speed is short is appropriately adjusted. Value can be set.
[0018]
For example, if motor control is possible such that the actual movement speed becomes substantially equal to the target speed in a short control response time, the differential control amount after correction may be set to 0, or the actual control speed may be reduced in a short control response time. If the control is such that the motion speed of the vehicle approaches the target speed but a slight error remains, the corrected differential control amount is set to a fixed ratio value (for example, a 20% value or the like) to the calculated differential control amount. Good to do.
[0019]
Incidentally, the calculation timing of the differential control amount can be set arbitrarily, for example, it can be set according to the speed detection timing. However, when the cycle of the speed detection timing changes according to the actual movement speed of the driven object, the calculation timing of the differential control amount also changes according to the actual movement speed. Then, the update timing of the control command value fluctuates depending on the movement speed, and particularly when the update cycle is long, the control period by an inappropriate control command value that is not suitable for the actual movement speed becomes longer. In some cases, stable motor control cannot be realized.
[0020]
Therefore, in the above-described method (any one of claims 1 to 3), the differential control amount may be calculated at regular intervals, as described in claim 4.
In other words, by setting the cycle of the calculation timing of the differential control amount to a constant cycle instead of fluctuating according to the movement speed, the update timing of the control command value can be set for each fixed cycle. Irrespective of the variation of the motor, stable motor control can be realized.
[0021]
Therefore, according to the method of the present invention (claim 4), the calculation timing of the differential control amount is set at regular intervals, so that the detection timing of the moving speed is stable at regular intervals or not. Motor control can be realized.
Next, when motor control is performed by PWM control (pulse width control), since a PWM control command signal is output every predetermined PWM control cycle, the same PWM control command signal is output until the PWM control cycle elapses. The motor control is executed based on this. For this reason, even if the differential control amount is corrected in the middle of the PWM control cycle, the PWM control command signal reflecting the corrected differential control amount cannot be output until the PWM control period elapses. Control may not be realized. In particular, if the differential amount reflection time is set to a time shorter than the PWM control cycle, the differential control amount is always corrected in the middle of the PWM control cycle.
[0022]
Therefore, the motor control method according to any one of claims 1 to 4 generates a PWM control command signal for driving and controlling the motor based on the control command value, as described in claim 5, The PWM control command signal may be output every predetermined PWM control cycle, and the differential control amount may be corrected after a differential amount reflection time in which a time longer than the PWM control period is set.
[0023]
In other words, by setting the differential amount reflection time longer than the PWM control cycle, it is possible to prevent the correction timing of the differential control amount from being always in the middle of the PWM control cycle, and to reduce the response speed of the motor control. Can be prevented.
In particular, by setting the differential amount reflection time to be approximately an integral multiple of the PWM control cycle so that the differential control amount correction time and the PWM control command signal update time are approximately the same time, the differential control amount correction time is set. From the time till when the PWM control command signal is updated, useless time can be prevented from occurring, and the responsiveness of motor control can be improved.
[0024]
Therefore, according to the method of the present invention (claim 5), even when the speed detection timing is discrete and the motor control is performed by the PWM control (pulse width control), the response speed of the motor control becomes slow. Can be prevented, and improper motor control can be suppressed.
[0025]
By the way, it is known that the required time from the start of the change of the moving speed due to the instantaneous disturbance to the convergence to the target speed by the motor control varies depending on various factors (for example, the target speed). For this reason, an appropriate value of the differential amount reflection time varies depending on the target speed. In applications where the target speed fluctuates, if the differential amount reflection time is set to a fixed value, appropriate motor control cannot be performed. There are cases.
[0026]
Therefore, according to the invention method described above (any one of claims 1 to 5), the differential control amount is corrected after the differential amount reflection time set according to the target speed elapses. Good to do.
In other words, by setting the differential amount reflection time according to the target speed, the differential amount reflection time can be set to an appropriate value even in an application in which the target speed fluctuates, and the moving speed after the occurrence of a disturbance becomes lower than the target speed. The reflection ratio of the differential control amount in the setting of the control command value can be changed appropriately so as to approach the speed.
[0027]
Therefore, according to the method of the present invention (claim 6), the control command value can be set to an appropriate value even in an application where the target speed fluctuates, so that inappropriate motor control can be prevented.
Next, in order to achieve the above object, the invention according to claim 7 is characterized in that a speed detecting means for detecting a moving speed of a driving object driven by a motor at discrete speed detecting timings, and a speed detecting means. Speed deviation calculating means for calculating a speed deviation which is a deviation between the detected speed detected by the controller and a target speed set by an external command, and a proportional control amount and a speed deviation according to a proportional value of the detected speed or the speed deviation. Control amount calculating means for calculating a speed control amount including an integral control amount corresponding to an integral value of the differential speed of the detected speed or the speed deviation or a change amount of the detected speed or the speed deviation per unit time. A differential operation means for calculating a differential control amount, and control command value setting means for setting a control instruction value for driving the motor at a target speed using the speed control amount and the differential control amount. A motor control device that feedback-controls the rotation speed of the motor based on the value so that the movement speed of the driven object becomes the target speed. The detected speed is detected at the speed detection timing, and the differential operation is performed based on the detected speed. The differential control amount used by the control command value setting means to set the control command value after the differential amount reflection time shorter than the movement speed detection cycle by the speed detecting means has elapsed based on the time at which the means updates the differential control amount. Is differentiated to a value smaller than the differential control amount updated by the differential operation means.
[0028]
This motor control device realizes the motor control method according to claim 1 as a device, and the differential control amount correction means sets the differential control amount used for setting the control command value after the differential amount reflection time elapses. , Is corrected to a value smaller than the differential control amount calculated by the differential operation means.
[0029]
In other words, in this motor control device, the reflection ratio of the differential control amount in the control command value setting process is not always kept constant. Is used as it is, and after the differential amount reflection time elapses, the reflection ratio of the differential control amount is reduced.
[0030]
Therefore, according to the motor control device of the present invention (claim 7), similarly to the method of the invention of claim 1, at least the differential amount reflection time is set to the control command value set using the calculated differential control amount. Since the motor control is performed based on this, stable motor control can be performed even when instantaneous disturbance (noise) or the like occurs. Also, after the elapse of the differential amount reflection time, the control command value is set using the differential control amount corrected to a small value, so that until the next speed detection timing or the next differential control amount calculation timing is reached. It is possible to suppress the control command value from being set to an inappropriate value, and to prevent inappropriate motor control such as overshoot.
[0031]
In the motor control device described above (claim 7), for example, as set forth in claim 8, the differential control amount correcting means sets the differential control amount used for setting the control command value by the control command value setting means. In making the correction, the differential control amount may be reduced and corrected with time.
[0032]
This motor control device realizes the method according to claim 2 as a device. By correcting the differential control amount in this way, after the differential amount reflection time has elapsed, the control command value is not changed. The reflection ratio of the differential control amount gradually decreases with time.
[0033]
Therefore, according to the present invention (claim 8), similarly to the method of the invention described in claim 2, even when the control response time until the actual movement speed reaches the target speed becomes long, the control is performed. The command value can be set to an appropriate value, and inappropriate motor control can be prevented.
[0034]
In the above-mentioned motor control device, the differential control amount correcting means corrects the differential control amount used for setting the control command value by the control command value setting means. In this case, the differential control amount may be corrected to a constant value.
This motor control device realizes the method according to claim 3 as a device. By correcting the differential control amount in this way, after the differential amount reflection time has elapsed, the differential control in the control command value is performed. The reflection ratio of the amount can be sharply reduced.
[0035]
Therefore, according to the present invention (claim 9), similar to the method of the invention described in claim 3, after the motor control is performed based on the control command value reflecting the influence of the instantaneous disturbance, the actual movement is performed. The control command value when the control response time until the speed reaches the target speed is short can be set to an appropriate value.
[0036]
For example, if motor control is possible such that the actual movement speed becomes substantially equal to the target speed in a short control response time, the differential control amount after correction may be set to 0, or the actual control speed may be reduced in a short control response time. If the control is such that the motion speed of the vehicle approaches the target speed but a slight error remains, the corrected differential control amount is set to a fixed ratio value (for example, a 20% value or the like) to the calculated differential control amount. Good to do.
[0037]
Next, in the motor control device described above (any one of claims 7 to 9), the differential operation means may calculate the differential control amount at regular intervals, as described in claim 10.
This motor control device realizes the method according to claim 4 as a device, and sets the cycle of the calculation timing of the differential control amount to a constant cycle instead of changing the cycle according to the movement speed. Thus, the update timing of the control command value can be set at regular intervals, and stable motor control can be realized regardless of the fluctuation of the movement speed.
[0038]
Therefore, according to the present invention (claim 10), similarly to the method of the invention described in claim 4, by setting the calculation timing of the differential control amount at regular intervals, the detection timing of the moving speed can be set at regular intervals. Irrespective of whether or not, the stable motor control can be realized.
[0039]
Further, the motor control device described above (any one of claims 7 to 10) generates a PWM control command signal for driving and controlling the motor based on the control command value as described in claim 11. It is preferable that a command signal output unit that outputs a PWM control command signal for each predetermined PWM control cycle is provided, and the differential amount reflection time is set to be longer than the PWM control cycle.
[0040]
This motor control device realizes the method according to claim 5 as a device. By setting the differential amount reflection time longer than the PWM control period, the correction timing of the differential control amount is always set to the PWM control period. And the response speed of the motor control can be prevented from becoming slow. In particular, by setting the differential amount reflection time to be approximately an integral multiple of the PWM control cycle so that the differential control amount correction time and the PWM control command signal update time are approximately the same time, the differential control amount correction time is set. From the time till when the PWM control command signal is updated, useless time can be prevented from occurring, and the responsiveness of motor control can be improved.
[0041]
Therefore, according to the present invention (claim 11), similarly to the invention method of claim 5, even when the speed detection timing is discrete and the motor control is performed by PWM control (pulse width control), It is possible to prevent the response speed of the motor control from becoming slow, and it is possible to suppress the inappropriate motor control from being performed.
[0042]
Next, the motor control device described above (any one of claims 7 to 11) includes, as described in claim 12, a reflection time setting unit that sets a differential amount reflection time according to a target speed. Good.
This motor control apparatus realizes the method according to claim 6 as an apparatus. By setting the differential reflection time according to the target speed, the motor control device can reflect the differential amount even in an application in which the target speed fluctuates. The time can be set to an appropriate value, and the reflection ratio of the differential control amount in the setting of the control command value can be changed appropriately so that the moving speed after the occurrence of the disturbance approaches the target speed.
[0043]
Therefore, according to the present invention (claim 12), the control command value can be set to an appropriate value even in an application in which the target speed fluctuates, as in the method of the invention described in claim 6. Improper control can be prevented.
[0044]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
First, FIG. 1 shows a structural diagram of a carriage driving mechanism in an ink jet printer (hereinafter, simply referred to as “printer”) to which the present invention is applied.
[0045]
As shown in FIG. 1, the printer includes a guide shaft 34 installed in the width direction of the printing paper 33 conveyed by the press roller 32 or the like. A carriage 31 on which a print head 30 that performs printing by discharging ink toward the printer is inserted. The carriage 31 is connected to an endless belt 37 provided along a guide shaft 34, and the endless belt 37 is connected to a pulley 36 of a CR motor 35 installed at one end of the guide shaft 34 and to the other end of the guide shaft 34. It is hung between an installed idle pulley (not shown).
[0046]
That is, the carriage 31 is configured to reciprocate in the width direction of the printing paper 33 along the guide shaft 34 by the driving force of the CR motor 35 transmitted via the endless belt 37.
Further, below the guide shaft 34, a timing slit 38 having slits having a constant width formed at regular intervals (for example, 1/150 inch = about 0.17 mm) is provided along the guide shaft 34. In addition, a detection unit including a photo interrupter having at least one light emitting element and two or more light receiving elements facing each other with the timing slit 38 interposed therebetween is provided below the carriage 31. In addition, the detection unit including the photo interrupter constitutes a linear encoder 39 (see FIG. 2) described later together with the timing slit 38 described above.
[0047]
Note that the detection unit included in the linear encoder 39 outputs two types of encoder A-phase signals ENC1 and encoder B-phase signals ENC2 that are shifted from each other by approximately 1/4 cycle as shown in the timing chart of FIG. When the moving direction of the carriage 31 is the forward direction from the home position (the left end position in FIG. 1) toward the idle pulley, the phase of the encoder A-phase signal ENC1 is approximately 1 / of that of the encoder B-phase signal ENC2. When the cycle is advanced and the direction is the reverse direction from the idle pulley toward the home position, the phase of the encoder A-phase signal ENC1 is delayed by approximately 1/4 cycle with respect to the encoder B-phase signal ENC2.
[0048]
FIG. 2 shows the carriage control device 1 that controls the moving speed (movement speed) of the carriage 31 by controlling the driving of the CR motor 35 based on the encoder A-phase signal ENC1 and the encoder B-phase signal ENC2 from the linear encoder 39. It is a block diagram showing a structure.
[0049]
As shown in FIG. 2, the carriage control device 1 includes a CPU 2 that controls the control of the printer, and an ASIC (Application Specific Integrated Circuit) 3 that generates a PWM signal S6 that controls the rotation speed and the rotation direction of the CR motor 35. And a motor drive circuit 4 (CR drive circuit) that drives the CR motor 35 based on the PWM signal S6 generated by the ASIC 3.
[0050]
The details of the motor drive circuit 4 are as shown in FIG. 6, in which an H-bridge circuit is constituted by four switching elements SW1 to SW4. The motor drive circuit 4 drives the CR motor 35 by performing on / off control of each of the switching elements SW1 to SW4 of the H-bridge circuit based on the PWM signal S6 generated by the PWM generation unit 8 in the ASIC 3. I do. In addition, each of the switching elements SW1 to SW4 can be configured by a semiconductor switching element such as a bipolar transistor or an FET.
[0051]
The ASIC 3 also includes a register group 5 for storing various parameters used for controlling the CR motor 35 and an encoder A-phase signal ENC1 and an encoder B-phase signal ENC2 from the linear encoder 39, and the position and the moving speed of the carriage 31. , A motor control unit 7 that generates a motor control signal S5 for controlling the rotation speed of the CR motor 35 based on data from the carriage positioning unit 6, and a motor control unit 7 that generates the motor control signal S5. A PWM generator 8 for generating a PWM signal S6 having a duty ratio corresponding to the motor control signal S5 to generate a clock signal having a period sufficiently shorter than that of the encoder A-phase signal ENC1 and the encoder B-phase signal ENC2. And a clock generation unit 9 that supplies the clock signal to each unit inside the ASIC 3. That.
[0052]
Here, the register group 5 includes a start setting register 50 for setting the CR motor 35 to a start state, and a control amount initial value setting for setting a numerical value (initial value) to a parameter that cannot be detected immediately after the apparatus is started. A register 56, a deceleration start position setting register 51 for setting a deceleration start position (same as a print end position) for starting deceleration of the carriage 31, and an interrupt generation position for outputting an interrupt signal to the CPU are set. Interrupt generation position setting register 57, a target speed setting register 53 for setting a target speed when the carriage 31 moves, and a feedback calculation when controlling the rotation speed (torque) of the CR motor 35. A gain setting register 54 for setting a differential gain, an integral gain, and a proportional gain, and setting the calculated differential control amount to a rotation control signal And derivative gain output reflection time setting register 58 for setting the differential quantity reflects the time used, is configured to include a.
[0053]
It should be noted that the differential amount reflection time stored in the differential gain output result reflection time setting register 58 is a time that is an integral multiple (for example, 10 times) of a cycle (PWM control cycle) in which the PWM generator 8 outputs the PWM signal S6. Is set.
Next, based on the encoder A-phase signal ENC1 and the encoder B-phase signal ENC2 from the linear encoder 39, the carriage positioning unit 6 generates an edge detection signal (here, the encoder B) indicating the start / end of each cycle of the encoder A-phase signal ENC1. The edge of the encoder A-phase signal ENC1 when the phase signal ENC2 is at a low level. See FIG. 3), and the rotation direction of the CR motor 35 (if the edge detection signal is the rising edge of the encoder A-phase signal ENC1, the forward direction or the rising edge). When the rotation direction of the CR motor 35 detected by the edge detection unit 60, that is, the moving direction of the carriage 31 is forward, the edge detection unit 60 counts up in accordance with the edge detection signal. In the opposite direction, count down according to the edge detection signal. Ri, the carriage 31 is provided with a position counter 61 for detecting whether located ordinal number of the slit from the home position, the. That is, the position of the carriage 31 such as the deceleration start position set in the deceleration start position setting register 51 is represented by the count value of the position counter 61 (the encoder edge count value shown in FIG. 3).
[0054]
In addition, the carriage positioning unit 6 compares the encoder edge count value of the position counter 61 with the set value of the deceleration start position setting register 51 to determine whether the carriage 31 has reached the deceleration start position. When the controller reaches the deceleration start position, it outputs a control switching signal S1 and outputs a stop interrupt signal S2 to the CPU 2, and a clock signal determines an interval between generations of the edge detection signal from the edge detector 60. A period counter 63 for counting the encoder interval time Cn (see FIG. 3), a distance between the slits of the timing slit 38 (1/150 inch), and a value held by the period counter 63 in the previous period of the encoder A-phase signal ENC1. Encoder capture time Tn (= Cn-1 × clock) Period. Referring FIG.) And on the basis, and a rate converter 64 for calculating the moving speed Vn of the carriage 31 (see FIG. 3).
[0055]
Next, the motor control unit 7 calculates the moving speed of the carriage 31 calculated by the speed conversion unit 64 based on the setting values of the target speed setting register 53, the gain setting register 54, and the differential gain output result reflection time setting register 58 (hereinafter, referred to as “moving speed”). A feedback calculation processing unit 70 that generates a rotation speed control signal S3 for controlling the rotation speed of the CR motor 35 so that the detected speed matches the target speed set in the target speed setting register 53; A deceleration control unit 71 that generates a deceleration control signal S4 for reducing the rotation speed of the motor 35, and a rotation speed control signal S3 that is generated by a feedback calculation processing unit 70 when the control switching signal S1 from the comparison processing unit 62 is not input. When the control switching signal S1 is input, the deceleration control signal S4 generated by the deceleration control unit 71 is changed to the motor control signal S And a control signal selector 72 supplies the PWM generator 8, as.
[0056]
Next, the content of the CR scanning process executed by the CPU 2 will be described with reference to the flowchart shown in FIG.
When this process is started, as shown in FIG. 4, first, the target speed, initial control amount, deceleration start position, differential gain, integral gain, proportional gain, differential gain, After setting the amount reflection time (S110), each part of the ASIC 3 is started by writing to the start setting register 50 (S120). When the carriage 31 driven in accordance with the contents set in the registers at S110 reaches the deceleration control start position, and the stop interrupt signal S2 is input from the comparison processing unit 62 (S130), this processing is performed. finish.
[0057]
In the carriage control device 1 configured as described above, when the CPU 2 sets the register group 5 and starts the ASIC 3, the PWM is performed until the carriage 31 reaches the deceleration start position set in the deceleration start position setting register 51. The rotation speed control signal S3 from the feedback calculation processing unit 70 is supplied as the motor control signal S5 to the generation unit 8. Thus, the rotation speed (torque) of the CR motor 35 is controlled such that the moving speed of the carriage 31 follows the target speed set in the target speed setting register 53. As a result, the carriage 31 is accelerated so that its moving speed reaches the target speed in the acceleration section until it reaches the printing start position, and moves at a constant target speed in the subsequent constant speed section to the deceleration start position. .
[0058]
Thereafter, when the carriage 31 reaches the deceleration start position, a stop interrupt signal S2 is output to the CPU 2 and the motor control signal S5 supplied to the PWM generation unit 8 is changed from the rotation speed control signal S3 to the deceleration control signal S4. Switch. As a result, the CR motor 35 is set to operate as a generator that converts the rotational force generated by the movement of the carriage 31 into electricity. As a result, the carriage 31 quickly moves in the deceleration section beyond the deceleration start position. It is decelerated and stops.
[0059]
Meanwhile, the feedback calculation processing unit 70 that supplies the PWM generation unit 8 with the rotation speed control signal as the motor control signal until the carriage 31 reaches the deceleration start position from the movement start position, as shown in FIG. A subtracter 12 that subtracts the moving speed (detected speed) of the carriage 31 calculated by the speed converter 64 from the target speed set in the target speed setting register 53 to calculate a speed deviation, and a subtractor 12 calculates the speed deviation. A proportional calculator 13 for calculating a proportional control value (proportional control amount) by multiplying the obtained speed deviation by a proportional gain Kp, which is a value stored in the gain setting register 54, and integrating the speed deviation, and adding the gain to the integrated value. An integral calculator 14 for calculating an integral control value (integral control amount) by multiplying by an integral gain Ki which is a value stored in a setting register 54; A differential calculator 15 for calculating a differential control value (differential control amount) by multiplying the differential value by a differential gain Kd, which is a value stored in a gain setting register 54; A differential value effective time timer 18 that outputs a differential value reflection command signal S7 until the differential value reflection time that is a stored value of the setting register 58 elapses, and a differential operation from the differential calculator 15 when the differential value reflection command signal S7 is input. The output correction processing unit 19 which outputs the control value as it is and corrects and outputs the differential control value to 0 when the differential value reflection command signal S7 is not input, and the proportional correction value, the integral control value and the output correction processing unit 19 A computing unit 16 for performing an operation for adding the differential control value and outputting the operation result as a rotation speed control signal S3, so as to perform so-called PID control. It is configured.
[0060]
The activation trigger is generated according to the detection timing of the edge detection signal, and is also input to the proportional operation unit 13, the integration operation unit 14, and the differentiation operation unit 15 in addition to the differential value effective time timer 18. Each arithmetic unit is configured to capture a speed deviation according to the input timing of the activation trigger, and to update the control value based on the captured speed deviation.
[0061]
Further, the differential calculator 15 calculates a differential control value that suppresses an instantaneous disturbance (fine vibration noise of several hundred Hz to several kHz) from affecting the moving speed of the carriage 31. It is configured to
As described above, in the carriage control device 1 of the present embodiment, the feedback calculation processing unit 70 sets the rotation speed control signal S3 using the proportional control value, the integral control value, and the derivative control value calculated by the PID control. In this case, the rotation speed control signal S3 is set using the differential control value calculated by the differential calculator 15 as it is from the time of calculating the differential control value to the time before the differential amount reflection time elapses. After the elapse of the differential amount reflection time, the output correction processing unit 19 corrects the differential control value to 0, thereby excluding the differential control value, and using the proportional control value and the integral control value to output the rotation speed control signal S3. Is set. That is, in the carriage control device 1, the reflection ratio of the differential control amount in the setting process of the rotation speed control signal S3 is not always kept constant, but after the differential amount reflection time elapses, the reflection ratio of the differential control amount is reduced. ing.
[0062]
That is, since the carriage control device 1 sets the rotation speed control signal S3 using the differential control amount calculated by the differential calculator 15 as it is in the differential amount reflection time, instantaneous disturbance (noise) or the like is performed. Even when the error occurs, stable motor control can be performed so that the moving speed of the carriage 31 quickly approaches the target speed.
[0063]
Further, after the elapse of the differential amount reflection time, the carriage control device 1 sets the rotational speed control signal S3 by correcting the differential control amount to a small value, so that a difference occurs between the detected speed and the actual moving speed. Even in this case, it is possible to prevent the rotation speed control signal S3 from being set to a value that greatly deviates from a value suitable for the actual movement speed. As a result, the carriage control device 1 determines that the rotation speed control signal S3 is inappropriate until the next differential control amount update (calculation) timing is reached, even though the speed detection timing is set discretely. It can be suppressed from being set to a value.
[0064]
Therefore, according to the carriage control device 1, since at least the differential amount reflection time controls the CR motor 35 based on the rotation speed control signal S3 set using the calculated differential control amount, instantaneous disturbance Even when (noise) or the like occurs, stable motor control can be performed. Further, after the differential amount reflection time has elapsed, the rotational speed control signal S3 is set using the differential control amount corrected to a small value. S3 can be prevented from being set to an inappropriate value, and inappropriate motor control such as overshoot can be prevented from being performed.
[0065]
Note that the carriage control device 1 is configured to be able to perform motor control such that the actual movement speed becomes substantially equal to the target speed in a short control response time, so that the differential control amount after correction is set to 0. , The rotation speed control signal S3 can be set to an appropriate value. Further, in the carriage control device 1, the differential amount reflection time stored in the differential gain output result reflection time setting register 58 is longer than the PWM control cycle by the PWM generation unit 8 (an integer multiple of the PWM control cycle). Is set.
[0066]
Therefore, it is possible to prevent the correction timing of the differential control amount from being always in the middle of the PWM control cycle, and to prevent the response speed of the motor control from becoming slow. In particular, since the differential amount reflection time is set to be an integral multiple of the PWM control cycle, the differential control amount correction time and the PWM control command signal update time can be set substantially at the same time. It is possible to prevent the useless time from being generated between the timing and the update timing of the PWM control command signal, and to improve the responsiveness of the motor control.
[0067]
Therefore, according to the carriage control device 1, the response speed of the control of the CR motor is slow despite the fact that the speed detection timing is discrete and the motor control is performed by the PWM control (pulse width control). Can be prevented, and inappropriate motor control can be suppressed.
[0068]
In the carriage control device 1 of the above embodiment, the carriage control device 1 corresponds to the motor control device described in the claims, the carriage 31 corresponds to the driving target, and the linear encoder 39 and the carriage positioning unit 6 Corresponds to speed detecting means, the subtractor 12 corresponds to speed deviation calculating means, the proportional calculator 13 and the integral calculator 14 correspond to control amount calculating means, the differential calculator 15 corresponds to differential calculating means, The feedback operation processing unit 70 corresponds to control command value setting means, the differential value effective time timer 18 and the output correction processing unit 19 correspond to differential control amount correction means, and the PWM generation unit 8 corresponds to command signal output means.
[0069]
As described above, the embodiments of the present invention have been described. However, the present invention is not limited to the above embodiments, and can be implemented in various modes without departing from the gist of the present invention.
For example, in the above-described embodiment, the carriage control device in which the start trigger is generated in accordance with the detection timing of the edge detection signal has been described. However, the start trigger that generates the start trigger at regular intervals Ts (calculation sample intervals Ts) It is also possible to provide a fixed cycle generation circuit so as to generate a start trigger every fixed cycle Ts. Therefore, FIG. 9 shows timing values of respective parts of the second carriage control device which is configured by adding a start trigger fixed cycle generation circuit to the above-described carriage control device 1. The reference numerals of the respective components of the second carriage control device described below are the same as those of the carriage control device 1.
[0070]
In the second carriage control device, the cycle counter 63 captures the encoder interval capture Nn as the capture value Nn in response to the generation of the activation trigger, and the speed conversion unit 64 determines the moving speed Vn (= 1 / (Nn) based on the capture value Nn. × CLK), where CLK is a reference clock for measuring the encoder interval.)
[0071]
When the moving speed Vn is calculated, in the feedback calculation processing unit 70, the subtractor 12 calculates a speed deviation en (= r−Vn) obtained by subtracting the moving speed Vn from the target speed r. The calculator 14 calculates a proportional integral control amount PIn (= Kp · en + Ki · ∫en) based on the speed deviation en, and the differential calculator 15 calculates a differential control amount Dn (= Kd · (en-en) based on the speed deviation en. -1) / Ts) is calculated. Further, the differential value effective time timer 18 determines the completion time of the calculation of the differential control amount Dn based on the input time point of the activation trigger, and reflects the differential value reflection time until the differential amount reflection time elapses from the completion time of the calculation of the differential control amount Dn. The command signal S7 is output.
[0072]
That is, the feedback calculation processing unit 70 controls the rotation representing the differential reflection control amount B obtained by adding the proportional integral control amount PIn and the differential control amount Dn until the differential amount reflection time elapses from the time when each control amount is calculated. A speed control signal S3 is output, and after the differential amount reflection time has elapsed, a rotation speed control signal S3 representing a differential removal control amount A equal to the proportional integral control amount PIn is output.
[0073]
As described above, the rotation speed control signal S3 can be updated at least every fixed period Ts by detecting the moving speed Vn every fixed period Ts.
When the moving speed Vn is detected for each encoder edge as in the carriage control device 1, the input period of the encoder edge becomes longer when the moving speed of the carriage 31 is low. The update cycle of the signal S3 also becomes longer, and the possibility that proper motor control cannot be performed increases.
[0074]
On the other hand, when the moving speed Vn is detected at regular intervals Ts as in the case of the second carriage control device, by appropriately selecting the period Ts, the rotation speed control signal is dependent on the moving speed of the carriage. Since the update cycle of S3 does not become long, more stable motor control can be realized.
[0075]
Next, in the above-described embodiment, the carriage control device including the output correction processing unit 19 that corrects the differential control amount to 0 after the differential amount reflection time elapses has been described. After the time elapses, the differential control value calculated by the differential calculator 15 may be used as an initial value to reduce and correct the differential control value with time. As a result, even in a device having a characteristic that the control response time until the actual movement speed reaches the target speed becomes long, the rotation speed control signal S3 can be set to an appropriate value, and motor control is not performed. It can be prevented from becoming appropriate.
[0076]
Further, the output correction processing unit outputs a differential control value corrected by multiplying the differential control value calculated by the differential calculator 15 by a correction coefficient Rt (for example, Rt = 0.2) after the differential amount reflection time has elapsed. May be configured. As a result, the rotation speed control signal S3 can be set to an appropriate value even in a device having such a characteristic that the actual movement speed approaches the target speed with a short control response time, but a slight error remains. Can be prevented from becoming inappropriate.
[0077]
That is, the correction content in the output correction processing unit is not limited to the one in which the differential control amount is corrected to 0 after the elapse of the differential amount reflection time, and may be appropriately set to a correction content in which inappropriate motor control can be suppressed.
Next, measurement results of the movement speed of the carriage in the carriage control device, which are measured by the apparatus to which the present invention is applied and the apparatus of the conventional configuration, will be described.
[0078]
As the carriage control device to which the present invention is applied, a device configured to generate a start trigger at every constant period Ts (calculation sample interval Ts) is used, and the differential amount reflection time is 25% of the calculation sample interval Ts. Is set, the first measuring device is configured to correct the differential control value to 1/10 after the elapse of the differential amount reflection time, and a 25% value of the calculation sample interval Ts is set as the differential amount reflection time, and the differential amount reflection is performed. The measurement was performed using a second measuring device configured to correct the differential control value to 1/100 after a lapse of time. Further, as the carriage control device having the conventional configuration, the measurement was performed using a third measurement device having a configuration in which the differential control value was not corrected. Note that the same PID gain (Kp, Kd, Ki) is set for each of the first measuring device, the second measuring device, and the third measuring device.
[0079]
FIG. 10 shows the measurement result of the differential control value calculated by the differential calculator 15 in the first measurement device, and the measurement result of the moving speed (detection speed) output from the speed conversion unit 64 in the first measurement device. FIG. 11 shows the measurement result of the moving speed (detected speed) output from the speed converting unit 64 in the second measuring device, and FIG. 12 shows the moving speed (detected speed) output from the speed converting unit 64 in the third measuring device. FIG. 13 shows the measurement results of (speed). In each device, the target speed is set to 30 [ips], the device is started at time 0.05 [sec], and disturbance is forcibly generated at time 0.20 [sec] and time 0.30 [sec]. The change of each part was measured.
[0080]
From the measurement results in FIG. 13, it can be seen that in the conventional apparatus, disturbance convergence is poor, vibration occurs in the waveform at the time of start-up, and stable motor control cannot be realized. On the other hand, the measurement results in FIGS. 11 and 12 show that the disturbance convergence is superior to that of the conventional device, and that no vibration occurs in the waveform at the time of startup after startup.
[0081]
Further, it can be seen from the measurement waveform of FIG. 11 that the differential control value converges without diverging, because the differential control value is corrected to one-tenth after the elapse of the differential amount reflection time. By correcting the differential control value in this way, stable motor control can be realized.
[0082]
Therefore, from these measurement results, it can be seen that the carriage control device to which the present invention is applied is superior in disturbance convergence, has less disturbance of the rising waveform after startup, and can realize stable motor control as compared with the conventional device.
By the way, in the above-described embodiment, the motor drive circuit 4 is configured by an H bridge circuit as shown in FIG. 6, but the motor drive circuit is not limited to the one shown in FIG. A second motor drive circuit 81 shown in FIG. 7 including a DC motor drive IC 81a and an integration circuit 81b may be used.
[0083]
The integration circuit 81b includes resistors R1 and R2 and a capacitor C1, and is configured to integrate the PWM signal S6 from the second PWM generation unit 83 to generate a target speed command (a target current command that is an analog amount). I have.
The DC motor driving IC 81a detects the energizing current of the CR motor 35 and energizes the CR motor 35 so that the detected energizing current becomes a current value according to the target speed command (analog amount) from the integration circuit 81b. It is configured to control the current. In other words, the DC motor driving IC 81a performs speed feedback control for controlling the rotation speed of the CR motor 35 to the target speed by controlling the current supplied to the CR motor 35 to approach the target current command. The DC motor driving IC 81a is configured to be able to energize the CR motor 35 only when a driving command (Enable) is input, and based on the driving direction command, the rotation direction (forward direction) of the CR motor 35 is determined. Rotation, reverse rotation).
[0084]
However, when the second motor drive circuit 81 is used instead of the motor drive circuit 4 in FIG. 6, the ASIC 3 replaces the PWM generator 8 with a second PWM generator that inputs and outputs signals as shown in FIG. 83 must be used. That is, based on the motor control signal S5 from the control signal selector 72, the second PWM generation unit 83 outputs a PWM signal S6 and a drive direction command (command indicating a direction in which the CR motor 35 should be rotated), and further performs a comparison process. In accordance with the control switching signal S1 from the unit 62 and the input from the start setting register 50, a drive command (Enable) indicating whether or not to energize the CR motor 35 is output.
[0085]
By using the second motor drive circuit 81 configured as described above, the rotation speed of the CR motor 35 is controlled to be the target rotation speed, so that the moving speed of the carriage 31 can be controlled to the target speed.
Further, the motor drive circuit can be configured by a third motor drive circuit 87 as shown in FIG. The third motor drive circuit 87 is configured by omitting the integration circuit 81b in the second motor drive circuit 81.
[0086]
When the third motor drive circuit 87 is used, a drive signal generation unit 89 needs to be provided instead of the second PWM generation unit 83. The drive signal generation unit 89 is configured to generate and output a target current command (in other words, a target speed command) as an analog signal based on the motor control signal S5 output from the control signal selector 72. .
[0087]
That is, unlike the second PWM generation unit 83 that generates the PWM signal based on the motor control signal S5, the drive signal generation unit 89 is configured to output a target current command of an analog value. Therefore, the third motor drive circuit 87 does not need to include an integrating circuit unlike the second motor drive circuit 81.
[0088]
If the third motor drive circuit 87 configured as described above is used, the rotation speed of the CR motor 35 is controlled to be the target rotation speed, so that the moving speed of the carriage 31 can be controlled to the target speed.
Further, the PID control in the feedback calculation processing unit 70 is not limited to the PID control for calculating the proportional control amount, the integral control amount, and the differential control amount based on the speed deviation as in the above embodiment. For example, a differential leading PI-D control may be performed in which a proportional control amount / integral control amount is calculated based on the speed deviation, and a differential control amount is calculated based on the detected moving speed. May be calculated, and the proportional differential leading I-PD control for calculating the differential control amount and the proportional control amount based on the detected moving speed may be executed.
[0089]
Furthermore, S110 of the CR scanning process executed by the CPU 2 may be configured to set the differential amount reflection time according to a target speed determined by an external command. That is, even in an application in which the target speed fluctuates in response to an external command, S110 sets the differential amount reflection time according to the target speed, so that the differential amount reflection time can be set to an appropriate value. The rotation speed control signal S3 can be appropriately changed so that the later moving speed approaches the target speed.
[0090]
Thus, even in applications where the target speed fluctuates, the rotation speed control signal S3 can be set to an appropriate value, thereby preventing inappropriate motor control. In addition, S110 of the CR scanning processing configured as described above corresponds to a reflection time setting unit described in the claims.
[Brief description of the drawings]
FIG. 1 is a structural diagram of a carriage driving mechanism in an ink jet printer to which the present invention has been applied.
FIG. 2 is a block diagram illustrating a configuration of a carriage control device that controls a moving speed of the carriage.
FIG. 3 is a timing chart showing a state of each part of the carriage control device.
FIG. 4 is a flowchart illustrating the content of a CR scanning process executed by a CPU.
FIG. 5 is an explanatory diagram showing an internal configuration of a feedback calculation processing unit and a connection state between the feedback calculation processing unit and another device.
FIG. 6 is a configuration diagram illustrating a configuration of a motor drive circuit;
FIG. 7 is a configuration diagram illustrating a configuration of a second motor drive circuit.
FIG. 8 is a configuration diagram illustrating a configuration of a third motor drive circuit.
FIG. 9 is a timing value showing a state of each unit of the second carriage control device.
FIG. 10 is a measurement result of a differential control value calculated by a differential calculator in the first measuring device.
FIG. 11 is a measurement result of a moving speed output from a speed conversion unit in the first measuring device.
FIG. 12 is a measurement result of a moving speed output from a speed conversion unit in the second measuring device.
FIG. 13 is a measurement result of the moving speed output from the speed conversion unit in the third measuring device.
14A is an explanatory diagram showing a differential response obtained by capturing a disturbance in a continuous system, and FIG. 14B is an explanatory diagram showing a differential response obtained by capturing a disturbance in a discrete system.
[Explanation of symbols]
DESCRIPTION OF SYMBOLS 1 ... Carriage control device, 4 ... Motor drive circuit, 5 ... Register group, 6 ... Carriage positioning part, 7 ... Motor control part, 8 ... PWM generation part, 9 ... Clock generation part, 12 ... Subtractor, 13 ... Proportional operation , 14 ... integral calculator, 15 ... differential calculator, 16 ... calculator, 18 ... differential value effective time timer, 19 ... output correction processing, 19 ... output correction processing unit, 31 ... carriage, 35 ... CR motor, 39 ... a linear encoder, 70 ... a feedback operation processing section, 81 ... a second motor drive circuit, 83 ... a second PWM generation section, 87 ... a third motor drive circuit, 89 ... a drive signal generation section.

Claims (12)

モータで駆動する駆動対象物の運動速度を、離散的な速度検出タイミングで検出し、
前記検出タイミングで検出された検出速度と外部からの指令により設定された目標速度との偏差である速度偏差を算出し、
前記検出速度または前記速度偏差の比例値に応じた比例制御量と、前記速度偏差の積分値に応じた積分制御量とを含む速度制御量を算出し、
前記検出速度または前記速度偏差の微分値、あるいは、前記検出速度または前記速度偏差の単位時間あたりの変化量に応じた微分制御量を算出し、
前記速度制御量および前記微分制御量を用いて、前記モータを前記目標速度で駆動するための制御指令値を設定し、
前記制御指令値に基づき、前記駆動対象物の運動速度が前記目標速度となるように前記モータの回転速度をフィードバック制御するモータ制御方法であって、前記速度検出タイミングで前記検出速度が検出されて、該検出速度に基づき前記微分制御量を更新する時点を基準として、前記運動速度の検出周期よりも短い微分量反映時間が経過した後に、前記制御指令値の設定に用いる微分制御量を、前記更新した微分制御量よりも小さい値に補正すること、
を特徴とするモータ制御方法。
The movement speed of the driving object driven by the motor is detected at discrete speed detection timings,
Calculate a speed deviation which is a deviation between the detected speed detected at the detection timing and a target speed set by an external command,
A proportional control amount according to the proportional value of the detected speed or the speed deviation, and a speed control amount including an integral control amount according to an integral value of the speed deviation,
The differential value of the detected speed or the speed deviation, or the differential control amount according to the amount of change per unit time of the detected speed or the speed deviation,
Using the speed control amount and the differential control amount, set a control command value for driving the motor at the target speed,
A motor control method for performing feedback control on the rotation speed of the motor based on the control command value so that the movement speed of the driven object becomes the target speed, wherein the detected speed is detected at the speed detection timing. The differential control amount used for setting the control command value after the differential amount reflection time shorter than the detection period of the movement speed has elapsed, based on the time at which the differential control amount is updated based on the detected speed, Correcting to a value smaller than the updated differential control amount,
A motor control method characterized by the above-mentioned.
前記制御指令値の設定に用いる微分制御量を補正するにあたり、時間経過に応じて前記微分制御量を減少補正すること、
を特徴とする請求項1に記載のモータ制御方法。
In correcting the differential control amount used for setting the control command value, the differential control amount is corrected to decrease with time,
The motor control method according to claim 1, wherein:
前記制御指令値の設定に用いる微分制御量を補正するにあたり、前記微分制御量を一定値に補正すること、
を特徴とする請求項1に記載のモータ制御方法。
In correcting the differential control amount used for setting the control command value, correcting the differential control amount to a constant value,
The motor control method according to claim 1, wherein:
一定周期毎に前記微分制御量を算出すること、
を特徴とする請求項1から請求項3のいずれかに記載のモータ制御方法。
Calculating the differential control amount at regular intervals,
The motor control method according to any one of claims 1 to 3, wherein:
請求項1から請求項4のいずれかに記載のモータ制御方法であって、
前記制御指令値に基づき、前記モータを駆動制御するためのPWM制御指令信号を生成し、所定のPWM制御周期毎に前記PWM制御指令信号を出力すると共に、
前記PWM制御周期よりも長い時間が設定された前記微分量反映時間の経過後に、前記微分制御量を補正すること、
を特徴とするモータ制御方法。
The motor control method according to any one of claims 1 to 4, wherein
Based on the control command value, generates a PWM control command signal for driving and controlling the motor, and outputs the PWM control command signal every predetermined PWM control cycle,
Correcting the differential control amount after the elapse of the differential amount reflection time set for a time longer than the PWM control cycle;
A motor control method characterized by the above-mentioned.
前記目標速度に応じて設定された前記微分量反映時間の経過後に、前記微分制御量を補正すること、
を特徴とする請求項1から請求項5のいずれかに記載のモータ制御方法。
After the elapse of the differential amount reflection time set according to the target speed, correcting the differential control amount,
The motor control method according to any one of claims 1 to 5, wherein:
モータで駆動する駆動対象物の運動速度を、離散的な速度検出タイミングで検出する速度検出手段と、
前記速度検出手段にて検出された検出速度と外部からの指令により設定された目標速度との偏差である速度偏差を算出する速度偏差算出手段と、
前記検出速度または前記速度偏差の比例値に応じた比例制御量と、前記速度偏差の積分値に応じた積分制御量とを含む速度制御量を算出する制御量演算手段と、
前記検出速度または前記速度偏差の微分値、あるいは、前記検出速度または前記速度偏差の単位時間あたりの変化量に応じた微分制御量を算出する微分演算手段と、
前記速度制御量および前記微分制御量を用いて、前記モータを前記目標速度で駆動するための制御指令値を設定する制御指令値設定手段と、を備えて、
前記制御指令値に基づき、前記駆動対象物の運動速度が前記目標速度となるように前記モータの回転速度をフィードバック制御するモータ制御装置であって、前記速度検出タイミングで前記検出速度が検出されて、該検出速度に基づき前記微分演算手段が前記微分制御量を更新する時点を基準として、前記速度検出手段による前記運動速度の検出周期よりも短い微分量反映時間が経過した後に、前記制御指令値設定手段が前記制御指令値の設定に用いる微分制御量を、前記微分演算手段が更新した前記微分制御量よりも小さい値に補正する微分制御量補正手段、を備えたこと、
を特徴とするモータ制御装置。
Speed detection means for detecting the movement speed of the drive target driven by the motor at discrete speed detection timings,
Speed deviation calculating means for calculating a speed deviation which is a deviation between the detected speed detected by the speed detecting means and a target speed set by an external command,
A control amount calculating means for calculating a speed control amount including a proportional control amount according to the proportional value of the detected speed or the speed deviation, and an integral control amount according to an integral value of the speed deviation;
Differential operation means for calculating a differential value of the detected speed or the speed deviation, or a differential control amount according to a change amount per unit time of the detected speed or the speed deviation,
Using the speed control amount and the differential control amount, control command value setting means for setting a control command value for driving the motor at the target speed,
A motor control device that feedback-controls a rotation speed of the motor based on the control command value so that a movement speed of the driving target becomes the target speed, wherein the detection speed is detected at the speed detection timing. The control command value after a differential amount reflection time shorter than a detection cycle of the movement speed by the speed detecting unit has elapsed with reference to a time point at which the differential operation unit updates the differential control amount based on the detected speed. Differential control amount correction means for correcting the differential control amount used by the setting means for setting the control command value to a value smaller than the differential control amount updated by the differential operation means,
A motor control device characterized by the above-mentioned.
前記微分制御量補正手段は、前記制御指令値設定手段にて前記制御指令値の設定に用いる微分制御量を補正するにあたり、時間経過に応じて前記微分制御量を減少補正すること、
を特徴とする請求項7に記載のモータ制御装置。
The differential control amount correction means, when correcting the differential control amount used for setting the control command value in the control command value setting means, to reduce and correct the differential control amount over time,
The motor control device according to claim 7, wherein:
前記微分制御量補正手段は、前記制御指令値設定手段にて前記制御指令値の設定に用いる微分制御量を補正するにあたり、前記微分制御量を一定値に補正すること、
を特徴とする請求項7に記載のモータ制御装置。
The differential control amount correction means, when correcting the differential control amount used for setting the control command value by the control command value setting means, to correct the differential control amount to a constant value,
The motor control device according to claim 7, wherein:
前記微分演算手段は、一定周期毎に前記微分制御量を算出すること、
を特徴とする請求項7から請求項9のいずれかに記載のモータ制御装置。
The differential operation means calculates the differential control amount at regular intervals,
The motor control device according to any one of claims 7 to 9, wherein:
前記制御指令値に基づき、前記モータを駆動制御するためのPWM制御指令信号を生成し、所定のPWM制御周期毎に前記PWM制御指令信号を出力する指令信号出力手段を備え、
前記微分量反映時間は、前記PWM制御周期よりも長い時間が設定されていること、
を特徴とする請求項7から請求項10のいずれかに記載のモータ制御装置。
Command signal output means for generating a PWM control command signal for driving and controlling the motor based on the control command value, and outputting the PWM control command signal every predetermined PWM control cycle,
The differential amount reflection time is set to a time longer than the PWM control cycle.
The motor control device according to any one of claims 7 to 10, wherein:
前記目標速度に応じて、前記微分量反映時間を設定する反映時間設定手段を備えたこと、
を特徴とする請求項7から請求項11のいずれかに記載のモータ制御装置。
Reflection time setting means for setting the differential amount reflection time according to the target speed,
The motor control device according to any one of claims 7 to 11, wherein:
JP2002190106A 2002-03-25 2002-06-28 Motor control method and motor control apparatus Expired - Fee Related JP3690374B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2002190106A JP3690374B2 (en) 2002-06-28 2002-06-28 Motor control method and motor control apparatus
US10/383,558 US6812668B2 (en) 2002-03-25 2003-03-10 Apparatus, method and program for controlling an electric motor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002190106A JP3690374B2 (en) 2002-06-28 2002-06-28 Motor control method and motor control apparatus

Publications (2)

Publication Number Publication Date
JP2004040839A true JP2004040839A (en) 2004-02-05
JP3690374B2 JP3690374B2 (en) 2005-08-31

Family

ID=31700117

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002190106A Expired - Fee Related JP3690374B2 (en) 2002-03-25 2002-06-28 Motor control method and motor control apparatus

Country Status (1)

Country Link
JP (1) JP3690374B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006015724A (en) * 2004-03-31 2006-01-19 Seiko Epson Corp Method of calculating correction value and method of manufacturing printer
US7208902B2 (en) 2005-07-07 2007-04-24 Ricoh Company, Ltd. Digital speed controlling apparatus, digital motor controlling apparatus, paper conveying apparatus, digital speed control method, program for making computer execute this method, computer-readable recording medium, and imaging forming apparatus
CN112114539A (en) * 2020-09-25 2020-12-22 成都易慧家科技有限公司 Control system and method for double-motor-driven sliding door and window

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006015724A (en) * 2004-03-31 2006-01-19 Seiko Epson Corp Method of calculating correction value and method of manufacturing printer
JP4543939B2 (en) * 2004-03-31 2010-09-15 セイコーエプソン株式会社 Correction value calculation method and printer manufacturing method
US7208902B2 (en) 2005-07-07 2007-04-24 Ricoh Company, Ltd. Digital speed controlling apparatus, digital motor controlling apparatus, paper conveying apparatus, digital speed control method, program for making computer execute this method, computer-readable recording medium, and imaging forming apparatus
CN112114539A (en) * 2020-09-25 2020-12-22 成都易慧家科技有限公司 Control system and method for double-motor-driven sliding door and window
CN112114539B (en) * 2020-09-25 2023-11-28 成都易慧家科技有限公司 Control system and method for double-motor driven sliding door and window

Also Published As

Publication number Publication date
JP3690374B2 (en) 2005-08-31

Similar Documents

Publication Publication Date Title
US20020172510A1 (en) Method and apparatus for controlling motor
JP3687606B2 (en) Motor control method and apparatus
US7135831B2 (en) Method and device for controlling motor
JP4093191B2 (en) Motor control device and printer
US8217604B2 (en) Apparatus motor control method
JP3690374B2 (en) Motor control method and motor control apparatus
JP2005204392A (en) Motor controller
JP3757834B2 (en) Motor control device and printer
JP3956922B2 (en) Motor control method and control apparatus
JP2001078476A (en) Device and method for controlling dc motor
JP4026330B2 (en) Motor control method, motor control apparatus, printer, computer program, and computer system
JP5125370B2 (en) Drive control device and drive control method
JP2003186545A (en) Speed control method and speed control device
JP2007097365A (en) Motor control method and motor control device
JP3945362B2 (en) Printing apparatus having a DC motor
JP4265498B2 (en) Motor control method and control apparatus
JP3102792B2 (en) Scanner controller
JP3714253B2 (en) DC motor speed controller
JPH1127986A (en) Motor controller
JP2003186544A (en) Speed control method and speed control device
JP2004250133A (en) Sheet transport device, image forming apparatus, and positioning method
JPH0958081A (en) Controlling device for stop of spacing motor
JPH11221910A (en) Image output apparatus
JPH0947056A (en) Speed and position controller for motor
JP2580394B2 (en) DC servo motor control method

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050201

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050208

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050411

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050606

R150 Certificate of patent or registration of utility model

Ref document number: 3690374

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20090624

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100624

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110624

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120624

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120624

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20130624

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees