(57)【特許請求の範囲】
【請求項１】
モータ（１２）を駆動源としてシフトレンジを切り換えるレンジ切換機構（１１）と、前記モータ（１２）の回転に同期してパルス信号を出力するエンコーダ（４６）と、前記エンコーダ（４６）の出力信号のカウント値（以下「エンコーダカウント値」という）に基づいて前記モータ（１２）を目標のシフトレンジに相当する回転位置まで回転させる制御手段（４１）とを備え、前記制御手段（４１）は、前記レンジ切換機構（１１）の可動範囲の限界位置に突き当たるまで前記モータ（１２）を回転させて基準位置を学習するレンジ切換制御装置において、
前記制御手段（４１）は、前記基準位置を学習するために前記限界位置のうち現在のシフトレンジと異なる他のシフトレンジ側の限界位置に突き当たるまで前記モータ（１２）を回転させる制御を行ったときに、前記エンコーダカウント値の変化量が、前記現在のシフトレンジに相当する回転位置から前記他のシフトレンジ側の限界位置に相当する回転位置までの回転量に対応する第１の所定値に達していない場合には、前記基準位置の学習禁止と異常通知のうちの少なくとも一方を実施することを特徴とするレンジ切換制御装置。
【請求項２】
前記制御手段（４１）の電源オン中に前記シフトレンジが切り換えられる毎に切り換え後のシフトレンジを記憶すると共に前記制御手段（４１）の電源オフ中も記憶データを保持する記憶手段（４８）を備えていることを特徴とする請求項１に記載のレンジ切換制御装置。
【請求項３】
前記制御手段（４１）は、前記基準位置を学習するために前記限界位置のうち現在のシフトレンジ側の限界位置に突き当たるまで前記モータ（１２）を回転させる制御を行ったときに、前記エンコーダカウント値の変化量が、前記第１の所定値よりも小さい値であり前記現在のシフトレンジに相当する回転位置から前記現在のシフトレンジ側の限界位置に相当する回転位置までの回転量に対応する値である第２の所定値に達していない場合には、前記基準位置の学習禁止と異常通知のうちの少なくとも一方を実施することを特徴とする請求項１又は２に記載のレンジ切換制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モータを駆動源としてシフトレンジを切り換えるレンジ切換制御装置に関する発明である。
【背景技術】
【０００２】
近年、自動車においても、省スペース化、組立性向上、制御性向上等の要求を満たすために、機械的な駆動システムを、モータによって電気的に駆動するシステムに変更する事例が増加する傾向にある。その一例として、車両の自動変速機のレンジ切換機構をモータで駆動するようにしたものがある。このものは、モータの回転に同期して所定角度毎にパルス信号を出力するエンコーダを搭載し、レンジ切換時には、このエンコーダのパルス信号のカウント値（以下「エンコーダカウント値」という）に基づいてモータを目標レンジに相当する目標回転位置（目標カウント値）まで回転させることで、シフトレンジを目標レンジに切り換えるようにしている。
【０００３】
このようなシステムでは、制御装置は、モータの起動後のエンコーダカウント値に基づいてモータの起動位置からの回転量（回転角）を検出できるだけであるため、電源投入後に何等かの方法で、モータの絶対的な回転位置を検出しないと、モータを正確に目標回転位置まで回転駆動することができない。
【０００４】
そこで、制御装置の起動後に、レンジ切換機構の可動範囲の限界位置（壁）に突き当たるまでモータを回転させる突き当て制御を実行して、その限界位置を基準位置として学習し、この基準位置を基準にしてモータの回転角（回転量）を制御するようにしたものがある。
【０００５】
一方、特許文献１（特開２００９−１６２３２９号公報）に記載されているように、モータの出力軸の回転角度に応じて出力電圧がリニアに変化する非接触センサ（回転角センサ）を設け、この非接触センサの出力電圧Ｖに応じてモータ回転位置θ（ディテント回転位置）を算出するようにしたものがある。
【０００６】
この特許文献１では、システム（非接触センサやレンジ切換機構等）の経時変化の影響を排除するために学習制御を行うようにしている。この学習制御では、特定レンジ位置（例えばＰレンジ位置）における非接触センサの現在の出力電圧Ｖx と初期値Ｖ0 （工場出荷時の値）との差を補正量α（＝Ｖx −Ｖ0 ）として学習し、この学習値αを用いて非接触センサの出力電圧Ｖを補正するようにしている。
【０００７】
また、現在の学習値を用いて補正した非接触センサの出力電圧から算出したモータ回転位置θn と、前回の学習値を用いて補正した非接触センサの出力電圧から算出したモータ回転位置θn-1 との差（θn −θn-1 ）を乖離量δ1 として算出する。更に、現在の学習値を用いて補正した非接触センサの出力電圧から算出したモータ回転位置θn と、工場出荷時の初期モータ回転位置θ0 との差（θn −θ0 ）を乖離量δ2 として算出する。そして、乖離量δ1 が第１判定値以上の場合や、乖離量δ2 が第２判定値以上の場合には、何らかの異常が発生していると判断して、学習制御を中止することで、誤学習を防止するようにしている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００９−１６２３２９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
ところで、レンジ切換機構の可動範囲の限界位置に突き当たるまでモータを回転させる突き当て制御を実行して基準位置を学習するシステムでは、次のような問題が発生する可能性がある。突き当て制御を実行して基準位置を学習する際に、現在のシフトレンジと異なる他のシフトレンジ側の基準位置を学習する場合がある。このような場合、現在のシフトレンジ位置から他のシフトレンジ側の限界位置に突き当たるまでモータを回転させて他のシフトレンジ側の基準位置を学習する必要がある。その際、モータのトルク低下や異物等によってモータが他のシフトレンジ側の限界位置まで回転できない異常が発生すると、他のシフトレンジ側の限界位置ではない位置を基準位置として誤学習してしまう可能性がある。基準位置を誤学習すると、シフトレンジを誤認識（例えばＰレンジではないシフトレンジをＰレンジと誤認識）する等の不具合が発生する可能性がある。
【００１０】
上記特許文献１の技術は、特定レンジ位置における非接触センサの現在の出力電圧Ｖx と初期値Ｖ0 との差を補正量αとして学習するシステムにおいて誤学習を防止する技術であり、上述した問題（突き当て制御を実行して基準位置を学習するシステムの問題）を解決することはできない。
【００１１】
そこで、本発明が解決しようとする課題は、突き当て制御を実行して基準位置を学習するシステムの基準位置の誤学習による不具合を防止することができるレンジ切換制御装置を提供することにある。
【課題を解決するための手段】
【００１２】
上記課題を解決するために、請求項１に係る発明は、モータ（１２）を駆動源としてシフトレンジを切り換えるレンジ切換機構（１１）と、モータ（１２）の回転に同期してパルス信号を出力するエンコーダ（４６）と、このエンコーダ（４６）の出力信号のカウント値（以下「エンコーダカウント値」という）に基づいてモータ（１２）を目標のシフトレンジに相当する回転位置まで回転させる制御手段（４１）とを備え、制御手段（４１）は、レンジ切換機構（１１）の可動範囲の限界位置に突き当たるまでモータ（１２）を回転させて基準位置を学習するレンジ切換制御装置において、制御手段（４１）は、基準位置を学習するために限界位置のうち現在のシフトレンジと異なる他のシフトレンジ側の限界位置に突き当たるまでモータ（１２）を回転させる制御を行ったときに、エンコーダカウント値の変化量が、前記現在のシフトレンジに相当する回転位置から前記他のシフトレンジ側の限界位置に相当する回転位置までの回転量に対応する第１の所定値に達していない場合には、基準位置の学習禁止と異常通知のうちの少なくとも一方を実施するようにしたものである。
【００１３】
つまり、基準位置を学習するために現在のシフトレンジと異なる他のシフトレンジ側の限界位置に突き当たるまでモータを回転させる制御を行ったときに、エンコーダカウント値の変化量が第１の所定値に達したか否かを判定する。その結果、エンコーダカウント値の変化量が第１の所定値に達していない場合には、モータのトルク低下や異物等によってモータが他のシフトレンジ側の限界位置まで回転できない異常が発生したと判断して、他のシフトレンジ側の基準位置の学習禁止や異常通知を実施する。これにより、他のシフトレンジ側の基準位置の誤学習による不具合（例えばシフトレンジの誤認識等）を防止することが可能となる。
【図面の簡単な説明】
【００１４】
【図１】図１は本発明の一実施例におけるレンジ切換機構の斜視図である。
【図２】図２はレンジ切換制御システムの概略構成を示す図である。
【図３】図３は学習制御ルーチンの処理の流れを示すフローチャート（その１）である。
【図４】図４は学習制御ルーチンの処理の流れを示すフローチャート（その２）である。
【発明を実施するための形態】
【００１５】
以下、本発明を実施するための形態を具体化した一実施例を説明する。
まず、図１及び図２に基づいてレンジ切換制御システムの構成を説明する。
図１に示すように、レンジ切換機構１１は、自動変速機２７（図２参照）のシフトレンジをＰレンジ（パーキングレンジ）とＮｏｔＰレンジとの間で切り換える２ポジション式のレンジ切換機構である。このレンジ切換機構１１の駆動源となるモータ１２は、例えばスイッチトリラクタンスモータにより構成されている。このモータ１２には、減速機構２６（図２参照）が内蔵され、その出力軸１２ａ（図２参照）に、レンジ切換機構１１のマニュアルシャフト１３が接続されている。このマニュアルシャフト１３に、ディテントレバー１５が固定されている。
【００１６】
ディテントレバー１５には、ディテントレバー１５の回転に応じて直線運動するマニュアルバルブ（図示せず）が接続され、このマニュアルバルブによって自動変速機２７の内部の油圧回路（図示せず）を切り換えることで、シフトレンジを切り換えるようになっている。
【００１７】
また、ディテントレバー１５にはＬ字形のパーキングロッド１８が固定され、このパーキングロッド１８の先端部に設けられた円錐体１９がロックレバー２１に当接している。このロックレバー２１は、円錐体１９の位置に応じて軸２２を中心にして上下動してパーキングギヤ２０をロック／ロック解除するようになっている。パーキングギヤ２０は、自動変速機２７の出力軸に設けられ、このパーキングギヤ２０がロックレバー２１によってロックされると、車両の駆動輪が回り止めされた状態（パーキング状態）に保持される。
【００１８】
一方、ディテントレバー１５を各レンジ（ＰレンジとＮｏｔＰレンジ）の位置に保持するためのディテントバネ２３が支持ベース１７に固定され、ディテントレバー１５には、Ｐレンジ保持凹部２４とＮｏｔＰレンジ保持凹部２５が形成されている。ディテントバネ２３の先端に設けられた係合部２３ａがディテントレバー１５のＰレンジ保持凹部２４に嵌まり込んだときに、ディテントレバー１５がＰレンジの位置に保持される。ディテントバネ２３の係合部２３ａがディテントレバー１５のＮｏｔＰレンジ保持凹部２５に嵌まり込んだときに、ディテントレバー１５がＮｏｔＰレンジの位置に保持される。これらディテントレバー１５とディテントバネ２３等からディテントレバー１５の回転位置を各レンジの位置に係合保持する（つまりレンジ切換機構１１を各レンジの位置に保持する）ためのディテント機構１４（節度機構）が構成されている。
【００１９】
Ｐレンジでは、パーキングロッド１８がロックレバー２１に接近する方向に移動して、円錐体１９の太い部分がロックレバー２１を押し上げてロックレバー２１の凸部２１ａがパーキングギヤ２０に嵌まり込んでパーキングギヤ２０をロックした状態となる。それによって、自動変速機２７の出力軸（駆動輪）がロックされた状態（パーキング状態）に保持される。
【００２０】
一方、ＮｏｔＰレンジでは、パーキングロッド１８がロックレバー２１から離れる方向に移動して、円錐体１９の太い部分がロックレバー２１から抜け出てロックレバー２１が下降する。それによって、ロックレバー２１の凸部２１ａがパーキングギヤ２０から外れてパーキングギヤ２０のロックが解除され、自動変速機２７の出力軸が回転可能な状態（走行可能な状態）に保持される。
【００２１】
図２に示すように、モータ１２には、ロータの回転角（回転位置）を検出するためのエンコーダ４６が設けられている。このエンコーダ４６は、例えば磁気式のロータリエンコーダにより構成されており、モータ１２のロータの回転に同期して所定角度毎にＡ相とＢ相のパルス信号を出力するように構成されている。レンジ切換制御回路４２のマイコン４１（制御手段）は、エンコーダ４６から出力されるＡ相信号とＢ相信号の立ち上がり／立ち下がりの両方のエッジをカウントして、そのカウント値（以下「エンコーダカウント値」という）に応じてモータドライバ３７によってモータ１２の通電相を所定の順序で切り換えることでモータ１２を回転駆動する。尚、モータ１２の３相（Ｕ相，Ｖ相，Ｗ相）の巻線とモータドライバ３７の組み合わせを２系統設けて、一方の系統が故障しても、他方の系統でモータ１２を回転駆動できる構成にしても良い。
【００２２】
モータ１２の回転中は、Ａ相信号とＢ相信号の発生順序によってモータ１２の回転方向を判定し、正回転（Ｐレンジ→ＮｏｔＰレンジの回転方向）ではエンコーダカウント値をカウントアップし、逆回転（ＮｏｔＰレンジ→Ｐレンジの回転方向）ではエンコーダカウント値をカウントダウンする。これにより、モータ１２が正回転／逆回転のいずれの方向に回転しても、エンコーダカウント値とモータ１２の回転角との対応関係が維持されるため、正回転／逆回転のいずれの回転方向でも、エンコーダカウント値によってモータ１２の回転位置を検出して、その回転位置に対応した相の巻線に通電してモータ１２を回転駆動できるようになっている。
【００２３】
レンジ切換制御回路４２には、シフトスイッチ４４で検出したシフトレバー操作位置の信号が入力される。これにより、レンジ切換制御回路４２のマイコン４１は、運転者のシフトレバー操作等に応じて目標レンジ（目標のシフトレンジ）を切り換え、その目標レンジに応じてモータ１２を駆動してシフトレンジを切り換え、切り換え後の実際のシフトレンジをインストルメントパネル（図示せず）に設けられたレンジ表示部４５に表示する。
【００２４】
レンジ切換制御回路４２には、車両に搭載されたバッテリ５０（電源）から電源リレー５１を介して電源電圧が供給される。電源リレー５１のオン／オフは、電源スイッチであるＩＧスイッチ５２（イグニッションスイッチ）のオン／オフを手動操作することで切り換えられる。ＩＧスイッチ５２がオンされると、電源リレー５１がオンされてレンジ切換制御回路４２に電源電圧が供給され、ＩＧスイッチ５２がオフされると、電源リレー５１がオフされてレンジ切換制御回路４２への電源供給が遮断（オフ）される。
【００２５】
ところで、エンコーダカウント値は、マイコン４１のＲＡＭ４７に記憶されるため、レンジ切換制御回路４２の電源がオフされると、エンコーダカウント値の記憶値が消えてしまう。そのため、レンジ切換制御回路４２の電源投入直後のエンコーダカウント値は、実際のモータ１２の回転位置（通電相）に対応したものとならない。従って、エンコーダカウント値に応じて通電相を切り換えるためには、電源投入後にエンコーダカウント値と実際のモータ１２の回転位置とを対応させて、エンコーダカウント値と通電相とを対応させる必要がある。
【００２６】
そこで、マイコン４１は、電源投入後に初期駆動を行ってモータ１２の通電相とエンコーダカウント値との対応関係を学習する。この初期駆動では、オープンループ制御でモータ１２の通電相の切り換えを所定のタイムスケジュールで一巡させることで、いずれかの通電相でモータ１２の回転位置と該通電相とを一致させてモータ１２を回転駆動してエンコーダ４６のＡ相信号及びＢ相信号のエッジをカウントする。そして、初期駆動終了時のエンコーダカウント値とモータ１２の回転位置と通電相との対応関係を学習する。
【００２７】
また、マイコン４１は、モータ１２の起動後のエンコーダカウント値に基づいてモータ１２の起動位置からの回転量（回転角）を検出できるだけであるため、電源投入後に何等かの方法で、モータ１２の絶対的な回転位置を検出しないと、モータ１２を正確に目標回転位置まで回転駆動することができない。
【００２８】
そこで、マイコン４１は、初期駆動の終了後に、レンジ切換機構１１の可動範囲の限界位置に突き当たるまでモータ１２を回転させる突き当て制御を実行して、その限界位置を基準位置として学習し、この基準位置のエンコーダカウント値を基準にしてモータ１２の回転量（回転角）を制御する。
【００２９】
具体的には、ディテントバネ２３の係合部２３ａがレンジ切換機構１１の可動範囲のＰレンジ側の限界位置であるＰレンジ壁（Ｐレンジ保持凹部２４の側壁）に突き当たるまでモータ１２を回転させる“Ｐレンジ壁突き当て制御”を実施して、Ｐレンジ側の限界位置をＰレンジ側の基準位置として学習する。或は、ディテントバネ２３の係合部２３ａがレンジ切換機構１１の可動範囲のＮｏｔＰレンジ側の限界位置であるＮｏｔＰレンジ壁（ＮｏｔＰレンジ保持凹部２５の側壁）に突き当たるまでモータ１２を回転させる“ＮｏｔＰレンジ壁突き当て制御”を実施して、ＮｏｔＰレンジ側の限界位置をＮｏｔＰレンジ側の基準位置として学習する。
【００３０】
基準位置を学習した後、マイコン４１は、運転者のシフトレバー操作等により目標レンジが切り換えられると、それに応じて目標回転位置（目標カウント値）を変更する。そして、エンコーダカウント値に基づいてモータ１２の通電相を順次切り換えることでモータ１２を目標レンジに相当する目標回転位置まで回転駆動するフィードバック制御を実行して、シフトレンジを目標レンジに切り換える（レンジ切換機構１１の切換位置を目標レンジの位置に切り換える）。
【００３１】
また、マイコン４１は、マイコン４１の電源オン中にシフトレンジが切り換えられる毎に切り換え後のシフトレンジをバックアップＲＡＭ４８（記憶手段）に更新記憶する。このバックアップＲＡＭ４８は、マイコン４１の電源オフ中も記憶データを保持する書き換え可能な不揮発性メモリである。従って、レンジ切換制御回路４２の電源オフ後（マイコン４１の電源オフ後）は、マイコン４１の終了時（電源オフ直前）のシフトレンジがバックアップＲＡＭ４８に記憶保持される。
【００３２】
ところで、レンジ切換機構１１の可動範囲の限界位置に突き当たるまでモータ１２を回転させる突き当て制御を実行して基準位置を学習するシステムでは、次のような問題が発生する可能性がある。突き当て制御を実行して基準位置を学習する際に、現在のシフトレンジと異なる他のシフトレンジ側の基準位置を学習する場合がある。このような場合、現在のシフトレンジ位置から他のシフトレンジ側の限界位置に突き当たるまでモータ１２を回転させて他のシフトレンジ側の基準位置を学習する必要がある。その際、モータ１２のトルク低下や異物等によってモータ１２が他のシフトレンジ側の限界位置まで回転できない異常が発生すると、他のシフトレンジ側の限界位置ではない位置を基準位置として誤学習してしまう可能性がある。基準位置を誤学習すると、シフトレンジを誤認識（例えばＮｏｔＰレンジをＰレンジと誤認識）する等の不具合が発生する可能性がある。
【００３３】
そこで、本実施例では、レンジ切換制御回路４２のマイコン４１により後述する図３及び図４の学習制御ルーチンを実行することで、次のような学習制御を行う。
基準位置を学習するために現在のシフトレンジと異なる他のシフトレンジ側の限界位置に突き当たるまでモータ１２を回転させる突き当て制御を行ったときに、エンコーダカウント値の変化量が第１の所定値に達したか否かを判定する。その結果、エンコーダカウント値の変化量が第１の所定値以上の場合には、モータ１２が他のシフトレンジ側の限界位置まで回転したと判断して、他のシフトレンジ側の限界位置を他のシフトレンジ側の基準位置として学習する。これに対して、エンコーダカウント値の変化量が第１の所定値に達していない場合には、モータ１２のトルク低下や異物等によってモータ１２が他のシフトレンジ側の限界位置まで回転できない異常が発生したと判断して、他のシフトレンジ側の基準位置の学習を禁止すると共に異常を通知する。
【００３４】
また、基準位置を学習するために現在のシフトレンジ側の限界位置に突き当たるまでモータ１２を回転させる突き当て制御を行ったときに、エンコーダカウント値の変化量が第１の所定値よりも小さい第２の所定値に達したか否かを判定する。その結果、エンコーダカウント値の変化量が第２の所定値以上の場合には、モータ１２が現在のシフトレンジ側の限界位置まで回転したと判断して、現在のシフトレンジ側の限界位置を現在のシフトレンジ側の基準位置として学習する。これに対して、エンコーダカウント値の変化量が第２の所定値に達していない場合には、モータ１２のトルク低下や異物等によってモータ１２が現在のシフトレンジ側の限界位置まで回転できない異常が発生したと判断して、現在のシフトレンジ側の基準位置の学習を禁止すると共に異常を通知する。
【００３５】
以下、本実施例でレンジ切換制御回路４２のマイコン４１が実行する図３及び図４の学習制御ルーチンの処理内容を説明する。
図３及び図４に示す学習制御ルーチンは、レンジ切換制御回路４２の電源オン期間中にマイコン４１により所定周期で繰り返し実行される。本ルーチンが起動されると、まず、ステップ１０１で、基準位置学習の実施要求が発生しているか否かを判定する。この基準位置学習の実施要求は、例えば、マイコン４１の電源オン後の最初の起動時やリセット後の再起動時、或は、基準位置の再学習の要求が発生したとき等に発生する。
【００３６】
このステップ１０１で、基準位置学習の実施要求が発生していないと判定された場合には、基準位置を学習する制御を行う必要がないと判断して、ステップ１０２以降の処理を実行することなく、本ルーチンを終了する。
【００３７】
一方、上記ステップ１０１で、基準位置学習の実施要求が発生していると判定された場合には、ステップ１０２に進み、バックアップＲＡＭ４８に記憶されているシフトレンジの記憶値が正常であるか否かを判定する。
【００３８】
このステップ１０２で、バックアップＲＡＭ４８に記憶されているシフトレンジの記憶値が正常ではないと判定された場合には、ステップ１０３に進み、異常を通知する。この場合、例えば、異常フラグをＯＮにセットして、警告ランプや警告表示部で運転者に警告すると共に、シフトレンジの記憶値が正常ではない等の異常情報（異常コード等）をバックアップＲＡＭ４８等に記憶する。
【００３９】
一方、上記ステップ１０２で、バックアップＲＡＭ４８に記憶されているシフトレンジの記憶値が正常であると判定された場合には、ステップ１０４に進み、バックアップＲＡＭ４８に記憶されているシフトレンジを現在レンジ（現在のシフトレンジ）として判定する。
【００４０】
この後、ステップ１０５に進み、基準位置を学習するために突き当て制御を実施する。この際、Ｐレンジ側の基準位置を学習する場合には、Ｐレンジ壁突き当て制御を実施する。このＰレンジ壁突き当て制御では、ディテントバネ２３の係合部２３ａがレンジ切換機構１１の可動範囲のＰレンジ側の限界位置であるＰレンジ壁に突き当たるまでモータ１２を回転させる。一方、ＮｏｔＰレンジ側の基準位置を学習する場合には、ＮｏｔＰレンジ壁突き当て制御を実施する。このＮｏｔＰレンジ壁突き当て制御では、ディテントバネ２３の係合部２３ａがレンジ切換機構１１の可動範囲のＮｏｔＰレンジ側の限界位置であるＮｏｔＰレンジ壁に突き当たるまでモータ１２を回転させる。
【００４１】
この後、ステップ１０６に進み、現在レンジ（突き当て制御開始前のシフトレンジ）がＰレンジであるか否かを判定する。このステップ１０６で、現在レンジがＰレンジであると判定された場合には、ステップ１０７に進み、Ｐレンジ壁突き当て制御を実施したか否かを判定する。
【００４２】
このステップ１０７で、Ｐレンジ壁突き当て制御を実施したと判定された場合（つまり現在のシフトレンジ側の限界位置に突き当たるまでモータ１２を回転させる突き当て制御を行った場合）には、ステップ１０８に進む。このステップ１０８で、Ｐレンジ壁突き当て制御によるエンコーダカウント値の変化量が所定値Ａ（第２の所定値）以上であるか否かを判定する。この所定値Ａは、例えば、Ｐレンジに相当する回転位置（係合部２３ａがＰレンジ保持凹部２４に嵌まり込む位置）からＰレンジ側の限界位置に相当する回転位置（係合部２３ａがＰレンジ壁に突き当たる位置）までの回転量の設計値やモータ１２の回転伝達系の遊び（ガタ）等に基づいて設定される。この所定値Ａは、後述する所定値Ｂよりも小さい値である。
【００４３】
このステップ１０８で、エンコーダカウント値の変化量が所定値Ａ以上であると判定された場合には、モータ１２がＰレンジ側の限界位置まで回転したと判断して、ステップ１０９に進み、Ｐレンジ側の限界位置をＰレンジ側の基準位置として学習する。
【００４４】
これに対して、上記ステップ１０８で、エンコーダカウント値の変化量が所定値Ａに達していないと判定された場合には、モータ１２のトルク低下や異物等によってモータ１２がＰレンジ側の限界位置まで回転できない異常が発生したと判断して、ステップ１１０に進み、Ｐレンジ側の基準位置の学習を禁止する。これにより、Ｐレンジ側の限界位置ではない位置を基準位置として誤学習してしまうことを防止する。
【００４５】
この後、ステップ１１１に進み、異常を通知する。この場合、例えば、異常フラグをＯＮにセットして、警告ランプや警告表示部で運転者に警告すると共に、Ｐレンジ側の基準位置を学習できない等の異常情報をバックアップＲＡＭ４８等に記憶する。
【００４６】
一方、上記ステップ１０７で、Ｐレンジ壁突き当て制御を実施していない（ＮｏｔＰレンジ壁突き当て制御を実施した）と判定された場合（つまり現在のシフトレンジと異なる他のシフトレンジ側の限界位置に突き当たるまでモータ１２を回転させる突き当て制御を行った場合）には、ステップ１１２に進む。このステップ１１２で、ＮｏｔＰレンジ壁突き当て制御によるエンコーダカウント値の変化量が所定値Ｂ（第１の所定値）以上であるか否かを判定する。この所定値Ｂは、例えば、Ｐレンジに相当する回転位置（係合部２３ａがＰレンジ保持凹部２４に嵌まり込む位置）からＮｏｔＰレンジ側の限界位置に相当する回転位置（係合部２３ａがＮｏｔＰレンジ壁に突き当たる位置）までの回転量の設計値やモータ１２の回転伝達系の遊び等に基づいて設定される。
【００４７】
このステップ１１２で、エンコーダカウント値の変化量が所定値Ｂ以上であると判定された場合には、モータ１２がＮｏｔＰレンジ側の限界位置まで回転したと判断して、ステップ１１３に進み、ＮｏｔＰレンジ側の限界位置をＮｏｔＰレンジ側の基準位置として学習する。
【００４８】
これに対して、上記ステップ１１２で、エンコーダカウント値の変化量が所定値Ｂに達していないと判定された場合には、モータ１２のトルク低下や異物等によってモータ１２がＮｏｔＰレンジ側の限界位置まで回転できない異常が発生したと判断して、ステップ１１４に進み、ＮｏｔＰレンジ側の基準位置の学習を禁止する。これにより、ＮｏｔＰレンジ側の限界位置ではない位置を基準位置として誤学習してしまうことを防止する。
【００４９】
この後、ステップ１１５に進み、異常を通知する。この場合、例えば、異常フラグをＯＮにセットして、警告ランプや警告表示部で運転者に警告すると共に、ＮｏｔＰレンジ側の基準位置を学習できない等の異常情報をバックアップＲＡＭ４８等に記憶する。
【００５０】
一方、上記ステップ１０６で、現在レンジがＰレンジではない（ＮｏｔＰレンジである）と判定された場合には、図４のステップ１１６に進み、ＮｏｔＰレンジ壁突き当て制御を実施したか否かを判定する。
【００５１】
このステップ１１６で、ＮｏｔＰレンジ壁突き当て制御を実施したと判定された場合（つまり現在のシフトレンジ側の限界位置に突き当たるまでモータ１２を回転させる突き当て制御を行った場合）には、ステップ１１７に進む。このステップ１１７で、ＮｏｔＰレンジ壁突き当て制御によるエンコーダカウント値の変化量が所定値Ｃ（第２の所定値）以上であるか否かを判定する。この所定値Ｃは、例えば、ＮｏｔＰレンジに相当する回転位置（係合部２３ａがＮｏｔＰレンジ保持凹部２５に嵌まり込む位置）からＮｏｔＰレンジ側の限界位置に相当する回転位置（係合部２３ａがＮｏｔＰレンジ壁に突き当たる位置）までの回転量の設計値やモータ１２の回転伝達系の遊び等に基づいて設定される。この所定値Ｃは、後述する所定値Ｄよりも小さい値である。
【００５２】
このステップ１１７で、エンコーダカウント値の変化量が所定値Ｃ以上であると判定された場合には、モータ１２がＮｏｔＰレンジ側の限界位置まで回転したと判断して、ステップ１１８に進み、ＮｏｔＰレンジ側の限界位置をＮｏｔＰレンジ側の基準位置として学習する。
【００５３】
これに対して、上記ステップ１１７で、エンコーダカウント値の変化量が所定値Ｃに達していないと判定された場合には、モータ１２のトルク低下や異物等によってモータ１２がＮｏｔＰレンジ側の限界位置まで回転できない異常が発生したと判断して、ステップ１１９に進み、ＮｏｔＰレンジ側の基準位置の学習を禁止する。これにより、ＮｏｔＰレンジ側の限界位置ではない位置を基準位置として誤学習してしまうことを防止する。
【００５４】
この後、ステップ１２０に進み、異常を通知する。この場合、例えば、異常フラグをＯＮにセットして、警告ランプや警告表示部で運転者に警告すると共に、ＮｏｔＰレンジ側の基準位置を学習できない等の異常情報をバックアップＲＡＭ４８等に記憶する。
【００５５】
一方、上記ステップ１１６で、ＮｏｔＰレンジ壁突き当て制御を実施していない（Ｐレンジ壁突き当て制御を実施した）と判定された場合（つまり現在のシフトレンジと異なる他のシフトレンジ側の限界位置に突き当たるまでモータ１２を回転させる突き当て制御を行った場合）には、ステップ１２１に進む。このステップ１２１で、Ｐレンジ壁突き当て制御によるエンコーダカウント値の変化量が所定値Ｄ（第１の所定値）以上であるか否かを判定する。この所定値Ｄは、例えば、ＮｏｔＰレンジに相当する回転位置（係合部２３ａがＮｏｔＰレンジ保持凹部２５に嵌まり込む位置）からＰレンジ側の限界位置に相当する回転位置（係合部２３ａがＰレンジ壁に突き当たる位置）までの回転量の設計値やモータ１２の回転伝達系の遊び等に基づいて設定される。
【００５６】
このステップ１２１で、エンコーダカウント値の変化量が所定値Ｄ以上であると判定された場合には、モータ１２がＰレンジ側の限界位置まで回転したと判断して、ステップ１２２に進み、Ｐレンジ側の限界位置をＰレンジ側の基準位置として学習する。
【００５７】
これに対して、上記ステップ１２１で、エンコーダカウント値の変化量が所定値Ｄに達していないと判定された場合には、モータ１２のトルク低下や異物等によってモータ１２がＰレンジ側の限界位置まで回転できない異常が発生したと判断して、ステップ１２３に進み、Ｐレンジ側の基準位置の学習を禁止する。これにより、Ｐレンジ側の限界位置ではない位置を基準位置として誤学習してしまうことを防止する。
【００５８】
この後、ステップ１２４に進み、異常を通知する。この場合、例えば、異常フラグをＯＮにセットして、警告ランプや警告表示部で運転者に警告すると共に、Ｐレンジ側の基準位置を学習できない等の異常情報をバックアップＲＡＭ４８等に記憶する。
【００５９】
以上説明した本実施例では、ＮｏｔＰレンジ側の基準位置を学習するために現在レンジがＰレンジでＮｏｔＰレンジ壁突き当て制御を実施したときに、エンコーダカウント値の変化量が所定値Ｂに達したか否かを判定する。その結果、エンコーダカウント値の変化量が所定値Ｂに達していないと判定された場合には、モータ１２のトルク低下や異物等によってモータ１２がＮｏｔＰレンジ側の限界位置まで回転できない異常が発生したと判断して、ＮｏｔＰレンジ側の基準位置の学習を禁止すると共に異常を通知する。これにより、ＮｏｔＰレンジ側の限界位置ではない位置を基準位置として誤学習してしまうことを防止することができ、基準位置の誤学習による不具合（例えばＮｏｔＰレンジではないシフトレンジをＮｏｔＰレンジと誤認識する不具合）を防止することができる。
【００６０】
一方、Ｐレンジ側の基準位置を学習するために現在レンジがＮｏｔＰレンジでＰレンジ壁突き当て制御を実施したときに、エンコーダカウント値の変化量が所定値Ｄに達したか否かを判定する。その結果、エンコーダカウント値の変化量が所定値Ｄに達していないと判定された場合には、モータ１２のトルク低下や異物等によってモータ１２がＰレンジ側の限界位置まで回転できない異常が発生したと判断して、Ｐレンジ側の基準位置の学習を禁止すると共に異常を通知する。これにより、Ｐレンジ側の限界位置ではない位置を基準位置として誤学習してしまうことを防止することができ、基準位置の誤学習による不具合（例えばＰレンジではないシフトレンジをＰレンジと誤認識する不具合）を防止することができる。
【００６１】
更に、本実施例では、マイコン４１の電源オン中にシフトレンジが切り換えられる毎に切り換え後のシフトレンジを記憶すると共にマイコン４１の電源オフ中も記憶データを保持するバックアップＲＡＭ４８を備えている。これにより、マイコン４１の起動直後で基準位置の学習前でも、バックアップＲＡＭ４８の記憶データに基づいて現在のシフトレンジ（前回のマイコン４１の電源オフ直前のシフトレンジ）を判定することができる。
【００６２】
また、本実施例では、Ｐレンジ側の基準位置を学習するために現在レンジがＰレンジでＰレンジ壁突き当て制御を実施したときに、エンコーダカウント値の変化量が所定値Ａに達したか否かを判定する。その結果、エンコーダカウント値の変化量が所定値Ａに達していないと判定された場合には、モータ１２のトルク低下や異物等によってモータ１２がＰレンジ側の限界位置まで回転できない異常が発生したと判断して、Ｐレンジ側の基準位置の学習を禁止すると共に異常を通知する。これにより、Ｐレンジ側の限界位置ではない位置を基準位置として誤学習してしまうことを防止することができ、基準位置の誤学習による不具合を防止することができる。
【００６３】
一方、ＮｏｔＰレンジ側の基準位置を学習するために現在レンジがＮｏｔＰレンジでＮｏｔＰレンジ壁突き当て制御を実施したときに、エンコーダカウント値の変化量が所定値Ｃに達したか否かを判定する。その結果、エンコーダカウント値の変化量が所定値Ｃに達していないと判定された場合には、モータ１２のトルク低下や異物等によってモータ１２がＮｏｔＰレンジ側の限界位置まで回転できない異常が発生したと判断して、ＮｏｔＰレンジ側の基準位置の学習を禁止すると共に異常を通知する。これにより、ＮｏｔＰレンジ側の限界位置ではない位置を基準位置として誤学習してしまうことを防止することができ、基準位置の誤学習による不具合を防止することができる。
【００６４】
尚、上記実施例では、エンコーダカウント値の変化量が所定値に達していない場合に、基準位置の学習禁止と異常通知を両方とも実施するようにしたが、これに限定されず、基準位置の学習禁止と異常通知のうちの一方のみを実施するようにしても良い。
【００６５】
また、上記実施例では、エンコーダ４６として磁気式のエンコーダを用いたが、これに限定されず、エンコーダ４６は、例えば、光学式のエンコーダやブラシ式のエンコーダを用いても良い。また、エンコーダ４６は、Ａ相信号とＢ相信号を出力するエンコーダに限定されず、Ａ相、Ｂ相信号に加え、補正用（インデックス用）のＺ相信号を出力するエンコーダを用いても良い。
【００６６】
また、マニュアルシャフト１３（又はディテントレバー１５）の回転角（回転位置）を検出する回転センサを設けるようにしても良い。この回転センサは、マニュアルシャフト１３（又はディテントレバー１５）の回転角度に応じた電圧を出力するセンサ（例えばポテンショメータ）で構成し、その出力電圧によって実際のシフトレンジが、ＰレンジとＮｏｔＰレンジのいずれであるかを確認できるようにしても良い。
【００６７】
また、上記実施例では、モータ１２としてスイッチトリラクタンスモータ（ＳＲモータ）を用いたが、エンコーダの出力信号のカウント値に基づいてモータの回転位置を検出してモータの通電相を順次切り換えるブラシレス型の同期モータであれば、ＳＲモータに限定されず、他の種類のブラシレス型の同期モータであっても良い。
【００６８】
また、上記実施例では、シフトレンジをＰレンジとＮｏｔＰレンジの二つのレンジ間で切り換えるレンジ切換機構を備えたシステムに本発明を適用したが、これに限定されず、例えば、シフトレンジをＰレンジとＲレンジとＮレンジとＤレンジの四つのレンジ間で切り換えるレンジ切換機構を備えたシステムに本発明を適用しても良い。或は、シフトレンジを三つのレンジ間又は五つ以上のレンジ間で切り換えるレンジ切換機構を備えたシステムに本発明を適用しても良い。
【００６９】
その他、本発明は、自動変速機（ＡＴ、ＣＶＴ、ＤＣＴ等）に限定されず、電気自動車用の減速機のシフトレンジを切り換えるレンジ切換制御装置に適用しても良い等、要旨を逸脱しない範囲内で種々変更して実施できる。
【符号の説明】
【００７０】
１１…レンジ切換機構、１２…モータ、４１…マイコン（制御手段）、４６…エンコーダ、４８…バックアップＲＡＭ（記憶手段）
【図１】
0006525521.tif 000002
【図２】
0006525521.tif 000003
【図３】
0006525521.tif 000004
【図４】
0006525521.tif 000005