以下、図面を参照して、一実施形態について説明する。
(開閉制御システム1のシステム構成)
図1は、本発明の一実施形態に係る開閉制御システム1のシステム構成を示す図である。図1に示す開閉制御システム1は、車両に用いられるシステムであって、モータ4の動作を制御することにより、車両が備えるパワーウインドウ3の開閉動作を制御するシステムである。
図1に示すように、パワーウインドウ3は、車両が備えるドア2の窓枠2Aに対して、上下方向に開閉自在に設けられる。なお、開閉制御システム1は、車両が複数のパワーウインドウ3を備える場合、図1に示す各構成部を、パワーウインドウ3毎に設けることにより、複数のパワーウインドウ3の各々に対して、同様の制御を行うことが可能である。
図1に示すように、開閉制御システム1は、モータ駆動回路10、電圧検出回路20、電流検出回路30、スイッチ40、およびマイコン100を備える。
スイッチ40は、ユーザにより、パワーウインドウ3を開閉するためのスイッチ操作がなされる装置である。例えば、スイッチ40は、車両におけるユーザによる操作可能な位置(例えば、ドア、センターコンソール等)に設けられている。スイッチ40は、開操作および閉操作が可能である。スイッチ40は、ユーザにより開操作または閉操作がなされると、開操作または閉操作に応じた操作信号をマイコン100へ出力する。
マイコン100は、「開閉制御装置」の一例である。マイコン100は、ユーザによってスイッチ40に対するスイッチ操作がなされると、当該スイッチ操作に応じて、モータ駆動回路10に制御信号を供給し、モータ4の動作を制御することにより、パワーウインドウ3を開閉動作させる。この際、マイコン100は、電圧検出回路20によって検出されるモータ4の駆動電圧V、および、パルス発生器4Aから出力されるモータ4の回転軸の回転量を表すパルス信号に基づいて、パワーウインドウ3による挟み込みが生じているか否かを判定することができる。そして、マイコン100は、パワーウインドウ3による挟み込みが生じていると判定した場合、パワーウインドウ3に対する所定の挟み込み防止制御を行うことができる。
モータ駆動回路10は、マイコン100から供給される制御信号に応じて、モータ4に駆動電圧を印加することにより、モータ4を駆動する。図1に示す例では、モータ駆動回路10は、フルブリッジ回路を構成する4つのスイッチ素子11~14を備えて構成されている。スイッチ素子11およびスイッチ素子12は、バッテリ等から供給される電源電圧Vbatとグラウンドとの間において、直列接続されて設けられている。スイッチ素子13およびスイッチ素子14は、電源電圧Vbatとグラウンドとの間において、直列接続され、且つ、スイッチ素子11およびスイッチ素子12と並列に設けられている。スイッチ素子11とスイッチ素子12との間には、モータ4の一方の入力端子が接続されている。スイッチ素子13とスイッチ素子14との間には、モータ4の他方の入力端子が接続されている。モータ駆動回路10は、マイコン100から供給される制御信号に応じて、4つのスイッチ素子11~14のスイッチング動作を制御することにより、モータ4の2つの入力端子に対して、モータ4の回転軸の回転方向(すなわち、パワーウインドウ3の開閉動作方向)に応じて極性が異なる駆動電圧を印加することができる。
モータ4は、2つの入力端子に対して印加される駆動電圧の極性に応じた回転方向に、回転軸が回転する。これにより、モータ4は、パワーウインドウ3を開閉する。モータ4としては、例えば、DCモータが用いられる。また、モータ4は、パルス発生器4Aを備える。パルス発生器4Aは、モータ4の回転軸の回転量を表すパルス信号を出力する。パルス発生器4Aとしては、例えば、ホール素子を用いることができる。
電圧検出回路20は、モータ4の駆動電圧Vを検出し、モータ4の駆動電圧Vを表す信号を出力する。図1に示す例では、電圧検出回路20は、増幅部21、フィルタ部22、およびA/Dコンバータ23を有して構成されている。増幅部21は、モータ4の2つの入力端子に印加される駆動電圧Vを所定のゲインで増幅する。フィルタ部22は、増幅部21から出力される電圧から、スイッチング周波数の成分を除去する。A/Dコンバータ23は、フィルタ部22から出力される電圧を表すデジタル信号を、モータ4の駆動電圧Vを表す信号として出力する。
電流検出回路30は、モータ4に流れる電流Imを検出し、モータ4に流れる電流Imを表す信号を出力する。図1に示す例では、電流検出回路30は、シャント抵抗RS、増幅部31、フィルタ部32、およびA/Dコンバータ33を有して構成されている。シャント抵抗RSは、モータ駆動回路10とグラウンドとの間の電流経路に設けられている。増幅部31は、シャント抵抗RSに生じる電圧を所定のゲインで増幅する。フィルタ部32は、増幅部31から出力される電圧からスイッチング周波数の成分を除去する。A/Dコンバータ33は、フィルタ部32から出力される電圧を表すデジタル信号を、モータ4に流れる電流Imを表す信号として出力する。
(マイコン100のハードウェア構成)
図2は、本発明の一実施形態に係るマイコン100のハードウェア構成を示す図である。図2に示すように、マイコン100は、CPU(Central Processing Unit)121、ROM(Read Only Memory)122、RAM(Random Access Memory)123、および外部I/F(Inter face)125を備える。各ハードウェアは、バス126を介して相互に接続されている。
CPU121は、ROM122に記憶されている各種プログラムを実行することにより、マイコン100の動作を制御する。ROM122は、不揮発性メモリである。例えば、ROM122は、CPU121により実行されるプログラム、CPU121がプログラムを実行するために必要なデータ等を記憶する。RAM123は、DRAM(Dynamic Random Access Memory)やSRAM(Static Random Access Memory)等の主記憶装置である。例えば、RAM123は、CPU121がプログラムを実行する際に利用する作業領域として機能する。外部I/F125は、モータ駆動回路10、電圧検出回路20、電流検出回路30、およびスイッチ40に対するデータの入出力を制御する。
(マイコン100の機能構成)
図3は、本発明の一実施形態に係るマイコン100の機能構成を示す図である。図3に示すように、マイコン100は、操作信号取得部101、電圧値取得部102、電流値取得部103、パルス信号取得部104、位置特定部105、荷重算出部106、基準値算出部107、判定値設定部109、判定値調整部110、判定部111、およびモータ制御部112を備える。
なお、図3に示すマイコン100の各機能は、例えば、マイコン100において、ROM122に記憶されたプログラムを、CPU121が実行することにより実現される。このプログラムは、予めマイコン100に導入された状態で提供されてもよく、外部から提供されてマイコン100に導入されるようにしてもよい。後者の場合、このプログラムは、外部記憶媒体(例えば、USBメモリ、メモリカード、CD-ROM等)によって提供されてもよく、ネットワーク(例えば、インターネット等)上のサーバからダウンロードすることによって提供されるようにしてもよい。
操作信号取得部101は、スイッチ40から出力された操作信号を取得する。電圧値取得部102は、電圧検出回路20から出力された、モータ4の駆動電圧Vを示す信号を取得する。電流値取得部103は、電流検出回路30から出力された、モータ4に流れる電流Imを示す信号を取得する。パルス信号取得部104は、パルス発生器4Aから出力された、モータ4の回転軸の回転量を表すパルス信号を取得する。
位置特定部105は、パルス信号取得部104によって取得されたパルス信号に基づいて、パワーウインドウ3の位置(窓枠2A内における高さ位置)を特定する。例えば、位置特定部105は、パルス信号取得部104によって取得されたパルス信号に基づいて、モータ4の回転軸の回転量を特定する。そして、位置特定部105は、特定された回転量を、所定の変換式を用いて、パワーウインドウ3の移動量に変換する。さらに、位置特定部105は、直前のパワーウインドウ3の位置と、新たに求められたパワーウインドウ3の移動量とに基づいて、新たなパワーウインドウ3の位置を特定する。
荷重算出部106は、パルス信号取得部104によって取得されたパルス信号、および、電圧値取得部102によって取得されたモータ4の駆動電圧Vを示す信号に基づいて、モータ4の荷重F(「モータの荷重に比例する第3の算出値」の一例)を算出する。例えば、荷重算出部106は、パルス信号取得部104によって取得されたパルス信号における1パルス毎に、下記数式(1)により、荷重F(n)を算出する。但し、nは、パルス信号取得部104によって取得されたパルス信号から検出されたパルスのカウント数を表す。
上記数式(1)において、Ftorque(n)は、「モータのトルクに比例する第2の算出値」の一例であり、荷重F(n)のうち、モータ4の駆動トルクに依存する成分を表すものである。Ftorque(n)は、下記数式(2)によって算出される。以降の説明では、Ftorque(n)を、「トルク項」と示す。
上記数式(2)において、Ktは、モータ4のトルク定数[N・m/A]を示す。また、Rmは、モータ4の抵抗値[Ω]を示す。また、lは、モータ4の回転軸の単位回転角あたりのパワーウインドウ3の移動量[m/rad]を示す。また、V(n)は、カウント数nにおける駆動電圧[V](すなわち、電圧値取得部102によって取得された信号に示されている駆動電圧V)を示す。また、Keは、モータ4の逆起電力定数[V・sec/rad]を示す。また、T(n)は、カウント数nにおけるパルス信号のパルス周期[sec]を示す。当該パルス周期は、モータ4の回転軸が所定角度(1パルス分の角度)回転するのに要した時間を表すものであり、パルス信号取得部104によって取得されたパルス信号から導き出される。
また、上記数式(1)において、Facc(n)は、「モータの角加速度に比例する第1の算出値」の一例であり、荷重F(n)のうち、モータ4の角加速度に依存する成分を表すものである。Facc(n)は、下記数式(3)によって算出される。以降の説明では、Facc(n)を、「加速度項」と示す。
上記数式(3)において、Cは、所定の調整パラメータ[N・sec2]を示す。また、T(n)は、カウント数nにおけるパルス信号のパルス周期[sec]を示す。また、T(n-1)は、カウント数n-1におけるパルス信号のパルス周期[sec]を示す。上記数式(3)により、Facc(n)は、モータ4の回転軸の角加速度が低下するにつれて、値が高まってゆくものとなる。
基準値算出部107は、荷重算出部106によって算出された荷重F(n)の加重平均値を基準値B(n)として算出する。具体的には、基準値算出部107は、荷重算出部106によって新たな荷重F(n)が算出される毎に、新たな荷重F(n)と直前に算出された基準値B(n-1)との加重平均値を、新たな基準値B(n)として算出する。基準値算出部107は、基準値B(n)を、下記数式(4)によって算出する。下記数式(4)において、Mは、所定の重み係数を示す。
判定値設定部109は、パワーウインドウ3による挟み込みが生じているか否かを判定するための、挟み込み判定値Fthを設定する。例えば、判定値設定部109は、基準値算出部107によって算出された基準値B(n)に対し、所定の許容量α1を加算した値を、挟み込み判定値Fthとして設定する。なお、許容量α1は、シミュレーション等により適切な値が予め求められ、マイコン100に設定される。
判定値調整部110は、図5に詳細に示す起動時判定値調整処理を行うことにより、モータ4の起動直後の所定の判定期間(以下、「起動時判定期間」と示す)において、上記数式(3)によって算出される加速度項の値が単調増加する場合、挟み込み判定値Fthに対して、増分値α2を加算することにより、挟み込み判定値Fthを一時的に高める。そして、判定値調整部110は、モータ4の回転が安定するまでの間、挟み込み判定値Fthが高められた状態を維持し、モータ4の回転が安定すると、挟み込み判定値Fthが高められた状態を解除する。
例えば、マイコン100の提供者は、起動時判定期間を、シミュレーション等により予め求めておく。具体的には、モータ4の起動直後、挟み込みが生じていない場合には加速度項の値が単調増加し、挟み込みが生じている場合には加速度項の値が単調増加しない期間を、起動時判定期間として求める。そして、マイコン100の提供者は、このようにして求められた起動時判定期間を、マイコン100に設定する。例えば、本実施形態では、モータ4の起動直後、モータ4の起動時からのカウント数n1からn2までの期間を、起動時判定期間としている。
そして、実際にモータ4を起動した際、判定値調整部110は、起動時判定期間において、上記数式(3)によって算出される加速度項の値が単調増加する場合(すなわち、カウント数nにおける値が、カウント数n-1における値よりも大きい場合)、挟み込み判定値Fthに対して、増分値α2を加算することにより、挟み込み判定値Fthを一時的に高める。そして、判定値調整部110は、モータ4の回転が安定するまでの間、挟み込み判定値Fthが高められた状態を維持する。例えば、本実施形態では、モータ4の起動時からの所定のカウント数n3がカウントされたタイミングを、モータ4の回転が安定したタイミングとしている。
判定部111は、判定値設定部109によって設定された挟み込み判定値Fthを、荷重算出部106によって算出された荷重F(n)が超えた場合、パワーウインドウ3による挟み込みが生じていると判定する。
ここで、モータ4の起動直後、モータ4の回転が安定するまでの間、判定値調整部110によって、挟み込み判定値Fthに増分値α2が加算された場合、判定部111は、増分値α2が加算された挟み込み判定値Fthを、荷重算出部106によって算出された荷重F(n)が超えた場合、パワーウインドウ3による挟み込みが生じていると判定する。
これにより、本実施形態のマイコン100は、モータ4の起動直後、モータ4の回転が安定するまでの間、モータ4の不安定な動作に起因して、荷重算出部106によって算出される荷重F(n)の値が一時的に増加した場合であっても、挟み込み判定値Fthが高められることにより、荷重F(n)の値が挟み込み判定値Fthを超えないようにすることができるため、「パワーウインドウ3による挟み込みが生じていない」と判定することができ、よって、パワーウインドウ3による挟み込みの誤判定を防止することができる。
一方、本実施形態のマイコン100は、モータ4の起動直後、モータ4の回転が安定するまでの間、パワーウインドウ3による挟み込みが生じていることに起因して、荷重算出部106によって算出される荷重F(n)の値が増加した場合、挟み込み判定値Fthが高められないことにより、荷重F(n)の値が挟み込み判定値Fthを超えるようにすることができるため、「パワーウインドウ3による挟み込みが生じている」と判定することができ、よって、パワーウインドウ3による挟み込みを比較的早期に検出することができる。
モータ制御部112は、操作信号取得部101によって取得された操作信号に応じて、モータ4へ制御信号を供給してモータ4を制御することにより、パワーウインドウ3の開閉動作を制御する。
例えば、モータ制御部112は、操作信号取得部101によってパワーウインドウ3を閉動作させるための操作信号が取得された場合、モータ4の回転軸を第1の方向に回転させるための制御信号をモータ4へ供給することにより、パワーウインドウ3を閉動作させる。
反対に、モータ制御部112は、操作信号取得部101によってパワーウインドウ3を開動作させるための操作信号が取得された場合、モータ4の回転軸を第1の方向とは反対方向である第2の方向に回転させるための制御信号をモータ4へ供給することにより、パワーウインドウ3を開動作させる。
また、モータ制御部112は、位置特定部105によって特定されたパワーウインドウ3の位置が、挟み込み監視領域内の位置であり、且つ、判定部111によってパワーウインドウ3による挟み込みが生じていると判定された場合、パワーウインドウ3が所定の挟み込み防止動作を行うように、モータ4を制御する。
例えば、モータ制御部112は、判定部111によってパワーウインドウ3による挟み込みが生じていると判定された場合、モータ4を制御することにより、所定の挟み込み防止動作として、パワーウインドウ3の閉動作を停止させた後、パワーウインドウ3を所定量または所定位置まで開動作させる。
(マイコン100による処理の手順)
図4は、本発明の一実施形態に係るマイコン100による処理の手順を示すフローチャートである。
まず、操作信号取得部101が、スイッチ40から出力された操作信号を取得する(ステップS401)。次に、パルス信号取得部104が、パルス発生器4Aから出力された、モータ4の回転軸の回転量を表すパルス信号を取得する(ステップS402)。そして、位置特定部105が、ステップS402で取得されたパルス信号に基づいて、パワーウインドウ3の位置を特定する(ステップS403)。
次に、位置特定部105が、ステップS403で特定されたパワーウインドウ3の位置が、所定の挟み込み監視領域内であるか否かを判断する(ステップS404)。例えば、所定の挟み込み監視領域は、パワーウインドウ3の全閉位置から、所定の距離(例えば、4mm)下方に離れた位置までの領域を除く領域である。
ステップS404において、所定の挟み込み監視領域内ではないと判定された場合(ステップS404:No)、モータ制御部112が、ステップS401で取得された操作信号に応じて、モータ4へ制御信号を供給してモータ4を制御することにより、パワーウインドウ3の通常の開閉動作(開動作または閉動作)を制御する(ステップS420)。そして、マイコン100は、ステップS412へ処理を進める。
一方、ステップS404において、所定の挟み込み監視領域内であると判定された場合(ステップS404:Yes)、電圧値取得部102が、電圧検出回路20から出力された、モータ4の駆動電圧Vを示す信号を取得する(ステップS405)。
そして、荷重算出部106が、ステップS402で取得されたパルス信号、および、ステップS405で取得されたモータ4の駆動電圧Vを示す信号に基づいて、パワーウインドウ3の開閉動作にかかる荷重F(n)を算出する(ステップS406)。また、基準値算出部107が、ステップS406で算出された荷重F(n)の加重平均値を基準値B(n)として算出する(ステップS407)。
次に、判定値設定部109が、ステップS407で算出された基準値B(n)に対し、所定の許容量α1を加算した値を、挟み込み判定値Fthとして設定する(ステップS408)。
また、判定値調整部110が、起動時判定値調整処理を行う(ステップS409)。これにより、判定値調整部110は、モータ4の起動直後の起動時判定期間において、ステップS406で算出された荷重F(n)のうちの加速度項の値が単調増加する場合、ステップS408で設定された挟み込み判定値Fthに対して、増分値α2を加算することにより、挟み込み判定値Fthを一時的に高める。
次に、判定部111が、パワーウインドウ3による挟み込みが生じているか否かを判定する(ステップS410)。具体的には、判定部111は、ステップS406で算出された荷重F(n)が、ステップS408で設定された挟み込み判定値Fth、または、ステップS409で増分値α2が加算された挟み込み判定値Fthを超えた場合、パワーウインドウ3による挟み込みが生じていると判定する。反対に、判定部111は、ステップS406で算出された荷重F(n)が、ステップS408で設定された挟み込み判定値Fth、または、ステップS409で増分値α2が加算された挟み込み判定値Fth未満である場合、パワーウインドウ3による挟み込みが生じていないと判定する。
ステップS410において、パワーウインドウ3による挟み込みが生じていると判定された場合(ステップS410:Yes)、モータ制御部112が、モータ4へ制御信号を供給してモータ4を制御することにより、パワーウインドウ3の挟み込み防止動作を制御する(ステップS411)。そして、マイコン100は、ステップS412へ処理を進める。
一方、ステップS410において、パワーウインドウ3による挟み込みが生じていないと判定された場合(ステップS410:No)、モータ制御部112が、ステップS401で取得された操作信号に応じて、モータ4へ制御信号を供給してモータ4を制御することにより、パワーウインドウ3の通常の開閉動作(開動作または閉動作)を制御する(ステップS420)。そして、マイコン100は、ステップS412へ処理を進める。
ステップS412では、所定の終了条件を満たすか否かを判断する。所定の終了条件とは、パワーウインドウ3の動作を終了させるためのものであり、例えば、パワーウインドウ3が全閉状態になった場合、パワーウインドウ3が全開状態になった場合、スイッチ40からの操作信号の供給が途絶えた場合等である。
ステップS412において、所定の終了条件を満たさないと判断された場合(ステップS412:No)、マイコン100は、ステップS402へ処理を戻す。一方、ステップS412において、所定の終了条件を満たすと判断された場合(ステップS412:Yes)、マイコン100は、図4に示す一連の処理を終了する。
(起動時判定値調整処理の手順)
図5は、本発明の一実施形態に係る判定値調整部110による起動時判定値調整処理の手順を示すフローチャートである。図5は、図4に示すフローチャートにおける、判定値調整部110による起動時判定値調整処理(ステップS409)の手順を詳細に示すものである。特に、図5は、モータ4の起動時から、モータ4の回転が安定するまでの間に行われる、判定値調整部110による起動時判定値調整処理の手順を示すものである。
まず、判定値調整部110は、変数n、変数inc、および変数ΔFthの各々に対して「0」を設定(すなわち、初期化)する(ステップS501)。変数nは、モータ4が起動してからのパルスカウント数を表す。変数incは、加速度項の単調増加の連続数を表す。変数ΔFthは、挟み込み判定値Fthに対する増加量を表す。
次に、判定値調整部110は、条件{n1≦n≦n2}を満たすか否かを判断する(ステップS502)。条件{n1≦n≦n2}は、起動時判定期間であることを判定するためのものである。n1は、モータ4が起動してからのパルスカウント数であって、起動時判定期間の始期のパルスカウント数を表す。n2は、モータ4が起動してからのパルスカウント数であって、起動時判定期間の終期のパルスカウント数を表す。例えば、n1には「8」が設定され、n2には「15」が設定される。
ステップS502において、条件{n1≦n≦n2}を満たさないと判断された場合(ステップS502:No)、判定値調整部110は、ステップS508へ処理を進める。
一方、ステップS502において、条件{n1≦n≦n2}を満たすと判断された場合(ステップS502:Yes)、判定値調整部110は、条件{Facc(n)>Facc(n-1)}を満たすか否かを判断する(ステップS503)。条件{Facc(n)>Facc(n-1)}は、加速度項の単調増加であることを判定するためのものである。Facc(n)は、パルスカウント数nにおける加速度項の値を表す。Facc(n-1)は、パルスカウント数n-1における加速度項の値を表す。
ステップS503において、条件{Facc(n)>Facc(n-1)}を満たさないと判断された場合(ステップS503:No)、判定値調整部110は、ステップS508へ処理を進める。
一方、ステップS503において、条件{Facc(n)>Facc(n-1)}を満たすと判断された場合(ステップS503:Yes)、判定値調整部110は、変数incに1を加算する(ステップS504)。そして、判定値調整部110は、条件{inc>inc_th}を満たすか否かを判断する(ステップS505)。条件{inc>inc_th}は、加速度項の単調増加の連続数(inc)が、所定の判定回数(inc_th)を超えたことを判定するためのものである。例えば、inc_thには「7」が設定される。
ステップS505において、条件{inc>inc_th}を満たさないと判断された場合(ステップS505:No)、判定値調整部110は、変数ΔFthに「0」を設定し(ステップS506)、ステップS508へ処理を進める。
一方、ステップS505において、条件{inc>inc_th}を満たすと判断された場合(ステップS505:Yes)、判定値調整部110は、変数ΔFthに「α2」を設定し(ステップS507)、ステップS508へ処理を進める。α2は、挟み込み判定値Fthに対する増分値を表す。α2は、シミュレーション等により適切な値が予め求められ、マイコン100に設定される。
ステップS508では、判定値調整部110は、変数nに1を加算する。次に、判定値調整部110は、条件{n≧n2}を満たすか否かを判断する(ステップS509)。条件{n≧n2}は、起動時判定期間が終了したことを判定するためのものである。
ステップS509において、条件{n≧n2}を満たさないと判断された場合(ステップS509:No)、判定値調整部110は、ステップS502へ処理を戻す。
一方、ステップS509において、条件{n≧n2}を満たすと判断された場合(ステップS509:Yes)、判定値調整部110は、条件{n≧n3}を満たすか否かを判断する(ステップS510)。条件{n≧n3}は、モータ4の回転が安定したことを判定するためのものである。n3は、モータ4が起動してからのパルスカウント数であって、モータ4の回転が安定するタイミングを表す。n3は、シミュレーション等により適切な値が予め求められ、マイコン100に設定される。
ステップS510において、条件{n≧n3}を満たさないと判断された場合(ステップS510:No)、判定値調整部110は、ステップS502へ処理を戻す。
一方、ステップS510において、条件{n≧n3}を満たすと判断された場合(ステップS510:Yes)、判定値調整部110は、変数ΔFthに「0」を設定する(ステップS511)。そして、判定値調整部110は、図5に示す一連の処理を終了する。
(荷重F(n)および加速度項の値の一例)
図6は、本発明の一実施形態に係る荷重算出部106によって算出される荷重F(n)の一例を示す図である。図7は、本発明の一実施形態に係る荷重算出部106によって算出される加速度項の値の一例を示す図である。
図6および図7において、実線は、モータ4の起動時にパワーウインドウ3による挟み込みが生じている場合において、荷重算出部106によって算出された、荷重F(n)および加速度項の値の一例を表す。
また、図6および図7において、破線は、モータ4の起動時にパワーウインドウ3による挟み込みが生じていない場合、且つ、パワーウインドウ3が後ろ下がりの状態(斜めになった状態)となった場合において、荷重算出部106によって算出された、荷重F(n)および加速度項の値の一例を表す。
また、図6および図7において、一点鎖線は、モータ4の起動時にパワーウインドウ3による挟み込みが生じていない場合、且つ、パワーウインドウ3が前下がりの状態(斜めになった状態)となった場合において、荷重算出部106によって算出された、荷重F(n)および加速度項の値の一例を表す。
図7において、破線および一点鎖線に示すように、モータ4の起動時に、パワーウインドウ3による挟み込みが生じていない場合、パルスカウント数n1からn2までの起動時判定期間において、加速度項の値が単調増加することが判る。
一方、図7において、実線に示すように、モータ4の起動時に、パワーウインドウ3による挟み込みが生じている場合、パルスカウント数n1からn2までの起動時判定期間において、加速度項の値が単調増加しないことが判る。
(挟み込み判定値Fthの調整)
図8は、本発明の一実施形態に係る判定値調整部110による挟み込み判定値Fthの調整を概略的に示す図である。図8(a)は、判定値調整部110により挟み込み判定値Fthが高められるケースを示す。図8(b)は、判定値調整部110により挟み込み判定値Fthが高められないケースを示す。
図8(a)および図8(b)に示すように、マイコン100では、判定値設定部109が、基準値算出部107によって算出された基準値B(n)に対し、所定の許容量α1を加算した値を、挟み込み判定値Fthとして設定する。なお、説明をわかり易くするために、図8(a)および図8(b)では、基準値B(n)を一定値としているが、実際には、基準値B(n)は、荷重算出部106によって算出される荷重F(n)の変動に伴って変動し得るものである。
また、図8(a)および図8(b)に示すように、マイコン100では、モータ4の起動直後、パルスカウント数n1からn2までの期間が、起動時判定期間として設定される。一例として、本実施形態では、カウント8から15までの期間が、起動時判定期間として設定される。
そして、この起動時判定期間において、荷重算出部106によって算出された加速度項の値が単調増加する場合、判定値調整部110は、図8(a)に示すように、挟み込み判定値Fthに対して、増分値α2を加算することにより、挟み込み判定値Fthを一時的に高める。
この場合、判定値調整部110は、モータ4の回転が安定するまでの非安定期間(パルスカウント数n2からn3までの期間)を増加期間として、挟み込み判定値Fthに増分値α2が加算された状態を維持する。その後、モータ4の回転が安定すると(カウントn3)、判定値調整部110は、挟み込み判定値Fthに増分値α2が加算された状態を解除する。すなわち、挟み込み判定値Fthは、基準値Bに対して許容量α1のみが加算されたものに戻る。
これにより、本実施形態のマイコン100は、モータ4の回転が安定するまでの間、モータ4の不安定な動作に起因して、荷重算出部106によって算出される荷重F(n)が一時的に増加した場合であっても、荷重F(n)が挟み込み判定値Fthを超えないようにすることができるため、パワーウインドウ3による挟み込みの誤判定を防止することができる。
一方、起動時判定期間において、荷重算出部106によって算出され加速度項の値が単調増加しない場合、判定値調整部110は、図8(b)に示すように、挟み込み判定値Fthに対して、増分値α2を加算しない。すなわち、モータ4の回転が安定するまでの非安定期間(パルスカウント数n2からn3までの期間)、および、モータ4の回転が安定した安定期間(パルスカウント数n3以降の期間)のいずれにおいても、挟み込み判定値Fthは、基準値Bに対して許容量α1のみが加算されたものとなる。
これにより、本実施形態のマイコン100は、モータ4の回転が安定するまでの間、パワーウインドウ3による挟み込みが生じていることに起因して、荷重算出部106によって算出される荷重F(n)の値が増加した場合、荷重F(n)が挟み込み判定値Fthを超えるようにすることができるため、パワーウインドウ3による挟み込みを比較的早期に検出することができる。
(第1比較例)
図9は、本実施形態のマイコン100による各種算出値の一例を示す図である。図10は、比較用の開閉制御装置による各種算出値の一例を示す図である。図9および図10において、破線は、基準値B(n)を示す。また、実線は、荷重F(n)を示す。また、一点鎖線は、挟み込み判定値Fthを示す。第1比較例では、本実施形態のマイコン100と、比較用の開閉制御装置との各々により、モータ4の起動時にパワーウインドウ3による挟み込みが生じていない場合、且つ、パワーウインドウ3が前下がりの状態となった場合における、基準値B(n)、荷重F(n)、および挟み込み判定値Fthの各々を算出した。なお、第1比較例では、比較用の開閉制御装置として、判定値調整部110による起動時判定値調整処理を行わないものを用いた。
図9に示すように、本実施形態のマイコン100では、判定値調整部110による起動時判定値調整処理が行われたことにより、モータ4の起動時からのパルスカウント数n2において、判定値が高められていることが判る。これにより、本実施形態のマイコン100では、図9に示すように、モータ4の回転が安定するまでの間、荷重F(n)が挟み込み判定値Fthを超えることはなく、よって、「パワーウインドウ3による挟み込みが生じている」と誤判定することはない。
一方、図10に示すように、比較用の開閉制御装置では、判定値調整部110による起動時判定値調整処理を行わないため、モータ4の起動時からのパルスカウント数n2において、判定値が高められていないことが判る。これにより、比較用の開閉制御装置では、図10に示すように、モータ4の回転が安定するまでの間、荷重F(n)が挟み込み判定値Fthを超えることがあり、よって、「誤判定範囲」において、「パワーウインドウ3による挟み込みが生じている」と誤判定することがある。
(第2比較例)
図11は、本実施形態のマイコン100による各種算出値の一例を示す図である。図12は、比較用の開閉制御装置による各種算出値の一例を示す図である。図11および図12において、破線は、基準値B(n)を示す。また、実線は、荷重F(n)を示す。また、一点鎖線は、挟み込み判定値Fthを示す。第2比較例では、本実施形態のマイコン100と、第1比較例で用いた比較用の開閉制御装置との各々により、モータ4の起動時にパワーウインドウ3による挟み込みが生じていない場合、且つ、パワーウインドウ3が後ろ下がりの状態となった場合における、基準値B(n)、荷重F(n)、および挟み込み判定値Fthの各々を算出した。
図11に示すように、本実施形態のマイコン100では、判定値調整部110による起動時判定値調整処理が行われたことにより、モータ4の起動時からのパルスカウント数n2において、判定値が高められていることが判る。これにより、本実施形態のマイコン100では、図11に示すように、モータ4の回転が安定するまでの間、荷重F(n)が挟み込み判定値Fthを超えることはなく、よって、「パワーウインドウ3による挟み込みが生じている」と誤判定することはない。
一方、図12に示すように、比較用の開閉制御装置では、判定値調整部110による起動時判定値調整処理を行わないため、モータ4の起動時からのパルスカウント数n2において、判定値が高められていないことが判る。これにより、比較用の開閉制御装置では、図12に示すように、モータ4の回転が安定するまでの間、荷重F(n)が挟み込み判定値Fthを超えることがあり、よって、「誤判定範囲」において、「パワーウインドウ3による挟み込みが生じている」と誤判定することがある。
以上説明したように、本実施形態のマイコン100は、パワーウインドウ3が開閉動作を行ったときの、モータ4の角加速度に比例する第1の算出値(上記数式(1)における加速度項の算出値)と、モータ4のトルクに比例する第2の算出値(上記数式(1)におけるトルク項の算出値)と、第1の算出値および第2の算出値を加算した荷重F(n)とを算出する荷重算出部106と、荷重算出部106によって算出された荷重F(n)が挟み込み判定値Fthを超えた場合、パワーウインドウ3による挟み込みが生じていると判定する判定部111と、判定部111によって挟み込みが生じていると判定された場合、パワーウインドウ3が所定の挟み込み防止動作を行うように、モータ4を制御するモータ制御部112と、モータ4の起動直後の所定の起動時判定期間の間、第1の算出値が単調増加している場合、挟み込み判定値Fthを高める判定値調整部110とを備える。
これにより、本実施形態のマイコン100は、モータ4の起動直後、モータ4の不安定な動作に起因して、荷重算出部106によって算出される荷重F(n)が一時的に増加した場合であっても、挟み込み判定値Fthが高められることにより、「パワーウインドウ3による挟み込みが生じていない」と判定することができ、よって、パワーウインドウ3による挟み込みの誤判定を防止することができる。
一方、本実施形態のマイコン100は、モータ4の起動直後、パワーウインドウ3による挟み込みが生じていることに起因して、荷重算出部106によって算出される荷重F(n)の値が増加した場合、挟み込み判定値Fthが高められないことにより、比較的早期に「パワーウインドウ3による挟み込みが生じている」と判定することができる。
したがって、本実施形態のマイコン100によれば、モータ4の起動直後における物体の挟み込みの判定精度を高めることができる。
以上、本発明の一実施形態について詳述したが、本発明はこれらの実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形又は変更が可能である。
例えば、本発明の一実施形態では、起動時判定期間を、パルスカウント数によって定めているが、これに限らず、例えば、起動時判定期間を、モータ4の起動時からの経過時間によって定めてもよい。
また、本発明の一実施形態では、パルス周期Tを用いて、加速度項の値を算出しているが、これに限らず、例えば、パルス周期Tに代えて、電流検出回路30によって検出されたモータ4に流れる電流Imを用いて、加速度項の値を算出するようにしてもよい。
また、本発明の一実施形態では、マイコン100による制御対象の開閉体の一例としてパワーウインドウ3を用いているが、これに限らず、制御対象とする開閉体は、サンルーフ、スライドドア等、車両に搭載されているその他の開閉体や、車両以外に設けられている開閉体(例えば、電動シャッター等)等、少なくともモータの駆動により開閉動作を行うものであれば、如何なる開閉体であってもよい。
なお、上記実施形態のマイコン100において、挟み込みの判定精度をより高めるべく、例えば、特願2017-101420号に記載されている方法を用いることができる。