【解決手段】FB補償器は、モータ回転数を目標回転数に近づけるようにモータトルクをフィードバック制御するためのフィードバック演算を行なう。FB補償器は、フィードバック演算に用いられるFB補償器状態量を算出する際、モータ回転数と目標回転数との回転数偏差およびFB補償器状態量の前回値に基づいてFB補償器状態量の今回値を算出する。FB補償器は、モータ回転数が目標回転数に到達する前の所定の時点で、FB補償器状態量を初期値x
前記補償器は、前記モータの回転数を前記目標回転数に向けて増加させる際、前記モータの回転数が前記目標回転数よりも低い値に設定されたしきい回転数に到達した時点で前記切替処理を行なう、請求項1〜3のいずれかに記載のモータの制御装置。
【発明を実施するための形態】
【0014】
以下、本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰返さない。
【0015】
図1は、本実施の形態によるモータの制御装置を備える車両1の全体構成図である。車両1は、エンジン2と、変速機3と、駆動輪4と、吸気経路10と、排気経路20と、ターボチャージャ30と、電動過給機40と、インバータ50と、制御装置100とを備える。
【0016】
エンジン2は、車両1を走行させるための駆動力を発生する。
ターボチャージャ30は、排気経路20上に設けられたタービン31と、吸気経路10上に設けられたコンプレッサ32と、タービン31とコンプレッサ32とを接続する回転軸33とを含む。ターボチャージャ30は、エンジン2の排気エネルギを利用してタービン31を回転させ、その回転力でコンプレッサ32を駆動することにより圧縮した空気をエンジン2に供給する。コンプレッサ32で圧縮された空気は、インタクーラ11で冷却された後、エンジン2の各気筒に供給される。
【0017】
エンジン2の排気は、ターボチャージャ30のタービン31を通過した後、触媒で浄化されて車外に排出される。
【0018】
電動過給機40は、モータ41と、コンプレッサ42と、モータ41とコンプレッサ42とを接続する回転軸43とを含む。コンプレッサ42は、ターボチャージャ30のコンプレッサ32よりも上流側の吸気経路10上に設けられる。
【0019】
電動過給機40は、モータ41のトルク(以下「モータトルクτ
m」という)によってコンプレッサ32を回転させることによって、圧縮した空気をエンジン2に供給する。電動過給機40による過給圧は、コンプレッサ42の回転速度、すなわちモータ41の回転速度(以下「モータ回転数ω
m」という)に応じて変化する。排気エネルギが小さくターボチャージャ30による過給圧の応答遅れが生じ得る運転条件において、モータ41を駆動して電動過給機40による過給圧でアシストすることが可能である。
【0020】
インバータ50は、制御装置100からの制御信号によって作動し、図示しないバッテリなどから入力される直流電力を交流電力に変換してモータ41に出力する。モータトルクτ
mは、インバータ50からモータ41に供給される電流によって制御される。
【0021】
制御装置100は、図示しないCPU(Central Processing Unit)およびメモリを内蔵する。制御装置100は、モータトルクτ
mを制御することによってモータ回転数ω
mを制御する。これにより、電動過給機40による過給圧が調整される。
【0022】
制御装置100は、電動過給機40の作動中、モータ回転数ω
mと目標回転数ω
mrefとの偏差(以下、単に「回転数偏差」ともいう)を減少させるように、モータトルクτ
mをフィードバック制御する。これにより、エンジン2に供給される空気量が目標とする値になる。
【0023】
電動過給機40を始動する際において、制御装置100は、始動直後からモータトルクτ
mを最大トルクτ
maxにする。これにより、モータ回転数ω
mを目標回転数ω
mrefに向けて早期に増加させることができる。
【0024】
ところが、通常のフィードバック制御を行なう場合には、モータ回転数ω
mのオーバーシュート(モータ回転数ω
mが目標回転数ω
mrefを超える状態)が発生することが懸念される。
【0025】
図2は、本実施の形態に対する比較例として、後述する「初期値補償」を行なわない通常のフィードバック制御を行なう場合のモータトルクτ
mおよびモータ回転数ω
mの変化の一例を示す図である。
【0026】
上述のように、モータトルクτ
mは始動直後から最大トルクτ
maxとされ、モータ回転数ω
mが目標回転数ω
mrefに向けて早期に増加していく。
【0027】
ところが、通常のフィードバック制御を行なう場合には、モータ回転数ω
mのオーバーシュートが発生するまでは、モータ回転数ω
mの増加速度を減速させるためのトルク(以下「減速トルク」という)をモータ41から発生させることができないことが懸念される。
【0028】
たとえば、比例補償器と積分補償器とを組み合わせたPI補償器を用いてフィードバック制御を行なう場合、比例補償器は回転数偏差の減少に応じて減速トルク指令を算出するが、積分補償器は偏差が減少しても回転数偏差の履歴(累積値)に引きずられて大きな加速トルク指令を算出し続ける。その結果、
図2に示す例では、トータルとして、減速トルクの発生を開始するタイミングがオーバーシュート発生タイミングよりも遅れてしまっている。
【0029】
オーバーシュートが発生すると、エンジン2に供給される空気量が目標に対してずれてしまい、エンジン2のトルク制御性が低下することが懸念される。また、電動過給機40の共振周波数領域が目標回転数ω
mrefよりも少し高い領域にある場合には、オーバーシュートによってモータ回転数ω
mが共振周波数領域に含まれてしまい、電動過給機40が故障してしまうことも懸念される。
【0030】
上述の問題を解決すべく、本実施の形態による制御装置100は、モータ回転数ω
mが目標回転数ω
mrefに到達する前の所定の時点で、フィードバック演算に用いられる状態量(以下「FB補償器状態量」ともいう)を切り替える処理を行なう。制御装置100は、フィードバック演算を行なう際、回転数偏差およびFB補償器状態量の前回値に基づいてFB補償器状態量の今回値を算出する。したがって、FB補償器状態量を切り替える処理は、FB補償器状態量の初期値を切り替える処理に相当する。そのため、以下では、FB補償器状態量を切り替える処理を「初期値補償」ともいう。
【0031】
本実施の形態による制御装置100は、初期値補償後のFB補償器状態量の初期値を、回転数偏差の履歴に基づく値ではなく、回転数偏差の履歴に基づかない値に切り替える。具体的には、制御装置100は、初期値補償後のFB補償器状態量の初期値を、モータ回転数ω
mが目標回転数ω
mrefに到達する前からモータ41に減速トルクを発生させることが可能な値に設定する。これにより、オーバーシュートを抑制しながらモータ回転数ω
mを目標回転数ω
mrefに速やかに収束させることができる。
【0032】
図3は、初期値補償を行なう場合(本実施の形態によるフィードバック制御を行なう場合)のモータトルクτ
mおよびモータ回転数ω
mの変化の一例を示す図である。
図3に示すように、モータ回転数ω
mが目標回転数ω
mrefに到達する前の所定の時点で初期値補償を行なうことによって、モータ回転数ω
mが目標回転数ω
mrefに到達する前から減速トルクを発生される。これにより、オーバーシュートが抑制され、モータ回転数ω
mが目標回転数ω
mrefに速やかに収束される。
【0033】
以下、本実施の形態による電動過給機40のフィードバック制御の詳細について説明する。
【0034】
図4は、本実施の形態による電動過給機40のフィードバック制御系200の制御ブロック図である。フィードバック制御系200は、減算部210と、フィードバック(FB)補償器220と、トルク制御系230と、制御対象250と、推定器260とを含む。なお、減算部210、FB補償器220および推定器260は、制御装置100内部のハードウェアあるいはソフトウェアに相当する。トルク制御系230はインバータ50および電動過給機40のモータ41に相当する。制御対象250は電動過給機40におけるコンプレッサ42の回転軸43に相当する。
【0035】
減算部210は、回転数偏差(モータ回転数ω
mと目標回転数ω
mrefとの偏差)を算出してFB補償器220に出力する。
【0036】
FB補償器220は、回転数偏差を減少させるためのトルク指令値τ
mrefを算出するフィードバック演算を行ない、算出されたトルク指令値τ
mrefをトルク制御系230に出力する。本実施の形態によるFB補償器220は、比例補償器と積分補償器とを組み合わせたPI補償器であってもよいし、比例補償器と積分補償器と微分補償器とを組み合わせたPID補償器であってもよいし、他の補償器であってもよい。いずれの場合であっても、FB補償器220は、積分補償器を備えるとともに、上記の初期値補償を行なう機能を有している。
【0037】
トルク制御系230は、トルク指令値τ
mrefに応じたモータトルクτ
mを発生する。トルク制御系230が発生したモータトルクτ
mは、外乱d(摩擦力や負荷トルクなど)の影響を受けつつ制御対象250に伝達される。
【0038】
制御対象250は、外乱dの影響を受けた後のモータトルクτ
m(=τ
m−d)によって回転する。制御対象250の回転速度、すなわちモータ回転数ω
mは、減算部210にフィードバックされる。なお、フィードバックされるモータ回転数ω
mは、センサ等によって検出された値でもオブザーバ等によって推定された値でもよい。
【0039】
推定器260は、初期値補償を行なう時点(モータ回転数ω
mが目標回転数ω
mrefに到達する前の所定の時点)のモータ回転数ω
mおよびトルク指令値τ
mrefに基づいて、初期値補償に必要な値(後述するプラント状態量x
p[0]および外乱d[0]など)を推定してFB補償器220に出力する。
【0040】
FB補償器220は、フィードバック演算において、後述する式(3)に示すように、i番目の回転数偏差(ω
mref[i]−ω
m[i])およびi番目のFB補償器状態量(x
c[i])に基づいて、i+1番目のFB補償器状態量(x
c[i+1])を算出する演算を所定の周期で順次行なう。言い換えれば、FB補償器220は、回転数偏差の前回値およびFB補償器状態量の前回値に基づいて、FB補償器状態量の今回値を算出する。
【0041】
FB補償器220は、モータ回転数ω
mが目標回転数ω
mrefに到達する前の所定の時点で上記の初期値補償を行なう。すなわち、FB補償器220は、初期値補償後のFB補償器状態量の初期値を、初期値補償前の回転数偏差の履歴に基づかない値に切り替える。初期値補償後のFB補償器状態量の初期値は初期値補償後の過渡応答特性に影響する重要な値である。FB補償器220は、初期値補償後のFB補償器状態量の初期値を、モータ回転数ω
mが目標回転数ω
mrefに到達する前からモータ41に減速トルクを発生させることが可能な値に設定する。
【0042】
以下、初期値補償後のFB補償器状態量の初期値の設定方法の一例について説明する。
図5は、
図4に示すフィードバック制御系200の制御ブロックを簡易的に示す簡易ブロック図である。
図4に示すトルク制御系230の制御帯域は一般的にモータ回転数ω
mの制御帯域より十分高いため、初期値補償の設計においてはフィードバック制御系200を
図5に示すような簡易ブロック線図として考えることができる。
【0043】
図5の簡易ブロック線図において、制御対象250(プラント)の離散時間状態方程式、FB補償器220の離散時間状態方程式から、閉ループ系の状態方程式を導出し、閉ループ系の状態方程式を初期値補償の設計モデルとする。
【0044】
まず、制御対象250の離散時間状態方程式は、下記の式(1)、(2)で表される。
【0046】
ここで、「i」はフィードバック演算のタイミングを示すサンプル番号であり、0以上の整数である。添え字「[i]」はi番目に算出された値であることを表わし、添え字[i+1]はi+1番目に算出された値であることを表わす。以降の式(3)〜(8)も同様である。
【0047】
「x
p」は、m×1の制御対象250の状態ベクトル(以下「プラント状態量」ともいう)を表わす。「τ
m」は、FB補償器220の出力、すなわちモータトルクを表わす。「ω
m」は、制御対象250の出力、すなわちモータ回転数を表わす。「d」は、制御対象250に作用する外乱を表わす。「A
p」、「B
p」、「C
p」は、それぞれm×m、m×1、1×mの実数行列である。
【0048】
次に、FB補償器220の離散時間状態方程式は、下記の式(3)、(4)で表される。
【0050】
ここで、「x
c」は、n×1のFB補償器220の状態ベクトルを表わす。この「x
c」が上述の「FB補償器状態量」に相当する。以下では、初期値補償後のFB補償器状態量の初期値を「x
c[0]」とも記載する。
【0051】
「ω
mref」は、モータ41の目標回転数を表わす。「A
c」、「B
c」、「C
c」、「D
c」は、それぞれn×n、n×1、1×n、1×1の実数行列である。
【0052】
上記の制御対象250の離散時間状態方程式とFB補償器220の離散時間状態方程式とから、目標回転数ω
mrefからモータ回転数ω
mまでの全体の離散時間状態方程式を求めると、下記の式(5)、(6)になる。
【0054】
ここで、「x」、「u」、「A」、「B」、「C」は、以下の式の通りである。
【0056】
次に、初期値補償後の初期値x
c[0]を算出するために用いられる評価関数の設計について説明する。
【0057】
初期値補償後のモータ41の回転数の過渡応答特性およびトルク振幅は、初期値補償後の初期値x
c[0]によって変化する。そこで、本実施の形態においては、初期値x
c[0]を決めるために用いる評価関数Jを、応答収束性に関する評価関数J
sおよびトルク振幅に関する評価関数J
tを用いて定義する。
【0058】
まず、応答収束性に関する評価関数J
sは下記の式(7)、(8)のように定義される。応答収束性に関する評価関数J
sは、初期値補償後からモータ回転数ω
mが目標回転数ω
mrefに収束するまでの回転数偏差を累積した量(
図3の面積A)に相当する。したがって、応答収束性に関する評価関数J
sが小さいほど、モータ回転数ω
mが早期に目標回転数ω
mrefに収束することを示す。
【0060】
ここで、「e[i]」は、x[k]−x[∞]で表される状態偏差ベクトルを表わす。e[∞]は、目標回転数ω
mrefおよび外乱dを一定とした場合の目標定常状態である。式(9)〜(11)においても同様である。「Qs」は、(n+m)×(n+m)の重み行列である。
【0061】
応答収束性に関する評価関数J
sは、式(8)に示すように、モータ回転数ω
mの定常状態への収束性を評価可能とするために、状態偏差ベクトルe[i]に関する2次形式で定義される。
【0062】
次に、トルク振幅に関する評価関数J
tは、下記の式(9)、(10)、(11)のように定義される。トルク振幅に関する評価関数J
tは、初期値補償後からモータトルクτ
mが定常トルクに収束するまでモータトルクτ
mと定常トルクとの偏差を累積した量(
図3の面積B)に相当する。したがって、トルク振幅に関する評価関数J
tが小さいほど、モータトルクτ
mが定常トルクに早期に収束することを示す。
【0064】
ここで、「Q
t」は、(n+m)×(n+m)の重み行列である。
トルク振幅に関する評価関数J
tは、式(11)に示すように、トルク振幅の定常状態への収束性を評価可能とするために、状態偏差ベクトルe[i]に関する2次形式で定義される。
【0065】
そして、評価関数Jは、下記の式(12)のように定義される。
【0067】
ここで、「q
t」は、モータ回転数ω
mの応答収束性とトルク振幅との性能バランスを調整するための重み係数である。たとえば、トルク振幅をより優先的に低減させたい場合には、「q
t」の値を相対的に大きく設定すればよい。
【0068】
式(12)に示すように、評価関数Jは、応答収束性に関する評価関数J
sとトルク振幅に関する評価関数J
tとの組合せで表される、状態偏差ベクトルe[i]に関する2次形式で定義される。なお、応答収束性、トルク振幅の他にも、状態偏差ベクトルe[i]の2次形式で定式化できるものであれば、たとえば周波数整形や初期値の不連続性などに関する評価関数を追加するようにしてもよい。
【0069】
次に、初期値x
c[0]の算出について説明する。初期値補償後の応答収束性を高めつつトルク振幅を低減させるために、上記の式(12)で表わした評価関数Jを最小化する状態量x
cの値を算出し、算出された値を初期値補償後のFB補償器状態量の初期値x
c[0]に設定する。
【0070】
評価関数Jを最小とする値(すなわち初期値x
c[0])は、たとえば離散リヤプノフ方程式の解Pと、初期値補償時のプラント状態量x
p[0]、目標回転数ω
mref[0]、外乱d[0]を用いて算出することができる。
【0071】
離散リヤプノフ方程式およびその解Pは下記の式(13)、(14)でそれぞれ表現され、初期値x
c[0]は下記の式(15)のように表現することができる。
【0073】
u[i]は既に述べたように目標回転数ω
mref[i]と外乱d[i]とで表される量である。したがって、式(15)において、u[0]は初期値補償時の目標回転数ω
mref[0]と外乱d[0]とで表される量である。
【0074】
本実施の形態によるFB補償器220は、初期値補償を行なう際、評価関数Jを最小化する初期値x
c[0]の値を上記の式(15)に従って算出し、初期値補償後のFB補償器状態量の初期値を、初期値補償前の回転数偏差の履歴に基づく過去の値ではなく、回転数偏差の履歴に基づかない初期値x
c[0]に切り替える。これにより、応答収束性を向上しながらトルク振幅を低減させることができる。
【0075】
初期値x
c[0]は、初期値補償を行なう時点のプラント状態量x
p[0]、目標回転数ω
mref[0]、外乱d[0]を用いて算出される。プラント状態量x
p[0]および外乱d[0]は推定器260によって推定される。なお、プラント状態量x
p[0]および外乱d[0]を検出するセンサを備える場合には、初期値補償を行なう時点におけるセンサ検出値を用いるようにしてもよい。
【0076】
図6は、FB補償器220が初期値補償を行なう際の処理手順を示すフローチャートである。このフローチャートは所定周期で繰り返し実行される。
【0077】
ステップ(以下、ステップを「S」と略す)10にて、FB補償器220は、モータ回転数ω
mがしきい値ω
ivcに達したか否かを判定する。この判定は、モータ回転数ω
mが目標回転数ω
mrefに到達する前であって、かつモータ回転数ω
mが目標回転数ω
mrefに近い値であるか否かを判定するための処理である。したがって、モータ回転数ω
mを目標回転数ω
mrefに向けて増加させる際にはしきい値ω
ivcは目標回転数ω
mrefよりも所定値だけ低い値に設定され、モータ回転数ω
mを目標回転数ω
mrefに向けて減少させる際にはしきい値ω
ivcは目標回転数ω
mrefよりも所定値だけ高い値に設定される。
【0078】
モータ回転数ω
mがしきい値ω
ivcに未だ達していない場合(S10にてNO)、FB補償器220は、処理を終了する。
【0079】
モータ回転数ω
mがしきい値ω
ivcに達した場合(S10にてYES)、FB補償器220は、S20にて上記の式(15)を用いてFB補償器状態量の初期値x
c[0]を算出する。そして、FB補償器220は、S30にて、FB補償器状態量を初期値x
c[0]に切り替える初期値補償を行なう。
【0080】
以上のように、本実施の形態によるFB補償器220は、モータ回転数ω
mが目標回転数ω
mrefに到達する前の所定の時点で、FB補償器状態量を初期値x
c[0]に切り替える初期値補償を行なう。初期値x
c[0]は、モータ回転数ω
mが目標回転数ω
mrefに到達する前からモータ41に減速トルクを発生させることが可能な値に設定される。これにより、オーバーシュートを抑制しながらモータ回転数ω
mを目標回転数ω
mrefに速やかに収束させることができる。
【0081】
なお、上述の実施の形態においてはモータ41を車両1のエンジンに過給圧を供給する電動過給機40に用いられるものとして説明したが、本発明を適用可能なモータの用途は必ずしも車両用の電動過給機に限定されるものではない。
【0082】
また、上述の実施の形態においては、初期値補償を行なう「所定の時点」をモータ回転数ω
mがしきい値ω
ivcに達した時点とした(
図6のS10参照)。しかしながら、初期値補償を行なう「所定の時点」は、モータ回転数ω
mがしきい値ω
ivcに達した時点に限られず、たとえばモータ41の始動開始から一定時間が経過した時点や、モータトルクτ
mが最大トルクτ
maxに到達してから一点時間が経過した時点などであってもよい。
【0083】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。