"制御対象を回転駆動するモータのロータが所定角度回転する毎にパルス信号を出力するエンコーダと、前記エンコーダのパルス信号をカウントするエンコーダカウンタと、電源投入後にオープンループ制御で前記モータの通電相を切り換える初期駆動を実行して前記エンコーダカウンタのカウント値以下エンコーダカウント値というに対する通電相位相ずれ補正値を学習する初期駆動学習処理を実行する初期駆動学習手段とを備え、前記初期駆動終了後の通常駆動時に前記エンコーダカウント値を前記通電相位相ずれ補正値で補正して補正後のエンコーダカウント値に応じて前記モータの通電相を順次切り換えて前記ロータを目標位置まで回転駆動するモータ制御装置において、前記初期駆動学習手段は、前記モータに供給する電源電圧を監視する手段を備え、電源電圧が所定値以上変動している状態が検出され且つその間に前記初期駆動学習処理を失敗したときに電源電圧が安定した後に前記初期駆動学習処理を再実行することを特徴とするモータ制御装置。請求項1に記載のモータ制御装置において、前記初期駆動学習手段は、電源電圧が所定値以下に低下している状態が検出されたときに電源電圧が所定値以上に上昇した後に前記初期駆動学習処理を再実行することを特徴とするモータ制御装置。制御対象を回転駆動するモータのロータが所定角度回転する毎にパルス信号を出力するエンコーダと、前記エンコーダのパルス信号をカウントするエンコーダカウンタと、電源投入後にオープンループ制御で前記モータの通電相を切り換える初期駆動を実行して前記エンコーダカウンタのカウント値以下エンコーダカウント値というに対する通電相位相ずれ補正値を学習する初期駆動学習処理を実行する初期駆動学習手段とを備え、前記初期駆動終了後の通常駆動時に前記エンコーダカウント値を前記通電相位相ずれ補正値で補正して補正後のエンコーダカウント値に応じて前記モータの通電相を順次切り換えて前記ロータを目標位置まで回転駆動するモータ制御装置において、前記初期駆動学習手段は、電源から電気負荷に流れる電流を監視する手段を備え、電源から所定値以上の大電流が流れる状態が検出され且つその間に前記初期駆動学習処理を失敗したときに当該大電流が流れ終わった後に前記初期駆動学習処理を再実行することを特徴とするモータ制御装置。制御対象を回転駆動するモータのロータが所定角度回転する毎にパルス信号を出力するエンコーダと、前記エンコーダのパルス信号をカウントするエンコーダカウンタと、電源投入後にオープンループ制御で前記モータの通電相を切り換える初期駆動を実行して前記エンコーダカウンタのカウント値以下エンコーダカウント値というに対する通電相位相ずれ補正値を学習する初期駆動学習処理を実行する初期駆動学習手段とを備え、前記初期駆動終了後の通常駆動時に前記エンコーダカウント値を前記通電相位相ずれ補正値で補正して補正後のエンコーダカウント値に応じて前記モータの通電相を順次切り換えて前記ロータを目標位置まで回転駆動するモータ制御装置において、前記初期駆動学習手段は、エンジン始動用のスタータのオン/オフを監視する手段を備え、前記スタータのオンが検出され且つその間に前記初期駆動学習処理を失敗したときに当該スタータがオフされた後に前記初期駆動学習処理を再実行することを特徴とするモータ制御装置。制御対象を回転駆動するモータのロータが所定角度回転する毎にパルス信号を出力するエンコーダと、前記エンコーダのパルス信号をカウントするエンコーダカウンタと、電源投入後にオープンループ制御で前記モータの通電相を切り換える初期駆動を実行して前記エンコーダカウンタのカウント値以下エンコーダカウント値というに対する通電相位相ずれ補正値を学習する初期駆動学習処理を実行する初期駆動学習手段とを備え、前記初期駆動終了後の通常駆動時に前記エンコーダカウント値を前記通電相位相ずれ補正値で補正して補正後のエンコーダカウント値に応じて前記モータの通電相を順次切り換えて前記ロータを目標位置まで回転駆動するモータ制御装置において、前記初期駆動学習手段は、運転者によるエンジン始動操作の有無を監視する手段を備え、エンジン始動操作が検出され且つその間に前記初期駆動学習処理を失敗したときにエンジン始動操作から所定時間経過後に前記初期駆動学習処理を再実行することを特徴とするモータ制御装置。制御対象を回転駆動するモータのロータが所定角度回転する毎にパルス信号を出力するエンコーダと、前記エンコーダのパルス信号をカウントするエンコーダカウンタと、電源投入後にオープンループ制御で前記モータの通電相を切り換える初期駆動を実行して前記エンコーダカウンタのカウント値以下エンコーダカウント値というに対する通電相位相ずれ補正値を学習する初期駆動学習処理を実行する初期駆動学習手段とを備え、前記初期駆動終了後の通常駆動時に前記エンコーダカウント値を前記通電相位相ずれ補正値で補正して補正後のエンコーダカウント値に応じて前記モータの通電相を順次切り換えて前記ロータを目標位置まで回転駆動するモータ制御装置において、前記初期駆動学習手段は、エンジン回転速度を監視する手段を備え、エンジン回転速度が所定値以上変動している状態が検出され且つその間に前記初期駆動学習処理を失敗したときにエンジン回転速度が所定範囲内に安定した後に前記初期駆動学習処理を再実行することを特徴とするモータ制御装置。制御対象を回転駆動するモータのロータが所定角度回転する毎にパルス信号を出力するエンコーダと、前記エンコーダのパルス信号をカウントするエンコーダカウンタと、電源投入後にオープンループ制御で前記モータの通電相を切り換える初期駆動を実行して前記エンコーダカウンタのカウント値以下エンコーダカウント値というに対する通電相位相ずれ補正値を学習する初期駆動学習処理を実行する初期駆動学習手段とを備え、前記初期駆動終了後の通常駆動時に前記エンコーダカウント値を前記通電相位相ずれ補正値で補正して補正後のエンコーダカウント値に応じて前記モータの通電相を順次切り換えて前記ロータを目標位置まで回転駆動するモータ制御装置において、前記初期駆動学習手段は、前記モータに供給する電源電圧を監視する手段を備え、電源電圧が所定値以上変動している状態が検出されたときに電源電圧が安定するまで前記初期駆動学習処理を禁止することを特徴とするモータ制御装置。請求項7に記載のモータ制御装置において、前記初期駆動学習手段は、電源電圧が所定値以下に低下している状態が検出されたときに電源電圧が所定値以上に上昇するまで前記初期駆動学習処理を禁止することを特徴とするモータ制御装置。制御対象を回転駆動するモータのロータが所定角度回転する毎にパルス信号を出力するエンコーダと、前記エンコーダのパルス信号をカウントするエンコーダカウンタと、電源投入後にオープンループ制御で前記モータの通電相を切り換える初期駆動を実行して前記エンコーダカウンタのカウント値以下エンコーダカウント値というに対する通電相位相ずれ補正値を学習する初期駆動学習処理を実行する初期駆動学習手段とを備え、前記初期駆動終了後の通常駆動時に前記エンコーダカウント値を前記通電相位相ずれ補正値で補正して補正後のエンコーダカウント値に応じて前記モータの通電相を順次切り換えて前記ロータを目標位置まで回転駆動するモータ制御装置において、前記初期駆動学習手段は、電源から電気負荷に流れる電流を監視する手段を備え、電源から所定値以上の大電流が流れる状態が検出されたときに当該大電流が流れ終わるまで前記初期駆動学習処理を禁止することを特徴とするモータ制御装置。制御対象を回転駆動するモータのロータが所定角度回転する毎にパルス信号を出力するエンコーダと、前記エンコーダのパルス信号をカウントするエンコーダカウンタと、電源投入後にオープンループ制御で前記モータの通電相を切り換える初期駆動を実行して前記エンコーダカウンタのカウント値以下エンコーダカウント値というに対する通電相位相ずれ補正値を学習する初期駆動学習処理を実行する初期駆動学習手段とを備え、前記初期駆動終了後の通常駆動時に前記エンコーダカウント値を前記通電相位相ずれ補正値で補正して補正後のエンコーダカウント値に応じて前記モータの通電相を順次切り換えて前記ロータを目標位置まで回転駆動するモータ制御装置において、前記初期駆動学習手段は、エンジン始動用のスタータのオン/オフを監視する手段を備え、前記スタータのオンが検出されたときに当該スタータがオフされるまで前記初期駆動学習処理を禁止することを特徴とするモータ制御装置。制御対象を回転駆動するモータのロータが所定角度回転する毎にパルス信号を出力するエンコーダと、前記エンコーダのパルス信号をカウントするエンコーダカウンタと、電源投入後にオープンループ制御で前記モータの通電相を切り換える初期駆動を実行して前記エンコーダカウンタのカウント値以下エンコーダカウント値というに対する通電相位相ずれ補正値を学習する初期駆動学習処理を実行する初期駆動学習手段とを備え、前記初期駆動終了後の通常駆動時に前記エンコーダカウント値を前記通電相位相ずれ補正値で補正して補正後のエンコーダカウント値に応じて前記モータの通電相を順次切り換えて前記ロータを目標位置まで回転駆動するモータ制御装置において、前記初期駆動学習手段は、運転者によるエンジン始動操作の有無を監視する手段を備え、エンジン始動操作が検出されたときにエンジン始動操作から所定時間が経過するまで前記初期駆動学習処理を禁止することを特徴とするモータ制御装置。制御対象を回転駆動するモータのロータが所定角度回転する毎にパルス信号を出力するエンコーダと、前記エンコーダのパルス信号をカウントするエンコーダカウンタと、電源投入後にオープンループ制御で前記モータの通電相を切り換える初期駆動を実行して前記エンコーダカウンタのカウント値以下エンコーダカウント値というに対する通電相位相ずれ補正値を学習する初期駆動学習処理を実行する初期駆動学習手段とを備え、前記初期駆動終了後の通常駆動時に前記エンコーダカウント値を前記通電相位相ずれ補正値で補正して補正後のエンコーダカウント値に応じて前記モータの通電相を順次切り換えて前記ロータを目標位置まで回転駆動するモータ制御装置において、前記初期駆動学習手段は、エンジン回転速度を監視する手段を備え、エンジン回転速度が所定値以上変動している状態が検出されたときにエンジン回転速度が所定範囲内に安定するまで前記初期駆動学習処理を禁止することを特徴とするモータ制御装置。請求項1乃至12のいずれかに記載のモータ制御装置において、前記初期駆動学習手段は、最初の前記初期駆動学習処理を失敗したときに前記初期駆動学習処理が成功するまで前記初期駆動学習処理を複数回繰り返すことを特徴とするモータ制御装置。請求項1乃至13のいずれかに記載のモータ制御装置において、前記初期駆動学習手段は、前記初期駆動学習処理を失敗したときに前記初期駆動学習処理を再実行する場合に前記ロータの回転方向を前回の初期駆動と逆方向に設定することを特徴とするモータ制御装置。請求項1乃至14のいずれかに記載のモータ制御装置において、前記制御対象は、シフトレンジを切り換えるレンジ切換機構であることを特徴とするモータ制御装置。しかし、上記特許文献4のように、初期駆動学習処理を失敗したときに、初期駆動学習処理を再実行するようにしても、初期駆動学習処理の再実行の際に、電源電圧が安定していない場合は、再度、初期駆動学習処理を失敗する可能性がある。この場合、初期駆動学習処理を成功するまで何回も初期駆動学習処理を繰り返すことが考えられるが、電源電圧が安定していない状態で初期駆動学習処理を何回も繰り返すと、間違った通電相位相ずれ補正値を学習する可能性がある。そこで、本発明が解決しようとする課題は、電源投入後に一時的に電源電圧が不安定になっても、電源電圧が安定した状態に復帰した後に速やかに初期駆動学習処理を実行して正しい通電相位相ずれ補正値を学習できるモータ制御装置を提供することである。上記課題を解決するために、請求項1に係る発明は、制御対象を回転駆動するモータのロータが所定角度回転する毎にパルス信号を出力するエンコーダと、このエンコーダのパルス信号をカウントするエンコーダカウンタと、電源投入後にオープンループ制御で前記モータの通電相を切り換える初期駆動を実行して前記エンコーダカウンタのカウント値以下エンコーダカウント値というに対する通電相位相ずれ補正値を学習する初期駆動学習処理を実行する初期駆動学習手段とを備え、前記初期駆動終了後の通常駆動時に前記エンコーダカウント値を前記通電相位相ずれ補正値で補正して補正後のエンコーダカウント値に応じて前記モータの通電相を順次切り換えて前記ロータを目標位置まで回転駆動するモータ制御装置において、前記初期駆動学習手段は、前記モータに供給する電源電圧を監視する手段を備え、電源電圧が所定値以上変動している状態が検出され且つその間に前記初期駆動学習処理を失敗したときに電源電圧が安定した後に前記初期駆動学習処理を再実行するようにしたものである。このようにすれば、初期駆動学習処理中に電源電圧が不安定になって初期駆動学習処理を失敗しても、電源電圧が安定した状態に復帰した後に速やかに初期駆動学習処理を再実行して通電相位相ずれ補正値を正しく学習でき、初期駆動学習処理の信頼性を向上できる。この場合、請求項2のように、電源電圧が所定値以下に低下している状態が検出されたときに電源電圧が所定値以上に上昇した後に初期駆動学習処理を再実行するようにしても良い。このようにすれば、スタータ等の消費電流の大きい電気負荷に通電されて電源電圧が大きく低下したときには、電源電圧が元の状態に戻るまで初期駆動学習処理の再実行を延期することができる。また、請求項3のように、電源から電気負荷に流れる電流を監視する手段を備え、電源から所定値以上の大電流が流れる状態が検出され且つその間に初期駆動学習処理を失敗したときに当該大電流が流れ終わった後に初期駆動学習処理を再実行するようにしても良い。このようにすれば、初期駆動学習処理期間中に大電流が流れて電源電圧が大きく低下したことが原因で初期駆動学習処理を失敗したときには、当該大電流が流れ終わって電源電圧が安定した状態に復帰した後に速やかに初期駆動学習処理を再実行して通電相位相ずれ補正値を正しく学習できる。また、請求項4のように、エンジン始動用のスタータのオン/オフを監視する手段を備え、前記スタータのオンが検出され且つその間に初期駆動学習処理を失敗したときに当該スタータがオフされた後に初期駆動学習処理を再実行するようにしても良い。このようにすれば、スタータがオンされて電源電圧が大きく低下したときに初期駆動学習処理を実行して初期駆動学習処理を失敗した場合は、スタータがオフされて電源電圧が安定した状態に復帰した後に速やかに初期駆動学習処理を再実行して通電相位相ずれ補正値を正しく学習できる。また、請求項5のように、運転者によるエンジン始動操作の有無を監視する手段を備え、エンジン始動操作が検出され且つその間に初期駆動学習処理を失敗したときにエンジン始動操作から所定時間経過後に初期駆動学習処理を再実行するようにしても良い。ここで、エンジン始動操作終了後も所定時間が経過するまで初期駆動学習処理を再実行しない理由は、エンジン始動操作終了後も、エンジン回転速度が始動完了判定値を越えるまでスタータのオン状態が継続することを考慮するためであり、所定時間は、スタータに連続して通電可能な最大時間又はそれ以上の時間に設定すれば良い。この場合も、エンジン始動操作によりスタータがオンされて電源電圧が大きく低下したときに初期駆動学習処理を実行して初期駆動学習処理を失敗した場合は、少なくともスタータがオフされて電源電圧が安定した状態に復帰した後に速やかに初期駆動学習処理を再実行して通電相位相ずれ補正値を正しく学習できる。また、請求項6のように、エンジン回転速度を監視する手段を備え、エンジン回転速度が所定値以上変動している状態が検出され且つその間に初期駆動学習処理を失敗したときにエンジン回転速度が所定範囲内に安定した後に初期駆動学習処理を再実行するようにしても良い。このようにすれば、例えば、スタータがオンされてエンジン回転速度が大きく上昇しているときに初期駆動学習処理を実行して初期駆動学習処理を失敗した場合は、エンジン回転速度が始動完了判定値を越えてスタータがオフされてエンジン回転速度が安定して電源電圧が安定した状態に復帰した後に、速やかに初期駆動学習処理を再実行して通電相位相ずれ補正値を正しく学習できる。本発明は、請求項7のように、モータに供給する電源電圧を監視する手段を備え、電源電圧が所定値以上変動している状態が検出されたときに電源電圧が安定するまで初期駆動学習処理を禁止するようにしても良い。このようにすれば、電源投入後に初期駆動学習処理を開始する前から電源電圧が不安定な状態が続いていれば、最初から初期駆動学習処理を開始せず、その後、電源電圧が安定した状態に復帰した後に、速やかに最初の初期駆動学習処理を実行して通電相位相ずれ補正値を正しく学習できる。この場合、請求項8のように、電源電圧が所定値以下に低下している状態が検出されたときに電源電圧が所定値以上に上昇するまで初期駆動学習処理を禁止するようにしても良い。このようにすれば、電源投入後に初期駆動学習処理を開始する前から、スタータ等の消費電流の大きい電気負荷に通電されて電源電圧が大きく低下しているときには、最初から初期駆動学習処理を実行せず、その後、電源電圧が元の状態に復帰した後に、速やかに最初の初期駆動学習処理を実行して通電相位相ずれ補正値を正しく学習できる。また、請求項9のように、電源から電気負荷に流れる電流を監視する手段を備え、電源から所定値以上の大電流が流れる状態が検出されたときに当該大電流が流れ終わるまで初期駆動学習処理を禁止するようにしても良い。このようにすれば、電源投入後に初期駆動学習処理を開始する前に、大電流が流れて電源電圧が大きく低下しているときには、最初から初期駆動学習処理を実行せず、その後、当該大電流が流れ終わって電源電圧が安定した状態に復帰した後に、速やかに最初の初期駆動学習処理を実行して通電相位相ずれ補正値を正しく学習できる。また、請求項10のように、エンジン始動用のスタータのオン/オフを監視する手段を備え、前記スタータのオンが検出されたときに当該スタータがオフされるまで初期駆動学習処理を禁止するようにしても良い。このようにすれば、電源投入後に初期駆動学習処理を開始する前に、スタータがオンされて電源電圧が大きく低下しているときには、最初から初期駆動学習処理を実行せず、その後、スタータがオフされて電源電圧が安定した状態に復帰した後に、速やかに最初の初期駆動学習処理を実行して通電相位相ずれ補正値を正しく学習できる。また、請求項11のように、運転者によるエンジン始動操作の有無を監視する手段を備え、エンジン始動操作が検出されたときにエンジン始動操作から所定時間が経過するまで初期駆動学習処理を禁止するようにしても良い。ここで、初期駆動学習処理の禁止をエンジン始動操作から所定時間が経過するまで継続する理由は、エンジン始動操作終了後も、エンジン回転速度が始動完了判定値を越えるまでスタータのオン状態が継続することを考慮するためである。このようにすれば、電源投入後に初期駆動学習処理を開始する前にエンジン始動操作が検出されたときには、最初から初期駆動学習処理を開始せず、その後、少なくともスタータがオフされて電源電圧が安定した状態に復帰した後に、速やかに最初の初期駆動学習処理を実行して通電相位相ずれ補正値を正しく学習できる。また、請求項12のように、エンジン回転速度を監視する手段を備え、エンジン回転速度が所定値以上変動している状態が検出されたときにエンジン回転速度が所定範囲内に安定するまで初期駆動学習処理を禁止するようにしても良い。このようにすれば、電源投入後に初期駆動学習処理を開始する前に、スタータがオンされてエンジン回転速度が大きく上昇しているときには、最初から初期駆動学習処理を開始せず、その後、エンジン回転速度が始動完了判定値を越えてスタータがオフされてエンジン回転速度が安定して電源電圧が安定した状態に復帰した後に、速やかに最初の初期駆動学習処理を実行して通電相位相ずれ補正値を正しく学習できる。以上説明した請求項1~12に係る発明は、最初の初期駆動学習処理を失敗したときに、初期駆動学習処理を1回のみ再実行するようにしても良いし、請求項13のように、最初の初期駆動学習処理を失敗したときに初期駆動学習処理が成功するまで初期駆動学習処理を複数回繰り返すようにしても良い。更に、初期駆動学習処理を再実行する場合のロータの回転方向は、前回の初期駆動と同じ方向であっても良いが、請求項14のように、初期駆動学習処理を再実行する場合のロータの回転方向を前回の初期駆動と逆方向に設定しても良い。このようにすれば、例えば、異物の噛み込みや外部負荷によりモータのロータが一方向に回転しにくくなっている場合は、初期駆動学習処理を再実行する場合にロータの回転方向を前回の初期駆動と逆方向にすることで、ロータを正常に回転できる場合があり、初期駆動学習処理を成功させる確率を高めることができる。以上説明した請求項1~14に係る発明は、モータを駆動源として制御対象の位置を切り換える様々な位置切換制御装置に適用でき、例えば、請求項15のように、モータを駆動源としてシフトレンジを切り換えるレンジ切換機構に適用しても良い。これにより、モータ駆動式のレンジ切換機構において、電源投入後に一時的に電源電圧が不安定になっても、電源電圧が安定した状態に復帰した後に速やかに初期駆動学習処理を実行して通電相位相ずれ補正値を正しく学習でき、シフトレンジを目標レンジに正しく切り換えることができる。以下、本発明を実施するための形態を自動変速機のレンジ切換装置に適用して具体化した幾つかの実施例を説明する。本発明の実施例1を図1乃至図10に基づいて説明する。まず、図1に基づいてレンジ切換機構11の構成を説明する。レンジ切換機構11の駆動源となるモータ12は、例えばスイッチトリラクタンスモータにより構成され、減速機構26図4参照が内蔵され、その出力軸13の回転位置を検出する出力軸センサ10が設けられている。この出力軸13には、ディテントレバー15が固定されている。また、ディテントレバー15にはL字形のパーキングロッド18が固定され、このパーキングロッド18の先端部に設けられた円錐体19がロックレバー21に当接している。このロックレバー21は、円錐体19の位置に応じて軸22を中心にして上下動してパーキングギヤ20をロック/ロック解除するようになっている。パーキングギヤ20は、自動変速機27の出力軸に設けられ、このパーキングギヤ20がロックレバー21によってロックされると、車両の駆動輪が回り止めされた状態パーキング状態に保持される。一方、ディテントレバー15をパーキングレンジ以下Pレンジと表記すると他のレンジ以下NotPレンジと表記するに保持するためのディテントバネ23が支持ベース17に固定され、このディテントバネ23の先端に設けられた係合部23aがディテントレバー15のPレンジ保持凹部24に嵌まり込んだときに、ディテントレバー15がPレンジの位置に保持され、該ディテントバネ23の係合部23aがディテントレバー15のNotPレンジ保持凹部25に嵌まり込んだときに、ディテントレバー15がNotPレンジの位置に保持されるようになっている。これらディテントレバー15とディテントバネ23とからディテントレバー15の回転位置を各レンジの位置に係合保持するためのディテント機構14節度機構が構成されている。Pレンジでは、パーキングロッド18がロックレバー21に接近する方向に移動して、円錐体19の太い部分がロックレバー21を押し上げてロックレバー21の凸部21aがパーキングギヤ20に嵌まり込んでパーキングギヤ20をロックした状態となり、それによって、自動変速機27の出力軸駆動輪がロックされた状態パーキング状態に保持される。一方、NotPレンジでは、パーキングロッド18がロックレバー21から離れる方向に移動して、円錐体19の太い部分がロックレバー21から抜け出てロックレバー21が下降し、それによって、ロックレバー21の凸部21aがパーキングギヤ20から外れてパーキングギヤ20のロックが解除され、自動変速機27の出力軸が回転可能な状態走行可能な状態に保持される。尚、前述した出力軸センサ10は、モータ12の減速機構26の出力軸13の回転角度に応じた電圧を出力する回転センサ例えばポテンショメータによって構成され、その出力電圧によって現在のレンジがPレンジとNotPレンジのいずれであるかを確認できるようになっている。次に、図2に基づいてモータ12の構成を説明する。本実施例1では、モータ12として、スイッチトリラクタンスモータSRモータが用いられている。このモータ12は、ステータ31とロータ32が共に突極構造を持つモータで、永久磁石が不要で構造が簡単であるという利点がある。円筒状のステータ31の内周部には、例えば12個の突極31aが等間隔に形成され、これに対して、ロータ32の外周部には、例えば8個の突極32aが等間隔に形成され、ロータ32の回転に伴い、ロータ32の各突極32aがステータ31の各突極31aと微小ギャップを介して順番に対向するようになっている。ステータ31の12個の突極31aには、U相、V相、W相の合計6個の巻線33と、U’相、V’相、W’相の合計6個の巻線34が順番に巻回されている。尚、ステータ31とロータ32の突極31a,32aの数は適宜変更しても良いことは言うまでもない。本実施例1の巻線33,34の巻回順序は、ステータ31の12個の突極31aに対して、例えばV相→W相→U相→V相→W相→U相→V’相→W’相→U’相→V’相→W’相→U’相の順序で巻回されている。図3に示すように、U相、V相、W相の合計6個の巻線33と、U’相、V’相、W’相の合計6個の巻線34は、2系統のモータ励磁部35,36を構成するように結線されている。一方のモータ励磁部35は、U相、V相、W相の合計6個の巻線33をY結線して構成され同じ相の2個の巻線33はそれぞれ並列に接続されている、他方のモータ励磁部36は、U’相、V’相、W’相の合計6個の巻線34をY’結線して構成されている同じ相の2個の巻線34はそれぞれ並列に接続されている。2つのモータ励磁部35,36は、U相とU’相が同時に通電され、V相とV’相が同時に通電され、W相とW’相が同時に通電される。これら2つのモータ励磁部35,36は、車両に搭載されたバッテリ50を電源として、それぞれ別個のモータドライバ37,38によって駆動される。各モータ励磁部35,36の中性点がそれぞれ各モータ電源リレー61,62図3参照を介してバッテリ50のプラス側の端子に接続され、モータ12の駆動中に各モータ電源リレー61,62がオンされるようになっている。この場合、モータ励磁部35,36とモータドライバ37,38をそれぞれ2系統ずつ設けることで、一方の系統が故障しても、他方の系統でモータ12を回転させることができるようになっている。尚、図3に示すモータドライバ37,38の回路構成例では、各相にトランジスタ等のスイッチング素子39を1個ずつ設けたユニポーラ駆動方式の回路構成としているが、各相にスイッチング素子を2個ずつ設けたバイポーラ駆動方式の回路構成を採用しても良い。尚、本発明は、モータ励磁部とモータドライバをそれぞれ1系統ずつ設けた構成としても良いことは言うまでもない。各モータドライバ37,38の各スイッチング素子39のオン/オフは、マイコン41によって制御される。図4に示すように、このマイコン41と各モータドライバ37,38は、レンジ切換制御装置42モータ制御装置に搭載され、このレンジ切換制御装置42には、Pレンジへの切換操作を行うPレンジスイッチ43と、NotPレンジへの切換操作を行うNotPレンジスイッチ44の操作信号が入力される。Pレンジスイッチ43又はNotPレンジスイッチ44の操作により選択されたレンジに応じてモータ12が駆動されてシフトレンジが切り換えられ、切り換え後の実際のシフトレンジがインストルメントパネル図示せずに設けられたレンジ表示部45に表示される。レンジ切換制御装置42には、車両に搭載されたバッテリ50からメインリレー51電源スイッチを介して電源が供給される。メインリレー51のオン/オフは、イグニッションスイッチ52のオン/オフによって切り換えられる。イグニッションスイッチ52がオンされると、メインリレー51がオンされてレンジ切換制御装置42に電源が供給され、イグニッションスイッチ52がオフされると、所定期間各制御プログラムの終了処理を行うのに必要な期間が経過した後にメインリレー51がオフされてレンジ切換制御装置42への電源供給が遮断される。モータ12には、ロータ32の回転位置を検出するためのエンコーダ46が設けられている。このエンコーダ46は、例えば磁気式のロータリエンコーダにより構成されており、その具体的な構成は、図5及び図6に示すように、N極とS極が円周方向に交互に等ピッチで着磁された円環状のロータリマグネット47がロータ32の側面に同軸状に固定され、このロータリマグネット47に対向する位置に、2個のホールIC等の磁気検出素子48,49が配置された構成となっている。本実施例1では、ロータリマグネット47のN極とS極の着磁ピッチが7.5°に設定されている。このロータリマグネット47の着磁ピッチ7.5°は、モータ12の励磁1回当たり通電相の切り換え1回当たりのロータ32の回転角度と同じ角度に設定されている。後述するように、1-2相励磁方式でモータ12の通電相の切り換えを6回行うと、全ての通電相の切り換えが一巡してロータ32とロータリマグネット47が一体的に7.5°×6=45°回転する。このロータリマグネット47の45°の回転角度範囲に存在するN極とS極の数は、合計6極となっている。このロータリマグネット47に対して2個の磁気検出素子48,49が次のような位置関係で配置されている。A相信号を出力する磁気検出素子48とB相信号を出力する磁気検出素子49は、ロータリマグネット47の着磁部分N,Sに対向し得る位置の同一円周上に配置されている。A相信号とB相信号を出力する2個の磁気検出素子48,49の間隔は、図7に示すように、A相信号とB相信号の位相差が、電気角で90°機械角で3.75°となるように設定されている。ここで、電気角はAB相信号の発生周期を1周期360°とした場合の角度で、機械角は機械的な角度ロータ32の1回転を360°とした場合の角度であり、A相信号の立ち下がり立ち上がりからB相信号の立ち下がり立ち上がりまでにロータ32が回転する角度がA相信号とB相信号の位相差の機械角に相当する。各磁気検出素子48,49の出力は、N極と対向したときにハイレベルHiとなり、S極と対向したときにローレベルLowとなる。本実施例1では、マイコン41がA相信号とB相信号の立ち上がり/立ち下がりの両方のエッジをエンコーダカウンタでカウントして、そのカウント値以下エンコーダカウント値というに応じてモータ12の通電相を切り換えることでロータ32を回転駆動する。この際、A相信号とB相信号の発生順序によってロータ32の回転方向を判定し、正回転Pレンジ→NotPレンジの回転方向ではエンコーダカウント値をカウントアップし、逆回転NotPレンジ→Pレンジの回転方向ではエンコーダカウント値をカウントダウンする。これにより、ロータ32が正回転/逆回転のいずれの方向に回転しても、エンコーダカウント値とロータ32の回転位置との対応関係が維持されるため、正回転/逆回転のいずれの回転方向でも、エンコーダカウント値によってロータ32の回転位置回転角度を検出して、そのロータ32の回転位置に対応した相の巻線33,34に通電してロータ32を回転駆動する。図7は、ロータ32を逆回転方向NotPレンジ→Pレンジの回転方向に回転させたときのエンコーダ46の出力波形と通電相の切換パターンの一例を示している。図7のaとbとでは横軸0基準が異なり、ロータ32の回転速度等に応じて通電相の切換タイミングが変化する。図7の例では、逆回転方向NotPレンジ→Pレンジの回転方向と正回転方向Pレンジ→NotPレンジの回転方向のいずれの場合も、ロータ32が7.5°回転する毎に1相通電と2相通電とを交互に切り換えるようになっており、ロータ32が45°回転する間に、例えば、U相通電→UW相通電→W相通電→VW相通電→V相通電→UV相通電の順序で通電相の切り換えを一巡するようになっている。そして、この通電相の切り換え毎に、ロータ32が7.5°ずつ回転して、A相、B相信号用の磁気検出素子48,49に対向するロータリマグネット47の磁極がN極→S極又はS極→N極に変化してA相信号とB相信号のレベルが交互に反転し、それによって、ロータ32が7.5°回転する毎に、エンコーダカウント値が2ずつカウントアップ又はカウントダウンする。ところで、エンコーダカウント値は、マイコン41のRAMに記憶されるため、マイコン41の電源がオフされると、エンコーダカウント値の記憶が消えてしまう。そのため、マイコン41の電源投入直後のエンコーダカウント値0は、実際のロータ32の回転位置通電相に対応したものとならない。従って、エンコーダカウント値に応じて通電相を切り換えるためには、電源投入後にエンコーダカウント値と実際のロータ32の回転位置とを対応させて、エンコーダカウント値と通電相とを対応させる必要がある。そこで、本実施例1では、レンジ切換制御装置42のマイコン41によってマイコン41への電源投入後の初期駆動時に、オープンループ制御でモータ12の通電相の切り換えを所定のタイムスケジュールで一巡させてエンコーダ46のA相信号及びB相信号のエッジをカウントし、初期駆動終了時のエンコーダカウント値とロータ32の回転位置と通電相との対応関係を学習し、その後の通常駆動時に、エンコーダカウント値と初期駆動終了時の学習結果とに基づいて通電相を決定するようにしている。この初期駆動時の学習は、具体的には次のようにして行われる。図8に示すように、Pレンジでマイコン41に電源が投入されたときに初期駆動を行う場合は、例えば、W相通電→UW相通電→U相通電→UV相通電→V相通電→VW相通電の順序で通電相の切り換えを所定のタイムスケジュールで一巡し、ロータ32を正回転方向Pレンジ→NotPレンジの回転方向に駆動する。一方、NotPレンジでマイコン41に電源が投入されたときに初期駆動を行う場合は、例えば、V相通電→UV相通電→U相通電→UW相通電→W相通電→VW相通電の順序で通電相の切り換えを所定のタイムスケジュールで一巡し、ロータ32を逆回転方向NotPレンジ→Pレンジの回転方向に駆動する。この初期駆動時には、1相通電の時間T1を2相通電の時間T2よりも短くし、例えばT1=10ms、T2=100msに設定する。初期駆動中にロータ32の回転位置と通電相との同期がとれた後でも、トルクが小さい1相通電では、ロータ32が振動するため、1相通電の時間T1を短くして、できるだけ速やかに次の2相通電に切り換えることで、ロータ32の振動を速やかに停止させてエンコーダ46の出力信号を安定させるようにしている。このように、初期駆動時に通電相の切り換えを一巡させれば、初期駆動が終了するまでに、いずれかの通電相で必ずロータ32の回転位置と通電相とが一致して、それ以後、通電相の切り換えに同期してロータ32が回転して、このロータ32の回転に同期してエンコーダ46からA相信号及びB相信号が出力されるようになる。この初期駆動中に、エンコーダ46のA相信号及びB相信号の立ち上がり/立ち下がりの両方のエッジをカウントする。従って、初期駆動終了時のエンコーダカウント値を見れば、初期駆動が終了するまでにロータ32が実際に通電相の切り換えに同期して回転した角度回転量が分かり、ロータ32が実際に通電相の切り換えに同期して回転するまでの通電相の切り換え回数通電相の位相ずれ量が分かる。このロータ32が実際に通電相の切り換えに同期して回転するまでの通電相の切り換え回数通電相の位相ずれ量から、エンコーダカウント値に対する通電相位相ずれ補正値を学習することができる。図8の例では、初期駆動時に最初の通電相W相からロータ32が回転し、通電相の切り換え毎にロータ32が7.5°ずつ回転してエンコーダカウント値が2ずつカウントアップし、初期駆動終了時にエンコーダカウント値が12となる。これに対し、例えば、初めの3回の励磁W相通電→UW相通電→U相通電でロータ32が回転しない場合、つまり4回目以降の励磁UV相通電→V相通電→VW相通電でロータ32の回転位置と通電相とが同期してロータ32が3回の励磁分だけ回転する場合は、初期駆動終了時までにロータ32が7.5°×3=22.5°だけ回転して、エンコーダカウント値が2×3=6となる。従って、初期駆動終了時のエンコーダカウント値を見れば、初期駆動が終了するまでにロータ32が実際に通電相の切り換えに同期して回転した角度回転量が判明する。この場合、初期駆動の最後の通電相は、常にVW相となるが、エンコーダカウント値は、必ずしも12になるとは限らず、通電相の位相ずれ量によっては、例えば8、或は4となる場合もある。初期駆動終了後の通常駆動時には、エンコーダカウント値に基づいて通電相が決定されるため、エンコーダカウント値を通電相位相ずれ補正値分だけ修正することにより、通常駆動時に正しい通電相を選択することができる。図8の例のように、初期駆動時に最初の通電相W相からロータ32が回転した場合、つまり初期駆動開始当初から通電相の切り換えに同期してロータ32が回転した場合は、初期駆動終了時にエンコーダカウント値が12となるため、初期駆動終了時のエンコーダカウント値が8であれば、通電相位相ずれ補正値は、12-8=4となる。通電相位相ずれ補正値=12-初期駆動終了時のエンコーダカウント値この初期駆動により通電相位相ずれ補正値を学習算出する処理は、マイコン41によって実行され、特許請求の範囲でいう初期駆動学習手段としての役割を果たす。初期駆動終了後は、図8に示すように、まず初期駆動終了時の通電相VW相と同じ相に例えば10ms通電してロータ32の位置を初期駆動終了時の位置に保持し、その後、フィードバック制御により、その時点のエンコーダカウント値を通電相位相ずれ補正値で補正して、補正後のエンコーダカウント値に応じて通電相を切り換えてロータ32を目標位置Acntの方向へ回転させる。これにより、ロータ32の回転位置エンコーダカウント値が目標位置Acntから例えば0.5°以内に到達した時点で、通電相の切り換えを終了してロータ32を停止させ、その後は、同じ相に通電し続けてロータ32の停止状態を保持し、この保持状態を例えば50ms継続する。この後、目標位置Acntが変化しなければ、通電を停止する。この初期駆動学習処理は、電源投入直後に実行されるため、エンジンを動力源とする車両では、初期駆動学習処理の時期がスタータ駆動によるエンジン始動クランキングと重なる場合が多い。初期駆動学習処理中にスタータ等の消費電流の大きい電気負荷に通電されると、初期駆動学習処理中にモータ12の電源電圧が大きく低下して初期駆動学習処理を失敗エラー終了又は誤学習することがある。初期駆動学習処理を失敗すると、初期駆動終了後の通常駆動時にエンコーダカウント値とロータ32の回転位置通電相との対応関係のずれを修正できないため、モータ12を正常に駆動することができない。そこで、本実施例1では、モータ12に供給する電源電圧バッテリ50の電圧を検出する電圧センサ等の電圧検出手段を設け、マイコン41によって図9及び図10の各プログラムを実行することで、モータ12に供給する電源電圧を監視すると共に、初期駆動学習処理の成功/失敗を監視し、電源電圧が所定値以上変動している状態が検出され且つその間に初期駆動学習処理を失敗エラー終了又は誤学習したときに電源電圧が安定した後に初期駆動学習処理を再実行するようにしている。ここで、初期駆動学習処理の失敗の判定方法は、例えば、初期駆動時に1-2相励磁方式でロータ32を回転駆動して2相通電となる位置で初期駆動を終了し、その初期駆動終了時におけるエンコーダ46のA相信号とB相信号のパターンが2相通電に対応するパターンとなっていない場合は、初期駆動学習処理の失敗エラー終了又は誤学習と判定する。具体的には、図8に示すように、初期駆動によりロータ32が正常に回転駆動されて2相通電となる位置で初期駆動を終了したときには、初期駆動終了時の2相通電がUW相通電、UV相通電、VW相通電のいずれの場合であっても、初期駆動終了時学習タイミングにエンコーダ46のA相信号とB相信号が共にハイレベルHiになるが、ロータ32に負荷が加わってロータ32が正常に回転駆動されなかった場合には、初期駆動終了時学習タイミングにエンコーダ46のA相信号とB相信号のいずれか一方又は両方がローレベルLowとなる。このような関係から、本実施例1では、初期駆動終了時学習タイミングにエンコーダ46のA相信号とB相信号が共にハイレベルHiであれば、学習結果が正しいと判定し、A相信号とB相信号のいずれか一方又は両方がローレベルLowであれば、初期駆動学習処理の失敗エラー終了又は誤学習と判定する。以下、マイコン41が実行する図9及び図10の各プログラムの処理内容を説明する。[初期駆動実行状況監視プログラム]図9の初期駆動実行状況監視プログラムは、マイコン41の電源投入後に実行され、特許請求の範囲でいう初期駆動学習手段として機能する。本プログラムが起動されると、まずステップ101で、イニシャル処理を実行して、初期駆動禁止フラグをOFFにセットし、初期駆動の禁止を解除する初期駆動を許可する。この後、ステップ102に進み、モータ12に供給する電源電圧の監視を開始し、次のステップ103で、後述する図10の初期駆動実行プログラムを実行して、最初1回目の初期駆動通電相位相ずれ補正値の学習処理を実行する。この後、ステップ104に進み、後述する図10の初期駆動実行プログラムの処理結果に基づいて最初の初期駆動を成功したか否かを判定し、成功していれば、そのまま本プログラムを終了する。これに対し、上記ステップ104で、最初の初期駆動を失敗したと判定されれば、ステップ105に進み、最初の初期駆動中のモータ12の電源電圧変動量が所定値以内であったか否かを判定し、モータ12の電源電圧変動量が所定値以内であったと判定されれば、初期駆動中のモータ12の電源電圧が安定していたにも拘らず、初期駆動を失敗したと判断して、ステップ109に進み、初期駆動禁止フラグをONにセットして初期駆動を禁止する。要するに、初期駆動中のモータ12の電源電圧が安定していたにも拘らず、初期駆動を失敗した場合は、モータ12の駆動システムに何らかの異常例えばエンコーダ46の故障やモータ12の故障が発生していると判断して、初期駆動を禁止するものである。一方、上記ステップ105で、最初の初期駆動中のモータ12の電源電圧変動量が所定値を越えていたと判定されれば、モータ12の電源電圧が不安定であったと判断して、ステップ106に進み、モータ12の電源電圧が安定した状態が所定時間以上経過するまで待機する。その後、モータ12の電源電圧が安定した状態が所定時間以上経過した時点で、ステップ107に進み、後述する図10の初期駆動実行プログラムを実行して、再度2回目以降の初期駆動を実行する。この後、ステップ108に進み、後述する図10の初期駆動実行プログラムの処理結果に基づいて再度の初期駆動を成功したか否かを判定し、成功していれば、そのまま本プログラムを終了するが、再度の初期駆動を失敗したと判定されれば、ステップ109に進み、初期駆動禁止フラグをONにセットして初期駆動を禁止する。要するに、再度の初期駆動を後述する所定回数行っても、初期駆動を成功しなかった場合は、モータ12の駆動システムに何らかの異常例えばエンコーダ46やモータ12の故障が発生していると考えられるため、初期駆動を禁止するものである。[初期駆動実行プログラム]図10の初期駆動実行プログラムは、図9の初期駆動実行状況監視プログラムのステップ103とステップ107で実行されるサブルーチンである。本プログラムが起動されると、まずステップ201で、初期駆動通電相位相ずれ補正値の学習処理を実行する。この後、ステップ202に進み、初期駆動の実行回数をカウントアップし、次のステップ203で、初期駆動を成功したか否かを判定し、成功していれば、初期駆動成功の判定を確定し、次のステップ207で、実行回数カウント値をクリアして本プログラムを終了する。これに対し、上記ステップ203で、初期駆動を失敗したと判定されれば、ステップ204に進み、上記ステップ202でカウントした初期駆動実行回数が所定回数以下であるか否かを判定する。ここで、所定回数は、1回でも良いし、複数回でも良い。このステップ204で、初期駆動実行回数が所定回数以下であると判定されれば、上述したステップ201に戻り、初期駆動を再実行する。その後、初期駆動が成功することなく、初期駆動実行回数が所定回数を越えると、上記ステップ204からステップ205に進み、初期駆動失敗の判定を確定し、次のステップ207で、実行回数カウント値をクリアして本プログラムを終了する。この場合、初期駆動を再実行する場合にロータ32の回転方向を前回の初期駆動と同じ方向としても良いが、ロータ32の回転方向を前回の初期駆動と逆方向に設定しても良い。ロータ32の回転方向を前回の初期駆動と逆方向に設定すれば、例えば、異物の噛み込みや外部負荷によりモータ12のロータ32が一方向に回転しにくくなっている場合は、初期駆動を再実行する場合にロータ32の回転方向を前回の初期駆動と逆方向に設定することで、ロータ32を正常に回転できる場合があり、初期駆動を成功させる確率を高めることができる。以上説明した本実施例1では、モータ12に供給する電源電圧が所定値以上変動している状態が検出され且つその間に初期駆動通電相位相ずれ補正値の学習処理を失敗したときに電源電圧が安定した後に初期駆動を再実行するようにしたので、初期駆動中に電源電圧が不安定になって初期駆動を失敗しても、電源電圧が安定した状態に復帰した後に速やかに初期駆動を再実行して通電相位相ずれ補正値を正しく学習でき、初期駆動学習処理の信頼性を向上できる。本発明の実施例2では、マイコン41によって図11の初期駆動実行状況監視プログラムを実行する。本実施例2で実行する図11の初期駆動実行状況監視プログラムは、上述した図9の初期駆動実行状況監視プログラムのステップ105と106の処理をそれぞれステップ105aと106aの処理に変更しただけであり、他の各ステップの処理は同じである。図11の初期駆動実行状況監視プログラムでは、ステップ101~104の処理で、最初の初期駆動を実行して、最初の初期駆動を失敗したと判定されれば、ステップ105aに進み、最初の初期駆動中のモータ12の電源電圧が所定値以上であったか否かを判定し、モータ12の電源電圧が所定値以上であったと判定されれば、初期駆動の実行に必要な電源電圧が確保されていたにも拘らず、初期駆動を失敗したと判断して、ステップ109に進み、初期駆動禁止フラグをONにセットして初期駆動を禁止する。要するに、初期駆動の実行に必要な電源電圧が確保されていたにも拘らず、初期駆動を失敗した場合は、モータ12の駆動システムに何らかの異常例えばエンコーダ46の故障やモータ12の故障が発生していると考えられるため、初期駆動を禁止するものである。一方、上記ステップ105aで、最初の初期駆動中のモータ12の電源電圧が所定値未満であったと判定されれば、ステップ106aに進み、モータ12の電源電圧が所定値以上の状態初期駆動の実行に必要な電源電圧が確保された状態が所定時間以上経過するまで待機する。その後、モータ12の電源電圧が所定値以上の状態が所定時間以上経過した時点で、ステップ107に進み、図10の初期駆動実行プログラムを実行して、再度2回目以降の初期駆動を実行する。以降の処理は、前記実施例1と同じである。以上説明した本実施例2でも、前記実施例1と同様の効果を得ることができる。更に、本実施例2では、最初の初期駆動中のモータ12の電源電圧が所定値未満であったと判定されれば、モータ12の電源電圧が所定値以上の状態初期駆動の実行に必要な電源電圧が確保された状態が所定時間以上経過するまで初期駆動の再実行を延期するようにしたので、スタータ等の消費電流の大きい電気負荷に通電されてモータ12の電源電圧が大きく低下したときには、モータ12の電源電圧が元の状態に戻るまで初期駆動の再実行を延期することができる。本発明の実施例3では、電源バッテリ50から電気負荷に流れる電流電源電流を監視する電流センサ等の電流検出手段を備え、マイコン41によって図12の初期駆動実行状況監視プログラムを実行する。本実施例3で実行する図12の初期駆動実行状況監視プログラムは、前述した図9の初期駆動実行状況監視プログラムのステップ102と105と106の処理をそれぞれステップ102bと105bと106bの処理に変更しただけであり、他の各ステップの処理は同じである。図12の初期駆動実行状況監視プログラムでは、ステップ101~104の処理で、イニシャル処理後に電源電流を監視しながら最初の初期駆動を実行して、最初の初期駆動を失敗したと判定されれば、ステップ105bに進み、最初の初期駆動中の電源電流が所定値以下であったか否かを判定し、電源電流が所定値以下であったと判定されれば、電源電流による電源電圧の低下が少なかったにも拘らず、初期駆動を失敗したと判断して、ステップ109に進み、初期駆動禁止フラグをONにセットして初期駆動を禁止する。要するに、電源電流による電源電圧の低下が少なかったにも拘らず、初期駆動を失敗した場合は、モータ12の駆動システムに何らかの異常例えばエンコーダ46やモータ12の故障が発生していると考えられるため、初期駆動を禁止するものである。一方、上記ステップ105bで、最初の初期駆動中の電源電流が所定値を越えていたと判定されれば、初期駆動の失敗の原因が電源電流による電源電圧の低下であると判断して、ステップ106bに進み、電源電流が所定値以下の状態電源電流による電源電圧の低下が少ない状態が所定時間以上経過するまで待機する。その後、電源電流が所定値以下の状態が所定時間以上経過した時点で、初期駆動の実行に必要な電源電圧が確保されていると判断して、ステップ107に進み、図10の初期駆動実行プログラムを実行して、再度2回目以降の初期駆動を実行する。以降の処理は、前記実施例1と同じである。以上説明した本実施例3でも、前記実施例1と同様の効果を得ることができる。更に、本実施例3では、最初の初期駆動中の電源電流が所定値を越えて、電源電流により電源電圧が大きく低下したことが原因で初期駆動を失敗したときには、当該大電流が流れ終わって電源電圧が安定した状態に復帰した後に速やかに初期駆動を再実行して通電相位相ずれ補正値を正しく学習できる。本発明の実施例4では、エンジン始動用のスタータのONオン/OFFオフを監視する手段を備え、マイコン41によって図13の初期駆動実行状況監視プログラムを実行する。本実施例4で実行する図13の初期駆動実行状況監視プログラムは、前述した図9の初期駆動実行状況監視プログラムのステップ102と105と106の処理をそれぞれステップ102cと105cと106cの処理に変更しただけであり、他の各ステップの処理は同じである。図13の初期駆動実行状況監視プログラムでは、ステップ101~104の処理で、イニシャル処理後にスタータのON/OFFを監視しながら最初の初期駆動を実行して、最初の初期駆動を失敗したと判定されれば、ステップ105cに進み、最初の初期駆動中はスタータがOFFであったか否かを判定し、スタータがOFFであったと判定されれば、スタータONによる電源電圧の低下が無かったにも拘らず、初期駆動を失敗したと判断して、ステップ109に進み、初期駆動禁止フラグをONにセットして初期駆動を禁止する。要するに、スタータONによる電源電圧の低下が無かったにも拘らず、初期駆動を失敗した場合は、モータ12の駆動システムに何らかの異常例えばエンコーダ46の故障やモータ12の故障が発生していると考えられるため、初期駆動を禁止するものである。一方、上記ステップ105cで、最初の初期駆動中はスタータがONであったと判定されれば、106cに進み、スタータOFFの状態スタータONによる電源電圧の低下が無い状態が所定時間以上経過するまで待機する。その後、スタータOFFの状態が所定時間以上経過した時点で、ステップ107に進み、図10の初期駆動実行プログラムを実行して、再度2回目以降の初期駆動を実行する。以降の処理は、前記実施例1と同じである。以上説明した本実施例4でも、前記実施例1と同様の効果を得ることができる。更に、本実施例4では、最初の初期駆動中にスタータがONされて、電源電圧が大きく低下していたと判定されれば、スタータOFFの状態スタータONによる電源電圧の低下が無い状態が所定時間以上経過するまで初期駆動の再実行を延期するようにしたので、スタータがONされて電源電圧が大きく低下したときに初期駆動を実行して初期駆動を失敗した場合は、スタータがOFFされて電源電圧が安定した状態に復帰した後に速やかに初期駆動を再実行して通電相位相ずれ補正値を正しく学習できる。本発明の実施例5では、運転者によるエンジン始動操作イグニッションスイッチ52のON操作の有無を監視する手段を備え、マイコン41によって図14の初期駆動実行状況監視プログラムを実行する。本実施例5で実行する図14の初期駆動実行状況監視プログラムは、前述した図9の初期駆動実行状況監視プログラムのステップ102と105と106の処理をそれぞれステップ102dと105dと106dの処理に変更しただけであり、他の各ステップの処理は同じである。図14の初期駆動実行状況監視プログラムでは、ステップ101~104の処理で、イニシャル処理後にエンジン始動操作を監視しながら最初の初期駆動を実行して、最初の初期駆動を失敗したと判定されれば、ステップ105dに進み、最初の初期駆動中に運転者によるエンジン始動操作が無かったか否かを判定し、エンジン始動操作が無かったと判定されれば、スタータONによる電源電圧の低下が無かったにも拘らず、初期駆動を失敗したと判断して、ステップ109に進み、初期駆動禁止フラグをONにセットして初期駆動を禁止する。要するに、エンジン始動操作スタータONによる電源電圧の低下が無かったにも拘らず、初期駆動を失敗した場合は、モータ12の駆動システムに何らかの異常例えばエンコーダ46の故障やモータ12の故障が発生していると考えられるため、初期駆動を禁止するものである。一方、上記ステップ105dで、最初の初期駆動中のエンジン始動操作有りと判定されれば、106dに進み、エンジン始動操作無しの状態スタータONによる電源電圧の低下が無い状態が所定時間以上経過するまで待機する。ここで、エンジン始動操作無しの状態が所定時間以上経過するまで待機する理由は、エンジン始動操作終了後も、エンジン回転速度が始動完了判定値を越えるまでスタータONの状態が継続することを考慮するためである。その後、エンジン始動操作無しの状態が所定時間以上経過した時点で、ステップ107に進み、図10の初期駆動実行プログラムを実行して、再度2回目以降の初期駆動を実行する。以降の処理は、前記実施例1と同じである。以上説明した本実施例5でも、前記実施例1と同様の効果を得ることができる。更に、本実施例5では、最初の初期駆動中にエンジン始動操作が行われて、スタータ駆動により電源電圧が大きく低下していたと判定されれば、エンジン始動操作無しの状態が所定時間以上経過するまで初期駆動の再実行を延期するようにしたので、エンジン始動操作によりスタータがONされて電源電圧が大きく低下したときに初期駆動を実行して初期駆動を失敗した場合は、スタータがOFFされて電源電圧が安定した状態に復帰した後に速やかに初期駆動を再実行して通電相位相ずれ補正値を正しく学習できる。本発明の実施例6では、エンジン回転速度を監視する手段を備え、マイコン41によって図15の初期駆動実行状況監視プログラムを実行する。本実施例6で実行する図15の初期駆動実行状況監視プログラムは、前述した図9の初期駆動実行状況監視プログラムのステップ102と105と106の処理をそれぞれステップ102eと105eと106eの処理に変更しただけであり、他の各ステップの処理は同じである。図15の初期駆動実行状況監視プログラムでは、ステップ101~104の処理で、イニシャル処理後にエンジン回転速度を監視しながら最初の初期駆動を実行して、最初の初期駆動を失敗したと判定されれば、ステップ105eに進み、最初の初期駆動中のエンジン回転速度変動量が所定値以内であったか否かを判定し、最初の初期駆動中のエンジン回転速度変動量が所定値以内であったと判定されれば、最初の初期駆動中のエンジン回転速度変動量が小さく、電源電圧が安定していたにも拘らず、初期駆動を失敗したと判断して、ステップ109に進み、初期駆動禁止フラグをONにセットして初期駆動を禁止する。要するに、最初の初期駆動中のエンジン回転速度変動量が小さく、電源電圧が安定していたにも拘らず、最初の初期駆動を失敗した場合は、モータ12の駆動システムに何らかの異常例えばエンコーダ46の故障やモータ12の故障が発生していると考えられるため、初期駆動を禁止するものである。一方、上記ステップ105eで、最初の初期駆動中のエンジン回転速度変動量が所定値を越えていたと判定されれば、106eに進み、エンジン回転速度変動量が所定値以内の状態が所定時間以上経過するまで待機する。その後、エンジン回転速度変動量が所定値以内の状態が所定時間以上経過した時点で、電源電圧が安定していると判断して、ステップ107に進み、図10の初期駆動実行プログラムを実行して、再度2回目以降の初期駆動を実行する。以降の処理は、前記実施例1と同じである。以上説明した本実施例6でも、前記実施例1と同様の効果を得ることができる。更に、本実施例6では、最初の初期駆動中のエンジン回転速度変動量が所定値を越えていたと判定されれば、エンジン回転速度変動量が所定値以内の状態が所定時間以上経過するまで初期駆動の再実行を延期するようにしたので、例えば、スタータがONされてエンジン回転速度が大きく上昇しているときに初期駆動を実行して初期駆動を失敗した場合は、エンジン回転速度が始動完了判定値を越えてスタータがOFFされてエンジン回転速度が安定した状態に復帰した後に、速やかに初期駆動を再実行して通電相位相ずれ補正値を正しく学習できる。本発明の実施例7では、モータ12に供給する電源電圧バッテリ50の電圧を監視する電圧センサ等の電圧検出手段を備え、マイコン41によって図16の初期駆動実行状況監視プログラムを実行する。図16の初期駆動実行状況監視プログラムは、マイコン41の電源投入後に実行され、特許請求の範囲でいう初期駆動学習手段として機能する。本プログラムが起動されると、まずステップ301で、イニシャル処理を実行して、初期駆動禁止フラグをOFFにセットし、初期駆動の禁止を解除する初期駆動を許可する。この後、ステップ302に進み、モータ12の電源電圧の監視を開始し、次のステップ303で、モータ12の電源電圧変動量が所定値以内であるか否かを判定し、電源電圧変動量が所定値を越えていれば、電源電圧が不安定であると判断して、電源電圧変動量が所定値以内になるまで待機する又は電源電圧変動量が所定値以内の状態が所定時間以上経過するまで待機する。その後、電源電圧変動量が所定値以内になった時点又は電源電圧変動量が所定値以内の状態が所定時間以上経過した時点で、電源電圧が安定していると判断して、ステップ304に進み、前記実施例1と同様の方法で初期駆動通電相位相ずれ補正値の学習処理を実行する。この後、ステップ305に進み、初期駆動を成功したか否かを判定し、成功していれば、そのまま本プログラムを終了する。これに対し、上記ステップ305で、初期駆動を失敗したと判定されれば、ステップ306に進み、初期駆動禁止フラグをONにセットして初期駆動を禁止して本プログラムを終了する。以上説明した本実施例7では、モータ12の電源電圧が所定値以上変動している状態が検出されたときに電源電圧が安定するまで初期駆動を禁止するようにしたので、電源投入後に初期駆動を開始する前から電源電圧が不安定な状態が続いていれば、最初から初期駆動学習処理を開始せず、その後、電源電圧が安定した状態に復帰した後に、速やかに最初の初期駆動を実行して通電相位相ずれ補正値を正しく学習できる。本発明の実施例8では、マイコン41によって図17の初期駆動実行状況監視プログラムを実行する。本プログラムが起動されると、まずステップ301で、初期駆動禁止フラグをOFFにセットして初期駆動の禁止を解除する。この後、ステップ302に進み、モータ12の電源電圧の監視を開始し、次のステップ303aで、モータ12の電源電圧が所定値以下であるか否かを判定し、電源電圧が所定値以下であれば、初期駆動の実行に必要な電源電圧が確保されていないと判断して、電源電圧が所定値を越えるまで待機する又は電源電圧が所定値を越えた状態が所定時間以上経過するまで待機する。その後、電源電圧が所定値を越えた時点又は電源電圧が所定値を越えた状態が所定時間以上経過した時点で、初期駆動の実行に必要な電源電圧が確保されていると判断して、ステップ304に進み、前記実施例1と同様の方法で初期駆動通電相位相ずれ補正値の学習処理を実行する。この後、ステップ305に進み、初期駆動を成功したか否かを判定し、成功していれば、そのまま本プログラムを終了し、初期駆動を失敗したと判定されれば、ステップ306に進み、初期駆動禁止フラグをONにセットして初期駆動を禁止する。以上説明した本実施例8では、モータ12の電源電圧が所定値以下に低下している状態が検出されたときに電源電圧が所定値以上に上昇するまで初期駆動を禁止するようにしたので、電源投入後に初期駆動を開始する前から、スタータ等の消費電流の大きい電気負荷に通電されて電源電圧が大きく低下しているときには、最初から初期駆動学習処理を実行せず、その後、電源電圧が元の状態に復帰した後に、速やかに最初の初期駆動学習処理を実行して通電相位相ずれ補正値を正しく学習できる。本発明の実施例9では、電源バッテリ50から電気負荷に流れる電流電源電流を監視する電流センサ等の電流検出手段を備え、マイコン41によって図18の初期駆動実行状況監視プログラムを実行する。本プログラムが起動されると、まずステップ301で、初期駆動禁止フラグをOFFにセットして初期駆動の禁止を解除する。この後、ステップ302bに進み、電源電流の監視を開始し、次のステップ303bで、電源電流が所定値以下であるか否かを判定し、電源電流が所定値を越えていれば、電源電圧の低下が大きく、初期駆動の実行に必要な電源電圧を確保できないと判断して、電源電流が所定値以下になるまで待機する又は電源電流が所定値以下の状態が所定時間以上経過するまで待機する。その後、電源電流が所定値以下になった時点又は電源電流が所定値以下の状態が所定時間以上経過した時点で、初期駆動の実行に必要な電源電圧が確保されていると判断して、ステップ304に進み、前記実施例1と同様の方法で初期駆動通電相位相ずれ補正値の学習処理を実行する。この後、ステップ305に進み、初期駆動を成功したか否かを判定し、成功していれば、そのまま本プログラムを終了し、初期駆動を失敗したと判定されれば、ステップ306に進み、初期駆動禁止フラグをONにセットして初期駆動を禁止する。以上説明した本実施例9では、電源から所定値以上の大電流が流れる状態が検出されたときに当該大電流が流れ終わるまで初期駆動を禁止するようにしたので、電源投入後に初期駆動を開始する前に、大電流が流れて電源電圧が大きく低下しているときには、最初から初期駆動学習処理を実行せず、その後、当該大電流が流れ終わって電源電圧が安定した状態に復帰した後に、速やかに最初の初期駆動学習処理を実行して通電相位相ずれ補正値を正しく学習できる。本発明の実施例10では、エンジン始動用のスタータのON/OFFを監視する手段を備え、マイコン41によって図19の初期駆動実行状況監視プログラムを実行する。本プログラムが起動されると、まずステップ301で、初期駆動禁止フラグをOFFにセットして初期駆動の禁止を解除する。この後、ステップ302cに進み、スタータのON/OFFの監視を開始し、次のステップ303cで、スタータOFFであるか否かを判定し、スタータONと判定されれば、電源電圧の低下が大きく、初期駆動の実行に必要な電源電圧が確保されていないと判断して、スタータがOFFされるまで待機する又はスタータOFFの状態が所定時間以上経過するまで待機する。その後、スタータがOFFされた時点又はスタータOFFの状態が所定時間以上経過した時点で、初期駆動の実行に必要な電源電圧が確保されていると判断して、ステップ304に進み、前記実施例1と同様の方法で初期駆動通電相位相ずれ補正値の学習処理を実行する。この後、ステップ305に進み、初期駆動を成功したか否かを判定し、成功していれば、そのまま本プログラムを終了し、初期駆動を失敗したと判定されれば、ステップ306に進み、初期駆動禁止フラグをONにセットして初期駆動を禁止する。以上説明した本実施例10では、スタータONが検出されたときにスタータがOFFされるまで初期駆動を禁止するようにしたので、電源投入後に初期駆動を開始する前に、スタータがONされて電源電圧が大きく低下したときには、最初から初期駆動学習処理を実行せず、その後、スタータがOFFされて電源電圧が安定した状態に復帰した後に、速やかに最初の初期駆動を実行して通電相位相ずれ補正値を正しく学習できる。本発明の実施例11では、運転者によるエンジン始動操作イグニッションスイッチ52のON操作の有無を監視する手段を備え、マイコン41によって図20の初期駆動実行状況監視プログラムを実行する。本プログラムが起動されると、まずステップ301で、初期駆動禁止フラグをOFFにセットして初期駆動の禁止を解除する。この後、ステップ302dに進み、エンジン始動操作の監視を開始し、次のステップ303dで、エンジン始動操作無しであるか否かを判定し、エンジン始動操作有りと判定されれば、エンジン始動操作スタータONによる電源電圧の低下が大きく、初期駆動の実行に必要な電源電圧が確保されていないと判断して、ステップ307に進み、エンジン始動操作無しの状態スタータONによる電源電圧の低下が無い状態が所定時間以上経過するまで待機する。これにより、エンジン始動操作が検出されたときにエンジン始動操作から所定時間が経過するまで初期駆動学習処理が禁止される。ここで、初期駆動の禁止を、エンジン始動操作から所定時間が経過するまで継続する理由は、エンジン始動操作終了後も、エンジン回転速度が始動完了判定値を越えるまでスタータONの状態が継続することを考慮するためである。その後、エンジン始動操作無しの状態が所定時間以上経過した時点で、初期駆動の実行に必要な電源電圧が確保されていると判断して、ステップ304に進み、前記実施例1と同様の方法で初期駆動通電相位相ずれ補正値の学習処理を実行する。この後、ステップ305に進み、初期駆動を成功したか否かを判定し、成功していれば、そのまま本プログラムを終了し、初期駆動を失敗したと判定されれば、ステップ306に進み、初期駆動禁止フラグをONにセットして初期駆動を禁止する。以上説明した本実施例11では、運転者によるエンジン始動操作が検出されたときに当該エンジン始動操作から所定時間が経過するまで初期駆動を禁止するようにしたので、電源投入後に初期駆動を開始する前にエンジン始動操作が検出されたときには、最初から初期駆動を開始せず、その後、少なくともスタータがOFFされて電源電圧が安定した状態に復帰した後に、速やかに最初の初期駆動学習処理を実行して通電相位相ずれ補正値を正しく学習できる。本発明の実施例12では、エンジン回転速度を監視する手段を備え、マイコン41によって図21の初期駆動実行状況監視プログラムを実行する。本プログラムが起動されると、まずステップ301で、初期駆動禁止フラグをOFFにセットして初期駆動の禁止を解除する。この後、ステップ302eに進み、エンジン回転速度の監視を開始し、次のステップ303eで、エンジン回転速度変動量が所定値以内であるか否かを判定し、エンジン回転速度変動量が所定値を越えていると判定されれば、初期駆動の実行に必要な電源電圧が確保されていないと判断して、エンジン回転速度変動量が所定値以内になるまで待機する又はエンジン回転速度変動量が所定値以内の状態が所定時間以上経過するまで待機する。その後、エンジン回転速度変動量が所定値以内になった時点又はエンジン回転速度変動量が所定値以内の状態が所定時間以上経過した時点で、初期駆動の実行に必要な電源電圧が確保されていると判断して、ステップ304に進み、前記実施例1と同様の方法で初期駆動通電相位相ずれ補正値の学習処理を実行する。この後、ステップ305に進み、初期駆動を成功したか否かを判定し、成功していれば、そのまま本プログラムを終了し、初期駆動を失敗したと判定されれば、ステップ306に進み、初期駆動禁止フラグをONにセットして初期駆動を禁止する。以上説明した本実施例12では、エンジン回転速度が所定値以上変動している状態が検出されたときにエンジン回転速度が所定範囲内に安定するまで初期駆動を禁止するようにしたので、電源投入後に初期駆動を開始する前にスタータがONされてエンジン回転速度が大きく上昇したときには、最初から初期駆動を開始せず、その後、エンジン回転速度が始動完了判定値を越えてスタータがOFFされてエンジン回転速度が安定して電源電圧が安定した状態に復帰した後に、速やかに最初の初期駆動を実行して通電相位相ずれ補正値を正しく学習できる。[その他の実施例]エンコーダ46は、磁気式のエンコーダに限定されず、例えば、光学式のエンコーダやブラシ式のエンコーダを用いても良い。また、エンコーダ46は、A相信号とB相信号を出力するエンコーダに限定されず、A相、B相信号に加え、補正用インデックス用のZ相信号を出力するエンコーダを用いても良い。また、上記各実施例1~12では、モータ12としてスイッチトリラクタンスモータSRモータを用いたが、エンコーダの出力信号のカウント値に基づいてロータの回転位置を検出してモータの通電相を順次切り換えるブラシレス型の同期モータであれば、SRモータに限定されず、他の種類のブラシレス型の同期モータであっても良い。また、上記実施例1~12のレンジ切換装置は、PレンジとNotPレンジの2つのレンジを切り換える構成であるが、例えば、ディテントレバー15の回動動作に連動して自動変速機のレンジ切換弁とマニュアルバルブを切り換えて、自動変速機のP、R、N、D、...の各レンジを切り換えるレンジ切換装置にも本発明を適用して実施できる。また、自動変速機AT、CVT、DCT等に限定されず、電気自動車用の減速機のシフトレンジを切り換えるレンジ切換装置にも本発明を適用して実施できる。その他、本発明は、レンジ切換装置に限定されず、SRモータ等のブラシレス型の同期モータを駆動源とする各種の位置切換装置に適用しても良い等、要旨を逸脱しない範囲内で種々変更して実施できることは言うまでもない。"