(57)【特許請求の範囲】
【請求項１】
誘導性負荷と、前記誘導性負荷に流れる電流を制御するために所定デューティで駆動されるスイッチング素子と、前記誘導性負荷に流れる電流を検出するための電流検出抵抗とを備え、
前記誘導性負荷に流れている電流を目標値に一致させるべくマイコンによる所定の演算周期での電流フィードバック制御を実施する際に、Ａ／Ｄ変換器を用いて前記電流検出抵抗の両端の電圧差を求め、該電圧差に対する目標値の誤差のその都度の積算値を学習して前記スイッチング素子のデューティ駆動に反映させるようにした誘導性負荷の電流制御装置において、
前記目標値が０となっていることを条件として、前記スイッチング素子がデューティ＝０％であるオフ状態となるとき、電流フィードバック制御における学習値の更新を中止する制御手段を備えたことを特徴とする誘導性負荷の電流制御装置。
【請求項２】
誘導性負荷と、前記誘導性負荷に流れる電流を制御するために所定デューティで駆動されるスイッチング素子と、前記誘導性負荷に流れる電流を検出するための電流検出抵抗とを備え、
前記誘導性負荷に流れている電流を目標値に一致させるべくマイコンによる所定の演算周期での電流フィードバック制御を実施する際に、Ａ／Ｄ変換器を用いて前記電流検出抵抗の両端の電圧差を求め、該電圧差に対する目標値の誤差のその都度の積算値を学習して前記スイッチング素子のデューティ駆動に反映させるようにした誘導性負荷の電流制御装置において、
前記目標値が０となっていることを条件として、前記スイッチング素子がデューティ＝０％であるオフ状態でなく、かつ前記Ａ／Ｄ変換器を用いて求められた電流検出抵抗の両端の電圧差が０となったとき、前記スイッチング素子を強制的にデューティ＝０％であるオフ状態とする制御手段を備えたことを特徴とする誘導性負荷の電流制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、誘導性負荷の電流制御装置に関するものである。
【０００２】
【従来の技術】
リニアソレノイド等の誘導性負荷に流れる電流をフィードバック制御する技術が、例えば特開平１１−１５５４２号公報や特開２０００−１１４０３８号公報に開示されている。
【０００３】
特開平１１−１５５４２号公報の装置では、電流検出抵抗における両端電圧を差動増幅回路に取り込み、差動増幅回路の出力電圧をＡ／Ｄ変換することにより、両端の電圧差を求めている。そして、その電圧差に対する目標電流値の誤差を学習し、リニアソレノイドに流れる電流値が目標電流値となるように電流フィードバック制御を実施している。一方、特開２０００−１１４０３８号公報の装置では、電流検出抵抗における両端電圧を各々Ａ／Ｄ変換し、そのＡ／Ｄ変換値を用いて電圧差を求めている。そして、この装置でも同様に、電圧差に対する目標電流値の誤差を学習し、リニアソレノイドに流れる電流値が目標電流値となるように電流フィードバック制御を実施している。
【０００４】
ここで、特開２０００−１１４０３８号公報の装置の具体例を図７を用いて説明する。図７において、電流フィードバック制御を司るマイコン２１は、Ａ／Ｄ変換器２２、目標値なまし部２３、誤差検出部２４、ＰＷＭ出力部２５等を備えている。Ａ／Ｄ変換器２２は、電流検出抵抗Ｒ１の高電圧側端子及び低電圧側端子の電圧を取り込み、各々Ａ／Ｄ変換して誤差検出部２４に出力する。目標値なまし部２３は、目標電流値を取り込み、目標電流値をなまし処理してそのなまし後の値（目標なまし値）を誤差検出部２４に出力する。誤差検出部２４は、 Ａ／Ｄ変換器２２からのＡ／Ｄ変換値により電流検出抵抗Ｒ１における両端の電圧差（＝Ｈ側Ａ／Ｄ変換値−Ｌ側Ａ／Ｄ変換値）を求めるとともに、その電圧差に対する目標なまし値の誤差を求める。さらに、誤差検出部２４は、その誤差を積算するとともに、算出した誤差積算値を用いてＰＷＭ出力部２５への出力データを求める。そして、ＰＷＭ出力部２５は、誤差検出部２４からのデータを取り込みそのデータに対応するデューティ比の駆動信号を出力する。これにより、トランジスタＴｒがデューティ駆動され、リニアソレノイドＬに流れる電流が目標電流値と一致するように制御される。
【０００５】
【発明が解決しようとする課題】
ところで、図７の装置において、トランジスタＴｒがオフ状態（デューティ＝０％）となり、リニアソレノイドＬの電流が０ｍＡとなったとしても、Ａ／Ｄ変換器２２の検出誤差により、電流検出抵抗Ｒ１におけるＨ側Ａ／Ｄ変換値とＬ側Ａ／Ｄ変換値が一致せず、電圧差が０Ｖとならないことがある。
【０００６】
ここで、電圧差がプラス側にずれている場合、つまり、トランジスタＴｒがオフ状態（リニアソレノイド電流＝０ｍＡ）のときに電圧差が正の値として検出される場合、その誤った電圧差により学習が過剰に行われてしまう。より詳しくは、図８に示すように、目標電流値がｔ１１のタイミングにてステップ的に０Ａに設定されると、目標なまし値は徐々に変化して０Ａとなり、また、リニアソレノイドＬの電流も目標なまし値に応じて制御されて０Ａとなる。そして、リニアソレノイドＬの電流が０Ａのとき、Ａ／Ｄ変換器２２の検出誤差が原因で電圧差が正の値となってその状態が続く場合には、誤差検出部２４にて求められる誤差積算値Ｑ（ｋ）は、負のガード値となるまで学習され続けてしまう。その後、ｔ１２のタイミングで目標電流値が、例えば１Ａに設定されると、負のガード値まで学習された誤差積算値Ｑ（ｋ）がフィードバック制御に反映されるため、電流制御の応答性が悪化する。さらに、その制御遅れを取り戻そうと制御されるため、リニアソレノイドＬの電流がオーバーシュートするおそれがあった。
【０００７】
一方、電圧差がマイナス側にずれる場合、つまり、リニアソレノイドＬにわずかに電流が流れているにも拘わらず電圧差が「０」となる場合には、目標電流値が０に設定されてもトランジスタＴｒをオフ状態（デューティ＝０％）とすることができない。より詳しくは、図９に示すように、目標電流値がｔ１１のタイミングにてステップ的に０Ａに設定される場合、目標なまし値は、徐々に変化して０Ａとなる。このとき、ＰＷＭ出力（トランジスタＴｒへの駆動信号）は目標なまし値に応じてデューティが減少するが、デューティ＝０％となる前に電圧差が０となるため、その時点で電圧差に基づく学習が停止される。そして、その学習が停止された状態で平衡が保たれてしまう。つまり、目標電流値が０Ａに設定されたとしても、デューティ≠０％で制御され、不要な電流が流れ続けることになる。
【０００８】
また、上記特開平１１−１５５４２号公報の装置においても、リニアソレノイドの電流が０ｍＡの場合、差動増幅回路の入力電圧は共に等しくなるが、差動増幅回路自体の誤差により、その出力が０Ｖとならないことがある。また仮に差動増幅回路の出力が０Ｖとなったとしても、Ａ／Ｄ変換器のゼロ点誤差により、Ａ／Ｄ変換器の出力が０Ｖとならないことがある。よって、この装置においても、既述した誤学習や、トランジスタＴｒをオフ状態（デューティ＝０％）とすることができない、といった問題が発生してしまう。
【０００９】
本発明は、上記問題に着目してなされたものであって、その目的とするところは、電流検出抵抗における両端の電圧差の算出に際し、Ａ／Ｄ変換等の誤差が生じたとしても、電流フィードバック制御における制御性を確保することができる誘導性負荷の電流制御装置を提供することである。
【００１０】
【課題を解決するための手段】
本発明の電流制御装置では、誘導性負荷に流れている電流が目標値と一致するようにマイコンによる所定の演算周期での電流フィードバック制御が実施されている。この電流フィードバック制御に際し、Ａ／Ｄ変換器を用いて電流検出抵抗の両端の電圧差が求められ、その電圧差に対応する電流値と目標値との誤差のその都度の積算値が学習されてスイッチング素子のデューティ駆動に反映される。こうした電流制御装置において、電圧差の検出誤差が生じると、制御性が悪化するおそれがある。
【００１１】
すなわち、スイッチング素子がオフ状態（デューティ＝０％）のとき、Ａ／Ｄ変換器の検出誤差等の影響により、電圧差が「０」とならず、その誤った電圧差に基づいて、電流フィードバック制御における学習値が更新されてしまう場合がある。この場合、誤った電圧差により学習され、学習値が正常値からずれた後に、スイッチング素子のデューティ駆動が再開されると、フィードバック制御において誤った学習値が反映されることとなる。そして、上述の電流フィードバック制御における誤学習による不都合は、目標値が０に設定されている場合に発生する。これに対し、請求項１に記載の発明では、電流フィードバック制御に際し、目標値が０となっていることを条件として、スイッチング素子がオフ状態（デューティ＝０％）のとき、制御手段により、学習値の更新が中止されるので、誤った電圧差により学習されることを防止できる。特に、目標値が０となっていること、を条件に上記制御手段による処理が実行されることにより、制御手段による処理が必要なときに的確に行われることとなり、実用上好ましいものとなる。
【００１２】
また、スイッチング素子が、オフ状態（デューティ＝０％）でなく、わずかに電流が流れているにも拘わらず、Ａ／Ｄ変換器の検出誤差等の影響により、電圧差が「０」となる場合がある。この場合、電圧差の検出値のズレにより、デューティ≠０％であっても電圧差＝０となったと判断され、その状態でフィードバック制御の平衡が保たれてしまう。そのため、スイッチング素子がオフ状態（デューティ＝０％）とならず、制御に不要な電流が流れ続けることになる。また、この誘導性負荷の電流値を「０」にできない、といった不都合は、目標値が０に設定されている場合に発生する。これに対し、請求項２に記載の発明では、前記目標値が０となっていることを条件として、前記スイッチング素子がオフ状態（デューティ＝０％）でなく、かつＡ／Ｄ変換器を用いて求められた電流検出抵抗の両端の電圧差が０となったとき、制御手段により、スイッチング素子が強制的にオフ状態（デューティ＝０％）とされるので、不要な電流が誘導性負荷に流れることを防止できる。また、目標値が０となっていることを条件とすることにより、制御手段による処理が必要なときに的確に行われることとなり、実用上好ましいものとなる。
【００１３】
このように、請求項１又は２に記載の発明によれば、電流検出抵抗における両端の電圧差の算出に際し、Ａ／Ｄ変換等の誤差が発生していたとしても、電流フィードバック制御における制御性を確保することができる。
【００１５】
【発明の実施の形態】
以下、この発明を具体化した実施の形態を図面に従って説明する。
図１は、自動車用リニアソレノイド制御装置の構成を表すブロック図である。本実施形態のリニアソレノイド制御装置は、自動車に搭載されたエンジンを目標状態に制御するために、エンジンに設けられたリニアソレノイドを通電制御するためのものである。
【００１６】
図１に示すように、リニアソレノイド制御装置は、リニアソレノイドＬの通電制御を司るマイクロコンピュータ（マイコン）１を備えている。同マイコン１には、エンジンコントロール用のホストマイコン（図示せず）からの目標電流値がシリアル通信にて取り込まれ、マイコン１によって、リニアソレノイドＬに流れる電流値が目標電流値となるようにフィードバック制御される。
【００１７】
詳述すると、マイコン１は、Ａ／Ｄ変換器２、目標値なまし部３、誤差検出部４、ＰＷＭ出力部５等を備えている。また、電流制御対象となるリニアソレノイドＬは、バッテリの正極（バッテリ電圧＋Ｂ）からバッテリの負極（グランド）に至る電源ライン中に配置されている。電源ラインにおけるリニアソレノイドＬの電源＋Ｂ側には、スイッチング素子としてのトランジスタＴｒが設けられており、同トランジスタＴｒはマイコン１からの駆動信号によってデューティ駆動される。また、リニアソレノイドＬのグランド側には、電流検出用の抵抗Ｒ１が設けられている。つまり、所定の電位差を生じる電源ライン中に、誘導性負荷としてのリニアソレノイドＬおよびトランジスタＴｒが直列に接続され、この直列回路に対し電流検出抵抗Ｒ１が直列に接続されている。この抵抗Ｒ１は、リニアソレノイドＬに流れる電流を検出するためのものである。また、リニアソレノイドＬと電流検出抵抗Ｒ１との直列回路に対して並列に帰還ダイオードＤが接続されている。
【００１８】
電流検出抵抗Ｒ１の一方の端子（高電圧側端子）α１は、ノイズ除去フィルタＦ１とバッファ７とを介してＡ／Ｄ変換器２に接続されている。電流検出抵抗Ｒ１の他方の端子（低電圧側端子）β１は、ノイズ除去フィルタＦ２とバッファ８とを介してＡ／Ｄ変換器２に接続されている。ノイズ除去フィルタＦ１，Ｆ２は、小さい時定数のフィルタであり、具体的にはＣＲ回路にて構成している。このノイズ除去フィルタＦ１，Ｆ２によりノイズ等の高周波成分が除去される。なお、リニアソレノイド制御装置において、Ａ／Ｄ変換器２の接地端子（制御系接地端子）の電圧が、電流検出抵抗Ｒ１の接地端子（パワー系接地端子）よりも大きくなる場合には、バッファ７，８に代えてレベルシフト回路を用いるようにしてもよい。
【００１９】
また、Ａ／Ｄ変換器２は、電流検出抵抗Ｒ１における両端子α１，β１の電圧値を、一定のＡ／Ｄ変換周期（１００μｓ）で取り込み、デジタル値に変換し、そのデジタル値（Ａ／Ｄ変換値）を誤差検出部４に出力するようになっている。
【００２０】
ここで、マイコン１における目標値なまし部３及び誤差検出部４の機能について、図２のブロック図を用いて詳述する。
図２に示すように、目標電流値Ｖｔが目標値なまし部３に入力されると、その目標電流値Ｖｔがなまし演算部３ａにてなまされて、乗算部３ｂでゲインＭが乗算される。ここで、なまし演算部３ａの伝達関数は、１／（ｍｍ・ｓ＋１）で表される。なお、ｍｍは積分定数である。つまり、目標電流値Ｖｔは、例えば、０ｍＡ→５００ｍＡなどステップ値として与えられる。この値を直接制御に用いると実際の電流値がオーバーシュートをおこすため、それを防止する目的で、なまし演算部３ａにおいて目標電流値Ｖｔをなますようにしている。また、乗算部３ｂでゲインＭを乗算することにより、目標電流値Ｖｔのなまし値と、Ａ／Ｄ変換器２のＡ／Ｄ変換で求められる電流値とのＬＳＢが調節される。
【００２１】
目標値なまし部３の出力値（目標なまし値）ＶＲＦは、誤差検出部４に入力される。また、誤差検出部４には、電流検出抵抗Ｒ１における両端電圧のＡ／Ｄ変換値の差分が入力されている。つまり、Ａ／Ｄ変換器２から出力されるＨ側のＡ／Ｄ変換値ＶＩＯＨ及びＬ側のＡ／Ｄ変換値ＶＩＯＬを用い、減算部９では、ＶＩＯＨ−ＶＩＯＬの演算が行われる。その減算部９の出力値（電圧差）ＶＩＯが、誤差検出部４に入力されている。なお、電流検出抵抗Ｒ１における両端の電圧差ＶＩＯは、電流検出抵抗Ｒ１に流れている実電流値に比例する値である。
【００２２】
誤差検出部４において、減算部４ａでは、ＶＲＦ−ＶＩＯが行われるとともにその算出結果Ｘを積分演算部４ｂに出力する。また、積分演算部４ｂでは、減算部４ａからの入力Ｘ（＝ＶＲＦ−ＶＩＯ）が積分される。ここで、積分演算部４ｂの伝達関数は、１／（ｇｇ・ｓ＋１）で表される。なお、ｇｇは積分定数である。そして、乗算部４ｃでは、積分演算部４ｂの出力Ｙに対して誤差ゲインＧが乗算される。こうして、電圧差ＶＩＯと目標なまし値ＶＲＦとの誤差分が算出されて、加算部４ｄでは、その誤差分が目標なまし値ＶＲＦに加算される。さらに、乗算部４ｅでは、加算部４ｄの出力に対してゲインＰが乗算され、ＬＳＢが調節された出力データＰＷＭが、図１に示すＰＷＭ出力部５に渡されるようになっている。従って、誤差検出部４の動作としては、目標なまし値ＶＲＦと電圧差ＶＩＯを比較し、目標なまし値よりも実電流値が小さい場合（ＶＩＯ＜ＶＲＦ）には、電流をもっと流すべくデータＰＷＭを増大させる。一方、目標なまし値よりも実電流値が大きい場合（ＶＩＯ＞ＶＲＦ）には、電流を減らすべくデータＰＷＭを減少させる。
【００２３】
このように、ＰＷＭ出力部５にデータＰＷＭが受け渡されると、同出力部５にて、該データＰＷＭに対応したディーティ比の駆動信号が出力される。この信号によって、トランジスタＴｒがデューティ駆動され、リニアソレノイドＬの電流が制御されるようになっている。具体的には、データＰＷＭ＝０では、トランジスタＴｒはオフ状態（以下、トランジスタＴｒのオフ状態とはデューティ＝０％のことをいう）とされ、リニアソレノイドＬの電流は０Ａとなる。また、データＰＷＭが大きくなるほど、ＰＷＭ出力のオン時間（駆動信号のデューティ）が増加され、リニアソレノイドＬの電流は大きくなる。
【００２４】
ここで、図２における積分演算部４ｂを、離散系のブロック図として表現すると図３のようになる。なお、図３では、２つの要素１１，１２を用いて積分演算部４ｂを表現している。また、図３において、Ｘ（ｋ）は積分演算部４ｂの入力信号であり、Ｙ（ｋ）は積分演算部４ｂの出力信号である。そして、図３における関係を、計算式で表すと次式のようになる。
【００２５】
Ｑ（ｋ）＝Ｘ（ｋ）＋ｃ・Ｑ（ｋ−１）
Ｙ（ｋ）＝Ｑ（ｋ）＋Ｑ（ｋ−１）
なお、各項の添え字のｋは、現在時刻を、ｋ−１は前回時刻を表す。また、ｃは定数であり、実際の制御では、ほぼ「１」に近い値が設定されている。つまり、Ｑ（ｋ）は、前回値Ｑ（ｋ−１）に対して現在の誤差Ｘ（ｋ）を加算することで求められており、学習値としての誤差積算値に相当する。また、積分演算部４ｂの出力Ｙ（ｋ）は、現在の誤差積算値Ｑ（ｋ）と前回の誤差積算値Ｑ（ｋ−１）とを加算することにより求められる。
【００２６】
従って、図２における誤差検出部４の演算処理は、下記の（１）〜（４）式のように表現することができる。
Ｘ（ｋ）＝ＶＲＦ（ｋ）−ＶＩＯ（ｋ）  …（１）
Ｑ（ｋ）＝Ｘ（ｋ）＋ｃ・Ｑ（ｋ−１）  …（２）
Ｙ（ｋ）＝Ｑ（ｋ）＋Ｑ（ｋ−１）  …（３）
ＰＷＭ（ｋ）＝Ｐ×｛Ｇ×Ｙ（ｋ）＋ＶＲＦ（ｋ）｝  …（４）
以下、誤差検出部４における演算処理の具体例について説明する。なおここでは、図８及び図９を用いて説明したように、Ａ／Ｄ変換器２の検出誤差が原因で、リニアソレノイドＬの電流に対して電圧差ＶＩＯがずれている場合について説明する。
【００２７】
先ず、電圧差ＶＩＯがプラス側にずれている場合について説明する。すなわち、目標なまし値ＶＲＦ（ｋ）＝０、かつＰＷＭ（ｋ）＝０となるとき、実際の電流値は０Ａであるが、Ａ／Ｄ変換器２の検出誤差によって、電圧差ＶＩＯ（ｋ）＞０となる場合、（１）式は、
Ｘ（ｋ）＝ＶＲＦ（ｋ）−ＶＩＯ（ｋ）＝０−正の数
となる。つまり、Ｘ（ｋ）＜０となる。ここで、例えば、Ｑ（ｋ−１）＝０とすると、（２）式は、
Ｑ（ｋ）＝Ｘ（ｋ）＋ｃ・Ｑ（ｋ−１）＝  負の数＋０
となる。つまり、誤差積算値Ｑ（ｋ）＜０となる。そして、（３）式は、
Ｙ（ｋ）＝Ｑ（ｋ）＋Ｑ（ｋ−１）＝負の数＋０＜０
となり、（４）式は、
ＰＷＭ（ｋ）＝Ｐ×｛Ｇ×Ｙ（ｋ）＋ＶＲＦ（ｋ）｝
＝Ｐ×｛Ｇ×負の数＋０｝＜０
となるが、 ＰＷＭ出力のデューティは、負の値を出すことができないため、ＰＷＭ（ｋ）＝０とされる。つまり、トランジスタＴｒはオフ状態で維持される。その後、（１）〜（４）式の計算が繰り返し行われる場合、誤差積算値Ｑ（ｋ）は、検出誤差により生じている電圧差ＶＩＯに基づいて更新（学習）されることとなり、図８に示すように、負のガード値となるまで計算が行われてしまう。なお、上記説明では、前回の誤差積算値Ｑ（ｋ−１）＝０と仮定して計算を行ったが、 Ｑ（ｋ−１）＞０であったとしても、上記計算を続けていくと、必ずＱ（ｋ−１）＜０となる。
【００２８】
また逆に、電圧差ＶＩＯがマイナス側にずれている場合について説明する。すなわち、目標なまし値ＶＲＦ（ｋ）＝０となり、それに従いＰＷＭ（ｋ）が減少しているとき、そのＰＷＭ（ｋ）＝０となる直前にて、わずかに電流が流れているにも拘わらず、Ａ／Ｄ変換器２の検出誤差によって、電圧差ＶＩＯ（ｋ）＝０となる場合、（１）式は、
Ｘ（ｋ）＝ＶＲＦ（ｋ）−ＶＩＯ（ｋ）＝０−０＝０
となり、例えば、Ｑ（ｋ−１）＝γとし、また定数ｃはほぼ「１」に近いためｃ＝１として計算すると、（２）式は、
Ｑ（ｋ）＝Ｘ（ｋ）＋ｃ・Ｑ（ｋ−１）＝０＋γ＝γ
となる。そして、（３）式は、
Ｙ（ｋ）＝Ｑ（ｋ）＋Ｑ（ｋ−１）＝γ＋γ＝２γ
となり、（４）式は、
ＰＷＭ（ｋ）＝Ｐ×｛Ｇ×Ｙ（ｋ）＋ＶＲＦ（ｋ）｝
＝Ｐ×｛Ｇ×２γ＋０｝＝２γＰＧ
となる。そして、このＰＷＭ（ｋ）＝２γＰＧに対応するデューティでトランジスタＴｒが駆動される。この状態では、Ｑ（ｋ）＝Ｑ（ｋ−１）＝γで一定であり、ＰＷＭ（ｋ）の値（＝２γＰＧ）も前回値から変化ぜす、上記の（１）〜（４）式の計算が繰り返し行われることとなる。この場合、ＰＷＭ（ｋ）＝２γＰＧ、ＶＩＯ（ｋ）＝０の状態で平衡が保たれ、トランジスタＴｒは数％のデューティでオンしたままとなる。つまり、図９に示すように、目標電流値が０Ａに設定されたとしても、デューティ≠０％となって制御に不要な電流が流れ続けることになる。
【００２９】
また上記ではｃ＝１として説明したが、ｃ＜１とする場合にも、トランジスタＴｒをオフ状態とすることができない。具体的には、目標なまし値ＶＲＦ（ｋ）＝０、電圧差ＶＩＯ（ｋ）＝０において、Ｘ（ｋ）＝０となり、また、Ｑ（ｋ−１）＝γとすると、Ｑ（ｋ）＝ｃ・γとなり、さらに、Ｙ（ｋ）＝γ・（１＋ｃ）となる。
【００３０】
ここで、今回値のＹ（ｋ）が前回値のＹ（ｋ−１）よりも小さくなったとすると、ＰＷＭ（ｋ）が小さくなってリニアソレノイドＬの電流が小さくなる。この場合、電圧差ＶＩＯ（ｋ）＜０となるため、次の演算タイミングでは、Ｘ（ｋ）＞０となる。ここで、Ｘ（ｋ）＝δとすると、Ｑ（ｋ−１）＝ｃ・γであるので、Ｑ（ｋ）＝δ＋ｃ・γとなり、さらに、Ｙ（ｋ）＝γ・（１＋ｃ）＋δとなる。つまり、Ｙ（ｋ）はδ分だけ前回値より大きくなり、それに従いＰＷＭ（ｋ）が大きくなって、リニアソレノイドＬの電流は大きくなる。つまり、ｃ＜１とする場合にも、トランジスタＴｒをオフ状態とすることができない。以上のように、ｃの値に関係なく、Ａ／Ｄ変換器２の検出誤差によってリニアソレノイドＬの電流を「０」にすることができない。
【００３１】
従って、本実施の形態において、Ａ／Ｄ変換器２の検出誤差等により、既述した誤学習やリニアソレノイドＬの電流を「０」にできないといった問題が生じる場合には、誤差検出部４における演算処理、つまり、上記（１）〜（４）式に示すフィードバック計算を実施しないように構成している。
【００３２】
ここで、本実施の形態における処理を、図４のフローチャートを用いて説明する。なお、図４のフローチャートは、マイコン１によって、例えば１００ｕｓ毎に実行される。
【００３３】
先ず、マイコン１はステップ１００において、電流検出抵抗Ｒ１の両端子α１，β１の電圧値をＡ／Ｄ変換させ、そのＡ／Ｄ変換値を取り込む。そして、Ｈ側のＡ／Ｄ変換値ＶＩＯＨからＬ側のＡ／Ｄ変換値ＶＩＯＬを減算することにより、現在の電圧差ＶＩＯ（ｋ）を算出する。続くステップ１１０にてマイコン１は、目標電流値Ｖｔを用いてなまし演算を実施することにより、現在の目標なまし値ＶＲＦ（ｋ）を算出した後、ステップ１２０に移行する。そして、ステップ１２０では、目標なまし値ＶＲＦ（ｋ）が０以下か否かを判定する。ここで、目標なまし値ＶＲＦ（ｋ）が０よりも大きければ、ステップ１３０に移行し、既述した（１）〜（４）式のフィードバック計算を行う。そして、マイコン１は、これら計算にて得られたデータＰＷＭ（ｋ）をＰＷＭ出力部５に出力する。これにより、ＰＷＭ出力部５にて、該データＰＷＭ（ｋ）に応じた駆動信号が生成され、該信号が出力されることによって、リニアソレノイドＬがデューティ駆動される。
【００３４】
一方、目標なまし値ＶＲＦ（ｋ）が０以下であれば、マイコン１はステップ１４０に移行して、前回のデータＰＷＭ（ｋ−１）が０以下か否かを判定する。ここで、ＰＷＭ（ｋ−１）が０以下であれば、ステップ１３０の処理を実施することなく本処理を終了する。また、ＰＷＭ（ｋ−１）が０よりも大きければ、ステップ１５０に移行して、ステップ１００にて求めた今回の電圧差ＶＩＯ（ｋ）が０以下か否かを判定する。そして、電圧差ＶＩＯ（ｋ）が０よりも大きければ、ステップ１３０に移行し、既述した（１）〜（４）式のフィードバック計算を行う。一方、電圧差ＶＩＯ（ｋ）が０以下であるとステップ１６０に移行して、ＰＷＭ（ｋ）＝０とする。これにより、トランジスタＴｒが強制的にオフ状態とされる。なお、本実施の形態では、図４のステップ１４０〜１６０の処理が制御手段に相当する。
【００３５】
次に、本実施の形態におけるリニアソレノイド制御装置の動作を、図５及び図６を用いて説明する。
先ず、図５に示すように、ｔ１のタイミングで目標電流値が０Ａに設定され、それに従い目標なまし値ＶＲＦ（ｋ）＝０Ａとなり、ｔ２のタイミングにてＰＷＭ（ｋ−１）＝０（トランジスタＴｒがオフ状態）となると、上記（１）〜（４）式のフィードバック計算が中止される。これにより、誤差積算値Ｑ（ｋ）の更新（学習）が停止されることとなる。その結果、１点鎖線で示すように、Ａ／Ｄ変換器２の検出誤差により、誤差積算値Ｑ（ｋ）が負のガード値に張り付くことが防止される。そして、ｔ３のタイミングにて、目標電流値が、例えば１Ａに設定された場合、ｔ２のタイミングで学習が停止された誤差積算値Ｑ（ｋ）を用いてフィードバック計算が再開される。その結果、誤差積算値Ｑ（ｋ）がガード値に張り付いている場合と比較して、制御遅れが小さくなりオーバーシュートも無くなる。
【００３６】
また、図６示すように、ｔ１のタイミングで目標電流値が０Ａに設定され、それに従い目標なまし値ＶＲＦ（ｋ）＝０Ａとなった後、ｔ２のタイミングにて、ＰＷＭ（ｋ−１）≠０、かつ、電圧差ＶＩＯ（ｋ）＝０となると、ＰＷＭ（ｋ）が強制的に「０」とされる。これにより、ＰＷＭ出力（トランジスタＴｒへの駆動信号）のデューティが０％となる。その結果、不要な電流が流れ続けることが防止される。なおこの場合、ｔ２のタイミング直前でのＰＷＭ出力のオン時間はわずかであるため、強制的にオフ状態としても制御上の問題はない。
【００３７】
以上詳述した本実施の形態によれば、以下に示す効果が得られる。
（１）電流フィードバック制御に際し、トランジスタＴｒがオフ状態のとき、誤差積算値Ｑ（ｋ）の更新が中止されるので、誤った電圧差により学習されることを防止できる。よって、誤学習された誤差積算値Ｑ（ｋ）が電流フィードバック制御に反映され、電流制御の応答性が悪化するといった問題を解消できる。また、トランジスタＴｒがオフ状態でなく、かつ電圧差ＶＩＯ（ｋ）が０となったとき、トランジスタＴｒが強制的にオフ状態とされるので、不要な電流がリニアソレノイドＬに流れることを防止できる。以上のことより、電流検出抵抗Ｒ１における両端の電圧差ＶＩＯ（ｋ）の算出に際し、Ａ／Ｄ変換器２の検出誤差が発生していたとしても、電流フィードバック制御における制御性を確保することができる。
【００３８】
（２）既述した電流フードバック制御における誤学習や、リニアソレノイドＬの電流値を「０」にできない、といった不都合は、目標電流値Ｖｔが０に設定されている場合に発生する。そのため、本実施の形態では、目標なまし値ＶＲＦ（ｋ）が０以下となっていることを条件に、図４のステップ１４０以降の処理を実施するようにした。このようにすると、ステップ１４０以降の処理が必要なときに的確に実施されることとなる。よって、常にステップ１４０以降の処理が行われる場合と比較して、マイコン１の処理負荷を低減でき、実用上好ましいものとなる。
【００３９】
なお本発明は、上記以外に次の形態にて具体化できる。
上記実施の形態では、電流検出抵抗Ｒ１における両端の電圧を各々Ａ／Ｄ変換し、一方のＡ／Ｄ変換値から他方のＡ／Ｄ変換値を減算することにより、電圧差ＶＩＯを算出するものであったがこれに限るものではない。例えば、差動増幅回路を用いて電流検出抵抗Ｒ１における両端の電圧差を求め、その差動増幅回路の出力をＡ／Ｄ変換することにより、電圧差ＶＩＯを算出するように構成してもよい。
【００４０】
また、上記図４のステップ１２０では、「ＶＲＦ（ｋ）≦０」にて判断しているが、これに代えて「ＶＲＦ（ｋ）≦所定値」にて判断してもよい。なおこの場合、所定値は、ほとんど「０」とみなせるような小さな値（例えば、１０ｍＡ）に設定する。つまり、ＶＲＦ（ｋ）の算出に際し、目標電流値が「０」に設定されたとしても、なまし処理の影響によって、ＶＲＦ（ｋ）が「０」に収束するまでに時間がかかり過ぎる場合があるため、ＶＲＦ（ｋ）が１０ｍＡ以下となったときに、ステップ１２０で肯定判別するように構成すると、実用上好ましいものとなる。因みに、上記リニアソレノイドＬは、１０ｍＡの微少電流では動作することはなく、１０ｍＡ以下で判断しても制御上の問題はない。
【００４１】
さらに、図４のステップ１２０において、目標なまし値ＶＲＦ（ｋ）で判断するのではなく、「Ｖｔ≦０」のように、目標電流値Ｖｔにて判断するようにしてもよい。さらには、「ＶＲＦ（ｋ）≦Ｖｔ」にて判断するようにしてもよい。このようにしても、ステップ１４０の処理が必要なときに実施されることとなり、実用上好ましいものとなる。
【００４２】
上記実施の形態では、目標電流値Ｖｔを他のマイコンからシリアル通信にて取得する構成であったがこれに限ることなく、マイコン１内での計算によって目標電流値Ｖｔを算出するように構成してもよい。
【００４３】
上記実施の形態では、エンジンを制御するためのリニアソレノイドＬの制御装置に具体化していたが、例えば、トランスミッション等を制御するためのリニアソレノイドの制御装置に具体化してもよい。
【図面の簡単な説明】
【図１】発明の実施の形態における自動車用リニアソレノイド制御装置の構成を表すブロック図。
【図２】マイコンにおける目標値なまし部及び誤差検出部を説明するための機能ブロック図。
【図３】積分演算部を表すブロック図。
【図４】マイコンによる処理を説明するためのフローチャート。
【図５】リニアソレノイド制御装置の動作を説明するためのタイムチャート。
【図６】リニアソレノイド制御装置の動作を説明するためのタイムチャート。
【図７】従来装置の構成を表すブロック図。
【図８】従来装置における動作を説明するためのタイムチャート。
【図９】従来装置における動作を説明するためのタイムチャート。
【符号の説明】
１…マイコン、２…Ａ／Ｄ変換器、Ｌ…誘導性負荷としてのリニアソレノイド、Ｑ…学習値としての誤差積算値、Ｒ１…電流検出抵抗、Ｔｒ…スイッチング素子としてのトランジスタ、ＶＩＯ…電圧差、ＶＲＦ…目標なまし値、Ｖｔ…目標電流値。
【図１】
0004882148.tif 000002
【図２】
0004882148.tif 000003
【図３】
0004882148.tif 000004
【図４】
0004882148.tif 000005
【図５】
0004882148.tif 000006
【図６】
0004882148.tif 000007
【図７】
0004882148.tif 000008
【図８】
0004882148.tif 000009
【図９】
0004882148.tif 000010