(57)【要約】【課題】アクチュエータに対する制御性能を向上させることができる制御装置および制御方法を提供する。【解決手段】実施形態に係る制御装置は、記憶部と、決定部と、駆動部とを備える。記憶部は、アクチュエータのヒステリシス領域の情報を記憶する。決定部は、記憶部に情報が記憶されたヒステリシス領域に応じた目標電流値を、制御モードに基づいて決定する。駆動部は、決定部によって決定された目標電流値に応じた駆動電流をアクチュエータに供給する。【選択図】図１Ａ
2018048721.tif 000002
【特許請求の範囲】
【請求項１】
アクチュエータのヒステリシス領域の情報を記憶する記憶部と、
前記記憶部に情報が記憶された前記ヒステリシス領域に応じた目標電流値を、制御モードに基づいて決定する決定部と、
前記決定部によって決定された前記目標電流値に応じた駆動電流を前記アクチュエータに供給する駆動部と、を備える
ことを特徴とする制御装置。
【請求項２】
前記アクチュエータを配置した装置の状態に応じて、前記制御モードを複数の制御モードの中から選択するモード選択部を備える
ことを特徴とする請求項１に記載の制御装置。
【請求項３】
前記決定部は、
前記制御モードに応じた前記目標電流値を、前記ヒステリシス領域の下限値、上限値、または、中間値に基づいて設定する
ことを特徴とする請求項２に記載の制御装置。
【請求項４】
前記複数の制御モードは、前記アクチュエータの駆動量の変動を抑制する第１モードと、前記アクチュエータの消費電力を抑制する第２モードと、前記アクチュエータの駆動量を変化させる際の応答性が高い第３モードと、を含み、
前記モード選択部は、
前記アクチュエータを配置した装置の状態に応じて、前記制御モードを前記第１〜第３モードの中から選択する
ことを特徴とする請求項２または３に記載の制御装置。
【請求項５】
前記アクチュエータを配置した装置は、車両のエンジンであり、
前記アクチュエータは、排気側から吸気側に還流される排気ガスの量を調整するＥＧＲバルブに設けられたリニアソレノイドであり、
前記モード選択部は、
前記エンジンの回転数と負荷率とに基づき、前記制御モードを前記第１〜第３モードの中から選択する
ことを特徴とする請求項４に記載の制御装置。
【請求項６】
前記駆動電流および前記アクチュエータの駆動量に基づいて、前記ヒステリシス領域を学習する学習部を備える
ことを特徴とする請求項１〜５のいずれか一つに記載の制御装置。
【請求項７】
ヒステリシス領域を有するアクチュエータを制御する制御方法であって、
前記ヒステリシス領域に応じた目標電流値を、制御モードに基づいて決定する決定工程と、
前記決定工程によって決定された前記目標電流値に応じた駆動電流を前記アクチュエータに供給する駆動工程と、
を含むことを特徴とする制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置および制御方法に関する。
【背景技術】
【０００２】
従来、リニアソレノイド等のアクチュエータを制御する制御装置が知られている。かかる制御装置は、アクチュエータの駆動目標量に応じた駆動電流をアクチュエータに供給することで、アクチュエータの駆動量を駆動目標量に一致させるように制御する。
【０００３】
リニアソレノイド等のアクチュエータは、駆動電流を変化させても駆動量が変化しないヒステリシス領域を有している。そこで、かかるヒステリシス領域を考慮して次の駆動目標量に対する補正を行うアクチュエータの制御装置が提案されている（例えば特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−２１６６４８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
アクチュエータの制御装置においては、ヒステリシス領域を考慮したアクチュエータに対する制御性能をより向上させることが望ましい。
【０００６】
本発明は、上記に鑑みてなされたものであって、アクチュエータに対する制御性能を向上させることができる制御装置および制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
実施形態の一態様に係る制御装置は、記憶部と、決定部と、駆動部とを備える。前記記憶部は、アクチュエータのヒステリシス領域の情報を記憶する。前記決定部は、前記記憶部に情報が記憶された前記ヒステリシス領域に応じた目標電流値を、制御モードに基づいて決定する。前記駆動部は、前記決定部によって決定された前記目標電流値に応じた駆動電流を前記アクチュエータに供給する。
【発明の効果】
【０００８】
本発明によれば、アクチュエータの制御性を向上させることができる制御装置および制御方法を提供することができる。
【図面の簡単な説明】
【０００９】
【図１Ａ】図１Ａは、実施形態に係るアクチュエータの制御装置の構成例を示す図である。
【図１Ｂ】図１Ｂは、実施形態に係るアクチュエータのヒステリシス領域における駆動電流の制御方法の説明図である。
【図２】図２は、実施形態に係る車両に搭載される内燃機関の概要を示す図である。
【図３】図３は、実施形態に係るソレノイドバルブの構成例を示す図である。
【図４】図４は、実施形態に係るソレノイドバルブの制御装置の具体的構成の一例を示す図である。
【図５】図５は、一般的なフィードバック制御によるリニアソレノイドの駆動電流と実リフト量との関係を示す図である。
【図６】図６は、図５に示す時刻ｔ１〜ｔ３の間の駆動電流と実リフト量との関係を示す図である。
【図７】図７は、実施形態に係る目標リフト量ごとのヒステリシス領域を示すテーブルの一例を示す図である。
【図８】図８は、ヒステリシス領域の下限値に目標電流値を設定した場合における実リフト量および駆動電流の時間変化を示す図である。
【図９】図９は、ヒステリシス領域の上限値に目標電流値を設定した場合における実リフト量および駆動電流の時間変化を示す図である。
【図１０】図１０は、ヒステリシス領域の中間値に目標電流値を設定した場合における実リフト量および駆動電流の時間変化を示す図である。
【図１１】図１１は、第１制御モードにおける実リフト量および駆動電流の時間変化を示す図である。
【図１２】図１２は、第２制御モードにおける実リフト量および駆動電流の時間変化を示す図である。
【図１３】図１３は、第３制御モードにおける実リフト量と駆動電流の変化を示す図である。
【図１４】図１４は、エンジン回転数およびエンジン負荷率と制御モードとの関係を示す図である。
【図１５】図１５は、制御部が実行する処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下、添付図面を参照して、本願の開示する制御装置および制御方法の実施形態を詳細に説明する。なお、以下に示す実施形態によりこの発明が限定されるものではない。
【００１１】
［１．アクチュエータの制御方法］
図１Ａおよび図１Ｂを用いて、実施形態に係るアクチュエータの制御方法を説明する。図１Ａは、実施形態に係るアクチュエータの制御装置の構成例を示す図である。
【００１２】
図１Ａに示すように、実施形態に係る制御装置１は、アクチュエータ２に駆動電流Ｉｏを供給して、アクチュエータ２を駆動する。かかるアクチュエータ２は、ヒステリシス特性を有するアクチュエータであり、例えば、リニアソレノイド、ロータリーソレノイド、サーボモータ等である。
【００１３】
制御装置１は、制御部１０と、記憶部２０とを備える。記憶部２０には、目標リフト量Ｐｘ*毎にアクチュエータ２のヒステリシス領域Ｈの情報が記憶されており、制御部１０は、かかるヒステリシス領域Ｈの情報に基づいて目標電流値Ｉｏ*を決定し、かかる目標電流値Ｉｏ*に応じた駆動電流Ｉｏをアクチュエータ２へ供給する。
【００１４】
制御部１０は、目標電流値決定部１２と、駆動部１３と、制御モード選択部１５（モード選択部の一例）とを備える。目標電流値決定部１２は、アクチュエータ２の駆動量（駆動位置）Ｐが、駆動量Ｐの目標値である目標駆動量（目標駆動位置）Ｐ*と一致するように、目標電流値Ｉｏ*を決定する。駆動部１３は、目標電流値Ｉｏ*に応じた駆動電流Ｉｏをアクチュエータ２へ供給する。制御モード選択部１５は、例えば、アクチュエータ２を配置した装置の状態に応じて、制御モードを選択する。
【００１５】
ここで、目標電流値決定部１２は、アクチュエータ２の駆動量Ｐが目標駆動量Ｐ*に到達した場合、記憶部２０に情報が記憶されたヒステリシス領域Ｈに応じた目標電流値Ｉｏ*を、制御モード選択部１５によって選択された制御モードに基づいて決定する。
【００１６】
図１Ｂは、ヒステリシス領域Ｈにおける駆動電流Ｉｏの制御方法の説明図であり、第１〜第３制御モードのそれぞれにおける駆動電流Ｉｏの状態を示す図である。なお、ヒステリシス領域Ｈは、駆動電流Ｉｏを変化させてもアクチュエータ２の駆動量Ｐが実質的に変化しない領域である。
【００１７】
目標電流値決定部１２は、制御モード選択部１５によって選択された制御モードが第１制御モードである場合、駆動電流Ｉｏをヒステリシス領域Ｈの中間値ＡＭにする目標電流値Ｉｏ*を決定する。これにより、アクチュエータ２へ供給される駆動電流Ｉｏを図１Ｂに示す“Ｉｍｉｄ”にしてヒステリシス領域Ｈ内に安定的に維持することができ、アクチュエータ２の駆動量Ｐを安定的に維持することができる。
【００１８】
また、目標電流値決定部１２は、制御モード選択部１５によって選択された制御モードが第２制御モードである場合、駆動電流Ｉｏをヒステリシス領域Ｈの下限値ＡＬにする目標電流値Ｉｏ*を決定する。これにより、駆動電流Ｉｏの大きさを最小限（図１Ｂに示す“Ｉｍｉｎ”）に抑えることができ、次に目標駆動量Ｐ*を変化させるまでの間の電力消費を低減することができる。
【００１９】
また、目標電流値決定部１２は、制御モード選択部１５によって選択された制御モードが第３制御モードである場合、次に予測される目標駆動量Ｐ*の変動方向（移動方向）に基づいて、駆動電流Ｉｏをヒステリシス領域Ｈの下限値ＡＬまたは上限値ＡＨにする目標電流値Ｉｏ*を決定する。
【００２０】
ここで、駆動電流Ｉｏが大きいほどアクチュエータ２の駆動量Ｐが増加（正方向に移動）するとする。この場合、目標電流値決定部１２は、次の目標駆動量Ｐ*が増加すると予測される場合、駆動電流Ｉｏをヒステリシス領域Ｈの上限値ＡＨにする目標電流値Ｉｏ*を決定する。これにより、駆動電流Ｉｏを図１Ｂに示す“Ｉｍａｘ”にし、次に駆動電流Ｉｏが増加する場合にアクチュエータ２の駆動量Ｐを迅速に増加させることができる。
【００２１】
一方、目標電流値決定部１２は、次の目標駆動量Ｐ*が減少（負方向に移動）すると予測される場合、駆動電流Ｉｏをヒステリシス領域Ｈの下限値ＡＬにする目標電流値Ｉｏ*を決定する。これにより、駆動電流Ｉｏを図１Ｂに示す“Ｉｍｉｎ”にし、次に駆動電流Ｉｏが減少する場合にアクチュエータ２の駆動量Ｐを迅速に減少させることができる。
【００２２】
以下、車両の内燃機関に搭載されるソレノイドバルブのリニアソレノイドをアクチュエータ２の一例とし、制御装置１が、車両の状態に応じた制御モードによってリニアソレノイドを制御する制御装置であるものとして説明する。
【００２３】
［２．内燃機関］
図２は、実施形態に係る内燃機関の概要を示す図である。図２に示す内燃機関５０は、例えばガソリンを燃料とする自動車などの車両のエンジンである。かかる内燃機関５０は、制御装置１を含む電子制御装置１００（以下、ＥＣＵ１００と記載する）によって燃焼制御等の各種制御が行われる。なお、以下、エンジンである内燃機関５０の負荷をエンジン負荷率ＫＬと記載し、内燃機関５０の回転数をエンジン回転数Ｎと記載する。また、図２に示す内燃機関５０は、１気筒の内燃機関を示しているが、内燃機関５０は、多気筒の内燃機関であってもよい。
【００２４】
また、内燃機関５０は、かかる内燃機関５０での燃焼によって排出される排気ガス中のＮＯｘを低減させるために、内燃機関５０の排気ガスの一部を吸気側へ送ることによって排気ガスを再度吸気させる排気再循環機構（ＥＧＲ機構）を有する。
【００２５】
内燃機関５０は、吸気口５１と、スロットル弁５２と、吸気管５３、５５と、吸気管圧力センサ５４と、吸気弁５６と、シリンダ（燃焼室）５７と、排気弁５８と、排気管５９、６０、６２と、ＮＯｘ吸蔵還元型三元触媒装置６１と、排気側環流管６３と、吸気側環流管６４と、ソレノイドバルブ６５（ＥＧＲバルブの一例）とを備える。スロットル弁５２は、吸気管５３内に設けられており、吸気管圧力センサ５４は、吸気管５５におけるサージタンク内に設けられている。
【００２６】
シリンダ５７には、吸気管５５が吸気弁５６を介して連結され、排気管５９が排気弁５８を介して連結されている。吸気口５１から吸気管５３を介して吸気された空気は、吸気管５５へ流れ込み、吸気弁５６を介してシリンダ５７へ送られ、かかる空気がシリンダ５７において燃料と混合される。
【００２７】
シリンダ５７からの排気ガスは、排気弁５８を介して排気管５９へ排出される。また、排気管５９から排出される排気ガスの一部は排気側環流管６３へ流れ込み、さらにソレノイドバルブ６５を開けた際に、吸気側環流管６４経由で吸気管５５側へ流れ込む。ソレノイドバルブ６５によって、排気側環流管６３（排気側）から吸気側環流管６４（吸気側）へ還流される排気ガスの流量が調整される。これにより、シリンダ５７での燃焼によって排出される排気ガスの一部が吸気側へ送られ、排気ガス中のＮＯｘが低減される。
【００２８】
図３は、ソレノイドバルブ６５の構成例を示す図である。図３に示すように、ソレノイドバルブ６５は、ハウジング８１と、リニアソレノイド８２（アクチュエータ２の一例）と、弾性部材８５と、軸受部８６と、バルブステム８７と、バルブヘッド８８とを備える。
【００２９】
ハウジング８１は、中空筒状に形成されており、内部にリニアソレノイド８２と、弾性部材８５と、軸受部８６とが配置される。ハウジング８１は、例えば排気側環流管６３および吸気側環流管６４と一体的に形成される。
【００３０】
バルブヘッド８８およびかかるバルブヘッド８８を支持するバルブステム８７は、弾性部材８５によって所定方向（図３の上向き）に付勢され、ハウジング８１、排気側環流管６３および吸気側環流管６４内を直線的に摺動可能に配置される。軸受部８６は、バルブステム８７を直線的に摺動可能に支持する。バルブヘッド８８は、例えば排気側環流管６３および吸気側環流管６４との間の開口部Ａを塞ぐことができるように配置される。
【００３１】
リニアソレノイド８２は、バルブヘッド８８に対して、弾性部材８５が付勢する所定方向とは反対の方向（図３の下向き）に推力を加える。かかるリニアソレノイド８２は、バルブステム８７を介してバルブヘッド８８に連結されたプランジャ８４と、プランジャ８４の外周と空隙を介して対向するコイル８３とを備える。
【００３２】
コイル８３に駆動電流Ｉｏが供給されると、かかる駆動電流Ｉｏに応じてリニアソレノイド８２のプランジャ８４が図３の下向きに移動する。プランジャ８４の移動に応じてバルブヘッド８８に推力が加わり、バルブヘッド８８が摺動する。これにより、開口部Ａが開口することで、ソレノイドバルブ６５が開弁し、排気ガスが排気側環流管６３から吸気側環流管６４へと流れる。
【００３３】
リフトセンサ８９は、例えば図３に示すように、プランジャ８４の一端に設けられ、かかるプランジャ８４の摺動量の瞬時値をリニアソレノイド８２のリフト量Ｐｘの瞬時値（以下、リフト量Ｐｘｄと記載する）として検出する。リフトセンサ８９は、検出したリフト量Ｐｘｄを制御装置１に出力する。
【００３４】
［３．制御装置１］
次に、ＥＣＵ１００に含まれる制御装置１について説明する。図４は、実施形態に係る制御装置１の具体的構成の一例を示す図であり、かかる制御装置１は、ソレノイドバルブ６５を制御する。
【００３５】
図４に示すように、制御装置１は、制御部１０と、記憶部２０と、電流検出部３０とを備える。電流検出部３０は、制御部１０から出力される駆動電流Ｉｏの瞬時値を検出し、かかる検出結果を駆動電流値Ｉｏｄとして出力する。
【００３６】
制御部１０は、目標リフト量決定部１１と、目標電流値決定部１２（決定部の一例）と、駆動部１３と、ヒステリシス領域学習部１４（学習部の一例）と、制御モード選択部１５とを備える。記憶部２０は、ヒステリシス領域記憶部２１と、制御モード情報記憶部２２とを備える。
【００３７】
制御部１０は、ＣＰＵ（Central  Processing  Unit）、ＲＯＭ（Read  Only  Memory）、ＲＡＭ（Random  Access  Memory）、入出力（Ｉ／Ｏ）ポート、および、ＡＤ変換部などを有し、これらはバスによって互いに接続される。
【００３８】
ＣＰＵは、ＲＯＭに記憶されているプログラムを読み出し、ＲＡＭを作業領域としてプログラムを実行する。これにより、制御部１０は、目標リフト量決定部１１、目標電流値決定部１２、駆動部１３、ヒステリシス領域学習部１４および制御モード選択部１５として機能する。なお、各部の少なくともいずれか一部または全部をハードウェアのみで構成することもできる。
【００３９】
目標リフト量決定部１１は、リニアソレノイド８２のリフト量Ｐｘ（以下、実リフト量Ｐｘと記載する）の目標値である目標リフト量Ｐｘ*（目標駆動量Ｐ*の一例）を決定して出力する。かかる目標リフト量Ｐｘ*は、例えば、ソレノイドバルブ６５の目標弁開度に応じて決定される。
【００４０】
目標電流値決定部１２は、目標リフト量決定部１１から通知される目標リフト量Ｐｘ*とリフトセンサ８９から通知されるリフト量Ｐｘｄとに基づいて、リフト量Ｐｘｄが目標リフト量Ｐｘ*に対応する実リフト量Ｐｘになるように目標電流値Ｉｏ*を決定する。
【００４１】
例えば、目標電流値決定部１２は、目標リフト量Ｐｘ*とリフト量Ｐｘｄとの差がゼロになるようにＰＩ（比例積分）制御またはＰＩＤ（比例積分微分）制御を行って、目標電流値Ｉｏ*を決定する。なお、目標電流値決定部１２は、ヒステリシス領域Ｈを考慮して目標電流値Ｉｏ*を決定するが、この点については後で詳述する。
【００４２】
駆動部１３は、目標電流値Ｉｏ*と駆動電流値Ｉｏｄとに基づいて、駆動電流値Ｉｏｄが目標電流値Ｉｏ*に応じた値になるように駆動電流Ｉｏをリニアソレノイド８２へ供給する。
【００４３】
例えば、駆動部１３は、目標電流値Ｉｏ*と駆動電流値Ｉｏｄとの差がゼロになるようにＰＩ制御またはＰＩＤ制御を行って変調率を演算し、かかる変調率と搬送波とを比較してＰＷＭ（pulse  width  modulation）信号を生成する。駆動部１３は、例えば、降圧チョッパ回路を有しており、生成したＰＷＭ信号をスイッチング素子へ入力し、かかる降圧チョッパ回路から駆動電流Ｉｏをリニアソレノイド８２へ供給する。
【００４４】
なお、駆動部１３は、リフト量Ｐｘｄが目標リフト量Ｐｘ*よりも所定量Ｋだけ低い量になるまでは、フォードフォワード制御を行うこともできる。かかるフォードフォワード制御において、駆動部１３は、リフト量Ｐｘｄと目標リフト量Ｐｘ*との差が大きいほど目標電流値Ｉｏ*の変化量が大きくなるように目標電流値Ｉｏ*を設定して目標電流値Ｉｏ*に応じた駆動電流Ｉｏをリニアソレノイド８２へ供給する。これにより、実リフト量Ｐｘを迅速に目標リフト量Ｐｘ*に近づけることができる。
【００４５】
駆動部１３は、リフト量Ｐｘｄが目標リフト量Ｐｘ*よりも所定量Ｋだけ低い量になった後、フィードバック制御を行う。すなわち、駆動部１３は、目標電流値Ｉｏ*と駆動電流値Ｉｏｄとの差に基づいて、駆動電流値Ｉｏｄが目標電流値Ｉｏ*に応じた値になるように駆動電流Ｉｏをリニアソレノイド８２へ供給する。なお、所定量Ｋは、目標リフト量Ｐｘ*が大きいほど大きくする。
【００４６】
ヒステリシス領域学習部１４は、リニアソレノイド８２の実リフト量Ｐｘ毎にヒステリシス領域Ｈの情報を学習し、記憶部２０のヒステリシス領域記憶部２１に記憶する。ヒステリシス領域Ｈの情報は、例えば、実リフト量Ｐｘ毎のヒステリシス領域Ｈにおける駆動電流Ｉｏの上限値ＡＨ、下限値ＡＬおよび中間値ＡＭである。
【００４７】
ここで、リニアソレノイド８２のヒステリシス領域Ｈについて説明する。図５は、一般的なフィードバック制御による駆動電流Ｉｏと実リフト量Ｐｘとの関係を示す図である。また、図６は、図５に示す時刻ｔ１〜ｔ３の間の駆動電流Ｉｏと実リフト量Ｐｘとの関係を示す図である。
【００４８】
なお、図５および図６に示す例では、ヒステリシス領域Ｈを考慮した目標電流値Ｉｏ*の決定が行われていない状態を示し、実リフト量ＰｘがＰｘ４とＰｘ１またはＰｘ２との間で変化している状態を示している。
【００４９】
図５および図６に示すように、時刻ｔ１において、実リフト量ＰｘをＰｘ１からＰｘ４へ変化させるようにリニアソレノイド８２への駆動電流Ｉｏの供給を開始した場合、時刻ｔ２において実リフト量ＰｘがＰｘ４に到達した後、時刻ｔ２から時刻ｔ３の間でハンチングが発生する。その後、駆動電流Ｉｏは、時刻ｔ３〜ｔ４の間で、ヒステリシス領域Ｈの下限値ＡＬ付近で収束する。
【００５０】
また、時刻ｔ５において、実リフト量ＰｘをＰｘ２からＰｘ４へ変化させるように駆動電流Ｉｏをリニアソレノイド８２へ供給した場合、実リフト量ＰｘがＰｘ４に到達した後、ヒステリシス領域Ｈの存在によって時刻ｔ５から時刻ｔ６の間でハンチングが発生する。その後、駆動電流Ｉｏは、時刻ｔ６〜ｔ７の間で、ヒステリシス領域Ｈの上限値ＡＨ付近で収束する。
【００５１】
このように、実リフト量Ｐｘを上昇させた場合、ハンチングが発生した後、駆動電流Ｉｏは、ヒステリシス領域Ｈの下限値ＡＬ付近または上限値ＡＨ付近で収束する。このように駆動電流Ｉｏが変化するのは、ヒステリシス領域Ｈでは、駆動電流Ｉｏを変化させてもアクチュエータ２の位置Ｐが実質的に変化しない領域であるからである。
【００５２】
すなわち、実リフト量ＰｘがＰｘ４に到達した後、実リフト量ＰｘをＰｘ４に一致させようとして駆動電流Ｉｏを低下させようとした場合、ヒステリシス領域Ｈに対応する電流幅ＡＷ（＝ＡＨ−ＡＬ）よりも大きな電流を流す必要があるからである。なお、以下において、ハンチングの後に下限値ＡＬ付近または上限値ＡＨ付近に収束している駆動電流Ｉｏを収束電流と呼ぶ。
【００５３】
ヒステリシス領域学習部１４は、上述したように、リニアソレノイド８２の目標リフト量Ｐｘ１*、Ｐｘ２*、・・・Ｐｘｎ*（ｎは自然数）毎にヒステリシス領域Ｈの情報を学習し、記憶部２０のヒステリシス領域記憶部２１に記憶する。なお、目標リフト量Ｐｘ１*〜Ｐｘｎ*は、目標リフト量Ｐｘ*をその大きさで区分したものであり、Ｐｘ１*＜Ｐｘ２*＜・・・＜Ｐｘｎ*である。目標リフト量Ｐｘｎ*は、例えば、Ｐｘｎ*＝ｎ×Ｐｘｐで表すことができる。
【００５４】
例えば、ヒステリシス領域学習部１４は、目標リフト量Ｐｘ*をＰｘ１*に設定し、目標リフト量Ｐｘ*（＝Ｐｘ１*）がリフト量Ｐｘｄとの差がゼロになるようにＰＩ制御またはＰＩＤ制御を行って、目標電流値Ｉｏ*を決定する。
【００５５】
そして、ヒステリシス領域学習部１４は、目標電流値Ｉｏ*に応じた駆動電流Ｉｏを駆動部１３からアクチュエータ２へ供給させる。このとき、駆動電流Ｉｏは、図６に示すように、ヒステリシス領域Ｈを跨いで変動する。そこで、ヒステリシス領域学習部１４は、駆動電流Ｉｏの変動幅に基づいて、目標リフト量Ｐｘ１*に対するヒステリシス領域Ｈの上限値ＡＨ、下限値ＡＬおよび中間値ＡＭ（＝（＋ＡＬ）／２）を判定する。
【００５６】
なお、ヒステリシス領域学習部１４は、収束電流の大きさに基づいて、目標リフト量Ｐｘ１*に対するヒステリシス領域Ｈの上限値ＡＨ、下限値ＡＬおよび中間値ＡＭ（＝（＋ＡＬ）／２）を判定することもできる。
【００５７】
例えば、ヒステリシス領域学習部１４は、リフト量Ｐｘｄが目標リフト量Ｐｘ１*と一致させるための駆動電流Ｉｏを駆動部１３から出力させる処理を複数回行い、上限値ＡＨ付近になる収束電流と下限値ＡＬ付近になる収束電流を駆動電流値Ｉｏｄに基づいて検出する。そして、ヒステリシス領域学習部１４は、検出した収束電流の値を、目標リフト量Ｐｘ１*に対するヒステリシス領域Ｈの上限値ＡＨおよび下限値ＡＬとし、これら上限値ＡＨおよび下限値ＡＬから中間値ＡＭを判定する。
【００５８】
ヒステリシス領域学習部１４は、目標リフト量Ｐｘ１*に対するヒステリシス領域Ｈの上限値ＡＨ、下限値ＡＬおよび中間値ＡＭを判定した後、かかる判定結果をヒステリシス領域記憶部２１のテーブルに記憶する。
【００５９】
ヒステリシス領域学習部１４は、目標リフト量Ｐｘ１*の場合と同様に、各目標リフト量Ｐｘ２*〜Ｐｘｎ*に対するヒステリシス領域Ｈの上限値ＡＨ、下限値ＡＬおよび中間値ＡＭを判定し、かかる判定結果をヒステリシス領域記憶部２１のテーブルに記憶する。
【００６０】
図７は、実施形態に係る目標リフト量Ｐｘ１*〜Ｐｘｎ*ごとのヒステリシス領域Ｈを示すテーブルの一例を示す図である。図７に示すテーブルでは、各目標リフト量Ｐｘ１*〜Ｐｘｎ*に対して、ヒステリシス領域Ｈの上限値ＡＨ、下限値ＡＬおよび中間値ＡＭが関連付けられている。なお、図７に示す例では、例えば、目標リフト量Ｐｘ１*に対するヒステリシス領域Ｈの上限値ＡＨ、下限値ＡＬおよび中間値ＡＭを上限値ＡＨ１、下限値ＡＬ１および中間値ＡＭ１として表している。
【００６１】
このように、ヒステリシス領域学習部１４は、上述のように、Ｐｘｐ単位で段階的に増加する目標リフト量Ｐｘ*毎にヒステリシス領域Ｈの情報を学習することができるが、かかる例に限定されない。
【００６２】
例えば、ヒステリシス領域学習部１４は、Ｐｘｐ単位で段階的に増加する目標リフト量Ｐｘ*毎のヒステリシス領域Ｈに基づき、目標リフト量Ｐｘ*と上限値ＡＨ、下限値ＡＬおよび中間値ＡＭとの関係を示す関数ｆＡＨ（Ｐｘ*）、ｆＡＬ（Ｐｘ*）、ｆＡＭ（Ｐｘ*）を求めることもできる。ヒステリシス領域学習部１４は、これらの関数の情報を記憶部２０に記憶することができる。なお、ｆＡＨ（Ｐｘ*）＝ＡＨであり、ｆＡＬ（Ｐｘ*）＝ＡＬであり、ｆＡＭ（Ｐｘ*）＝ＡＭである。
【００６３】
なお、ヒステリシス領域学習部１４は、エンジン負荷率ＫＬ、エンジン回転数Ｎ、吸気管５５の圧力、および、リニアソレノイド８２の周辺温度の少なくとも１つごとに、目標リフト量Ｐｘ*毎のヒステリシス領域Ｈの情報を学習するようにしてもよい。これにより、ヒステリシス領域Ｈの学習精度を向上させることができる。
【００６４】
図４に戻って制御部１０の説明を続ける。制御部１０の制御モード選択部１５は、内燃機関５０（エンジン）の状態に基づいて、複数の制御モードの中から一つの制御モードを選択し、かかる選択結果を目標電流値決定部１２へ通知する。
【００６５】
電子制御装置１００は、エンジン回転数Ｎやエンジン負荷率ＫＬを検出する検出部（図示せず）を有しており、かかる検出部によって検出されたエンジン回転数Ｎやエンジン負荷率ＫＬの情報は、制御装置１へ通知される。なお、エンジン負荷率ＫＬは、内燃機関５０の最大トルクに対する内燃機関５０のトルクの割合を示し、内燃機関５０の最大トルクは、エンジン回転数Ｎ毎に異なる。
【００６６】
制御モード選択部１５は、不図示の検出部から通知されたエンジン回転数Ｎやエンジン負荷率ＫＬの情報に基づいて、複数の制御モードの中から一つの制御モードを選択する。ここで、複数の制御モードには、第１〜第３制御モードが含まれる。
【００６７】
第１制御モード（第１モードの一例）は、リニアソレノイド８２の実リフト量Ｐｘの変動を抑制する制御モードである。第２制御モード（第２モードの一例）は、リニアソレノイド８２の消費電力を抑制する制御モードである。第３制御モード（第３モードの一例）は、リニアソレノイド８２の実リフト量Ｐｘを変化させる際の応答性が高い制御モードである。
【００６８】
目標電流値決定部１２は、制御モード選択部１５によって選択された制御モードに基づいて、目標リフト量Ｐｘ*に対応するヒステリシス領域Ｈに応じた目標電流値Ｉｏ*を決定する。目標電流値決定部１２は、駆動電流Ｉｏがヒステリシス領域Ｈの上限値ＡＨ、下限値ＡＬおよび中間値ＡＭのいずれかになるように、目標電流値Ｉｏ*を決定することができる。
【００６９】
なお、目標電流値決定部１２は、エンジン負荷率ＫＬ、エンジン回転数Ｎ、吸気管５５の圧力、および、リニアソレノイド８２の周辺温度の少なくとも１つを取得することができる。この場合、目標電流値決定部１２は、目標リフト量Ｐｘ*に加え、エンジン負荷率ＫＬ、エンジン回転数Ｎ、吸気管５５の圧力、および、リニアソレノイド８２の周辺温度の少なくとも１つに対応するヒステリシス領域Ｈの情報をヒステリシス領域記憶部２１から取得することができる。これにより、ヒステリシス領域Ｈの判定精度を向上させることができる。
【００７０】
図８は、駆動電流Ｉｏがヒステリシス領域Ｈの下限値ＡＬになるように目標電流値Ｉｏ*を設定した場合における実リフト量Ｐｘおよび駆動電流Ｉｏの時間変化を示す図である。
【００７１】
図８に示すように、目標電流値決定部１２は、実リフト量Ｐｘが目標リフト量Ｐｘ*に達するまでは、リフト量フィードバック制御によってリフト量Ｐｘｄと目標リフト量Ｐｘ*との差が小さくなるように目標電流値Ｉｏ*を決定する。
【００７２】
その後、目標電流値決定部１２は、実リフト量Ｐｘが目標リフト量Ｐｘ*に達したと判定した場合（時刻ｔ１０）、目標リフト量Ｐｘ*に対応するヒステリシス領域Ｈの下限値ＡＬを目標電流値Ｉｏ*として決定し、かかる目標電流値Ｉｏ*を駆動部１３へ出力する。このとき、目標電流値決定部１２は、実リフト量Ｐｘのフィードバック制御を停止する。
【００７３】
例えば、ヒステリシス領域記憶部２１に記憶されたテーブルが図７に示す状態であり、目標リフト量Ｐｘ*がＰｘ１*であるとする。この場合、目標電流値決定部１２は、図７に示す下限値ＡＬ１を目標電流値Ｉｏ*として決定する。これにより、ヒステリシス領域Ｈの下限値ＡＬ１付近で駆動電流Ｉｏがフィードバック制御される。
【００７４】
図９は、駆動電流Ｉｏがヒステリシス領域Ｈの上限値ＡＨになるように目標電流値Ｉｏ*を設定した場合における実リフト量Ｐｘおよび駆動電流Ｉｏの時間変化を示す図である。なお、実リフト量Ｐｘが目標リフト量Ｐｘ*に達するまでの目標電流値決定部１２の動作は、図８に示す例と同様である。
【００７５】
図９に示すように、目標電流値決定部１２は、実リフト量Ｐｘが目標リフト量Ｐｘ*に達したと判定した場合（時刻ｔ２０）、目標リフト量Ｐｘ*に対応するヒステリシス領域Ｈの上限値ＡＨを目標電流値Ｉｏ*として決定し、かかる目標電流値Ｉｏ*を駆動部１３へ出力する。このとき、目標電流値決定部１２は、実リフト量Ｐｘのフィードバック制御を停止する。
【００７６】
例えば、ヒステリシス領域記憶部２１に記憶されたテーブルが図７に示す状態であり、目標リフト量Ｐｘ*がＰｘ１*であるとする。この場合、目標電流値決定部１２は、図７に示す上限値ＡＨ１を目標電流値Ｉｏ*として決定する。これにより、ヒステリシス領域Ｈの上限値ＡＨ１付近で駆動電流Ｉｏがフィードバック制御される。
【００７７】
図１０は、駆動電流Ｉｏがヒステリシス領域Ｈの中間値ＡＭになるように目標電流値Ｉｏ*を設定した場合における実リフト量Ｐｘおよび駆動電流Ｉｏの時間変化を示す図である。なお、実リフト量Ｐｘが目標リフト量Ｐｘ*に達するまでの目標電流値決定部１２の動作は、図８に示す例と同様である。
【００７８】
図１０に示すように、目標電流値決定部１２は、実リフト量Ｐｘが目標リフト量Ｐｘ*に達したと判定した場合（時刻ｔ３０）、目標リフト量Ｐｘ*に対応するヒステリシス領域Ｈの中間値ＡＭを目標電流値Ｉｏ*として決定し、かかる目標電流値Ｉｏ*を駆動部１３へ出力する。このとき、目標電流値決定部１２は、実リフト量Ｐｘのフィードバック制御を停止する。
【００７９】
例えば、ヒステリシス領域記憶部２１に記憶されたテーブルが図７に示す状態であり、目標リフト量Ｐｘ*がＰｘ１*であるとする。この場合、目標電流値決定部１２は、図７に示す中間値ＡＭ１を目標電流値Ｉｏ*として決定する。これにより、ヒステリシス領域Ｈの中間値ＡＭ１付近で駆動電流Ｉｏがフィードバック制御される。
【００８０】
このように、目標電流値決定部１２は、実リフト量Ｐｘが目標リフト量Ｐｘ*に達した後、駆動電流Ｉｏが目標リフト量Ｐｘ*に対応するヒステリシス領域Ｈの下限値ＡＬ、上限値ＡＨおよび中間値ＡＭのいずれかになるように目標電流値Ｉｏ*を決定することができる。
【００８１】
なお、目標電流値決定部１２による目標電流値Ｉｏ*の決定方法は、かかる処理に限定されない。例えば、目標電流値決定部１２は、実リフト量Ｐｘが目標リフト量Ｐｘ*に達した後、駆動電流Ｉｏが目標リフト量Ｐｘ*に対応するヒステリシス領域Ｈの下限値ＡＬよりも駆動電流Ｉｏが少し高い値になるように目標電流値Ｉｏ*を決定することができる。
【００８２】
また、目標電流値決定部１２は、実リフト量Ｐｘが目標リフト量Ｐｘ*に達した後、駆動電流Ｉｏが目標リフト量Ｐｘ*に対応するヒステリシス領域Ｈの上限値ＡＨよりも駆動電流Ｉｏが少し低い値になるように目標電流値Ｉｏ*を決定することができる。
【００８３】
また、目標電流値決定部１２は、実リフト量Ｐｘが目標リフト量Ｐｘ*に達した後、駆動電流Ｉｏが目標リフト量Ｐｘ*に対応するヒステリシス領域Ｈの中間値ＡＭよりも駆動電流Ｉｏが少し低い値または少し高い値になるように目標電流値Ｉｏ*を決定することができる。
【００８４】
このように、目標電流値決定部１２は、実リフト量Ｐｘが目標リフト量Ｐｘ*に達した後、駆動電流Ｉｏが目標リフト量Ｐｘ*に対応するヒステリシス領域Ｈに応じた値になるように目標電流値Ｉｏ*を決定し、かかる目標電流値Ｉｏ*を駆動部１３へ出力することができる。
【００８５】
さらに、目標電流値決定部１２は、目標リフト量Ｐｘ*に対応するヒステリシス領域Ｈに応じた目標電流値Ｉｏ*を、制御モード選択部１５によって選択された制御モードに応じて決定することができる。図１１は、第１制御モードにおける実リフト量Ｐｘと駆動電流Ｉｏの変化を示す図であり、図１２は、第２制御モードにおける実リフト量Ｐｘと駆動電流Ｉｏの変化を示す図であり、図１３は、第３制御モードにおける実リフト量Ｐｘと駆動電流Ｉｏの変化を示す図である。
【００８６】
例えば、制御モード選択部１５によって選択された制御モードが第１制御モードである場合、目標電流値決定部１２は、目標リフト量Ｐｘ*を変化させる毎に、ヒステリシス領域Ｈの中間値ＡＭに駆動電流Ｉｏがなるように目標電流値Ｉｏ*を決定する。
【００８７】
これにより、図１１に示すように、実リフト量Ｐｘが目標リフト量Ｐｘ*に達した後から次に目標リフト量Ｐｘ*を変化させる前までの間（例えば、時刻ｔ４１〜ｔ４２、ｔ４３〜ｔ４４）において、駆動電流Ｉｏをヒステリシス領域Ｈ内に安定的に維持することができる。そのため、リニアソレノイド８２の実リフト量Ｐｘを安定的に維持することができる。
【００８８】
また、制御モード選択部１５によって選択された制御モードが第２制御モードである場合、目標電流値決定部１２は、目標リフト量Ｐｘ*を変化させる毎に、ヒステリシス領域Ｈの下限値ＡＬに駆動電流Ｉｏがなるように目標電流値Ｉｏ*を決定する。
【００８９】
これにより、図１２に示すように、目標リフト量Ｐｘ*に応じた実リフト量Ｐｘに変化させた後の駆動電流Ｉｏの収束後から次の目標リフト量Ｐｘ*に応じた実リフト量Ｐｘへ変化させる前までの間（例えば、時刻ｔ５２〜ｔ５３、ｔ５５〜ｔ５６）において、駆動電流Ｉｏを下限値ＡＬ付近にすることができる。そのため、リニアソレノイド８２の電力消費を低減することができる。
【００９０】
また、制御モード選択部１５によって選択された制御モードが第３制御モードである場合、目標電流値決定部１２は、目標リフト量Ｐｘ*を変化させる毎に、次に予測される目標リフト量Ｐｘ*の増減方向に基づいて、ヒステリシス領域Ｈの上限値ＡＨまたは下限値ＡＬに駆動電流Ｉｏがなるように目標電流値Ｉｏ*を決定する。
【００９１】
例えば、図１３に示すように、目標電流値決定部１２は、次の目標リフト量Ｐｘ*が増加する方向に移動すると予測される場合、駆動電流Ｉｏをヒステリシス領域Ｈの上限値ＡＨにする目標電流値Ｉｏ*を決定する。これにより、駆動電流Ｉｏがヒステリシス領域Ｈの下限値ＡＬ付近や中間値ＡＭ付近にある場合に比べて、次の実リフト量Ｐｘへの移動を迅速に行うことができる。
【００９２】
例えば、実リフト量Ｐｘ２から実リフト量Ｐｘ３への移動時間（図１３に示す時刻ｔ６２〜ｔ６３）や実リフト量Ｐｘ３から実リフト量Ｐｘ４への移動時間（図１３に示す時刻ｔ６４〜ｔ６５）を第１制御モードや第２制御モードに比べて、短くすることができる。そのため、ソレノイドバルブ６５の応答性を向上させることができる。
【００９３】
また、図１３に示すように、目標電流値決定部１２は、次の目標リフト量Ｐｘ*が減少する方向に移動すると予測される場合、駆動電流Ｉｏをヒステリシス領域Ｈの下限値ＡＬにする目標電流値Ｉｏ*を決定する。これにより、駆動電流Ｉｏがヒステリシス領域Ｈの上限値ＡＨ付近や中間値ＡＭ付近にある場合に比べて、次の実リフト量Ｐｘへの移動を迅速に行うことができる。
【００９４】
例えば、実リフト量Ｐｘ４から実リフト量Ｐｘ３への移動時間（図１３に示す時刻ｔ６６〜ｔ６７）を第１制御モードや第２制御モードに比べて、短くすることができる。そのため、ソレノイドバルブ６５の応答性を向上させることができる。
【００９５】
なお、上述では、目標電流値決定部１２は、実リフト量Ｐｘが目標リフト量Ｐｘ*に達した後、駆動電流Ｉｏが目標リフト量Ｐｘ*に対応するヒステリシス領域Ｈに応じた上限値ＡＨ、下限値ＡＬおよび中間値ＡＭのいずれかに対応する値になるように目標電流値Ｉｏ*を決定するが、かかる例に限定されない。
【００９６】
例えば、目標電流値決定部１２は、第１〜第３制御モードの２以上を組み合わせた制御モードによって目標電流値Ｉｏ*を決定することができる。例えば、目標電流値決定部１２は、実リフト量Ｐｘが目標リフト量Ｐｘ*に達した後、次に目標リフト量Ｐｘ*を変化させるまでの間に、下限値ＡＬを目標電流値Ｉｏ*として決定した後、上限値ＡＨを目標電流値Ｉｏ*として決定することができる。
【００９７】
また、目標電流値決定部１２は、実リフト量Ｐｘが目標リフト量Ｐｘ*に達した後、次に目標リフト量Ｐｘ*が変化するまでの間に、中間値ＡＭを目標電流値Ｉｏ*として決定した後、上限値ＡＨを目標電流値Ｉｏ*として決定することができる。
【００９８】
また、目標電流値決定部１２は、実リフト量Ｐｘが目標リフト量Ｐｘ*に達した後、次に予測される目標リフト量Ｐｘ*の増減方向に基づいて目標電流値Ｉｏ*を決定し、目標リフト量Ｐｘ*が所定時間以上変化しない場合には、中間値ＡＭを目標電流値Ｉｏ*として決定することができる。
【００９９】
また、目標電流値決定部１２は、例えば、自動運転制御などの場合のように、次に目標リフト量Ｐｘ*が変化するまでの期間が予測できる場合、実リフト量Ｐｘが目標リフト量Ｐｘ*に達した後、まず下限値ＡＬを目標電流値Ｉｏ*として決定する。そして、その後、次に目標リフト量Ｐｘ*が変化する直前（または所定期間前）に目標リフト量Ｐｘ*の増減方向に基づいて目標電流値Ｉｏ*を決定する。これにより、ソレノイドバルブ６５の電力消費を抑制しつつ、ソレノイドバルブ６５の応答性を高めることができる。
【０１００】
また、目標電流値決定部１２は、実リフト量Ｐｘが目標リフト量Ｐｘ*に達した後、まず中間値ＡＭを目標電流値Ｉｏ*として決定する。そして、その後、次に目標リフト量Ｐｘ*が変化する直前（または所定期間前）に目標リフト量Ｐｘ*の増減方向に基づいて目標電流値Ｉｏ*を決定する。これにより、ソレノイドバルブ６５の弁開状態を安定して維持しつつ、ソレノイドバルブ６５の応答性を高めることができる。
【０１０１】
ここで、エンジン回転数Ｎやエンジン負荷率ＫＬによる制御モードの選択方法の一例について説明する。図１４は、エンジン回転数Ｎおよびエンジン負荷率ＫＬと制御モードとの関係を示す図である。なお、図１４では、第１制御モードを安定性重視モードと記載し、第２制御モードを省電力重視モードと記載し、第３制御モードを応答性重視モードと記載している。
【０１０２】
図１４に示すように、目標電流値決定部１２は、エンジン回転数Ｎが中程度（Ｎ１≦Ｎ≦Ｎ２）でエンジン負荷率ＫＬが中程度（ＫＬ１≦ＫＬ≦ＫＬ２）である場合、第２制御モード（省電力重視モード）を選択する。
【０１０３】
エンジン回転数Ｎやエンジン負荷率ＫＬの状態は、エンジン回転数Ｎが中程度でエンジン負荷率ＫＬが中程度である時間が相対的に多い。そこで、このような場合、目標電流値決定部１２は、第２制御モード（省電力重視モード）を選択することで、内燃機関５０を搭載した車両における電力消費を抑制している。
【０１０４】
また、目標電流値決定部１２は、エンジン負荷率ＫＬが低い場合（ＫＬ＜ＫＬ３の領域範囲、但し、Ｎ１＜Ｎ＜Ｎ２かつＫＬ＞ＫＬ１の領域を除く）、第１制御モード（省電力重視モード）を選択する。
【０１０５】
エンジン負荷率ＫＬが低い場合、吸気と排気との差圧が大きいため、実リフト量Ｐｘの制御の精度が悪いような場合には、再循環する排ガスの量が大きくなって内燃機関５０において燃料が燃焼できずに失火する可能性がある。
【０１０６】
そこで、このような場合、目標電流値決定部１２は、第１制御モード（省電力重視モード）を選択することで、フィードバック制御に起因する実リフト量Ｐｘの変化を抑制する。これにより、実リフト量Ｐｘを安定した実リフト量Ｐｘに維持し、再循環する排ガスの量が大きくなって内燃機関５０における失火を抑制することができる。
【０１０７】
また、目標電流値決定部１２は、エンジン負荷率ＫＬが高い場合（（ＫＬ＞ＫＬ３の領域範囲、但し、Ｎ１＜Ｎ＜Ｎ２かつＫＬ＜ＫＬ２の領域を除く）、第３制御モード（応答性重視モード）を選択する。
【０１０８】
エンジン負荷率ＫＬが高い場合、吸気と排気との差圧が小さいため、再循環する排ガスの量を変化させる場合、吸気と排気との差圧が大きい場合に比べ、ソレノイドバルブ６５の弁開度の変化量が大きい。そのため、このような場合、目標電流値決定部１２は、第３制御モード（応答性重視モード）を選択することで、ソレノイドバルブ６５の応答性を向上させる。これにより、再循環する排ガスの量を迅速に変化させることができる。
【０１０９】
なお、図１４に示す制御モードの選択方法は一例であって、制御モードの選択方法はかかる例に限定されない。例えば、目標電流値決定部１２は、ヒステリシス領域Ｈを考慮する第１〜第３制御モードに加え、ヒステリシス領域Ｈを考慮しない第４制御モードも選択対象とすることができる。
【０１１０】
また、目標電流値決定部１２は、内燃機関５０を搭載した車両のエンジン負荷率ＫＬおよびエンジン回転数Ｎに加え、吸気管５５の圧力やリニアソレノイド８２の周辺温度に基づいて、制御モードを選択することもできる。
【０１１１】
また、目標電流値決定部１２は、内燃機関５０を搭載した車両の特性や運転者の特性に応じて制御モードを選択することができる。例えば、目標電流値決定部１２は、運転者がエンジン負荷率ＫＬやエンジン回転数Ｎをあまり変化させないような運転をする場合、第１制御モード（安定性重視モード）を選択することができる。また、目標電流値決定部１２は、運転者がエンジン負荷率ＫＬやエンジン回転数Ｎを頻繁に大きく変化させるような運転をする場合、第３制御モード（応答性重視モード）を選択することができる。
【０１１２】
また、目標電流値決定部１２は、内燃機関５０を搭載した車両が走行している道路の種別（例えば、高速道路、一般道など）、車両が走行している道路の渋滞状態、走行時間帯、天候、曜日などに応じて、制御モードを選択することもできる。
【０１１３】
また、目標電流値決定部１２は、内燃機関５０を搭載した車両の乗員などが入力装置（図示せず）を介して設定した制御モードを選択することもできる。これにより、例えば、乗員の好みに応じた制御モードを設定することができる。
【０１１４】
［４．制御部１０による処理］
次に、フローチャートを用いて、制御部１０が実行する処理の流れの一例を説明する。図１５は、制御部１０が実行する処理手順の一例を示すフローチャートであり、繰り返し実行される処理である。
【０１１５】
図１５に示すように、制御部１０は、ヒステリシス領域学習モードであるか否かを判定する（ステップＳ１０）。かかるヒステリシス領域学習モードは、例えば、入力装置（図示せず）を介して設定される。
【０１１６】
ヒステリシス領域学習モードであると判定した場合（ステップＳ１０；Ｙｅｓ）、制御部１０は、ヒステリシス領域Ｈを学習し、かかる学習結果を記憶部２０に記憶する（ステップＳ１１）。ヒステリシス領域Ｈの学習は、上述したように、例えば、目標リフト量Ｐｘ*毎に実行され、各目標リフト量Ｐｘ*に対してヒステリシス領域Ｈの下限値ＡＬ、上限値ＡＨおよび中間値ＡＭを判定することによって行われる。
【０１１７】
ステップＳ１１の処理が終了した場合、または、ヒステリシス領域学習モードではないと判定した場合（ステップＳ１０；Ｎｏ）、制御部１０は、通常制御モードであるか否かを判定する（ステップＳ１２）。なお、ここでの通常制御モードは、ヒステリシス領域学習モードでないことを意味し、ステップＳ１１のヒステリシス領域学習モードは、ヒステリシス領域Ｈの学習が終了した場合に終了する。
【０１１８】
通常制御モードであると判定した場合（ステップＳ１２；Ｙｅｓ）、制御部１０は、エンジン負荷率ＫＬおよびエンジン回転数Ｎの情報を取得する（ステップＳ１３）。そして、制御部１０は、エンジン負荷率ＫＬおよびエンジン回転数Ｎに応じた制御モードを選択し（ステップＳ１４）、選択した制御モードでリニアソレノイド８２を制御する（ステップＳ１５）。
【０１１９】
ステップＳ１５の処理が終了した場合、または、通常制御モードでないと判定した場合（ステップＳ１２；Ｎｏ）、制御部１０は、所定時間後に図１５に示す処理を繰り返す。
【０１２０】
以上のように、実施形態に係る制御装置１は、記憶部２０と、目標電流値決定部１２（決定部の一例）と、駆動部１３とを備える。記憶部２０は、アクチュエータ２のヒステリシス領域Ｈの情報を記憶する。目標電流値決定部１２は、記憶部２０に情報が記憶されたヒステリシス領域Ｈに応じた目標電流値Ｉｏ*を、制御モードに基づいて決定する。駆動部１３は、目標電流値決定部１２によって決定された目標電流値Ｉｏ*に応じた駆動電流Ｉｏをアクチュエータ２に供給する。これにより、アクチュエータ２の制御性を向上させることができる。
【０１２１】
また、制御装置１は、アクチュエータ２を配置した装置（例えば、車両）の状態に応じて、制御モードを複数の制御モードの中から選択する制御モード選択部１５（モード選択部の一例）を備える。これにより、アクチュエータ２を配置した装置の状態に応じた制御モードでアクチュエータ２を制御できる。
【０１２２】
また、目標電流値決定部１２は、制御モードに応じた目標電流値を、ヒステリシス領域Ｈの下限値ＡＬ、上限値ＡＨ、または、中間値ＡＭに基づいて設定する。これにより、例えば、アクチュエータ２の消費電力を抑制したり、アクチュエータ２の駆動量Ｐを変化させる際の応答性を高めたり、あるいは、アクチュエータ２の駆動量Ｐの変動を抑制したりすることができる。
【０１２３】
また、複数の制御モードは、第１〜第３制御モード（第１〜第３モードの一例）を含む。第１制御モードは、アクチュエータ２の駆動量Ｐの変動を抑制する制御モードである。第２制御モードは、アクチュエータ２の消費電力を抑制する制御モードである。第３制御モードは、アクチュエータ２の駆動量Ｐを変化させる際の応答性が高い制御モードである。制御モード選択部１５は、アクチュエータ２を配置した装置の状態に応じて、制御モードを第１〜第３モードの中から選択する。これにより、アクチュエータ２を配置した装置の状態に応じてアクチュエータ２に対する適切な処理を行うことができる。
【０１２４】
また、アクチュエータ２は、ソレノイドバルブ６５（ＥＧＲバルブの一例）に設けられたリニアソレノイド８２である。制御モード選択部１５は、エンジン回転数Ｎとエンジン負荷率ＫＬとに基づき、制御モードを第１〜第３モードの中から選択する。これにより、エンジンの状態に応じてリニアソレノイド８２に対する適切な処理を行うことができる。
【０１２５】
また、駆動電流Ｉｏおよびアクチュエータ２の駆動量に基づいて、ヒステリシス領域Ｈを学習するヒステリシス領域学習部１４（学習部の一例）を備える。これにより、アクチュエータ２を配置する装置が新たな装置である場合やばらつきがあるような装置であっても、ヒステリシス領域Ｈを考慮したアクチュエータ２の制御を精度よく行うことができる。
【０１２６】
さらなる効果や変形例は、当業者によって容易に導き出すことができる。このため、本発明のより広範な態様は、以上のように表しかつ記述した特定の詳細および代表的な実施形態に限定されるものではない。したがって、添付の特許請求の範囲およびその均等物によって定義される総括的な発明の概念の精神または範囲から逸脱することなく、様々な変更が可能である。
【符号の説明】
【０１２７】
１  制御装置
２  アクチュエータ
１０  制御部
１１  目標リフト量決定部
１２  目標電流値決定部（決定部の一例）
１３  駆動部
１４    ヒステリシス領域学習部（学習部の一例）
１５  制御モード選択部（モード選択部の一例）
２０  記憶部
３０  電流検出部
５０  内燃機関
６５  ソレノイドバルブ（ＥＧＲバルブの一例）
８２  リニアソレノイド（アクチュエータの一例）
８９  リフトセンサ
【図１Ａ】
2018048721.tif 000003
【図１Ｂ】
2018048721.tif 000004
【図２】
2018048721.tif 000005
【図３】
2018048721.tif 000006
【図４】
2018048721.tif 000007
【図５】
2018048721.tif 000008
【図６】
2018048721.tif 000009
【図７】
2018048721.tif 000010
【図８】
2018048721.tif 000011
【図９】
2018048721.tif 000012
【図１０】
2018048721.tif 000013
【図１１】
2018048721.tif 000014
【図１２】
2018048721.tif 000015
【図１３】
2018048721.tif 000016
【図１４】
2018048721.tif 000017
【図１５】
2018048721.tif 000018