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