以下、添付された図面を参照し、本発明を実施するための実施形態について詳述する。図1は、アクチュエータ制御装置を適用した車両用内燃機関の一例を示す。
内燃機関10は、シリンダブロック11と、シリンダブロック11のシリンダボア11Aに往復動可能に嵌挿されたピストン12と、吸気ポート13A及び排気ポート13Bが形成されたシリンダヘッド13と、クランクシャフト14と、コンロッド(コネクティングロッド)15と、を有している。
ピストン12は、クランクシャフト14に対して、コンロッド15のロアリンク15A及びアッパリンク15Bを介して連結されている。そして、ピストン12の冠面12Aとシリンダヘッド13の下面との間に、燃焼室Sが形成されている。
シリンダヘッド13には、吸気ポート13Aのうち燃焼室Sに臨む開口端を開閉する吸気バルブ16Aと、排気ポート13Bのうち燃焼室Sに臨む開口端を開閉する排気バルブ16Bと、が備えられている。また、シリンダヘッド13には、燃焼室Sに臨む位置に、燃料を噴射する燃料噴射弁17と、燃料と空気との混合気を着火する点火栓18と、が取り付けられている。
クランクシャフト14は、複数のジャーナル部14Aとクランクピン部14Bとを有し、シリンダブロック11の主軸受(図示せず)に、ジャーナル部14Aが回転可能に支持されている。クランクピン部14Bは、ジャーナル部14Aから偏心しており、ここにロアリンク15Aが回動可能に連結されている。アッパリンク15Bは、下端側が連結ピン15Cによりロアリンク15Aの一端に回動可能に連結され、上端側がピストンピン12Bによりピストン12に回動可能に連結されている。
また、内燃機関10は、燃焼室Sの容積を変更することで、圧縮比を可変とする可変圧縮比(VCR:Variable Compression Ratio)機構20を備えている。VCR機構20は、例えば、特開2002−276446号公報に開示されるような複リンク機構によって、燃焼室Sの容積を変更させることで、内燃機関10の圧縮比を可変とする。
VCR機構20は、コントロールリンク21、第1コントロールシャフト22、第2コントロールシャフト23、減速機24、及び電動のアクチュエータ25を有している。コントロールリンク21は、上端側が連結ピン21Aによりロアリンク15Aの他端に回動可能に連結され、下端側が第1コントロールシャフト22を介してシリンダブロック11の下部に回動可能に連結されている。詳しくは、第1コントロールシャフト22は、回動可能にシリンダブロック11に支持されていると共に、その回転中心から偏心している偏心カム部22Aを有し、この偏心カム部22Aにコントロールリンク21の下端部が回動可能に嵌合している。
アクチュエータ25は動力源として後述の電動モータ100を内蔵し、電動モータ100の軸出力は、減速機24によって減速されて第2コントロールシャフト23を軸線周りに回動させる。第1コントロールシャフト22及び第2コントロールシャフト23には、それぞれ互いに噛み合うギア(例えばウォーム及びウォームホイール)が形成されている。第2コントロールシャフト23が回動すると、噛合するギアによって第1コントロールシャフト22が軸線周りに回動し、電動モータ100の軸出力が第1コントロールシャフト22に伝達される。
第2コントロールシャフト23は、回動制限手段によって回動が所定角度範囲に制限されている。回動制限手段は、例えば、第2コントロールシャフト23の外周面から半径方向に突出した突出部と回転方向で当接する第1ストッパ及び第2ストッパ(いずれも図示省略)をシリンダブロック11に固定又は形成することで実現される。以下において、第2コントロールシャフト23の突出部が第1ストッパに当接した位置を第1ストッパ位置といい、第2コントロールシャフト23の突出部が第2ストッパに当接した位置を第2ストッパ位置というものとする。
このようなVCR機構20において、アクチュエータ25が減速機24を介して第2コントロールシャフト23を所定角度範囲で一方向又はその反対方向に回動させることで、第1コントロールシャフト22の回動角度が制御される。そして、第1コントロールシャフト22が回動すると、第1コントロールシャフト22の回動中心から偏心している偏心カム部22Aの中心位置が変化する。これにより、コントロールリンク21の下端の搖動支持位置が変化することで、ピストン上死点(TDC)におけるピストン12の位置が高くなったり低くなったりして燃焼室Sの容積が増減し、内燃機関10の圧縮比が低圧縮比又は高圧縮比のいずれかへ変更される。したがって、内燃機関10の圧縮比は、第2コントロールシャフト23の回動角度に応じて変化する。
内燃機関10の燃焼制御は、マイクロコンピュータを内蔵したECU(Engine Control Unit)30が、内燃機関10の運転状態に基づいて、燃料噴射弁17の噴射量および噴射時期、及び点火栓18の点火時期等を電子制御することで行われる。ECU30は、内燃機関10の運転状態を検出するために、内燃機関10の回転速度Neを検出する回転速度センサ31の出力信号、及び内燃機関10の負荷Qを検出する負荷センサ32の出力信号等、各種信号を入力するように構成されている。ここで、内燃機関10の負荷Qとしては、例えば、吸気負圧、吸気流量、過給圧力、アクセル開度、スロットル開度など、内燃機関10が発生するトルクと密接に関連する状態量を使用することができる。
また、ECU30は、例えば、内燃機関10の回転速度及び負荷に適合した圧縮比が設定されたマップを参照する等して、内燃機関10の回転速度Ne及び負荷Qに応じた目標圧縮比を演算する。そのうえで、ECU30は、目標圧縮比に応じた第2コントロールシャフト23の回動角度(目標角度)φtを算出する。そして、ECU30は、例えばCAN(Controller Area Network)等によって通信可能に接続されたVCRコントローラ40に対して、目標角度φtに対応する信号(目標角度信号)を出力する。
VCRコントローラ40は、第2コントロールシャフト23の実際の回動角度(実角度)φが、ECU30が出力した目標角度信号に対応する目標角度φtに近づくように、アクチュエータ25の駆動を制御するアクチュエータ制御装置である。第2コントロールシャフト23の実角度φは、駆動対象であるVCR機構20の動作位置である。第2コントロールシャフト23の実角度φは、VCRコントローラ40においてアクチュエータ25から出力される信号を入力する等して算出されるが、詳細については後述する。
図2は、アクチュエータ25及びVCRコントローラ40の内部構成を示す。アクチュエータ25は、前述のように、電動モータ100を内蔵している。電動モータ100は、3相ブラシレスモータであり、U相コイル100u、V相コイル100v及びW相コイル100wのスター結線された3相コイルをそれぞれ巻き回してなる略円筒状のステータ(図示省略)と、このステータの中央部に形成されている空間においてステータの軸線を中心として回転可能に配置されたロータ(永久磁石回転子)100Rと、を備えている。
アクチュエータ25の動作位置である電動モータ100のモータ電気角θは、モータ角度センサ100aによって検出され、モータ角度センサ100aは、VCRコントローラ40に対して、電動モータ100のモータ電気角θに対応した電気角信号を出力する。モータ角度センサ100aとしては、例えば、レゾルバや、ホール素子又はホールIC(Integrated Circuit)等を用いうる。モータ角度センサ100aは、0[rad]から2π[rad]までの範囲でモータ電気角θを検出する。また、モータ角度センサ100aは、ロータ100Rが回転しなければ、電源供給遮断前と電源供給再開後との間で同一のモータ電気角θに対応した電気角信号を出力するように構成されている。
また、アクチュエータ25は、車載バッテリBの直流電力を交流電力に変換して電動モータ100の3相コイルへ供給するインバータ200を内蔵している。インバータ200では、車載バッテリBの正極側の母線BL1と車載バッテリBの負極側の母線BL2との間において、U相アーム、V相アーム及びW相アームが並列に接続されている。U相アームは、スイッチング素子201a,201bを直列接続してなり、V相アームは、スイッチング素子201c,201dを直列接続してなり、W相アームは、スイッチング素子201e,201fを直列接続してなる。そして、各相アームにおける2つのスイッチング素子間が、電動モータ100における対応相のコイルに接続されて、3相ブリッジ回路が構成されている。スイッチング素子201a〜201fは、例えば、FET(Field Effect Transistor)又はIGBT(Insulated Gate Bipolar Transistor)等、ダイオードが逆並列に接続された、電力制御用の半導体素子で構成される。スイッチング素子201a〜201fの各制御端子(例えばゲート端子)はVCRコントローラ40の出力ポートと接続されている。
正極側の母線BL1にはイグニッションスイッチIGNが配置されている。イグニッションスイッチIGNがオン状態であるときに通電し、イグニッションスイッチIGNがオフ状態であるときに通電が遮断される。
イグニッションスイッチIGNとインバータ200との間において正極側の母線BL1からVCRコントローラ40へ第1接続線BL3が分岐している。そして、車載バッテリBとイグニッションスイッチIGNとの間における正極側の母線BL1と第1接続線BL3とを接続する第2接続線BL4には、外部からのオン・オフ制御が可能な電源リレーRLYが配置されている。電源リレーRLYは、オン状態となったときに通電し、オフ状態となったときに通電を遮断する。なお、第1接続線BL3には、電源リレーRLYを経由してインバータ200に向かう電流を遮断するように、電流制限手段(例えばダイオード等)Dが配置されることが好ましい。
VCRコントローラ40は、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等のプロセッサ40Aを有している。また、VCRコントローラ40は、フラッシュROM(Read Only Memory)等の不揮発性メモリ40Bと、RAM(Random Access Memory)等の揮発性メモリ40Cと、外部デバイスとのインタフェースとなる入出力部40Dと、を有している。VCRコントローラ40において、プロセッサ40A、不揮発性メモリ40B、揮発性メモリ40C及び入出力部40Dは、通信バス40Eによって相互に通信可能に接続される。入出力部40Dには、ECU30が出力した目標角度信号、及び、モータ角度センサ100aが出力した電気角信号が入力され、プロセッサ40Aは、所定の制御周期Δt毎に目標角度φt及びモータ電気角θを取得する。
VCRコントローラ40が車載バッテリBからの電源供給によって起動した後、プロセッサ40Aは、不揮発性メモリ40Bに格納された制御プログラムを揮発性メモリ40Cに読み出す。これにより、プロセッサ40Aは、目標角度φt及びモータ電気角θを用いて、アクチュエータ25の駆動制御処理を実行する。駆動制御処理において、プロセッサ40Aは、インバータ200のスイッチング素子201a〜201fに対する制御信号を生成し、これを各スイッチング素子の制御端子へ出力する。
また、VCRコントローラ40は、セルフシャットオフを行うことができるように構成されている。セルフシャットオフは、イグニッションスイッチIGNのオフ操作後においてもVCRコントローラ40への電源供給が継続し、かつ、オフ操作から所定時間が経過したときに電源供給を遮断する動作である。なお、イグニッションスイッチIGNのオフ操作後、VCRコントローラ40に電源供給されている期間をセルフシャットオフ期間というものとする。
セルフシャットオフでは、プロセッサ40Aが、第1接続線BL3の電圧が入出力部40Dを介してA/D(Analog/Digital)変換された電圧変換値に基づいて、イグニッションスイッチIGNのオン操作又はオフ操作を検知する。プロセッサ40Aは、イグニッションスイッチIGNのオフ操作を検知したときに、電源リレーRLYに対してこれをオン状態とする制御信号を、入出力部40Dを介して出力する。これにより、イグニッションスイッチIGNがオフ状態であっても、車載バッテリBからVCRコントローラ40への電源供給を可能にしている。そして、プロセッサ40Aは、内蔵タイマ等を用いて、イグニッションスイッチIGNのオフ操作を検知してからの経過時間が所定時間に達したと判定したときに、電源リレーRLYに対してこれをオフ状態にする制御信号を、入出力部40Dを介して出力する。これにより、車載バッテリBからVCRコントローラ40への電源供給を遮断する。
[第1実施形態に係る駆動制御処理]
図3は、VCRコントローラ40のプロセッサ40AがイグニッションスイッチIGNのオン操作を契機として実行を開始するアクチュエータ25の駆動制御処理のうち、第1実施形態の一例を示す。なお、後述の相対関係学習処理の実施の有無を示す学習実施フラグFAは、アクチュエータ25の駆動制御処理を1回も実施していない場合には、未実施を示す値(例えば0)に設定されて不揮発性メモリ40Bに予め格納されている。以下の実施形態において同様である。
ステップS1(図中では「S1」と略記する。以下同様。)では、プロセッサ40Aは、学習実施フラグFAが、未実施を示す値(例えば0)となっているか否かを判定する。学習実施フラグFAは、駆動制御処理の開始に際して不揮発性メモリ40Bから揮発性メモリ40Cに読み出される。プロセッサ40Aは、学習実施フラグFAが未実施を示す値(例えば0)となっている場合には(YES)、後述の相対関係学習処理を実施すべく、処理をステップS2へ進める。一方、プロセッサ40Aは、学習実施フラグFAが実施済みを示す値(例えば1)となっている場合には(NO)、後述の始動電気角診断処理を実施すべく、処理をステップS4へ進める。
ステップS2では、プロセッサ40Aは、駆動制御処理を初めて実施する際に、電動モータ100のモータ電気角θと第2コントロールシャフト23の実角度φとの相対関係(初期相対関係)を学習して記憶する相対関係学習処理を実施する。
図4は、第2コントロールシャフト23の実角度φと電動モータ100のモータ電気角θとの相対関係を示す。モータ電気角θは、第2コントロールシャフト23が第1ストッパ位置から第2ストッパ位置まで一方向に回動するときに、0[rad]から2π[rad]までの上昇を繰り返して、実角度φに対して鋸波状に変化する。相対関係学習処理では、第1ストッパ位置を基準位置として第2コントロールシャフト23を回動させたときに、実角度φとモータ電気角θとの相対関係を学習して記憶する。相対関係学習処理の詳細については後述する。
プロセッサ40Aは、相対関係学習処理を実施した後のステップS3において、揮発性メモリ40Cの学習実施フラグFAを、実施済みを示す値(例えば1)に書き換える。その後、プロセッサ40Aは、処理をステップS6へ進めて、フィードバック制御処理を開始する。プロセッサ40Aは、後述のように、セルフシャットオフ期間において書き換えた学習実施フラグFAの値を不揮発性メモリ40Bに記憶させる。したがって、相対関係学習処理は、学習実施フラグFAの値が未実施を示す値(例えば0)に書き換えられない限り、1回だけ行われる。
ステップS4では、プロセッサ40Aは、内燃機関10の始動時における電動モータ100のモータ電気角θが、内燃機関10の前回停止時におけるモータ電気角θから乖離しているか否かを診断する始動電気角診断処理を実施する。
図5は、内燃機関10の前回停止時と始動時とを含むモータ電気角θの時間変化を示す。内燃機関10の前回停止時におけるモータ電気角θを停止時電気角(停止位置)θstpとすると、内燃機関10始動時におけるモータ電気角θは、通常、停止時電気角θstpを中心とした所定公差TH1内に収まって、停止時電気角θstpから乖離しないはずである。しかし、第2コントロールシャフト23が内燃機関10の前回停止時から始動時までの間に何らかの原因によって回動した場合、又は、モータ角度センサ100aに異常が発生した場合、内燃機関10の始動時におけるモータ電気角θが停止時電気角θstpから乖離することがある(図中の黒丸)。このため始動電気角診断処理では、モータ電気角θが停止時電気角θstpから乖離しているか否かを診断することで、モータ角度センサ100aに異常が発生している可能性を検知する。始動電気角診断処理の詳細については後述する。
ステップS5では、プロセッサ40Aは、始動電気角診断処理の診断結果が正常である場合には(YES)、フィードバック制御処理を開始すべく、処理をステップS6へ進める。一方、プロセッサ40Aは、始動電気角診断処理の診断結果が異常である場合には(NO)、モータ角度センサ100aに異常が発生している可能性があるので、後述の基準電気角診断処理を行うべく、処理をステップS11へ進める。
ステップS6では、プロセッサ40Aは、第2コントロールシャフト23の実角度φが目標角度φtに近づくようにアクチュエータ25を駆動制御するフィードバック制御処理を行う。フィードバック制御処理の詳細については後述する。
ステップS7では、プロセッサ40Aは、現在のモータ電気角θ及び実角度φの相対関係が、ステップS2の相対関係学習処理により記憶された初期相対関係と整合しているか否かを判定する整合性判定処理を行う。
図6は、相対関係学習処理によって得られた初期相対関係において任意の実角度φに対するモータ電気角θの整合性について示す。モータ角度センサ100aが正常である場合、モータ角度センサ100aから得られるモータ電気角θとこれを後述のように用いて算出される実角度φとの相対関係は、相対関係学習処理によって得られた初期相対関係に従うはずである。すなわち、実角度φが実角度φmとして算出されたときのモータ電気角θは、初期相対関係に従って、実角度φmに対応するモータ電気角θmを中心とした所定公差TH2内に収まり、モータ電気角θmから乖離しないはずである。しかし、モータ角度センサ100aに異常が発生した場合には、実角度φmであるときのモータ電気角θがモータ電気角θmから乖離することがある(図中の黒丸)。このため整合性判定処理は、現在のモータ電気角θ及び実角度φの相対関係が、相対関係学習処理により記憶された初期相対関係と整合しているか否かを判定することで、モータ角度センサ100aに異常が発生しているか否かを診断する。整合性判定処理の詳細については後述する。
ステップS8では、プロセッサ40Aは、前述の整合性判定処理の判定結果が正常である場合には(YES)、処理をステップS9へ進める一方、判定結果が異常である場合には(NO)、フィードバック制御処理を中止して、処理をステップS13へ進める。
ステップS9では、プロセッサ40Aは、イグニッションスイッチIGNがオフ操作されたか否かを判定する。具体的には、プロセッサ40Aが、第1接続線BL3の電圧が入出力部40Dを介してA/D変換された電圧変換値に基づいて、イグニッションスイッチIGNがオフ操作されたか否かを検知する。そして、プロセッサ40Aは、イグニッションスイッチIGNがオフ操作されたと判定した場合には(YES)、セルフシャットオフを行うとともに、処理をステップS10へ進める。一方、プロセッサ40Aは、イグニッションスイッチIGNがオフ操作されていないと判定した場合には(NO)、フィードバック制御処理を続行すべく、処理をステップS6へ戻す。
ステップS10では、プロセッサ40Aは、揮発性メモリ40Cに一時的に記憶された各種情報を不揮発性メモリ40Bに書き込んで記憶させる。具体的には、プロセッサ40Aは、第2コントロールシャフト23の実角度φの現在値を停止時実角度φstpとして記憶させるとともに、モータ電気角θの現在値を停止時電気角θstpとして記憶させる。また、ステップS2の相対関係学習処理により得られた初期相対関係や学習実施フラグFAの値を不揮発性メモリ40Bに記憶させる。さらに、基準電気角診断処理(ステップS11)又は整合性判定処理(ステップS7)によりモータ角度センサ100aが異常であると診断又は判定した場合には、モータ角度センサ100aの異常情報を記憶させる。
ステップS11では、プロセッサ40Aは、第2コントロールシャフト23の基準位置におけるモータ電気角θが異常であるか否かを診断する基準電気角診断処理を実施する。基準電気角診断処理は、モータ角度センサ100aが故障しているのか、あるいは、内燃機関10の停止中に第2コントロールシャフト23が単に回動してしまったのか、を確定する目的で行うものである。
図7は、第2コントロールシャフト23の基準位置におけるモータ電気角θを示している。図7において、相対関係学習処理によって記憶された初期相対関係の基準位置におけるモータ電気角θを基準電気角θref[0]とする。また、相対関係学習処理の後に、基準電気角診断処理により第2コントロールシャフト23を基準位置まで回動させたときのモータ電気角θを基準電気角θref[1]とする。前述の始動電気角診断処理において、モータ電気角θが停止時電気角θstpから乖離していると診断された場合、モータ角度センサ100aに異常が発生している可能性がある。モータ角度センサ100aが正常である場合には、第2コントロールシャフト23を基準位置まで回動させれば、基準電気角θref[1]は基準電気角θref[0]を中心とした所定公差TH3内に収まって、基準電気角θref[0]から乖離しないはずである。これは、内燃機関10の前回停止時から始動時までの間に第2コントロールシャフト23が何らかの原因によって回動してしまった場合でも同様である。しかし、モータ角度センサ100aに異常が発生している場合には、基準電気角θref[1]は基準電気角θref[0]から乖離してしまう(図中の黒丸)。したがって、基準電気角診断処理は、始動時におけるモータ電気角θが停止時電気角θstpから乖離している原因が、モータ角度センサ100aに異常が発生していることにあるのか否かを診断する。基準電気角診断処理の詳細については後述する。
ステップS12において、プロセッサ40Aは、基準電気角診断処理により基準位置におけるモータ電気角θが異常であると判定した場合には(YES)、フィードバック制御処理を実施することなく、処理をステップS13へ進める。一方、プロセッサ40Aは、基準電気角診断処理により基準位置におけるモータ電気角θが正常であると判定した場合には(NO)、フィードバック制御処理を開始すべく、処理をステップS6へ進める。
ステップS13では、プロセッサ40Aはフェールセーフ処理を行う。フェールセーフ処理としては、電動モータ100に対する電力供給を直ちに遮断することが考えられる。これとは別に、第2コントロールシャフト23の実角度φが内燃機関10の圧縮比を最低にする角度となるようにアクチュエータ25を強制的に駆動してから電動モータ100に対する電力供給を遮断することが考えられる。電動モータ100に対する電力供給の遮断は以下のようにして行うことができる。例えば、スイッチング素子201a〜201fに対してこれらを全てオフ状態にする制御信号を出力することで、電動モータ100に対する電力供給を遮断できる。あるいは、母線BL1,BL2に電源リレーが配置されている場合には、電源リレーをオフ状態にする制御信号を出力することで、電動モータ100に対する電力供給を遮断できる。プロセッサ40Aは、ステップS13を実行した後、処理をステップS10へ進める。
(フィードバック制御処理)
まず、フィードバック制御処理の概要とともに、第2コントロールシャフト23の実角度φを算出する方法について説明する。
フィードバック制御処理において、プロセッサ40Aは、第2コントロールシャフト23の目標角度φtと第2コントロールシャフト23の実角度φとの偏差に基づいて電動モータ100の操作量を算出する。そして、プロセッサ40Aは、この操作量に基づいて、インバータ200のスイッチング素子201a〜201fに対する制御信号を生成し、これらの制御端子へ出力する。例えばPWM(Pulse Width Modulation)駆動の場合には、プロセッサ40Aは、例えばPI制御等において、目標角度φtと実角度φとの偏差を適用して電動モータ100の操作量を算出する。そして、プロセッサ40Aは、操作量に応じて変化させた正弦波変調波と三角波搬送波との比較による比較出力から制御信号を生成し出力する。
第2コントロールシャフト23の実角度φは、概略的には以下のようにして得られる。すなわち、所定の制御周期Δt毎に、第2コントロールシャフト23の回動開始からの実角度φの変化量Δφをモータ電気角θに基づいて算出する。次に、第2コントロールシャフト23の回動開始時における初期実角度(駆動開始位置)φ0に対して変化量Δφを加算する。これにより、第2コントロールシャフト23の実角度φが得られる。
ここで、図8を参照して、第2コントロールシャフト23の実角度φを算出する方法の詳細について説明する。図8(a)は、電動モータ100が一方向に回転したときのモータ電気角θの時間変化を示す。図8(a)に示すように、第2コントロールシャフト23の回動開始時を時刻t0とする。電動モータ100が一方向に回転すると、モータ電気角θは増大する。しかし、モータ角度センサ100aは2π[rad]より大きいモータ電気角θを検出できないので、モータ電気角θが2π[rad]に達すると再度0[rad]となる。したがって、電動モータ100が一方向に回転するときには、モータ電気角θは、2π[rad]から0[rad]に変化するときを除いて、単調に増大する。なお、電動モータ100が逆方向に回転するときには、モータ電気角θは、0[rad]から2π[rad]に変化するときを除いて、単調に減少する。
プロセッサ40Aは、図8(a)中の黒丸で示されるように、制御周期Δt毎にモータ電気角θを検出する。制御周期Δtは、電動モータ100が使用回転速度範囲のうちの最大速度で回転しているときのモータ電気角θの1周期よりも短い時間である。プロセッサ40Aは、制御周期Δtの間隔で検出した2つのモータ電気角θの差分から、制御周期Δtにおけるモータ電気角θの電気角変化量Δθを算出する。例えば、最初の制御周期Δtにおけるモータ電気角θの電気角変化量Δθは、時刻t0における初期モータ電気角θ0と時刻t0から制御周期Δt後の時刻t1におけるモータ電気角θ1との差分(θ1−θ0)から算出される(Δθ=θ1−θ0)。
プロセッサ40Aは、図8(a)に示すように、時刻t1においてモータ電気角θ1が検出され、1制御周期Δt後の時刻t2においてモータ電気角θ2が検出され、θ1>θ2である場合には、モータ電気角θが2π[rad]に達して0[rad]に戻ったと判断する。この場合、プロセッサ40Aは、モータ電気角θの電気角変化量Δθを、Δθ=(2π−θ1)+θ2なる式で算出する。
図8(b)は、電気角積算値ΣΔθの時間変化を示す。プロセッサ40Aは、制御周期Δt毎にモータ電気角θの電気角変化量Δθを積算して電気角積算値ΣΔθを算出する。
図8(c)は、実角度φの時間変化を示す。プロセッサ40Aは、電気角積算値ΣΔθと時刻t0からの実角度φの変化量Δφとの相関関係を示す相関係数Kを電気角積算値ΣΔθに乗算することで、実角度φの変化量Δφを算出する(Δφ=K×ΣΔθ)。例えば、電動モータ100の極対数をP(1以上の整数)とし、減速機24の減速比をG(>1)とした場合には、プロセッサ40Aは相関係数KをK=1/(P×G)なる式で算出することができる。極対数がP=5かつ減速比がG=100である場合にはK=0.002となるので、電動モータ100が500回転したときに第2コントロールシャフト23が1回転することになる(但し、第2コントロールシャフト23の回動角度は第1ストッパ位置と第2ストッパ位置との間に制限される)。
そして、プロセッサ40Aは、第2コントロールシャフト23の時刻t0における実角度φである初期実角度φ0と時刻t0からの実角度φの変化量Δφとを加算することで、第2コントロールシャフト23の実角度φを算出する(φ=φ0+Δφ)。
図9は、プロセッサ40Aが駆動制御処理(図3のステップS6)のサブルーチンとして実施するフィードバック制御処理の一例を示す。
ステップS101では、プロセッサ40Aは、第2コントロールシャフト23の回動開始時における初期実角度φ0が揮発性メモリ40Cに設定されている場合には(YES)、ステップS102を省略して、処理をステップS103へ進める。一方、プロセッサ40Aは、初期実角度φ0が設定されていない場合には、処理をステップS102へ進める。
ステップS102では、プロセッサ40Aは、フィードバック制御処理を開始する際の初期実角度φ0を設定し、これを揮発性メモリ40Cに記憶する。具体的には、始動電気角診断処理により始動時のモータ電気角θが正常であると診断されてからフィードバック制御処理を開始する場合には、初期実角度φ0は、前回の駆動制御処理時にステップS10において不揮発性メモリ40Bに記憶した停止時実角度φstpに設定される。また、基準電気角診断処理により基準位置におけるモータ電気角θが正常であると診断されてからフィードバック制御処理を開始する場合には、基準電気角診断処理の終了時に第2コントロールシャフト23は基準位置にある。このため初期実角度φ0は、第2コントロールシャフト23の基準位置における実角度φとして既知の基準角度φrefに設定される。さらに、相対関係学習処理を実行してからフィードバック制御処理を開始する場合には、相対関係学習処理の終了時に第2コントロールシャフト23が第2ストッパ位置にある。このため初期実角度φ0は、第2ストッパ位置における第2コントロールシャフト23の実角度φとして既知の第2ストッパ位置角度φcorefに設定される。あるいは、初期実角度φ0は、相対関係学習処理において第2コントロールシャフト23を第2ストッパ位置まで回動したときに算出される実角度φに設定されてもよい。
ステップS103では、プロセッサ40Aは、電気角信号からモータ電気角θを取得する。ステップS104では、プロセッサ40Aは、ステップS103で取得したモータ電気角θと前回のステップS103で取得したモータ電気角θlastとに基づいて、電気角変化量Δθを算出する(Δθ=θ―θlast)。なお、フィードバック制御処理を開始して最初にステップS104を実行する際には、モータ電気角θlastは存在していないので、電気角変化量Δθは初期値として零に設定されている。
ステップS105では、プロセッサ40Aは、ステップS104で算出した電気角変化量を積算して電気角積算値ΣΔθを算出する。具体的には、プロセッサ40Aは、前回のステップS105で算出した電気角積算値ΣΔθlastにステップS104で算出した電気角変化量Δθを加算することで電気角積算値ΣΔθを算出する。なお、フィードバック制御処理を開始して最初にステップS105を実行する際には、電気角積算値ΣΔθは初期値として零に設定されている。
ステップS106では、プロセッサ40Aは、初期実角度φ0及び電気角積算値ΣΔθに基づいて、第2コントロールシャフト23の実角度φを算出する。すなわち、モータ電気角θと実角度φとの間における既知の相関係数Kを用いて、実角度φは、φ=φ0+K×ΣΔθなる式により算出される。
プロセッサ40Aは、ステップS107において、目標角度信号から目標角度φtを取得し、ステップS108において、ステップS106で算出した実角度φと目標角度φtとの偏差に基づいて、電動モータ100の操作量を算出する。そして、プロセッサ40Aは、ステップS109において、電動モータ100の操作量に基づいて制御信号を生成し、これをスイッチング素子201a〜201fの制御端子へ出力する。
(相対関係学習処理)
図10は、プロセッサ40Aが駆動制御処理(図3のステップS2)のサブルーチンとして実施する相対関係学習処理の一例を示す。
ステップS201では、プロセッサ40Aは、アクチュエータ25の駆動を制御して、第2コントロールシャフト23を第1ストッパ位置(基準位置)に向けて回動させる。
ステップS202では、プロセッサ40Aは、第2コントロールシャフト23が第1ストッパ位置(基準位置)まで回動したか否かを判定する。例えば、プロセッサ40Aは、電動モータ100にロック電流が発生しているか否かによって、第2コントロールシャフト23が第1ストッパ位置まで回動したか否かを判定できる。あるいは、プロセッサ40Aは、第2コントロールシャフト23が第1ストッパ位置まで回動したと推定される時間が経過したか否かによって、第2コントロールシャフト23が第1ストッパ位置まで回動したか否かを判定できる。
プロセッサ40Aは、第2コントロールシャフト23が第1ストッパ位置まで回動したと判定した場合には(YES)、処理をステップS203へ進める。一方、プロセッサ40Aは、第2コントロールシャフト23が第1ストッパ位置まで回動していないと判定した場合には(NO)、処理をステップS201へ戻す。
ステップS203では、プロセッサ40Aは、モータ角度センサ100aが出力した電気角信号から、第2コントロールシャフト23の基準位置における電動モータ100のモータ電気角θである基準電気角θref[0]を取得する。なお、基準電気角の符号θrefに付した[0]は、相対関係学習処理によって取得されたことを意味している。
ステップS204では、プロセッサ40Aは、第2コントロールシャフト23の基準位置における実角度φとして基準角度φrefを設定する。通常、基準角度φrefを0[deg]に設定する場合が多いが(φref=0)、これに限らず、基準角度φrefを任意の値に設定することができる。
ステップS205では、プロセッサ40Aは、ステップS203で取得した基準電気角θref[0]とステップS204で設定した基準角度φrefとを関連付けて、第2コントロールシャフト23の基準位置における相対関係(θref[0],φref)として揮発性メモリ40Cに記憶する。
ステップS206では、プロセッサ40Aは、第2コントロールシャフト23の回動開始時における初期実角度φ0を基準角度φrefに設定する。
ステップS207では、プロセッサ40Aは、入出力部40Dを介してインバータ200に対する制御信号を出力することで、第2コントロールシャフト23を基準位置から第2ストッパ位置に向けて回動させる。
プロセッサ40Aは、ステップS208ではモータ電気角θを取得し、ステップS209では実角度φを算出する。ステップS208及びステップS209は、前述のフィードバック制御処理におけるステップS103〜ステップS106の処理と同様であるので、説明を割愛する。
ステップS210では、プロセッサ40Aは、ステップS205と同様に、ステップS208で取得したモータ電気角θとステップS209で算出した実角度φとを関連付けた相対関係(θ,φ)を、揮発性メモリ40Cに記憶する。
ステップS211では、プロセッサ40Aは、ステップS202と同様に、第2コントロールシャフト23が第2ストッパ位置まで回動したか否かを判定する。そして、プロセッサ40Aは、第2コントロールシャフト23が第2ストッパ位置まで回動したと判定した場合には(YES)、相対関係学習処理を終了する。一方、プロセッサ40Aは、第2コントロールシャフト23が第2ストッパ位置まで回動していないと判定した場合には(NO)、新たな相対関係(θ,φ)の記憶を続行すべく、処理をステップS207へ戻す。
(始動電気角診断処理)
図11は、プロセッサ40Aが駆動制御処理(図3のステップS4)のサブルーチンとして実施する始動電気角診断処理の一例を示す。
ステップS301では、プロセッサ40Aは、前回の駆動制御処理の実行時にステップS10において不揮発性メモリ40Bに記憶した停止時電気角θstpを揮発性メモリ40Cに読み出す。ステップS302では、プロセッサ40Aは、ステップS103と同様に、モータ電気角θを取得する。
ステップS303では、プロセッサ40Aは、ステップS302で取得されたモータ電気角θが、ステップS301で読み出された停止時電気角θstpに対して乖離しているか否かを判定する。具体的には、プロセッサ40Aは、停止時電気角θstpとモータ電気角θとの差分の絶対値|θstp−θ|が所定公差TH1(>0)未満である場合にはモータ電気角θが停止時電気角θstpに対して乖離していないと判定する。
ステップS303において、プロセッサ40Aは、モータ電気角θが停止時電気角θstpに対して乖離していないと判定した場合には(YES)、処理をステップS304へ進めて、内燃機関10の始動時におけるモータ電気角θは正常であると診断する。一方、ステップS303において、プロセッサ40Aは、モータ電気角θが停止時電気角θstpに対して乖離していると判定した場合には(NO)、処理をステップS305へ進めて、内燃機関10の始動時におけるモータ電気角θは異常であると診断する。
(整合性判定処理)
図12は、プロセッサ40Aが駆動制御処理(図3のステップS7)のサブルーチンとして実施する整合性判定処理の一例を示す。
ステップS401では、プロセッサ40Aは、相対関係学習処理の実施により不揮発性メモリ40Bに記憶した初期相対関係を参照して、前述のフィードバック制御処理におけるステップS106で算出された最新の実角度φに対応するモータ電気角θmを取得する(図6参照)。
ステップS402では、プロセッサ40Aは、前述のフィードバック制御処理におけるステップS103で取得された最新のモータ電気角θが、ステップS401で取得されたモータ電気角θmから乖離しているか否かを判定する。具体的には、プロセッサ40Aは、モータ電気角θmと最新のモータ電気角θとの差分の絶対値|θm−θ|が所定公差TH2(>0)未満である場合には、最新のモータ電気角θがモータ電気角θmから乖離していないと判定する。
ステップS402において、プロセッサ40Aは、最新のモータ電気角θがモータ電気角θmに対して乖離していないと判定した場合には(YES)、処理をステップS403へ進める。そして、プロセッサ40Aは、ステップS403において、現在のモータ電気角θ及び実角度φの相対関係が初期相対関係と整合しているとして、モータ角度センサ100aは正常であると診断する。
一方、ステップS402において、プロセッサ40Aは、最新のモータ電気角θがモータ電気角θmに対して乖離していると判定した場合には(NO)、処理をステップS404へ進める。そして、プロセッサ40Aは、ステップS404において、現在のモータ電気角θ及び実角度φの相対関係が初期相対関係と整合していないとして、モータ角度センサ100aが異常であると診断する。
(基準電気角診断処理)
図13は、プロセッサ40Aが駆動制御処理(図3のステップS11)のサブルーチンとして実施する基準電気角診断処理の一例を示す。
ステップS501及びステップS502では、プロセッサ40Aは、相対関係学習処理のステップS201及びステップS202と同様に、第2コントロールシャフト23を第1ストッパ位置(基準位置)まで回動させる。
ステップS503では、プロセッサ40Aは、モータ角度センサ100aが出力した電気角信号から、第2コントロールシャフト23の基準位置における電動モータ100のモータ電気角θである基準電気角θref[1]を取得する。なお、基準電気角の符号θrefに付した[1]は、基準電気角診断処理によって取得されたことを意味している。
ステップS504では、プロセッサ40Aは、相対関係学習処理により不揮発性メモリ40Bに記憶した基準電気角θref[0]を揮発性メモリ40Cに読み出す。
ステップS505では、プロセッサ40Aは、ステップS503で取得された基準電気角θref[1]が、ステップS504で読み出された基準電気角θref[0]に対して乖離しているか否かを判定する。具体的には、プロセッサ40Aは、基準電気角θref[0]と基準電気角θref[1]との差分の絶対値|θref[0]−θref[1]|が閾値TH3(>0)未満である場合にはモータ電気角θが停止時電気角θstpに対して乖離していないと判定する。
ステップS505において、プロセッサ40Aは、基準電気角θref[1]が基準電気角θref[0]に対して乖離していないと判定した場合には(YES)、処理をステップS506へ進める。そして、プロセッサ40Aは、始動電気角診断処理において始動時のモータ電気角θが停止時電気角θstpから乖離したのは、内燃機関10の前回停止時から始動時までに第2コントロールシャフト23が単に回動したためであるから、モータ角度センサ100aは正常であると診断する。
一方、ステップS505において、プロセッサ40Aは、基準電気角θref[1]が基準電気角θref[0]に対して乖離していると判定した場合には(NO)、処理をステップS507へ進める。そして、プロセッサ40Aは、ステップS507において、モータ角度センサ100aは異常であると診断する。
このような第1実施形態に係る駆動制御処理によれば、内燃機関10の始動時における第2コントロールシャフト23の初期実角度φ0には、内燃機関10の前回停止時に記憶した停止時実角度φstpを用いている。このため、駆動制御処理を開始するたびに、第2コントロールシャフト23を基準位置まで回動して電動モータ100のモータ電気角θを学習する必要がない。したがって、VCRコントローラ40は、VCR機構20の始動応答性を低下させることなく、1つのモータ角度センサ100aの電気角信号から取得したモータ電気角θに基づいて第2コントロールシャフト23の実角度φを検出できる。
また、第1実施形態に係る駆動制御処理によれば、VCRコントローラ40は、整合性判定処理により、フィードバック制御処理中にモータ角度センサ100aの異常を検知することができる。したがって、VCRコントローラ40が1つのモータ角度センサ100aと接続され、第2コントロールシャフト23の実角度φを検出する角度センサが存在しない場合であっても、VCR機構20の始動応答性を低下させることなく、モータ角度センサ100aの異常を検知できる。
ところで、基準電気角診断処理によればモータ角度センサ100aの異常を検知できるが、本駆動制御処理においては、基準電気角診断処理の前に敢えて始動電気角診断処理を行っている。これにより、始動時のモータ電気角θが停止時電気角θstpから乖離している場合にのみ基準電気角診断処理が行われる。したがって、アクチュエータ25の駆動制御処理を開始するたびに第2コントロールシャフト23を基準位置まで回動させて、VCR機構20の始動応答性が低下することが抑制される。
[第2実施形態に係る駆動制御処理]
図14は、VCRコントローラ40のプロセッサ40AがイグニッションスイッチIGNのオン操作を契機として実行を開始するアクチュエータ25の駆動制御処理のうち、第2実施形態の一例を示す。以下、第1実施形態の駆動制御処理と異なる点について説明し、第1実施形態と同一構成については、同一符号を付すことでその説明を省略又は簡潔にする。
第2実施形態に係る駆動制御処理では、始動電気角診断処理により始動時のモータ電気角θが異常と診断された場合でも、基準電気角診断処理を直ちに実施しない点で第1実施形態と異なる。
プロセッサ40Aは、ステップS5において始動時のモータ電気角θが異常である場合には(NO)、処理をステップS10aへ進める。
ステップS10aでは、プロセッサ40Aは、制限付きフィードバック制御処理を行う。始動電気角診断処理において始動時のモータ電気角θが異常であると診断した場合、内燃機関10の始動時におけるモータ電気角θが停止時電気角θstpから乖離している。始動時におけるモータ電気角θが停止時電気角θstpから乖離する原因には、モータ角度センサ100aに異常が発生した可能性も含まれる。モータ角度センサ100aに異常が発生している状態で通常のフィードバック制御処理を行うと、内燃機関10の運転状態に応じた圧縮比に設定できないだけでなく、内燃機関10の耐久性や車両の走行安全性に影響を与えるおそれがある。このため、通常のフィードバック制御処理に制限を設けた制限付きフィードバック制御処理を行っている。
制限付きフィードバック制御処理としては、例えば、目標圧縮比Ptの設定範囲やPI制御等におけるゲインに制限を設けた状態で、フィードバック制御処理を行う。但し、本実施形態において、目標圧縮比Ptの設定可能範囲には、第2コントロールシャフト23が基準位置にあるときの圧縮比が含まれるようにする。
ステップS10bにおいて、目標角度φtが基準角度φrefである場合には、プロセッサ40Aは、基準電気角診断処理を行うべく、処理をステップS11へ進める。一方、目標角度φtが基準角度φrefでない場合には、プロセッサ40Aは、制限付きフィードバック制御処理を続行すべく、処理をステップS10bへ戻す。
このような第2実施形態に係る駆動制御処理によれば、始動電気角診断処理により異常と診断された場合でも、基準電気角診断処理を直ちに実施せずに、まず制限付きフィードバック制御処理を行っている。したがって、第2実施形態に係る駆動制御処理によれば、第1実施形態と同様の効果を奏することに加え、始動時のモータ電気角θの異常診断後、VCR機構20の動作を優先させることができるという顕著な効果を奏する。特に、制限付きフィードバック制御中に、VCR機構20の動作に影響を殆ど与えることなく基準電気角診断処理を実施できるので、VCR機構20の始動応答性が低下しにくくなる。
[第3実施形態に係る駆動制御処理]
図15は、VCRコントローラ40のプロセッサ40AがイグニッションスイッチIGNのオン操作を契機として実行を開始するアクチュエータ25の駆動制御処理のうち、第3実施形態の一例を示す。
第3実施形態に係る駆動制御処理では、始動電気角診断処理により異常と診断された場合でも基準電気角診断処理を実施せず、イグニッションスイッチIGNのオフ操作によるセルフシャットオフ期間に基準電気角診断処理を実施する点で第1実施形態と異なる。なお、本実施形態では、セルフシャットオフ期間に基準電気角診断処理を行うべく、電動モータ100への電流を供給する必要があることから、第1接続線BL3の電流制限手段Dは省略される。
プロセッサ40Aは、ステップS5において始動時のモータ電気角θが異常である場合には(NO)、処理をステップS5aへ進める。ステップS5aでは、プロセッサ40Aは、第2実施形態のステップS10aと同様に、制限付きフィードバック制御処理を行う。
ステップS5bでは、プロセッサ40Aは、ステップS9と同様に、イグニッションスイッチIGNがオフ操作されたか否かを判定する。そして、プロセッサ40Aは、イグニッションスイッチIGNがオフ操作されたと判定した場合には(YES)、セルフシャットオフを行うとともに、処理をステップS11へ進める。一方、プロセッサ40Aは、イグニッションスイッチIGNがオフ操作されていないと判定した場合には(NO)、制限付きフィードバック制御処理を続行すべく、処理をステップS5aへ戻す。
プロセッサ40Aは、ステップS11において基準電気角診断処理を行った後、処理をステップS10へ進める。
このような第3実施形態に係る駆動制御処理によれば、始動電気角診断処理により異常と診断された場合でも、基準電気角診断処理を直ちに実施せずに、まず制限付きフィードバック制御処理を行っている。したがって、第3実施形態に係る駆動制御処理によれば、第1実施形態と同様の効果を奏することに加え、始動時のモータ電気角θの異常診断後、VCR機構20の動作を優先させることができるという顕著な効果を奏する。特に、VCR機構20の動作に影響を与えないセルフシャットオフ期間に基準電気角診断処理を実施できるので、VCR機構20の始動応答性が低下しにくくなる。
以上、好ましい実施形態を参照して本発明の内容を具体的に説明したが、本発明の基本的技術思想及び教示に基づいて、当業者であれば種々の変形態様を採り得ることは自明である。
第1〜第3実施形態における整合性判定処理では、現在のモータ電気角θ及び実角度φの相対関係が、相対関係学習処理により記憶された初期相対関係と整合しているか否かを判定していた。これによりモータ角度センサ100aに異常が発生しているか否かを診断していた。これに替えて、あるいは、これに加えて、整合性判定処理では、以下のようにしてモータ角度センサ100aに異常が発生しているか否かを診断することができる。すなわち、ノックコントロール領域において各圧縮比に応じた進角上限値から遅角下限値の範囲を超えた実点火時期となった場合、モータ電気角θに基づいて算出された実角度φが異常であるから、モータ角度センサ100aが異常であると診断することができる。
第1〜第3実施形態のフィードバック制御処理におけるステップS102では、始動電気角診断処理により始動時のモータ電気角θが正常であると診断された場合には、初期実角度φ0は停止時実角度φstpに設定された。しかし、第2コントロールシャフト23の実角度φの算出精度を向上させるために、初期実角度φ0として、停止時電気角θstpと始動時におけるモータ電気角θとの差分に応じて停止時実角度φstpを補正した補正値を用いることができる。具体的には、停止時電気角θstpと始動時におけるモータ電気角θとの差分(θstp−θ)に相関係数Kを乗算した乗算値を停止時実角度φstpに加算することで、停止時実角度φstpを補正できる。
第1〜第3実施形態の基準電気角診断処理において、相対関係学習処理により第2コントロールシャフト23の第2ストッパ位置における実角度φとモータ電気角θとの相対関係を学習して記憶している場合、第2ストッパ位置を基準位置として用いてもよい。これは、基準電気角診断処理の開始時に、実角度φが第1ストッパ位置より第2ストッパ位置に近い角度を示す場合には、第2コントロールシャフト23が基準位置まで回動する時間を短縮して、VCR機構20の始動応答性を良好ならしめる点で有効である。
第1〜第3実施形態の基準電気角診断処理において、第2コントロールシャフト23を基準位置まで回動させたときのモータ電気角θである基準電気角θref[1]が初期相対関係における基準電気角θref[0]から乖離した場合には、直ちにモータ角度センサ100aが異常であると診断していた。これに替えて、基準電気角診断処理を連続して複数回行ってもよい。その結果、第2コントロールシャフト23を基準位置まで複数回回動させたときのモータ電気角θが、すべて基準電気角θref[1]を中心とする所定範囲内となった場合には、モータ角度センサ100aが異常であると診断せずに、新たに相関関係学習処理を行ってもよい。この場合には、新たに行った相関関係学習処理で得られた新たな初期相関関係に基づいて、整合性判定処理や基準電気角診断処理を行う。
第1〜第3実施形態において、整合性判定処理の結果、モータ角度センサ100aが異常であると判定された場合、異常診断の精度を高めるために、さらに基準電気角診断処理を行ってもよい。なお、整合性判定処理としては、ノックコントロール領域における実点火時期に基づいてモータ角度センサ100aに異常が発生しているか否かを診断するという、前述の診断方法も含まれる。
具体的には、第1実施形態に係る駆動制御処理では、プロセッサ40Aは、ステップS8で異常と判定した場合には、内燃機関10の次回始動時に、ステップS5において強制的に処理をステップS11へ進める。第2実施形態に係る駆動制御処理では、プロセッサ40Aは、ステップS8で異常と判定した場合には、内燃機関10の次回始動時に、ステップS5において強制的に処理をステップS10aへ進める。第3実施形態に係る駆動制御処理では、プロセッサ40Aは、ステップS8で異常と判定した場合には、内燃機関10の次回始動時に、ステップS5において、処理をステップS5aへ進める。
第1〜第3実施形態において、本発明に係るアクチュエータ制御装置として、VCR機構20(第2コントロールシャフト23)を駆動対象としたアクチュエータ25を制御するVCRコントローラ40を例に説明した。しかし、本発明に係るアクチュエータ制御装置は、VCR機構20に限らず、内燃機関10に関連する様々な機構を駆動対象としたアクチュエータの制御装置として適用可能である。例えば、内燃機関10における吸排気バルブの開閉タイミングやリフト量を可変とする可変バルブ機構を駆動対象としたアクチュエータの制御装置として適用することができる。要するに、第1の位置センサから取得された駆動対象の動作位置情報を、第2の位置センサから取得されたアクチュエータの動作位置情報によって補完することで、駆動対象の動作位置検出精度を向上させるアクチュエータ制御装置であればよい。