(57)【特許請求の範囲】
【請求項１】
制御対象を回転駆動するモータのロータが所定角度回転する毎にパルス信号を出力するエンコーダと、
前記エンコーダのパルス信号をカウントするエンコーダカウンタと、
前記モータの通電相を切り換える毎にカウント動作する通電相切換カウンタと、
前記エンコーダカウンタのカウント値（以下「エンコーダカウント値」という）に応じて前記モータの通電相を順次切り換え、前記エンコーダカウント値が目標位置に対応するＦ／Ｂ用目標カウント値に達するまで前記ロータを回転駆動するフィードバック制御（以下「Ｆ／Ｂ制御」と表記する）を実行するＦ／Ｂ制御手段と、
前記モータのＦ／Ｂ制御系の故障の有無を監視する故障監視手段と、
前記故障監視手段により前記Ｆ／Ｂ制御系の故障が検出されたときに、前記Ｆ／Ｂ制御からオープンループ制御に切り換え、前記エンコーダカウント値の情報をフィードバックせずに前記モータの通電相を順次切り換えると共に、前記通電相切換カウンタのカウント値が前記目標位置に対応するオープンループ用目標カウント値に達するまで前記ロータを回転駆動するフェールセーフ手段と
を備えたモータ制御装置において、
前記フェールセーフ手段は、前記Ｆ／Ｂ制御系の故障検出時に前記オープンループ制御に切り換える際に、前記Ｆ／Ｂ用目標カウント値を前記エンコーダカウント値に対する通電相位相ずれ補正値に応じて補正して前記オープンループ用目標カウント値を設定することを特徴とするモータ制御装置。
【請求項２】
電源投入後にオープンループ制御で前記モータの通電相を切り換える初期駆動を実行して該通電相の切り換えに同期して前記ロータが回転するまでの前記通電相切換カウンタのカウント値に基づいて前記通電相位相ずれ補正値を学習する位相ずれ補正値学習手段を備えていることを特徴とする請求項１に記載のモータ制御装置。
【請求項３】
前記制御対象の可動範囲の限界位置に突き当たるまで前記モータを回転させて基準位置を学習する基準位置学習手段を備え、
前記Ｆ／Ｂ制御手段は、前記基準位置学習手段で学習した前記基準位置を基準にして前記Ｆ／Ｂ用目標カウント値を設定し、
前記フェールセーフ手段は、前記基準位置学習手段で学習した前記基準位置を前記通電相位相ずれ補正値に応じて補正してオープンループ制御時の基準位置を設定し、このオープンループ制御時の基準位置を基準にして前記オープンループ用目標カウント値を設定することを特徴とする請求項１又は２に記載のモータ制御装置。
【請求項４】
前記フェールセーフ手段は、前記基準位置学習手段による前記基準位置の学習が行われていない場合は、その時点の前記通電相切換カウンタのカウント値を設計値で補正してオープンループ制御時の基準位置を設定し、このオープンループ制御時の基準位置を基準にして前記オープンループ用目標カウント値を設定することを特徴とする請求項３に記載のモータ制御装置。
【請求項５】
前記通電相切換カウンタの１回のカウント動作当たりのカウント値の増減量が１回の通電相の切り換えで回転するロータの回転角度幅当たりのエンコーダカウント値の増減量と一致するように設定されていることを特徴とする請求項１乃至４のいずれかに記載のモータ制御装置。
【請求項６】
前記制御対象は、シフトレンジを切り換えるレンジ切換機構であることを特徴とする請求項１乃至５のいずれかに記載のモータ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、エンコーダ等の故障検出時にモータの制御をフィードバック制御からオープンループ制御に切り換える機能を備えたモータ制御装置に関する発明である。
【背景技術】
【０００２】
特許文献１（特開２００４−５６８５５号公報）に記載されているように、モータに設けたエンコーダのパルス信号をロータの回転方向に応じてカウントアップ又はカウントダウンして、そのエンコーダカウント値に基づいてロータの回転位置を検出してモータの通電相を順次切り換え、エンコーダカウント値が目標位置に対応する目標カウント値に達するまでロータを回転駆動するフィードバック制御（以下「Ｆ／Ｂ制御」と表記する）を実行するモータ駆動システムにおいて、モータのＦ／Ｂ制御系の故障の有無を監視し、Ｆ／Ｂ制御系の故障を検出したときに、オープンループ制御に切り換えて、エンコーダカウント値の情報をフィードバックせずにモータの通電相を順次切り換えると共に、その通電相の切り換え毎に通電相切換カウント値をロータの回転方向に応じてカウントアップ又はカウントダウンして、その通電相切換カウント値が目標位置に対応するオープンループ用目標カウント値に達するまでロータを回転駆動するようにしたものがある。このものでは、エンコーダの他に、モータの出力軸の回転角（シフト位置）を検出する出力軸センサを設け、Ｆ／Ｂ制御系の故障検出時に出力軸センサで検出したモータの出力軸の回転角（シフト位置）を基準にしてオープンループ制御を実行するようにしている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００４−５６８５５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
近年、部品点数削減や低コスト化は、重要な技術的課題となっており、この観点から、出力軸センサを省略することが検討されている。しかし、上記特許文献１では、オープンループ制御の基準位置（例えばオープンループ制御開始時の初期位置）を出力軸センサの出力信号に基づいて設定するようにしているため、出力軸センサを省略すると、オープンループ制御の基準位置を設定できなくなってしまい、オープンループ制御を実行できなくなるという問題が発生する。
【０００５】
そこで、本発明が解決しようとする課題は、モータの出力軸の回転角を検出する出力軸センサ（制御対象の回転位置を検出するセンサ）が無い場合でも、モータのＦ／Ｂ制御系の故障時にオープンループ制御に切り換えてロータを目標位置まで回転駆動できるモータ制御装置を提供することである。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、請求項１に係る発明は、制御対象を回転駆動するモータのロータが所定角度回転する毎にパルス信号を出力するエンコーダと、前記エンコーダのパルス信号をカウントするエンコーダカウンタと、前記モータの通電相を切り換える毎にカウント動作する通電相切換カウンタと、前記エンコーダカウンタのカウント値（以下「エンコーダカウント値」という）に応じて前記モータの通電相を順次切り換え、前記エンコーダカウント値が目標位置に対応するＦ／Ｂ用目標カウント値に達するまで前記ロータを回転駆動するフィードバック制御（以下「Ｆ／Ｂ制御」と表記する）を実行するＦ／Ｂ制御手段と、前記モータのＦ／Ｂ制御系の故障の有無を監視する故障監視手段と、前記故障監視手段により前記Ｆ／Ｂ制御系の故障が検出されたときに、前記Ｆ／Ｂ制御からオープンループ制御に切り換え、前記エンコーダカウント値の情報をフィードバックせずに前記モータの通電相を順次切り換えると共に、前記通電相切換カウンタのカウント値（以下「通電相切換カウント値」という）が前記目標位置に対応するオープンループ用目標カウント値に達するまで前記ロータを回転駆動するフェールセーフ手段とを備えたモータ制御装置において、前記フェールセーフ手段は、前記Ｆ／Ｂ制御系の故障検出時に前記オープンループ制御に切り換える際に、前記Ｆ／Ｂ用目標カウント値を前記エンコーダカウント値に対する通電相位相ずれ補正値に応じて補正して前記オープンループ用目標カウント値を設定することを特徴とするものである。
【０００７】
この構成では、モータの回転駆動中は、ロータが回転してエンコーダからパルス信号が出力される毎にエンコーダカウンタがカウント動作してエンコーダカウント値を更新すると共に、モータの通電相が切り換えられる毎に通電相切換カウンタがカウント動作して通電相切換カウント値を更新する。この際、モータのロータが正転／逆転のどちらの方向にも回転するシステムでは、エンコーダカウント値と通電相切換カウント値が回転方向に応じてカウントアップ又はカウントダウンする。これにより、Ｆ／Ｂ制御中は、エンコーダカウント値と通電相切換カウント値が互いに一定の関係を保ちながら変化するが、電源投入後の最初の通電相と実際のロータの回転位置との対応関係がずれていることが多い。従って、電源投入後の最初の通電相と実際のロータの回転位置との対応関係がずれている場合は、通電相を切り換えても、通電相が実際のロータの回転位置と対応するまでロータが回転しない。このため、通電相が実際のロータの回転位置と対応して通電相の切り換えに同期して前記ロータが回転するまでは、通電相の切り換え毎に通電相切換カウント値がカウントアップ（又はカウントダウン）しても、エンコーダカウント値は変化しないため、通電相切換カウント値とエンコーダカウント値との間に、通電相が実際のロータの回転位置と対応するまでの通電相の切り換え回数（通電相の位相ずれ）に応じた通電相位相ずれ補正値分のずれが生じる。
【０００８】
このような関係を考慮して、本発明では、Ｆ／Ｂ制御系の故障検出時にオープンループ制御に切り換える際に、Ｆ／Ｂ用目標カウント値をエンコーダカウント値に対する通電相位相ずれ補正値に応じて補正してオープンループ用目標カウント値を設定するものであり、これにより、モータの出力軸の回転角を検出する出力軸センサ（制御対象の回転位置を検出するセンサ）が無い場合でも、モータのＦ／Ｂ制御系の故障時にオープンループ制御に切り換えてロータを目標位置まで回転駆動することが可能となる。
【０００９】
この場合、請求項２のように、電源投入後にオープンループ制御でモータの通電相を切り換える初期駆動を実行して該通電相の切り換えに同期してロータが回転するまでの通電相切換カウント値に基づいて通電相位相ずれ補正値を学習する位相ずれ補正値学習手段を備えた構成とすると良い。このようにすれば、電源投入後の初期駆動により通電相位相ずれ補正値を学習することができる。
【００１０】
ところで、Ｆ／Ｂ用目標カウント値とオープンループ用目標カウント値は、それぞれ基準位置を基準にして設定されるため、Ｆ／Ｂ制御時の基準位置を通電相位相ずれ補正値に応じて補正すれば、オープンループ制御時の基準位置を求めることができ、このオープンループ制御時の基準位置を基準にしてオープンループ用目標カウント値を設定することができる。
【００１１】
具体的には、請求項３のように、制御対象の可動範囲の限界位置に突き当たるまでモータを回転させて基準位置を学習する基準位置学習手段を備え、Ｆ／Ｂ制御手段は、前記基準位置学習手段で学習した基準位置を基準にしてＦ／Ｂ用目標カウント値を設定し、フェールセーフ手段は、前記基準位置学習手段で学習した基準位置を通電相位相ずれ補正値に応じて補正してオープンループ制御時の基準位置を設定し、このオープンループ制御時の基準位置を基準にしてオープンループ用目標カウント値を設定するようにしても良い。
【００１２】
しかし、基準位置学習手段による基準位置の学習が行われる前にＦ／Ｂ制御系が故障した場合は、基準位置の学習値を用いてオープンループ制御時の基準位置を設定してオープンループ用目標カウント値を設定することができない。
【００１３】
そこで、請求項４のように、基準位置学習手段による基準位置の学習が行われていない場合は、その時点の通電相切換カウンタのカウント値を設計値で補正してオープンループ制御時の基準位置を設定し、このオープンループ制御時の基準位置を基準にしてオープンループ用目標カウント値を設定するようにすれば良い。このようにすれば、基準位置の学習が行われていない場合でも、オープンループ制御時の基準位置を設定してオープンループ用目標カウント値を設定することができる。
【００１４】
ところで、モータとエンコーダの構成によっては、ロータが１回転（３６０°回転）する間の通電相の切り換え回数とエンコーダの出力パルス数（エンコーダカウント値）とが一致しない場合がある。一般には、ロータの回転位置の検出精度を高めるために、１回の通電相の切り換えでロータが所定角度回転する間にエンコーダから複数のパルス信号が出力される構成となっている。
【００１５】
そこで、請求項５のように、通電相切換カウンタの１回のカウント動作当たり（通電相の切り換え毎）のカウント値の増減量が１回の通電相の切り換えで回転するロータの回転角度幅当たりのエンコーダカウント値の増減量と一致するように設定すると良い。例えば、１回の通電相の切り換えでロータが所定角度回転する間にエンコーダカウント値が「Ｎ」増減するシステムでは、通電相を切り換える毎に通電相切換カウント値を「Ｎ」ずつカウントアップ（又はカウントダウン）させるようにすると良い。このようにすれば、通電相切換カウント値とエンコーダカウント値との差が通電相位相ずれ補正値となる。
通電相切換カウント値−エンコーダカウント値＝通電相位相ずれ補正値
通電相切換カウント値＝エンコーダカウント値＋通電相位相ずれ補正値
【００１６】
尚、通電相切換カウンタの１回のカウント動作当たりのカウント値の増減量が１回の通電相の切り換えで回転するロータの回転角度幅当たりのエンコーダカウント値の増減量と一致しないシステムでは、双方のカウント値の増減量が一致するように補正すれば良い。      
【００１８】
以上説明した請求項１〜５に係る発明は、モータを駆動源として制御対象の位置を切り換える様々な位置切換制御装置に適用でき、例えば、請求項６のように、モータを駆動源としてシフトレンジを切り換えるレンジ切換機構に適用しても良い。これにより、モータ駆動式のレンジ切換機構において、Ｆ／Ｂ制御系の故障時のフェールセーフ性を確保しながら、部品点数削減や低コスト化を実現できる。
【図面の簡単な説明】
【００１９】
【図１】図１は本発明の一実施例を示すレンジ切換装置の斜視図である。
【図２】図２はＳＲモータの構成を説明する図である。
【図３】図３はＳＲモータを駆動する回路構成を示す回路図である。
【図４】図４はレンジ切換装置の制御システム全体の構成を概略的に示す図である。
【図５】図５はエンコーダのロータリマグネットの構成を説明する平面図である。
【図６】図６はエンコーダの側面図である。
【図７】図７（ａ）はエンコーダの出力波形を示すタイムチャート、同図（ｂ）は通電相切り換えパターンを示すタイムチャートである。
【図８】図８はＰレンジで初期駆動を行ったときの制御例を示すタイムチャートである。
【図９】図９はエンコーダが正常の場合の制御例を示すタイムチャートである。
【図１０】図１０はモータ起動当初からエンコーダが異常の場合の制御例を示すタイムチャートである。
【図１１】図１１はモータ駆動中にエンコーダが異常になった場合の制御例を示すタイムチャートである。
【図１２】図１２は基準位置学習プログラムの処理の流れを示すフローチャートである。
【図１３】図１３は目標レンジとＦ／Ｂ用目標カウント値との関係を説明する図である。
【発明を実施するための形態】
【００２０】
以下、本発明を実施するための形態を自動変速機のレンジ切換装置に適用して具体化した一実施例を説明する。
【００２１】
まず、図１に基づいてレンジ切換機構１１の構成を説明する。レンジ切換機構１１の駆動源となるモータ１２は、例えばスイッチトリラクタンスモータにより構成され、減速機構２６（図４参照）が内蔵されている。このモータ１２の出力軸１３には、ディテントレバー１５が固定されている。
【００２２】
また、ディテントレバー１５にはＬ字形のパーキングロッド１８が固定され、このパーキングロッド１８の先端部に設けられた円錐体１９がロックレバー２１に当接している。このロックレバー２１は、円錐体１９の位置に応じて軸２２を中心にして上下動してパーキングギヤ２０をロック／ロック解除するようになっている。パーキングギヤ２０は、自動変速機２７の出力軸に設けられ、このパーキングギヤ２０がロックレバー２１によってロックされると、車両の駆動輪が回り止めされた状態（パーキング状態）に保持される。      
【００２３】
一方、ディテントレバー１５をパーキングレンジ（以下「Ｐレンジ」と表記する）と他のレンジ（以下「ＮｏｔＰレンジ」と表記する）に保持するためのディテントバネ２３が支持ベース１７に固定され、このディテントバネ２３の先端に設けられた係合部２３ａがディテントレバー１５のＰレンジ保持凹部２４に嵌まり込んだときに、ディテントレバー１５がＰレンジの位置に保持され、該ディテントバネ２３の係合部２３ａがディテントレバー１５のＮｏｔＰレンジ保持凹部２５に嵌まり込んだときに、ディテントレバー１５がＮｏｔＰレンジの位置に保持されるようになっている。これらディテントレバー１５とディテントバネ２３とからディテントレバー１５の回転位置を各レンジの位置に係合保持するためのディテント機構１４（節度機構）が構成されている。
【００２４】
Ｐレンジでは、パーキングロッド１８がロックレバー２１に接近する方向に移動して、円錐体１９の太い部分がロックレバー２１を押し上げてロックレバー２１の凸部２１ａがパーキングギヤ２０に嵌まり込んでパーキングギヤ２０をロックした状態となり、それによって、自動変速機２７の出力軸（駆動輪）がロックされた状態（パーキング状態）に保持される。
【００２５】
一方、ＮｏｔＰレンジでは、パーキングロッド１８がロックレバー２１から離れる方向に移動して、円錐体１９の太い部分がロックレバー２１から抜け出てロックレバー２１が下降し、それによって、ロックレバー２１の凸部２１ａがパーキングギヤ２０から外れてパーキングギヤ２０のロックが解除され、自動変速機２７の出力軸が回転可能な状態（走行可能な状態）に保持される。
【００２６】
次に、図２に基づいてモータ１２の構成を説明する。
本実施例では、モータ１２として、スイッチトリラクタンスモータ（ＳＲモータ）が用いられている。このモータ１２は、ステータ３１とロータ３２が共に突極構造を持つモータで、永久磁石が不要で構造が簡単であるという利点がある。円筒状のステータ３１の内周部には、例えば１２個の突極３１ａが等間隔に形成され、これに対して、ロータ３２の外周部には、例えば８個の突極３２ａが等間隔に形成され、ロータ３２の回転に伴い、ロータ３２の各突極３２ａがステータ３１の各突極３１ａと微小ギャップを介して順番に対向するようになっている。ステータ３１の１２個の突極３１ａには、Ｕ相、Ｖ相、Ｗ相の合計６個の巻線３３と、Ｕ’相、Ｖ’相、Ｗ’相の合計６個の巻線３４が順番に巻回されている。尚、ステータ３１とロータ３２の突極３１ａ，３２ａの数は適宜変更しても良いことは言うまでもない。
【００２７】
本実施例の巻線３３，３４の巻回順序は、ステータ３１の１２個の突極３１ａに対して、例えばＶ相→Ｗ相→Ｕ相→Ｖ相→Ｗ相→Ｕ相→Ｖ’相→Ｗ’相→Ｕ’相→Ｖ’相→Ｗ’相→Ｕ’相の順序で巻回されている。図３に示すように、Ｕ相、Ｖ相、Ｗ相の合計６個の巻線３３と、Ｕ’相、Ｖ’相、Ｗ’相の合計６個の巻線３４は、２系統のモータ励磁部３５，３６を構成するように結線されている。一方のモータ励磁部３５は、Ｕ相、Ｖ相、Ｗ相の合計６個の巻線３３をＹ結線して構成され（同じ相の２個の巻線３３はそれぞれ直列に接続されている）、他方のモータ励磁部３６は、Ｕ’相、Ｖ’相、Ｗ’相の合計６個の巻線３４をＹ’結線して構成されている（同じ相の２個の巻線３４はそれぞれ直列に接続されている）。２つのモータ励磁部３５，３６は、Ｕ相とＵ’相が同時に通電され、Ｖ相とＶ’相が同時に通電され、Ｗ相とＷ’相が同時に通電される。
【００２８】
これら２つのモータ励磁部３５は、車両に搭載されたバッテリ４０を電源として、それぞれ別個のモータドライバ３７，３８によって駆動される。このように、モータ励磁部３５，３６とモータドライバ３７，３８をそれぞれ２系統ずつ設けることで、一方の系統が故障しても、他方の系統でモータ１２を回転させることができるようになっている。図３に示すモータドライバ３７，３８の回路構成例では、各相毎にトランジスタ等のスイッチング素子３９を１個ずつ設けたユニポーラ駆動方式の回路構成としているが、各相毎にスイッチング素子を２個ずつ設けたバイポーラ駆動方式の回路構成を採用しても良い。尚、本発明は、モータ励磁部とモータドライバをそれぞれ１系統ずつ設けた構成としても良いことは言うまでもない。
【００２９】
各モータドライバ３７，３８の各スイッチング素子３９のオン／オフは、ＥＣＵ４１によって制御される。図４に示すように、このＥＣＵ４１と各モータドライバ３７，３８は、レンジ切換制御装置４２（モータ制御装置）に搭載され、このレンジ切換制御装置４２には、Ｐレンジへの切換操作を行うＰレンジスイッチ４３と、ＮｏｔＰレンジへの切換操作を行うＮｏｔＰレンジスイッチ４４の操作信号が入力される。Ｐレンジスイッチ４３又はＮｏｔＰレンジスイッチ４４の操作により選択されたレンジは、インストルメントパネル（図示せず）に設けられたレンジ表示部４５に表示される。
【００３０】
レンジ切換制御装置４２には、車両に搭載されたバッテリ５０からメインリレー５１（電源スイッチ）を介して電源が供給される。メインリレー５１のオン／オフは、イグニッションスイッチ５２のオン／オフによって切り替えられる。イグニッションスイッチ５２がオンされると、メインリレー５１がオンされてレンジ切換制御装置４２に電源が供給され、イグニッションスイッチ５２がオフされると、所定期間（各制御プログラムの終了処理を行うのに必要な期間）が経過した後にメインリレー５１がオフされてレンジ切換制御装置４２への電源供給が遮断される。
【００３１】
モータ１２には、ロータ３２の回転位置を検出するためのエンコーダ４６が設けられている。このエンコーダ４６は、例えば磁気式のロータリエンコーダにより構成されており、その具体的な構成は、図５及び図６に示すように、Ｎ極とＳ極が円周方向に交互に等ピッチで着磁された円環状のロータリマグネット４７がロータ３２の側面に同軸状に固定され、このロータリマグネット４７に対向する位置に、２個のホールＩＣ等の磁気検出素子４８，４９が配置された構成となっている。
【００３２】
本実施例では、ロータリマグネット４７のＮ極とＳ極の着磁ピッチが７．５°に設定されている。このロータリマグネット４７の着磁ピッチ（７．５°）は、モータ１２の励磁１回当たり（通電相の切り換え１回当たり）のロータ３２の回転角度と同じ角度に設定されている。後述するように、１−２相励磁方式でモータ１２の通電相の切り換えを６回行うと、全ての通電相の切り換えが一巡してロータ３２とロータリマグネット４７が一体的に７．５°×６＝４５°回転する。このロータリマグネット４７の４５°の回転角度範囲に存在するＮ極とＳ極の数は、合計６極となっている。
【００３３】
このロータリマグネット４７に対して２個の磁気検出素子４８，４９が次のような位置関係で配置されている。Ａ相信号を出力する磁気検出素子４８とＢ相信号を出力する磁気検出素子４９は、ロータリマグネット４７の着磁部分（Ｎ，Ｓ）に対向し得る位置の同一円周上に配置されている。Ａ相信号とＢ相信号を出力する２個の磁気検出素子４８，４９の間隔は、図７に示すように、Ａ相信号とＢ相信号の位相差が、電気角で９０°（機械角で３．７５°）となるように設定されている。ここで、“電気角”はＡ・Ｂ相信号の発生周期を１周期（３６０°）とした場合の角度で、“機械角”は機械的な角度（ロータ３２の１回転を３６０°とした場合の角度）であり、Ａ相信号の立ち下がり（立ち上がり）からＢ相信号の立ち下がり（立ち上がり）までにロータ３２が回転する角度がＡ相信号とＢ相信号の位相差の機械角に相当する。
各磁気検出素子４８，４９の出力は、Ｎ極と対向したときにハイレベル“１”となり、Ｓ極と対向したときにローレベル“０”となる。
【００３４】
本実施例では、ＥＣＵ４１がＡ相信号とＢ相信号の立ち上がり／立ち下がりの両方のエッジをエンコーダカウンタでカウントして、そのカウント値（以下「エンコーダカウント値」という）に応じてモータ１２の通電相を切り換えることでロータ３２を回転駆動する。この際、Ａ相信号とＢ相信号の発生順序によってロータ３２の回転方向を判定し、正回転（Ｐレンジ→ＮｏｔＰレンジの回転方向）ではエンコーダカウント値をカウントアップし、逆回転（ＮｏｔＰレンジ→Ｐレンジの回転方向）ではエンコーダカウント値をカウントダウンする。これにより、ロータ３２が正回転／逆回転のいずれの方向に回転しても、エンコーダカウント値とロータ３２の回転位置との対応関係が維持されるため、正回転／逆回転のいずれの回転方向でも、エンコーダカウント値によってロータ３２の回転位置（回転角度）を検出して、その回転位置に対応した相の巻線３３，３４に通電してロータ３２を回転駆動する。
【００３５】
図７は、ロータ３２を逆回転方向（ＮｏｔＰレンジ→Ｐレンジの回転方向）に回転させたときのエンコーダ４６の出力波形と通電相の切換パターンを示している。逆回転方向（ＮｏｔＰレンジ→Ｐレンジの回転方向）と正回転方向（Ｐレンジ→ＮｏｔＰレンジの回転方向）のいずれの場合も、ロータ３２が７．５°回転する毎に１相通電と２相通電とを交互に切り換えるようになっており、ロータ３２が４５°回転する間に、例えば、Ｕ相通電→ＵＷ相通電→Ｗ相通電→ＶＷ相通電→Ｖ相通電→ＵＶ相通電の順序で通電相の切り換えを一巡するようになっている。
【００３６】
そして、この通電相の切り換え毎に、ロータ３２が７．５°ずつ回転して、Ａ相、Ｂ相信号用の磁気検出素子４８，４９に対向するロータリマグネット４７の磁極がＮ極→Ｓ極又はＳ極→Ｎ極に変化してＡ相信号とＢ相信号のレベルが交互に反転し、それによって、ロータ３２が７．５°回転する毎に、エンコーダカウント値が２ずつカウントアップ（又はカウントダウン）する。尚、本明細書では、Ａ相、Ｂ相信号がハイレベル“１”となることを、Ａ相、Ｂ相信号が出力されると言う場合がある。
【００３７】
ところで、エンコーダカウント値は、ＥＣＵ４１のＲＡＭに記憶されるため、ＥＣＵ４１の電源がオフされると、エンコーダカウント値の記憶が消えてしまう。そのため、ＥＣＵ４１の電源投入直後のエンコーダカウント値（０）は、実際のロータ３２の回転位置（通電相）に対応したものとならない。従って、エンコーダカウント値に応じて通電相を切り換えるためには、電源投入後にエンコーダカウント値と実際のロータ３２の回転位置とを対応させて、エンコーダカウント値と通電相とを対応させる必要がある。
【００３８】
そこで、本実施例では、レンジ切換制御装置４２のＥＣＵ４１によってＥＣＵ４１への電源投入後の初期駆動時に、モータ１２の通電相の切り換えを所定のタイムスケジュールで一巡させてエンコーダ４６のＡ相信号及びＢ相信号のエッジをカウントし、初期駆動終了時のエンコーダカウント値とロータ３２の回転位置と通電相との対応関係を学習し、その後の通常駆動時に、エンコーダカウント値と初期駆動終了時の学習結果とに基づいて通電相を決定するようにしている。
【００３９】
この初期駆動時の学習は、具体的には次のようにして行われる。図８に示すように、ＰレンジでＥＣＵ４１に電源が投入されたときに初期駆動を行う場合は、例えば、Ｗ相通電→ＵＷ相通電→Ｕ相通電→ＵＶ相通電→Ｖ相通電→ＶＷ相通電の順序で通電相の切り換えを所定のタイムスケジュールで一巡し、ロータ３２を正回転方向（Ｐレンジ→ＮｏｔＰレンジの回転方向）に駆動する。
【００４０】
一方、ＮｏｔＰレンジでＥＣＵ４１に電源が投入されたときに初期駆動を行う場合は、例えば、Ｖ相通電→ＵＶ相通電→Ｕ相通電→ＵＷ相通電→Ｗ相通電→ＶＷ相通電の順序で通電相の切り換えを所定のタイムスケジュールで一巡し、ロータ３２を逆回転方向（ＮｏｔＰレンジ→Ｐレンジの回転方向）に駆動する。
【００４１】
この初期駆動時には、１相通電の時間Ｔ１を２相通電の時間Ｔ２よりも短くし、例えばＴ１＝１０ｍｓ、Ｔ２＝１００ｍｓに設定する。初期駆動中にロータ３２の回転位置と通電相との同期がとれた後でも、トルクが小さい１相通電では、ロータ３２が振動するため、１相通電の時間Ｔ１を短くして、できるだけ速やかに次の２相通電に切り換えることで、ロータ３２の振動を速やかに停止させてエンコーダ４６の出力信号を安定させるようにしている。
【００４２】
このように、初期駆動時に通電相の切り換えを一巡させれば、初期駆動が終了するまでに、いずれかの通電相で必ずロータ３２の回転位置と通電相とが一致して、それ以後、通電相の切り換えに同期してロータ３２が回転して、このロータ３２の回転に同期してエンコーダ４６からＡ相信号及びＢ相信号が出力されるようになる。
【００４３】
この初期駆動中に、エンコーダ４６のＡ相信号及びＢ相信号の立ち上がり／立ち下がりの両方のエッジをカウントする。従って、初期駆動終了時のエンコーダカウント値を見れば、初期駆動が終了するまでにロータ３２が実際に通電相の切り換えに同期して回転した角度（回転量）が分かり、それによって、初期駆動終了時のエンコーダカウント値とロータ３２の回転位置と通電相との対応関係が分かる。
【００４４】
図８の例では、初期駆動時に最初の通電相（Ｗ相）からロータ３２が回転し、通電相の切り換え毎にロータ３２が７．５°ずつ回転してエンコーダカウント値が２ずつカウントアップし、初期駆動終了時にエンコーダカウント値が１２となる。
【００４５】
これに対し、例えば、初めの３回の励磁（Ｗ相通電→ＵＷ相通電→Ｕ相通電）でロータ３２が回転しない場合、つまり４回目以降の励磁（ＵＶ相通電→Ｖ相通電→ＶＷ相通電）でロータ３２の回転位置と通電相とが同期してロータ３２が３回の励磁分だけ回転する場合は、初期駆動終了時までにロータ３２が７．５°×３＝２２．５°回転して、エンコーダカウント値が２×３＝６となる。従って、初期駆動終了時のエンコーダカウント値を見れば、初期駆動が終了するまでにロータ３２が実際に通電相の切り換えに同期して回転した角度（回転量）が判明する。
【００４６】
この場合、初期駆動の最後の通電相は、常にＶＷ相となるが、エンコーダカウント値は、必ずしも「１２」になるとは限らず、例えば「８」、或は「４」となる場合もある。初期駆動終了後の通常駆動時には、エンコーダカウント値に基づいて通電相が決定されるため、初期駆動によるエンコーダカウント値を通電相位相ずれ補正値分だけ修正することにより、通常駆動時に正しい通電相を選択することができる。
【００４７】
図８の例のように、初期駆動時に最初の通電相（Ｗ相）からロータ３２が回転した場合、つまり初期駆動開始当初から通電相の切り換えに同期してロータ３２が回転した場合は、初期駆動終了時にエンコーダカウント値が「１２」となるため、初期駆動終了時のエンコーダカウント値が「８」であれば、通電相位相ずれ補正値は、１２−８＝４となる。
通電相位相ずれ補正値＝１２−「初期駆動終了時のエンコーダカウント値」
【００４８】
この通電相位相ずれ補正値は、初期駆動開始後に通電相の切り換えに同期してロータ３２が回転するまでの通電相切換カウント値（後述する通電相切換カウンタのカウント値）に相当する。この初期駆動により通電相位相ずれ補正値を学習（算出）する処理は、ＥＣＵ４１によって実行され、特許請求の範囲でいう位相ずれ補正値学習手段としての役割を果たす。
【００４９】
ところで、ＥＣＵ４１は、モータ１２の起動後のエンコーダカウント値に基づいてロータ３２の起動位置からの回転量（回転角度）を検出できるだけであるため、電源投入後に、何等かの方法で、ロータ３２の絶対的な回転位置を検出しないと、モータ１２のロータ３２を正確に目標位置まで回転駆動することができない。
【００５０】
そこで、ＥＣＵ４１は、初期駆動終了後にモータ１２をレンジ切換機構１１のディテント機構１４で規制された可動範囲のＰレンジ側の限界位置（Ｐレンジ壁）に突き当たるまで回転させるＰレンジ壁突き当て制御を実施してＰレンジ側の限界位置を基準位置として学習するようにしている。尚、モータ１２をＮｏｔＰレンジ側の限界位置（ＮｏｔＰレンジ壁）に突き当たるまで回転させるＮｏｔＰレンジ壁突き当て制御を実施してＮｏｔＰレンジ側の限界位置を基準位置として学習するようにしても良い。
【００５１】
図９に示すように、エンコーダ４６が正常である場合は、モータ１２の起動後に初期駆動を実行して通電相位相ずれ補正値を学習してから、Ｐレンジ壁突き当て制御（又はＮｏｔＰレンジ壁突き当て制御）を実行してＰレンジ側の限界位置を基準位置として学習した後、Ｐレンジ（又はＮｏｔＰレンジ）に戻すＰレンジ戻し制御（又はＮｏｔＰレンジ戻し制御）を実行し、その後、通常のモータ制御であるフィードバック制御（以下「Ｆ／Ｂ制御」と表記する）に移行する。
【００５２】
このＦ／Ｂ制御では、Ｐレンジスイッチ４３又はＮｏｔＰレンジスイッチ４４の操作により目標レンジが設定されると、その目標レンジに対応するＦ／Ｂ用目標カウント値を基準位置の学習値を基準にして設定してモータ１２の駆動を開始し、エンコーダカウント値に応じてモータ１２の通電相を順次切り換え、エンコーダカウント値がＦ／Ｂ用目標カウント値に達するまでロータ３２を回転駆動する。以下の説明では、Ｐレンジ壁突き当て制御による基準位置の学習を「基準位置学習（１）」と表記する。
【００５３】
この際、Ｆ／Ｂ用目標カウント値の設定方法は、図１３に示すように、目標レンジがＰレンジの場合は、学習した基準位置（エンコーダカウント値）に、該基準位置からＰレンジ保持凹部２４の谷底までのエンコーダカウント値ｋＯＦＦＳＥＴＰを加算して、ＰレンジのＦ／Ｂ用目標カウント値を設定する。
ＰレンジのＦ／Ｂ用目標カウント値＝基準位置＋ｋＯＦＦＳＥＴＰ
【００５４】
また、目標レンジがＮｏｔＰレンジの場合は、学習した基準位置（エンコーダカウント値）に、該基準位置からＮｏｔＰレンジ保持凹部２５の谷底までのエンコーダカウント値ｋＯＦＦＳＥＴＮＰを加算して、ＮｏｔＰレンジのＦ／Ｂ用目標カウント値を設定する。      ＮｏｔＰレンジのＦ／Ｂ用目標カウント値＝基準位置＋ｋＯＦＦＳＥＴＮＰ
【００５５】
ところで、エンコーダ４６の回路断線等によりモータ１２のＦ／Ｂ制御系が故障すると、モータ１２をＦ／Ｂ制御できないため、本実施例では、ＥＣＵ４１は、電源オン中に故障監視プログラム（故障監視手段）を周期的に実行してエンコーダ４６等のＦ／Ｂ制御系の故障の有無を監視し、Ｆ／Ｂ制御系の故障が検出されたときに、Ｆ／Ｂ制御からオープンループ制御に切り換え、エンコーダカウント値の情報をフィードバックせずにモータ１２の通電相を順次切り換えて、ロータ３２を目標位置まで回転駆動するようにしている。
【００５６】
尚、Ｆ／Ｂ制御系の故障診断は、例えば特開２００４−５６８５５号公報に記載した故障診断方法で行えば良い。本実施例では、図１１に示すように、Ｆ／Ｂ制御中に通電相を切り換えてもエンコーダカウント値が変化しない状態を検出したときに、エンコーダ仮異常（Ｆ／Ｂ制御系の故障）と判定して、エンコーダ仮異常フラグを「ＯＦＦ」から「ＯＮ」に切り換えるようにしている。
【００５７】
Ｆ／Ｂ制御系の故障時のオープンループ制御によりロータ３２を目標位置まで回転駆動するために、本実施例では、モータ１２の通電相を切り換える毎にカウント動作する通電相切換カウンタを設け、モータ１２の起動時から通電相の切り換え毎に通電相切換カウンタのカウント値（以下「通電相切換カウント値」という）をロータ３２の回転方向に応じて所定値ずつカウントアップ又はカウントダウンするようにしている。
【００５８】
本実施例では、通電相切換カウンタの１回のカウント動作当たり（通電相の切り換え毎）の通電相切換カウント値の増減量が、１回の通電相の切り換えで回転するロータ３２の回転角度幅当たりのエンコーダカウント値の増減量と一致するように設定されている。例えば、１回の通電相の切り換えでロータ３２が所定角度回転する間のエンコーダカウント値の増減量が「Ｎ」となるシステムでは、通電相の切り換え毎に通電相切換カウント値を「Ｎ」ずつカウントアップ（又はカウントダウン）させるようにすれば良い。このようにすれば、通電相切換カウント値とエンコーダカウント値との差が通電相位相ずれ補正値と一致する。
通電相切換カウント値−エンコーダカウント値＝通電相位相ずれ補正値
通電相切換カウント値＝エンコーダカウント値＋通電相位相ずれ補正値
【００５９】
通電相切換カウンタは、エンコーダカウンタと同様に、全てのモータ制御モード（初期駆動、Ｐレンジ壁突き当て制御、Ｐレンジ戻し制御、Ｆ／Ｂ制御、オープンループ制御）でカウント動作し、通電相の切り換え毎に通電相切換カウント値をロータ３２の回転方向に応じて所定値ずつカウントアップ又はカウントダウンさせる。
【００６０】
尚、通電相切換カウンタの１回のカウント動作当たりのカウント値の増減量が１回の通電相の切り換えで回転するロータ３２の回転角度幅当たりのエンコーダカウント値の増減量と一致しないシステムでは、双方のカウント値の増減量が一致するように補正すれば良い。
【００６１】
ＥＣＵ４１は、Ｆ／Ｂ制御系の故障検出時にモータ制御モードをＦ／Ｂ制御からオープンループ制御に切り換える際に、目標レンジに対応するＦ／Ｂ用目標カウント値を通電相位相ずれ補正値分だけ補正してオープンループ用目標カウント値を設定し、通電相切換カウント値がオープンループ用目標カウント値に達するまでロータ３２を回転駆動する。この機能が特許請求の範囲でいうフェールセーフ手段に相当する。
オープンループ用目標カウント値＝Ｆ／Ｂ用目標カウント値＋通電相位相ずれ補正値
【００６２】
図１０に示すように、モータ１２の起動当初からエンコーダ４６が異常の場合は、モータ１２の起動後に初期駆動を実行しても、通電相位相ずれ補正値の学習を失敗するため、通電相位相ずれ補正値の学習を失敗した場合は、初期駆動を再実行（リトライ）する。この初期駆動のリトライを予め設定された所定回数（例えば３回）行っても、通電相位相ずれ補正値の学習を失敗した場合は、基準位置学習（３）を実行して、モータ制御モードをＦ／Ｂ制御系の故障検出時のオープンループ制御に切り換える。この場合は、通電相位相ずれ補正値の学習値が無く、しかも、Ｐレンジ壁突き当て制御による基準位置の学習値も無いため、基準位置の学習値と通電相位相ずれ補正値の学習値を用いてオープンループ制御時の基準位置を設定することができない。従って、基準位置学習（３）では、その時点の通電相切換カウント値に、Ｐレンジ保持凹部２４の谷底からＰレンジ側の限界位置（壁位置）までのエンコーダカウント値の設計値を加算してオープンループ制御時の基準位置を設定する。
【００６３】
オープンループ制御時（学習値無し時）の基準位置＝通電相切換カウント値＋設計値
また、図１１に示すように、モータ１２の起動後に、初期駆動、Ｐレンジ壁突き当て制御、Ｐレンジ戻し制御をそれぞれ正常に実行して、Ｆ／Ｂ制御に移行した後にエンコーダ４６の回路断線等のＦ／Ｂ制御系の故障が発生した場合は、初期駆動による通電相位相ずれ補正値の学習とＰレンジ壁突き当て制御による基準位置学習（１）が正常に行われているため、Ｆ／Ｂ制御系の故障検出時にモータ制御モードをＦ／Ｂ制御からオープンループ制御に切り換える際に、目標レンジに対応するＦ／Ｂ用目標カウント値を通電相位相ずれ補正値分だけ補正してオープンループ用目標カウント値を設定する。具体的には、基準位置の学習値を通電相位相ずれ補正値に応じて補正してオープンループ制御時の基準位置を求め、このオープンループ制御時の基準位置を基準にしてオープンループ用目標カウント値を設定する。以下、このオープンループ制御時の基準位置の学習を「基準位置学習（２）」と表記する。
【００６４】
オープンループ制御時（学習値有り時）の基準位置
＝基準位置学習値＋通電相位相ずれ補正値
【００６５】
以上説明した本実施例の基準位置の学習は、ＥＣＵ４１によって図１２の基準位置学習プログラムに従って実行される。図１２の基準位置学習プログラムは、ＥＣＵ４１の電源オン中に所定周期で繰り返し実行される。本プログラムが起動されると、まず、ステップ１０１で、エンコーダ本異常フラグが「ＯＮ」であるか否かを判定する。このエンコーダ本異常フラグは、図１１に示すように、後述するエンコーダ仮異常フラグが「ＯＮ」から「ＯＦＦ」に切り換えられたときに「ＯＦＦ」から「ＯＮ」に切り換えられる。例えば、エンコーダ４６の回路断線等（Ｆ／Ｂ制御系の故障）が検出された時点で、エンコーダ仮異常フラグが「ＯＦＦ」から「ＯＮ」に切り換えられ、オープンループ制御に切り換えられてロータ３２が目標位置まで回転駆動された時点で、エンコーダ仮異常フラグが「ＯＮ」から「ＯＦＦ」に切り換えられると共に、エンコーダ本異常フラグが「ＯＦＦ」から「ＯＮ」に切り換えられる。
【００６６】
上記ステップ１０１で、エンコーダ本異常フラグが「ＯＦＦ」と判定されれば、ステップ１０５に進み、エンコーダ仮異常フラグが「ＯＮ」であるか否かを判定する。その結果、エンコーダ仮異常フラグが「ＯＦＦ」と判定されれば、エンコーダ４６が正常（Ｆ／Ｂ制御系の故障無し）と判断して、ステップ１１２に進み、現在のモータ制御モードがＰレンジ壁突き当て制御であるか否かを判定し、Ｐレンジ壁突き当て制御でなければ、そのまま本プログラムを終了する。
【００６７】
一方、上記ステップ１１２で、現在のモータ制御モードがＰレンジ壁突き当て制御であると判定されれば、ステップ１１３に進み、Ｐレンジ壁位置検出完了フラグが「ＯＮ」であるか否かを判定し、その結果、Ｐレンジ壁位置検出完了フラグが「ＯＦＦ」と判定されれば、Ｐレンジ壁突き当て制御の途中と判断して、そのまま本プログラムを終了する。
【００６８】
上記ステップ１１３で、Ｐレンジ壁位置検出完了フラグが「ＯＮ」と判定されれば、Ｐレンジ壁突き当て制御完了と判断して、ステップ１１４に進み、基準位置学習（１）を実行して、Ｐレンジ壁位置を基準位置として学習して本プログラムを終了する。
【００６９】
また、前述したステップ１０５で、エンコーダ仮異常フラグが「ＯＮ」と判定されれば、ステップ１０６に進み、エンコーダ仮異常フラグが「ＯＦＦ」から「ＯＮ」に切り換えられた直後であるか否かを判定し、「ＯＦＦ」から「ＯＮ」に切り換えられた直後であれば、ステップ１０７に進み、オープン駆動準備完了フラグを「ＯＦＦ」にリセットしてステップ１０８の処理に進む。エンコーダ仮異常フラグが「ＯＦＦ」から「ＯＮ」に切り換えられた直後でなければ、そのままステップ１０８の処理に進む。
【００７０】
このステップ１０８では、オープン駆動準備完了フラグが「ＯＮ」であるか否かを判定し、オープン駆動準備完了フラグが「ＯＦＦ」と判定されれば、そのまま本プログラムを終了する。
【００７１】
一方、上記ステップ１０８で、オープン駆動準備完了フラグが「ＯＮ」と判定されれば、ステップ１０９に進み、現在のモータ制御モードがオープンループ制御であるか否かを判定し、オープンループ制御でなければ、そのまま本プログラムを終了する。
【００７２】
これに対し、上記ステップ１０９で、現在のモータ制御モードがオープンループ制御であると判定されれば、ステップ１１０に進み、基準位置学習（２）を実行して、基準位置の学習値を通電相位相ずれ補正値分だけ補正してオープンループ制御時の基準位置を設定する。この後、ステップ１１１に進み、オープン駆動準備完了フラグを「ＯＮ」に切り換えて本プログラムを終了する。
【００７３】
また、前述したステップ１０１で、エンコーダ本異常フラグが「ＯＮ」と判定されれば、ステップ１０２に進み、オープン駆動準備完了フラグが「ＯＮ」であるか否かを判定し、オープン駆動準備完了フラグが「ＯＮ」と判定されれば、オープンループ制御時の基準位置の設定が完了していると判断して、本プログラムを終了する。
【００７４】
一方、上記ステップ１０２で、オープン駆動準備完了フラグが「ＯＦＦ」と判定されれば、オープンループ制御時の基準位置が設定されていないと判断して、ステップ１０３に進み、基準位置学習（３）を実行して、その時点の通電相切換カウント値に、Ｐレンジ保持凹部２４の谷底からＰレンジ側の限界位置（壁位置）までのエンコーダカウント値の設計値を加算してオープンループ制御時の基準位置を設定する。この後、ステップ１０４に進み、オープン駆動準備完了フラグを「ＯＮ」に切り換えて本プログラムを終了する。
【００７５】
以上説明した本実施例では、モータ１２の回転駆動中は、ロータ３２が回転してエンコーダ４６からパルス信号が出力される毎にエンコーダカウンタがカウント動作してエンコーダカウント値を更新すると共に、モータ１２の通電相が切り換えられる毎に通電相切換カウンタがカウント動作して通電相切換カウント値を更新する。この際、モータ１２のロータ３２が正転／逆転のどちらの方向にも回転するシステムでは、エンコーダカウント値と通電相切換カウント値が回転方向に応じてカウントアップ又はカウントダウンする。これにより、Ｆ／Ｂ制御中は、エンコーダカウント値と通電相切換カウント値が互いに一定の関係を保ちながら変化するが、電源投入後の最初の通電相と実際のロータ３２の回転位置との対応関係がずれていることが多い。従って、電源投入後の最初の通電相と実際のロータ３２の回転位置との対応関係がずれている場合は、通電相を切り換えても、通電相が実際のロータ３２の回転位置と対応するまでロータ３２が回転しない。このため、通電相が実際のロータ３２の回転位置と対応して通電相の切り換えに同期して前記ロータが回転するまでは、通電相の切り換え毎に通電相切換カウント値がカウントアップ（又はカウントダウン）しても、エンコーダカウント値は変化しないため、通電相切換カウント値とエンコーダカウント値との間に、通電相が実際のロータ３２の回転位置と対応するまでの通電相の切り換え回数（通電相の位相ずれ）に応じた通電相位相ずれ補正値分のずれが生じる。
【００７６】
このような関係を考慮して、本実施例では、エンコーダ４６等のＦ／Ｂ制御系の故障検出時にオープンループ制御に切り換える際に、Ｆ／Ｂ用目標カウント値をエンコーダカウント値に対する通電相位相ずれ補正値に応じて補正してオープンループ用目標カウント値を設定するものであり、これにより、モータ１２の出力軸１３の回転角を検出する出力軸センサ（制御対象の回転位置を検出するセンサ）が無い場合でも、モータ１２のＦ／Ｂ制御系の故障時にオープンループ制御に切り換えてロータ３２を目標位置まで回転駆動することが可能となり、Ｆ／Ｂ制御系の故障時のフェールセーフ性を確保しながら、部品点数削減や低コスト化を実現できる。
【００７７】
尚、エンコーダ４６は、磁気式のエンコーダに限定されず、例えば、光学式のエンコーダやブラシ式のエンコーダを用いても良い。
また、上記実施例では、モータ１２としてスイッチトリラクタンスモータ（ＳＲモータ）を用いたが、エンコーダの出力信号のカウント値に基づいてロータの回転位置を検出してモータの通電相を順次切り換えるブラシレス型の同期モータであれば、ＳＲモータに限定されず、他の種類のブラシレス型の同期モータであっても良い。
【００７８】
また、上記実施例のレンジ切換装置は、ＰレンジとＮｏｔＰレンジの２つのレンジを切り換える構成であるが、例えば、ディテントレバー１５の回動動作に連動して自動変速機のレンジ切換弁とマニュアルバルブを切り換えて、自動変速機のＰ、Ｒ、Ｎ、Ｄ、…の各レンジを切り換えるレンジ切換装置にも本発明を適用して実施できる。
【００７９】
その他、本発明は、レンジ切換装置に限定されず、ＳＲモータ等のブラシレス型の同期モータを駆動源とする各種の位置切換装置に適用したり、或は、モータの出力軸の回転角を検出する出力軸センサ（制御対象の回転位置を検出するセンサ）を備えたシステムに適用しても良い等、要旨を逸脱しない範囲内で種々変更して実施できることは言うまでもない。
【符号の説明】
【００８０】
１１…レンジ切換機構（制御対象）、１２…モータ、１４…ディテント機構、１５…ディテントレバー、１８…パーキングロッド、２０…パーキングギヤ、２１…ロックレバー、２３…ディテントバネ、２４…Ｐレンジ保持凹部、２５…ＮｏｔＰレンジ保持凹部、２６…減速機構、２７…自動変速機、３１…ステータ、３２…ロータ、３３，３４…巻線、３５，３６…モータ励磁部、３７，３８…モータドライバ、４１…ＥＣＵ（Ｆ／Ｂ制御手段，故障監視手段，フェールセーフ手段，位相ずれ補正値学習手段，基準位置学習手段）、４６…エンコーダ、５０…バッテリ、５１…メインリレー
【図１】
0005454962.tif 000002
【図２】
0005454962.tif 000003
【図３】
0005454962.tif 000004
【図４】
0005454962.tif 000005
【図５】
0005454962.tif 000006
【図６】
0005454962.tif 000007
【図７】
0005454962.tif 000008
【図８】
0005454962.tif 000009
【図９】
0005454962.tif 000010
【図１０】
0005454962.tif 000011
【図１１】
0005454962.tif 000012
【図１２】
0005454962.tif 000013
【図１３】
0005454962.tif 000014