(57)【特許請求の範囲】
【請求項１】
制御対象（１６）を回転駆動するモータ（１３）と、前記モータ（１３）の回転に同期してパルス信号を出力するエンコーダ（１８）と、前記エンコーダ（１８）の出力信号のカウント値に基づいて前記モータ（１３）を回転駆動するモータ制御回路（１２）とを備えたモータ制御装置において、
前記モータ制御回路（１２）は、前記モータ（１３）の回転駆動の終了後に該モータ（１３）の回転位置が安定状態になったことを確認した後に又は前記モータ（１３）の回転駆動を終了してから該モータ（１３）の回転位置が安定状態になるのに必要な所定時間が経過した後にスリープ状態に移行し、前記スリープ状態の期間中に前記エンコーダ（１８）の出力信号が所定以上変化した場合には、前記スリープ状態から起動状態に復帰したときに前記モータ（１３）を回転させて基準位置を学習する学習処理を実施するモータ制御装置であって、
前記モータ制御回路（１２）が前記スリープ状態の期間中に前記エンコーダ（１８）の出力信号をカウントするエンコーダカウンタ（３２）を備え、
前記モータ制御回路（１２）は、前記スリープ状態の期間中における前記エンコーダカウンタ（３２）のカウント値の変化量が所定値よりも小さい場合には、前記起動状態に復帰したときに前記学習処理を実施しないことを特徴とするモータ制御装置。
【請求項２】
前記モータ制御回路（１２）は、前記スリープ状態の期間中における前記エンコーダカウンタ（３２）のカウント値の変化量が前記所定値以上の場合には、前記起動状態に復帰したときに前記学習処理を実施することを特徴とする請求項１に記載のモータ制御装置。
【請求項３】
前記モータ制御回路（１２）とバッテリ（２７）とが第１のコネクタ（３０）を介して電気的に接続され、
前記モータ制御回路（１２）は、前記スリープ状態の期間中に前記第１のコネクタ（３０）が脱着された場合には、前記起動状態に復帰したときに前記学習処理を実施することを特徴とする請求項１又は２に記載のモータ制御装置。
【請求項４】
前記モータ（１３）と前記エンコーダ（１８）のうちの少なくとも一方と前記モータ制御回路（１２）とが第２のコネクタ（３３）を介して電気的に接続され、
前記モータ制御回路（１２）は、前記スリープ状態の期間中に前記第２のコネクタ（３３）が脱着された場合には、前記起動状態に復帰したときに前記学習処理を実施することを特徴とする請求項１乃至３のいずれかに記載のモータ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モータの回転に同期してパルス信号を出力するエンコーダの出力信号に基づいてモータを回転駆動するモータ制御装置に関する発明である。
【背景技術】
【０００２】
近年、自動車においても、省スペース化、組立性向上、制御性向上等の要求を満たすために、機械的な駆動システムを、モータによって電気的に駆動するシステムに変更する事例が増加する傾向にある。その一例として、車両の自動変速機のレンジ切換機構をモータで駆動するようにしたものがある。このものは、モータの回転に同期して所定角度毎にパルス信号を出力するエンコーダを搭載し、レンジ切換時には、このエンコーダのパルス信号のカウント値（以下「エンコーダカウント値」という）に基づいてモータを目標レンジに相当する目標位置（目標カウント位置）まで回転させることで、シフトレンジを目標レンジに切り換えるようにしている。
【０００３】
このようなシステムでは、電源投入後に、初期駆動を行ってモータの通電相とエンコーダカウント値との対応関係を学習する通電相学習を実施した後、モータをレンジ切換機構の可動範囲の限界位置（壁）に突き当たるまで回転させる突き当て制御を実施して基準位置（限界位置）を学習する。この基準位置のエンコーダカウント値を基準にしてモータの回転量（回転角）を制御するようにしている。また、モータを制御するマイコン（マイクロコンピュータ）がスリープ状態からウェイクアップ状態（起動状態）に復帰する毎に、通電相学習と突き当て制御を実施して基準位置を学習する学習処理を実施するようにしたものもある。
【０００４】
このような学習処理の回数を低減する技術として、例えば、特許文献１（特開２０１２−１７０２１３号公報）に記載されたものがある。このものは、モータの回転駆動の終了後にマイコンがスリープ状態に移行し、このスリープ状態の期間中にエンコーダの出力信号が変化しなかった場合には、学習処理を実施しない。一方、スリープ状態の期間中にエンコーダの出力信号が変化した場合には、その時点でマイコンがスリープ状態からウェイクアップ状態に移行する。そして、エンコーダのＡ相信号とＢ相信号のうちの一方のみが変化したと判定した場合には、エンコーダカウント値を「１」だけ補正する補正処理を実施する。また、エンコーダのＡ相信号とＢ相信号の両方が変化したと判定した場合には、通電相学習と突き当て制御を実施して基準位置を学習する学習処理を実施する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１２−１７０２１３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、モータの回転駆動の終了後でも、レンジ切換機構を各レンジの位置に保持するためのディテント機構によりモータの回転位置が多少変化してエンコーダの出力信号が変化することがある。上記特許文献１の技術では、モータの回転駆動の終了後にマイコンがスリープ状態に移行するようにしているが、モータの回転駆動の終了後直ぐにマイコンがスリープ状態に移行すると、マイコンがスリープ状態に移行した後に、ディテント機構によりエンコーダの出力信号が変化する可能性が高くなる。その際、ディテント機構によりエンコーダのＡ相信号とＢ相信号の両方が変化すると、基準位置を学習する学習処理を実施するため、学習処理の回数低減効果を十分に得ることができない。また、上記特許文献１の技術では、マイコンがスリープ状態に移行した後、エンコーダの出力信号が変化する毎にマイコンがウェイクアップ状態に移行するため、電力消費量が増大する可能性もある。
【０００７】
そこで、本発明が解決しようとする課題は、エンコーダの出力信号に基づいてモータを回転駆動するシステムにおいて基準位置を学習する学習処理の回数を効果的に低減することができるモータ制御装置を提供することにある。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、請求項１に係る発明は、制御対象（１６）を回転駆動するモータ（１３）と、このモータ（１３）の回転に同期してパルス信号を出力するエンコーダ（１８）と、このエンコーダ（１８）の出力信号のカウント値に基づいて前記モータ（１３）を回転駆動するモータ制御回路（１２）とを備えたモータ制御装置において、モータ制御回路（１２）は、モータ（１３）の回転駆動の終了後に該モータ（１３）の回転位置が安定状態になったことを確認した後に又はモータ（１３）の回転駆動を終了してから該モータ（１３）の回転位置が安定状態になるのに必要な所定時間が経過した後にスリープ状態に移行し、スリープ状態の期間中にエンコーダ（１８）の出力信号が所定以上変化した場合には、スリープ状態から起動状態に復帰したときにモータ（１３）を回転させて基準位置を学習する学習処理を実施するモータ制御装置であって、モータ制御回路（１２）がスリープ状態の期間中にエンコーダ（１８）の出力信号をカウントするエンコーダカウンタ（３２）を備え、モータ制御回路（１２）は、スリープ状態の期間中におけるエンコーダカウンタ（３２）のカウント値の変化量が所定値よりも小さい場合には、起動状態に復帰したときに基準位置の学習処理を実施しないことを特徴とするものである。
【０００９】
この構成では、モータの回転駆動の終了後に該モータの回転位置が安定状態になったことを確認した後に又はモータの回転駆動を終了してから該モータの回転位置が安定状態になるのに必要な所定時間が経過した後に、モータ制御回路がスリープ状態に移行する。これにより、モータの回転駆動の終了後にディテント機構によりモータの回転位置が多少変化してエンコーダの出力信号が変化した場合でも、その後に、モータ制御回路がスリープ状態に移行するようにできる。その結果、モータ制御回路がスリープ状態の期間中にエンコーダの出力信号が変化する可能性を低くすることができ、しかも、スリープ状態の期間中におけるエンコーダカウンタのカウント値の変化量が所定値よりも小さい場合には、モータ制御回路が起動状態に復帰したときに基準位置の学習処理を実施しないため、上述したスリープ状態の期間中にエンコーダの出力信号が変化する可能性が減少する効果と相俟って、基準位置を学習する学習処理の回数を効果的に低減することができる。また、上記特許文献１とは異なり、モータ制御回路がスリープ状態に移行した後、エンコーダの出力信号が変化する毎にモータ制御回路が起動状態に移行するといったことがなく、電力消費量を低減することができる。
【図面の簡単な説明】
【００１０】
【図１】図１は本発明の実施例１におけるシフトバイワイヤシステムの概略構成を示す図である。
【図２】図２はエンコーダカウンタの動作を説明するタイムチャートである。
【図３】図３は実施例１の制御の実行例（その１）を説明するタイムチャートである。
【図４】図４は実施例１の制御の実行例（その２）を説明するタイムチャートである。
【図５】図５は実施例１の制御の実行例（その３）を説明するタイムチャートである。
【図６】図６は実施例１の制御ルーチンの処理の流れを示すフローチャートである。
【図７】図７は実施例２のシフトバイワイヤシステムの概略構成を示す図である。
【図８】図８は実施例２の制御の実行例を説明するタイムチャートである。
【発明を実施するための形態】
【００１１】
以下、本発明を実施するための形態を具体化した幾つかの実施例を説明する。
【実施例１】
【００１２】
本発明の実施例１を図１乃至図６に基づいて説明する。
まず、図１に基づいてシフトバイワイヤシステムの概略構成を説明する。
自動変速機（図示せず）のシフトレンジを切り換えるレンジ切換機構１１と、このレンジ切換機構１１を制御するＳＢＷ−ＥＣＵ１２（モータ制御回路）とが一体的に設けられている。レンジ切換機構１１の駆動源となるモータ１３は、例えば、スイッチトリラクタンスモータにより構成されている。このモータ１３の回転軸が減速機１４を介してマニュアルシャフト１５に連結され、このマニュアルシャフト１５にディテントレバー１６（制御対象）が固定されている。
【００１３】
ディテントレバー１６には、ディテントレバー１６の回転に応じて直線運動するマニュアルバルブ（図示せず）が接続され、このマニュアルバルブによって自動変速機の油圧回路（図示せず）を切り換えることで、シフトレンジを切り換えるようになっている。このディテントレバー１６とディテントバネ（図示せず）等からディテントレバー１６の回転位置を各レンジの位置に係合保持する（つまりレンジ切換機構１１を各レンジの位置に保持する）ためのディテント機構が構成されている。
【００１４】
また、マニュアルシャフト１５又はディテントレバー１６の回転角（回転位置）を検出する回転角センサ１７が設けられ、この回転角センサ１７の出力信号によって実際のシフトレンジを確認できるようになっている。
【００１５】
レンジ切換機構１１には、モータ１３の回転角（回転位置）を検出するためのエンコーダ１８が設けられている。このエンコーダ１８は、例えば、磁気式のロータリエンコーダにより構成されており、モータ１３の回転に同期して所定角度毎にＡ相とＢ相のパルス信号を出力するように構成されている。エンコーダ１８の出力信号は、ＳＢＷ−ＥＣＵ１２のＩ／Ｆ１９（インターフェース）を介してＣＰＵ２０に入力される。ＳＢＷ−ＥＣＵ１２のＣＰＵ２０は、エンコーダ１８から出力されるＡ相信号とＢ相信号の立ち上がり／立ち下がりの両方のエッジをカウントして、そのカウント値（以下「エンコーダカウント値」という）に応じてドライバ２１によってモータ１３の通電相を所定の順序で切り換えることでモータ１３を回転駆動する。尚、モータ１３の３相（Ｕ，Ｖ，Ｗ相）の巻線とドライバ２１の組み合わせを２系統設けて、一方の系統が故障しても、他方の系統でモータ１３を回転駆動できるようにしても良い。
【００１６】
モータ１３の回転中は、Ａ相信号とＢ相信号の発生順序によってモータ１３の回転方向を判定し、正回転ではエンコーダカウント値をカウントアップし、逆回転ではエンコーダカウント値をカウントダウンする。これにより、モータ１３が正回転／逆回転のいずれの方向に回転しても、エンコーダカウント値とモータ１３の回転角との対応関係が維持されるため、正回転／逆回転のいずれの回転方向でも、エンコーダカウント値によってモータ１３の回転位置を検出して、その回転位置に対応した相の巻線に通電してモータ１３を回転駆動できるようになっている。
【００１７】
回転角センサ１７の出力信号やシフトレバー操作位置を検出するシフトスイッチ２２の出力信号は、自動変速機の変速動作を制御するＡＴ−ＥＣＵ２３に入力される。ＳＢＷ−ＥＣＵ１２は、ＡＴ−ＥＣＵ２３、エンジン（図示せず）を制御するエンジンＥＣＵ２４、メータ２５等との間で、ＣＡＮ通信等により必要な情報を相互に送受信する。ＡＴ−ＥＣＵ２３に入力された回転角センサ１７の出力信号やシフトスイッチ２２の出力信号は、ＳＢＷ−ＥＣＵ１２のトランシーバーレシーバ２６を介してＣＰＵ２０に入力される。ＳＢＷ−ＥＣＵ１２のＣＰＵ２０は、運転者のシフトレバー操作等に応じて目標レンジを切り換え、その目標レンジに応じてモータ１３を回転駆動してシフトレンジを切り換える。
【００１８】
車両に搭載されたバッテリ２７からの電源電圧は、ＳＢＷ−ＥＣＵ１２の電源回路２８を介してＣＰＵ２０に供給されると共に、リレー２９を介してモータ１３に供給される。ＳＢＷ−ＥＣＵ１２の電源回路２８は、脱着可能な電源用コネクタ３０（第１のコネクタ）を介してバッテリ２７やＩＧスイッチ３１（イグニッションスイッチ）等と電気的に接続されている。
【００１９】
ところで、エンコーダカウント値は、ＳＢＷ−ＥＣＵ１２のＲＡＭ（図示せず）に記憶されるため、ＳＢＷ−ＥＣＵ１２の電源がオフされると、エンコーダカウント値の記憶値が消えてしまう。そのため、ＳＢＷ−ＥＣＵ１２の電源投入直後のエンコーダカウント値は、実際のモータ１３の回転位置（通電相）に対応したものとならない。従って、エンコーダカウント値に応じて通電相を切り換えるためには、電源投入後にエンコーダカウント値と実際のモータ１３の回転位置とを対応させて、エンコーダカウント値と通電相とを対応させる必要がある。
【００２０】
そこで、ＳＢＷ−ＥＣＵ１２は、電源投入後に初期駆動を行ってモータ１３の通電相とエンコーダカウント値との対応関係を学習する通電相学習を実施する。この初期駆動では、オープンループ制御でモータ１３の通電相の切り換えを所定のタイムスケジュールで一巡させることで、いずれかの通電相でモータ１３の回転位置と該通電相とを一致させてモータ１３を回転駆動してエンコーダ１８のＡ相信号及びＢ相信号のエッジをカウントし、初期駆動終了時のエンコーダカウント値とモータ１３の回転位置と通電相との対応関係を学習する。
【００２１】
また、ＳＢＷ−ＥＣＵ１２は、モータ１３の起動後のエンコーダカウント値に基づいてモータ１３の起動位置からの回転量（回転角）を検出できるだけであるため、電源投入後に何等かの方法で、モータ１３の絶対的な回転位置を検出しないと、モータ１３を正確に目標位置まで回転駆動することができない。
【００２２】
そこで、ＳＢＷ−ＥＣＵ１２は、初期駆動の終了後に、モータ１３をレンジ切換機構１１の可動範囲の限界位置に突き当たるまで回転させる突き当て制御を実行して、その限界位置を基準位置として学習し、この基準位置のエンコーダカウント値を基準にしてモータ１３の回転量（回転角）を制御する。
【００２３】
基準位置を学習した後、ＳＢＷ−ＥＣＵ１２は、運転者のシフトレバー操作により目標レンジが切り換えられると、それに応じて目標回転位置（目標カウント値）を変更し、エンコーダカウント値に基づいてモータ１３の通電相を順次切り換えることでモータ１３を目標回転位置まで回転駆動するフィードバック制御を実行して、シフトレンジを目標レンジに切り換える（レンジ切換機構１１の切換位置を目標レンジの位置に切り換える）。
【００２４】
ＳＢＷ−ＥＣＵ１２は、モータ１３の回転駆動の終了後に、ウェイクアップ状態（起動状態）からスリープ状態（消費電力を抑制した状態）に移行する。その後、運転者のシフトレバー操作によりシフトスイッチ２２の出力信号が切り換えられたときに、スリープ状態からウェイクアップ状態に復帰する。また、モータ１３の回転駆動の終了後にＩＧスイッチ３１がＯＮ（オン）からＯＦＦ（オフ）に切り換えられた場合には、その後、ＩＧスイッチ３１がＯＦＦからＯＮに切り換えられたときに、スリープ状態からウェイクアップ状態に復帰する。
【００２５】
ＳＢＷ−ＥＣＵ１２には、ＳＢＷ−ＥＣＵ１２がスリープ状態の期間中にエンコーダ１８の出力信号をカウントするエンコーダカウンタ３２が設けられている。図２に示すように、エンコーダカウンタ３２は、例えば、次のように動作する。エンコーダ１８から出力されるＡ相信号とＢ相信号が反転する毎にＱＡ信号を反転させ、ＱＡ信号が特定方向（例えば「１」から「０」）に反転する毎にＱＢ信号を反転させる。更に、ＱＢ信号が特定方向（例えば「１」から「０」）に反転する毎にＱＣ信号を反転させ、ＱＣ信号が特定方向（例えば「１」から「０」）に反転する毎にＱＤ信号を反転させる。これらの処理により、エンコーダ１８から出力されるＡ相信号とＢ相信号の立ち上がり／立ち下がりの両方のエッジをカウント（正回転の場合はカウントアップ、逆回転の場合はカウントダウン）する。そして、エンコーダカウンタ３２のカウント値の変化量（増加量又は減少量）が所定値（例えば８）以上になったときに、ＣＡＲＲＹ信号を「１」から「０」に切り換えることで、オーバーフロー状態になったと判定する。この際、ＳＢＷ−ＥＣＵ１２が一時的にスリープ状態からウェイクアップ状態に復帰して、エンコーダカウンタ３２がオーバーフロー状態になったことをＲＡＭ等に記憶する。
【００２６】
ところで、モータ１３の回転駆動の終了後でも、レンジ切換機構１１を各レンジの位置に保持するためのディテント機構によりモータ１３の回転位置が多少変化してエンコーダ１８の出力信号が変化することがある。
【００２７】
そこで、本実施例１では、ＳＢＷ−ＥＣＵ１２により後述する図６の制御ルーチンを実行することで、モータ１３の回転駆動を終了してから所定時間（モータ１３の回転位置が安定状態になるのに必要な時間）が経過した後にＳＢＷ−ＥＣＵ１２がスリープ状態に移行する。或は、モータ１３の回転駆動の終了後にモータ１３の回転位置が安定状態になったことを確認した後にＳＢＷ−ＥＣＵ１２がスリープ状態に移行する。これにより、モータ１３の回転駆動の終了後にディテント機構によりモータ１３の回転位置が多少変化してエンコーダ１８の出力信号が変化した場合でも、その後に、ＳＢＷ−ＥＣＵ１２がウェイクアップ状態からスリープ状態に移行するようにする。
【００２８】
具体的には、図３乃至図５に示すように、ＳＢＷ−ＥＣＵ１２は、目標レンジが切り換えられると、それに応じて目標回転位置（目標カウント値）を変更し、エンコーダカウント値に基づいてモータ１３の通電相を順次切り換えることでモータ１３を目標回転位置まで回転駆動して、シフトレンジを前回の目標レンジ（例えばＮｏｔＰレンジ）から今回の目標レンジ（例えばＰレンジ）に切り換える。
【００２９】
そして、モータ１３の回転駆動を終了してから所定時間が経過した後にウェイクアップ状態からスリープ状態に移行する。ここで、所定時間は、モータ１３の回転位置が安定状態になるのに必要な時間（例えば、ディテント機構によるモータ１３の回転位置変化が止まった状態になるまでに必要な時間）である。
【００３０】
或は、モータ１３の回転駆動の終了後にモータ１３の回転位置が安定状態になったことを確認した後にウェイクアップ状態からスリープ状態に移行する。ここで、モータ１３の回転位置が安定状態になったか否かは、例えば、モータ１３の回転位置（エンコーダカウント値）が停止した状態が所定時間以上継続したか否かによって判定する。
【００３１】
尚、ＳＢＷ−ＥＣＵ１２は、ウェイクアップ状態からスリープ状態に移行する直前に、現在のエンコーダカウント値をＲＡＭ等に記憶する。また、前述したように、ＳＢＷ−ＥＣＵ１２がスリープ状態の期間中は、エンコーダカウンタ３２によりエンコーダ１８の出力信号がカウントされる。
【００３２】
図３に示すように、ＳＢＷ−ＥＣＵ１２がスリープ状態の期間中にエンコーダカウンタ３２がオーバーフロー状態にならなかった場合、つまり、ＳＢＷ−ＥＣＵ１２がスリープ状態の期間中におけるエンコーダカウンタ３２のカウント値の変化量が所定値よりも小さい場合には、ＳＢＷ−ＥＣＵ１２がスリープ状態からウェイクアップ状態に復帰したときに、基準位置を学習する学習処理を実施しない。この場合、エンコーダカウント値の記憶値（スリープ状態に移行する直前に記憶したエンコーダカウント値）にエンコーダカウンタ３２のカウント値を加算した値を現在のエンコーダカウント値とする。
【００３３】
これに対して、図４に示すように、ＳＢＷ−ＥＣＵ１２がスリープ状態の期間中にエンコーダカウンタ３２がオーバーフロー状態になった場合、つまり、ＳＢＷ−ＥＣＵ１２がスリープ状態の期間中におけるエンコーダカウンタ３２のカウント値の変化量が所定値以上の場合には、エンコーダカウント値に誤差が生じる可能性があると判断して、ＳＢＷ−ＥＣＵ１２がスリープ状態からウェイクアップ状態に復帰したときに、通電相学習と突き当て制御を実施して基準位置を学習する学習処理を実施する。これにより、エンコーダカウント値を正確なエンコーダカウント値にリセットする。
【００３４】
ところで、ＳＢＷ−ＥＣＵ１２がスリープ状態の期間中にシステムの修理や点検等が行われた場合には、修理や点検等によるモータ１３の回転位置の変動やバッテリ２７からの電源供給の遮断等により、正確なエンコーダカウント値が得られなくなる可能性がある。
【００３５】
そこで、図５に示すように、ＳＢＷ−ＥＣＵ１２は、スリープ状態の期間中に修理や点検等により電源用コネクタ３０が脱着されたか否かを、例えば、バッテリ２７との接続が一時的に切断されたか否かによって判定する。そして、ＳＢＷ−ＥＣＵ１２がスリープ状態の期間中に電源用コネクタ３０が脱着された場合（バッテリ２７との接続が一時的に切断された場合）には、ＳＢＷ−ＥＣＵ１２がウェイクアップ状態に復帰したときに、通電相学習と突き当て制御を実施して基準位置を学習する学習処理を実施する。これにより、エンコーダカウント値を正確なエンコーダカウント値にリセットする。
【００３６】
以下、本実施例１でＳＢＷ−ＥＣＵ１２が実行する図６の制御ルーチンの処理内容を説明する。
図６に示す制御ルーチンは、ＳＢＷ−ＥＣＵ１２により所定周期で繰り返し実行される。本ルーチンが起動されると、まず、ステップ１０１で、今回の起動要因が次の(1) 〜(3) のいずれであるかを判定する。
【００３７】
(1) パワーオンによる起動（電源ＯＦＦ状態からの起動）
(2) ＩＧスイッチ３１のＯＦＦからＯＮによるウェイクアップ（スリープ状態からウェイクアップ状態への復帰）
(3) ＣＡＮ受信（シフトスイッチ２２の出力信号の切り換え）によるウェイクアップ
【００３８】
このステップ１０１で、今回の起動がパワーオンによる起動であると判定された場合には、ステップ１０３に進み、通電相学習と突き当て制御を実施して基準位置を学習する学習処理を実施する。この後、ステップ１０４に進み、基準位置のエンコーダカウント値に基づいてエンコーダカウント値をリセットする。
【００３９】
尚、ＳＢＷ−ＥＣＵ１２がスリープ状態の期間中に電源用コネクタ３０が脱着された後（バッテリ２７との接続が一時的に切断された後）の起動時には、今回の起動がパワーオンによる起動であると判定される。
【００４０】
一方、上記ステップ１０１で、今回の起動がＩＧスイッチ３１のＯＦＦからＯＮによるウェイクアップであると判定された場合、又は、今回の起動がＣＡＮ受信によるウェイクアップであると判定された場合には、ステップ１０２に進み、エンコーダカウンタ３２がオーバーフロー状態であるか否かを判定する。
【００４１】
このステップ１０２で、エンコーダカウンタ３２がオーバーフロー状態ではないと判定された場合、つまり、ＳＢＷ−ＥＣＵ１２がスリープ状態の期間中におけるエンコーダカウンタ３２のカウント値の変化量が所定値よりも小さい場合には、ステップ１０５に進み、エンコーダカウンタ３２のカウント値を読み込む。この後、ステップ１０６に進み、エンコーダカウント値の記憶値（スリープ状態に移行する直前に記憶したエンコーダカウント値）にエンコーダカウンタ３２のカウント値を加算した値を現在のエンコーダカウント値とする。
【００４２】
これに対して、上記ステップ１０２で、エンコーダカウンタ３２がオーバーフロー状態であると判定された場合、つまり、ＳＢＷ−ＥＣＵ１２がスリープ状態の期間中におけるエンコーダカウンタ３２のカウント値の変化量が所定値以上の場合には、ステップ１０３に進み、通電相学習と突き当て制御を実施して基準位置を学習する学習処理を実施する。この後、ステップ１０４に進み、基準位置のエンコーダカウント値に基づいてエンコーダカウント値をリセットする。
【００４３】
上記ステップ１０４又はステップ１０６で、エンコーダカウント値を設定した後、ステップ１０７に進み、通常制御を実行する。この通常制御では、運転者のシフトレバー操作により目標レンジが切り換えられると、それに応じて目標回転位置（目標カウント値）を変更し、エンコーダカウント値に基づいてモータ１３の通電相を順次切り換えることでモータ１３を目標回転位置まで回転駆動するフィードバック制御を実行して、シフトレンジを目標レンジに切り換える。
【００４４】
この後、ステップ１０８に進み、所定のスリープ条件が成立したか否かを判定する。この場合、スリープ条件が成立したか否かを、例えば、モータ１３の回転駆動を終了してから所定時間が経過したか否かによって判定する。ここで、所定時間は、モータ１３の回転位置が安定状態になるのに必要な時間（例えば、ディテント機構によるモータ１３の回転位置変化が止まった状態になるまでに必要な時間）である。
【００４５】
或は、スリープ条件が成立したか否かを、モータ１３の回転駆動の終了後にモータ１３の回転位置が安定状態になったか否かによって判定する。ここで、モータ１３の回転位置が安定状態になったか否かは、例えば、モータ１３の回転位置（エンコーダカウント値）が停止した状態が所定時間以上継続したか否かによって判定する。
【００４６】
このステップ１０８で、スリープ条件が成立していないと判定された場合には、上記ステップ１０７に戻る。その後、上記ステップ１０８で、スリープ条件が成立したと判定された場合には、ステップ１０９に進み、エンコーダカウンタ３２をリセットすると共に、現在のエンコーダカウント値（スリープ状態に移行する直前のエンコーダカウント値）をＲＡＭ等に記憶した後、ステップ１１０に進み、スリープ状態に移行して、本ルーチンを終了する。
【００４７】
以上説明した本実施例１では、モータ１３の回転駆動を終了してから所定時間（モータ１３の回転位置が安定状態になるのに必要な時間）が経過した後にＳＢＷ−ＥＣＵ１２がスリープ状態に移行する。或は、モータ１３の回転駆動の終了後にモータ１３の回転位置が安定状態になったことを確認した後にＳＢＷ−ＥＣＵ１２がスリープ状態に移行するようにしている。これにより、モータ１３の回転駆動の終了後にディテント機構によりモータ１３の回転位置が多少変化してエンコーダ１８の出力信号が変化した場合でも、その後に、ＳＢＷ−ＥＣＵ１２がスリープ状態に移行するようにできる。その結果、ＳＢＷ−ＥＣＵ１２がスリープ状態の期間中にエンコーダ１８の出力信号が変化する可能性を低くすることができ、基準位置を学習する学習処理の回数を効果的に低減することができる。また、ＳＢＷ−ＥＣＵ１２がスリープ状態に移行した後、エンコーダ１８の出力信号が変化する毎にＳＢＷ−ＥＣＵ１２がウェイクアップ状態に移行するといったことがなく、電力消費量を低減することができる。
【００４８】
また、本実施例１では、ＳＢＷ−ＥＣＵ１２がスリープ状態の期間中にエンコーダ１８の出力信号をカウントするエンコーダカウンタ３２を設けるようにしたので、ＳＢＷ−ＥＣＵ１２がスリープ状態の期間中に振動等によりモータ１３の回転位置が多少変化してエンコーダ１８の出力信号が変化しても、ＳＢＷ−ＥＣＵ１２がウェイクアップ状態に復帰したときに、正確なエンコーダカウント値を取得することができる。
【００４９】
従来技術（特許文献１の技術）では、スリープ状態の前後でエンコーダのＡ相信号とＢ相信号を比較してスリープ状態の期間中のエンコーダの出力信号の変化を判定するため、スリープ状態の期間中にエンコーダの出力信号が３ステップ以上変化したときに誤判定してしまう（例えば１ステップの変化と３ステップの変化を区別できない）という問題がある。
【００５０】
その点、本実施例１では、スリープ状態の期間中にエンコーダ１８の出力信号をカウントするエンコーダカウンタ３２を設けたので、スリープ状態の期間中にエンコーダ１８の出力信号が３ステップ以上変化した場合でも、正確なエンコーダカウント値を取得することができる。
【００５１】
更に、本実施例１では、ＳＢＷ−ＥＣＵ１２がスリープ状態の期間中におけるエンコーダカウンタ３２のカウント値の変化量が所定値よりも小さい場合には、ＳＢＷ−ＥＣＵ１２がウェイクアップ状態に復帰したときに、基準位置を学習する学習処理を実施しないようにしたので、基準位置を学習する学習処理の回数を効果的に低減することができる。
【００５２】
また、本実施例１では、ＳＢＷ−ＥＣＵ１２がスリープ状態の期間中におけるエンコーダカウンタ３２のカウント値の変化量が所定値以上の場合には、ＳＢＷ−ＥＣＵ１２がウェイクアップ状態に復帰したときに、基準位置を学習する学習処理を実施するようにしている。つまり、ＳＢＷ−ＥＣＵ１２がスリープ状態の期間中におけるエンコーダカウンタ３２のカウント値の変化量が所定値以上の場合には、エンコーダカウント値に誤差が生じる可能性があると判断して、ＳＢＷ−ＥＣＵ１２がウェイクアップ状態に復帰したときに、基準位置を学習する学習処理を実施することで、エンコーダカウント値を正確なエンコーダカウント値にリセットすることができる。
【００５３】
更に、本実施例１では、ＳＢＷ−ＥＣＵ１２がスリープ状態の期間中に電源用コネクタ３０が脱着された場合（バッテリ２７との接続が一時的に切断された場合）には、ＳＢＷ−ＥＣＵ１２がウェイクアップ状態に復帰したときに、基準位置を学習する学習処理を実施するようにしている。これにより、修理や点検等により電源用コネクタ３０が脱着された場合には、正確なエンコーダカウント値が得られない可能性があるが、ＳＢＷ−ＥＣＵ１２がウェイクアップ状態に復帰したときに、基準位置を学習する学習処理を実施することで、エンコーダカウント値を正確なエンコーダカウント値にリセットすることができる。
【実施例２】
【００５４】
次に、図７及び図８を用いて本発明の実施例２を説明する。但し、前記実施例１と実質的に同一部分には同一符号を付して説明を省略又は簡略化し、主として前記実施例１と異なる部分について説明する。
【００５５】
本実施例２では、図７に示すように、レンジ切換機構１１とＳＢＷ−ＥＣＵ１２とが別体で設けられ、レンジ切換機構１１（モータ１３、エンコーダ１８等）とＳＢＷ−ＥＣＵ１２とが連結用コネクタ３３（第２のコネクタ）を介して電気的に接続されている。
【００５６】
図８に示すように、ＳＢＷ−ＥＣＵ１２は、スリープ状態の期間中に修理や点検等により連結用コネクタ３３が脱着されたか否かを、例えば、エンコーダ１８との接続が一時的に切断されたか否かによって判定する。そして、ＳＢＷ−ＥＣＵ１２がスリープ状態の期間中に連結用コネクタ３３が脱着された場合（エンコーダ１８との接続が一時的に切断された場合）には、ＳＢＷ−ＥＣＵ１２がウェイクアップ状態に復帰したときに、通電相学習と突き当て制御を実施して基準位置を学習する学習処理を実施する。
【００５７】
これにより、修理や点検等により連結用コネクタ３３が脱着された場合やレンジ切換機構１１の交換により連結用コネクタ３３が脱着された場合には、正確なエンコーダカウント値が得られない可能性があるが、ＳＢＷ−ＥＣＵ１２がウェイクアップ状態に復帰したときに、基準位置を学習する学習処理を実施することで、エンコーダカウント値を正確なエンコーダカウント値にリセットすることができる。
【００５８】
尚、上記各実施例１，２では、ＳＢＷ−ＥＣＵ１２がスリープ状態の期間中にエンコーダ１８の出力信号をカウントするエンコーダカウンタ３２を設けるようにしたが、これに限定されず、エンコーダカウンタ３２を省略した構成としても良い。この場合、ＳＢＷ−ＥＣＵ１２がスリープ状態の期間中にエンコーダ１８の出力信号が変化した場合には、ＳＢＷ−ＥＣＵ１２がウェイクアップ状態に復帰したときに、基準位置を学習する学習処理を実施するようにすると良い。
【００５９】
また、上記各実施例１，２では、エンコーダ１８として磁気式のエンコーダを用いたが、これに限定されず、エンコーダ１８は、例えば、光学式のエンコーダやブラシ式のエンコーダを用いても良い。また、エンコーダ１８は、Ａ相信号とＢ相信号を出力するエンコーダに限定されず、Ａ相、Ｂ相信号に加え、補正用（インデックス用）のＺ相信号を出力するエンコーダを用いても良い。
【００６０】
また、上記各実施例１，２では、モータ１３としてスイッチトリラクタンスモータ（ＳＲモータ）を用いたが、エンコーダの出力信号のカウント値に基づいてモータの回転位置を検出してモータの通電相を順次切り換えるブラシレス型の同期モータであれば、ＳＲモータに限定されず、他の種類のブラシレス型の同期モータであっても良い。
【００６１】
また、上記各実施例１，２では、シフトレンジをＰレンジとＮｏｔＰレンジの二つのレンジ間で切り換えるレンジ切換機構を備えたシステムに本発明を適用したが、これに限定されず、例えば、シフトレンジをＰレンジとＲレンジとＮレンジとＤレンジの四つのレンジ間で切り換えるレンジ切換機構を備えたシステムに本発明を適用しても良い。或は、シフトレンジを三つのレンジ間又は五つ以上のレンジ間で切り換えるレンジ切換機構を備えたシステムに本発明を適用しても良い。
【００６２】
また、自動変速機（ＡＴ、ＣＶＴ、ＤＣＴ等）に限定されず、電気自動車用の減速機のシフトレンジを切り換えるレンジ切換装置にも本発明を適用して実施できる。
その他、本発明は、レンジ切換装置に限定されず、ＳＲモータ等のブラシレス型の同期モータを駆動源とする各種の位置切換装置に適用しても良い等、要旨を逸脱しない範囲内で種々変更して実施できる。
【符号の説明】
【００６３】
１１…レンジ切換機構、１２…ＳＢＷ−ＥＣＵ（モータ制御回路）、１３…モータ、１６…ディテントレバー（制御対象）、１８…エンコーダ、２７…バッテリ、３０…電源用コネクタ（第１のコネクタ）、３２…エンコーダカウンタ、３３…連結用コネクタ（第２のコネクタ）
【図１】
0005935784.tif 000002
【図２】
0005935784.tif 000003
【図３】
0005935784.tif 000004
【図４】
0005935784.tif 000005
【図５】
0005935784.tif 000006
【図６】
0005935784.tif 000007
【図７】
0005935784.tif 000008
【図８】
0005935784.tif 000009