本発明の実施の形態を実施例に基づいて以下の順序で説明する。
A.システムの全体構成:
B.第1の通電開始制御:
C.第2の通電開始制御:
D.第3の通電開始制御:
E.第4の通電開始処理:
F.変形例:
A.システムの全体構成:
図1は、本発明の一実施例としての内燃機関の制御装置を含むシステムの概略構成を示す説明図である。図示するように、このシステム10は、主に、内燃機関20(以下、エンジン20と呼ぶ),エンジン20に圧縮空気を過給する過給器30(以下、ターボチャージャ30と呼ぶ),エンジン20に空気を供給する吸気配管40,エンジン20からの排気を排出する排気配管50,エンジン20全体を制御するエンジンECU90などから構成され、車両に搭載されている。
エンジン20は、気筒内に燃料を直接噴射する直噴タイプのガソリンエンジンである。エンジン20は、吸気配管40を通過する空気を吸気弁21の開弁によって気筒内に吸入し、これをピストン23で圧縮してインジェクタ25から噴射される燃料との混合気を形成し、これを点火プラグ26の着火により燃焼させる。この燃焼行程により、ピストン23が気筒内を下降して、クランクシャフト27を回転させる。燃焼行程後、エンジン20は、排気弁22の開弁によって気筒内の排ガスを排気配管50へ排出する。なお、排気配管50には触媒55が設けられており、触媒55の作用で浄化された排ガスが図示しないマフラなどを介して、外部に排出されている。
このエンジン20は、インジェクタ25からの燃料噴射により点火プラグ26の近傍に濃混合気を形成して燃料させるため、少ない燃料量で運転できると共に、ターボチャージャ30により気筒内に多量の空気を吸入する。なお、クランクシャフト27近傍にはクランク角センサ29が備えてあり、クランクシャフト角を検出している。この検出値は、エンジンECU90に出力される。
クランクシャフト27の近傍には、オルタネータ70が配置されている。オルタネータ70は、クランクシャフト27と連結し、クランクシャフト27の動力により回転する。オルタネータ70は、低圧バッテリ72,DC/DCコンバータ73を介した高圧バッテリ75と電気的に接続しており、オルタネータ70で発電した電力の一部は低圧バッテリ72(12V)および高圧バッテリ75(36V)に充電されている。この高圧バッテリ75の近傍には、電圧センサ78が設けられており、検出された電圧値は、後述するモータECU100に出力されている。なお、DC/DCコンバータ73や高圧バッテリ75は、必ずしも必要ではない。例えば、モータ性能等により、他の発電機から直接給電するシステムや、低電圧(車両の既存の電源電圧)を利用するシステムを用いるものであっても良い。
ターボチャージャ30は、吸気配管40と排気配管50との間に配置され、吸気配管40側のコンプレッサホイール31、排気配管50側のタービンホイール32、両ホイールを連結するタービンシャフト33などを備えている。このターボチャージャ30は、エンジン20から排出される排ガスのエネルギにより、タービンシャフト33を回転させることで圧縮空気をエンジン20に過給している。
このタービンシャフト33と同軸上には、電動機60(以下、モータ60と呼ぶ)が配置されている。このモータ60は、タービンシャフト33と連結して、所定のタイミングでタービンシャフト33の回転を補助(アシスト)する。例えば、エンジン20の回転が低速であるため排ガスのエネルギが小さく、十分な過給ができない場合には、排ガスのエネルギに加えて、モータ60の出力によりタービンシャフト33を回転させる。こうしたモータ60によるアシストを行なうことで、過給の指令から効果が現れるまでの経過時間であるターボラグを解消し、車両の低速トルクを向上することができる。
モータ60は、モータ60全体を制御するモータECU100やモータ60の駆動回路110と電気的に接続されている。モータ60は、エンジンECU90からモータ60の駆動要求を受けたモータECU100が、所定の駆動信号を駆動回路110に出力することで、回転駆動される。つまり、モータ60は、駆動要求を受けた場合に駆動し、それ以外の場合にはタービンシャフト33により空転している。駆動回路110の近傍には、駆動回路110からモータ60に出力される電流を測定するための電流センサ79が設けられている。測定された電流値は、モータECU100に出力される。
エンジン20に接続される吸気配管40には、空気の流れの上流から順に、エアクリーナ41,ターボチャージャ30のコンプレッサホイール31,インタークーラ44,吸入する空気量を調整する電子スロットルバルブ45,サージタンク46などが配置されている。外部から取り込まれる空気は、エアクリーナ41で浄化され、コンプレッサホイール31により圧縮され、インタークーラ44により冷却されて、サージタンク46を経てエンジン20に供給される。
インタークーラ44とエアクリーナ41との間には、吸気配管40のバイパス路43が設けられ、バイパス路43のインタークーラ44側にはエアバイパスバルブ49が備えられている。エアバイパスバルブ49は、開閉弁を備え、車両の減速時などに開弁し、コンプレッサホイール31により過給される空気のうち、過剰分をバイパス路43へ逃がしている。なお、図示は省略するが、排気配管50側にも、タービンホイール32を迂回するバイパス路が設けられており、バイパス路の入口近傍に設けたウェイストゲートバルブにより、タービンホイール32側へ流れる排ガスの量を調整している。
エアフロメータ42は、エアクリーナ41の下流に設けられ、吸入空気量Qを検出する。また、圧力センサ47および温度センサ48は、サージタンク46に設けられ、吸気配管40の吸気圧力P(ターボチャージャ30による過給圧)、吸気温度Tを、それぞれ検出している。こうして検出された吸入空気量Q,吸気圧力P,吸気温度Tや、上述のクランク角、さらにはアクセルポジションセンサ80からのアクセル開度などは、エンジンECU90に出力される。
エンジンECU90は、こうした検出値からエンジン20の運転状態を把握し、各種アクチュエータを制御する。例えば、インジェクタ25に燃料噴射の指令を出力し、電子スロットルバルブ45にスロットル開度を調整する指令を出力し、エアバイパスバルブ49に開度調整の指令を出力し、モータECU100にモータ60の駆動要求を出力している。
こうしたシステム10に使用されるモータ60は、回転子に永久磁石を備えたブラシレスDCモータである。つまり、この回転子を覆う固定子側に巻線(コイル)を有し、固定子側に回転磁界を形成することで、所定の回転トルクを発生する。このモータ60は、高圧バッテリ75を電源とし、駆動回路110を介した三相交流により駆動する。すなわち、駆動回路110は、高圧バッテリ75からの直流電力の供給を受け、これを交流電力に変換するインバータ回路である。
図2は、モータ60の駆動回路110を中心とする回路構成を示す説明図である。図示するように、モータ60の固定子はU相,V相,W相の3つのコイルを備えており、駆動回路110は、U,V,Wの各相に対応するスイッチング素子(S1,S2)、(S3,S4)、(S5,S6)と、各スイッチング素子に対応した還流ダイオードDとから構成されている。つまり、モータ60の各相コイルは、2つのスイッチング素子と2つの還流ダイオードDを一組とする回路により制御される。各組の回路の両端には高圧バッテリ75の電源電圧が印加されている。
こうした構成の駆動回路110に電気的に接続するモータECU100は、所定のタイミングで各スイッチング素子をON,OFFさせることで、モータ60全体を制御する。
具体的には、モータECU100は、各スイッチング素子のON,OFF操作を制御することで、モータ60のU,V,Wの各相コイルへの電流とその方向を順番に切替える。こうして固定子に流す電流を制御することで、固定子に回転磁界を発生させている。なお、本実施例では、各相コイルに順次、電気角で120度の区間通電を行なう120度通電方式により電流の制御が行なわれている。
モータ60には、U相,V相,W相のそれぞれに対応する3つの磁極センサ65が設けられている。この磁極センサ65は、ホール素子を利用して回転子の位置(磁極の位相)を検出するホールセンサである。磁極センサ65は、回転子が所定位置まで回転して、永久磁石の磁束が閾値を超えると所定電圧(ホール電圧)を発生させる。モータECU100は、磁極センサ65からの出力を受けて、適切なタイミングで各相コイルに通電を行なう。なお、本実施例では、モータECU100は、磁極センサ65の出力からモータ60の回転数を算出しているが、磁極センサ65の出力によらず誘起電圧を利用して回転数を算出するものであっても良い。
図3は、磁極センサ65の出力と通電タイミングとの関係の一例を示した説明図である。この例では、モータ60のU相に対応する磁極センサ65の出力信号と、U相電流の波形を示している。図示するように、磁極センサ65の出力信号の立上りから、電気角で所定量分、遅角したタイミング(遅角量θ0)で通電が行なわれている。換言すると、各相コイルへの通電は、磁極センサ65の出力信号から所定の位相差をもって開始され、120度に対応した時間の経過後、終了する。こうしたタイミングで通電を行なう場合、U相に流した電流は図3に示したように略台形状の波形となる。図示する電流波形は、定格電源電圧V0、モータ出力W0時の波形であるものとし、以下、これを基本波形と呼ぶ。
この遅角量θ0は、モータ60が高出力となるように設定されている。具体的には、電流波形の台形の上底の略中点をピークPmと呼ぶと、ある電気角αのタイミング(位相)で基本波形のピークPmが来るように、遅角量θ0が設定されている。
こうして各相に現れる電流波形は、モータ60の使用条件、具体的には電源電圧や回転数、あるいは、モータ負荷などの影響を受けて変化するため、電流波形のピークの位相が電気角αからずれる場合がある。本実施例のモータECU100は、こうした電流波形の性状に影響を与える物理量を検出し、これに基づいて遅角量(位相)を調整する通電開始制御を実行する。そして、モータECU100は、エンジンECU90と協働して、モータ60の運転を制御しつつ、内燃機関を制御する。つまり、モータ60,各種センサおよびアクチュエータ,駆動回路110,モータECU100およびエンジンECU90は、本発明の内燃機関の制御装置を構成する。以下、内燃機関の制御装置における通電開始制御の具体的な処理内容について説明する。
B.第1の通電開始制御:
図4は、第1の通電開始制御の処理の流れを示すフローチャートである。この処理は、図3に示す一つの電流波形(正の電流)の通電を行なう処理であり、エンジンECU90からモータ60の駆動要求を受けたタイミングで、モータECU100により実行される処理である。
処理を開始すると、モータECU100は、磁極センサ65の信号を取得し(ステップS400)、信号の立上りのタイミングであるか否かを判断する(ステップS410)。
ステップS410で、取得した磁極センサ65の信号が、信号の立上りのタイミングではない(No)と判断した場合には、NEXTに抜けて、所定のタイミングで本処理を繰り返す。
他方、ステップS410で、信号の立上りのタイミングである(Yes)と判断した場合には、電源電圧V1を取得する(ステップS420)。モータECU100は、電圧センサ78から取得した電源電圧V1の値から、電流の遅角量θ1を算出する(ステップS430)。モータECU100は、電源電圧Vと電流遅角量θとの関係を定めたマップを予め備えており、このマップを参照して電流遅角量θ1を算出している。
図5は、電源電圧Vと電流遅角量θとの関係を定めたマップの説明図である。図中の横軸は、電源電圧Vを、縦軸は電流遅角量θを、それぞれ示している。図示するように、定格電源電圧V0を基準として、電源電圧Vが低下する(0.9・V0)と電流遅角量θは減少し、電源電圧Vが上昇する(1.1・V0)と電流遅角量θは増加する。つまり、電源電圧Vが小さいほど、遅角量θを小さく設定し、早いタイミングで通電を開始することとなる。
こうして遅角量θ1を算出した後、モータECU100は、電気角で表わされる遅角量θ1を時間t1に換算する(ステップS440)。モータECU100は、磁極センサ65の出力からモータ60の回転数Nを常に検出している。このステップでは、現状のモータ60の回転数N1から遅角量θ1を時間t1に換算している。
続いて、モータECU100は、経過時間tのカウントを開始し(ステップS450)、経過時間tが、遅角量θ1に対応する時間t1を超えたか否かを判断する(ステップS460)。
ステップS460で、経過時間tが時間t1を超えていない(No)と判断した場合には、ステップS450へ戻り、経過時間tのカウントを継続する。他方、ステップS460で、経過時間tが時間t1を越えている(Yes)と判断した場合には、電源電圧V1に基づいて設定した遅角量θ1に至ったとして、通電を開始する(ステップS470)。この通電は、上述のように、120度通電方式であり、電気角で120度相当の時間、通電を行ない、その後通電を終了する。こうして通電した後、一連の処理を終了し、NEXTに抜け、所定のタイミングで本処理が繰り返される。
以上のように、正の電流制御を実行した後、同様に、負の電流制御を実行する。正と負との電流制御を繰り返すことで、モータ60は回転する。なお、負の電流制御の場合には、磁極センサ65の立下りのタイミングに基づいて、通電開始制御が実行される。
図6は、第1の通電開始制御を適用した場合の電流波形の様子を示す説明図である。図中の上段は、図3で示した電流波形の一部を取り出した正の電流波形(基準波形)を、中段は、第1の通電開始制御を適用しない場合の正の電流波形を、下段は、第1の通電開始制御を適用した場合の正の電流波形を、それぞれ示している。例えば、基準波形の状態でモータ60が運転されている場合において、電源電圧Vが低下すると、電流波形の立上りの傾きが小さくなる。この場合、図6の中段に示すように、電流波形のピークの位相は、電気角αから電気角γ分遅角する方向へずれる。そのため、モータ出力は低下する。
こうした通電状態に対して、第1の通電開始制御では、電源電圧Vの低下により遅角量θを減らす制御を行なうため、通電開始のタイミングはθ0−θ1分だけ進角される。その結果、電流波形のピークの位相が電気角αに近づき(一致し)、モータ出力の低下を抑制することができる。
図7は、電流遅角量とモータ出力と電源電圧との関係を示す説明図である。例えば、定格電源電圧V0を基準に、最もモータ出力が高い電流遅角量θ0で通電が行なわれている状態で、第1の通電開始制御を適用しない場合には、電源電圧Vが変動するとモータ出力は大きく低下する。これに対し、第1の通電開始制御を適用することで、電源電圧に応じた適切な電流遅角量でモータを運転することができる。
以上、第1の通電開始制御によれば、電源電圧が低下すると通電開始を進角側に制御する。したがって、電源電圧に対応した適切なタイミングで通電することができ、モータ出力の低下を抑制することができる。
特に、充電、放電を繰り返す直流の高圧バッテリ75を電源とし、モータ60駆動時に大きな電流を使用するアシスト用のモータ60では、電源電圧が変動し、その影響が電流波形に現れる。こうしたモータ60の制御に第1の通電開始制御を適用することで、適切にモータ60の制御を行なうことができる。また、モータ出力の低下を抑えるため、ターボチャージャ30のアシストを適切に行なうことができると共に、内燃機関の制御を適切に行なうことができる。
C.第2の通電開始制御:
図8は、第2の通電開始制御の処理の流れを示すフローチャートである。この処理は、第1の通電開始制御と同様、図3に示す一つの電流波形(正の電流)の通電を行なう処理であり、エンジンECU90からモータ60の駆動要求を受けたタイミングで、モータECU100により実行される処理である。
処理を開始すると、モータECU100は、磁極センサ65の信号の取得し(ステップS500)、信号の立上りのタイミングであるか否かを判断する(ステップS510)。ステップS510で、信号の立上りのタイミングではない(No)と判断した場合には、NEXTに抜けて、所定のタイミングで本処理を繰り返す。他方、ステップS510で、信号の立上りのタイミングである(Yes)と判断した場合には、電源電圧V2を取得する(ステップS520)。ここまでの処理は、第1の通電開始制御とほぼ同じ処理である。
続いて、モータECU100は、モータ60の回転数Nを取得する(ステップS530)。具体的には、磁極センサ65の出力から検出している現状の回転数N2を取り込んでいる。
電源電圧V2と回転数N2とを取得したモータECU100は、これらに基づいて、電流の遅角量θ2を算出する(ステップS540)。モータECU100は、電源電圧Vと遅角量θと回転数Nとの関係を定めたマップを予め備えており、このマップを参照して電流遅角量θ2を算出している。
図9は、電源電圧Vと電流遅角量θと回転数Nとの関係を定めたマップの説明図である。図中の横軸は、電源電圧Vを、縦軸は電流遅角量θを、それぞれ示している。図示するように、このマップは、図5に示したマップと同様、電源電圧Vが小さいほど遅角量θが小さくなるように設定されている。加えて、回転数Nが大きくなるほど(低回転から高回転へ移行するほど)、遅角量θが小さくなるように設定されると共に、電源電圧Vの低下による遅角量θの減少量は、低回転時よりも高回転時の方が大きくなるように設定されている。つまり、電源電圧Vが小さく、回転数Nが大きいほど、遅角量θを小さく設定し、早いタイミングで通電を開始することとなる。
こうして遅角量θ2を算出した後の処理は、第1の通電開始制御とほぼ同じ処理である。具体的には、モータECU100は、電気角で表わされる遅角量θ2を時間t2に換算し(ステップS550)、経過時間tのカウントを開始し(ステップS560)、経過時間tが、遅角量θ2に対応する時間t2を超えたか否かを判断する(ステップS570)。
ステップS570で、経過時間tが時間t2を超えていない(No)と判断した場合には、ステップS560へ戻り、経過時間tのカウントを継続する。他方、ステップS570で、経過時間tが時間t2を越えている(Yes)と判断した場合には、通電を開始する(ステップS580)。モータECU100は、120度通電方式により通電を行ない、その後通電を終了する。こうして一連の処理を終了し、NEXTに抜け、所定のタイミングで本処理が繰り返される。なお、こうした正の電流制御を実行した後、負の電流制御を実行して、モータ60を駆動する。
以上の第2の通電開始制御によれば、電源電圧の変動の影響に加えて、回転数の影響を考慮して、電流の遅角量を設定する。一般に、モータの回転数が大きくなると、逆起電力による電圧降下が大きくなり、実際に働く電圧が小さくなる。これを図6の電流波形で説明すると、回転数が大きくなると、電流波形の立上りの傾きが小さくなり、電流波形のピークの位相が遅角する方向へずれ、モータ出力は低下することとなる。これに対して、第2の通電開始制御では、回転数が大きくなると遅角量を小さく設定し、通電開始を進角側に制御する。したがって、電源電圧および回転数に対応した適切なタイミングで通電することができ、モータ出力の低下を抑制することができる。その結果、ターボチャージャ30のアシストを適切に行ない、内燃機関の制御を適切に行なうことができる。
D.第3の通電開始制御:
図10は、第3の通電開始制御の処理の流れを示すフローチャートである。この処理は、第1の通電開始制御と同様、図3に示す一つの電流波形(正の電流) の通電を行なう処理であり、エンジンECU90からモータ60の駆動要求を受けたタイミングで、モータECU100により実行される処理である。
処理を開始すると、モータECU100は、磁極センサ65の信号の取得し(ステップS600)、信号の立上りのタイミングであるか否かを判断する(ステップS610)。ステップS610で、信号の立上りのタイミングではない(No)と判断した場合には、NEXTに抜けて、所定のタイミングで本処理を繰り返す。
他方、ステップS610で、信号の立上りのタイミングである(Yes)と判断した場合には、電流振幅A3を算出する(ステップS620)。モータECU100がエンジンECU90から取得するモータ60の駆動要求は、モータ負荷としての目標回転数である。モータECU100は、エンジンECU90から目標回転数を取得し、現状のモータ60の回転数Nを目標回転数に近づけるため、いわゆるPI制御を実行している。具体的には、目標回転数と現状の回転数Nとの差分に基づいて、モータ60への最大電流量を算出して、通電を行なっている。こうして算出される最大電流量が、このステップでの電流振幅A3に該当する。モータ負荷が大きい場合には電流振幅A3は大きくなり、モータ負荷が小さい場合には電流振幅A3も小さくなる。
続いて、モータECU100は、算出した電流振幅A3から、電流の遅角量θ3を算出する(ステップS630)。モータECU100は、電流振幅Aと遅角量θとの関係を定めたマップを予め備えており、このマップを参照して電流遅角量θ3を算出している。
図11は、電流振幅Aと電流遅角量θの関係を定めたマップの説明図である。図中の横軸は、電流振幅Aを、縦軸は電流遅角量θを、それぞれ示している。図示するように、このマップは、電流振幅Aが大きいほど遅角量θが小さくなるように設定されている。つまり、電流振幅Aが大きいほど、遅角量θを小さく設定し、早いタイミングで通電を開始することとなる。
こうして遅角量θ3を算出した後の処理は、第1の通電開始制御とほぼ同じ処理である。具体的には、モータECU100は、電気角で表わされる遅角量θ3を時間t3に換算し(ステップS640)、経過時間tのカウントを開始し(ステップS650)、経過時間tが、遅角量θ3に対応する時間t3を超えたか否かを判断する(ステップS660)。
ステップS660で、経過時間tが時間t3を超えていない(No)と判断した場合には、ステップS650へ戻り、経過時間tのカウントを継続する。他方、ステップS660で、経過時間tが時間t3を越えている(Yes)と判断した場合には、通電を開始する(ステップS670)。モータECU100は、120度通電方式により通電を行ない、その後通電を終了する。こうして一連の処理を終了し、NEXTに抜け、所定のタイミングで本処理が繰り返される。なお、こうした正の電流制御を実行した後、負の電流制御を実行して、モータ60を駆動する。
図12は、第3の通電開始制御を適用した場合の電流波形の様子を示す説明図である。図中の上段は、図3で示した電流波形の一部を取り出した正の電流波形(基準波形)を、中段は、第3の通電開始制御を適用しない場合の正の電流波形を、下段は、第3の通電開始制御を適用した場合の正の電流波形を、それぞれ示している。例えば、基準波形の状態でモータ60が運転されている場合において、モータ負荷、つまり電流振幅Aが増大したとすると、図6の中段に示すように、電流波形のピークの位相は、電気角αから電気角γ分遅角する方向へずれる。なお、理解を容易にするため、ここでは電流波形の傾きは変化しないものとする。
こうした通電状態に対して、第3の通電開始制御では、電流振幅Aが大きいほど遅角量θを減らす制御を行なうため、通電開始のタイミングはθ0−θ3分だけ進角される。その結果、電流波形のピークの位相が電気角αに近づき(一致し)、モータ出力の低下を抑制することができる。
以上の第3の通電開始制御によれば、電流振幅(モータ負荷)が大きいほど、遅角量θ3を小さく設定し、通電開始を進角側に制御する。したがって、電流振幅に対応した適切なタイミングで通電することができ、モータ出力の低下を抑制することができる。その結果、ターボチャージャ30のアシストを適切に行ない、内燃機関の制御を適切に行なうことができる。
E.第4の通電開始処理:
図13は、第4の通電開始制御の処理の流れを示すフローチャートである。この処理は、第1の通電開始制御と同様、図3に示す一つの電流波形(正の電流)の通電を行なう処理であり、エンジンECU90からモータ60の駆動要求を受けたタイミングで、モータECU100により実行される処理である。
処理を開始すると、モータECU100は、磁極センサ65の信号の取得し(ステップS700)、信号の立上りのタイミングであるか否かを判断する(ステップS710)。
ステップS710で、取得した磁極センサ65の信号が、信号の立上りのタイミングではない(No)と判断した場合には、NEXTに抜けて、所定のタイミングで本処理を繰り返す。
他方、ステップS710で、信号の立上りのタイミングである(Yes)と判断した場合には、モータECU100は、電圧センサ78から電源電圧V4の値を取得し(スップS720)、取得した値から、電流の遅角量θ4を算出する(ステップS730)。モータECU100は、電源電圧Vと電流遅角量θとの関係を定めたマップ(図5参照)を予め備えており、このマップを参照して電流遅角量θ4を算出している。
こうして遅角量θ4を算出した後、モータECU100は、電気角で表わされる遅角量θ4を時間t4に換算する(ステップS740)。モータECU100は、磁極センサ65の出力からモータ60の回転数Nを常に検出している。このステップでは、現状のモータ60の回転数N4から遅角量θ4を時間t4に換算している。
続いて、モータECU100は、ステップS720で取得した電源電圧V4の値から、モータ60に出力する電流量を制御するための電流制限値ImaxOnおよび電流制限値ImaxOff(以下、これらの値をまとめて「電流制限値Imax」と記載する)を算出する(ステップS750)。モータECU100は、電源電圧Vと電流制限値Imaxとの関係を予め定めたマップを備えており(図14参照)、このマップを参照して電流制限値Imaxを算出する。電流制限値ImaxOnは、モータ60に通電を行う基準となる電流値であり、電流制限値ImaxOffは、モータ60への通電を停止する基準となる電流値である。モータECU100は、後述する通電処理ルーチンにおいて、モータ60に出力する電流が、電流制限値Imaxを超えないように出力制限を行うことで、モータ60に出力する電流量を調整するのである。
図14は、電源電圧Vと電流制限値Imaxとの関係を定めたマップの説明図である。図中の横軸は電源電圧Vを示し、縦軸は電流制限値Imaxを示している。このマップには、モータ60の出力が略一定となるように、電源電圧Vと電流制限値Imaxとの関係が定義されている。図示するように、電流制限値ImaxOffは、横軸に示した電源電圧Vの全範囲に亘って、電流制限値ImaxOnよりも大きく、電流制限値ImaxOffと電流制限値ImaxOnとの電流差が、略一定となるように設定されている。このマップには、定格電源電圧V0を所定の基準値として、電源電圧Vがこれよりも低い場合(例えば、0.9・V0)には、電流制限値Imaxが大きく設定され、高い場合(例えば、1.1・V0)には電流制限値Imaxが小さく設定されている。つまり、このマップを用いれば、高圧バッテリ75の電源電圧V4が高いほど、モータ60に流す電流を低く抑えることができるので、モータ60に出力される電力を略一定に制御することが可能となる。
上記ステップS750において、電流制限値Imaxを求めると、次に、モータECU100は、経過時間tのカウントを開始し(ステップS760)、経過時間tが、遅角量θ4に対応する時間t4を超えたか否かを判断する(ステップS770)。
ステップS770で、経過時間tが時間t4を超えていない(No)と判断した場合には、モータECU100は、ステップS760へ戻り、経過時間tのカウントを継続する。他方、ステップS770で、経過時間tが時間t4を越えている(Yes)と判断した場合には、電源電圧V4に基づいて設定した遅角量θ4に至ったとして、通電処理ルーチンを開始する(ステップS780)。この通電処理ルーチンが終了すれば、処理は、NEXTに抜け、所定のタイミングで本処理が繰り返される。
以上のように、正の電流制御を実行した後、同様に、負の電流制御を実行する。正と負との電流制御を繰り返すことで、モータ60は回転する。なお、負の電流制御の場合には、磁極センサ65の立下りのタイミングに基づいて、通電開始制御が実行される。
次に、図15および図16を用いて、図13のステップS780で実行される通電処理ルーチンの詳細について説明する。図15は、通電処理ルーチンの流れを示すフローチャートである。図16は、この通電処理ルーチンによる電流波形の様子を示す説明図である。図16の横軸は経過時間を示し、縦軸は電流値を示している。
モータECU100は、通電処理ルーチンを開始すると、図15に示すように、駆動回路110を用いてモータ60に対する通電を開始する(ステップS800)。このステップS800によって通電が開始されると、図16の左側の波形に示すように、電流値はプラスの方向へ徐々に増加していくことになる。
次に、モータECU100は、モータ60に出力された電流の電流値Iを電流センサ79から取得する(ステップS810)。そして、この電流値Iが、電流制限値ImaxOffよりも大きいか否かを判断する(ステップS820)。このステップS820で、電流値Iが、電流制限値ImaxOffよりも大きいと判断した場合(Yes)には、駆動回路110を制御してモータ60への通電を停止する(ステップS830)。図16では、電流センサ79から取得した電流値Iが、電流値ImaxOffに達するタイミングを、黒塗りの丸印「●」で表している。図16に示すように、上記ステップS830によって、通電を停止すると、電流値Iは一瞬、電流制限値ImaxOffを超えて(オーバーシュートして)、その後、徐々に低下することになる。上記ステップS820において、電流値Iが電流制限値ImaxOffよりも小さいと判断した場合(No)には、上記ステップS830による停止処理は行わない。
続いて、モータECU100は、上記ステップS810で取得した電流値Iが、電流制限値ImaxOnよりも小さいか否かを判断する(ステップS840)。このステップS840で、電流値Iが、電流制限値ImaxOnよりも小さいと判断した場合(Yes)には、駆動回路110を制御して、モータ60への通電を行う(ステップS850)。図16では、電流センサ79から取得した電流値Iが、電流制限値ImaxOnに達するタイミングを白抜きの丸印「○」で表している。図示するように、上記ステップS850によって、通電を開始すると、電流値は、一瞬、電流制限値ImaxOnを下回り、その後、徐々に増加していくことになる。上記ステップS840において、電流値Iが電流制限値ImaxOnよりも大きいと判断した場合(No)には、かかる通電処理は行わない。
以上の処理によって、電流制限値Imaxに基づく通電制御を行うと、続いて、モータECU100は、電気角で120度相当の時間が経過したかを判断する(ステップS860)。かかる処理によって、120度相当の時間が経過したと判断した場合には(Yes)、駆動回路110を制御して、モータ60への通電を終了し(ステップS870)、図13に示した第4の通電開始処理にリターンする。これに対して、まだ120度相当の時間が経過していないと判断した場合には(No)、上記ステップS810へ処理を戻し、引き続き、電流制限値Imaxに基づく通電制御を行う。
上述した通電処理ルーチンは、正の電流制御の場合に実行されるルーチンである。負の電流制御の場合には、ステップS810で取得した電流値からその絶対値を求め、その絶対値に基づき、ステップS820やステップS840による比較判断を行う。こうすることで、図16の右側の波形のように、負の電流値の制限を行うことができる。
図17および図18は、上述した第4の通電開始制御による効果を示す説明図である。第4の通電開始制御では、図14に示したように、高圧バッテリ75の電圧が基準電圧よりも低下した場合には、電流制限値Imaxの値を標準値よりも大きくすることで、多くの電流がモータ60に流れるように制御を行う。一方、電源電圧が、基準電圧よりも高くなった場合には、電流制限値Imaxの値を標準の値よりも小さくすることで、モータ60に流れる電流量を抑制する。このような制御によれば、モータ60に出力される電力(=電圧×電流)を略一定に保つことができる。特に、図17に示すように、電源電圧に応じて電流遅角量を最適に調整したにも関わらず、依然として、電源電圧の変動に伴いモータの出力も変動してしまう場合に上述した第4の通電開始制御を適用すれば、図18に示すように、モータ60の出力が更に安定することになる。この結果、ターボチャージャ30のアシストを適切に行なうことが可能となり、これにより、内燃機関の制御を適切に行うことが可能になる。
なお、図14に示したマップには、2つの電流制限値ImaxOn,ImaxOffが定義されているものとしたが、かかるマップには、いずれかの電流制限値のみを定義するものとしてもよい。この場合、他方の電流制限値は、マップから求めた電流制限値に所定の値を加えてもしくは減じて算出するものとする。
また、上述した通電制御ルーチンでは、2つの電流制限値ImaxOn,ImaxOffを用いてモータ60に出力する電流を制御するものとしたが、1つの電流制限値によっても出力する電流を制御することは可能である。この場合、図15に示した通電処理ルーチンのステップS820とステップS840では、同一の電流制限値に基づき電流値Iとの比較をそれぞれ行うものとする。
上述した第4の通電開始制御では、電流制限値Imaxを、電源電圧に応じて増減するものとしたが、この電流制限値Imaxの増減量を、モータ60の回転数Nに応じて補正するものとしてもよい。かかる制御を行う場合には、図13のステップS720において、電源電圧V4とともに、モータ60の回転数Nを取得するものとし、ステップS750において、電源電圧Vと電流制限値Imaxと回転数Nとの関係を定めたマップを参照して、電流制限値Imaxを求めるものとする。
図19は、電源電圧Vと電流制限値Imaxと回転数Nとの関係を定めたマップの説明図である。この図19では、図示の簡略化のため、電流制限値Imaxは、電流制限値ImaxOffのマップのみを示している。図示するように、このマップは、電源電圧Vと回転数Nとに応じて、電流制限値Imax(電流制限値ImaxOnおよび電流制限値ImaxOff)が設定されている。具体的には、電源電圧が基準電圧V0よりも低い場合には、回転数Nが高いほど、電流制限値Imaxが大きくなるように設定されており、電源電圧が基準電圧V0よりも高い場合には、回転数Nが高いほど、電流制限値Imaxが小さくなるように設定されている。つまり、モータの回転数Nが大きくなるほど、電源電圧に応じた電流制限値Imaxの増減量が大きくなるようにマップが設定されている。このようなマップによれば、電源電圧に応じた電流制限値Imaxの算出と、モータの回転数Nに応じた電流制限値Imaxの補正とを同時に行うことができる。
このように、モータ60の回転数Nが大きくなるほど、電流制限値Imaxを大きく補正するものとすれば、モータ60の回転数Nの増加に伴い、逆起電力が大きくなったとしても、モータ60に出力する電流の電流制限値Imaxを大きくすることができるので、モータ60の出力変動をより効果的に抑制することが可能になる。
なお、本実施例では、モータ60の回転数Nに応じた電流制限値の補正を図19に示したマップを用いて行うものとしたが、図14に示したマップによって、一旦、電流制限値を算出し、この電流制限値に対して、モータの回転数Nに応じた所定の補正係数を乗じることで、算出された電流制限値を補正するものとしてもよい。補正係数は、例えば、回転数Nと補正係数との対応関係を定義した関数やマップによって求めるものとすることができる。
F.変形例:
本実施例では、種々の物理量から電流遅角量θを設定するマップを備えるものとしたが、第1,第2の通電開始制御においては、マップに代えて、演算で電流遅角量θを求めるものとしても良い。
図20は、電流波形の立上りと電流遅角量との関係を示す説明図である。本実施例では、電流通電開始から最大電流に至るまでは、フルデューティで電圧がかかるようにスイッチング制御がなされている。この場合、電流波形の立上り時間は、電源電圧Vから逆起電圧Vaを差し引いた差分をインダクタンスLで除した値に比例することが知られている。また、逆起電圧Vaは、回転数Nとモータの固有値Kとの積で表わせることから、立上り時間は電源電圧Vと回転数Nとから定まることとなる。
この立上り時間は、電気角と同等なものであるから、電源電圧Vから逆起電圧Vaを差し引いた差分をインダクタンスLで除した値は、図20における立上りの直線の傾きを示す。すなわち、図6で説明したように、電源電圧V,回転数Nが大きくなると直線の傾きが小さくなる。ここで、基準となる固定点を設定し、傾きによらずどの直線も固定点を通過するものと仮定する。具体的には、電気角θaの時の電流値0.7・I0(最大電流I0の70%)を固定点とし、電流値0(ゼロ)から電流値0.7・I0に至るまでの時間(電気角θb)を算出する。この電気角θbが求まることで、通電開始のタイミングを設定することができる。
図21は、演算で電流遅角量θを求める第2の通電開始制御のフローチャートである。この処理は、図8に示した処理とほぼ同様であり、電流遅角量の算出方法が異なる。したがって、同じ処理については、図8と同一のステップ番号を付して説明を省略する。
処理を開始すると、第2の通電開始処理と同様、モータECU100は磁極センサ65の立上りを判断し、立上りのタイミングであると判断した場合に、電源電圧V2を取得し、モータ60の回転数N2を取得する(ステップS530)。
続いて、モータECU100は、取得した回転数N2から逆起電圧Vaを算出する(ステップS540a)。具体的には、回転数N2とモータ固有値Kとの積を算出している。なお、モータ固有値Kは、実験等で予め定められ、モータECU100内に記憶している。
こうして逆起電圧Vaを算出後、モータECU100は、電流値0(ゼロ)から電流値0.7・I0に至るまでの電気角θbを算出する(ステップS540b)。具体的には、電流値の変化量を電気角の変化量で除した値が、電流波形の立上りの直線の傾きと等しいことから、電気角θbを算出している。なお、図20に示したように、電気角θaの時の電流値0.7・I0(最大電流I0の70%)は、固定点であり、定格電源電圧V0,定格回転数N0などから予め設定されている。
電気角θbの算出後、電流遅角量θ2を算出する(ステップS540c)。電流遅角量θ2は、基準の電気角θaから電気角θbを差し引いた差分として求められる。
モータECU100は、電気角で表わされる電流遅角量θ2を時間t2に換算し(ステップS550)、時間t2に基づいて通電処理を実行して、一連の処理を終了後、NEXTに抜け、所定のタイミングで本処理を繰り返す。
以上のように、演算により電流遅角量を設定して通電開始制御を行なうことで、マップのための記憶容量を低減することができる。さらには、マップとの適合処理を簡素化することができ、処理速度を向上することができる。また、検出した電源電圧、回転数が、マップ上の格子点に上手くのらないような場合であっても、演算により容易に電流遅角量を求めることができる。
以上、本発明の実施の形態について説明したが、本発明はこうした実施の形態に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲において様々な形態で実施し得ることは勿論である。本実施例では、過給器として、排ガスのエネルギによって回転するタービンホイール32を備えたターボチャージャ30を例としたが、過給器は、タービンホイールを備えない電動コンプレッサであっても良い。この場合でも、同様の制御を行なうことで、適切にモータ60を運転することができる。