(57)【要約】【課題】モータの停止位置の精度を向上させることができるシフト制御装置を提供すること。【解決手段】シフト制御装置は、３相モータを駆動させて、３相モータのコイルから発生する逆起電圧からモータの回転数パルスを生成し、生成した回転数パルスをカウントした制御用カウント数が、補正値によって補正された目標制御カウント数に達するか否かを判定する（Ｓ４，Ｓ５）。そして、シフト制御装置は、ステップＳ５にて制御用カウント数が目標制御カウント数に達したと判定されると、３相モータの駆動を停止させる（Ｓ６）。補正値は、シフト制御装置に車両搭載時の負荷を与えてモータを駆動させた状態で、３相モータの出力軸の実回転量を回転数パルスのカウント数に換算した換算値と、その状態で、逆起電圧から生成した回転数パルスをカウントした補正値用カウント数との差分である。【選択図】図２
2019196795.tif 000002
【特許請求の範囲】
【請求項１】
モータを駆動制御して、車両における駆動レンジの切替制御を行うシフト制御装置であって、
前記モータを駆動させて、前記モータのコイルから発生する逆起電圧から前記モータの回転数パルスを生成するパルス生成部（Ｓ４）と、
前記パルス生成部で生成された前記回転数パルスをカウントした制御用カウント数が、補正値によって補正された目標制御カウント数に達するか否かを判定する判定部（Ｓ５）と、
前記判定部にて前記制御用カウント数が前記目標制御カウント数に達したと判定されると、前記モータの駆動を停止させる駆動停止部（Ｓ６）と、を備え、
前記補正値は、前記シフト制御装置に車両搭載時の負荷を与えて前記モータを駆動させた状態で、前記モータの出力軸の実回転量を前記回転数パルスのカウント数に換算した換算値と、前記状態で、前記逆起電圧から生成した前記回転数パルスをカウントした補正値用カウント数と、の差分であるシフト制御装置。
【請求項２】
前記補正値は、前記換算値と前記補正値用カウント数のそれぞれを複数回取得して前記差分を求めた複数の前記差分の分布における中心値である請求項１に記載のシフト制御装置。
【請求項３】
前記補正値は、前記モータにおけるロータの停止位置を区別して、前記区分毎に前記換算値と前記補正値用カウント数のそれぞれを複数回取得して前記差分を求めた複数の前記差分の分布における中心値である請求項２に記載のシフト制御装置。
【請求項４】
さらに、前記判定部での判定の前に、補正前目標制御カウント数を前記補正値によって補正して前記目標制御カウント数を求める補正部（Ｓ２、Ｓ２ａ、Ｓ３）を備えている請求項１乃至３のいずれか一項に記載のシフト制御装置。
【請求項５】
前記補正値は、環境温度を変動させて求められた、前記換算値と前記補正値用カウント数との前記差分であり、対応する各環境温度と関連付けられており、
前記補正部は、前記環境温度を取得し、取得した前記環境温度に対応した前記補正値を求め、求めた前記補正値によって、前記判定部で用いられる前記目標制御カウント数を補正する請求項４に記載のシフト制御装置。
【請求項６】
前記補正値は、前記モータを駆動するための電源電圧を変動させて求められた、前記換算値と前記補正値用カウント数との前記差分であり、対応する各電源電圧と関連付けられており、
前記補正部は、前記電源電圧を取得し、取得した前記電源電圧に対応した前記補正値を求め、求めた前記補正値によって、前記判定部で用いられる前記目標制御カウント数を補正する請求項４に記載のシフト制御装置。
【請求項７】
さらに、前記判定部で用いられる前記補正値によって補正された前記目標制御カウント数を記憶するカウント数記憶部を備えており、
前記判定部は、前記カウント数記憶部から前記目標制御カウント数を読み込んで、前記制御用カウント数が前記目標制御カウント数に達するか否かを判定する請求項１乃至３のいずれか一項に記載のシフト制御装置。
【請求項８】
前記パルス生成部、前記判定部、前記駆動停止部を含むモータ制御部と、
前記モータ制御部と別体に設けられ、前記モータと、前記モータにおける実際の回転量に対応する回転数パルスのカウント数と前記制御用カウント数とのずれ特性を推定するためのモータばらつき情報を示す特性情報を記憶している記憶部とを含むモータ部と、
値が異なる複数の前記補正値と、を備え、
前記モータ制御部は、前記判定部での判定の前に、前記記憶部から前記特性情報を取得し、取得した前記特性情報に基づいて、複数の前記補正値から前記モータに適した前記補正値を選択するとともに、補正前目標制御カウント数を前記補正値によって補正して前記目標制御カウント数を求める補正部を含んでいる請求項１又は２に記載のシフト制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、シフト制御装置に関する。
【背景技術】
【０００２】
従来、シフト制御装置の一例として、特許文献１に開示されたシフトバイワイヤ装置がある。このシフトバイワイヤ装置は、駆動レンジ切替を正確に行うために、ロータ位置の把握に用いるホールセンサの出力切替数をカウントすることでモータ回転量を把握している。そして、シフトバイワイヤ装置は、目標制御カウント数でモータ回転を停止させることで、シャフト停止角度の高精度な制御を実現している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−２２３３５５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１では、高精度なシャフト停止制御の実現にホールセンサが必要となるため、ホールセンサの基板実装上の制約が課される上に、ホールセンサ分の消費電力が増加する。さらに、特許文献１では、ホールセンサに磁界を伝えるためのセンサマグネットが必要になるため、加工の複雑化やシステムトータルコストが増加するという問題がある。
【０００５】
従来技術ではないが、これらの問題点を解決するためには、モータコイルから発生する逆起電圧を元に制御するセンサレス駆動方式を採用することが考えられる。しかしながら、センサレス駆動方式では、モータの回転速度が遅いと逆起電圧が小さくなり、モータ回転始動時や停止時の低回転時に、逆起電圧からモータの回転数パルスを生成することができない。このため、センサレス駆動方式では、モータの実回転量が目標回転量とずれてシャフト停止角度の精度、すなわちモータの停止位置の精度が悪化してしまうという問題が生じる。
【０００６】
本開示は、上記問題点に鑑みなされたものであり、モータの停止位置の精度を向上させることができるシフト制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために本開示は、
モータを駆動制御して、車両における駆動レンジの切替制御を行うシフト制御装置であって、
モータを駆動させて、モータのコイルから発生する逆起電圧からモータの回転数パルスを生成するパルス生成部（Ｓ４）と、
パルス生成部で生成された回転数パルスをカウントした制御用カウント数が、補正値によって補正された目標制御カウント数に達するか否かを判定する判定部（Ｓ５）と、
判定部にて制御用カウント数が目標制御カウント数に達したと判定されると、モータの駆動を停止させる駆動停止部（Ｓ６）と、を備え、
補正値は、シフト制御装置に車両搭載時の負荷を与えてモータを駆動させた状態で、モータの出力軸の実回転量を回転数パルスのカウント数に換算した換算値と、その状態で、逆起電圧から生成した回転数パルスをカウントした補正値用カウント数と、の差分であるシフト制御装置。
【０００８】
本開示は、モータが低回転であるために逆起電圧が小さく回転数パルスを生成できない場合、モータが回転しているにもかかわらず回転数パルスをカウントできない。そこで、本開示は、上記のように換算値と補正値用カウント数との差分を補正値とすることで、このカウントできない分を補正値とすることができる。そして、本開示は、この補正値によって判定部で用いられる目標制御カウント数を補正するため、モータが回転しているにもかかわらず回転数パルスをカウントできない場合であっても、カウント数と目標制御カウント数とのずれを抑制できる。よって、本開示は、逆起電圧から生成した回転数パルスのカウント数を用いて駆動レンジを切り替える構成において、モータの停止位置の精度を向上させることができる。
【０００９】
なお、特許請求の範囲、及びこの項に記載した括弧内の符号は、一つの態様として後述する実施形態に記載の具体的手段との対応関係を示すものであって、本開示の技術的範囲を限定するものではない。
【図面の簡単な説明】
【００１０】
【図１】第１実施形態におけるシフト制御装置の概略構成を示すブロック図である。
【図２】第１実施形態におけるシフト制御装置の処理動作を示すフローチャートである。
【図３】第１実施形態におけるシフト制御装置と比較例の回転数パルスとモータ回転量の関係を示す図面である。
【図４】第１実施形態におけるシフト制御装置とばらつき測定部との概略構成を示すブロック図である。
【図５】第１実施形態におけるばらつき測定部の処理動作を示すフローチャートである。
【図６】第２実施形態におけるばらつき測定部の処理動作を示すフローチャートである。
【図７】第２実施形態におけるばらつき測定部と比較例の差分の分布を示す図面である。
【図８】第３実施形態におけるシフト制御装置の概略構成を示すブロック図である。
【図９】第３実施形態におけるシフト制御装置の処理動作を示すフローチャートである。
【図１０】第３実施形態におけるばらつき測定部の処理動作を示すフローチャートである。
【図１１】シフト制御装置の回転数パルスが生成されるまでのモータ回転量のばらつきを示す図面である。
【発明を実施するための形態】
【００１１】
以下において、図面を参照しながら、本開示を実施するための複数の形態を説明する。各形態において、先行する形態で説明した事項に対応する部分には同一の参照符号を付して重複する説明を省略する場合がある。各形態において、構成の一部のみを説明している場合は、構成の他の部分については先行して説明した他の形態を参照し適用することができる。
【００１２】
（第１実施形態）
図１〜図５を用いて、第１実施形態のシフト制御装置１００に関して説明する。シフト制御装置１００は、モータとして３相モータ５１を駆動制御して、車両における駆動レンジの切替制御を行う。特に、本開示は、３相モータ５１の回転量を把握するためのホールセンサを用いることなく、３相モータ５１のコイルであるモータコイルから発生する逆起電圧を元に３相モータ５１を駆動制御するセンサレス駆動方式のシフト制御装置１００である。なお、本実施形態では、一例として、駆動レンジをＰレンジ、Ｒレンジ、Ｎレンジ、Ｄレンジにおいて切り替えるシフト制御装置１００を採用する。本開示は、これに限定されず、駆動レンジを切り替える機能を備えていればよい。
【００１３】
まず、図１を用いて、シフト制御装置１００の構成に関して説明する。シフト制御装置１００は、モータ制御部１０とモータ部５０とを含んでいる。また、シフト制御装置１００は、レンジ制御部２００と電気的に接続されており、且つ、シャフト３００を介して駆動レンジ切替機構４００と機械的に接続されている。
【００１４】
特に、本実施形態では、一例として、モータ制御部１０とモータ部５０とが一体的に構成されたシフト制御装置１００を採用している。つまり、シフト制御装置１００は、モータ制御部１０とモータ部５０とが一体的に組み付けられた機電一体型の装置である。
【００１５】
レンジ制御部２００は、駆動レンジ切替指示部２１０を含んでいる。駆動レンジ切替指示部２１０は、ドライバによって操作されるシフトレバーなどのレンジ切替操作部の状態に応じて目標レンジに検出し、この目標レンジを示す駆動指示を出力する。なお、目標レンジは、ドライバが希望するレンジであり、本実施形態においては、Ｐレンジ、Ｒレンジ、Ｎレンジ、Ｄレンジに該当する。駆動指示は、目標レンジへの切り替えを指示する信号とも言える。よって、駆動指示は、Ｐレンジへの切り替えを指示する信号や、Ｄレンジへの切り替えを指示する信号などである。また、操作部の状態とは、例えば、シフトレバーの位置などである。
【００１６】
駆動レンジ切替機構４００は、シャフト３００が機械的に接続されシャフト３００を回転軸として回転可能なディテントプレートなどを含んでいる。シャフト３００は、３相モータ５１のロータと機械的に接続されている。よって、駆動レンジ切替機構４００（ディテントプレート）は、３相モータ５１の回転がシャフト３００を介して伝達される。なお、シャフト３００は、３相モータ５１の回転軸や、出力軸とも言える。ディテントプレートの動きは、駆動力伝達部５００に伝達される。シフト制御装置１００は、３相モータ５１を回転させて駆動レンジ切替機構４００及び駆動力伝達部５００を動作させることで、駆動レンジを切り替える。
【００１７】
モータ制御部１０は、モータを駆動制御する電子制御装置（Electronic Control Unit）である。モータ制御部１０は、少なくとも一つの演算処理装置（ＣＰＵ）と、プログラムとデータとを記憶する記憶媒体としての少なくとも一つのメモリ装置（ＭＭＲ）とを有する。制御装置は、コンピュータによって読み取り可能な記憶媒体を備えるマイクロコンピュータによって提供される。記憶媒体は、コンピュータによって読み取り可能なプログラムを非一時的に格納している。記憶媒体は、半導体メモリ又は磁気ディスクなどによって提供されうる。制御装置は、一つのコンピュータ、又はデータ通信装置によってリンクされた一組のコンピュータ資源によって提供されうる。プログラムは、制御装置によって実行されることによって、制御装置をこの明細書に記載される装置として機能させ、この明細書に記載される方法を実行するように制御装置を機能させる。制御装置は、多様な要素を提供する。それらの要素の少なくとも一部は、機能を実行するための手段と呼ぶことができ、別の観点では、それらの要素の少なくとも一部は、構成的なブロック、又はモジュールと呼ぶことができる。
【００１８】
なお、モータ制御部１０が提供する手段及び機能は、実体的なメモリ装置に記録されたソフトウェア及びそれを実行するコンピュータ、ソフトウェアのみ、ハードウェアのみ、あるいはそれらの組み合わせによって提供することができる。例えば、モータ制御部１０がハードウェアである電子回路によって提供される場合、それは多数の論理回路を含むデジタル回路、又はアナログ回路によって提供することができる。
【００１９】
具体的には、モータ制御部１０は、ＣＰＵやメモリ２５などを含むマイコン２０と、モータ駆動回路３０と、相電圧モニタ回路４０などを含んでいる。
【００２０】
マイコン２０は、目標制御値設定部２１、回転量Ｆ／Ｂ制御部２２、制御部２３、回転数パルス生成部２４を含んでいる。これらの構成要素２１〜２４は、マイコン２０が実行する機能、又は、マイコン２０が備えている機能ブロックと言える。
【００２１】
目標制御値設定部２１は、駆動レンジ切替指示部２１０からの駆動指示に応じて、目標制御値としての目標制御カウント数を設定する。この目標制御カウント数は、補正前の目標制御カウント数であり、補正前目標制御カウント数や補正前目標値とも言える。目標制御カウント数は、３相モータ５１の回転に応じて回転数パルス生成部２４が生成する回転数パルスのカウント数の目標値である。つまり、目標制御カウント数は、３相モータ５１を回転させて駆動レンジを駆動指示が示す目標レンジに切り替える際に、駆動レンジが目標レンジとなるように３相モータ５１を停止させるための目標値である。また、目標制御カウント数は、駆動レンジを駆動指示が示す目標レンジに切り替えるために必要な３相モータ５１の回転量をカウント数に換算したものとも言える。
【００２２】
しかしながら、図３（ａ）に示すように、センサレス駆動方式の場合、実際に取得される回転数パルスのカウント数は、３相モータ５１の実際の回転量（実回転量）に比例した回転数パルスのカウント数と一致しないことが起こりうる。つまり、モータ制御部１０が認識する回転量は、実回転量に対してずれが生じる。図３（ａ）の例では、タイミングｔ０で３相モータ５１が回転を開始して、タイミングｔ４で３相モータ５１の駆動終了を指示して、タイミングｔ５で３相モータ５１の回転が停止している。しかしながら、回転数パルスは、タイミングｔ１で生成が開始され、タイミングｔ４で生成が終了している。
【００２３】
よって、モータ制御部１０が認識する回転量は、目標制御カウント数を補正しない場合、実回転量よりも小さい値となってしまう。このため、例えば、目標制御カウント数が１００で、回転数パルスのカウント数が１００であった場合、３相モータ５１の実回転量に相当するカウント数が１２０などとなってしまうことがある。
【００２４】
なお、タイミングｔ０からｔ１までの回転量は、３相モータ５１が始動してから回転数パルスが生成されるまでのモータ回転量である。一方、タイミングｔ４からｔ５までの回転量は、回転数パルスが途絶えてから３相モータ５１が停止するまでのモータ回転量である。
【００２５】
これは、３相モータ５１が低回転のとき、モータコイルから発生する逆起電圧が小さく、回転数パルス生成部２４が回転数パルスを生成することができないためである。また、３相モータ５１は、回転の始動時や停止時に低回転となりやすい。
【００２６】
この点に関して、図１１を用いて詳しく説明する。センサレス駆動方式では、３相モータ５１の回転開始時にロータ位置とは無関係に３相の信号を与えるため、ロータとモータコイルの位置関係によって回転初期の動作に違いが生じる。
【００２７】
ロータ位置がモータコイルにより初期通電時に正回転する位置となっていた場合、図１１（ａ）に示すように、ロータは、正回転を開始し、ある回転速度で逆起電圧を発生させる。よって、モータ制御部１０は、ロータが回転を開始してから、ある回転速度になった時点から回転数パルスを生成することができる。このため、実際に取得される回転数パルスのカウント数は、３相モータ５１の実回転量に比例した回転数パルスのカウント数に対してずれが生じる。なお、回転数パルスの生成方法に関しては、後程説明する。
【００２８】
また、ロータ位置がモータコイルにより初期通電時に回転しない位置となっていた場合、図１１（ｂ）に示すように、ロータは、最初回転せずに、しばらく停滞するため、適切な信号が入力されても初速が遅くなる。このため、ロータは、回転数パルスを生成できる速度に達するまでに時間を要する。よって、回転数パルスを生成できるまでのモータ回転量は、増加する傾向になる。実際に取得される回転数パルスのカウント数と３相モータ５１の実回転量に比例した回転数パルスのカウント数とのずれは、上記例よりも増加する。
【００２９】
さらに、ロータ位置がモータコイルにより初期通電時に逆回転する位置となっていた場合、図１１（ｃ）に示すように、ロータは、逆回転からスタートし、あるところから正回転に移る。これにより、ロータは、逆回転した位置から元の位置に戻るまでに回転速度が上がる。このため、回転数パルスが生成されるまでのモータ回転量は、見掛け上小さくなる。よって、モータの実回転量は、目標回転量に近付く可能性が高くなる。つまり、実際に取得される回転数パルスのカウント数と３相モータ５１の実回転量に比例した回転数パルスのカウント数とのずれは、上記例よりも小さくなる可能性が高い。
【００３０】
なお、モータ回転量のばらつきは、始動してから回転数パルスが生成されるまでだけでなく、回転数パルスが途絶えてから停止するまでに対しても同様に存在する。
【００３１】
そこで、目標制御値設定部２１は、補正値記憶部２５ａに記憶された補正値を用いて目標制御カウント数を補正し、回転数パルスの目標制御カウント数として設定する。つまり、目標制御値設定部２１は、３相モータ５１を停止させるために用いる補正後の目標制御カウント数を設定する。補正後の目標制御カウント数は、補正後目標値とも言える。
【００３２】
回転量Ｆ／Ｂ制御部２２は、回転数パルス生成部２４で生成された回転数パルスのカウント数が、目標制御値設定部２１で設定した補正後の目標制御カウント数に達するまで、モータ駆動信号を制御部２３に与える。制御部２３は、相電圧モニタ回路４０の出力からロータ位置を把握し、モータ駆動回路３０へ適切な通電タイミングで出力切替を行う。
【００３３】
回転数パルス生成部２４は、相電圧モニタ回路４０で検出した信号から、回転数パルスを生成する。相電圧モニタ回路４０は、３相モータ５１の回転により、３相モータ５１の各相のモータコイルから発生する逆起電圧を検出する。よって、回転数パルス生成部２４は、３相モータ５１の各相のモータコイルから発生する逆起電圧から回転数パルスを生成する。さらに、回転量Ｆ／Ｂ制御部２２は、生成した回転数パルスをカウントする。回転量Ｆ／Ｂ制御部２２は、例えば、回転数パルスのエッジを検出することで、回転数パルスをカウントすることができる。
【００３４】
メモリ２５は、補正値記憶部２５ａを含んでいる。補正値記憶部２５ａには、後程説明する補正値が記憶されている。
【００３５】
モータ駆動回路３０は、制御部２３からの指示に基づいて、３相モータ５１を回転駆動させるとともに、３相モータ５１の回転を停止させる。
【００３６】
モータ部５０は、３相モータ５１やギア５２などを含んでいる。３相モータ５１は、モータ駆動回路３０によって回転駆動するとともに、回転を停止する。３相モータ５１は、ギア５２を介してシャフト３００と機械的に接続されており、ギア５２を介してモータ回転をシャフト３００へ伝達する。
【００３７】
なお、本実施形態では、目標制御値設定部２１、回転量Ｆ／Ｂ制御部２２、制御部２３、回転数パルス生成部２４がマイコン２０に含まれている例を採用している。しかしながら、本開示は、これに限定されない。目標制御値設定部２１、回転量Ｆ／Ｂ制御部２２、制御部２３、回転数パルス生成部２４のそれぞれは、ＩＣで代替することもできる。この点は、下記の実施形態でも同様である。
【００３８】
次に、図２、図３を用いて、シフト制御装置１００の処理動作に関して説明する。シフト制御装置１００は、駆動レンジ切替指示部２１０からの駆動レンジ切替指示があった場合に、図２のフローチャートに示す処理を開始する。
【００３９】
ステップＳ１では、駆動レンジ切替指示に応じた目標制御カウント数を設定する。目標制御値設定部２１は、駆動レンジ切替指示部２１０からの駆動指示に応じて、目標制御カウント数を設定する。ここでは、目標制御値設定部２１は、補正前の目標制御カウント数を設定する。
【００４０】
ステップＳ２では、補正値を読み込む（補正部）。目標制御値設定部２１は、補正値記憶部２５ａから補正値を読み込む。補正値は、回転量Ｆ／Ｂ制御部２２が、３相モータ５１の実回転量に対応する回転数パルスのカウント数と、実際に取得される回転数パルスのカウント数とのずれを補正するための値である。補正値は、シフト制御装置１００に車両搭載時の負荷を与えて３相モータ５１を駆動させた状態（実装状態）で測定された値に基づいて設定されている。補正値は、実装状態で、３相モータ５１の出力軸の実回転量を回転数パルスのカウント数に換算した換算値と、実装状態で、逆起電圧から生成した回転数パルスをカウントした補正値用カウント数と、の差分である。補正値の設定方法に関しては、後程詳しく説明する。言い換えると、補正値は、モータ制御部１０が認識することができない回転数パルスのカウント数に相当する。
【００４１】
なお、車両搭載時の負荷を与えて３相モータ５１を駆動させた状態とは、シフト制御装置１００を車両に搭載したときと同等の負荷を与えて３相モータ５１を駆動させた状態である。また、この状態は、シフト制御装置１００を実際に使用する際と同等の負荷を与えて３相モータ５１を駆動させた状態と言い換えることもできる。
【００４２】
なお、補正値は、換算値と補正値用カウント数のそれぞれを複数回取得して差分を求めた複数の差分の分布における中心値を採用すると好ましい。回転数パルスを生成できない期間の３相モータ５１の回転量は、ばらつく。このばらつきは、完全にゼロにすることが困難である。このため、差分もばらつくことになる。この差分のばらつきに関しても、完全にゼロにすることができない。
【００４３】
そこで、シフト制御装置１００は、複数の差分をとり、複数の差分の分布における中心値を補正値とすると好ましい。言い換えると、シフト制御装置１００は、統計処理した差分の分布における中心値を補正値とすると好ましい。これによって、シフト制御装置１００は、補正値の精度を向上することができる。つまり、シフト制御装置１００は、３相モータ５１が回転しているにもかかわらず回転数パルスをカウントできない分のカウント値と、補正値との乖離を抑制できる。
【００４４】
しかしながら、本開示は、これに限定されない。補正値は、一つの換算値と一つの補正値用カウント数との差分であっても採用できる。
【００４５】
ステップＳ３では、補正後の目標制御カウント数を算出する（補正部）。目標制御値設定部２１は、ステップＳ１で設定した補正前の目標制御カウント数から、補正値を減算することで、補正後の目標制御カウント数を算出する。
【００４６】
ステップＳ４では、モータ駆動を開始し、回転数パルスを生成する（パルス生成部）。回転量Ｆ／Ｂ制御部２２及び制御部２３は、モータ駆動回路３０を介して３相モータ５１を駆動させる。そして、回転数パルス生成部２４は、相電圧モニタ回路４０で検出された逆起電圧から、３相モータ５１の回転数パルスを生成する。なお、ここでの逆起電圧は、上記のように、３相モータ５１のモータコイルから発生する逆起電圧である。
【００４７】
ステップＳ５では、回転数パルスのカウント数が補正後の目標制御カウント数に達したか否かを判定する（判定部）。回転量Ｆ／Ｂ制御部２２は、回転数パルス生成部２４で生成された回転数パルスをカウントする。ここでのカウント数は、制御用カウント数と言える。回転量Ｆ／Ｂ制御部２２は、回転数パルスをカウントした制御用カウント数が、補正値によって補正された目標制御カウント数に達しているか否かを判定する。つまり、回転量Ｆ／Ｂ制御部２２は、制御用カウント数が、目標制御値設定部２１で設定した補正後の目標制御カウント数に達しているか否かを判定する。
【００４８】
また、回転量Ｆ／Ｂ制御部２２は、制御用カウント数が、補正後の目標制御カウント数に達するまで、モータ駆動信号を制御部２３に与える。よって、３相モータ５１は、制御用カウント数が、補正後の目標制御カウント数に達するまで回転を継続することになる。
【００４９】
そして、回転量Ｆ／Ｂ制御部２２は、制御用カウント数が、補正後の目標制御カウント数に達していると判定した場合はステップＳ６へ進み、達していると判定していない場合はステップＳ５での判定を繰り返す。
【００５０】
ステップＳ６では、モータ駆動を停止する（駆動停止部）。回転量Ｆ／Ｂ制御部２２は、ステップＳ５にて制御用カウント数が目標制御カウント数に達したと判定すると、３相モータ５１の駆動を停止させることで駆動レンジを切り替える。つまり、回転量Ｆ／Ｂ制御部２２は、制御用カウント数が、補正後の目標制御カウント数に達すると、制御部２３へのモータ駆動信号を停止する。
【００５１】
シフト制御装置１００は、３相モータ５１が低回転であるために逆起電圧が小さく回転数パルスを生成できない場合、３相モータ５１が回転しているにもかかわらず回転数パルスをカウントできない。そこで、シフト制御装置１００は、上記のように換算値と補正値用カウント数との差分を補正値とすることで、このカウントできない分を補正値とすることができる。そして、シフト制御装置１００は、この補正値によってステップＳ６で用いられる目標制御カウント数を補正するため、３相モータ５１が回転しているにもかかわらず回転数パルスをカウントできない場合であっても、カウント数と目標制御カウント数とのずれを抑制できる。よって、シフト制御装置１００は、逆起電圧から生成した回転数パルスのカウント数を用いて駆動レンジを切り替える構成において、３相モータ５１の停止位置の精度を向上させることができる。
【００５２】
図３（ｂ）に示すように、目標制御カウント数を補正値で補正することで、狙い通りに３相モータ５１の停止位置を制御することができる。図３（ｂ）の例では、タイミングｔ０で３相モータ５１が回転を開始して、タイミングｔ２で３相モータ５１の駆動終了を指示して、タイミングｔ３で３相モータ５１の回転が停止している。例えば、補正前の目標制御カウント数が１００で補正値が１０の場合、補正後の目標制御カウント数は９０となる。この場合、回転数パルスのカウント数が９０のときに駆動終了を指示することで、回転数パルスのカウント数１００に相当する実回転量の時点で３相モータ５１を停止させることができる。つまり、目標制御値設定部２１は、補正前の目標制御カウント数を補正値で補正することで、実回転量又は本来の目標回転量に合致した（適した）目標制御カウント数とすることができる。
【００５３】
なお、図３（ｂ）においては、回転量Ｆ／Ｂ制御部２２が取得できる回転数パルスのカウント数は、補正後の目標制御カウント数に相当する。一方、本来取得すべき回転数パルスのカウント数は、実回転量に比例したカウント数と言える。
【００５４】
ここで、図４、図５を用いて、ばらつき測定部６００に関して説明する。ばらつき測定部６００は、シフト制御装置１００における、３相モータ５１の実回転量に比例した回転数パルスのカウント数と、実際に取得される回転数パルスのカウント数との差分のばらつきを推定する装置である。言い換えると、ばらつき測定部６００は、シフト制御装置１００における、３相モータ５１の実回転量に対応する回転数パルスのカウント数と、実際に取得される回転数パルスのカウント数のずれを測定する装置である。
【００５５】
図４に示すように、ばらつき測定部６００は、シフト制御装置１００に取り付けられて、ばらつきを測定する。つまり、ばらつき測定部６００は、シフト制御装置１００と電気的に接続され、且つ、シャフト６６０を介してギア５２と機械的に接続されている。また、ばらつき測定部６００は、３相モータ５１の回転がシャフト６６０に伝達されるように、シフト制御装置１００に取り付けられている。
【００５６】
例えば、シフト制御装置１００は、出荷前などに、ばらつき測定部６００でばらつきを測定し、補正値を補正値記憶部２５ａに記憶させて出荷される。なお、本開示では、３相モータ５１の停止位置の精度を向上させるために、個々のシフト制御装置１００（製品）に対して補正値の推定が必要になる。このため、ばらつき測定部６００の計測対象のシフト制御装置１００は、全て出荷前の実際の製品を用いる。
【００５７】
ばらつき測定部６００は、演算処理装置や記憶部などを備えている。図４に示すように、ばらつき測定部６００は、機能ブロックとして、出力軸角度センサ６１０、パルスカウント部６２０、比較部６３０、補正値推定部６４０、補正値測定指示部６５０、トルク発生器６７０を備えている。なお、以下におけるシフト制御装置１００の構成要件に関する動作は、シフト制御装置１００にばらつき測定部６００が取り付けられた状態での動作を示している。
【００５８】
トルク発生器６７０は、ばらつきを測定する際に、シフト制御装置１００に対して実際の車両環境と同等の負荷を与えることで、回転数パルスが生成されるまでの３相モータ５１の回転量を車両搭載時に近付けるために設けられている。トルク発生器６７０は、補正値測定指示部６５０が指示した条件における車両搭載時の実負荷を模擬した逆方向のトルクをシャフト６６０に与える。また、実際の駆動レンジ切替機構４００等を負荷として、トルク発生器６７０の代わりに接続して測定を実施しても良い。
【００５９】
ばらつき測定部６００は、環境条件を予め設定した後、ばらつき測定部６００内の補正値測定指示部６５０が３相モータ５１の回転駆動指示を出す。これによって、ばらつき測定部６００は、モータ制御部１０内の目標制御値設定部２１が回転駆動指示に応じた回転数パルスの目標制御カウント数を設定するようにする。ここで、補正値測定指示部６５０が目標制御カウント数を目標制御値設定部２１に直接指示しても良い。
【００６０】
回転量Ｆ／Ｂ制御部２２は、回転数パルス生成部２４で生成された回転数パルスのカウント数が設定した目標制御カウント数に達するまで、モータ駆動信号を制御部２３に与える。また、回転数パルス生成部２４は、上記と同様に、相電圧モニタ回路４０で検出された信号から回転数パルスを生成する。
【００６１】
パルスカウント部６２０は、３相モータ５１の実回転量を把握するため、シャフト６６０の回転角度（出力軸角度）をモニタする出力軸角度センサ６１０の出力を元に、３相モータ５１の実回転量に相当する回転数パルスのカウント数を算出している。ただし、出力軸角度センサ６１０は、シャフト６６０ではなくギア５２等の回転角度をモニタしても良い。
【００６２】
比較部６３０は、回転数パルス生成部２４で生成された回転数パルスをカウントする。比較部６３０は、回転数パルス生成部２４で生成された回転数パルスのカウント数が、目標制御カウント数に達して３相モータ５１の駆動が停止した後に、回転数パルスのカウント数を、パルスカウント部６２０のカウント数と比較する。ここで、回転数パルスのカウント数は、補正値測定指示部６５０が与えた目標制御カウント数に相当する。補正値推定部６４０は、比較部６３０の比較結果で補正値を推定する。そして、補正値推定部６４０は、推定した補正値を補正値記憶部２５ａに書き込む。
【００６３】
ここで、図５を用いて、ばらつき測定部６００の処理動作に関して説明する。ばらつき測定部６００は、シフト制御装置１００に取り付けられた状態で、測定開始の指示がなされると、図５のフローチャートに示す処理を開始する。
【００６４】
ステップＳ１０では、環境条件を設定する。補正値測定指示部６５０は、例えば、３相モータ５１の駆動電圧を特定の値に設定したり、シフト制御装置１００が搭載される環境温度を特定の値に設定したりする。また、補正値測定指示部６５０は、トルク発生器６７０に対してシャフト６６０に与えるトルクを指示する。
【００６５】
ステップＳ１１では、出力軸角度と回転数パルスのモニタを開始する。パルスカウント部６２０は、出力軸角度センサ６１０による出力軸角度のモニタを開始する。また、比較部６３０による、回転数パルスのカウントを開始する。
【００６６】
ステップＳ１２では、３相モータの回転駆動指示を行う。補正値測定指示部６５０は、３相モータ５１の回転駆動指示を目標制御値設定部２１に与える。ここで、補正値測定指示部６５０が目標制御カウント数を目標制御値設定部２１に直接指示してもよい。
【００６７】
ステップＳ１３では、指示に応じた目標制御カウント数Ｃを設定する。目標制御値設定部２１は、補正値測定指示部６５０からの回転駆動指示に応じた回転数パルスの目標制御カウント数Ｃを設定する。
【００６８】
ステップＳ１４では、回転数パルスのカウント数が目標制御カウント数Ｃになるまで駆動する。シフト制御装置１００は、上記と同様に、回転量Ｆ／Ｂ制御部２２、制御部２３、モータ駆動回路３０を介して３相モータ５１を回転させる。そして、シフト制御装置１００は、回転量Ｆ／Ｂ制御部２２でカウントしている回転数パルスのカウント数が目標制御カウント数Ｃに達するまで、３相モータ５１を回転させる。なお、ここでのカウント数は、補正値を生成するための値であり、補正値用カウント数に相当する。
【００６９】
ステップＳ１５では、駆動を停止する。シフト制御装置１００は、回転量Ｆ／Ｂ制御部２２でカウントしている回転数パルスのカウント数が目標制御カウント数Ｃに達すると、３相モータ５１の駆動を停止する。
【００７０】
ばらつき測定部６００は、シフト制御装置１００が３相モータ５１を回転させている間、出力軸角度センサ６１０がシャフト６６０の回転角度をモニタする。つまり、出力軸角度センサ６１０は、３相モータ５１の駆動開始から停止までにシャフト６６０が回転した角度Ａを取得できる。
【００７１】
ステップＳ１６では、駆動開始から停止までにシャフトが回転した角度である回転角度Ａを取得する。パルスカウント部６２０は、出力軸角度センサ６１０から回転角度Ａを取得する。なお、回転角度Ａの取得は、回転数パルスが途絶えてからのモータ回転量を加味するため、モータ駆動が完全に停止したと推定できる十分な時間が経過した後に実施すると好ましい。
【００７２】
ステップＳ１７では、回転角度Ａから３相モータの実回転量に相当する回転数パルスのカウント数Ａ１を算出する。パルスカウント部６２０は、出力軸角度センサ６１０の出力である回転角度Ａを元に３相モータ５１の実回転量に相当する回転数パルスのカウント数Ａ１を算出する。パルスカウント部６２０は、例えば、回転角度Ａを変数とした数式などによってカウント数Ａ１を算出することができる。
【００７３】
ステップＳ１８では、補正の基にするカウント数の差分Ｂ＝Ａ１‐Ｃを取得する。比較部６３０は、ステップＳ１７で算出されたカウント数Ａ１と、ステップＳ１３で設定された目標制御カウント数Ｃを取得して、Ｂ＝Ａ１−Ｃを演算することで差分Ｂを取得する。この差分Ｂは、３相モータ５１を駆動している際に、回転数パルス生成部２４が回転数パルスを生成することができない期間のモータ回転量に対応する回転数パルスのカウント数に相当する。なお、目標制御カウント数Ｃは、回転数パルス生成部２４で生成された回転数パルス数を、比較部６３０がカウントした値と等しい。
【００７４】
ステップＳ１９では、規定回数終了したか否かを判定する。ばらつき測定部６００は、ステップＳ１１〜Ｓ１８の処理が規定回数終了したか否かを判定する。つまり、ばらつき測定部６００は、例えば補正値推定部６４０や比較部６３０などが、ステップＳ１８が終了したことをカウントし、このカウント値が規定回数に達したか否かを判定する。そして、ばらつき測定部６００は、規定回数に達したと判定した場合はステップＳ２０へ進み、規定回数に達したと判定しなかった場合はステップＳ１１へ戻る。これは、後程説明するように、差分Ｂのばらつきを考慮して、規定回数分の差分Ｂをとって、その差分Ｂの分布によって補正値を推定するためである。
【００７５】
なお、規定回数は、特に限定されない。規定回数は、補正値の推定に要する時間と、補正値の精度を考慮して決めることができる。
【００７６】
ステップＳ２０では、差分Ｂの分布のグラフを作成する。補正値推定部６４０は、規定回数分の比較部６３０での比較結果から、差分Ｂの分布を示すグラフを作成する。この分布を示すグラフは、縦軸に確率密度、横軸に差分Ｂをとったものである。
【００７７】
ステップＳ２１では、差分Ｂの分布から補正値を推定する。補正値推定部６４０は、ステップＳ２０で作成したグラフの中心値を補正値として推定する。
【００７８】
ステップＳ２２では、モータ制御部１０に補正値を記憶する。補正値推定部６４０は、ステップＳ２１で推定した補正値を、モータ制御部１０の補正値記憶部２５ａに書き込む。
【００７９】
ところで、回転数パルスを生成できない期間のモータ回転量は、ばらつきが生じる。このばらつきは、完全にゼロにすることが困難である。このため、差分Ｂのばらつきも完全にゼロにすることが難しい。そこで、本実施形態では、上記のように統計処理して中心値を推定する例を採用している。これによって、ばらつき測定部６００は、上記のように、３相モータ５１が回転しているにもかかわらず回転数パルスをカウントできない分のカウント値との乖離を抑制した補正値を推定することができる。
【００８０】
このように、ばらつき測定部６００は、ばらつきを測定するだけでなく、シフト制御装置１００で用いる補正値を生成することができる。つまり、ばらつき測定部６００は、３相モータ５１の実回転量に対応する回転数パルスのカウント数と、実際に取得される回転数パルスのカウント数とのずれを補正するための補正値を推定することができる。また、ばらつき測定部６００は、推定した補正値を補正値記憶部２５ａに記憶することで、シフト制御装置１００が補正値を使用可能な状態にすることができる。
【００８１】
（変形例１）
本開示は、ステップＳ５で用いる、補正値によって補正された目標制御カウント数がメモリ２５に記憶されていてもよい。補正値によって補正された目標制御カウント数は、補正値記憶部２５ａに記憶されていてもよいし、メモリ２５における補正値記憶部２５ａとは異なる領域に記憶されていてもよい。よって、モータ制御部１０は、ステップＳ５で用いられる補正値によって補正された目標制御カウント数を記憶するカウント数記憶部を備えていると言える。この場合、回転量Ｆ／Ｂ制御部２２は、ステップＳ４で生成された回転数パルスをカウントした制御用カウント数が、メモリ２５から読み込んだ補正後の目標制御カウント数に達するか否かを判定する（判定部）。
【００８２】
この変形例１のシフト制御装置１００であっても、上記実施形態と同様の効果を奏することができる。さらに、マイコン２０は、補正後の目標制御カウント数を算出するソフト処理が不要となり、処理負荷を低減することができる。
【００８３】
（変形例２）
本開示は、モータ制御部１０とモータ部５０とが別体であるシフト制御装置１００であっても採用できる。この場合、モータ部５０は、モータ制御部１０と別体に設けられており、３相モータ５１に加えて、３相モータ５１における実回転量に比例した回転数パルスのカウント数と制御用カウント数とのずれ特性を推定するためのモータばらつき情報を記憶している記憶部とを含む。モータばらつき情報は、特性情報に相当する。
【００８４】
モータばらつき情報は、各３相モータ５１に特有の情報である。モータ部５０は、３相モータ５１やギア５２などのモータ部を構成する部品の個体差により、モータばらつきが生じる場合がある。
【００８５】
一方、モータ制御部１０は、上記と同様にマイコン２０を含む。つまり、モータ制御部１０は、ステップＳ４、Ｓ５、Ｓ６を実行する。また、モータ制御部１０は、ステップＳ１を実行する。さらに、モータ制御部１０は、補正値記憶部２５ａに、値が異なる複数の補正値を記憶している。複数の補正値は、対応するモータばらつき情報と関連付けて、補正値記憶部２５ａに記憶されている。
【００８６】
そして、モータ制御部１０は、ステップＳ５での判定の前に、モータ部５０の記憶部からモータばらつき情報を取得する（補正部）。モータ制御部１０は、取得したモータばらつき情報に基づいて、複数の補正値から３相モータ５１に適した補正値を選択するとともに、目標制御カウント数を補正値によって補正して目標制御カウント数を求める（補正部）。つまり、目標制御値設定部２１は、ステップＳ２において、補正値記憶部２５ａから補正値を読み込む際に、複数の補正値から３相モータ５１に適した補正値を選択する。このように、モータ制御部１０は、組み付けられた３相モータ５１に適した補正値を選択することができる。
【００８７】
この変形例２のシフト制御装置１００であっても、上記実施形態と同様の効果を奏することができる。つまり、変形例２のシフト制御装置１００は、モータ制御部１０とモータ部５０とが別体であっても、上記実施形態と同様の効果を奏することができる。
【００８８】
詳述すると、回転数パルスを生成できない期間のモータ回転量のばらつきの要因の一つは、製品個体差が考えられる。製品固体差は、モータ部５０の個体差とモータ制御部１０の個体差が含まれる。また、回転数パルスを生成できない期間のモータ回転量に影響のあるモータ部５０の個体差の要素には、主にロータの磁力、モータコイルのインダクタンス、ロータとモータコイルの位置関係のギャップ、コイル同士の位置関係のギャップ等がある。モータ部５０の個体差の要素は、発生する逆起電圧の大きさに関係するため、モータ回転量への影響が大きい。
【００８９】
また、回転数パルスを生成できない期間のモータ回転量に影響のあるモータ制御部１０の個体差の要素には、主に逆起電圧を検出する相電圧モニタ回路４０の閾値がある。この要素は、逆起電圧を検出する閾値に関係するため、モータ回転量への影響が大きい。
【００９０】
よって、製品個体差は、回転数パルスを生成できない期間のモータ回転量への影響が大きい。このため、上記のようにシフト制御装置１００は、個々の製品に対して補正値を推定し、回転量のばらつきを抑えることで、３相モータ５１の停止位置の精度を向上させることができる。
【００９１】
以上、本開示の好ましい実施形態について説明した。しかしながら、本開示は、上記実施形態に何ら制限されることはなく、本開示の趣旨を逸脱しない範囲において、種々の変形が可能である。以下に、本開示のその他の形態として、第２、第３実施形態に関して説明する。上記実施形態及び第２、第３実施形態は、それぞれ単独で実施することも可能であるが、適宜組み合わせて実施することも可能である。本開示は、実施形態において示された組み合わせに限定されることなく、種々の組み合わせによって実施可能である。
【００９２】
（第２実施形態）
図６、図７を用いて、第２実施形態のシフト制御装置１００に関して説明する。本実施形態では、上記実施形態と同様の箇所が多い。このため、同様の箇所に関しては、上記実施形態と同じ符号を用いる。また、本実施形態では、便宜的に、シフト制御装置及びばらつき測定部の符号として、上記実施形態と同じ符号を用いる。本実施形態のシフト制御装置１００は、補正値の値が異なる。つまり、本実施形態は、ばらつき測定部６００による補正値の推定方法が異なる。
【００９３】
ロータ停止位置は、回転数パルスが生成しない期間のモータ回転量に直接影響する要素である。しかしながら、ロータとモータコイルの位置関係により、ロータ停止位置は図１１（ａ）、（ｂ）、（ｃ）のような位置にばらついてしまう。よって、停止位置は特定できず、回転量のばらつきを抑えるために、モータ回転量を補正することが困難になる。また、上記実施形態における差分Ｂの測定は、ロータ停止位置による回転数パルスを生成できない期間のモータ回転量のばらつきを抑えることが困難であるため、差分Ｂの分布の中心を明確にするために数多くの測定が必要になる。つまり、規定回数を増やす必要がある。逆に、少ない測定回数で差分Ｂの分布のグラフを作成した場合、図７（ａ）で示すような歪な形状になり、分布の中心がどこにあるかわかりにくい。このように、ロータ停止位置は、回転数パルスを生成できない期間のモータ回転量のばらつきの要因の一つと考えられる。
【００９４】
本実施形態では、補正値の精度を向上するために、差分Ｂをロータ停止位置毎に取得する。言い換えると、本実施形態では、補正値の精度を向上するために、モータ回転量のばらつきをロータ停止位置毎に区別する。
【００９５】
ここで、図６を用いて、ばらつき測定部６００の処理動作に関して説明する。ばらつき測定部６００は、シフト制御装置１００に取り付けられた状態で、測定開始の指示がなされると、図６のフローチャートに示す処理を開始する。なお、ばらつき測定部６００は、ステップＳ３０、Ｓ３４〜Ｓ４１において、ステップＳ１０、Ｓ１１〜Ｓ１８と同様の処理を行う。
【００９６】
ステップＳ３１では、図１１で示したロータ停止位置毎に差分Ｂの取得回数をカウントできるよう、カウンタを３種類用意し（Ｄ、Ｅ、Ｆ）、それぞれに初期値０を設定する。例えば、図１１（ａ）のロータ停止位置に対応するカウンタをＤ、図１１（ｂ）のロータ停止位置に対応するカウンタをＥ、図１１（ｃ）のロータ停止位置に対応するカウンタをＦとし、それぞれに初期値０を代入する。
【００９７】
ステップＳ３２では、ロータ停止位置を確認する。ここで、ロータ停止位置は、停止時のシャフト６６０の回転角度などをモニタすることで、間接的に確認することができる。しかしながら、ロータ停止位置情報を取得する方法はこれに限定されず、ロータを直接モニタするなどしてもよい。
【００９８】
ステップＳ３３では、カウンタをカウントアップする。つまり、Ｘ＝Ｘ＋１を実行する。Ｘは、Ｄ、Ｅ、Ｆのいずれかである。このように、ステップＳ３３では、ステップＳ３２で取得したロータ停止位置情報に対応するカウンタ（Ｄ、Ｅ、Ｆ）をカウントアップさせる。例えば、カウンタＤをカウントアップさせる場合は、Ｄの値に１を加える。
【００９９】
ステップＳ４２では、全ロータ停止位置で規定回数以上測定が終了したか否かを判定する。ここでは、Ｄ、Ｅ、Ｆのカウント数が規定回数に達しているか否かにより判断する。なお、規定回数は、特に限定されない。規定回数は、補正値の推定に要する時間と、補正値の精度を考慮して決めることができる。ばらつき測定部６００は、全ロータ停止位置で規定回数以上測定が終了したと判定した場合はステップＳ４３へ進み、測定が終了したと判定しなかった場合はステップＳ３２へ戻る。つまり、ばらつき測定部６００は、全ロータ停止位置のそれぞれにおいて、差分Ｂの取得を規定回数以上行った場合に、ステップＳ４３に進む。ステップＳ４２は、例えば補正値推定部６４０が実行する。
【０１００】
この時、ばらつき測定部６００が、トルク発生器６７０のように永久的に一方向に回転し続けられる負荷ではなく、駆動レンジ切替機構４００のように一定以上の回転量を許容されていない負荷を接続していた場合は、ディテントプレート等の位置をスタート時の位置に戻し、ばらつき測定部を補正値推定したい条件に設定し直す必要がある。
【０１０１】
このように、ばらつき測定部６００は、回転数パルスを生成できない期間のモータ回転量に相当する回転数パルスのカウント数（差分Ｂ）をロータ停止位置毎に取得するために、差分ＢをステップＳ３５で取得したロータ停止位置情報と紐付けて取得する。
【０１０２】
ステップＳ４２でＹＥＳ判定した場合、ばらつき測定部６００は、ステップＳ４３〜Ｓ４５において、ステップＳ２０〜Ｓ２２と同様の処理を行う。しかしながら、ステップＳ４３では、ロータ停止位置毎に差分Ｂの分布のグラフを作成する。よって、本実施形態では、ロータ停止位置毎の補正値を推定することができる。
【０１０３】
本実施形態は、このようにすることで、図７（ｂ）に示すように、差分Ｂの分布をロータ停止位置の区分毎に分離することができる。図７（ｂ）の（ｉ）は、図１１（ｃ）のロータ停止位置に対応している。また、図７（ｂ）の（ｉｉ）は、図１１（ａ）のロータ停止位置に対応している。また、図７（ｂ）の（ｉｉｉ）は、図１１（ｂ）のロータ停止位置に対応している。本実施形態は、差分Ｂの測定をロータ停止位置毎に区別して実施することで、ロータ停止位置毎に回転数パルスを生成できない期間のモータ回転量に偏りが生じるため、回転数パルスのカウント数にも偏りが生じる。よって、本実施形態では、図７（ｂ）に示すように、ロータ停止位置毎に差分Ｂの分布のグラフを作成することで、元々のグラフを分布の幅を狭くして分離することができ、少ないｎ数でも中心値が特定しやすくなる。このように、本実施形態は、分布の中心値を特定しやすくなり、補正値の精度をより一層向上させることができる。
【０１０４】
また、本実施形態は、上記実施形態と同様の効果を奏することができる。さらに、本実施形態は、上記実施形態よりも３相モータ５１の停止位置の精度を向上させることができる。
【０１０５】
なお、本実施形態では、停止時のシャフト６６０の回転角度からロータ停止位置情報を間接的に取得するために上記のような方法を採用した。しかしながら、本開示は、これに限定されず、下記のような方法であっても採用できる。
【０１０６】
ばらつき測定部６００は、上記実施形態と同様にステップＳ３１でロータ停止位置のカウンタ初期値を設定した後、ロータ停止位置の設定を行う。この時、ばらつき測定部６００は、図１１の（ａ）、（ｂ）、（ｃ）のいずれかに対応したロータ停止位置を設定する。
【０１０７】
その後、ステップＳ３３へ進む。この時、次のようにロータ停止位置の確認を行ってからステップＳ３３に進む方法を採用してもよい。ばらつき測定部６００は、ロータ停止位置を確認して、上記のように設定した停止位置であると判定した場合はロータ停止位置ＯＫとみなしてステップＳ３３へ進む。一方、ばらつき測定部６００は、設定した停止位置であると判定しなかった場合はロータ停止位置ＯＫでないとみなして再度ロータの停止位置を合わせる。このように、ばらつき測定部６００は、ロータ停止位置が設定した停止位置にあるかどうか確認し、合っていない場合は再度位置合わせを行う。
【０１０８】
ステップＳ３３以降は、上記と同様である。これによって、ばらつき測定部６００は、回転数パルスを生成できない期間のモータ回転量に相当する回転数パルスのカウント数（差分Ｂ）のばらつきをロータ停止位置毎に取得することができる。
【０１０９】
（第３実施形態）
図８、図９、図１０を用いて、第３実施形態のシフト制御装置１００に関して説明する。本実施形態では、上記実施形態と同様の箇所が多い。このため、同様の箇所に関しては、上記実施形態と同じ符号を用いる。また、本実施形態では、便宜的に、シフト制御装置及びばらつき測定部の符号として、上記実施形態と同じ符号を用いる。本実施形態のシフト制御装置１００は、補正値の値が異なる。
【０１１０】
図８に示すように、シフト制御装置１００は、電源電圧モニタ部２６、温度モニタ部２７を備えている。電源電圧モニタ部２６は、３相モータ５１の駆動電圧をモニタする。温度モニタ部２７は、シフト制御装置１００が搭載されている環境の温度をモニタする。電源電圧モニタ部２６及び温度モニタ部２７は、環境条件をモニタする部位とも言える。なお、３相モータ５１の駆動電圧は、特許請求の範囲における電源電圧に相当する。また、環境の温度は、特許請求の範囲における環境温度に相当する。
【０１１１】
モータ制御部１０は、電源電圧モニタ部２６からの情報に応じた補正値又は、温度モニタ部２７からの情報に応じた補正値を、補正値記憶部２５ａから目標制御値設定部２１へ出力する。言い換えると、目標制御値設定部２１は、電源電圧モニタ部２６からの情報に応じた補正値又は、温度モニタ部２７からの情報に応じた補正値を補正値記憶部２５ａから読み込む（取得する）。ここで、電源電圧モニタ部２６と温度モニタ部２７からの情報を目標制御値設定部２１に取り込み、目標制御値設定部２１が補正値記憶部２５ａに、取り込んだ環境条件に応じた補正値を出力するよう要求してもよい。
【０１１２】
このように、補正値記憶部２５ａには、環境温度を変動させて求められた、換算値と補正値用カウント数との差分であり、対応する各環境温度と関連付けられた補正値が記憶されている。つまり、補正値記憶部２５ａには、複数の補正値と、各補正値に対応した環境温度とが関連付けられて記憶されている。補正値記憶部２５ａには、複数の補正値と、各補正値に対応した環境温度とが関連付けられた補正値マップを記憶していると言える。
【０１１３】
また、補正値記憶部２５ａには、３相モータ５１を駆動するための駆動電圧を変動させて求められた、換算値と補正値用カウント数との差分であり、対応する各駆動電圧と関連付けられた補正値が記憶されている。つまり、補正値記憶部２５ａには、複数の補正値と、各補正値に対応した駆動電圧とが関連付けられて記憶されている。補正値記憶部２５ａには、複数の補正値と、各補正値に対応した駆動電圧とが関連付けられた補正値マップを記憶していると言える。このように、補正値マップは、複数の補正値と、各補正値に対応した環境条件とが関連付けられたマップと言える。
【０１１４】
回転数パルスを生成できない期間のモータ回転量のばらつきの要因の一つは、環境条件と考えられる。環境条件の要素には、主に、３相モータ５１の駆動電圧と、シフト制御装置１００の環境温度がある。これらは、共にモータ駆動電流を変化させるパラメータである。しかしながら、モータ駆動電流は、モータ制御により一定値を保つよう制御されているため、回転数パルスを生成できない期間のモータ回転量への影響は小さいと考えられる。ただし、モータ制御が悪化するような環境条件や、車両側の負荷に影響を及ぼすような環境条件では、回転数パルスを生成できない期間のモータ回転量への影響が大きくなると考えられる。
【０１１５】
よって、補正値を推定する際には、ある特定の環境条件に設定して測定を実施し、環境条件の変動に伴うモータ回転量の変動を排除することで補正値の精度向上を行う。ただし、上記モータ回転量への影響が大きくなる電圧範囲、温度範囲については補正対象に加えても良い。
【０１１６】
例えば、シフト制御装置１００は、クランキング時と３相モータ５１の駆動時が重なった場合、３相モータ５１の駆動電圧が低下する。これによって、シフト制御装置１００は、３相モータ５１の回転速度が低下して、始動時及び停止時以外にも回転数パルスを生成できない期間が新たに生じる可能性がある。そこで、シフト制御装置１００は、３相モータ５１の駆動中のクランキング発生を認識した場合、目標制御カウント数をクランキング発生時の補正値で更新しても良い。
【０１１７】
また、駆動力伝達部５００がトランスミッション等の油圧系の場合、ミッションオイルの粘度は、環境温度によって変化する。特に低温時、シフト制御装置１００は、ミッションオイルの粘度が増し摩擦力が増加するため、モータの回転駆動が妨げられ、回転数パルスを生成できない期間のモータ回転量への影響が生じる。そこで、シフト制御装置１００は、環境温度が低温時であると認識した場合、目標制御カウント数を環境温度が低温時の補正値で更新しても良い。
【０１１８】
ここで、図９を用いて、シフト制御装置１００の処理動作に関して説明する。シフト制御装置１００は、駆動レンジ切替指示部２１０からの駆動レンジ切替指示があった場合に、図９のフローチャートに示す処理を開始する。
【０１１９】
ステップＳ２ａでは、環境条件に応じた補正値を読み込む。目標制御値設定部２１は、電源電圧モニタ部２６からの駆動電圧を環境条件として取得した場合、この駆動電圧に関連付けられた補正値を補正値記憶部２５ａから読み込む（補正部）。つまり、目標制御値設定部２１は、補正値マップを用いて、取得した駆動電圧に関連付けられた補正値を取得する。
【０１２０】
この場合、ステップＳ３では、駆動電圧に関連付けられた補正値を用いて、補正後の目標制御カウント数を算出する。つまり、目標制御値設定部２１は、ステップＳ２ａにおいて取得した駆動電圧に対応した補正値を求めた場合、求めた補正値によって、ステップＳ６で用いられる目標制御カウント数を補正する（補正部）。これによって、シフト制御装置１００は、この駆動電圧である場合の制御用カウント数と、目標制御カウント数のずれを改善でき、３相モータ５１の停止位置の精度をより一層向上させることができる。
【０１２１】
また、目標制御値設定部２１は、温度モニタ部２７からの環境温度を環境条件として取得した場合、この環境温度に関連付けられた補正値を補正値記憶部２５ａから読み込む（補正部）。つまり、目標制御値設定部２１は、補正値マップを用いて、取得した環境温度に関連付けられた補正値を取得する。
【０１２２】
この場合、ステップＳ３では、環境温度に関連付けられた補正値を用いて、補正後の目標制御カウント数を算出する。つまり、目標制御値設定部２１は、ステップＳ２ａにおいて取得した環境温度に対応した補正値を求めた場合、求めた補正値によって、ステップＳ６で用いられる目標制御カウント数を補正する（補正部）。これによって、シフト制御装置１００は、この環境温度である場合の制御用カウント数と目標制御カウント数のずれを改善でき、３相モータ５１の停止位置の精度をより一層向上させることができる。
【０１２３】
このように、本実施形態のシフト制御装置１００は、環境条件に応じた目標制御カウント数を用いて、３相モータ５１を駆動制御するため、３相モータ５１の停止位置の精度をより一層向上させることができる。当然ながら、本実施形態のシフト制御装置１００は、上記実施形態と同様の効果を奏することができる。さらに、本実施形態のシフト制御装置１００は、第２実施形態と組み合わせて実施することで、第２実施形態と同様の効果を奏することができる。
【０１２４】
次に、図１０を用いて、ばらつき測定部６００の処理動作に関して説明する。ばらつき測定部６００は、シフト制御装置１００に取り付けられた状態で、測定開始の指示がなされると、図１０のフローチャートに示す処理を開始する。なお、ステップＳ５１〜Ｓ６４は、ステップＳ３１〜Ｓ４４と同様である。
【０１２５】
ステップＳ５０では、環境条件を設定する。本実施形態では、環境条件として、駆動電圧や環境温度を設定する。つまり、ここで設定する環境条件は、駆動電圧の複数の異なる値や、環境温度の複数の異なる値である。この複数の値は、シフト制御装置１００が車両に搭載された際に取り得る値である。ばらつき測定部６００は、ステップＳ５０を実行するたびに、異なる環境条件（値）を設定して、ステップＳ５１以降の処理を実行する。
【０１２６】
ステップＳ６５では、補正値を一時的に保存する。ばらつき測定部６００は、ステップＳ６４で推定した補正値を、ばらつき測定部６００におけるＲＡＭなどに一時的に保存する。これは、全ての環境条件における補正値を用いて、補正値マップを作成するためである。ステップＳ６５は、例えば補正値推定部６４０などで実行される。
【０１２７】
ステップＳ６６では、全環境条件で測定を終了したか否かを判定する。ばらつき測定部６００は、全環境条件のそれぞれをＳ５０にて個別に設定してステップＳ５１〜Ｓ６５を実行し、全環境条件についてステップＳ５０〜Ｓ６５を実行したか否かを判定する。ばらつき測定部６００は、全環境条件で測定を終了したと判定した場合はステップＳ６７へ進み、終了したと判定しなかった場合はステップＳ５０へ戻る。このように、ばらつき測定部６００は、ステップＳ５０〜Ｓ６５の処理を全環境条件について繰り返し実行する。ステップＳ６６は、例えば補正値推定部６４０などで実行される。
【０１２８】
ステップＳ６７では、ステップＳ６５で保存した複数の補正値から補正値マップを作成する。つまり、補正値推定部６４０は、ステップＳ６５で保存した複数の補正値と、各補正値を算出した際の環境条件とを用いて、上記のような補正値マップを作成する。
【０１２９】
そして、ステップＳ６８では、モータ制御部１０に補正値マップを記憶する。補正値推定部６４０は、補正値ではなく、ステップＳ６７で作成した補正値マップを、モータ制御部１０の補正値記憶部２５ａに書き込む。
【０１３０】
なお、本実施形態では、一例として補正値マップを作成して、この補正値マップを補正値記憶部２５ａに書き込む例を採用した。しかしながら、本開示は、これに限定されない。本開示は、補正値マップのかわりに、複数の補正値と、各補正値に対応した環境条件との関係を示す補正式を作成し、この補正式を補正値記憶部２５ａに書き込んでもよい。この場合、シフト制御装置１００は、ステップＳ２ａにおいて、補正式を用いて環境条件に応じた補正値を取得する。
【０１３１】
なお、本実施形態では、第２実施形態と組み合わせた場合の例を採用している。しかしながら、本開示は、これに限定されない。つまり、本実施形態では、差分Ｂのばらつきをロータ停止位置毎に取得して補正値を推定しなくてもよい。
【０１３２】
また、本実施形態では、電源電圧モニタ部２６と温度モニタ部２７を備えている例を採用している。しかしながら、本開示は、これに限定されず、電源電圧モニタ部２６と温度モニタ部２７のいずれか一方を備えていればよい。
【０１３３】
例えば、シフト制御装置１００は、温度モニタ部２７を備えておらず、電源電圧モニタ部２６を備えている場合、電源電圧モニタ部２６からの値に基づいて補正値を選択する。この場合、補正値記憶部２５ａには、複数の補正値と、各補正値に対応した駆動電圧とが関連付けられて記憶されていればよい。
【０１３４】
また、シフト制御装置１００は、電源電圧モニタ部２６を備えておらず、温度モニタ部２７を備えている場合、温度モニタ部２７からの値に基づいて補正値を選択する。この場合、補正値記憶部２５ａには、複数の補正値と、各補正値に対応した環境温度とが関連付けられて記憶されていればよい。
【０１３５】
また、本実施形態は、変形例１と組み合わせて実施することもできる。つまり、ばらつき測定部６００は、複数の補正値に基づいて目標制御カウント数を算出し、補正後の目標制御カウント数と環境条件とを関連付けたカウント数マップや、補正後の目標制御カウント数と環境条件との関係を示すカウント数補正式を作成してもよい。この場合、メモリ２５には、カウント数マップやカウント数補正式が記憶される。そして、シフト制御装置１００は、カウント数マップやカウント数補正式から環境条件に応じた補正後の目標制御カウント数を取得して、ステップＳ５の判定に用いる。これによって、本実施形態は、変形例１と同様の効果を奏することができる。
【符号の説明】
【０１３６】
１０…モータ制御部、
２０…マイコン、２１…目標制御値設定部、２２…回転量Ｆ／Ｂ制御部、２３…制御部、２４…回転数パルス生成部、２５…メモリ、２５ａ…補正値記憶部、２６…電源電圧モニタ部、２７…温度モニタ部、３０…モータ駆動回路、４０…相電圧モニタ回路、５０…モータ部、５１…３相モータ、５２…ギア、１００…シフト制御装置、２００…レンジ制御部、２１０…駆動レンジ切替指示部、３００…シャフト、４００…駆動レンジ切替機構、５００…駆動力伝達部、６００…ばらつき測定部、６１０…出力軸角度センサ、６２０…パルスカウント部、６３０…比較部、６４０…補正値推定部、６５０…補正値測定指示部、６６０…シャフト、６７０…トルク発生器
【図１】
2019196795.tif 000003
【図２】
2019196795.tif 000004
【図３】
2019196795.tif 000005
【図４】
2019196795.tif 000006
【図５】
2019196795.tif 000007
【図６】
2019196795.tif 000008
【図７】
2019196795.tif 000009
【図８】
2019196795.tif 000010
【図９】
2019196795.tif 000011
【図１０】
2019196795.tif 000012
【図１１】
2019196795.tif 000013