(57)【要約】  【課題】  モータの回転を制御対象に伝達する回転伝達系に遊び（ガタ）が存在するシステムにおいて、回転伝達系の遊び量を学習する前でも、回転伝達系のガタの影響を受けずに制御対象の操作量を精度良く制御することができるようにする。  【解決手段】  回転伝達系の遊び量が学習される前は、レンジを切り換える際に、モータの回転位置を本来の目標レンジ位置を越えてオーバーシュートさせてから逆戻りさせるオーバーシュート制御を実行する。この場合、モータのオーバーシュート量と逆戻り量とは同一に設定し、且つ、オーバーシュート量は、回転伝達系の設計上の遊び量の最大値に設定する。回転伝達系の遊び量が学習された後は、レンジを切り換える際に、遊び量の学習値とモータの回転方向を考慮して目標カウント値を設定し、モータをオーバーシュートさせることなく、エンコーダカウント値が目標カウント値に一致した位置でモータを停止させる。  【選択図】  図５
2006136035.tif 000002
【特許請求の範囲】
【請求項１】
制御対象の操作位置を切り換える駆動源としてモータを用い、該モータの回転位置を制御することで前記制御対象の操作位置を切り換えるモータ制御装置において、
前記制御対象の操作位置を切り換える際に前記モータの回転位置を切り換え先の操作位置に対応する目標位置を越えてオーバーシュートさせてから逆戻りさせるオーバーシュート制御を実行する制御手段を備えていることを特徴とするモータ制御装置。
【請求項２】
前記モータのオーバーシュート量と逆戻り量とは同一に設定されていることを特徴とする請求項１に記載のモータ制御装置。
【請求項３】
前記モータのオーバーシュート量は、該モータの回転を前記制御対象に伝達する回転伝達系の遊び量の最大値又はそれよりも少し大きい値に設定されていることを特徴とする請求項１又は２に記載のモータ制御装置。
【請求項４】
前記モータを前記制御対象の可動範囲の限界位置に突き当たるまで回転させてその回転伝達系の遊び量を学習する学習手段を備え、
前記制御手段は、前記学習手段により前記遊び量が学習される前は、前記制御対象の操作位置を切り換える際に前記オーバーシュート制御を実行し、前記学習手段により前記遊び量が学習された後は、前記制御対象の操作位置を切り換える際に、前記遊び量の学習値と前記モータの回転方向を考慮して前記目標位置を設定し、前記モータをオーバーシュートさせることなく該目標位置で停止させることを特徴とする請求項１乃至３のいずれかに記載のモータ制御装置。
【請求項５】
前記制御手段は、前記モータの回転方向が前回のオーバーシュート制御による逆戻り動作と同じ方向となる場合には、前記オーバーシュート制御を実行せずに前記モータの回転位置を切り換え先の操作位置に対応する目標位置に制御することを特徴とする請求項１乃至４のいずれかに記載のモータ制御装置。
【請求項６】
前記制御対象は、車両の自動変速機のレンジを切り換えるレンジ切換機構であることを特徴とする請求項１乃至５のいずれかに記載のモータ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御対象の操作位置を切り換えるモータの回転位置を制御するモータ制御装置に関する発明である。
【背景技術】
【０００２】
近年、自動車においても、省スペース化、組立性向上、制御性向上等の要求を満たすために、機械的な駆動システムを、モータによって電気的に駆動するシステムに変更する事例が増加する傾向にある。その一例として、特許文献１（特開２００２−３２３１２７号公報）に示すように、車両の自動変速機のレンジ切換機構をモータで駆動するようにしたものがある。このものは、モータの回転軸に減速機構を介して出力軸を連結し、この出力軸によってレンジ切換機構を駆動して自動変速機のレンジを切り換えるようにしている。この場合、モータには、回転角を検出するエンコーダを搭載し、レンジ切換時には、このエンコーダの出力パルスのカウント値に基づいてモータを目標のレンジに相当する目標位置（目標カウント値）まで回転させることで、レンジ切換機構を目標のレンジに切り換えるようにしている。
【０００３】
ところで、モータの回転量（回転角）は、減速機構等の回転伝達系を介して制御対象の回転量（レンジ切換機構の操作量）に変換されるが、回転伝達系を構成する部品間には、遊び（ガタ）が存在する。例えば、減速機構の歯車間に遊び（バックラッシ）があり、また、減速機構の回転軸の先端部に形成した断面非円形（角形、Ｄカット形状等）の連結部を制御対象の連結軸の嵌合穴に嵌め込んで連結する構成では、両者の嵌め込み作業を容易にするためのクリアランスが必要となる。このように、モータの回転量を制御対象の操作量に変換する回転伝達系には、遊び（ガタ）が存在するため、回転角センサの検出値に基づいてモータの回転角を正確に制御しても、制御対象の連結軸の回転角（レンジ切換機構の操作量）には回転伝達系の遊び（ガタ）分の誤差が生じてしまい、レンジ切換機構の操作量を精度良く制御することができない。
【０００４】
そこで、特許文献２（特開２００４−２３９３２号公報）に示すように、モータをレンジ切換機構の可動範囲の限界位置（壁）に突き当たるまで回転させる突き当て制御を行って回転伝達系の遊び量を学習し、この学習値を考慮して目標位置を設定（補正）する技術が研究されている。
【特許文献１】特開２００２−３２３１２７号公報（第３頁〜第４頁等）
【特許文献２】特開２００４−２３９３２号公報（第１頁等）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、上記特許文献２では、回転伝達系の遊び量を学習する際に、レンジ切換機構の可動範囲の一方の限界位置（壁）への突き当て制御を実施した後、他方の限界位置（壁）への突き当て制御を実施して、一方の限界位置から他方の限界位置までモータが回転する間に出力されるエンコーダ信号をカウントすることでレンジ切換機構の可動範囲を実測し、この可動範囲の実測値と設計値との差分を回転伝達系の遊び量として学習するようにしている。
【０００６】
上記特許文献２に記載されたレンジ切換機構は、２つのレンジ（ＰレンジとＮｏｔＰレンジ）のみを切り換える構成であるため、エンジン始動後に最初にＰレンジ又はＮｏｔＰレンジに切り換える際に、Ｐレンジ側及びＮｏｔＰレンジ側の突き当て制御を順次実施して回転伝達系の遊び量を学習することができる。
【０００７】
しかし、例えば、Ｐ、Ｒ、Ｎ、Ｄの４つのレンジを切り換える場合は、回転伝達系の遊び量を学習する際に、Ｐレンジ側の突き当て制御を実施した後、Ｐ→Ｒ→Ｎ→Ｄの順にレンジを切り換えてＤレンジ側の突き当て制御を実施する必要がある。このため、エンジン始動後にＰ、Ｒ、Ｎの間でレンジを切り換える間は、Ｄレンジ側の突き当て制御を実施することができない（エンジン運転中に運転者の意思に反して勝手にＤレンジに切り換えると、不用意に車両が前進してしまう懸念があるためである）。このため、運転者がシフトレバーをＤレンジに切り換えるまでは、回転伝達系の遊び量を学習することができず、レンジ切換機構の操作量に回転伝達系の遊び（ガタ）分の誤差が生じてしまい、運転者のシフトレバーの操作通りにレンジを切り換えれない可能性がある。
【０００８】
本発明はこのような事情を考慮してなされたものであり、従ってその目的は、モータの回転を制御対象に伝達する回転伝達系に遊び（ガタ）が存在するシステムにおいて、回転伝達系の遊び量を学習する前でも、回転伝達系の遊び（ガタ）の影響を受けずに制御対象の操作量を精度良く制御することができ、制御対象の操作位置の切り換え精度を向上させることができるモータ制御装置を提供することにある。
【課題を解決するための手段】
【０００９】
モータの回転を制御対象に伝達する回転伝達系に遊び（ガタ）が存在するシステムでは、モータの回転開始当初は、回転伝達系のガタが無くなるまでモータのみが空転し、その後、モータの回転が制御対象に伝達される。従って、モータの回転位置を切り換え先の操作位置に対応する目標位置まで回転させただけでは、モータの回転開始当初の空転量（遊び量）分だけ制御対象の操作量が不足することになる。
【００１０】
この点を考慮して、請求項１に係る発明は、モータの回転位置を制御して制御対象の操作位置を切り換える際に、モータの回転位置を切り換え先の操作位置に対応する目標位置を越えてオーバーシュートさせてから逆戻りさせるオーバーシュート制御を実行するようにしている。このようにすれば、モータの回転開始当初に、回転伝達系の遊び（ガタ）が無くなるまでモータのみが空転しても、オーバーシュート制御によってモータの回転開始当初の空転量（遊び量）分だけモータを余分に回転させて制御対象の操作位置を目標とする操作位置に切り換えることが可能となると共に、モータをオーバーシュート位置から逆戻りさせる際に、制御対象の操作位置を逆戻りさせずに、回転伝達系の遊び（ガタ）分だけモータのみを空転させることが可能となる。これにより、回転伝達系の遊び量を学習する前でも、回転伝達系の遊び（ガタ）の影響を受けずに制御対象の操作量を精度良く制御することができ、制御対象の操作位置の切り換え精度を向上させることができる。
【００１１】
この場合、請求項２のように、モータのオーバーシュート量と逆戻り量とを同一に設定するようにすると良い。仮に、モータのオーバーシュート量が回転伝達系の実際の遊び量よりも大きくなると、制御対象の操作位置がオーバーシュート量と遊び量との差分だけ目標とする操作位置を通り越すようになるが、このような場合でも、オーバーシュート量と逆戻り量とを同一に設定することで、モータの逆戻りによって制御対象の操作位置を目標とする操作位置まで確実に逆戻りさせることができる。
【００１２】
もし、モータのオーバーシュート量が回転伝達系の遊び量よりも小さいと、モータのオーバーシュート量が回転開始当初の空転量よりも小さくなって、制御対象の操作量が少し不足することになる。反対に、モータのオーバーシュート量が大きくなり過ぎると、オーバーシュート制御による制御対象の切換制御の遅れが無視できなくなる可能性がある。
【００１３】
この点を考慮して、請求項３のように、モータのオーバーシュート量を回転伝達系の遊び量の最大値又はそれよりも少し大きい値に設定すると良い。このようにすれば、常にモータのオーバーシュート量が回転開始当初の空転量（遊び量）以上となり、制御対象の操作位置を目標とする操作位置に確実に切り換えることができると共に、オーバーシュート制御による制御対象の切換制御の遅れを必要最小限にとどめることができる。
【００１４】
また、モータを制御対象の可動範囲の限界位置に突き当たるまで回転させて回転伝達系の遊び量を学習する学習手段を備えたシステムに本発明を適用する場合は、請求項４のように、遊び量が学習される前は、制御対象の操作位置を切り換える際に前記オーバーシュート制御を実行し、遊び量が学習された後は、制御対象の操作位置を切り換える際に、遊び量の学習値とモータの回転方向を考慮して目標位置を設定し、モータをオーバーシュートさせることなく該目標位置で停止させるようにすると良い。このようにすれば、遊び量を学習する前のみ、オーバーシュート制御が実行され、遊び量が学習された後は、オーバーシュート制御が実行されないため、制御対象の操作位置を応答良く切り換えることができる。
【００１５】
ところで、モータの回転方向が前回のオーバーシュート制御による逆戻り動作と同じ方向となる場合には、モータの回転開始当初から回転伝達系のガタが詰められた状態になっているため、モータの回転開始当初からモータが空転することなく、モータの回転量（回転角度）がそのまま全て制御対象の操作量に変換される。
【００１６】
この点を考慮して、請求項５のように、モータの回転方向が前回のオーバーシュート制御による逆戻り動作と同じ方向となる場合には、オーバーシュート制御を実行せずにモータの回転位置を切り換え先の操作位置に対応する目標位置に制御するようにすると良い。このようにすれば、モータの回転方向が前回のオーバーシュート制御による逆戻り動作と同じ方向となる場合に、オーバーシュート制御が実行されないため、制御対象の操作位置を応答良く切り換えることができる。
【００１７】
以上説明した請求項１〜５に係る発明は、モータを駆動源とする様々な位置切換装置に適用でき、例えば、請求項６のように、車両の自動変速機のレンジを切り換えるレンジ切換機構をモータで切り換えるシステムに本発明を適用しても良い。これにより、信頼性の高いモータ駆動式のレンジ切換機構を構成することができる。
【発明を実施するための最良の形態】
【００１８】
以下、本発明を実施するための最良の形態を自動変速機のレンジ切換制御装置にて具体化した一実施例を説明する。
【００１９】
まず、図１及び図２に基づいてレンジ切換機構１１の構成を説明する。レンジ切換機構１１は、自動変速機１２のレンジを、パーキングレンジ（Ｐ）、リバースレンジ（Ｒ）、ニュートラルレンジ（Ｎ）、ドライブレンジ（Ｄ）に切り換えるためのものである。このレンジ切換機構１１の駆動源となるモータ１３は、例えばスイッチトリラクタンスモータ（ＳＲモータ）等の同期モータにより構成され、減速機構１４（図２参照）を内蔵し、この減速機構１４の回転軸に嵌合連結された出力軸１５の回転角を検出する出力軸センサ１６が設けられている。この出力軸センサ１６は、モータ１３の減速機構１４の出力軸１５の回転角に応じて出力電圧がリニアに変化する回転角センサ（例えばポテンショメータ）によって構成され、その出力電圧によって現在の出力軸１５の回転角、ひいては現在のレンジがＰレンジ、Ｒレンジ、Ｎレンジ、Ｄレンジのいずれであるかを確認できるようになっている。
【００２０】
上記出力軸１５には、自動変速機１２の油圧回路のマニュアルバルブ１７を切り換えるためのディテントレバー１８が固定されている。このディテントレバー１８にはＬ字形のパーキングロッド１９が固定され、このパーキングロッド１９の先端部に設けられた円錐体２０がロックレバー２１に当接している。このロックレバー２１は、円錐体２０の位置に応じて軸２２を中心にして上下動してパーキングギヤ２３をロック／ロック解除するようになっている。このパーキングギヤ２３は、自動変速機１２の出力軸に設けられ、このパーキングギヤ２３がロックレバー２１によってロックされると、車両の駆動輪が回り止めされた状態（パーキング状態）に保持される。
【００２１】
また、ディテントレバー１８には、マニュアルバルブ１７のスプール弁２４が連結され、モータ１３によって出力軸１５と一体にディテントレバー１８を回動させることで、マニュアルバルブ１７の操作量（スプール弁２４の位置）を切り換えて、自動変速機１２のレンジを、Ｐレンジ、Ｒレンジ、Ｎレンジ、Ｄレンジのいずれかに切り換える。ディテントレバー１８には、スプール弁２４を上記各レンジに対応する位置に保持するための４個の保持凹部２５（図３参照）が形成されている。
【００２２】
一方、ディテントレバー１８を各レンジに対応する位置に保持するためのディテントバネ２６がマニュアルバルブ１７に固定され、このディテントバネ２６の先端に設けられた係合部２７がディテントレバー１８の目標レンジの保持凹部２５に嵌まり込むことで、ディテントレバー１８が目標レンジの回転角で保持されて、マニュアルバルブ１７のスプール弁２４の位置が目標レンジの位置で保持されるようになっている。
【００２３】
Ｐレンジでは、パーキングロッド１９がロックレバー２１に接近する方向に移動して、円錐体２０の太い部分がロックレバー２１を押し上げてロックレバー２１の凸部２１ａがパーキングギヤ２３に嵌まり込んでパーキングギヤ２３をロックした状態となり、それによって、自動変速機１２の出力軸（駆動輪）がロックされた状態（パーキング状態）に保持される。
【００２４】
一方、Ｐレンジ以外のレンジでは、パーキングロッド１９がロックレバー２１から離れる方向に移動して、円錐体２０の太い部分がロックレバー２１から抜け出てロックレバー２１が下降し、それによって、ロックレバー２１の凸部２１ａがパーキングギヤ２０から外れてパーキングギヤ２０のロックが解除され、自動変速機１２の出力軸が回転可能な状態（走行可能な状態）に保持される。
【００２５】
モータ１３には、ロータの回転角を検出するためのエンコーダ３１が設けられている。このエンコーダ３１は、例えば磁気式のロータリエンコーダにより構成されており、モータ１３のロータの回転に同期してＡ相、Ｂ相、Ｚ相のパルス信号をレンジ切換制御装置３２に出力するように構成されている。レンジ切換制御装置３２のＥＣＵ３３（制御手段）は、エンコーダ３１から出力されるＡ相信号とＢ相信号の立ち上がり／立ち下がりの両方のエッジをカウントして、そのエンコーダカウント値に応じてモータドライバ３４，３５によってモータ１３の通電相を所定の順序で切り換えることでモータ１３を回転駆動する。
【００２６】
この際、Ａ相信号とＢ相信号の発生順序によってロータの回転方向を判定し、正回転（Ｐレンジ→Ｄレンジの回転方向）ではエンコーダカウント値をカウントアップし、逆回転（Ｄレンジ→Ｐレンジの回転方向）ではエンコーダカウント値をカウントダウンする。これにより、モータ１３が正回転／逆回転のいずれの方向に回転しても、エンコーダカウント値とモータ１３の回転角との対応関係が維持されるため、正回転／逆回転のいずれの回転方向でも、エンコーダカウント値によってモータ１３の回転角を検出して、その回転角に対応した相の巻線に通電してモータ１３を回転駆動する。尚、エンコーダ３１のＺ相信号は、モータ１３のロータの基準回転角を検出するのに用いられる。
【００２７】
ところで、モータ１３の回転量（回転角度）は、減速機構１４、出力軸１５、ディテントレバー１８等からなる回転伝達系を介してレンジ切換機構１１の操作量（パーキングロッド１９のスライド量）に変換されるが、回転伝達系を構成する部品間には、遊び（ガタ）が存在する。例えば、減速機構１４の歯車間のバックラッシが存在し、また、モータ１３の回転軸の先端部に形成した断面非円形の連結部を出力軸１５の嵌合穴に嵌め込んで連結する構成では、両者の嵌め込み作業を容易にするためのクリアランスが必要となる。
【００２８】
また、図３に示すように、ディテントバネ２６の係合部２７がディテントレバー１８のＰレンジ側やＤレンジ側の各保持凹部２５に嵌まり込んだときに、係合部２７と各保持凹部２５の側壁との間に僅かな隙間（ガタ）が存在する。このように、モータ１３の回転量をレンジ切換機構１１の操作量（パーキングロッド１９のスライド量）に変換する回転伝達系には、バックラッシや部品間の隙間等による遊び（ガタ）が存在するため、エンコーダカウント値に基づいてモータ１３の回転量（回転角度）を正確に制御しても、レンジ切換機構１１の操作量には回転伝達系の遊び（ガタ）分の誤差が生じてしまい、レンジ切換機構１１の操作量を精度良く制御することができない。
【００２９】
そこで、本実施例では、回転伝達系の遊び量を学習する機能（学習手段）をＥＣＵ３３に持たせている。具体的には、回転伝達系の遊び量を学習する際に、ディテントバネ２６の係合部２７がレンジ切換機構１１の可動範囲のＰレンジ側の限界位置であるＰレンジ保持凹部２５の側壁（以下「Ｐレンジ壁」という）に突き当たるまでモータ１３を逆回転させる“Ｐレンジ壁突き当て制御”を実施して、Ｐレンジ壁位置のエンコーダカウント値Ｎｐ（Ｐレンジ壁位置学習値）を学習すると共に、レンジ切換機構１１の可動範囲のＤレンジ側の限界位置であるＤレンジ保持凹部２５の側壁（以下「Ｄレンジ壁」という）に突き当たるまでモータ１３を回転させる“Ｄレンジ壁突き当て制御”を実施して、Ｄレンジ壁位置のエンコーダカウント値Ｎｄｓ（Ｄレンジ壁位置学習値）を学習する。この後、Ｐレンジ壁位置からＤレンジ壁位置までのエンコーダカウント値の増減量（Ｎｄｓ−Ｎｐ）をレンジ切換機構１１の可動範囲の実測値として求めた後、この可動範囲の実測値と該可動範囲の設計値との差分を回転伝達系の遊び量として学習する。この後は、モータ１３を目標位置（目標カウント値）まで回転させる際に、当該目標位置を回転伝達系の遊び量の学習値とモータ１３の回転方向を考慮して設定する。このようにすれば、回転伝達系に遊び（ガタ）があっても、その遊び（ガタ）を含めた目標位置を設定することができ、レンジ切換機構１１の操作量を精度良く制御することができる。
【００３０】
本実施例のレンジ切換機構１１は、Ｐ、Ｒ、Ｎ、Ｄの４つのレンジを切り換える構成であるため、回転伝達系の遊び量を学習する際に、Ｐレンジ壁突き当て制御を実施した後、Ｐ→Ｒ→Ｎ→Ｄの順にレンジを切り換えてＤレンジ壁突き当て制御を実施する必要がある。このため、エンジン始動後にＰ、Ｒ、Ｎの間でレンジを切り換える間は、Ｄレンジ壁突き当て制御を実施することができない（エンジン運転中に運転者の意思に反して勝手にＤレンジに切り換えると、不用意に車両が前進してしまう懸念があるためである）。このため、運転者がシフトレバーをＤレンジに切り換えるまでは、回転伝達系の遊び量を学習することができず、レンジ切換機構１１の操作量に回転伝達系の遊び（ガタ）分の誤差が生じてしまい、運転者のシフトレバーの操作通りにレンジを切り換えれない可能性がある。
【００３１】
そこで、本実施例では、回転伝達系の遊び量が学習される前は、レンジを切り換える際に、モータ１３の回転位置を本来の目標レンジ位置を越えてオーバーシュートさせてから逆戻りさせるオーバーシュート制御を実行する。この場合、モータ１３のオーバーシュート量と逆戻り量とは同一に設定され、且つ、オーバーシュート量は、回転伝達系の設計上の遊び量の最大値ΔＧmax に設定されている。回転伝達系の遊び量が学習された後は、レンジを切り換える際に、遊び量の学習値とモータ１３の回転方向を考慮して目標カウント値（目標位置）を設定し、モータ１３をオーバーシュートさせることなく、エンコーダカウント値が目標カウント値に一致した位置でモータ１３を停止させる。
【００３２】
ここで、図４乃至図６を用いて、遊び量学習前にＰレンジとＮレンジとの間でレンジを切り換える制御方法を説明する。一般に、イグニッションスイッチのオン操作時（エンジン始動時）には、自動変速機１２のシフトレバーがＰレンジ（目標レンジがＰレンジ）であるため、イグニッションスイッチのオン操作直後に、ディテントバネ２６の係合部２７がＰレンジ壁に突き当たるまでモータ１３を逆回転させるＰレンジ壁突き当て制御を実施してＰレンジ壁位置のエンコーダカウント値Ｎｐ（Ｐレンジ壁位置学習値）を求める。
【００３３】
この後、図５の時刻ｔ1 で、シフトレバーがＰレンジからＲレンジに操作されて、目標レンジがＲレンジに切り換えられると、目標カウント値がＲレンジの設計上の目標カウント値（Ｎｐ＋Ｎｒ）にオーバーシュート量ΔＧmax を加算した値（Ｎｐ＋Ｎｒ＋ΔＧmax ）にセットされる。この際、オーバーシュート量ΔＧmax は、回転伝達系の設計上の遊び量の最大値に設定される。これにより、モータ１３がＰレンジからＲレンジの方向（正回転方向）に回転して、ディテントレバー１８の操作位置が本来のＲレンジの目標位置に到達し、モータ１３の回転位置が本来のＲレンジの目標位置を越えてオーバーシュートする。
【００３４】
このオーバーシュート動作を終了した時点ｔ2 で、目標カウント値が本来のＲレンジの目標カウント値（Ｎｐ＋Ｎｒ）に戻される。これにより、モータ１３の回転位置がオーバーシュート量ΔＧmax （設計上の遊び量の最大値）分だけ逆戻りする。この際、ディテントレバー１８は逆戻りせずに、回転伝達系の遊び（ガタ）分だけモータ１３のみが空転することになる。
【００３５】
この場合、モータ１３のオーバーシュート量ΔＧmax が回転伝達系の実際の遊び量よりも大きくなると、ディテントレバー１８がオーバーシュート量ΔＧmax と遊び量との差分だけ目標位置を通り越すようになるが、このような場合でも、オーバーシュート量ΔＧmax と逆戻り量とを同一に設定することで、モータ１３の逆戻りによってディテントレバー１８の操作位置を目標位置まで確実に逆戻りさせることができる。
【００３６】
その後、図５の時刻ｔ3 で、シフトレバーがＲレンジからＮレンジに操作されて、目標レンジがＮレンジに切り換えられると、目標カウント値がＮレンジの設計上の目標カウント値（Ｎｐ＋Ｎｎ）にオーバーシュート量ΔＧmax を加算した値（Ｎｐ＋Ｎｎ＋ΔＧmax ）にセットされる。これにより、モータ１３がＲレンジからＮレンジの方向（正回転方向）に回転して、ディテントレバー１８の操作位置が本来のＮレンジの目標位置に到達し、モータ１３の回転位置が本来のＮレンジの目標位置を越えてオーバーシュートする。
【００３７】
このオーバーシュート動作を終了した時点ｔ4 で、目標カウント値が本来のＮレンジの目標カウント値（Ｎｐ＋Ｎｎ）に戻される。これにより、モータ１３の回転位置がオーバーシュート量ΔＧmax （設計上の遊び量の最大値）分だけ逆戻りする。この際、ディテントレバー１８は逆戻りせずに、回転伝達系の遊び（ガタ）分だけモータ１３のみが空転することになる。
【００３８】
この後、図５の時刻ｔ5 で、シフトレバーがＮレンジからＲレンジに戻されて、目標レンジがＲレンジに戻されると、目標カウント値が本来のＲレンジの目標カウント値（Ｎｐ＋Ｎｒ）にセットされる。つまり、ＮレンジからＲレンジへの切り換えは、モータ１３を逆回転させるため、モータ１３の回転方向がオーバーシュート制御の逆戻り動作と同じ方向となり、この方向に対しては、モータ１３の回転開始当初から回転伝達系のガタが詰められた状態になっているため、モータ１３の回転開始当初からモータ１３が空転することなく、モータ１３の回転角度がそのまま全てディテントレバー１８の回転角度に変換される。この関係から、ＮレンジからＲレンジへの切り換えのように、レンジをモータ１３の逆回転方向に切り換える場合は、オーバーシュート量ΔＧmax を加算せずに目標カウント値をセットする（オーバーシュート制御は実施されない）。これにより、モータ１３がＮレンジからＲレンジの方向（逆回転方向）に回転して、ディテントレバー１８の操作位置が本来のＲレンジの目標位置に到達したところで停止する。
【００３９】
この後、図５の時刻ｔ6 で、シフトレバーがＲレンジからＰレンジに戻されて、目標レンジがＰレンジに戻されると、目標カウント値が本来のＰレンジの目標カウント値Ｎｐにセットされる（オーバーシュート量ΔＧmax は加算されない）。これにより、モータ１３がＲレンジからＰレンジの方向（逆回転方向）に回転して、ディテントレバー１８の操作位置が本来のＰレンジの目標位置（Ｐレンジ壁位置）に到達したところで停止する。
【００４０】
この後、図６の時刻ｔ11で、シフトレバーがＰレンジからＤレンジに操作されて、目標レンジがＤレンジに切り換えられると、目標カウント値がＤレンジの設計上の目標カウント値（Ｎｐ＋Ｎｄ）にオーバーシュート量ΔＧmax を加算した値（Ｎｐ＋Ｎｄ＋ΔＧmax ）に暫定的にセットされる。これにより、モータ１３がＰレンジからＤレンジの方向（正回転方向）に回転して、ディテントレバー１８の操作位置が本来のＤレンジの目標位置に到達し、モータ１３の回転位置が本来のＤレンジの目標位置を越えてオーバーシュートする。
【００４１】
この後、図６の時刻ｔ12で、Ｄレンジ壁突き当て制御を実施する。このＤレンジ壁突き当て制御では、目標カウント値を最大値にセットしてモータ１３を正回転方向に回転させ、ディテントバネ２６の係合部２７をＤレンジ壁に突き当てて、Ｄレンジ壁位置のエンコーダカウント値Ｎｄｓ（Ｄレンジ壁位置学習値）を求めた後、Ｐレンジ壁位置（Ｎｐ）からＤレンジ壁位置（Ｎｄｓ）までのエンコーダカウント値の増減量（Ｎｄｓ−Ｎｐ）をレンジ切換機構１１の可動範囲の実測値として求める。そして、この可動範囲の実測値（Ｎｄｓ−Ｎｐ）と該可動範囲の設計値ΔＮｓとの差分を回転伝達系の遊び量ΔＧとして学習して、これをＥＣＵ３３のメモリに記憶する。
ΔＧ＝（Ｎｄｓ−Ｎｐ）−ΔＮｓ
【００４２】
この遊び量ΔＧの学習を終了した時点ｔ13で、目標カウント値がＤレンジの設計上の目標カウント値（Ｎｐ＋Ｎｄ）に遊び量学習値ΔＧを加算した値（Ｎｐ＋Ｎｄ＋ΔＧ）にセットされる。これにより、モータ１３が逆回転方向に回転して、ディテントレバー１８の操作位置が本来のＤレンジの目標位置に戻される。
以上説明したレンジ切換制御は、ＥＣＵ３３によって図７乃至図１０の各ルーチンに従って実行される。以下、これら各ルーチンの処理内容を説明する。
【００４３】
図７の遊び量学習ルーチンは、イグニッションスイッチのオン後に所定周期（例えば８ｍｓ周期）で実行される。本ルーチンが起動されると、まずステップ１０１で、遊び量学習完了フラグＸｇがＯＮ（遊び量学習完了後）であるか否かを判定し、もし、遊び量学習完了フラグＸｇがＯＮであれば、以降の処理を行うことなく、本ルーチンを終了する。これにより、遊び量学習は、イグニッションスイッチのオン期間中に１回のみ行われる。尚、遊び量学習完了フラグＸｇは、イグニッションスイッチのオン直後に実行される初期化処理ルーチン（図示せず）によってＯＦＦにリセットされる。
【００４４】
一方、上記ステップ１０１で、遊び量学習完了フラグＸｇがＯＦＦ（遊び量学習完了前）と判定されれば、ステップ１０２に進み、目標レンジがＰレンジで、且つ、Ｐレンジ壁突き当て完了フラグＸｐがＯＦＦ（Ｐレンジ壁突き当て完了前）であるか否かを判定し、「Ｙｅｓ」と判定されれば、ステップ１０３に進み、Ｐレンジ壁突き当て制御ルーチンを実行して、Ｐレンジ壁位置のエンコーダカウント値Ｎｐ（Ｐレンジ壁位置学習値）をＥＣＵ３３のメモリに記憶する。
【００４５】
また、上記ステップ１０２の判定結果が「Ｎｏ」であれば、ステップ１０４に進み、目標レンジがＤレンジで、且つ、Ｄレンジ壁突き当て完了フラグＸｄがＯＦＦ（Ｄレンジ壁突き当て完了前）であるか否かを判定し、「Ｙｅｓ」と判定されれば、ステップ１０５に進み、Ｄレンジ壁突き当て制御ルーチンを実行して、Ｄレンジ壁位置のエンコーダカウント値Ｎｄｓ（Ｄレンジ壁位置学習値）をＥＣＵ３３のメモリに記憶する。
【００４６】
この後、ステップ１０６に進み、Ｐレンジ壁とＤレンジ壁の両方の突き当て制御を完了したか否か（Ｐレンジ壁突き当て完了フラグＸｐ＝ＯＮ、且つ、Ｄレンジ壁突き当て完了フラグＸｄ＝ＯＮであるか否か）を判定し、Ｐレンジ壁とＤレンジ壁のいずれか一方でも突き当て制御が完了していなければ、以降の処理を行うことなく、本ルーチンを終了する。
【００４７】
これに対して、Ｐレンジ壁とＤレンジ壁の両方の突き当て制御を完了していれば、ステップ１０７に進み、Ｐレンジ壁位置学習値ＮｐとＤレンジ壁位置学習値Ｎｄｓを用いて、Ｐレンジ壁からＤレンジ壁までのモータ１３の可動範囲（ディテントレバー１８の可動範囲）の実測値ΔＮａｃｔを次式により算出する。
ΔＮａｃｔ＝Ｎｄｓ−Ｎｐ
【００４８】
この後、ステップ１０８に進み、モータ１３の可動範囲（ディテントレバー１８の可動範囲）の実測値ΔＮａｃｔと該可動範囲の設計値ΔＮｓとの差分を回転伝達系の遊び量ΔＧとして学習し、これをＥＣＵ３３のメモリに記憶する。
ΔＧ＝ΔＮａｃｔ−ΔＮｓ
【００４９】
ここで、可動範囲の設計値ΔＮｓは、予め設計データに基づいて算出しても良いし、量産品の可動範囲の製造ばらつきの中心値（標準品の可動範囲の実測値）を用いても良い。
この後、ステップ１０８に進み、遊び量学習完了フラグＸｇを、遊び量学習完了を意味するＯＮにセットして、本ルーチンを終了する。
【００５０】
図８乃至図１０に示す目標カウント値設定ルーチンは、イグニッションスイッチのオン後に所定周期（例えば８ｍｓ周期）で実行される。本ルーチンが起動されると、まずステップ２０１で、Ｐレンジ壁又はＤレンジ壁のいずれかの突き当て制御を実行中であるか否かを判定し、いずれかの突き当て制御実行中であれば、ステップ２０２に進み、目標カウント値Ａｃｎｔを突き当て目標カウント値Ａｇに設定する。この突き当て目標カウント値Ａｇは、Ｐレンジ壁突き当て制御中は最小値（Ｐレンジ壁に確実に突き当たる値）にセットされ、Ｄレンジ壁突き当て制御中は最大値（Ｄレンジ壁に確実に突き当たる値）にセットされる。
【００５１】
これに対して、突き当て制御実行中でなければ、ステップ２０３に進み、目標レンジがＰレンジであるか否かを判定し、Ｐレンジであれば、ステップ２０４に進み、Ｐレンジ壁突き当て制御を完了したか否か（Ｐレンジ壁突き当て完了フラグＸｐ＝ＯＮであるか否か）を判定し、Ｐレンジ壁突き当て制御が完了していれば、ステップ２０５に進み、目標カウント値ＡｃｎｔをＰレンジ壁位置学習値Ｎｐに設定する。
Ａｃｎｔ＝Ｎｐ
【００５２】
一方、Ｐレンジ壁突き当て制御が完了していない場合は、ステップ２０４で「Ｎｏ」と判定されて、ステップ２０６に進み、目標カウント値ＡｃｎｔをＰレンジの暫定的な目標カウント値である“０”に設定する。
【００５３】
上記ステップ２０３で、目標レンジがＰレンジでないと判定されれば、図９のステップ２０７に進み、目標レンジがＲレンジであるか否かを判定し、Ｒレンジであれば、ステップ２０８に進み、モータ１３の回転方向が正回転方向（Ｐ→Ｒレンジ方向）であるか否かを判定する。その結果、モータ１３の回転方向が正回転方向（Ｐ→Ｒレンジ方向）であると判定されれば、ステップ２０９に進み、遊び量学習完了フラグＸｇがＯＮ（遊び量学習完了）であるか否かを判定し、ＯＮ（遊び量学習完了）であれば、ステップ２１０に進み、目標カウント値ＡｃｎｔをＲレンジの設計上の目標カウント値（Ｎｐ＋Ｎｒ）に回転伝達系の遊び量の学習値ΔＧを加算した値に設定する。
Ａｃｎｔ＝Ｎｐ＋Ｎｒ＋ΔＧ
ここで、ＮｐはＰレンジ壁位置学習値、ＮｒはＰレンジ−Ｒレンジ間のエンコーダカウント値（設計値）である。
【００５４】
これに対して、上記ステップ２０９で、遊び量学習完了フラグＸｇがＯＦＦ（遊び量学習完了前）と判定されれば、ステップ２１１に進み、オーバーシュート完了フラグＸｏｓがＯＦＦ（オーバーシュート完了前）であるか否かを判定して、ＯＦＦ（オーバーシュート完了前）であれば、ステップ２１２に進み、目標カウント値ＡｃｎｔをＤレンジの設計上の目標カウント値（Ｎｐ＋Ｎｄ）にオーバーシュート量ΔＧmax を加算した値に設定する。
Ａｃｎｔ＝Ｎｐ＋Ｎｄ＋ΔＧmax
【００５５】
ここで、ＮｄはＰレンジ−Ｄレンジ間のエンコーダカウント値（設計値）である。オーバーシュート量ΔＧmax は、回転伝達系の遊び量の最大値（設計値）に設定されている。
この後、ステップ２１３に進み、オーバーシュート完了フラグＸｏｓをＯＮ（オーバーシュート完了）にセットする。
【００５６】
一方、上記ステップ２１１で、オーバーシュート完了フラグＸｏｓがＯＮ（オーバーシュート完了）であると判定された場合、又は、上記ステップ２０８で、モータ１３の回転方向が逆回転方向（Ｎ→Ｒレンジ方向）であると判定された場合は、ステップ２１４に進み、Ｒレンジの設計上の目標カウント値（Ｎｐ＋Ｎｒ）をそのまま目標カウント値Ａｃｎｔに設定する。
Ａｃｎｔ＝Ｎｐ＋Ｎｒ
【００５７】
この後、ステップ２１５に進み、オーバーシュート完了フラグＸｏｓをＯＦＦ（オーバーシュート完了前）にセットする。ＮレンジからＲレンジへの切り換えのように、レンジをモータ１３の逆回転方向に切り換える場合は、オーバーシュート量ΔＧmax を加算せずに目標カウント値Ａｃｎｔを設定する。
【００５８】
また、上記ステップ２０７で、目標レンジがＲレンジでないと判定されれば、図１０のステップ２２１に進み、目標レンジがＮレンジであるか否かを判定し、Ｎレンジであれば、ステップ２２２に進み、モータ１３の回転方向が正回転方向（Ｐ→Ｎレンジ方向）であるか否かを判定する。その結果、モータ１３の回転方向が正回転方向（Ｐ→Ｎレンジ方向）であると判定されれば、ステップ２２３に進み、遊び量学習完了フラグＸｇがＯＮ（遊び量学習完了）であるか否かを判定し、ＯＮ（遊び量学習完了）であれば、ステップ２２４に進み、目標カウント値ＡｃｎｔをＮレンジの設計上の目標カウント値（Ｎｐ＋Ｎｎ）に回転伝達系の遊び量の学習値ΔＧを加算した値に設定する。
Ａｃｎｔ＝Ｎｐ＋Ｎｎ＋ΔＧ
ここで、ＮｎはＰレンジ−Ｎレンジ間のエンコーダカウント値（設計値）である。
【００５９】
これに対して、上記ステップ２２３で、遊び量学習完了フラグＸｇがＯＦＦ（遊び量学習完了前）と判定されれば、ステップ２２５に進み、オーバーシュート完了フラグＸｏｓがＯＦＦ（オーバーシュート完了前）であるか否かを判定して、ＯＦＦ（オーバーシュート完了前）であれば、ステップ２２６に進み、目標カウント値ＡｃｎｔをＮレンジの設計上の目標カウント値（Ｎｐ＋Ｎｎ）にオーバーシュート量ΔＧmax を加算した値に設定する。
Ａｃｎｔ＝Ｎｐ＋Ｎｎ＋ΔＧmax
【００６０】
ここで、ＮｎはＰレンジ−Ｎレンジ間のエンコーダカウント値（設計値）である。
この後、ステップ２２７に進み、オーバーシュート完了フラグＸｏｓをＯＮ（オーバーシュート完了）にセットする。
【００６１】
一方、上記ステップ２２５で、オーバーシュート完了フラグＸｏｓがＯＮ（オーバーシュート完了）であると判定された場合、又は、上記ステップ２２２で、モータ１３の回転方向が逆回転方向（Ｄ→Ｎレンジ方向）であると判定された場合は、ステップ２２８に進み、Ｎレンジの設計上の目標カウント値（Ｎｐ＋Ｎｎ）をそのまま目標カウント値Ａｃｎｔに設定する（オーバーシュート量ΔＧmax を加算しない）。
Ａｃｎｔ＝Ｎｐ＋Ｎｎ
この後、ステップ２２９に進み、オーバーシュート完了フラグＸｏｓをＯＦＦ（オーバーシュート完了前）にセットする。
【００６２】
また、上記ステップ２２１で、目標レンジがＮレンジでないと判定されれば、ステップ２３０に進み、Ｄレンジ壁突き当て完了フラグＸｄがＯＮ（Ｄレンジ壁突き当て完了）であるか否かを判定し、ＯＮ（Ｄレンジ壁突き当て完了）であれば、ステップ２３１に進み、目標カウント値ＡｃｎｔをＤレンジの設計上の目標カウント値（Ｎｐ＋Ｎｄ）に回転伝達系の遊び量の学習値ΔＧを加算した値に設定する。
Ａｃｎｔ＝Ｎｐ＋Ｎｄ＋ΔＧ
【００６３】
一方、上記ステップ２３０で、Ｄレンジ壁突き当て完了フラグＸｄがＯＦＦ（Ｄレンジ壁突き当て完了前）と判定されれば、ステップ２３２に進み、目標カウント値ＡｃｎｔをＤレンジの設計上の目標カウント値（Ｎｐ＋Ｎｄ）にオーバーシュート量ΔＧmax を加算した値に暫定的に設定する。
Ａｃｎｔ＝Ｎｐ＋Ｎｄ＋ΔＧmax
【００６４】
このようにして、Ｄレンジの暫定的な目標カウント値Ａｃｎｔを設定した後は、図６に示すように、Ｄレンジ壁突き当て制御を実施してＤレンジ壁位置学習値Ｎｄｓを学習した後、Ｐレンジ壁位置（Ｎｐ）からＤレンジ壁位置（Ｎｄｓ）までの実測値（Ｎｄｓ−Ｎｐ）とその設計値ΔＮｓとの差分を回転伝達系の遊び量学習値ΔＧとして算出し、この遊び量学習値ΔＧをＤレンジの設計上の目標カウント値（Ｎｐ＋Ｎｄ）に加算した値（Ｎｐ＋Ｎｄ＋ΔＧ）を目標カウント値Ａｃｎｔに設定する。
【００６５】
以上説明した本実施例によれば、回転伝達系の遊び量ΔＧを学習する前は、レンジを切り換える際に、モータ１３の回転位置を本来の目標レンジ位置を越えてオーバーシュートさせてから逆戻りさせるオーバーシュート制御を実行するようにしたので、モータ１３の回転開始当初に、回転伝達系の遊び（ガタ）が無くなるまでモータ１３のみが空転しても、オーバーシュート制御によってモータ１３の回転開始当初の空転量（遊び量）分だけモータ１３を余分に回転させてレンジを目標レンジに切り換えることが可能となると共に、モータ１３をオーバーシュート位置から逆戻りさせる際に、レンジ切換機構１１のディテントレバー１８を逆戻りさせずに、回転伝達系の遊び（ガタ）分だけモータ１３のみを空転させることが可能となる。これにより、回転伝達系の遊び量を学習する前でも、回転伝達系の遊び（ガタ）の影響を受けずにレンジを精度良く目標レンジに切り換えることができ、レンジ切り換え精度を向上させることができる。
【００６６】
この場合、モータ１３のオーバーシュート量が回転伝達系の実際の遊び量よりも大きくなると、レンジ切換機構１１のディテントレバー１８の操作位置がオーバーシュート量と遊び量との差分だけ目標位置を通り越すようになるが、このような場合でも、本実施例のように、オーバーシュート量と逆戻り量とを同一に設定することで、モータ１３の逆戻りによってディテントレバー１８の操作位置を目標位置まで確実に逆戻りさせることができる。
【００６７】
もし、モータ１３のオーバーシュート量が回転伝達系の遊び量よりも小さいと、モータ１３のオーバーシュート量が回転開始当初の空転量よりも小さくなって、ディテントレバー１８の操作量が少し不足することになる。反対に、モータ１３のオーバーシュート量が大きくなり過ぎると、オーバーシュート制御によるレンジ切換制御の遅れが無視できなくなる可能性がある。
【００６８】
この点を考慮して、本実施例では、モータ１３のオーバーシュート量を回転伝達系の遊び量の設計上の最大値に設定するようにしたので、常にモータ１３のオーバーシュート量が回転開始当初の空転量（遊び量）以上となり、ディテントレバー１８の操作位置を目標位置に確実に切り換えることができると共に、オーバーシュート制御によるレンジ切換制御の遅れを必要最小限にとどめることができる。尚、モータ１３のオーバーシュート量を回転伝達系の遊び量の設計上の最大値よりも少し大きい値に設定しても、ほぼ同様の効果を得ることができる。
【００６９】
ところで、モータ１３の回転方向が前回のオーバーシュート制御による逆戻り動作と同じ方向となる場合には、モータ１３の回転開始当初から回転伝達系のガタが詰められた状態になっているため、モータ１３の回転開始当初からモータ１３が空転することなく、モータ１３の回転量（回転角度）がそのまま全てディテントレバー１８の操作量に変換される。
【００７０】
この点を考慮して、本実施例では、モータ１３の回転方向が前回のオーバーシュート制御による逆戻り動作と同じ方向となる場合には、オーバーシュート制御を実行しないようにしたので、レンジを応答良く切り換えることができる。
【００７１】
尚、本実施例のレンジ切換装置は、Ｐ，Ｒ，Ｎ，Ｄの４つのレンジを切り換えるようにしたが、これに加えて、例えば、セカンドレンジ（２）やローレンジ（Ｌ）を追加しても良い（本発明は３つ以上のレンジを切り換えるレンジ切換装置に適用して実施できる）。      
【００７２】
その他、本発明は、レンジ切換装置に限定されず、モータを駆動源とする各種の位置切換装置に適用して実施できることは言うまでもない。
【図面の簡単な説明】
【００７３】
【図１】本発明の一実施例のレンジ切換装置を示す斜視図である。
【図２】レンジ切換装置の制御システム全体の構成を概略的に示す図である。
【図３】ディテントレバーの保持凹部とディテントバネの係合部との関係を説明する図である。
【図４】回転伝達系の遊び量学習前のＰ→Ｒのレンジ切換制御を説明する図である。
【図５】回転伝達系の遊び量学習前のＰ，Ｒ，Ｎレンジ間のレンジ切換制御の一例を示すタイムチャートである。
【図６】回転伝達系の遊び量学習前のＰ→Ｄのレンジ切換制御の一例を示すタイムチャートである。
【図７】遊び量学習ルーチンの処理の流れを示すフローチャートである。
【図８】目標カウント値設定ルーチンの処理の流れを示すフローチャートである（その１）。
【図９】目標カウント値設定ルーチンの処理の流れを示すフローチャートである（その２）。
【図１０】目標カウント値設定ルーチンの処理の流れを示すフローチャートである（その３）。
【符号の説明】
【００７４】
１１…レンジ切換機構、１２…自動変速機、１３…モータ、１４…減速機構、１５…出力軸、１７…マニュアルバルブ、１８…ディテントレバー、１９…パーキングロッド、２１…ロックレバー、２３…パーキングギヤ、２５…保持凹部、２６…ディテントバネ、２７…係合部、３１…エンコーダ、３３…ＥＣＵ（制御手段，学習手段）
【図１】
2006136035.tif 000003
【図２】
2006136035.tif 000004
【図３】
2006136035.tif 000005
【図４】
2006136035.tif 000006
【図５】
2006136035.tif 000007
【図６】
2006136035.tif 000008
【図７】
2006136035.tif 000009
【図８】
2006136035.tif 000010
【図９】
2006136035.tif 000011
【図１０】
2006136035.tif 000012