以下、本発明を実施するための形態を具体化した一実施例を説明する。
まず、図1及び図2に基づいてレンジ切換制御システムの構成を説明する。
図1に示すように、レンジ切換機構11は、自動変速機27(図2参照)のシフトレンジをPレンジ(パーキングレンジ)とNotPレンジとの間で切り換える2ポジション式のレンジ切換機構である。このレンジ切換機構11の駆動源となるモータ12は、例えばスイッチトリラクタンスモータにより構成されている。このモータ12には、減速機構26(図2参照)が内蔵され、その出力軸12a(図2参照)に、レンジ切換機構11のマニュアルシャフト13が接続されている。このマニュアルシャフト13に、ディテントレバー15が固定されている。
ディテントレバー15には、ディテントレバー15の回転に応じて直線運動するマニュアルバルブ(図示せず)が連結され、このマニュアルバルブによって自動変速機27の内部の油圧回路(図示せず)を切り換えることで、シフトレンジを切り換えるようになっている。
また、ディテントレバー15にはL字形のパーキングロッド18が固定され、このパーキングロッド18の先端部に設けられた円錐体19がロックレバー21に当接している。このロックレバー21は、円錐体19の位置に応じて軸22を中心にして上下動してパーキングギヤ20をロック/ロック解除するようになっている。パーキングギヤ20は、自動変速機27の出力軸に設けられ、このパーキングギヤ20がロックレバー21によってロックされると、車両の駆動輪が回り止めされた状態(パーキング状態)に保持される。
一方、ディテントレバー15を各レンジ(PレンジとNotPレンジ)の位置に保持するためのディテントバネ23が支持ベース17に固定され、ディテントレバー15には、Pレンジ保持凹部24とNotPレンジ保持凹部25が形成されている。ディテントバネ23の先端に設けられた係合部23aがディテントレバー15のPレンジ保持凹部24に嵌まり込んだときに、ディテントレバー15がPレンジの位置に保持される。ディテントバネ23の係合部23aがディテントレバー15のNotPレンジ保持凹部25に嵌まり込んだときに、ディテントレバー15がNotPレンジの位置に保持される。これらディテントレバー15とディテントバネ23等からディテントレバー15の回転位置を各レンジの位置に係合保持する(つまりレンジ切換機構11を各レンジの位置に保持する)ためのディテント機構14(節度機構)が構成されている。
Pレンジでは、パーキングロッド18がロックレバー21に接近する方向に移動して、円錐体19の太い部分がロックレバー21を押し上げてロックレバー21の凸部21aがパーキングギヤ20に嵌まり込んでパーキングギヤ20をロックした状態となる。それによって、自動変速機27の出力軸(駆動輪)がロックされた状態(パーキング状態)に保持される。
一方、NotPレンジでは、パーキングロッド18がロックレバー21から離れる方向に移動して、円錐体19の太い部分がロックレバー21から抜け出てロックレバー21が下降する。それによって、ロックレバー21の凸部21aがパーキングギヤ20から外れてパーキングギヤ20のロックが解除され、自動変速機27の出力軸が回転可能な状態(走行可能な状態)に保持される。
図2に示すように、レンジ切換機構11のマニュアルシャフト13には、マニュアルシャフト13の回転角(回転位置)を検出する回転センサ16が設けられている。この回転センサ16は、マニュアルシャフト13の回転角度に応じた電圧を出力するセンサ(例えばポテンショメータ)によって構成され、その出力電圧によって実際のシフトレンジが、PレンジとNotPレンジのいずれであるかを確認できるようになっている。
図2に示すように、モータ12には、モータ12のロータの回転角(回転位置)を検出するためのセンサであるエンコーダ46が設けられている。このエンコーダ46は、例えば磁気式のロータリエンコーダにより構成されており、モータ12のロータの回転に同期して所定角度毎にA相とB相のパルス信号を出力するように構成されている。レンジ切換制御回路42のマイコン41は、エンコーダ46から出力されるA相信号とB相信号の立ち上がり/立ち下がりの両方のエッジをカウントして、そのカウント値(以下「エンコーダカウント値」という)に応じてモータドライバ37によってモータ12の通電相を所定の順序で切り換えることでモータ12を回転駆動する。尚、モータ12の3相(U相,V相,W相)の巻線とモータドライバ37の組み合わせを2系統設けて、一方の系統が故障しても、他方の系統でモータ12を回転駆動できる構成にしても良い。
モータ12の回転中は、A相信号とB相信号の発生順序によってモータ12の回転方向を判定し、正回転(Pレンジ→NotPレンジの回転方向)ではエンコーダカウント値をカウントアップし、逆回転(NotPレンジ→Pレンジの回転方向)ではエンコーダカウント値をカウントダウンする。これにより、モータ12が正回転/逆回転のいずれの方向に回転しても、エンコーダカウント値とモータ12の回転角との対応関係が維持されるため、正回転/逆回転のいずれの回転方向でも、エンコーダカウント値によってモータ12の回転位置を検出して、その回転位置に対応した相の巻線に通電してモータ12を回転駆動できるようになっている。
レンジ切換制御回路42には、シフトスイッチ44で検出したシフトレバー操作位置の信号が入力される。これにより、レンジ切換制御回路42のマイコン41は、運転者のシフトレバー操作等に応じて目標レンジ(目標のシフトレンジ)を切り換え、その目標レンジに応じてモータ12を回転駆動してシフトレンジを切り換え、切り換え後の実際のシフトレンジをインストルメントパネル(図示せず)に設けられたレンジ表示部45に表示する。
レンジ切換制御回路42には、車両に搭載されたバッテリ50(電源)から電源リレー51を介して電源電圧が供給される。電源リレー51のオン/オフは、電源スイッチであるIGスイッチ52(イグニッションスイッチ)のオン/オフを手動操作することで切り換えられる。IGスイッチ52がオンされると、電源リレー51がオンされてレンジ切換制御回路42に電源電圧が供給され、IGスイッチ52がオフされると、電源リレー51がオフされてレンジ切換制御回路42への電源供給が遮断(オフ)される。
ところで、エンコーダカウント値は、マイコン41のRAMに記憶されるため、レンジ切換制御回路42の電源がオフされると、エンコーダカウント値の記憶値が消えてしまう。そのため、レンジ切換制御回路42の電源投入直後のエンコーダカウント値は、実際のモータ12の回転位置(通電相)に対応したものとならない。従って、エンコーダカウント値に応じて通電相を切り換えるためには、電源投入後にエンコーダカウント値と実際のモータ12の回転位置とを対応させて、エンコーダカウント値と通電相とを対応させる必要がある。
そこで、マイコン41は、電源投入後に初期駆動を行ってモータ12の通電相とエンコーダカウント値との対応関係を学習する。この初期駆動では、オープンループ制御でモータ12の通電相の切り換えを所定のタイムスケジュールで一巡させることで、いずれかの通電相でモータ12の回転位置と該通電相とを一致させてモータ12を回転駆動してエンコーダ46のA相信号及びB相信号のエッジをカウントする。そして、初期駆動終了時のエンコーダカウント値とモータ12の回転位置と通電相との対応関係を学習して、エンコーダカウント値に対する通電相位相ずれ補正値を学習する。
マイコン41は、通電相位相ずれ補正値を用いてエンコーダカウント値を補正して、補正後のエンコーダカウント値を通電カウント値として設定し、この通電カウント値に応じてモータ12の通電相を順次切り換えてモータ12を回転駆動する。この場合、マイコン41が特許請求の範囲でいうカウント値設定部としての役割を果たす。
また、マイコン41は、モータ12の起動後のエンコーダカウント値に基づいてモータ12の起動位置からの回転量(回転角)を検出できるだけであるため、電源投入後に何等かの方法で、モータ12の絶対的な回転位置を検出しないと、モータ12を正確に目標回転位置まで回転駆動することができない。
そこで、マイコン41は、初期駆動の終了後に、レンジ切換機構11の可動範囲の限界位置に突き当たるまでモータ12を回転させる突き当て制御を実行して、その限界位置を基準位置として学習し、この基準位置のエンコーダカウント値を基準にしてモータ12の回転量(回転角)を制御する。
具体的には、ディテントバネ23の係合部23aがレンジ切換機構11の可動範囲のPレンジ側の限界位置であるPレンジ壁(Pレンジ保持凹部24の側壁)に突き当たるまでモータ12を回転させる“Pレンジ壁突き当て制御”を実施して、Pレンジ側の限界位置をPレンジ側の基準位置として学習する。或は、ディテントバネ23の係合部23aがレンジ切換機構11の可動範囲のNotPレンジ側の限界位置であるNotPレンジ壁(NotPレンジ保持凹部25の側壁)に突き当たるまでモータ12を回転させる“NotPレンジ壁突き当て制御”を実施して、NotPレンジ側の限界位置をNotPレンジ側の基準位置として学習する。
基準位置を学習した後、マイコン41は、運転者のシフトレバー操作等により目標レンジが切り換えられてレンジ切換要求が発生すると、その目標レンジの切り換えに応じて目標回転位置(目標カウント値)を変更する。そして、通電カウント値(補正後のエンコーダカウント値)に基づいてモータ12の通電相を順次切り換えてモータ12を目標レンジに相当する目標回転位置まで回転駆動することで、シフトレンジを目標レンジに切り換える(レンジ切換機構11の切換位置を目標レンジの位置に切り換える)。この場合、マイコン41が特許請求の範囲でいう切換制御部としての役割を果たす。
また、マイコン41は、後述する図4及び図5の通電カウント値ガード制御ルーチンを実行することで、次のような制御を行う。まず、目標レンジが切り換えられてレンジ切換要求が発生したときに、モータ12の目標回転位置へ向かう回転方向(つまりモータ12がレンジ切換要求発生時点の回転位置から目標回転位置へ向かって回転する場合の回転方向)を切換回転方向として設定する。この後、切換回転方向に対して逆方向への通電カウント値の変化を制限するための通電カウントガード値を設定し、通電カウント値が通電カウントガード値を越えないように制限する。これにより、切換回転方向に対して逆方向への通電カウント値の変化を許容範囲内に制限して、切換回転方向に対して逆方向へのモータ12の回転駆動を許容範囲内に制限する。
具体的には、図3に示すように、目標レンジがNotPレンジからPレンジに切り換えられてレンジ切換要求が発生した場合には、そのレンジ切換要求が発生した時点t1 で、切換回転方向を負回転方向(つまり通電カウント値の減少方向)に設定する。前述したように、本実施例では、モータ12の回転方向がNotPレンジからPレンジへ向かう回転方向ではエンコーダカウント値をカウントダウンする(つまり通電カウント値が減少する)からである。
そして、切換回転方向が負回転方向の場合には、通電カウントガード値を通電カウント値よりも所定量Offset1だけ大きい値に設定する。
通電カウントガード値=通電カウント値+Offset1
レンジ切換要求が発生した後は、モータ12の回転に伴って通電カウント値が変化するが、所定周期で通電カウントガード値を通電カウント値よりも所定量Offset1だけ大きい値になるように更新する。但し、通電カウントガード値の増加方向の更新は禁止する。このようにして、切換回転方向が負回転方向の場合には、通電カウント値の増加(つまり切換回転方向に対して逆方向への通電カウント値の変化)を制限するための通電カウントガード値(つまり上限ガード値)を設定する。
この後、通電カウント値が通電カウントガード値を越えようとした場合(例えば通電カウント値が通電カウントガード値よりも大きくなった場合)には、その時点t2 で、ガード処理を実施する。このガード処理では、通電カウント値を前回値(つまり通電カウントガード値)に保持することで通電カウント値が通電カウントガード値を越えない(つまり通電カウントガード値よりも大きくならない)ように制限する。
一方、目標レンジがPレンジからNotPレンジに切り換えられてレンジ切換要求が発生した場合には、そのレンジ切換要求が発生した時点で、切換回転方向を正回転方向(つまり通電カウント値の増加方向)に設定する。前述したように、本実施例では、モータ12の回転方向がPレンジからNotPレンジへ向かう回転方向ではエンコーダカウント値をカウントアップする(つまり通電カウント値が増加する)からである。
そして、切換回転方向が正回転方向の場合には、通電カウントガード値を通電カウント値よりも所定量Offset2だけ小さい値に設定する。
通電カウントガード値=通電カウント値−Offset2
レンジ切換要求が発生した後は、モータ12の回転に伴って通電カウント値が変化するが、所定周期で通電カウントガード値を通電カウント値よりも所定量Offset2だけ小さい値になるように更新する。但し、通電カウントガード値の減少方向の更新は禁止する。このようにして、切換回転方向が正回転方向の場合には、通電カウント値の減少(つまり切換回転方向に対して逆方向への通電カウント値の変化)を制限するための通電カウントガード値(つまり下限ガード値)を設定する。
この後、通電カウント値が通電カウントガード値を越えようとした場合(例えば通電カウント値が通電カウントガード値よりも小さくなった場合)には、その時点で、ガード処理を実施する。このガード処理では、通電カウント値を前回値(つまり通電カウントガード値)に保持することで通電カウント値が通電カウントガード値を越えない(つまり通電カウントガード値よりも小さくならない)ように制限する。
以下、本実施例でレンジ切換制御回路42のマイコン41が実行する図4及び図5の通電カウント値ガード制御ルーチンの処理内容を説明する。
図4及び図5に示す通電カウント値ガード制御ルーチンは、レンジ切換制御回路42の電源オン期間中にマイコン41により所定周期で繰り返し実行される。
本ルーチンが起動されると、まず、ステップ101で、目標レンジがNotPレンジからPレンジに切り換えられてレンジ切換要求が発生したタイミング(以下「NotPからPのレンジ切換要求発生タイミング」という)であるか否かを判定する。
このステップ101で、NotPからPのレンジ切換要求発生タイミングと判定された場合には、ステップ102に進み、切換回転方向を負回転方向(つまり通電カウント値の減少方向)に設定する。
この後、ステップ103に進み、通電カウントガード値を通電カウント値よりも所定量Offset1だけ大きい値に設定する。
通電カウントガード値=通電カウント値+Offset1
ここで、所定量Offset1は、シフトレンジがPレンジ(目標レンジ)に切り換えられた後にNotPレンジ(切り換え前のレンジ)に戻ることを防止できる範囲内に通電カウントガード値が設定されるように所定量Offset1が設定されている。例えば、通電カウントガード値がシフトレンジをPレンジに維持できる通電カウント値の上限値又はそれよりも小さい値になるように所定量Offset1が設定されている。
その後、上記ステップ101で、NotPからPのレンジ切換要求発生タイミングではないと判定された場合には、ステップ104に進み、目標レンジがPレンジからNotPレンジに切り換えられてレンジ切換要求が発生したタイミング(以下「PからNotPのレンジ切換要求発生タイミング」という)であるか否かを判定する。
このステップ104で、PからNotPのレンジ切換要求発生タイミングではないと判定された場合には、図5のステップ107に進み、切換回転方向が負回転方向であるか否かを判定する。
このステップ107で、切換回転方向が負回転方向であると判定された場合には、ステップ108に進み、通電カウント値の今回値が前回値よりも小さい(つまり通電カウント値が減少した)か否かを判定する。
このステップ108で、通電カウント値の今回値が前回値よりも小さい(つまり通電カウント値が減少した)と判定された場合には、ステップ109に進み、通電カウントガード値を通電カウント値の今回値よりも所定量Offset1だけ大きい値で更新する。
通電カウントガード値=通電カウント値+Offset1
これにより、所定周期(本ルーチンの演算周期)で通電カウントガード値を通電カウント値よりも所定量Offset1だけ大きい値になるように更新する。
一方、上記ステップ108で、通電カウント値の今回値が前回値以上(つまり通電カウント値が減少していない)と判定された場合には、通電カウントガード値を更新することなく、ステップ110に進む。これにより、通電カウントガード値の増加方向の更新を禁止する。
ステップ110では、通電カウント値が通電カウントガード値よりも大きいか否かを判定し、このステップ110で、通電カウント値が通電カウントガード値以下と判定された場合には、ガード処理を実施することなく、本ルーチンを終了する。
これに対して、上記ステップ110で、通電カウント値が通電カウントガード値よりも大きいと判定された場合(通電カウント値が通電カウントガード値を越えようとした場合)には、意図しないモータ12の回転駆動が発生したと判断して、ステップ111に進み、ガード処理を実施する。このガード処理では、通電カウント値を前回値(つまり通電カウントガード値)に保持することで通電カウント値が通電カウントガード値を越えない(つまり通電カウントガード値よりも大きくならない)ように制限する。これにより、通電カウント値が通電カウントガード値を越えようとしたときに、通電カウント値を通電カウントガード値に保持して、モータ12の通電相の切り換えを停止してモータ12の回転駆動を停止する。
この後、ステップ112に進み、運転者に異常(意図しないモータ12の回転駆動が発生したこと)を通知する。この場合、例えば、運転席のインストルメントパネルに設けられた警告ランプ(図示せず)を点灯又は点滅したり、或は、運転席のインストルメントパネルの警告表示部(図示せず)に警告表示して、或は、警告音又は音声で、異常を通知する。
一方、図4のステップ104で、PからNotPのレンジ切換要求発生タイミングと判定された場合には、ステップ105に進み、切換回転方向を正回転方向(つまり通電カウント値の増加方向)に設定する。
この後、ステップ106に進み、通電カウントガード値を通電カウント値よりも所定量Offset2だけ小さい値に設定する。
通電カウントガード値=通電カウント値−Offset2
ここで、所定量Offset2は、シフトレンジがNotPレンジ(目標レンジ)に切り換えられた後にPレンジ(切り換え前のレンジ)に戻ることを防止できる範囲内に通電カウントガード値が設定されるように所定量Offset2が設定されている。例えば、通電カウントガード値がシフトレンジをNotPレンジに維持できる通電カウント値の下限値又はそれよりも大きい値になるように所定量Offset2が設定されている。
その後、上記ステップ104で、PからNotPのレンジ切換要求発生タイミングではないと判定された場合には、図5のステップ107に進み、切換回転方向が負回転方向であるか否かを判定する。このステップ107で、切換回転方向が負回転方向ではないと判定された場合には、ステップ113に進み、切換回転方向が正回転方向であるか否かを判定する。
このステップ113で、切換回転方向が正回転方向であると判定された場合には、ステップ114に進み、通電カウント値の今回値が前回値よりも大きい(つまり通電カウント値が増加した)か否かを判定する。
このステップ114で、通電カウント値の今回値が前回値よりも大きい(つまり通電カウント値が増加した)と判定された場合には、ステップ115に進み、通電カウントガード値を通電カウント値の今回値よりも所定量Offset2だけ小さい値で更新する。
通電カウントガード値=通電カウント値−Offset2
これにより、所定周期(本ルーチンの演算周期)で通電カウントガード値を通電カウント値よりも所定量Offset2だけ小さい値になるように更新する。
一方、上記ステップ114で、通電カウント値の今回値が前回値以下(つまり通電カウント値が増加していない)と判定された場合には、通電カウントガード値を更新することなく、ステップ116に進む。これにより、通電カウントガード値の減少方向の更新を禁止する。
ステップ116では、通電カウント値が通電カウントガード値よりも小さいか否かを判定し、このステップ116で、通電カウント値が通電カウントガード値以上と判定された場合には、ガード処理を実施することなく、本ルーチンを終了する。
これに対して、上記ステップ116で、通電カウント値が通電カウントガード値よりも小さいと判定された場合(通電カウント値が通電カウントガード値を越えようとした場合)には、意図しないモータ12の回転駆動が発生したと判断して、ステップ117に進み、ガード処理を実施する。このガード処理では、通電カウント値を前回値(つまり通電カウントガード値)に保持することで通電カウント値が通電カウントガード値を越えない(つまり通電カウントガード値よりも小さくならない)ように制限する。これにより、通電カウント値が通電カウントガード値を越えようとしたときに、通電カウント値を通電カウントガード値に保持して、モータ12の通電相の切り換えを停止してモータ12の回転駆動を停止する。
この後、ステップ118に進み、運転者に異常(意図しないモータ12の回転駆動が発生したこと)を通知する。
また、上記ステップ107及び上記ステップ113で「No」と判定された場合には、ステップ119に進み、通電カウント値を前回値に設定する。
この場合、ステップ102,105等の処理が特許請求の範囲でいう回転方向設定部としての役割を果たす。また、ステップ103,106,107〜109,113〜115等の処理が特許請求の範囲でいうガード値設定部としての役割を果たす。更に、ステップ111,117等の処理が特許請求の範囲でいうガード制御部としての役割を果たす。また、ステップ112,118等の処理が特許請求の範囲でいう通知部としての役割を果たす。
以上説明した本実施例では、目標レンジがNotPレンジからPレンジに切り換えられてレンジ切換要求が発生した場合には、切換回転方向を負回転方向(つまり通電カウント値の減少方向)に設定する。この場合、通電カウント値の増加(つまり切換回転方向に対して逆方向への通電カウント値の変化)を制限するための通電カウントガード値(つまり上限ガード値)を設定し、通電カウント値が通電カウントガード値を越えないように制限する。これにより、通電カウント値の増加を許容範囲内に制限して、正回転方向(つまり切換回転方向に対して逆方向)へのモータ12の回転駆動を許容範囲内に制限することができる。このため、万一、何らかの異常(例えばRAMのデータ化け等)により意図しないモータ12の回転駆動(つまり正回転方向へのモータ12の回転駆動)が発生しても、それを許容範囲内に制限することができる。これにより、NotPレンジからPレンジへのレンジ切換中やレンジ切換完了後に意図しないモータ12の回転駆動の発生による不具合(例えば意図しないNotPレンジへのレンジ切換)を防止することができる。
その際、本実施例では、切換回転方向が負回転方向(つまり通電カウント値の減少方向)の場合には、所定周期で通電カウントガード値を通電カウント値よりも所定量Offset1だけ大きい値になるように更新するが、通電カウントガード値の増加方向の更新は禁止するようにしている。このようにすれば、切換回転方向が負回転方向の場合に、通電カウント値の増加(つまり切換回転方向に対して逆方向への通電カウント値の変化)を制限するための通電カウントガード値を適切に設定することができる。
更に、本実施例では、シフトレンジがPレンジ(目標レンジ)に切り換えられた後にNotPレンジ(切り換え前のレンジ)に戻ることを防止できる範囲内に通電カウントガード値が設定されるように所定量Offset1が設定されている。これにより、シフトレンジがPレンジに切り換えられた後に意図しないモータ12の回転駆動によってNotPレンジに戻ることを確実に防止することができる。
また、本実施例では、目標レンジがPレンジからNotPレンジに切り換えられてレンジ切換要求が発生した場合には、切換回転方向を正回転方向(つまり通電カウント値の増加方向)に設定する。この場合、通電カウント値の減少(つまり切換回転方向に対して逆方向への通電カウント値の変化)を制限するための通電カウントガード値(つまり下限ガード値)を設定し、通電カウント値が通電カウントガード値を越えないように制限する。これにより、通電カウント値の減少を許容範囲内に制限して、負回転方向(つまり切換回転方向に対して逆方向)へのモータ12の回転駆動を許容範囲内に制限することができる。このため、万一、何らかの異常(例えばRAMのデータ化け等)により意図しないモータ12の回転駆動(つまり負回転方向へのモータ12の回転駆動)が発生しても、それを許容範囲内に制限することができる。これにより、PレンジからNotPレンジへのレンジ切換中やレンジ切換完了後に意図しないモータ12の回転駆動の発生による不具合(例えば意図しないPレンジへのレンジ切換)を防止することができる。
その際、本実施例では、切換回転方向が正回転方向(つまり通電カウント値の増加方向)の場合には、所定周期で通電カウントガード値を通電カウント値よりも所定量Offset2だけ小さい値になるように更新するが、通電カウントガード値の減少方向の更新は禁止するようにしている。このようにすれば、切換回転方向が正回転方向の場合に、通電カウント値の減少(つまり切換回転方向に対して逆方向への通電カウント値の変化)を制限するための通電カウントガード値を適切に設定することができる。
更に、本実施例では、シフトレンジがNotPレンジ(目標レンジ)に切り換えられた後にPレンジ(切り換え前のレンジ)に戻ることを防止できる範囲内に通電カウントガード値が設定されるように所定量Offset2が設定されている。これにより、シフトレンジがNotPレンジに切り換えられた後に意図しないモータ12の回転駆動によってPレンジに戻ることを確実に防止することができる。
また、本実施例では、通電カウント値が通電カウントガード値を越えようとしたときに、通電カウント値を通電カウントガード値に保持することで通電カウント値が通電カウントガード値を越えないように制限するようにしている。これにより、意図しないモータ12の回転駆動が発生して、通電カウント値が通電カウントガード値を越えようとしたときに、通電カウント値を通電カウントガード値に保持して、モータ12の通電相の切り換えを停止してモータ12の回転駆動を停止することで、意図しないモータ12の回転駆動を停止することができる。
更に、本実施例では、通電カウント値が通電カウントガード値を越えようとしたときに、運転者に異常(意図しないモータ12の回転駆動が発生したこと)を通知するようにしている。このようにすれば、異常(意図しないモータの回転駆動が発生したこと)を運転者に通知して、点検や修理を促すことができる。
尚、上記実施例では、通電カウント値が通電カウントガード値を越えようとしたときに、通電カウント値を通電カウントガード値に保持することで通電カウント値が通電カウントガード値を越えないように制限するようにしている。しかし、これに限定されず、通電カウント値が通電カウントガード値を越えようとしたときに、モータ12の通電を停止(つまりモータ12のコイルへの通電をカット)することで通電カウント値が通電カウントガード値を越えないように制限するようにしても良い。これにより、意図しないモータ12の回転駆動が発生して、通電カウント値が通電カウントガード値を越えようとしたときに、モータ12の通電を強制的に停止してモータ12の回転駆動を停止することで、意図しないモータ12の回転駆動を停止することができる。
また、上記実施例では、目標レンジがNotPレンジからPレンジに切り換えられてレンジ切換要求が発生した場合と、目標レンジがPレンジからNotPレンジに切り換えられてレンジ切換要求が発生した場合の両方で、通電カウント値が通電カウントガード値を越えないように制限するようにしている。しかし、これに限定されず、目標レンジがNotPレンジからPレンジに切り換えられてレンジ切換要求が発生した場合にのみ、通電カウント値が通電カウントガード値を越えないように制限するようにしても良い。或は、目標レンジがPレンジからNotPレンジに切り換えられてレンジ切換要求が発生した場合にのみ、通電カウント値が通電カウントガード値を越えないように制限するようにしても良い。
また、上記実施例において、マイコン41が実行する機能の一部又は全部を、一つ或は複数のIC等によりハードウェア的に構成しても良い。
また、上記実施例では、シフトレンジをPレンジとNotPレンジの二つのレンジ間で切り換えるレンジ切換機構を備えたシステムに本発明を適用したが、これに限定されず、例えば、シフトレンジをPレンジとRレンジとNレンジとDレンジの四つのレンジ間で切り換えるレンジ切換機構を備えたシステムに本発明を適用しても良い。或は、シフトレンジを三つのレンジ間又は五つ以上のレンジ間で切り換えるレンジ切換機構を備えたシステムに本発明を適用しても良い。
その他、本発明は、自動変速機(AT、CVT、DCT等)に限定されず、電気自動車用の変速機(減速機)のシフトレンジを切り換えるレンジ切換機構を備えたシステムに適用しても良い等、要旨を逸脱しない範囲内で種々変更して実施できる。