(57)【要約】【課題】モータを精度よく停止可能なシフトレンジ制御装置を提供する。【解決手段】シフトレンジ制御装置４０は、モータ巻線１１を有するモータ１０の駆動を制御することでシフトレンジを切り替えるものである。角度演算部５１は、ロータ１０５の回転位置を検出する回転角センサ１３からの信号に基づいて、エンコーダカウント値ＣＮＴを演算する。通電制御部５５は、エンコーダカウント値ＣＮＴが目標シフトレンジに応じた目標カウント値ＣＮＴ＿Ｔとなるようにロータ１０５を駆動し、エンコーダカウント値ＣＮＴが目標カウント値ＣＮＴ＿Ｔとなる位置にてロータ１０５が停止するように、モータ巻線１１への通電を制御する。ゼロ点推定部５６は、ロータ１０５を停止させる停止制御中において、振動しているロータ１０５の回転速度が０となるタイミングである速度０点を推定する。通電制御部５５は、推定された速度０点において、電流制御を切り替える。【選択図】  図２
2020120547.tif 000002
【特許請求の範囲】
【請求項１】
モータ巻線（１１）への通電によりロータ（１０５）が回転するモータ（１０）の駆動を制御することでシフトレンジを切り替えるシフトレンジ制御装置であって、
前記ロータの回転位置を検出する回転角センサ（１３）からの信号に基づいてモータ角度を演算する角度演算部（５１）と、
前記モータ角度が目標シフトレンジに応じた目標角度となるように前記ロータを駆動し、前記モータ角度が前記目標角度となる位置にて前記ロータが停止するように前記モータ巻線への通電を制御する通電制御部（５５）と、
前記ロータを停止させる停止制御中において、振動している前記ロータの回転速度が０となるタイミングである速度０点を推定するゼロ点推定部（５６）と、
を備え、
前記通電制御部は、推定された前記速度０点において、電流制御を切り替えるシフトレンジ制御装置。
【請求項２】
前記ゼロ点推定部は、前記回転角センサの検出値を用いて特定される前記ロータの振動周期に基づいて前記速度０点を推定する請求項１に記載のシフトレンジ制御装置。
【請求項３】
前記回転角センサは、検出素子（１３１〜１３３）を有するエンコーダであって、
前記検出素子は、前記停止制御において、前記ロータの振動中心となる位置にて信号エッジが発生する箇所に設けられる請求項２に記載のシフトレンジ制御装置。
【請求項４】
前記通電制御部は、前記速度０点において、段階的に電流を低減させる請求項１〜３のいずれか一項に記載のシフトレンジ制御装置。
【請求項５】
前記通電制御部は、前記ロータが振動中心を通過した回数が所定回数以上となった場合、前記速度０点にて通電をオフにする請求項４に記載のシフトレンジ制御装置。
【請求項６】
前記通電制御部は、前記速度０点において、通電をオフにする請求項１〜３のいずれか一項に記載のシフトレンジ制御装置。
【請求項７】
前記通電制御部は、前記速度０点から、電流を徐変させる請求項１〜３のいずれか一項に記載のシフトレンジ制御装置。
【請求項８】
前記通電制御部は、前記停止制御を開始してからの経過時間が、経過判定閾値を超えた場合、前記速度０点によらず、通電をオフにする請求項１〜７のいずれか一項に記載のシフトレンジ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シフトレンジ制御装置に関する。
【背景技術】
【０００２】
従来、レンジ切換機構の駆動源となるモータの駆動を制御するモータ制御装置が知られている。例えば特許文献１では、フィードバック制御によりロータを目標位置まで駆動し、フィードバック制御終了時の位置に停止保持するように通電相を選択して通電する目標位置停止保持処理を所定時間行っている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００４−２３８９０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、例えばＤＣブラシレスモータ等のように、ロータが磁石を有している場合、固定相通電によりロータを停止させる際、ロータとステータとの間の磁石の作用反作用により、ロータが振動し続ける虞がある。ロータが振動している状態にて通電をオフにすると、通電をオフにしたタイミングによっては、ロータを精度よく停止できない虞がある。
【０００５】
本発明は、上述の課題に鑑みてなされたものであり、その目的は、モータを精度よく停止可能なシフトレンジ制御装置を提供することにある。
【課題を解決するための手段】
【０００６】
本発明のシフトレンジ制御装置は、モータ巻線（１１）への通電によりロータ（１０５）が回転するモータ（１０）の駆動を制御することでシフトレンジを切り替えるものであって、角度演算部（５１）と、通電制御部（５５）と、ゼロ点推定部（５６）と、を備える。
【０００７】
角度演算部は、ロータの回転位置を検出する回転角センサ（１３）からの信号に基づいてモータ角度を演算する。通電制御部は、モータ角度が目標シフトレンジに応じた目標角度となるようにロータを駆動し、モータ角度が目標角度となる位置にてロータが停止するようにモータ巻線への通電を制御する。
【０００８】
ゼロ点推定部は、ロータを停止させる停止制御中において、振動しているロータの回転速度が０となるタイミングである速度０点を推定する。通電制御部は、推定された速度０点において、電流制御を切り替える。これにより、モータを精度よく停止させることができる。
【図面の簡単な説明】
【０００９】
【図１】第１実施形態によるシフトバイワイヤシステムを示す斜視図である。
【図２】第１実施形態によるシフトバイワイヤシステムを示す概略構成図である。
【図３】第１実施形態によるモータ巻線および駆動回路を示す回路図である。
【図４】第１実施形態による回転角センサを説明する模式図である。
【図５】第１実施形態による回転角センサを説明する模式図である。
【図６】第１実施形態による停止制御におけるロータの振動を説明する説明図である。
【図７】第１実施形態による駆動制御処理を説明するフローチャートである。
【図８】第１実施形態による速度０点推定処理を説明するフローチャートである。
【図９】第１実施形態による電流制御変更許可処理を説明するフローチャートである。
【図１０】第１実施形態による電流制御処理を説明するフローチャートである。
【図１１】第１実施形態によるモータ駆動制御を説明するタイムチャートである。
【図１２】第２実施形態による電流制御処理を説明するフローチャートである。
【図１３】第２実施形態によるモータ駆動制御を説明するタイムチャートである。
【図１４】第３実施形態による電流制御処理を説明するフローチャートである。
【図１５】第３実施形態によるモータ駆動制御を説明するタイムチャートである。
【図１６】第３実施形態によるモータ駆動制御を説明するタイムチャートである。
【図１７】第４実施形態による速度０点推定処理を説明するフローチャートである。
【発明を実施するための形態】
【００１０】
以下、シフトレンジ制御装置を図面に基づいて説明する。以下、複数の実施形態において、実質的に同一の構成には同一の符号を付して説明を省略する。
【００１１】
（第１実施形態）
第１実施形態を図１〜図１１に示す。図１および図２に示すように、シフトバイワイヤシステム１は、モータ１０、シフトレンジ切替機構２０、パーキングロック機構３０、および、シフトレンジ制御装置４０等を備える。
【００１２】
モータ１０は、図示しない車両に搭載されるバッテリ４５（図３参照）から電力が供給されることで回転し、シフトレンジ切替機構２０の駆動源として機能する。本実施形態のモータ１０は、永久磁石式のＤＣブラシレスモータである。図３および図４に示すように、モータ１０は、ステータ１０１、ロータ１０５、および、モータ巻線１１を有する。モータ巻線１１は、Ｕ相コイル１１１、Ｖ相コイル１１２およびＷ相コイル１１３を有し、ステータ１０１のティース１０２に巻回される。ロータ１０５には永久磁石が設けられる。本実施形態では、ステータ１０１の突極数が１０、ロータ１０５の磁極数が８である。
【００１３】
回転角センサ１３は、ロータ１０５の回転位置を検出し、回転角信号をＥＣＵ５０に出力する。図４に示すように、本実施形態の回転角センサ１３は、例えば磁気式のロータリーエンコーダであって、ロータ１０５と一体に回転する図示しないマグネットプレート、および、検出素子１３１、１３２、１３３を有する３相エンコーダである。
【００１４】
検出素子１３１〜１３３は、マグネットプレートの磁気を検出するものであって、例えばホールＩＣである。ホールＩＣ以外のものを用いてもよい。検出素子１３１〜１３３は、回転角信号の位相が電気角で１２０°ずれるように配置される。本実施形態では、検出素子１３１〜１３３は、隣り合うＵ相、Ｖ相およびＷ相の３つのティース１０２の中心に配置される。また、図５に示すように、２つのティース１０２の中央に検出素子１３１〜１３３を配置するようにしてもよい。このように配置することで、２相通電時の安定点にて信号エッジが発生する。
【００１５】
図２に示すように、減速機１４は、モータ１０のモータ軸と出力軸１５との間に設けられ、モータ１０の回転を減速して出力軸１５に出力する。これにより、モータ１０の回転がシフトレンジ切替機構２０に伝達される。出力軸１５には、出力軸１５の角度を検出する出力軸センサ１６が設けられる。出力軸センサ１６は、例えばポテンショメータである。
【００１６】
図１に示すように、シフトレンジ切替機構２０は、ディテントプレート２１、および、ディテントスプリング２５等を有し、減速機１４から出力された回転駆動力を、マニュアルバルブ２８、および、パーキングロック機構３０へ伝達する。
【００１７】
ディテントプレート２１は、出力軸１５に固定され、モータ１０により駆動される。ディテントプレート２１には、出力軸１５と平行に突出するピン２４が設けられる。ピン２４は、マニュアルバルブ２８と接続される。ディテントプレート２１がモータ１０によって駆動されることで、マニュアルバルブ２８は軸方向に往復移動する。すなわち、シフトレンジ切替機構２０は、モータ１０の回転運動を直線運動に変換してマニュアルバルブ２８に伝達する。マニュアルバルブ２８は、バルブボディ２９に設けられる。マニュアルバルブ２８が軸方向に往復移動することで、図示しない油圧クラッチへの油圧供給路が切り替えられ、油圧クラッチの係合状態が切り替わることでシフトレンジが変更される。
【００１８】
ディテントプレート２１のディテントスプリング２５側には、マニュアルバルブ２８を各レンジに対応する位置に保持するための４つの凹部２２が設けられる。凹部２２は、ディテントスプリング２５の基部側から、Ｄ（ドライブ）、Ｎ（ニュートラル）、Ｒ（リバース）、Ｐ（パーキング）の各レンジに対応している。
【００１９】
ディテントスプリング２５は、弾性変形可能な板状部材であり、先端にディテントローラ２６が設けられる。ディテントローラ２６は、凹部２２のいずれかに嵌まり込む。ディテントスプリング２５は、ディテントローラ２６をディテントプレート２１の回動中心側に付勢する。ディテントプレート２１に所定以上の回転力が加わると、ディテントスプリング２５が弾性変形し、ディテントローラ２６が凹部２２を移動する。ディテントローラ２６が凹部２２のいずれかに嵌まり込むことで、ディテントプレート２１の揺動が規制され、マニュアルバルブ２８の軸方向位置、および、パーキングロック機構３０の状態が決定され、自動変速機５のシフトレンジが固定される。
【００２０】
パーキングロック機構３０は、パーキングロッド３１、円錐体３２、パーキングロックポール３３、軸部３４、および、パーキングギア３５を有する。パーキングロッド３１は、略Ｌ字形状に形成され、一端３１１側がディテントプレート２１に固定される。パーキングロッド３１の他端３１２側には、円錐体３２が設けられる。円錐体３２は、他端３１２側にいくほど縮径するように形成される。ディテントローラ２６がＰレンジに対応する凹部に嵌まり込む方向にディテントプレート２１が回転すると、円錐体３２が矢印Ｐの方向に移動する。
【００２１】
パーキングロックポール３３は、円錐体３２の円錐面と当接し、軸部３４を中心に揺動可能に設けられる。パーキングロックポール３３のパーキングギア３５側には、パーキングギア３５と噛み合い可能な凸部３３１が設けられる。ディテントプレート２１の回転により、円錐体３２が矢印Ｐ方向に移動すると、パーキングロックポール３３が押し上げられ、凸部３３１とパーキングギア３５とが噛み合う。一方、円錐体３２が矢印ＮｏｔＰ方向に移動すると、凸部３３１とパーキングギア３５との噛み合いが解除される。
【００２２】
パーキングギア３５は図示しない車軸に設けられ、パーキングロックポール３３の凸部３３１と噛み合い可能に設けられる。パーキングギア３５と凸部３３１とが噛み合うと、車軸の回転が規制される。シフトレンジがＰ以外のレンジであるＮｏｔＰレンジのとき、パーキングギア３５はパーキングロックポール３３によりロックされず、車軸の回転は、パーキングロック機構３０により妨げられない。また、シフトレンジがＰレンジのとき、パーキングギア３５はパーキングロックポール３３によってロックされ、車軸の回転が規制される。
【００２３】
図２および図３に示すように、シフトレンジ制御装置４０は、駆動回路４１、および、ＥＣＵ５０等を備える。駆動回路４１は、モータ巻線１１の通電を切り替える３相インバータであって、スイッチング素子４１１〜４１６がブリッジ接続される。対になるＵ相のスイッチング素子４１１、４１４の接続点には、Ｕ相コイル１１１の一端が接続される。対になるＶ相のスイッチング素子４１２、４１５の接続点には、Ｖ相コイル１１２の一端が接続される。対になるＷ相のスイッチング素子４１３、４１６の接続点には、Ｗ相コイル１１３の一端が接続される。コイル１１１〜１１３の他端は、結線部１１５で結線される。
【００２４】
駆動回路４１とバッテリ４５との間には、モータリレー４６が設けられる。モータリレー４６がオンされることで、バッテリ４５からモータ１０側への給電が許容され、オフされることで、バッテリ４５からモータ１０側への給電が遮断される。電圧センサ４８は、バッテリ４５の電圧であるバッテリ電圧を検出する。
【００２５】
ＥＣＵ５０は、マイコン等を主体として構成され、内部にはいずれも図示しないＣＰＵ、ＲＯＭ、ＲＡＭ、Ｉ／Ｏ、及び、これらの構成を接続するバスライン等を備えている。ＥＣＵ５０における各処理は、ＲＯＭ等の実体的なメモリ装置（すなわち、読み出し可能非一時的有形記録媒体）に予め記憶されたプログラムをＣＰＵで実行することによるソフトウェア処理であってもよいし、専用の電子回路によるハードウェア処理であってもよい。
【００２６】
図２に示すように、ＥＣＵ５０は、ドライバ要求シフトレンジに応じたシフト信号、ブレーキスイッチからの信号および車速等に基づいてモータ１０の駆動を制御することで、シフトレンジの切り替えを制御する。また、ＥＣＵ５０は、車速、アクセル開度、および、ドライバ要求シフトレンジ等に基づき、変速用油圧制御ソレノイド６の駆動を制御する。変速用油圧制御ソレノイド６を制御することで、変速段が制御される。変速用油圧制御ソレノイド６は、変速段数等に応じた本数が設けられる。本実施形態では、１つのＥＣＵ５０がモータ１０およびソレノイド６の駆動を制御するが、モータ１０を制御するモータ制御用のモータＥＣＵと、ソレノイド制御用のＡＴ−ＥＣＵとを分けてもよい。以下、モータ１０の駆動制御を中心に説明する。
【００２７】
ＥＣＵ５０は、角度演算部５１、通電制御部５５、および、ゼロ点推定部５６を有する。角度演算部５１は、回転角センサ１３から出力される回転角信号であるエンコーダ信号の各相のパルスエッジを検出し、エンコーダカウント値ＣＮＴを演算する。本実施形態では、Ｐレンジ側からＤレンジ側へレンジを切り替えるときの回転方向を正回転方向とし、エンコーダカウント値ＣＮＴをカウントアップする。また、Ｄレンジ側からＰレンジ側へレンジを切り替えるときの回転方向を逆回転方向とし、エンコーダカウント値ＣＮＴをカウントダウンする。エンコーダカウント値ＣＮＴのカウント設定等は異なっていてもよい。エンコーダカウント値ＣＮＴは、モータ１０の回転位置に応じた値であって、「モータ角度」に対応する。以下適宜、エンコーダ信号の各相のパルスエッジを「エンコーダエッジ」という。
【００２８】
通電制御部５５は、エンコーダカウント値ＣＮＴが、目標シフトレンジに応じて設定される目標カウント値ＣＮＴ＿Ｔとなるように、モータ１０の駆動制御に係る駆動信号を生成する。生成された駆動信号は、駆動回路４１に出力される。駆動信号に応じてスイッチング素子４１１〜４１６のオンオフを切り替え、モータ巻線１１への通電を制御することで、モータ１０の駆動が制御される。本実施形態では、目標カウント値ＣＮＴ＿Ｔが「目標角度」に対応する。
【００２９】
通電制御部５５は、目標シフトレンジが変更されると、フィードバック制御により、モータ１０を駆動する。図中、フィードバックを「Ｆ／Ｂ」と記載する。具体的には、エンコーダカウント値ＣＮＴに応じた通電相に通電し、エンコーダカウント値ＣＮＴに応じて通電相を切り替えていくことでロータ１０５を回転させる。エンコーダカウント値ＣＮＴが目標カウント値ＣＮＴ＿Ｔを含む所定範囲内（例えばＣＮＴ＿Ｔ±２カウント）となると、フィードバック制御から停止制御に切り替え、モータ１０を停止させる。以下適宜、エンコーダカウント値ＣＮＴが目標カウント値ＣＮＴ＿Ｔを含む所定範囲内に到達することを、単に「目標に到達した」という。また、停止制御を開始するカウント値を停止制御開始カウント値ＣＮＴ＿Ｓとする。
【００３０】
本実施形態では、停止制御として、１相の上側のスイッチング素子、および、他の１相の下側のスイッチング素子をオンにすることで、２相への固定相通電制御を行う。例えば、スイッチング素子４１３、４１５をオンにすることで、スイッチング素子４１３、Ｗ相コイル１１３、結線部１１５、Ｖ相コイル１１２、スイッチング素子４１５の経路に電流が流れるＷＶ相通電となる。
【００３１】
ゼロ点推定部５６は、固定相通電制御中、ロータ１０５の振動周期に基づき、ロータ１０５の回転速度が０になるタイミングである速度０点を推定する。通電制御部５５は、推定された速度０点において、通電制御を切り替える。
【００３２】
本実施形態のモータ１０は、ＤＣブラシレスモータであって、ロータ１０５は永久磁石を有している。そのため、２相への固定相通電を行った場合、ロータ１０５とステータ１０１との間の磁石の作用反作用によって、ロータ１０５が振動し続ける虞がある。
【００３３】
ロータ１０５の振動を図６に基づいて説明する。図６では、（ａ）にて停止制御を開始するときのロータ１０５の回転方向が反時計回り方向であり、ロータ１０５の回転位置が（ａ）→（ｂ）→（ｃ）→（ｄ）→（ｅ）→（ｆ）→（ｇ）・・・と変化していくことを示している。また、白抜きの三角印は、ロータ１０５の基準位置を示している。また、図６において、停止制御ではＷＶ相通電を行うものとし、通電相のＷＶ相を実線、非通電相のＵ相を破線で示した。
【００３４】
図６において、（ａ）の状態にて、エンコーダエッジが検出され、エンコーダカウント値ＣＮＴがカウントアップされ、停止制御を開始する。このときのエンコーダカウント値ＣＮＴを、停止制御開始カウント値ＣＮＴ＿Ｓとする。また、エンコーダカウント値ＣＮＴ対応する通電相がＷＶ相であって、スイッチング素子４１３、４１５をオンにし、ＷＶ相通電にて固定相通電を行う。
【００３５】
（ｂ）の状態を経て、（ｃ）の状態になると、ロータ１０５のＳ極とＮ極の境界が検出素子を通過し、エンコーダエッジが発生するので、エンコーダカウント値ＣＮＴが＋１される。（ｄ）の状態にて、ロータ１０５の速度が０になると、ロータ１０５の回転方向が反対、すなわち時計方向に変わる。（ｄ）の状態が折り返し点である。なお、折り返し点は、ロータ１０５の振動エネルギ等に応じた位置となる。（ｅ）のロータ１０５の位置は（ｃ）と同じであって、エンコーダエッジが発生し、エンコーダカウント値ＣＮＴが−１される。そして、（ｆ）の状態を経て、（ｇ）の状態となる。（ｇ）のロータ１０５の位置は（ａ）と同じであって、エンコーダエッジが発生し、エンコーダカウント値ＣＮＴが−１される。ロータ１０５は、速度０となるまで、さらに時計方向に回転し、速度０となった時点にて反時計方向に回転方向が変わる、といった具合に、（ａ）および（ｇ）に示す位置を中心にロータ１０５が振動する。停止制御中、ロータ１０５が（ａ）および（ｇ）の状態に向かっているとき、ロータ１０５が加速される。一方、ロータ１０５が（ａ）および（ｇ）の状態から離れるとき、ロータ１０５が減速される。また、ロータ１０５が（ａ）および（ｇ）に示す振動中心Ｌｃを通過するとき、回転速度がピークとなる。
【００３６】
ロータ１０５が振動している状態にて、停止制御を終了し、モータ巻線１１への通電をオフにすると、オフしたタイミングによっては、ロータ１０５が回転し、場合によっては出力軸１５を押し上げ、意図せず目標レンジとは異なるレンジに切り替わってしまう虞がある。そこで本実施形態では、ロータ１０５の振動周期から、ロータ１０５の回転速度が０となる速度０点を推定し、速度０点にて通電オフにすることで、オーバーシュートまたはアンダーシュートすることなく、ロータ１０５を制御範囲内にて停止させる。
【００３７】
本実施形態の駆動制御処理を図７のフローチャートに基づいて説明する。この処理は、ＥＣＵ５０にて所定の周期（例えば１［ｍｓ］）にて実行される。以下、ステップＳ１０１の「ステップ」を省略し、単に記号「Ｓ」と記す。他のステップも同様である。本実施形態では、マイコン初期化後、スタンバイモードとする。
【００３８】
Ｓ１０１では、ＥＣＵ５０は、駆動モードがスタンバイモードか否かを判断する。駆動モードがスタンバイモードではないと判断された場合（Ｓ１０１：ＮＯ）、Ｓ１０４へ移行する。駆動モードがスタンバイモードであると判断された場合（Ｓ１０１：ＹＥＳ）、Ｓ１０２へ移行する。
【００３９】
Ｓ１０２では、ＥＣＵ５０は、目標シフトレンジが切り替わったか否かを判断する。目標シフトレンジが切り替わっていないと判断された場合（Ｓ１０２：ＮＯ）、スタンバイモードを継続する。目標シフトレンジが切り替わったと判断された場合（Ｓ１０２：ＹＥＳ）、Ｓ１０３へ移行し、駆動モードをフィードバック制御モードに切り替える。
【００４０】
Ｓ１０４では、ＥＣＵ５０は、駆動モードがフィードバック制御モードか否かを判断する。駆動モードがフィードバック制御モードではないと判断された場合（Ｓ１０４：ＮＯ）、すなわち駆動モードが停止モードである場合、Ｓ１０９へ移行する。駆動モードがフィードバック制御モードであると判断された場合（Ｓ１０４：ＹＥＳ）、Ｓ１０５へ移行する。
【００４１】
Ｓ１０５では、ＥＣＵ５０は、エンコーダカウント値ＣＮＴが目標カウント値ＣＮＴ＿Ｔを含む所定範囲内に到達したか否かを判断する。エンコーダカウント値ＣＮＴが目標カウント値ＣＮＴ＿Ｔを含む所定範囲内に到達していないと判断された場合（Ｓ１０５：ＮＯ）、フィードバック制御モードを継続する。エンコーダカウント値ＣＮＴが目標カウント値ＣＮＴ＿Ｔを含む所定範囲内に到達したと判断された場合（Ｓ１０５：ＹＥＳ）、Ｓ１０６へ移行し、駆動モードを停止モードに切り替える。
【００４２】
Ｓ１０７では、ＥＣＵ５０は、停止モードに遷移したときの角度を、図示しないＲＡＭ等に記憶させる。ここで、停止制御開始カウント値ＣＮＴ＿Ｓを記憶させる。Ｓ１０８では、通電制御部５５は、固定相通電を開始する。
【００４３】
駆動モードが停止モードである場合に移行するＳ１０９では、ＥＣＵ５０は、後述するスタンバイフラグがセットされているか否かを判断する。図中、各フラグがセットされている状態を「１」、セットされていない状態を「０」とする。スタンバイフラグがセットされていると判断された場合（Ｓ１０９：ＹＥＳ）、Ｓ１１２へ移行する。スタンバイフラグがセットされていないと判断された場合（Ｓ１０９：ＮＯ）、Ｓ１１０へ移行する。
【００４４】
Ｓ１１０では、ＥＣＵ５０は、停止制御を開始してからの経過時間Ｔｓｔｐが経過判定閾値Ｔｓｔｐ＿ｔｈ以上か否かを判断する。経過時間Ｔｓｔｐが経過判定閾値Ｔｓｔｐ＿ｔｈ未満であると判断された場合（Ｓ１１０：ＮＯ）、Ｓ１１１へ移行し、経過時間Ｔｓｔｐをカウントアップする。経過時間Ｔｓｔｐが経過判定閾値Ｔｓｔｐ＿ｔｈ以上であると判断された場合（Ｓ１１０：ＹＥＳ）、Ｓ１１２へ移行する。
【００４５】
スタンバイフラグがセットされている場合（Ｓ１０９：ＹＥＳ）、または、停止制御を開始してからの経過時間Ｔｓｔｐが経過判定閾値Ｔｓｔｐ＿ｔｈ以上であると判断された場合（Ｓ１１０：ＹＥＳ）に移行するＳ１１２では、ＥＣＵ５０は、駆動モードをスタンバイモードに切り替え、全てのスイッチング素子４１１〜４１６をオフにする。
【００４６】
速度０点推定処理を図８のフローチャートに基づいて説明する。この処理は、エンコーダ信号のエッジが検出されたときに割込処理される。なお、同様にエンコーダエッジ検出時に割込処理されるモータ１０の駆動制御に係る処理を優先し、当該速度０点推定処理は、その後に実行される。
【００４７】
Ｓ２０１では、ゼロ点推定部５６は、駆動モードが停止モードか否かを判断する。駆動モードが停止モードではないと判断された場合（Ｓ２０１：ＮＯ）、以降の処理を行わず、本ルーチンを終了する。駆動モードが停止モードであると判断された場合（Ｓ２０１：ＹＥＳ）、Ｓ２０２へ移行する。
【００４８】
Ｓ２０２では、ゼロ点推定部５６は、周期推定時間Ｔｃを演算する。ここでは、周期推定時間Ｔｃの前回値に、前回のエンコーダエッジ検出から今回のエンコーダエッジ検出までの経過時間であるエッジ間経過時間Ｔｅｄｇを加算する（式（１）参照）。式中の（ｎ−１）は、前回値であることを意味する。
【００４９】
Ｔｃ＝Ｔｃ(n-1)＋Ｔｅｄｇ    ・・・（１）
【００５０】
Ｓ２０３では、ゼロ点推定部５６は、エンコーダカウント値ＣＮＴに基づき、ロータ１０５が振動中心Ｌｃを通過したか否かを判断する。
【００５１】
振動中心Ｌｃの通過判定を説明する。現在のロータ１０５の回転方向が、停止制御開始前の回転方向と同じである場合、式（２）のときに振動中心Ｌｃを通過したと判定する。停止制御開始前の回転方向が正回転方向（すなわちＰ→Ｄ方向）であって、現在のロータ１０５の回転方向が、停止制御開始前の回転方向と異なる場合、式（３）のときに振動中心Ｌｃを通過したと判定する。停止制御開始前の回転方向が逆回転方向（すなわちＤ→Ｐ方向）であって、現在のロータ１０５の回転方向が、停止制御開始前の回転方向と異なる場合、式（４）のときに振動中心Ｌｃを通過したと判定する。
【００５２】
ＣＮＴ＿Ｓ−ＣＮＴ＝０      ・・・（２）
ＣＮＴ＿Ｓ−ＣＮＴ＝−１    ・・・（３）
ＣＮＴ＿Ｓ−ＣＮＴ＝１      ・・・（４）
【００５３】
ロータ１０５が振動中心Ｌｃを通過していないと判断された場合（Ｓ２０３：ＮＯ）、Ｓ２０４以降の処理を行わず、本ルーチンを終了する。ロータ１０５が振動中心Ｌｃを通過したと判断された場合（Ｓ２０３：ＹＥＳ）、Ｓ２０４へ移行する。
【００５４】
Ｓ２０４では、ゼロ点推定部５６は、次にロータ１０５の速度が０となるまでの時間である速度０点推定時間Ｔｚｅｒｏを算出する（式（５）参照）。Ｓ２０５では、ゼロ点推定部５６は、速度０点計時タイマＴｔｉｍｅをスタートさせる。
【００５５】
Ｔｚｅｒｏ＝Ｔｃ／２    ・・・（５）
【００５６】
ゼロ点推定部５６は、Ｓ２０６にて、周期推定時間Ｔｃをリセットし、Ｓ２０７にて、中心通過カウンタＣｐａｓｓをインクリメントする。なお、中心通過カウンタＣｐａｓｓの値を用いない実施形態においては、Ｓ２０７を省略してもよい。後述のＳ５０７も同様である。
【００５７】
電流制御変更許可処理を図９のフローチャートに基づいて説明する。この処理は、速度０点計時タイマＴｔｉｍｅが、速度０点推定時間Ｔｚｅｒｏ以上となったタイミングにて、タイマ割込処理される。Ｓ３０１では、ゼロ点推定部５６は、電流制御許可フラグをセットする。Ｓ３０２では、ゼロ点推定部５６は、速度０点計時タイマＴｔｉｍｅ、および、速度０点推定時間Ｔｚｅｒｏをリセットする。
【００５８】
電流制御処理を図１０のフローチャートに基づいて説明する。この処理は、所定の周期（例えば１［ｍｓ］）にて実行される。Ｓ４０１では、ＥＣＵ５０は、駆動モードが停止モードか否かを判断する。駆動モードが停止モードではないと判断された場合（Ｓ４０１：ＮＯ）、以降の処理を行わず、本ルーチンを終了する。駆動モードが停止モードであると判断された場合（Ｓ４０１：ＹＥＳ）、Ｓ４０２へ移行する。
【００５９】
Ｓ４０２では、ＥＣＵ５０は、電流制御許可フラグがセットされているか否かを判断する。電流制御許可フラグがセットされていないと判断された場合（Ｓ４０２：ＮＯ）、Ｓ４０３の処理を行わず、本ルーチンを終了する。電流制御許可フラグがセットされていると判断された場合（Ｓ４０２：ＹＥＳ）、Ｓ４０３へ移行し、スタンバイフラグをセットする。スタンバイフラグがセットされると、図７中のＳ１０９にて肯定判断され、スタンバイモードに移行し、通電をオフにする。すなわち、本実施形態では、速度０点となるタイミングにて、通電をオフにする。
【００６０】
本実施形態のモータ駆動制御を図１１のタイムチャートに基づいて説明する。図１１では、停止制御開始前、ロータ１０５が正方向（すなわちＰ→Ｄ方向）に回転しているものとする。図１１では、上段から、駆動モード、ロータ変位量θｉ、エンコーダカウント値ＣＮＴ、周期推定時間Ｔｃ、速度０点計時タイマＴｔｉｍｅ、電流制御許可フラグ、中心通過カウンタＣｐａｓｓ、目標電流デューティを示している。なお、説明のため、タイムスケール等は適宜変更している。なお、一般的には、ＴＡで示す期間を振動の１周期とするが、本明細書においては、ロータ１０５が振動中心Ｌｃから離れ、再び振動中心Ｌｃを通過するまでの半周期（例えば図中に「Ｔ」で示す期間）を単に振動周期、と呼ぶ。図１３等についても同様である。
【００６１】
時刻ｘ１０にてエンコーダカウント値ＣＮＴが目標カウント値ＣＮＴ＿Ｔを含む所定範囲に到達すると、駆動モードをフィードバック制御モードから停止モードに切り替え、エンコーダカウント値ＣＮＴに応じた通電相への固定相通電を行う。また、このときのエンコーダカウント値ＣＮＴを、停止制御開始カウント値ＣＮＴ＿Ｓとして保持しておくとともに、中心通過カウンタＣｐａｓｓをインクリメントする。また、目標電流デューティを固定相通電デューティＤａとし、設定されたデューティにて、通電相のスイッチング素子をオンオフする。固定相通電デューティＤａは、任意に設定可能である。このときのロータ１０５の位置は、図６中の（ａ）に示す如くである。
【００６２】
時刻ｘ１１にて、図６中の（ｃ）に示す位置までロータ１０５が回転すると、エンコーダエッジが検出され、エンコーダカウント値ＣＮＴが＋１される。また、周期推定時間Ｔｃに、エッジ間経過時間Ｔｅｄｇである時刻ｘ１０から時刻ｘ１１までの時間を加算する。
【００６３】
時刻ｘ１２にて、図６中の（ｄ）に示す位置にて、ロータ１０５の回転速度が０になると、ロータ１０５の回転方向が反転し、振動中心Ｌｃに向かって加速される。時刻ｘ１３にて、エンコーダエッジが検出されると、エンコーダカウント値ＣＮＴが−１され、エンコーダカウント値ＣＮＴは停止制御開始カウント値ＣＮＴ＿Ｓに戻る。また、周期推定時間Ｔｃに、エッジ間経過時間Ｔｅｄｇである時刻ｘ１１から時刻ｘ１３までの時間を加算する。
【００６４】
時刻ｘ１４にて、エンコーダエッジが検出されると、エンコーダカウント値ＣＮＴが−１される。また、周期推定時間Ｔｃに、エッジ間経過時間Ｔｅｄｇである時刻ｘ１３から時刻ｘ１４までの時間を加算すると、周期推定時間Ｔｃは時刻ｘ１０から時刻ｘ１４までの時間になる。
【００６５】
時刻ｘ１４では、エンコーダカウント値ＣＮＴが（ＣＮＴ＿Ｓ−１）となり、ロータ１０５が振動中心Ｌｃに位置していると推定される。また、ロータ１０５が振動中心Ｌｃを通過するときの回転速度がピークであり、ロータ１０５が振動中心Ｌｃから離れる方向にロータ１０５が回転するとき、ロータ１０５の回転速度は低下する。
【００６６】
すなわち、時刻ｘ１０にて、正方向回転でロータ１０５が振動中心Ｌｃを通過し、時刻ｘ１４にて、逆方向回転でロータ１０５が振動中心Ｌｃを再度通過する。そこで本実施形態では、時刻ｘ１４にて、時刻ｘ１３から時刻ｘ１４までのエッジ間経過時間Ｔｅｄｇを加算後の周期推定時間Ｔｃをロータ１０５の振動周期Ｔとみなす。そして、時刻ｘ１４から、振動周期Ｔの１／２が経過した時刻ｘ１５が、ロータ１０５の回転速度が０となる速度０点であると推定する。
【００６７】
具体的には、時刻ｘ１４にて、速度０点推定時間Ｔｚｅｒｏを演算し、速度０点計時タイマＴｔｉｍｅをスタートさせる。また、速度０点推定時間Ｔｚｅｒｏの演算後、周期推定時間Ｔｃをリセットし、中心通過カウンタＣｐａｓｓをインクリメントする。そして、速度０点計時タイマＴｔｉｍｅが速度０点推定時間Ｔｚｅｒｏとなる時刻ｘ１５を速度０点とみなし、時刻ｘ１５にて電流制御許可フラグをセットする。電流制御許可がセットされると、電流制御の変更が許容される。本実施形態では、電流制御の変更として、駆動モードをスタンバイモードとし、モータ巻線１１への通電をオフにする。速度０点にて通電をオフにすることで、オーバーシュートやアンダーシュートすることなく、制御範囲内にて振動が収束し、ロータ１０５を適切な位置にて停止させることができる。
【００６８】
以上、説明したように、本実施形態のシフトレンジ制御装置４０は、モータ巻線１１への通電によりロータ１０５が回転するモータ１０の駆動を制御することでシフトレンジを切り替えるものであって、角度演算部５１と、通電制御部５５と、ゼロ点推定部５６と、を備える。角度演算部５１は、ロータ１０５の回転位置を検出する回転角センサ１３からの信号に基づいて、エンコーダカウント値ＣＮＴを演算する。通電制御部５５は、エンコーダカウント値ＣＮＴが目標シフトレンジに応じた目標カウント値ＣＮＴ＿Ｔとなるようにロータ１０５を駆動し、エンコーダカウント値ＣＮＴが目標カウント値ＣＮＴ＿Ｔとなる位置にてロータ１０５が停止するように、モータ巻線１１への通電を制御する。ここで、「モータ角度が目標角度となる位置にてロータが停止する」とは、目標角度そのものに限らず、目標角度を含む制御範囲内にて停止させることも含む。
【００６９】
ゼロ点推定部５６は、ロータ１０５を停止させる停止制御中において、振動しているロータ１０５の回転速度が０となるタイミングである速度０点を推定する。通電制御部５５は、推定された速度０点において、電流制御を切り替える。本実施形態では、通電制御部５５は、速度０点において、通電をオフにする。これにより、モータ１０を精度よく停止させることができるので、オーバーシュートやアンダーシュートにより、意図しないレンジに切り替わってしまうのを防ぐことができる。なお、上述の通り、推定された速度０点にて電流制御許可フラグをセットし、実際に電流制御が切り替わるのが次の演算周期になるといった具合に、演算周期等によりタイミングがずれていたとしても、「速度０点において、電流制御を切り替える」の概念に含まれるものとする。
【００７０】
ゼロ点推定部５６は、回転角センサ１３の検出値を用いて特定されるロータ１０５の振動周期に基づいて速度０点を推定する。本実施形態の回転角センサは、検出素子１３１〜１３３を有するエンコーダであって、検出素子１３１〜１３３は、停止制御において、ロータ１０５の振動中心Ｌｃとなる位置にて信号エッジが発生する箇所に設けられる。本実施形態の停止制御は２相への固定相通電制御であるので、２相通電時の安定点にて信号エッジが発生するようにすることで、ロータ１０５の振動中心にて信号エッジが発生するようにしている。これにより、回転角センサ１３の検出値に基づいて、速度０点を適切に推定することができる。
【００７１】
（第２実施形態）
第２実施形態を図１２および図１３に示す。第２実施形態および第３実施形態は、主に速度０点での電流制御の変更を中心に説明する。速度０点の推定等は上記実施形態と同様であるので、説明を省略する。
【００７２】
本実施形態の電流制御処理を図１２に示す。この処理は、図１０の処理と同様、所定の周期（例えば１［ｍｓ］）にて実行される。Ｓ４２１およびＳ４２２の処理は、図１０中のＳ４０１およびＳ４０２の処理と同様である。Ｓ４２２にて、電流制御許可フラグがセットされていると判断された場合（Ｓ４２２：ＹＥＳ）に移行するＳ４２３では、通電制御部５５は、目標電流デューティを固定相通電デューティＤａから漸減させる徐変制御を行う。
【００７３】
Ｓ４２４では、ＥＣＵ５０は、目標電流デューティが０以下であるか否かを判断する。目標電流デューティが０より大きいと判断された場合（Ｓ４２４：ＮＯ）、Ｓ４２５の処理を行わず、徐変制御を継続する。目標電流デューティが０以下であると判断された場合（Ｓ２４２：ＹＥＳ）、Ｓ４２５へ移行し、Ｓ４０３と同様、スタンバイフラグをセットする。
【００７４】
本実施形態のモータ駆動処理を図１３のタイムチャートに基づいて説明する。時刻ｘ１５までの処理は、図１１と同様である。速度０点計時タイマＴｔｉｍｅが速度０点推定時間Ｔｚｅｒｏとなる時刻ｘ１５にて、電流制御許可フラグがセットされ、電流制御の変更が許容される。本実施形態では、電流制御の変更として、目標電流デューティを徐変させる。そして、目標電流デューティが０となる時刻ｘ１６にて、駆動モードをスタンバイモードとし、通電をオフにする。
【００７５】
本実施形態では、通電制御部５５は、速度０点から電流を徐変させる。これにより、モータ１０を精度よく停止させることができる。また上記実施形態と同様の効果を奏する。
【００７６】
（第３実施形態）
第３実施形態を図１４〜図１６に示す。本実施形態の電流制御処理を図１４のフローチャートに基づいて説明する。この処理は、図１０の処理と同様、所定の周期（例えば１［ｍｓ］）にて実行される。Ｓ４５１およびＳ４５２の処理は、図１０中のＳ４０１およびＳ４０２の処理と同様である。
【００７７】
Ｓ４５２にて、電流制御許可フラグがセットされていると判断された場合（Ｓ４５２：ＹＥＳ）に移行するＳ４５３では、ＥＣＵ５０は、中心通過カウンタＣｐａｓｓが繰り返し数Ｃｔｈ以下か否かを判断する。繰り返し数Ｃｔｈは任意に設定可能であって、本実施形態では、繰り返し数Ｃｔｈ＝３として説明する。中心通過カウンタＣｐａｓｓが繰り返し数Ｃｔｈより大きいと判断された場合（Ｓ４５３：ＮＯ）、Ｓ４５６へ移行する。中心通過カウンタＣｐａｓｓが繰り返し数Ｃｔｈ以下であると判断された場合（Ｓ４５３：ＹＥＳ）、Ｓ４５４へ移行する。
【００７８】
Ｓ４５４では、ＥＣＵ５０は、目標電流デューティが０以下か否かを判断する。目標電流デューティが０以下であると判断された場合（Ｓ４５４：ＹＥＳ）、Ｓ４５７へ移行する。目標電流デューティが０より大きいと判断された場合（Ｓ４５４：ＮＯ）、Ｓ４５５へ移行し、目標電流デューティを、前回値−漸減値Ｄｒ(例えば１０「％」)とする。漸減値Ｄｒは、任意に設定可能であって、固定値としてもよいし、中心通過カウンタＣｐａｓｓ等に応じて可変としてもよい。
【００７９】
中心通過カウンタＣｐａｓｓが繰り返し数Ｃｔｈより大きいと判断された場合（Ｓ４５３：ＮＯ）に移行するＳ４５６では、目標電流デューティを０にする。Ｓ４５７では、ＥＣＵ５０は、スタンバイフラグをオンにする。Ｓ４５５またはＳ４５７に続いて移行するＳ４５８では、電流制御許可フラグをオフにする。なお、上記実施形態においても、本実施形態のように、スタンバイフラグをオンにした後、電流制御許可フラグをリセットしてもよい。
【００８０】
本実施形態のモータ駆動処理を図１５および図１６に基づいて説明する。図１５では、時刻ｘ２０〜ｘ２５の処理は、図１１中のｘ１０〜ｘ１５の処理と同様であって、時刻ｘ２０にて、駆動モードが停止モードに切り替わると、中心通過カウンタＣｐａｓｓを１とする。また、エンコーダエッジが検出されるごとに、周期推定時間Ｔｃにエッジ間経過時間Ｔｅｄｇが加算される。
【００８１】
時刻ｘ２４にて、ロータ１０５の回転方向が逆転している状態にて、エンコーダカウント値ＣＮＴが（ＣＮＴ＿Ｓ−１）になると、時刻ｘ２０から時刻ｘ２４に相当する周期推定時間Ｔｃをロータ１０５の振動周期Ｔ１とみなし、速度０点推定時間Ｔｚｅｒｏ＝（Ｔ１）／２を演算する。また、中心通過カウンタＣｐａｓｓをインクリメントし、カウント値を２とする。
【００８２】
時刻ｘ２４から計時を開始する速度０点計時タイマＴｔｉｍｅが速度０点推定時間Ｔｚｅｒｏとなる時刻ｘ２５では、電流制御許可フラグをセットし、目標電流デューティを固定相通電デューティＤａから、漸減値Ｄｒの分、小さくし、電流制御許可フラグをリセットする。
【００８３】
時刻ｘ２４にて、速度０点推定時間Ｔｚｅｒｏを演算し、周期推定時間Ｔｃをリセットした後、再度、エンコーダエッジ検出毎に、エッジ間経過時間Ｔｅｄｇを加算する。時刻ｘ２５にてロータ１０５の回転方向が変わり、再度正回転方向となる。時刻ｘ２６にて、ロータ１０５が正方向に回転している状態にて、エンコーダカウント値ＣＮＴがＣＮＴ＿Ｓになると、ロータ１０５が振動中心Ｌｃに位置していると推定されるので、時刻ｘ２４から時刻ｘ２６に相当する周期推定時間Ｔｃをロータ１０５の振動周期Ｔ２とみなし、速度０点推定時間Ｔｚｅｒｏ＝（Ｔ２）／２を演算する。また、中心通過カウンタＣｐａｓｓをインクリメントし、カウント値を３とする。
【００８４】
時刻ｘ２６から計時を開始する速度０点計時タイマＴｔｉｍｅが速度０点推定時間Ｔｚｅｒｏとなる時刻ｘ２７では、電流制御許可フラグをセットし、目標電流デューティを、さらに漸減値Ｄｒの分、さらに小さくし、電流制御許可フラグをリセットする。
【００８５】
時刻ｘ２７にてロータ１０５の回転方向が変わると、ロータ１０５の回転方向は、再度逆回転方向となる。時刻ｘ２８にて、ロータ１０５が逆転している状態にて、エンコーダカウント値ＣＮＴが（ＣＮＴ＿Ｓ−１）になる。なお、時刻ｘ２６から時刻ｘ２８では、エンコーダカウント値ＣＮＴはＣＮＴ＿Ｓから変化しない。時刻ｘ２８では、時刻ｘ２６から時刻ｘ２８に相当する周期推定時間Ｔｃをロータ１０５の振動周期Ｔ３とみなし、速度０点推定時間Ｔｚｅｒｏ＝（Ｔ３）／２を演算する。また、中心通過カウンタＣｐａｓｓをインクリメントし、カウント値を４とする。
【００８６】
時刻ｘ２８から計時を開始する速度０点計時タイマＴｔｉｍｅが速度０点推定時間Ｔｚｅｒｏとなる時刻ｘ２９では、電流制御許可フラグをセットする。本実施形態では、繰り返し数Ｃｔｈが３に設定されており、時刻ｘ２９での中心通過カウンタＣｐａｓｓのカウント値が４であって、繰り返し数Ｃｔｈより大きいので、スタンバイフラグをセットしてスタンバイモードに移行し、通電をオフにする。本実施形態では、ロータ１０５が所定回数（この例では４回）、振動中心Ｌｃを通る、すなわち中心通過カウンタＣｐａｓｓが繰り返し数Ｃｔｈを超える、または、目標電流デューティが０になった場合、スタンバイに移行する。
【００８７】
本実施形態では、ロータ１０５の回転速度が０であると推定されるタイミングにて、電流を段階的に落としていくことで、振動エネルギを低減させ、ロータ１０５を徐々に停止させる。これにより、マイコンの処理時間や回転角センサ１３の組み付けや着磁のばらつきなどが重なったとしても、ロータ１０５を精度よく停止させることができる。
【００８８】
図１６は、停止制御におけるロータ１０５の振動周期が大きく、振幅が小さい場合の例である。時刻ｘ３０での処理は、図１１中の時刻ｘ１０と同様である。時刻ｘ３１にてロータ１０５が反転し、逆回転方向となり、時刻ｘ３２にて、ロータ１０５が逆転している状態にて、エンコーダカウント値ＣＮＴが（ＣＮＴ＿Ｓ−１）になる。なお、時刻ｘ３０から時刻ｘ３２では、エンコーダカウント値ＣＮＴはＣＮＴ＿Ｓから変化しない。時刻ｘ３０から時刻３２に相当する周期推定時間Ｔｃをロータ１０５の振動周期Ｔ５とみなし、速度０点推定時間Ｔｚｅｒｏ＝（Ｔ５）／２を演算する。また、中心通過カウンタＣｐａｓｓをインクリメントし、カウント値を２とする。
【００８９】
時刻ｘ３２から計時を開始する速度０点計時タイマＴｔｉｍｅが速度０点推定時間Ｔｚｅｒｏとなる時刻ｘ３３では、通電制御許可フラグをセットし、目標電流デューティを固定相通電デューティＤａから、漸減値Ｄｒの分、小さくし、電流制御許可フラグをリセットする。
【００９０】
時刻ｘ３３にてロータ１０５の回転方向が変わると、ロータ１０５の回転方向が正回転方向となる。時刻ｘ３４にて、ロータ１０５が正回転している状態にて、エンコーダカウント値ＣＮＴがＣＮＴ＿Ｓになる。なお、時刻ｘ３２から時刻ｘ３４では、エンコーダカウント値ＣＮＴは（ＣＮＴ＿Ｓ−１）から変化しない。時刻ｘ３４では、時刻ｘ３２から時刻３４に相当する周期推定時間Ｔｃをロータ１０５の振動周期Ｔ６とみなし、速度０点推定時間Ｔｚｅｒｏ＝（Ｔ６）／２を演算する。また、中心通過カウンタＣｐａｓｓをインクリメントし、カウント値を３とする。
【００９１】
時刻ｘ３４から計時を開始する速度０点計時タイマＴｔｉｍｅが速度０点推定時間Ｔｚｅｒｏに到達する前のタイミングである時刻ｘ３５において、停止モードを開始した時刻ｘ３０からの経過時間Ｔｓｔｐが経過判定閾値Ｔｓｔｐ＿ｔｈとなるので、スタンバイモードに移行し、通電をオフにする。
【００９２】
図１６にて説明したように、ロータ１０５の振動周期や振幅によっては、速度ゼロ点を推定できない、或いは、推定に時間がかかることがある。本実施形態では、停止制御開始からの経過時間Ｔｓｔｐが経過判定閾値Ｔｓｔｐ＿ｔｈを超えた場合には、速度０点によらず、スタンバイモードに移行することで、停止モードを適切に終了させることができる。上記実施形態においても、同様である。
【００９３】
本実施形態では、通電制御部５５は、速度０点において、段階的に電流を低減させる。本実施形態では、目標電流デューティを漸減値Ｄｒずつ小さくしていくことで、段階的に電流を低減させる。これにより、シフトバイワイヤシステム１の組み付け等のばらつきや、制御のばらつきがある場合であっても、振動エネルギを低減させていくことで、モータ１０を適切に停止させることができる。
【００９４】
通電制御部５５は、ロータ１０５が振動中心を通過した回数が所定回数以上となった場合、速度０点にて通電をオフにする。これにより、停止制御を適切に終了させることができる。また、通電制御部５５は、停止制御を開始してからの経過時間Ｔｓｔｐが、経過判定閾値Ｔｓｔｐ＿ｔｈを超えた場合、速度０点によらず、通電をオフにする。これにより、ロータ１０５が振動しなかった場合や、振動周期や振幅により速度０点が推定できない、あるいは推定に時間を要する場合であっても、停止制御を適切に終了させることができる。
【００９５】
（第４実施形態）
第４実施形態を図１７に示す。上記実施形態では、回転角センサ１３がエンコーダであって、エンコーダ信号のエッジ、および、これに基づくエンコーダカウント値ＣＮＴに基づいて速度０点を推定する。本実施形態の回転角センサ１３は、モータ角度としてロータ変位量θｉを検出するリニアセンサであって、リニアセンサの検出値に基づいて速度０点を推定する。本実施形態では、速度０点の推定方法を中心に説明し、電流制御等の説明は省略する。なお、速度０点での電流制御は、いずれの実施形態のものとしてもよい。
【００９６】
本実施形態の速度０点推定処理を図１７のフローチャートに基づいて説明する。この処理は、所定の周期（例えば１［ｍｓ］）にて実行される。なお、本実施形態では、図７中のＳ１０７にて、停止制御開始カウントＣＮＴ＿Ｓに替えて、停止モードに遷移した際のロータ変位量θｉである停止制御開始角度θｉｎｉｔを保持しておく。
【００９７】
Ｓ２５１の処理は、図８中のＳ２０１と同様であり、駆動モードが停止モードであると判断された場合（Ｓ２５１：ＹＥＳ）に移行するＳ２５２では、ゼロ点推定部５６は、ロータ１０５が振動中心Ｌｃを通過したか否かを判断する。本実施形態では、ロータ変位量θｉおよび停止制御開始角度θｉｎｉｔに基づいて振動中心Ｌｃを通過したか否かを判断する。ロータ１０５が振動中心Ｌｃを通過していないと判断された場合（Ｓ２５２：ＮＯ）、Ｓ２５３へ移行し、周期推定時間Ｔθを演算する。具体的には、周期推定時間Ｔθの前回値に、演算周期に応じた値を加算する。ロータ１０５が振動中心Ｌｃを通過したと判断された場合（Ｓ２５２：ＹＥＳ）、Ｓ２５４へ移行し、速度０点推定時間Ｔｚｅｒｏを算出する（式（６）参照）。
【００９８】
Ｔｚｅｒｏ＝Ｔθ／２    ・・・（６）
【００９９】
Ｓ２５５の処理は、図８中のＳ２０５と同様であって、ゼロ点推定部５６は、速度０点計時タイマＴｔｉｍｅをスタートさせる。ゼロ点推定部５６は、Ｓ２５６にて周期推定時間Ｔθをリセットし、Ｓ２５７にて中心通過カウンタＣｐａｓｓをインクリメントする。
【０１００】
このように、回転角センサ１３として、エンコーダに替えて、リニアセンサを用いても、速度ゼロ点を適切に推定することができる。また上記実施形態と同様の効果を奏する。
【０１０１】
（他の実施形態）
上記実施形態では、フィードバック制御によりモータを駆動した後、停止制御を行う。他の実施形態では、停止制御を開始する前のモータ制御方法は、フィードバック制御に限らず、どのような制御としてもよい。また他の実施形態では、速度０点において、上記実施形態以外の電流制御に切り替えるようにしてもよい。
【０１０２】
上記実施形態では、モータの回転角を検出するモータ回転角センサは、３相エンコーダまたはリニアセンサである。他の実施形態では、モータ回転角センサは、２相エンコーダであってもよいし、その他、ロータの回転位置を検出可能なものであれば、どのようなものを用いてもよい。上記実施形態では、出力軸センサとしてポテンショメータを例示した。他の実施形態では、出力軸センサは、どのようなものであってもよい。また、出力軸センサを省略してもよい。
【０１０３】
上記実施形態では、モータは、永久磁石式の３相ブラシレスモータである。他の実施形態では、モータは、ＳＲモータ等、どのようなものを用いてもよい。上記実施形態では、ディテントプレートには４つの凹部が設けられる。他の実施形態では、凹部の数は４つに限らず、いくつであってもよい。例えば、ディテントプレートの凹部を２つとし、ＰレンジとｎｏｔＰレンジとを切り替えるものとしてもよい。また、シフトレンジ切替機構やパーキングロック機構等は、上記実施形態と異なっていてもよい。
【０１０４】
上記実施形態では、モータ軸と出力軸との間に減速機が設けられる。減速機の詳細について、上記実施形態では言及していないが、例えば、サイクロイド歯車、遊星歯車、モータ軸と略同軸の減速機構から駆動軸へトルクを伝達する平歯歯車を用いたものや、これらを組み合わせて用いたもの等、どのような構成であってもよい。また、他の実施形態では、モータ軸と出力軸との間の減速機を省略してもよいし、減速機以外の機構を設けてもよい。
【０１０５】
本開示に記載の制御部及びその手法は、コンピュータプログラムにより具体化された一つ乃至は複数の機能を実行するようにプログラムされたプロセッサ及びメモリを構成することによって提供された専用コンピュータにより、実現されてもよい。あるいは、本開示に記載の制御部及びその手法は、一つ以上の専用ハードウェア論理回路によってプロセッサを構成することによって提供された専用コンピュータにより、実現されてもよい。もしくは、本開示に記載の制御部及びその手法は、一つ乃至は複数の機能を実行するようにプログラムされたプロセッサ及びメモリと一つ以上のハードウェア論理回路によって構成されたプロセッサとの組み合わせにより構成された一つ以上の専用コンピュータにより、実現されてもよい。また、コンピュータプログラムは、コンピュータにより実行されるインストラクションとして、コンピュータ読み取り可能な非遷移有形記録媒体に記憶されていてもよい。以上、本発明は、上記実施形態になんら限定されるものではなく、発明の趣旨を逸脱しない範囲において種々の形態で実施可能である。
【符号の説明】
【０１０６】
１０・・・モータ          １０５・・・ロータ
１１・・・モータ巻線
１３・・・回転角センサ    １３１〜１３３・・・検出素子
４０・・・シフトレンジ制御装置
５０・・・ＥＣＵ
５１・・・角度演算部
５５・・・通電制御部
５６・・・ゼロ点推定部
【図１】
2020120547.tif 000003
【図２】
2020120547.tif 000004
【図３】
2020120547.tif 000005
【図４】
2020120547.tif 000006
【図５】
2020120547.tif 000007
【図６】
2020120547.tif 000008
【図７】
2020120547.tif 000009
【図８】
2020120547.tif 000010
【図９】
2020120547.tif 000011
【図１０】
2020120547.tif 000012
【図１１】
2020120547.tif 000013
【図１２】
2020120547.tif 000014
【図１３】
2020120547.tif 000015
【図１４】
2020120547.tif 000016
【図１５】
2020120547.tif 000017
【図１６】
2020120547.tif 000018
【図１７】
2020120547.tif 000019