以下、本開示の複数の実施形態を図面に基づいて説明する。なお、各実施形態の説明において、対応する構成要素には同一番号の符号を付して重複する説明を省略する場合がある。構成の一部のみを説明している場合、構成の他の部分については先に説明した実施形態を適用できる。また、各実施形態の説明において明示している構成の組み合わせばかりでなく、特に組み合わせに支障が生じなければ、明示していなくても部分的に構成を組み合わせることも可能である。
<第1実施形態>
図1は、本開示の第1実施形態によるシフトバイワイヤシステム(レンジ切替システム)を示す。このレンジ切換システムは、車両において、運転者がセレクタ装置を操作して選択しているシフトレンジに応じて、変速機20のシフトレンジを変更させるシステムである。シフトバイワイヤシステムは、セレクタ装置、変速機20に加えて、アクチュエータ30、および2つの制御系統を備えている。
セレクタ装置(図示せず)は、運転者によるシフトレンジの選択操作を受け付け、選択されたシフトレンジを示すレンジ信号を出力する装置である。例えば本実施形態では、セレクタ装置からのレンジ信号は、パーキングレンジP、リバースレンジR、ニュートラルレンジN、ドライブレンジDの4つのシフトレンジのうちのいずれが運転者により選択されているかを示している。セレクタ装置は、セレクタレバーと検出ユニットを含む。
セレクタレバーは、選択操作に従い各シフトレンジに対応した位置に移動する。検出ユニットは、例えば磁気センサなどによりセレクタレバーの現在位置を検出し、現在位置に対応するシフトレンジを示すレンジ信号を出力する。
レンジ信号は、図2に示すシフタ制御装置(シフタECU60)に入力される。シフタECU60は、セレクタ装置からのレンジ信号に加え、車両の走行状態や内燃機関の運転状態等に応じて、シフトレンジを決定する。シフタECU60は、決定したシフトレンジを指令するシフトレンジ指令信号を、後述する第1マイコン40と第2マイコン50の両方に出力する。なお、シフタECU60、第1マイコン40および第2マイコン50の各々は、CAN(登録商標)等の通信規格により双方向通信可能である。
第1マイコン40と第2マイコン50の各々は、シフトレンジ指令信号と現状のシフトレンジに応じて、第1ドライバ42と第2ドライバ52の作動を制御する。これにより、決定したシフトレンジとなるようにモータ31の駆動が制御され、所望のシフトレンジとなるようにレンジ切替バルブ25が作動する。第1マイコン40および第2マイコン50は、レンジ切替システムに適用される「冗長化制御装置」に相当する。
変速機20は、内燃機関や走行モータ等の走行駆動源から車軸へ伝達される回転駆動力について、変速比などを自動で変更する自動変速機である。変速機20は、内部に設けられた各種のバルブにより作動油の流路や油圧を制御することにより、クラッチなどを自動で駆動して変速比などを変更する。変速機20は、レンジ切替機構21を有する。
レンジ切替機構21は、変速機20における作動油の流路を、選択されているシフトレンジに対応する流路に切り替えるための機構である。レンジ切替機構21は、シャフト22、ディテントプレート23、ディテントスプリング24、およびレンジ切替バルブ25を含む。
シャフト22は、アクチュエータ30の出力軸に接続されている円柱状の部材である。シャフト22は、アクチュエータ30により駆動されて中心軸線周りに回転する。
ディテントプレート23は、シャフト22に接続され、シャフト22と共に回転する平板状の部材である。ディテントプレート23は、両面をシャフト22の中心軸線に沿った方向に向ける姿勢で、シャフト22から外周方向に広がるように配置されている。ディテントプレート23は、回転に伴う姿勢の変動に応じて、レンジ切替バルブ25やパーキングロック機構10をシフトレンジに対応した配置に直線的に移動させる。ディテントプレート23の外周縁部には、シャフト22の中心軸線に向けて凹む切欠きが複数形成されている。ディテントプレート23には、4つのシフトレンジに対応する4つの切欠きが形成されている。ディテントプレート23は、各シフトレンジに対応した姿勢の範囲である係合角度範囲において、そのシフトレンジに対応する切欠きをディテントスプリング24に係合させる。
ディテントスプリング24は、シャフト22の中心軸線に向かう付勢力によりディテントプレート23の切欠きと係合する部材である。ディテントスプリング24は、アクチュエータ30の作動によるディテントプレート23の姿勢変更が行われていない場合に、切欠きとの係合によりディテントプレート23の姿勢を保持する。姿勢の保持、すなわち回転の規制により、レンジ切替バルブ25などの位置が保持される。ディテントスプリング24は、アクチュエータ30の作動により姿勢変更が行われている場合、ディテントスプリング24は切欠きとの係合を一時的に解除し、ディテントプレート23の回転を可能とする。
レンジ切替バルブ25は、延伸する方向に沿って移動可能なスプール弁である。レンジ切替バルブ25は、ディテントプレート23の姿勢の変動に伴い、各シフトレンジに対応する配置に移動する。レンジ切替バルブ25は、位置に応じて作動油の流路を切り替えることにより、変速機20のシフトレンジを切り替える。
アクチュエータ30は、シャフト22を回転駆動することにより、レンジ切替バルブ25などをレンジ信号の示すシフトレンジに対応する配置に移動させる装置である。アクチュエータ30は、モータ31と減速機32を有する。
モータ31は、三相の巻線31U、31V、31W(図2参照)およびロータを有し、例えば三相のスイッチトリラクタンスモータなどの同期モータである。モータ31は、電流を流す相の切替えパターン(すなわち通電パターン)に従って発生する吸引力によって回転する。吸引力は、ロータの回転角で示されるロータの各突極の現在位置と、通電パターンとの関係に従った方向に発生する。モータ31は、吸引力の方向を同じ回転方向とするように、回転角の変動に従って通電パターンを切替えられることにより、回転を継続する。モータ31は、発生する吸引力による加減速で追従可能な範囲において、通電パターンの切り替わりに従った速度で回転する。
減速機32は、複数のギヤなどを含んで構成され、モータ31の回転を所定の減速比で減速してシャフト22およびディテントプレート23に伝達する。減速機32は、例えばモータ31において数回転程度の回転角を、ディテントプレート23において一度程度の姿勢変化となるように減速して伝達する。
アクチュエータ30の出力軸の回転角、つまりシャフト22の回転角は、出力軸センサ33により検出される。出力軸センサ33の検出値は、レンジ切替バルブ25の移動位置に対応するため、変速機20のシフトレンジを表していると言える。出力軸センサ33から出力される検出信号は、第1マイコン40と第2マイコン50の両方に入力される。
第1マイコン40および第2マイコン50は、出力軸センサ33で所定角度の回転が検出される毎にカウントを1つ増加させるシフトカウンタを有する。例えばシフトレンジをPからDに変更した場合には、図10の(12)欄の実線に示すようにシフトカウンタの値は変化する。
モータ31の駆動は、レンジ信号に基づいて2つの制御系統により制御される。第1制御系統は、第1給電経路41U、41V、41W、第1ドライバ42、第1エンコーダ43(第1センサ)および第1制御装置(第1マイコン40)を備える。第2制御系統は、第2給電経路51U、51V、51W、第2ドライバ52、第2エンコーダ53(第2センサ)および第2制御装置(第2マイコン50)を備える。
第1給電経路41U、41V、41Wおよび第2給電経路51U、51V、51Wは、三相の巻線31U、31V、31Wの各々に対して、電力供給する経路を形成する。第1給電経路41U、41V、41Wおよび第2給電経路51U、51V、51Wは、互いに並列接続されている。また、第1給電経路41U、41V、41Wおよび第2給電経路51U、51V、51Wは、三相の巻線31U、31V、31Wの各々に直列接続されて給電経路を形成する。例えば、第1給電経路41Uおよび第2給電経路51Uは、U相の巻線31Uに対して並列接続されている。各々の給電経路は、電力供給源の高電位側と低電位側(グランド側)に分岐する。
なお、第1給電経路に供給される電力は第1バッテリから供給され、第2給電経路に供給される電力は第2バッテリから供給される。つまり、第1および第2給電経路には、それぞれ異なるバッテリから電力供給される。なお、共通した1つのバッテリから第1および第2給電経路の各々に電力供給される構成であってもよい。
第1ドライバ42は、各相に設けられた上下アームを形成する複数のスイッチ素子を有する。U相の上アームはスイッチUH1により形成され、U相の下アームはスイッチUL1により形成される。スイッチUH1は、第1給電経路41Uの高電位側の通電オンオフを切り替える。スイッチUL1は、第1給電経路41Uの低電位側の通電オンオフを切り替える。
同様にして、第1ドライバ42に係るV相の上アームはスイッチVH1により形成され、V相の下アームはスイッチVL1により形成される。第1ドライバ42に係るW相の上アームはスイッチWH1により形成され、W相の下アームはスイッチWL1により形成される。
第2ドライバ52は、各相に設けられた上下アームを形成する複数のスイッチ素子を有する。U相の上アームはスイッチUH2により形成され、U相の下アームはスイッチUL2により形成される。スイッチUH2は、第2給電経路51Uの高電位側の通電オンオフを切り替える。スイッチUL2は、第2給電経路51Uの低電位側の通電オンオフを切り替える。
同様にして、第2ドライバ52に係るV相の上アームはスイッチVH2により形成され、V相の下アームはスイッチVL2により形成される。第2ドライバ52に係るW相の上アームはスイッチWH2により形成され、W相の下アームはスイッチWL2により形成される。
第1ドライバ42が有する6つのスイッチUH1、UL1、VH1、VL1、WH1、WL1は、第1給電経路の通電オンオフを切り替える第1スイッチに相当する。第2ドライバ52が有する6つのスイッチUH2、UL2、VH2、VL2、WH2、WL2は、第2給電経路の通電オンオフを切り替える第2スイッチに相当する。これらのスイッチ素子は、IGBTでもよいしMOSFETでもよい。
第1マイコン40は、プロセッサ40aおよびメモリ40bを有する。プロセッサ40aは、メモリ40bに記憶されたプログラムに従って各種の演算処理を実行することで、第1ドライバ42の作動を制御する。第2マイコン50は、プロセッサ50aおよびメモリ50bを有する。プロセッサ50aは、メモリ50bに記憶されたプログラムに従って各種の演算処理を実行することで、第2ドライバ52の作動を制御する。
例えば、U相巻線31Uに高電位側から電力供給させる場合には、次のようにスイッチの通電オンオフを制御する。すなわち、第1マイコン40は、U相上スイッチUH1を通電オンかつU相下スイッチUL1を通電オフさせ、尚且つ、第2マイコン50は、U相上スイッチUH2を通電オンかつU相下スイッチUL2を通電オフさせる。
第1エンコーダ43および第2エンコーダ53は、モータ31におけるロータの回転角を検出するためのセンサである。これらのエンコーダは、ロータと共に回転するセンサマグネット31M(図3参照)による磁界の周期的な変動を検出する。第1エンコーダ43は、ロータの回転角に応じた第1検出信号を、第1マイコン40と第2マイコン50の両方に出力する。第2エンコーダ53は、ロータの回転角に応じた第2検出信号を、第1マイコン40と第2マイコン50の両方に出力する。
各々のエンコーダは、磁界の変動に応じた電圧値を出力するホール素子を有する。第1エンコーダ43は、各相に設けられたホール素子HU1、HV1、HW1を有する。第2エンコーダ53は、各相に設けられたホール素子HU2、HV2、HW2を有する。
図3に示すように、センサマグネット31Mが有するN極とS極は、ロータの回転軸周りに等ピッチ(例えば45度)で交互に並べられている。図4に示すように、ホール素子HU1、HV1、HW1は、ロータの回転軸周りに等ピッチ(例えば120度)で配置されている。ホール素子HU2、HV2、HW2も、ロータの回転軸周りに等ピッチ(例えば120度)で配置されている。また、第1エンコーダ43のホール素子と第2エンコーダ53のホール素子とは、回転軸周りに等ピッチ(例えば60度)で交互に並べられている。
図5に示すように、これらのホール素子は、センサマグネット31MのN極とS極に対向する位置に設けられている。そのため、ロータが回転すると、センサマグネット31Mによる磁束位相は図6に示すように変化する。つまり、ロータが1回転すると、1つのホール素子は、N極の磁束ピーク値を4回検出することになる。換言すれば、ロータの機械角が360度変化すると、磁束位相変化の1周期360度が4回繰り返される。
第1エンコーダ43および第2エンコーダ53は、図7の(4)(8)欄に示すように、ホール素子の検出値に応じたパルス信号(出力値)を出力する。例えばホール素子HU1、HV1、HW1の検出値が閾値を超えて大きくなっている場合に、第1エンコーダ43は、各相に対するパルスオン信号を出力する。
次に、図7を用いて、第1マイコン40による第1ドライバ42の制御内容、および第2マイコン50による第2ドライバ52の制御内容について説明する。
図7は、(1)欄に示すようにシフト指示がパーキングレンジPからドライブレンジDに切り替わった場合の各種値の時間変化を示す。
シフト指示変更に伴いモータ31の駆動を開始させると、第1エンコーダ43および第2エンコーダ53の出力値は、(4)(8)欄に示すように変化する。第1エンコーダ43の出力値は、第1マイコン40と第2マイコン50の両方に出力される。第2エンコーダ53の出力値も、第1マイコン40と第2マイコン50の両方に出力される。
第1マイコン40は、第1エンコーダ43の各相の出力値が変化する毎に、(2)欄に示す第1エンコーダパルスを発生させる。さらに第1マイコン40は、第1エンコーダパルスが発生する毎に、(3)欄に示す第1エンコーダカウントを1つ増加させる。第2マイコン50は、第2エンコーダ53の各相の出力値が変化する毎に、(6)欄に示す第2エンコーダパルスを発生させる。さらに第2マイコン50は、第2エンコーダパルスが発生する毎に、(7)欄に示す第2エンコーダカウントを1つ増加させる。
第1マイコン40は、モータ31を駆動させる要求がある場合に、(5)欄に示すように6つのスイッチUH1、UL1、VH1、VL1、WH1、WL1のオンオフパターンを設定する。各スイッチのオン時期とオフ時期は、(2)欄に示す第1エンコーダパルスの発生時期と一致する。すなわち、第1エンコーダ43から出力される第1検出信号に対応する第1オン時期が、第1ベース時期に相当する。そして、第1マイコン40は、第1ベース時期を第1オン時期に設定している。
例えば、(4)欄に示すt11時期は、U相の第1エンコーダ出力、つまりホール素子HU1によるパルス信号が、オフからオンに切り替わった時期を示す。また、t13時期は、V相の第1エンコーダ出力、つまりホール素子HV1によるパルス信号が、オフからオンに切り替わった時期を示す。そして、これらt11時期とt13時期の中間時期が、(5)欄のt12時期に示す第1ベース時期(第1オン時期)に設定されている。
また、(8)欄に示すt21時期は、U相の第2エンコーダ出力、つまりホール素子HU2によるパルス信号が、オフからオンに切り替わった時期を示す。また、t23時期は、V相の第2エンコーダ出力、つまりホール素子HV2によるパルス信号が、オフからオンに切り替わった時期を示す。そして、これらt21時期とt23時期の中間時期が、(9)欄のt22時期に示す第2ベース時期に設定されている。
ここで、エンコーダの個体差や取付位置のバラツキ等に起因して、各相における第1エンコーダ出力と第2エンコーダ出力はズレが生じ得る。図7に示す例では、第2ベース時期t22が第1ベース時期t12(第1オン時期)よりも僅かに遅れている。そのため、これらのベース時期をそのままオン時期に設定すると、巻線31U、31V、31Wへ第1給電経路41U、41V、41Wから電力供給される時期と、第2給電経路51U、51V、51Wから電力供給される時期とでずれてしまう。
そこで本実施形態では、図8の(5)(9)欄に示すように、第1オン時期と第2オン時期を互いに同期させている。具体的には、第2マイコン50は、第2ベース時期t22を第1ベース時期t12と一致させるように補正し、その補正後の時期を第2オン時期として設定する。さらに第2マイコン50は、第1オフ時期と第2オフ時期についても、オン時期と同様に互いに同期させている。
このように第1オン時期と第2オン時期を同期させて、第1給電経路41U、41V、41Wと第2給電経路51U、51V、51Wの両方から巻線31U、31V、31Wへ電力供給した結果、各相に流れるモータ電流は(11)欄に示すように変化する。
図9に示す比較例では、第1エンコーダ43の割込み時期である第1ベース時期t12が第1オン時期に設定され、かつ、第2エンコーダ53の割込み時期である第2ベース時期t22が第2オン時期に設定されている。この場合、先述したように第1エンコーダ出力時期と第2エンコーダ出力時期とにズレが生じていると、モータ電流波形は図9の下段に示す形状になる。すなわち、通電開始時期からのモータ電流の上昇速度が遅くなり、モータ電流が飽和値(100%)に達する時期t30までの時間が長くなる。その結果、図8の(12)欄の点線に示すように、シフトカウンタの上昇速度が遅くなり、シフト切替時間が長くなる。
これに対し、図10に示す本実施形態では、第2オン時期を第1オン時期と同期させるように第2ベース時期t22を補正している。そのため、モータ電流波形は図10の下段に示す形状になる。すなわち、通電開始時期からのモータ電流の上昇速度が速くなり、モータ電流が飽和値(100%)に達する時期t31までの時間が短くなる。その結果、図8の(12)欄の実線に示すように、シフトカウンタの上昇速度が速くなり、シフト切替時間が短くなる。
さらに、図9に示す比較例では、第2オフ時期t26についても、オン時期と同様にして第1オフ時期t16とずれている。その結果、第1ドライバ42による通電オフ開始時期t16からのモータ電流の低下速度が遅くなり、モータ電流がゼロに達する時期t40までの時間が長くなる。
これに対し図10に示す本実施形態では、第2オフ時期についても、オン時期と同様にして第1オフ時期と同期させている。そのため、通電オフ時期からのモータ電流の低下速度が速くなり、モータ電流がゼロに達する時期t41までの時間が短くなる。
図11および図12は、第1マイコン40および第2マイコン50により実行される処理のうち、上述の如くオン時期を同期させる処理の一例を示す。図11および図12に示す処理は両方とも、第1マイコン40のプロセッサ40aと第2マイコン50のプロセッサ50aの各々で同様に実行される。図11に示す処理は、第1エンコーダパルスが立ち上がる毎に実行される割込み処理である。図12に示す処理は、第2エンコーダパルスが立ち上がる毎に実行される割込み処理である。
図11のステップS10Aでは、第1エンコーダ43から出力される各相のパルス信号(出力値)を読み込む。続くステップS11Aでは、読み込んだ第1エンコーダ43のパルス信号がローレベルからハイレベルに変化したか否かを判定する。ハイレベルに変化したと判定された場合、ステップS12Aにおいて、図7(3)欄に示すように第1エンコーダカウントC1を1つ増加させる。続くステップS13では、第1エンコーダカウントC1が図7(7)欄に示す第2エンコーダカウントC2と同一値であるか否かを判定する。
同一値でないと判定された場合には、ステップS14にてエンコーダカウント同一フラグをオフにして、続くステップS16Aにて通電切替処理を実行する。
図11の処理を第1マイコン40が実行している場合には、ステップS16Aによる通電切替処理では、図7(5)欄に例示されるように6つのスイッチUH1、UL1、VH1、VL1、WH1、WL1のオンオフパターンを設定する。そして、このパターンに従って第1ドライバ42へ指令信号を出力する。
図11の処理を第2マイコン50が実行している場合には、ステップS16Aによる通電切替処理では、図8(10)欄に例示されるように6つのスイッチUH2、UL2、VH2、VL2、WH2、WL2のオンオフパターンを設定する。そして、このパターンに従って第2ドライバ52へ指令信号を出力する。
上記パターンは、3相の各々について第1オン時期を第2オン時期に同期させるように設定される。この設定では、第1ベース時期または第2ベース時期を第1オン時期として設定する。例えば、第1ベース時期t12と第2ベース時期t22のうち早い方の時期を第1オン時期として設定してもよいし、遅い方の時期を第1オン時期として設定してもよい。図8および図9の例では、第1ベース時期t12が第2ベース時期t22より早い時期であるため、第1オン時期および第2オン時期を第1ベース時期t12に設定している。
一方、ステップS13にてエンコーダカウントC1、C2が同一値であると判定された場合には、ステップS15にてエンコーダカウント同一フラグをオンにする。図11の処理を第1マイコン40が実行している場合には、第1ベース時期t12を第1オン時期として設定する。図11の処理を第2マイコン50が実行している場合には、第2ベース時期t22を第2オン時期として設定する。
図12のステップS10Bでは、第2エンコーダ53から出力される各相のパルス信号(出力値)を読み込む。続くステップS11Bでは、読み込んだ第2エンコーダ53のパルス信号がローレベルからハイレベルに変化したか否かを判定する。ハイレベルに変化したと判定された場合、ステップS12Bにおいて、図7(7)欄に示すように第2エンコーダカウントC2を1つ増加させる。続くステップS13、S14、S15では、図11と同様の処理を実行する。
図12の処理を第1マイコン40が実行している場合には、ステップS16Bによる通電切替処理では、図7(5)欄に例示されるように6つのスイッチUH1、UL1、VH1、VL1、WH1、WL1のオンオフパターンを設定する。そして、このパターンに従って第1ドライバ42へ指令信号を出力する。
図12の処理を第2マイコン50が実行している場合には、ステップS16Aによる通電切替処理では、図8(10)欄に例示されるように6つのスイッチUH2、UL2、VH2、VL2、WH2、WL2のオンオフパターンを設定する。そして、このパターンに従って第2ドライバ52へ指令信号を出力する。
上記パターンは、3相の各々について第2オン時期を第1オン時期に同期させるように設定される。この設定では、第1ベース時期または第2ベース時期を第2オン時期として設定する。例えば、第1ベース時期t12と第2ベース時期t22のうち早い方の時期を第2オン時期として設定してもよいし、遅い方の時期を第2オン時期として設定してもよい。
第1マイコン40および第2マイコン50のいずれについても、同一フラグがオフにされている場合には、第1ベース時期t12および第2ベース時期t22の一方を補正して、第1オン時期と第2オン時期を同期させる。同一フラグがオンにされている場合には、第1ベース時期t12をそのまま第1オン時期に設定するとともに、第2ベース時期t22をそのまま第2オン時期に設定する。そして、これらの設定に従って第1ドライバ42および第2ドライバ52の作動を制御する。
以上に説明した本実施形態によれば、第1マイコン40および第2マイコン50は、第1エンコーダ43の出力時期と第2エンコーダ53の出力時期が異なる場合に、第1オン時期と第2オン時期を互いに同期させる。そのため、各相の巻線31U、31V、31Wに第1給電経路41Uと第2給電経路から電力供給するにあたり、第1給電経路41Uと第2給電経路の両方から同時に電力供給開始されるようになる。よって、通電オン直後におけるモータ電流の上昇速度が遅くなることを抑制でき、レンジ切換を指令してから実際に切替わるまでに要する応答時間を短くできる。つまり、シフトレンジの切替え応答性低下を抑制しつつ、2つの給電経路から電力供給するといった冗長化を実現できる。
さらに本実施形態によれば、第1オン時期および第2オン時期の両方とも、第1ベース時期または第2ベース時期に設定される。そのため、第1オン時期および第2オン時期を、第1ベース時期と第2ベース時期の間の時期に設定する場合に比べて、第1および第2マイコン40、50によるオン時期設定の処理負荷を軽減できる。
<第2実施形態>
本実施形態では、先述した図11と図12の処理を、図13と図14の処理に変更している。図11および図12と同様にして、図13および図14に示す処理は両方とも、第1マイコン40と第2マイコン50の各々で同様に実行される。
図13のステップS10A、S11Aでは、図11と同様にして、第1エンコーダ43から出力される各相のパルス信号を読み込み、そのパルス信号がローレベルからハイレベルに変化したか否かを判定する。ハイレベルに変化したと判定された場合、続くステップS17Aにおいて、第1エンコーダ出力値の立上りタイミングt1と、第1エンコーダカウントC1の値とを関連付けて記憶させる。続くステップS18Aでは、第1エンコーダカウントC1を1つ増加させる。
図14のステップS10B、S11Bでは、図12と同様にして、第2エンコーダ53から出力される各相のパルス信号を読み込み、そのパルス信号がローレベルからハイレベルに変化したか否かを判定する。ハイレベルに変化したと判定された場合、続くステップS17Bにおいて、第2エンコーダ出力値の立上りタイミングt2と、第2エンコーダカウントC2の値とを関連付けて記憶させる。続くステップS18Bでは、第2エンコーダカウントC2を1つ増加させる。
そして、第1マイコン40および第2マイコン50の少なくとも一方は、所定の回転角度を第1エンコーダ43が検出した時期と、その回転角度を第2エンコーダ53が検出した時期とのズレ量を算出する。具体的には、上述の如く関連付けられたタイミングt1とカウントC1のうち、カウントC1が所定値になった時のタイミングt1を抽出する。また、上述の如く関連付けられたタイミングt2とカウントC2のうち、カウントC2が所定値になった時のタイミングt2を抽出する。そして、これらのタイミングt1、t2のズレ量を、上記ズレ量として算出する。
なお、ステップS17A、S17Bの処理を実行している時のマイコン40、50は、第1検出信号の変化時期と第2検出信号の変化時期とのズレ量を算出する「ズレ量算出部」に相当する。
また、第1マイコン40および第2マイコン50は、第1ベース時期および第2ベース時期の少なくとも一方を、互いの時期が上記ズレ量の分だけ近づくように補正する。そして、補正後の時期を、第1オン時期および第2オン時期として設定する。
以上により、本実施形態によれば、実際のズレ量を検出し、そのズレ量分だけ補正する。つまり、第1オン時期は、第1ベース時期を第2ベース時期に近づけるように補正した時期に設定される。また、第2オン時期は、第2ベース時期を第1ベース時期に近づけるように補正した時期に設定される。そのため、第1給電経路41Uからの電力供給開始時期と、第2給電経路からの電力供給開始時期を同一にすることを、高精度で実現できる。
さらに本実施形態によれば、第1エンコーダ43と第2エンコーダ53がレンジ切換中に検出信号を出力する毎にズレ量が算出される。そのため、両給電経路からの給電開始を高精度で同期させることができる。
なお、ズレ量は、第1エンコーダ出力値と第2エンコーダ出力値の立ち上がりの時間差から算出されてもよいし、立下りの時間差から算出されてもよい。また、立ち上がりと立下りの平均の差から算出されてもよい。
<第3実施形態>
本実施形態では、第1検出信号の変化時期と第2検出信号の変化時期とのズレ量が学習される。そして、学習されたズレ量は、今回の第1オン時期と第2オン時期の設定に用いられることに加え、次回以降の設定にも用いられる。
さらに本実施形態では、第1マイコン40と第2マイコン50は、3相のうち所定の1相に対する第1検出信号の変化時期と第2検出信号の変化時期とのズレ量を算出する。そして、3相の各々について、算出されたズレ量をゼロにするように第1オン時期と第2オン時期を設定する。
以下、図15、図16および図17を用いて、上記学習を実現するための制御の一例について説明する。図15~図17に示す処理は全て、第1マイコン40と第2マイコン50の各々で同様に実行される。図15に示す処理は、第1エンコーダパルスが立ち上がる毎に実行される割込み処理である。図16に示す処理は、第2エンコーダパルスが立ち上がる毎に実行される割込み処理である。図17に示す処理は、上記学習を実行する処理である。
図15のステップS9Aでは、後述する第1読込完了フラグがオフであるか否かを判定する。オフと判定された場合には、続くステップS10Aにおいて、第1エンコーダ43から出力されているパルス信号(出力値)を読み込む。続くステップS11Aでは、読み込んだ第1エンコーダ43のパルス信号がローレベルからハイレベルに変化したか否かを判定する。ハイレベルに変化したと判定された場合、ステップS19Aにおいて、第1エンコーダ出力値の立ち上がりタイミングt1を記録する。この立ち上がりタイミングt1は、図7(4)欄に示す例ではt11時期に相当する。続くステップS20Aでは、第1読込完了フラグをオンにする。
図16のステップS9Bでは、後述する第2読込完了フラグがオフであるか否かを判定する。オフと判定された場合には、続くステップS10Bにおいて、第2エンコーダ53から出力されているパルス信号(出力値)を読み込む。続くステップS11Bでは、読み込んだ第2エンコーダ53のパルス信号がローレベルからハイレベルに変化したか否かを判定する。ハイレベルに変化したと判定された場合、ステップS19Bにおいて、第2エンコーダ出力値の立ち上がりタイミングt2を記録する。この立ち上がりタイミングt2は、図7(8)欄に示す例ではt21時期に相当する。続くステップS20Bでは、第2読込完了フラグをオンにする。
図17のステップS30では、図7(1)欄に例示されるシフト指示が変化したか否かを判定する。変化したと判定された場合には、続くステップS31において、第1読込完了フラグと第2読込完了フラグをオフにする。次のステップS32では、図8(12)欄に例示されるシフトカウンタが変化し始めたか否かを判定する。変化し始めたと判定された場合には、続くステップS33において、その時のモータ回転速度、つまり単位時間当たりのモータ31の回転数を算出して記録する。
続くステップS34では、先述したステップS19A、S19Bで記録された立ち上がりタイミングt1、t2の時間差を算出する。この時間差は、第1検出信号の変化時期と第2検出信号の変化時期とのズレ量に相当する。
続くステップS35では、ステップS33で記録したモータ回転数と、ステップS34で算出した時間差(ズレ量)とに基づき、第1エンコーダ43と第2エンコーダ53とのズレ角を算出する。このズレ角は、第1エンコーダ43で検出されたモータ31の回転角度と、第2エンコーダ53で検出されたモータ31の回転角度との差分である。つまり、立ち上がりタイミングt1、t2の時間差が大きいほど、ズレ角は大きくなる。また、モータ回転速度が速いほどズレ角は大きくなる。
そして、第1ベース時期および第2ベース時期の少なくとも一方を補正して、第1オン時期と第2オン時期を同期させるにあたり、上述の如く算出されたズレ角の分だけ補正する。また、3相のうち、検出信号が最初に変化した1相に対する第1検出信号の変化時期と第2検出信号の変化時期とのズレ量を用いて、ズレ角を算出する。そして、3相の各々について、算出されたズレ角の分だけ上記補正を行う。
以上により、図15の制御によれば、第1エンコーダ43のパルス信号がローレベルからハイレベルに変化した時期が一度記録されれば、それ以降は、シフト切替指示が変化しない限り、同じ立ち上がりタイミングt1の値が同期制御に用いられる。つまり、第1エンコーダ出力値の立ち上がりタイミングt1が学習される。
また、図16の制御によれば、第2エンコーダ53のパルス信号がローレベルからハイレベルに変化した時期が一度記録されれば、それ以降は、シフト切替指示が変化しない限り、同じ立ち上がりタイミングt2の値が同期制御に用いられる。つまり、第2エンコーダ出力値の立ち上がりタイミングt2が学習される。
このように学習されたズレ角は、以降の同期制御にも用いられる。よって、エンコーダ出力値のパルスが立ち上がる毎にズレ角を算出する場合に比べて、第1マイコン40および第2マイコン50の演算処理負荷が軽減される。
また、3相のうち、検出信号が最初に変化した1相についてズレ角を算出し、残りの2相については最初の1相で算出されたズレ角を適用して同期制御を実行する。そのため、各相にてズレ角を算出する場合に比べて、第1マイコン40および第2マイコン50の演算処理負荷が軽減される。
以上により、本実施形態によれば、3相のうち所定の1相に対する第1検出信号の変化時期と第2検出信号の変化時期とのズレ量を算出する。そして、算出された所定相のズレ量をゼロにするように、3相の各々について第1および第2オン時期を設定することで、第1オン時期と第2オン時期の同期を実現させる。そのため、3相各々についてズレ量を算出する場合に比べて、第1マイコン40および第2マイコン50の演算処理負荷が軽減される。
<第4実施形態>
上記第3実施形態では、3相のうちの1相についてズレ角が学習され、残りの2層については学習された1相のズレ角を用いて同期制御される。これに対し本実施形態では、3相の各々について、ズレ角が学習されそのズレ角を用いて同期制御される。
以下、図18、図19および図20を用いて、上記学習を実現するための制御の一例について説明する。図18~図20に示す処理は全て、第1マイコン40と第2マイコン50の各々で同様に実行される。図18に示す処理は、第1エンコーダパルスが立ち上がる毎に実行される割込み処理である。図19に示す処理は、第2エンコーダパルスが立ち上がる毎に実行される割込み処理である。図20に示す処理は、上記学習を実行する処理である。
図18のステップS40Aでは、後述するU相第1読込完了フラグがオフであるか否かを判定する。オフと判定された場合には、続くステップS41Aにおいて、第1エンコーダ43から出力されるU相のパルス信号である、U相第1エンコーダ出力値を読み込む。続くステップS42Aでは、読み込んだU相第1エンコーダ出力がローレベルからハイレベルに変化したか否かを判定する。
ハイレベルに変化したと判定された場合、ステップS43Aにおいて、U相第1エンコーダ出力値の立ち上がりタイミングtu1を記録する。この立ち上がりタイミングtu1は、図7(4)欄に示す例ではt11時期に相当する。さらにステップS43Aでは、U相第1読込完了フラグをオンにする。
図18のステップS44Aでは、後述するV相第1読込完了フラグがオフであるか否かを判定する。オフと判定された場合には、続くステップS45Aにおいて、第1エンコーダ43から出力されるV相のパルス信号である、V相第1エンコーダ出力値を読み込む。続くステップS46Aでは、読み込んだV相第1エンコーダ出力がローレベルからハイレベルに変化したか否かを判定する。
ハイレベルに変化したと判定された場合、ステップS47Aにおいて、V相第1エンコーダ出力値の立ち上がりタイミングtv1を記録する。この立ち上がりタイミングtv1は、図7(4)欄に示す例ではt13時期に相当する。さらにステップS47Aでは、V相第1読込完了フラグをオンにする。
図18のステップS48Aでは、後述するW相第1読込完了フラグがオフであるか否かを判定する。オフと判定された場合には、続くステップS49Aにおいて、第1エンコーダ43から出力されるW相のパルス信号である、W相第1エンコーダ出力値を読み込む。続くステップS50Aでは、読み込んだW相第1エンコーダ出力がローレベルからハイレベルに変化したか否かを判定する。
ハイレベルに変化したと判定された場合、ステップS51Aにおいて、W相第1エンコーダ出力値の立ち上がりタイミングtw1を記録する。この立ち上がりタイミングtw1は、図7(4)欄に示す例ではt14時期に相当する。さらにステップS51Aでは、W相第1読込完了フラグをオンにする。
図19の処理では、第1エンコーダ出力に係る図18の処理と同様の処理を、第2エンコーダ出力について実行する。すなわち、ステップS40B、S41B、S42B、S43Bにおいて、U相第2エンコーダ出力の立ち上がりタイミングtu2を記録するとともに、U相第2読込完了フラグをオンにする。この立ち上がりタイミングtu2は、図7(8)欄に示す例ではt21時期に相当する。
また、ステップS44B、S45B、S46B、S47Bにおいて、V相第2エンコーダ出力の立ち上がりタイミングtv2を記録するとともに、V相第2読込完了フラグをオンにする。この立ち上がりタイミングtv2は、図7(8)欄に示す例ではt23時期に相当する。
また、ステップS48B、S49B、S50B、S51Bにおいて、W相第2エンコーダ出力の立ち上がりタイミングtw2を記録するとともに、W相第2読込完了フラグをオンにする。この立ち上がりタイミングtw2は、図7(8)欄に示す例ではt24時期に相当する。
図20のステップS30では、図17の処理と同様にしてシフト指示が変化したか否かを判定する。変化したと判定された場合には、続くステップS31Cにおいて、全相についての第1読込完了フラグと第2読込完了フラグをオフにする。次のステップS32では、シフトカウンタが変化し始めたか否かを判定する。変化し始めたと判定された場合には、続くステップS33において、その時のモータ回転速度を算出して記録する。
続くステップS34Cでは、先述したステップS43A、S43Bで記録された立ち上がりタイミングtu1、tu2の時間差を算出する。この時間差は、U相に係るズレ量に相当する。さらにステップS34Cでは、先述したステップS47A、S47Bで記録された立ち上がりタイミングtv1、tv2の時間差を算出する。この時間差は、V相に係るズレ量に相当する。さらにステップS34Cでは、先述したステップS51A、S51Bで記録された立ち上がりタイミングtw1、tw2の時間差を算出する。この時間差は、W相に係るズレ量に相当する。
続くステップS35Cでは、ステップS33で記録したモータ回転速度と、ステップS34Cで算出した各相の時間差(ズレ量)とに基づき、第1エンコーダ43と第2エンコーダ53との、各相のズレ角を算出する。
そして、U相、V相、W相の各々について、第1ベース時期および第2ベース時期の少なくとも一方を補正して第1オン時期と第2オン時期を同期させるにあたり、上述の如く算出されたズレ角の分だけ補正する。
以上により、図18の制御によれば、第1エンコーダ43のパルス信号がローレベルからハイレベルに変化した時期が一度記録されれば、それ以降は、シフト切替指示が変化しない限り、同じ立ち上がりタイミングtu1~tw1の値が同期制御に用いられる。つまり、第1エンコーダ出力値の立ち上がりタイミングtu1~tw1が学習される。
また、図19の制御によれば、第2エンコーダ53のパルス信号がローレベルからハイレベルに変化した時期が一度記録されれば、それ以降は、シフト切替指示が変化しない限り、同じ立ち上がりタイミングtu2~tw2の値が同期制御に用いられる。つまり、第2エンコーダ出力値の立ち上がりタイミングtu2~tw2が学習される。
このように学習された各相のズレ角は、以降の同期制御にも用いられる。よって、エンコーダ出力値のパルスが立ち上がる毎に各相のズレ角を算出する場合に比べて、第1マイコン40および第2マイコン50の演算処理負荷が軽減される。
また、各相にてズレ角を算出するので、最初の1相で算出されたズレ角を適用して残りの2相を同期制御する場合に比べて、高精度で同期させることができる。
<第5実施形態>
図21~図23は、本実施形態において、第1オン時期と第2オン時期を同期させる処理の一例を示す。図21は、第1マイコン40が第1ドライバ42の作動を制御するための処理手順である。図23は、第2マイコン50が第2ドライバ52の作動を制御するための処理手順である。
図21に示す処理は、第1エンコーダパルスが立ち上がる間隔よりも短い周期で定期的に、第1マイコン40により実行される。先ず、図21のステップS50において、図7(3)欄に示す第1エンコーダカウントC1と、図7(7)欄に示す第2エンコーダカウントC2が、同一の値であるか否かを判定する。
両カウント値が同一であると判定された場合、続くステップS51において、第1エンコーダ出力値の立上りタイミングt1と、第2エンコーダ出力値の立上りタイミングt2との時間差の半分の値(t1-t2)/2を算出する。そして、この半分の値の過去10回分の平均値を、通電進遅角量として算出する。続くステップS52では、第1エンコーダ出力値の立上りタイミングt1が、第2エンコーダ出力値の立上りタイミングt2より早いか否かを判定する。
t1がt2より早くないと否定判定された場合には、ステップS53Aにおいて、第1ドライバ42が有する6つのスイッチの通電切替タイミングを、ステップS51で算出した平均値の分だけ進角させる。具体的には、第1エンコーダ43により検出された回転角に対応する第1ベース時期を、上記平均値の分だけ早くするように補正し、その補正後の時期を第1オン時期とする。或いは、第1エンコーダ43により検出された回転角を、上記平均値の分だけ進角させるように補正する。
t1がt2より早いと肯定判定された場合には、ステップS54Aにおいて、第1ドライバ42が有する6つのスイッチの通電切替タイミングを、ステップS51で算出した平均値の分だけ遅角させる。具体的には、第1エンコーダ43により検出された回転角に対応する第1ベース時期を、上記平均値の分だけ遅くするように補正し、その補正後の時期を第1オン時期とする。或いは、第1エンコーダ43により検出された回転角を、上記平均値の分だけ遅角させるように補正する。
ステップS50にて両カウント値が同一でないと判定された場合には、続くステップS55において、過去に算出した通電進遅角量の最新値で、通電切替タイミングつまり第1オン時期を決定する。
図23に示す処理は、第2エンコーダパルスが立ち上がる間隔よりも短い周期で定期的に、第2マイコン50により実行される。図23の処理では、図21のステップS53A、S54Aを、ステップS53B、S54Bに変更した内容である。
ステップS53Bでは、第2ドライバ52が有する6つのスイッチの通電切替タイミングを、ステップS51で算出した平均値の分だけ進角させる。具体的には、第2エンコーダ53により検出された回転角に対応する第2ベース時期を、上記平均値の分だけ早くするように補正し、その補正後の時期を第2オン時期とする。或いは、第2エンコーダ53により検出された回転角を、上記平均値の分だけ進角させるように補正する。
ステップS54Bにおいて、第2ドライバ52が有する6つのスイッチの通電切替タイミングを、ステップS51で算出した平均値の分だけ遅角させる。具体的には、第2エンコーダ53により検出された回転角に対応する第2ベース時期を、上記平均値の分だけ遅くするように補正し、その補正後の時期を第2オン時期とする。或いは、第2エンコーダ53により検出された回転角を、上記平均値の分だけ遅角させるように補正する。
図22に示す処理は両方とも、所定の演算周期で定期的に、第1マイコン40と第2マイコン50の各々で同様に実行される。先ずステップS60において、シフト切替中であるか否かを判定する。例えば、図7(1)欄に例示されるシフト指示が変化している場合に、シフト切替中であると判定する。
シフト切替中と判定された場合、続くステップS61において、通電切替タイミングであるか否かを判定する。通電切替タイミングであると判定された場合、続くステップS62において、以下に説明する通電切替処理を実行する。すなわち、第1マイコン40は、図21で決定した通電切替タイミングで第1ドライバ42に対して通電切替処理を実行する。第2マイコン50は、図23で決定した通電切替タイミングで第2ドライバ52に対して通電切替処理を実行する。
以上により、本実施形態によれば、第2エンコーダ出力値の立上りタイミングに加えて、第1エンコーダ出力値の立上りタイミングも通電切替タイミングに反映させている。よって、第1オン時期と第2オン時期を互いに同期させることを、高精度で実現できる。
<第6実施形態>
本実施形態では、先述した図21と図23の処理を、図24と図25の処理に変更している。なお、先述した図22の処理は、本実施形態でも、第1マイコン40と第2マイコン50の各々で同様に実行される。
図24に示す処理は、第1エンコーダパルスが立ち上がる間隔よりも短い周期で定期的に、第1マイコン40により実行される。先ず、図24のステップS50Cにおいて、その時のモータ回転速度、つまり単位時間当たりのモータ31の回転数を算出して記録する。
続くステップS51Cでは、第1エンコーダ出力値の立上りタイミングt1と第2エンコーダ出力値の立上りタイミングt2との時間差と、ステップS50Cで記録したモータ回転数とから、第1エンコーダ43と第2エンコーダ53とのズレ角を算出する。そして、このズレ角が大きいほど、通電進遅角量を大きい値に算出する。上記ズレ角は、先述した定義と同様であり、第1エンコーダ43で検出された回転角度と第2エンコーダ53で検出された回転角度との差分である。
ステップS52にてt1がt2より早くないと否定判定された場合には、ステップS53Aにおいて、第1ドライバ42が有する6つのスイッチの通電切替タイミングを、ステップS51Cで算出した通電進遅角量の分だけ進角させる。ステップS52にてt1がt2より早いと肯定判定された場合には、ステップS54Aにおいて、第1ドライバ42が有する6つのスイッチの通電切替タイミングを、ステップS51Cで算出した通電進遅角量の分だけ遅角させる。
図25に示す処理は、第2エンコーダパルスが立ち上がる間隔よりも短い周期で定期的に、第2マイコン50により実行される。先ず、図25のステップS50Cにおいて、その時のモータ回転速度(回転数)を算出して記録する。続くステップS51Cでは、両エンコーダ出力値の時間差とステップS50Cで記録したモータ回転数とから、両エンコーダのズレ角を算出する。そして、このズレ角に基づき通電進遅角量を算出する。
ステップS52にてt1がt2より早くないと否定判定された場合には、ステップS53Bにおいて、第2ドライバ52が有する6つのスイッチの通電切替タイミングを、ステップS51Cで算出した通電進遅角量の分だけ遅角させる。ステップS52にてt1がt2より早いと肯定判定された場合には、ステップS54Bにおいて、第2ドライバ52が有する6つのスイッチの通電切替タイミングを、ステップS51Cで算出した通電進遅角量の分だけ進角させる。
なお、本実施形態に係る図22のステップS62では、第1マイコン40は、図24で決定した通電切替タイミングで第1ドライバ42に対して通電切替処理を実行する。第2マイコン50は、図25で決定した通電切替タイミングで第2ドライバ52に対して通電切替処理を実行する。
<第7実施形態>
本実施形態では、先述した図24と図25の処理を、図18と図19と組み合わせて図26と図27の処理に変更している。なお、先述した図22の処理は、本実施形態でも、第1マイコン40と第2マイコン50の各々で同様に実行される。
図26に示す処理は、第1エンコーダパルスが立ち上がる間隔よりも短い周期で定期的に、第1マイコン40により実行される。先ず、図26のステップS50Cにおいて、その時のモータ回転速度、つまり単位時間当たりのモータ31の回転数を算出して記録する。
続くステップS50uでは、U相、V相およびW相へ順次給電するにあたり、次タイミングの通電相がU相であるか否かを判定する。次の通電タイミングがU相であると判定された場合には、続くステップS51uにおいて、U相第1エンコーダ出力値の立上りタイミングtu1とU相第2エンコーダ出力値の立上りタイミングtu2との時間差を取得する。そして、取得した時間差と、ステップS50Cで記録したモータ回転数とから、U相ホール素子に係る第1エンコーダ43と第2エンコーダ53とのズレ角を算出する。加えて、このズレ角が大きいほど、通電進遅角量を大きい値に算出する。
ステップS52uにてtu1がtu2より早くないと否定判定された場合には、ステップS53Aにおいて、第1ドライバ42が有するU相スイッチUH1、UL1の通電切替タイミングを、ステップS51uで算出した通電進遅角量の分だけ進角させる。ステップS52uにてtu1がtu2より早いと肯定判定された場合には、ステップS54Aにおいて、第1ドライバ42が有するU相スイッチUH1、UL1の通電切替タイミングを、ステップS51uで算出した通電進遅角量の分だけ遅角させる。
続くステップS50vでは、次の通電タイミングがV相であるか否かを判定する。V相と判定された場合には、続くステップS51vにおいて、V相第1エンコーダ出力値の立上りタイミングtv1とV相第2エンコーダ出力値の立上りタイミングtv2との時間差を取得する。そして、取得した時間差と、ステップS50Cで記録したモータ回転数とから、V相ホール素子に係る第1エンコーダ43と第2エンコーダ53とのズレ角を算出し、加えて、このズレ角が大きいほど通電進遅角量を大きい値に算出する。
ステップS52vにてtv1がtv2より早くないと否定判定された場合には、ステップS53Aにおいて、第1ドライバ42が有するV相スイッチVH1、VL1の通電切替タイミングを、ステップS51vで算出した通電進遅角量の分だけ進角させる。ステップS52vにてtv1がtv2より早いと肯定判定された場合には、ステップS54Aにおいて、第1ドライバ42が有するV相スイッチVH1、VL1の通電切替タイミングを、ステップS51vで算出した通電進遅角量の分だけ遅角させる。
続くステップS50wでは、次の通電タイミングがW相であるか否かを判定する。W相と判定された場合には、続くステップS51wにおいて、W相第1エンコーダ出力値の立上りタイミングtw1とW相第2エンコーダ出力値の立上りタイミングtw2との時間差を取得する。そして、取得した時間差と、ステップS50Cで記録したモータ回転数とから、W相ホール素子に係る第1エンコーダ43と第2エンコーダ53とのズレ角を算出し、加えて、このズレ角が大きいほど通電進遅角量を大きい値に算出する。
ステップS52wにてtw1がtw2より早くないと否定判定された場合には、ステップS53Aにおいて、第1ドライバ42が有するW相スイッチWH1、WL1の通電切替タイミングを、ステップS51wで算出した通電進遅角量の分だけ進角させる。ステップS52wにてtw1がtw2より早いと肯定判定された場合には、ステップS54Aにおいて、第1ドライバ42が有するW相スイッチWH1、WL1の通電切替タイミングを、ステップS51wで算出した通電進遅角量の分だけ遅角させる。
図27に示す処理は、第2エンコーダパルスが立ち上がる間隔よりも短い周期で定期的に、第2マイコン50により実行される。以下、図27中の処理において、図26中の符号と同一の符号を付した処理については図26の説明を援用する。
図27のステップS52uにてtu1がtu2より早くないと否定判定された場合には、ステップS53Bにおいて、第1ドライバ42が有するU相スイッチUH1、UL1の通電切替タイミングを、ステップS51uで算出した通電進遅角量の分だけ遅角させる。ステップS52uにてtu1がtu2より早いと肯定判定された場合には、ステップS54Bにおいて、第1ドライバ42が有するU相スイッチUH1、UL1の通電切替タイミングを、ステップS51uで算出した通電進遅角量の分だけ進角させる。
図27のステップS52vにてtv1がtv2より早くないと否定判定された場合には、ステップS53Bにおいて、第1ドライバ42が有するV相スイッチVH1、VL1の通電切替タイミングを、ステップS51vで算出した通電進遅角量の分だけ遅角させる。ステップS52vにてtv1がtv2より早いと肯定判定された場合には、ステップS54Bにおいて、第1ドライバ42が有するV相スイッチVH1、VL1の通電切替タイミングを、ステップS51vで算出した通電進遅角量の分だけ進角させる。
図27のステップS52wにてtw1がtw2より早くないと否定判定された場合には、ステップS53Bにおいて、第1ドライバ42が有するW相スイッチWH1、WL1の通電切替タイミングを、ステップS51wで算出した通電進遅角量の分だけ遅角させる。ステップS52wにてtw1がtw2より早いと肯定判定された場合には、ステップS54Bにおいて、第1ドライバ42が有するW相スイッチWH1、WL1の通電切替タイミングを、ステップS51wで算出した通電進遅角量の分だけ進角させる。
なお、本実施形態に係る図22のステップS62では、第1マイコン40は、図26で決定した通電切替タイミングで第1ドライバ42に対して通電切替処理を実行する。第2マイコン50は、図27で決定した通電切替タイミングで第2ドライバ52に対して通電切替処理を実行する。
<第8実施形態>
本実施形態に係る冗長化制御装置は、シフトレンジの切替えに要する時間(シフト切替時間)を測定する。そして、このように測定されるシフト切替時間が短くなるように、好ましくは最短になるように、第1ベース時期に対する補正量および第2ベース時期に対する補正量を学習する。
以下、上記学習を実現するための制御の一例について、図28~図30を用いて説明する。図28に示す処理は、シフト切替が終了した時点で、第1マイコン40と第2マイコン50の各々で同様に実行される。図29は、第1マイコン40が第1ドライバ42の作動を制御するための処理手順である。図30は、第2マイコン50が第2ドライバ52の作動を制御するための処理手順である。なお、先述した図22の処理は、本実施形態でも、第1マイコン40と第2マイコン50の各々で同様に実行される。
図28のステップS70では、図28とは別の処理で測定された最新のシフト切替時間を、メモリに記憶させる。第1マイコン40および第2マイコン50は、図8(12)欄に示すシフトカウンタ値がシフト指示に対応する値にまで変化するのに要する時間を、シフト切替時間として測定している。
続くステップS71では、シフトバイワイヤシステムが車両に組み付けられてからの通算シフト切替回数を、メモリに記憶させる。続くステップS72では、現時点でのシフト切替が1回目であるか否かを判定する。具体的には、ステップS71で記憶させた通算シフト切替回数が1回であるか否かを判定する。
1回目であると判定された場合には、続くステップS73において、第1エンコーダ出力値の立上りタイミングt1と第2エンコーダ出力値の立上りタイミングt2とで、遅い方のタイミングに合わせて通電タイミングを決定する。つまり、第1マイコン40は、上記遅い方のタイミングに対応する通電オン時期を第1オン時期として設定する。第2マイコン50は、上記遅い方のタイミングに対応する通電オン時期を第2オン時期として設定する。
続くステップS74では、通算シフト切替回数が2回以上、かつ、シフト切替時間が前回値より短くなっているか否かを判定する。シフト切替1回目である場合や、2回以上であるものの、シフト切替時間が短くなっていない場合には、ステップS75において、前回の通電タイミングを最適通電タイミングとして決定する。
シフト切替2回目以上、かつ、シフト切替時間が短くなっている場合には、ステップS76において、前回シフト切替時の補正量を以下のように変更して学習する。この補正量は、先述した第1ベース時期に対する補正量、および第2ベース時期に対する補正量のことである。
例えば第1マイコン40は、第1ベース時期に対する前回の補正が第1ベース時期を早める側の補正である場合には、その補正量が不足していたとみなす。そして今回の補正では、さらに早める側に補正量を増大させて第1オン時期を設定する。第2マイコン50についても同様であり、第2ベース時期に対する前回の補正が第2ベース時期を早める側の補正である場合には、今回の補正では、さらに早める側に補正量を増大させて第2オン時期を設定する。逆に、前回が遅める側の補正である場合には、今回の補正ではさらに遅める側に補正量を増大させる。
なお、ステップS74にてシフト切替時間が長くなったと判定された場合には、ステップS75において、ステップS76とは逆に補正量を減少させるようにしてもよい。いずれにしても、シフト切替時間が短くなるように、好ましくは最短となるように、通電タイミングを学習していく。
図29に示す処理は、第1エンコーダパルスが立ち上がる間隔よりも短い周期で定期的に、第1マイコン40により実行される。先ず、図29のステップS50において、図21と同様にして、第1エンコーダカウントC1と第2エンコーダカウントC2が同一の値であるか否かを判定する。
両カウント値が同一であると判定された場合、続くステップS51Cにおいて、第1エンコーダ出力値の立上りタイミングt1と、第2エンコーダ出力値の立上りタイミングt2との時間差の半分の値(t1-t2)/2を算出する。また、この半分の値の過去10回分の平均値を算出する。そして、この平均値と、図28の処理で学習された最適通電タイミングとに基づき、通電進遅角量を算出する。例えば、学習された最適通電タイミングに第1オン時期が近づくように上記平均値を補正して、その補正後の値を通電進遅角量とする。或いは、上記平均値の算出を廃止して、学習された最適通電タイミングに第1オン時期が一致するように通電進遅角量を設定してもよい。
続くステップS52では、第1エンコーダ出力値の立上りタイミングt1が、第2エンコーダ出力値の立上りタイミングt2より早いか否かを判定する。
t1がt2より早くないと否定判定された場合には、ステップS53Aにおいて、第1ドライバ42が有する6つのスイッチの通電切替タイミングを、ステップS51Cで算出した進角量だけ進角させる。具体的には、第1エンコーダ43により検出された回転角に対応する第1ベース時期を、ステップS51Cで算出した進角量の分だけ早くするように補正し、その補正後の時期を第1オン時期とする。或いは、第1エンコーダ43により検出された回転角を、ステップS51Cで算出した進角量の分だけ進角させるように補正する。
t1がt2より早いと肯定判定された場合には、ステップS54Aにおいて、第1ドライバ42が有する6つのスイッチの通電切替タイミングを、ステップS51Cで算出した遅角量の分だけ遅角させる。具体的には、第1エンコーダ43により検出された回転角に対応する第1ベース時期を、上記遅角量の分だけ遅くするように補正し、その補正後の時期を第1オン時期とする。或いは、第1エンコーダ43により検出された回転角を、上記遅角量の分だけ遅角させるように補正する。
ステップS50にて両カウント値が同一でないと判定された場合には、続くステップS55において、過去に算出した通電進遅角量の最新値で、通電切替タイミングつまり第1オン時期を決定する。
図30に示す処理は、第2エンコーダパルスが立ち上がる間隔よりも短い周期で定期的に、第2マイコン50により実行される。以下、図27中の処理において、図26中の符号と同一の符号を付した処理については図26の説明を援用する。
先ず、図30のステップS50にて両エンコーダカウントC1、C2が同一であると判定された場合、ステップS51Cにおいて、(t1-t2)/2の過去10回分の平均値を算出する。また、この平均値と、図28の処理で学習された最適通電タイミングとに基づき、通電進遅角量を算出する。例えば、学習された最適通電タイミングに第2オン時期が近づくように上記平均値を補正して、その補正後の値を通電進遅角量とする。或いは、上記平均値の算出を廃止して、学習された最適通電タイミングに第2オン時期が一致するように通電進遅角量を設定してもよい。
続くステップS52にてt1がt2より早くないと否定判定された場合には、ステップS53Bにおいて、第2ドライバ52が有する6つのスイッチの通電切替タイミングを、ステップS51Cで算出した遅角量だけ遅角させる。具体的には、第2エンコーダ53により検出された回転角に対応する第2ベース時期を、ステップS51Cで算出した遅角量の分だけ遅くするように補正し、その補正後の時期を第2オン時期とする。或いは、第2エンコーダ53により検出された回転角を、ステップS51Cで算出した遅角量の分だけ遅角させるように補正する。
t1がt2より早いと肯定判定された場合には、ステップS54Bにおいて、第2ドライバ52が有する6つのスイッチの通電切替タイミングを、ステップS51Cで算出した進角量の分だけ遅角させる。具体的には、第2エンコーダ53により検出された回転角に対応する第2ベース時期を、上記進角量の分だけ早くするように補正し、その補正後の時期を第2オン時期とする。或いは、第2エンコーダ53により検出された回転角を、上記進角量の分だけ進角させるように補正する。
ステップS50にて両カウント値が同一でないと判定された場合には、続くステップS55において、過去に算出した通電進遅角量の最新値で、通電切替タイミングつまり第2オン時期を決定する。
以上により、本実施形態に係る第1および第2マイコン40、50は、シフト切替時間を短くするように、第1ベース時期に対する補正量および第2ベース時期に対する補正量を学習して設定する。そのため、適正な補正量が変化する過渡期において、補正量を適正値に設定するのに要する時間を短くできる。
<第9実施形態>
本実施形態においても、上記第8実施形態と同様にシフト切替時間を測定する。そして、測定されるシフト切替時間が短くなるように、好ましくは最短になるように、第1ベース時期に対する補正量および第2ベース時期に対する補正量を学習する。
以下、上記学習を実現するための制御の一例について、図22、図28、図31および図32を用いて説明する。図22および図28に示す処理は、先に説明した通りの内容であり、本実施形態でも同様に実行される。図31は、第1マイコン40が第1ドライバ42の作動を制御するための処理手順である。図32は、第2マイコン50が第2ドライバ52の作動を制御するための処理手順である。
図31に示す処理は、図24のステップS51Cを図31のステップS51Dに変更した内容である。このステップS51Dでは、t1、t2の時間差と、ステップS50Cで記録したモータ回転数と、図28の処理で学習された最適通電タイミングとに基づき、通電進遅角量を算出する。例えば、先ずは上記時間差とモータ回転数とから、第1エンコーダ43と第2エンコーダ53とのズレ角を算出する。そして、このズレ角が大きいほど、通電進遅角量を大きい値に算出する。加えて、このように算出される通電進遅角量を、学習された最適通電タイミングに第1オン時期が近づくように補正する。補正後の値を最終的な通電進遅角量とする。或いは、上記ズレ量の算出を廃止して、学習された最適通電タイミングに第1オン時期が一致するように通電進遅角量を設定してもよい。
その後、ステップS52にてt1がt2より早くないと否定判定された場合には、ステップS53Aにおいて、第1ドライバ42が有する6つのスイッチの通電切替タイミングを、ステップS51Dで算出した通電進遅角量の分だけ進角させる。ステップS52にてt1がt2より早いと肯定判定された場合には、ステップS54Aにおいて、第1ドライバ42が有する6つのスイッチの通電切替タイミングを、ステップS51Dで算出した通電進遅角量の分だけ遅角させる。
図32に示す処理は、図25のステップS51Cを、上述した図31のステップS51Dに変更した内容である。そして、ステップS52にてt1がt2より早くないと否定判定された場合には、ステップS53Bにおいて、第2ドライバ52が有する6つのスイッチの通電切替タイミングを、ステップS51Dで算出した通電進遅角量の分だけ遅角させる。ステップS52にてt1がt2より早いと肯定判定された場合には、ステップS54Bにおいて、第2ドライバ52が有する6つのスイッチの通電切替タイミングを、ステップS51Dで算出した通電進遅角量の分だけ進角させる。
<第10実施形態>
本実施形態においても、上記第9実施形態と同様にシフト切替時間を測定する。そして、測定されるシフト切替時間が短くなるように、好ましくは最短になるように、第1ベース時期に対する補正量および第2ベース時期に対する補正量を学習する。
以下、上記学習を実現するための制御の一例について、図22、図28、図33および図34を用いて説明する。図22および図28に示す処理は、先に説明した通りの内容であり、本実施形態でも同様に実行される。図33は、第1マイコン40が第1ドライバ42の作動を制御するための処理手順である。図34は、第2マイコン50が第2ドライバ52の作動を制御するための処理手順である。
図33と図34に示す処理は、図26と図27のステップS51u、S51v、S51wを、図33と図34のステップS51uC、S51vC、S51wCに変更した内容である。
ステップS51uCでは、U相に係る時間差tu1-tu2と、ステップS50Cで記録したモータ回転数と、図28の処理で学習された最適通電タイミングとに基づき、U相に係る通電進遅角量を算出する。例えば、先ずは上記時間差とモータ回転数とから、第1エンコーダ43と第2エンコーダ53とのU相ズレ角を算出する。そして、このU相ズレ角が大きいほど、U相通電進遅角量を大きい値に算出する。加えて、このように算出されるU相通電進遅角量を、学習された最適通電タイミングに第1オン時期が近づくように補正する。補正後の値を最終的なU相通電進遅角量とする。或いは、上記U相ズレ角の算出を廃止して、学習された最適通電タイミングにU相第1オン時期が一致するように通電進遅角量を設定してもよい。
図33と図34のステップS51vC、S51wCにおいても、ステップS51uCと同様にして、学習された最適通電タイミングを用いて、V相とW相に係る通電進遅角量を設定する。なお、上記U相ズレ角、V相ズレ角およびW相ズレ角は、U相ズレ量、V相ズレ量およびW相ズレ量に相当する。
<他の実施形態>
以上、本開示の実施形態を説明したが、本開示は上述の実施形態に限定されるものではなく、次の変形例も本開示の技術的範囲に含まれ、さらに、下記以外にも要旨を逸脱しない範囲内で種々変更して実施できる。なお、以下の説明において、それまでに使用した符号と同一番号の符号を有する要素は、特に言及する場合を除き、それ以前の実施形態における同一符号の要素と同一である。また、構成の一部のみを説明している場合、構成の他の部分については先に説明した実施形態を適用できる。
上述したズレ量や補正量を学習する実施形態において、これらの学習を、今回のオン時期の設定に用いられることに加え、次回以降の設定にも用いるようにしてもよい。或いは、第1検出信号または第2検出信号が変化する毎にズレ量を算出して学習するようにしてもよい。
上記各実施形態に係る冗長化制御装置は、先述した通り、第1オン時期と第2オン時期を互いに同期するように設定する。これにより、両時期のずれを抑制できる効果が発揮されるものの、実際に両時期が同期しているとは限らない。
上記各実施形態では、第1検出信号と第2検出信号の両方が、第1制御装置と第2制御装置の各々に入力される。これに対し、第1検出信号と第2検出信号の両方が、第1制御装置と第2制御装置の一方に入力されてもよい。
上記各実施形態では、第1給電経路と第2給電経路の各々に、別々のバッテリから電力供給される構成である。これに対し、共通のバッテリから第1給電経路と第2給電経路の両方に電力供給される構成であってもよい。
なお、本開示に記載の制御部及びその手法は、コンピュータプログラムにより具体化された一つ乃至は複数の機能を実行するようにプログラムされたプロセッサを構成する専用コンピュータにより、実現されてもよい。あるいは、本開示に記載の装置及びその手法は、専用ハードウエア論理回路により、実現されてもよい。もしくは、本開示に記載の装置及びその手法は、コンピュータプログラムを実行するプロセッサと一つ以上のハードウエア論理回路との組み合わせにより構成された一つ以上の専用コンピュータにより、実現されてもよい。また、コンピュータプログラムは、コンピュータにより実行されるインストラクションとして、コンピュータ読み取り可能な非遷移有形記録媒体に記憶されていてもよい。