(57)【特許請求の範囲】
【請求項１】
モータ（２００）の回転によって発生される周期的な磁気信号をデジタル信号に変換する第１センサ素子（５１）および第２センサ素子（５２）と、
前記第１センサ素子から出力される第１センサ信号および前記第２センサ素子から出力される第２センサ信号それぞれに基づいて前記モータを制御するドライバユニット（２０）と、を有し、
前記第１センサ素子と前記第２センサ素子とは、前記モータの回転方向に前記磁気信号の電気角で１２０°離れて配置され、
前記ドライバユニットは、前記第１センサ信号と前記第２センサ信号それぞれの信号レベルが同一の場合の時間を計測し、その計測時間および前記第１センサ信号と前記第２センサ信号それぞれの前記信号レベルに基づいて前記モータの回転角度を推定し、
前記ドライバユニットは、車両の電子制御装置（１０）から入力される目標回転数に前記モータの実際の回転数が到達するように前記モータを制御しており、前記計測時間を計測した後に前記目標回転数が変化すると、その変化量に基づいて補正係数を算出し、前記補正係数を前記計測時間に乗算することで前記計測時間を補正するモータ制御装置。
【請求項２】
前記モータは、出力軸が固定される埋込磁石形回転子（２１０）と、電流が流れることで前記埋込磁石形回転子にマグネットトルクとリラクタンストルクの合わさった回転トルクを発生させる複数のステータコイル（２２４〜２２６）を有する固定子（２２０）と、を有する永久磁石形同期モータであり、
前記ドライバユニットは、前記ステータコイルに電流を流すインバータ（４０）と、前記モータの前記回転角度を推定するとともに、推定した前記回転角度に基づいて前記インバータを制御するための制御信号を生成し、前記制御信号を前記インバータに出力するドライバ（３０）と、を有し、
複数の前記ステータコイルとしては、前記埋込磁石形回転子の回転方向に前記磁気信号の前記電気角で１２０°ずつ順に離れて配置された第１ステータコイル（２２４）、第２ステータコイル（２２５）、第３ステータコイル（２２６）があり、
前記第１センサ素子は、前記第１ステータコイルから前記回転方向に対して後進側に前記電気角で３０°ずれて配置され、
前記第２センサ素子は、前記第２ステータコイルから前記回転方向に対して後進側に前記電気角で３０°ずれて配置され、
前記ドライバは、
前記回転角度が前記電気角で６０°変化する毎に、前記埋込磁石形回転子が回転するように前記制御信号を変化させており、
停止状態の前記モータを始動させる際に、
前記第１センサ信号および前記第２センサ信号それぞれの前記信号レベルが同一である場合、その前記第１センサ信号と前記第２センサ信号の前記信号レベルに対応する６０°の角度範囲の前記制御信号を生成し、
前記第１センサ信号および前記第２センサ信号それぞれの前記信号レベルが異なる場合、その前記第１センサ信号と前記第２センサ信号の前記信号レベルに対応する１２０°の角度範囲を６０°と６０°の２つに等分した際の前記モータを前記回転方向に対して後進側の６０°の角度範囲に対応する前記制御信号を生成し、
その後に前記回転方向へと前記モータを回転させるべく、前記第１センサ信号および前記第２センサ信号それぞれの前記信号レベルの変動に応じて前記回転角度が前記電気角で６０°変化する毎に、前記埋込磁石形回転子が回転するように前記制御信号を変化させる請求項１に記載のモータ制御装置。
【請求項３】
モータ（２００）の回転によって発生される周期的な磁気信号をデジタル信号に変換する第１センサ素子（５１）および第２センサ素子（５２）と、
前記第１センサ素子から出力される第１センサ信号および前記第２センサ素子から出力される第２センサ信号それぞれに基づいて前記モータを制御するドライバユニット（２０）と、を有し、
前記第１センサ素子と前記第２センサ素子とは、前記モータの回転方向に前記磁気信号の電気角で１２０°離れて配置され、
前記ドライバユニットは、前記第１センサ信号と前記第２センサ信号それぞれの信号レベルが同一の場合の時間を計測し、その計測時間および前記第１センサ信号と前記第２センサ信号それぞれの前記信号レベルに基づいて前記モータの回転角度を推定し、
前記モータは、出力軸が固定される埋込磁石形回転子（２１０）と、電流が流れることで前記埋込磁石形回転子にマグネットトルクとリラクタンストルクの合わさった回転トルクを発生させる複数のステータコイル（２２４〜２２６）を有する固定子（２２０）と、を有する永久磁石形同期モータであり、
前記ドライバユニットは、前記ステータコイルに電流を流すインバータ（４０）と、前記モータの前記回転角度を推定するとともに、推定した前記回転角度に基づいて前記インバータを制御するための制御信号を生成し、前記制御信号を前記インバータに出力するドライバ（３０）と、を有し、
複数の前記ステータコイルとしては、前記埋込磁石形回転子の回転方向に前記磁気信号の前記電気角で１２０°ずつ順に離れて配置された第１ステータコイル（２２４）、第２ステータコイル（２２５）、第３ステータコイル（２２６）があり、
前記第１センサ素子は、前記第１ステータコイルから前記回転方向に対して後進側に前記電気角で３０°ずれて配置され、
前記第２センサ素子は、前記第２ステータコイルから前記回転方向に対して後進側に前記電気角で３０°ずれて配置され、
前記ドライバは、
前記回転角度が前記電気角で６０°変化する毎に、前記埋込磁石形回転子が回転するように前記制御信号を変化させており、
停止状態の前記モータを始動させる際に、
前記第１センサ信号および前記第２センサ信号それぞれの前記信号レベルが同一である場合、その前記第１センサ信号と前記第２センサ信号の前記信号レベルに対応する６０°の角度範囲の前記制御信号を生成し、
前記第１センサ信号および前記第２センサ信号それぞれの前記信号レベルが異なる場合、その前記第１センサ信号と前記第２センサ信号の前記信号レベルに対応する１２０°の角度範囲を６０°と６０°の２つに等分した際の前記モータを前記回転方向に対して後進側の６０°の角度範囲に対応する前記制御信号を生成し、
その後に前記回転方向へと前記モータを回転させるべく、前記第１センサ信号および前記第２センサ信号それぞれの前記信号レベルの変動に応じて前記回転角度が前記電気角で６０°変化する毎に、前記埋込磁石形回転子が回転するように前記制御信号を変化させるモータ制御装置。
【請求項４】
前記モータの出力軸は、バルブタイミング変換部（３１０）を介してクランクシャフト（３３０）とカムシャフト（３２０）それぞれと連結されており、
前記ドライバユニットは、前記モータの回転を制御することで、前記クランクシャフトに対する前記カムシャフトの位相を調整する請求項１〜３いずれか１項に記載のモータ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モータの回転を制御するモータ制御装置に関するものである。
【背景技術】
【０００２】
特許文献１に示されるように、位相可変機構を介してクランク軸およびカム軸と出力軸の連結されたモータと、モータの回転角信号を出力するモータ回転角センサと、を備える内燃機関の可変バルブタイミング制御装置が知られている。この内燃機関の可変バルブタイミング制御装置は、クランク軸に対するカム軸の実際の位相差（実位相差）と目標とする位相差（目標位相差）とを演算し、両者の偏差とエンジン回転速度に基づいて目標モータ回転速度を演算するＥＣＵ（電子制御ユニット）を有する。また内燃機関の可変バルブタイミング制御装置は、上記の偏差を小さくするようにモータの通電デューティ比をフィードバック制御するＥＤＵ（モータ駆動回路）も有する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−２４０６５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記したように特許文献１に示される内燃機関の可変バルブタイミング制御装置はモータ回転角センサを有するが、このようなセンサとしては、ホール素子を採用することができる。例えば３つのホール素子が電気角で１２０°異なるようにモータのロータの近くに設けられ、位相が１２０°異なるセンサ信号を出力する。この３つのセンサ信号が上記のＥＣＵに入力され、ＥＣＵは３つのセンサ信号に基づいてモータの実際の回転角度を算出する。ところでこのような構成の場合、ホール素子（センサ素子）の数が多い、という問題がある。
【０００５】
そこで本発明は上記問題点に鑑み、センサ素子の数を低減しつつ、回転角度を検出可能なモータ制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記した目的を達成するための開示された発明の１つは、モータ（２００）の回転によって発生される周期的な磁気信号をデジタル信号に変換する第１センサ素子（５１）および第２センサ素子（５２）と、
第１センサ素子から出力される第１センサ信号および第２センサ素子から出力される第２センサ信号それぞれに基づいてモータを制御するドライバユニット（２０）と、を有し、
第１センサ素子と第２センサ素子とは、モータの回転方向に磁気信号の電気角で１２０°離れて配置され、
ドライバユニットは、第１センサ信号と第２センサ信号それぞれの信号レベルが同一の場合の時間を計測し、その計測時間および第１センサ信号と第２センサ信号それぞれの信号レベルに基づいてモータの回転角度を推定する。
【０００７】
Ｈｉレベルを１、Ｌｏレベルを０とし、２つのセンサ信号を例えば００，０１と表記すると、磁気信号が周期的に変化するとセンサ信号は、００、１０、１１、０１と順に変化する。ただし、センサ信号が００，１１となるのはモータ（２００）が６０°回転する間であり、センサ信号が１０，０１となるのはモータ（２００）が１２０°回転する間である。
【０００８】
例えばセンサ信号が００となる回転角度を０°−６０°とすると、センサ信号が１０となる回転角度は６０°−１８０°である。同様にしてセンサ信号が１１となる回転角度は１８０°−２４０°であり、センサ信号が０１となる回転角度は２４０°−３６０°である。したがってセンサ信号が００となる時間はモータ（２００）が０°から６０°まで回転する時間であり、センサ信号が１１となる時間はモータ（２００）が１８０°から２４０°まで回転する時間である。
【０００９】
モータ（２００）の回転数が過渡的に変化しない限り、モータ（２００）は等速で回転する。したがってモータ（２００）が６０°刻みで回転する時間それぞれはほぼ等しいとみなせる。これにより、例えばセンサ信号が００となる時間を計測し、その計測時間とセンサ信号の信号レベルとに基づいてモータ（２００）の回転角度を推定することができる。
【００１０】
例えば、センサ信号が００の時間を計測すると、以下の様に回転角度を推定することができる。すなわち、センサ信号が００から１０に切り換ったタイミングから計測時間が経過するまでの間、モータ（２００）の回転角度は６０°−１２０°であると推定することができる。そしてさらに計測時間が経過するまでの間、モータ（２００）の回転角度は１２０°−１８０°であると推定することができる。ただし、回転角度が１８０°に達するとセンサ信号は１０から１１に切り換わる。センサ信号が１１の場合、上記のようにモータ（２００）の回転角度は１８０°−２４０°であると算定することができる。また同様にして、センサ信号が１１から０１に切り換わったタイミングから計測時間が経過するまでの間、モータ（２００）の回転角度は２４０°−３００°であると推定することができる。そしてさらに計測時間経過するまでの間、モータ（２００）の回転角度は３００°−３６０°であると推定することができる。
【００１１】
以上に示したように、センサ素子（５１，５２）の数が２つであったとしても、モータ（２００）の回転角度を検出することができる。
【００１２】
上記の発明を含有する開示された発明の１つは、ドライバユニットは、車両の電子制御装置（１０）から入力される目標回転数にモータの実際の回転数が到達するようにモータを制御しており、計測時間を計測した後に目標回転数が変化すると、その変化量に基づいて補正係数を算出し、補正係数を計測時間に乗算することで計測時間を補正する。
【００１３】
目標回転数が過渡的に変化すると、それに伴ってモータ（２００）の実際の回転数が変化するため、モータ（２００）は等速で回転しなくなる。したがってモータ（２００）が６０°刻みで回転する時間が等しくなくなる。そこで上記の発明のように、目標回転数の変化量に基づく補正係数を算出し、その補正係数でもって計測時間を補正する。これにより、例えば目標回転数が減少したために、モータ（２００）が０°から６０°まで回転する時間（計測時間）よりも、６０°から１２０°まで回転するまでの時間が長くなったとしても、６０°−１２０°の回転角度の推定がずれることが抑制される。
【００１４】
上記の発明を含有する開示された発明の１つは、モータは、出力軸が固定される埋込磁石形回転子（２１０）と、電流が流れることで埋込磁石形回転子にマグネットトルクとリラクタンストルクの合わさった回転トルクを発生させる複数のステータコイル（２２４〜２２６）を有する固定子（２２０）と、を有する永久磁石形同期モータであり、
ドライバユニットは、ステータコイルに電流を流すインバータ（４０）と、モータの回転角度を推定するとともに、推定した回転角度に基づいてインバータを制御するための制御信号を生成し、制御信号をインバータに出力するドライバ（３０）と、を有し、
複数のステータコイルとしては、埋込磁石形回転子の回転方向に磁気信号の電気角で１２０°ずつ順に離れて配置された第１ステータコイル（２２４）、第２ステータコイル（２２５）、第３ステータコイル（２２６）があり、
第１センサ素子は、第１ステータコイルから回転方向に対して後進側に電気角で３０°ずれて配置され、
第２センサ素子は、第２ステータコイルから回転方向に対して後進側に電気角で３０°ずれて配置され、
ドライバは、
回転角度が電気角で６０°変化する毎に、埋込磁石形回転子が回転するように制御信号を変化させており、
停止状態のモータを始動させる際に、
第１センサ信号および第２センサ信号それぞれの信号レベルが同一である場合、その第１センサ信号と第２センサ信号の信号レベルに対応する６０°の角度範囲の制御信号を生成し、
第１センサ信号および第２センサ信号それぞれの信号レベルが異なる場合、その第１センサ信号と第２センサ信号の信号レベルに対応する１２０°の角度範囲を６０°と６０°の２つに等分した際のモータを回転方向に対して後進側の６０°の角度範囲に対応する制御信号を生成し、
その後に回転方向へとモータを回転させるべく、第１センサ信号および第２センサ信号それぞれの信号レベルの変動に応じて回転角度が電気角で６０°変化する毎に、埋込磁石形回転子が回転するように制御信号を変化させる。
【００１５】
発明を実施するための形態で詳説するように、後進側の角度範囲に対応する制御信号を生成した方が、進行側の角度範囲に対応する制御信号を生成するよりも、埋込磁石形回転子（２１０）に生成される回転トルクが大きい。そのためにモータ（２００）を効率よく始動することができる。
【００１６】
以上に示したように、センサ素子の数が２つであったとしても、センサ信号に基づいてモータ（２００）を始動することができる。したがって例えばモータ（２００）を始動するために埋込磁石形回転子（２１０）を初期位置に強制的に移動させたり、埋込磁石形回転子（２１０）の初期位置を予め記憶させたりしなくともよくなる。
【００１７】
なお、上記発明に記載の回転方向としては正転方向とその逆の逆転方向とがあり、この２つの方向の内のいずれか一方を示している。
【００１８】
また、特許請求の範囲に記載の請求項、および、課題を解決するための手段それぞれに記載の要素に括弧付きで符号をつけている。この括弧付きの符号は実施形態に記載の各構成要素との対応関係を簡易的に示すためのものであり、実施形態に記載の要素そのものを必ずしも示しているわけではない。括弧付きの符号の記載は、いたずらに特許請求の範囲を狭めるものではない。
【図面の簡単な説明】
【００１９】
【図１】第１実施形態に係るモータ制御装置の概略構成を示すブロック図である。
【図２】モータの概略構成を示す断面図である。
【図３】インバータとステータコイルの概略構成を示す回路図である。
【図４】回転角度に対するセンサ信号と制御信号の関係を示す図表である。
【図５】回転角度に対する制御信号の関係を示す図表である。
【図６】指令信号、センサ信号、参考制御信号、および、制御信号を示すタイミングチャートである。
【図７】回転トルクを示すモデル図である。
【図８】制御信号によって生じる回転トルクの相違を説明するためのモデル図である。
【図９】回転角度の推定処理を示すフローチャートである。
【図１０】計測時間の補正処理を示すフローチャートである。
【図１１】モータの始動処理を示すフローチャートである。
【発明を実施するための形態】
【００２０】
以下、本発明の実施形態を図に基づいて説明する。
（第１実施形態）
図１〜図１１に基づいて、本実施形態に係るモータ制御装置を説明する。図１ではモータ制御装置１００の他に、モータ２００、内燃機関３００、バルブタイミング変換部３１０、カム角センサ３４０、および、クランク角センサ３５０を図示している。そして図２では後述する電気角を括弧つきで図示し、回転角センサ５０にハッチングを施している。さらに図２では、参考としてＷ相ホール素子を破線で示すとともに、図４ではそのＷ相ホール素子から出力されるＷ相センサ信号を参考として図示している。図６では３つのセンサ信号によって出力される参考制御信号を参考として示しており、参考制御信号と制御信号とを模式的に階段状の信号として図示している。
【００２１】
モータ制御装置１００はモータ２００の回転を制御することで、内燃機関３００のカムシャフト３２０とクランクシャフト３３０の位相差を制御するものである。図１に示すように、モータ制御装置１００は３つのステータ線９５〜９７を介してモータ２００と電気的に接続され、モータ２００はバルブタイミング変換部３１０を介して内燃機関３００と機械的に連結されている。以下においては先ずモータ２００、バルブタイミング変換部３１０、および、内燃機関３００を説明した後、モータ制御装置１００について詳説する。
【００２２】
モータ２００は永久磁石形同期モータであり、図２に示すように出力軸を持つロータ２１０、および、ロータ２１０の周りに設けられたステータ２２０を有する。ロータ２１０は、円柱形状の鉄芯２１１と、この鉄芯２１１に埋め込まれた永久磁石２１２と、を有する埋込磁石形回転子である。本実施形態では永久磁石２１２のＮ極とＳ極とが交互に隣接するように鉄芯２１１の軸周りに等間隔で埋め込まれており、隣り合うＮ極とＳ極の隣接間隔が４５°になっている。これにより複数の永久磁石２１２にて発生される磁束は、ロータ２１０が９０°回転する毎に周期的に変化し、機械角９０°に対して電気角が３６０°になっている。この永久磁石２１２から発せられる磁束が後述の回転角センサ５０にて検出される。
【００２３】
これに対してステータ２２０（固定子）は、円筒形状のケース２２１と、このケース２２１の内周面に設けられた突極２２２と、突極２２２に巻き回されたステータコイル２２３と、を有する。ケース２２１の内周面に１２個の突極２２２が等間隔で設けられ、２つの突極２２２の最短隣接間隔がロータ２１０の軸周りにて機械角で３０°（電気角で１２０°）になっている。
【００２４】
ステータコイル２２３としては、図３に示すようにＵ相ステータコイル２２４、Ｖ相ステータコイル２２５、および、Ｗ相ステータコイル２２６を有する。図２に記号Ｕ，Ｖ，Ｗで示すように、１２個の突極２２２に３つのステータコイル２２４，２２５，２２６が順に隣接するように巻き回され、それぞれ隣接間隔が機械角で９０°（電気角で３６０°）の関係にある４つの突極２２２に巻き回されている。Ｕ相ステータコイル２２４が特許請求の範囲に記載の第１ステータコイル、Ｖ相ステータコイル２２５が特許請求の範囲に記載の第２ステータコイルに相当する。またＷ相ステータコイル２２６が特許請求の範囲に記載の第３ステータコイルに相当する。
【００２５】
図３に示すように３つのステータコイル２２４〜２２６はＹ結線され、それぞれ対応するインバータ４０の２つのスイッチの中点に結線されている。例えば図３に示すスイッチ４１，４４がオン状態になるとステータコイル２２４，２２５が電源のプラス端子とマイナス端子とに接続され、ステータコイル２２４，２２５に電流が流れる。この電流の流動によってステータコイル２２４，２２５から磁束が発生され、この磁束がロータ２１０の永久磁石２１２と鉄芯２１１それぞれに作用することで、ロータ２１０に回転トルクが発生する。これによりモータ２００の出力軸が自律回転する。
【００２６】
上記したモータ２００の出力軸はバルブタイミング変換部３１０を介してカムシャフト３２０に連結されている。そしてバルブタイミング変換部３１０はチェーンを介してクランクシャフト３３０に連結されている。内燃機関３００の駆動によってクランクシャフト３３０が回転し始めると、それに伴ってバルブタイミング変換部３１０とともにカムシャフト３２０とモータ２００の出力軸も回転し始める。この回転によってカムシャフト３２０のカムジャーナルに設けられたカムロブが回転する。カムロブの回転により吸気弁と排気弁が燃焼室に対して上下動する。吸気弁にて燃焼室への吸気が行われ、排気弁にて燃焼室からの排気が行われる。
【００２７】
内燃機関３００が例えば４サイクルエンジンの場合、吸気弁若しくは排気弁に対応するカムシャフト３２０のカムロブは、クランクシャフト３３０が２回転すると１回転する。通常、吸気弁と排気弁の位相はカムシャフト３２０の回転角度で換算するとおよそ１８０°ずれている。この吸気弁に対する排気弁の位相差は、カムシャフト３２０のクランクシャフト３３０に対する位相差をモータ制御装置１００、モータ２００、および、バルブタイミング変換部３１０によって制御することで調整可能となっている。
【００２８】
図示しないがバルブタイミング変換部３１０は、上記したチェーンを介して伝達されるクランクシャフト３３０の回転トルクをカムシャフト３２０に伝達しつつ、カムシャフト３２０をクランクシャフト３３０に対して相対的に回転させる遊星歯車機構を有する。バルブタイミング変換部３１０は上記したチェーンが連結される環状のリングギヤ、および、リングギヤの中に設けられた円盤状のピニオンギヤとバルブギヤを有する。リングギヤはチェーンを介してクランクシャフト３３０に連結され、バルブギヤはカムシャフト３２０に連結されている。そしてピニオンギヤはモータ２００の出力軸に連結されている。リングギヤの内側面に歯が形成され、ピニオンギヤおよびバルブギヤそれぞれの外側面に歯が形成されている。このリングギヤの内側面の歯とピニオンギヤの歯とが噛み合わさり、ピニオンギヤの歯とバルブギヤの歯とが噛み合わさっている。したがってクランクシャフト３３０が回転するとその回転トルクがチェーンを介してリングギヤに伝達され、これによってリングギヤが回転する。するとピニオンギヤがバルブギヤの周りを公転し、これによってバルブギヤが回転する。この結果、クランクシャフト３３０とともにカムシャフト３２０が回転する。
【００２９】
カムシャフト３２０のクランクシャフト３３０に対する位相差（以下、単に位相差と示す）を維持する場合、モータ制御装置１００はモータ２００によってピニオンギヤを自転させずにバルブギヤの周りを公転させることで、バルブギヤとリングギヤとを同一の速さで回転させる。しかしながら位相差を進角若しくは遅角する場合、モータ制御装置１００はモータ２００によってピニオンギヤを自転させつつバルブギヤの周りを公転させることで、バルブギヤをリングギヤに対して相対的に回転させる。モータ２００の出力軸がクランクシャフト３３０よりも速く公転すると位相差が進角され、出力軸がクランクシャフト３３０よりも遅く公転すると位相差が遅角される。進角若しくは遅角によって位相差が目標とする位相差（以下、目標位相差と示す）に到達すると、モータ２００の出力軸をリングギヤと同一の速さで公転させる。これによって調整後の位相差が維持される。このモータ２００による位相差の制御によって、吸気タイミングと排気タイミングが調整される。
【００３０】
図１に示すように内燃機関３００にはカム角センサ３４０とクランク角センサ３５０が設けられている。カム角センサ３４０とクランク角センサ３５０によってカムシャフト３２０の回転角度とクランクシャフト３３０の回転角度が検出される。モータ制御装置１００はカムシャフト３２０の回転角度とクランクシャフト３３０の回転角度とに基づいて実際の位相差（以下、実位相差と示す）を算出するとともに、内燃機関３００の回転数を算出する。また後述するようにモータ制御装置１００はモータ２００の回転角度を算出し、算出したモータ２００の回転角度と内燃機関３００の回転数とに基づいてモータ２００を制御する。こうすることでモータ制御装置１００は実位相差を制御する。
【００３１】
なお実位相差を制御するためには、上記の目標位相差を算出しなくてはならない。この目標位相差は、ユーザのアクセル踏込量を示すアクセル開度センサや内燃機関３００の吸入空気量を計測するエアフロメータなどの車両の走行状態を示す各種センサ信号に基づいて、モータ制御装置１００にて算出される。以下、モータ制御装置１００について詳説する。
【００３２】
図１に示すようにモータ制御装置１００は、エンジンＥＣＵ１０、ドライバユニット２０、および、回転角センサ５０を有する。エンジンＥＣＵ１０は信号線９１〜９４を介してドライバユニット２０と電気的に接続され、ドライバユニット２０はステータ線９５〜９７を介してモータ２００と電気的に接続されている。またドライバユニット２０はセンサ線９８，９９を介して回転角センサ５０と電気的に接続されている。
【００３３】
エンジンＥＣＵ１０からドライバユニット２０へと、指令信号線９１を介してモータ２００の目標とする回転数（目標回転数）を含む指令信号が出力される。これとは逆に、ドライバユニット２０からエンジンＥＣＵ１０へと、回転数信号線９２を介してモータ２００の実際の回転数（実回転数）を含む回転数信号が出力される。またドライバユニット２０からエンジンＥＣＵ１０へと、回転方向信号線９３を介してモータ２００の回転方向を含む回転方向信号が出力され、検査信号線９４を介してドライバユニット２０の検査結果を含む検査信号が出力される。そしてドライバユニット２０からモータ２００へと、ステータ線９５〜９７を介してモータ２００の回転を制御するための回転電流が出力される。最後に、回転角センサ５０からドライバユニット２０へと、センサ線９８，９９を介してモータ２００の回転角度に対応するセンサ信号が出力される。
【００３４】
エンジンＥＣＵ１０は上記した車両の走行状態を示す各種センサ信号や内燃機関３００の回転数、および、ドライバユニット２０から出力される実回転数に基づいてモータ２００の目標回転数を決定するものである。先ずエンジンＥＣＵ１０は、上記の各種センサ信号に基づいて、車両の走行状態に適合する目標位相差を算出する。次いでエンジンＥＣＵ１０は、実位相差を目標位相差とするための目標回転数を上記の各種情報に基づいて算出し、この目標回転数を含めた指令信号をドライバユニット２０に出力する。
【００３５】
ドライバユニット２０は、ドライバ３０とインバータ４０を有する。ドライバ３０はエンジンＥＣＵ１０から入力される指令信号、および、回転角センサ５０から入力されるセンサ信号に基づいてインバータ４０を制御する。ドライバ３０は先ずセンサ信号に基づいてモータ２００の回転角度を検出するとともに、モータ２００の実回転数と回転方向を算出する。
【００３６】
ドライバ３０による回転角度の検出については長くなるので後で説明することにし、先ず、モータ２００の実回転数と回転方向の算出を説明する。モータ２００の実回転数は、図６に示す２つのセンサ信号のパルスの立ち上がりエッジと立ち下がりエッジとをカウントすることで算出することができる。後述するように回転角センサ５０は２つのホール素子５１，５２しか有さないため、３つのホール素子を有する構成とは異なり、モータ２００の回転が一定だとしても、２つのセンサ信号のパルスの立ち上がりエッジと立ち下がりエッジの頻出度は不定となる。しかしながら例えば図６に示すようにＶ相センサ信号のパルスが立ち上がってからＵ相センサ信号のパルスが立ち下がるまでの時間、および、Ｖ相センサ信号のパルスが立ち下がってからＵ相センサ信号のパルスが立ち上がるまでの時間は他の場合と比べて最短となる。そしてこの時間間隔はモータ２００が電気角で６０°回転する時間に相当する。したがって上記の時間間隔と電気角６０°とに基づいて、モータ２００の実回転数を算出することができる。ドライバ３０はこの実回転数に応じたパルス周期の回転数信号をエンジンＥＣＵ１０に出力する。
【００３７】
またドライバ３０は、図４に示す回転角度とセンサ信号との関係を記憶しており、この関係とセンサ信号とに基づいてモータ２００の回転方向を算出する。ドライバ３０は、時間経過にともなって２つのセンサ信号の信号レベルがどのように変化したかを判定する。例えば図４に示すようにＵ相センサ信号とＶ相センサ信号の信号レベルがＬｏ，ＬｏからＨｉ，Ｌｏへと変化した場合、ドライバ３０はモータ２００が正転していると判定する。これとは異なり、Ｕ相センサ信号とＶ相センサ信号の信号レベルがＬｏ，ＬｏからＬｏ，Ｈｉへと変化した場合、ドライバ３０はモータ２００が逆転していると判定する。このようにドライバ３０は、図４に示す２つのセンサ信号の信号レベルの組み合わせが時間経過に伴って実線矢印で示すように左から右へと変化する場合にモータ２００は正転していると判定する。それとは逆に、図４に示す２つのセンサ信号の信号レベルの組み合わせが時間経過に伴って破線矢印で示すように右から左へと変化する場合、ドライバ３０はモータ２００が逆転していると判定する。ドライバ３０はこの回転方向に応じて回転方向信号の信号レベルを切り換えて、エンジンＥＣＵ１０に出力する。
【００３８】
なお、上記したように図４に示すＷ相センサ信号は参考であり、Ｗ相センサ信号についてドライバ３０は記憶していない。このＷ相センサ信号を補う情報としてドライバ３０は、Ｕ相センサ信号とＶ相センサ信号それぞれがＬｏレベル、若しくは、Ｈｉレベルの場合の時間を計測する。これについては後で詳説する。
【００３９】
ドライバ３０は、上記のように算出した実回転数と回転方向、および、指令信号に含まれる目標回転数に基づいて回転トルクの増減方向とその発生量を決定する。ドライバ３０は目標回転数が実回転数よりも高い場合、回転トルクの増減方向をモータ２００の回転が促進される方向にすることを決定する。その反対に目標回転数が実回転数よりも低い場合、ドライバ３０は回転トルクの発生方向をモータ２００の回転が妨げられる方向にすることを決定する。またドライバ３０は目標回転数と実回転数との乖離幅に基づいて回転トルクの発生量を算出する。この発生量は、モータ２００が電気角で６０°回転する間に後述の下段スイッチ４２，４４，４６をオン状態とする時間（パルス幅）によって定められる。
【００４０】
ドライバ３０は図４に示す関係の他に、図５に示す回転角度と制御信号との関係を記憶している。ドライバ３０はロータ２１０の現在の回転方向（実回転方向）を検出すると、その実回転方向と算出した回転トルクの増減方向（トルク方向）とを比較する。ドライバ３０は実回転方向とトルク方向の両者が一致する場合（回転を促進する方向の場合）に回転トルクの発生量が増加するようにインバータ４０の駆動を制御する。具体的に言えば、例えばモータ２００が正転している場合、図５に示すように制御信号をＩからＶＩへと順次変化させるとともに、上記のパルス幅を増大する。こうすることで出力軸の回転が促進されて回転速度が速くなる。またドライバ３０は実回転方向とトルク方向の両者が相違する場合（回転を妨げる方向の場合）に回転トルクの発生量が減少するようにインバータ４０の駆動を制御する。具体的に言えば、例えばモータ２００が正転している場合、図５に示すように制御信号をＩからＶＩへと順次変化させるとともに、上記のパルス幅を減少する。こうすることで出力軸の回転が妨げられて回転速度が遅くなる。また急激に回転速度を遅くする場合、例えば制御信号Ｉを出力していた場合にそこから回転角度で１８０°進んだ（遅れた）制御信号ＶＩを出力する。そして制御信号をＩＶからＩ、ＶＩからＩへと逆向きに出力する。
【００４１】
以上示したようにドライバ３０は、実回転数、回転方向、目標回転数、および、回転角度に基づいてインバータ４０を制御する。これによりモータ２００の実回転数が目標回転数に一致するように回転電流がステータコイル２２４〜２２６に流れ、回転トルクがロータ２１０に生成される。この結果、実位相差が目標位相差に一致するように変動し、位相差が進角、遅角、若しくは、維持される。
【００４２】
なお、上記したようにドライバ３０は検査信号をエンジンＥＣＵ１０へと出力するが、検査信号はデューティによってその検査結果を示すデジタル信号である。例えば正常状態の場合にデューティ８０％、異常状態の場合にデューティ５０％に設定される。異常状態としては断線、天絡、地絡などがあり、これら異常状態を区別するために、それぞれに異なるデューティを割り当ててもよい。
【００４３】
インバータ４０は図３に示すようにスイッチ４１〜４６を有し、これらがドライバ３０から出力される制御信号Ｉ〜ＶＩによって開閉制御されることで、モータ２００のステータコイル２２４〜２２６に回転電流を流すものである。本実施形態においてスイッチ４１〜４６はそれぞれＮチャネル型ＭＯＳＦＥＴである。電源のプラス端子からマイナス端子に向かってＵ相スイッチ４１，４２、Ｖ相スイッチ４３，４４、および、Ｗ相スイッチ４５，４６それぞれが直列接続され、これら対を成す２つのスイッチが並列接続されている。そしてＵ相スイッチ４１，４２の中点にＵ相ステータコイル２２４の一端が接続され、Ｖ相スイッチ４３，４４の中点にＶ相ステータコイル２２５の一端が接続され、Ｗ相スイッチ４５，４６の中点にＷ相ステータコイル２２６の一端が接続されている。これらステータコイル２２４〜２２６それぞれの他端が互いに結線され、ステータコイル２２４〜２２６がＹ結線されている。
【００４４】
ドライバ３０から制御信号Ｉ〜ＶＩの内の１つが出力されると、図５に記号Ｈｉで示すように３つの上段スイッチ４１，４３，４５の内の１つがオン状態とされ、図５に記号Ｐで示すように３つの下段スイッチ４２，４４，４６の内の１つが断続的にオン状態とされる。これにより電源のプラス端子側に接続された上段スイッチ４１，４３，４５が順次オン状態とされ、電源のマイナス端子側に接続された下段スイッチ４２，４４，４６が順次断続的にオン状態とされる。こうすることで３つのステータコイル２２４〜２２６の内の２つが電源のプラス端子とマイナス端子とに断続的に直列接続され、ステータコイルに回転電流が断続的に流れる。この結果回転トルクがロータ２１０に断続的に発生し、モータ２００の出力軸が回転する。ロータ２１０に発生する回転トルクの大きさは、下段スイッチ４２，４４，４６に入力される制御信号のパルス幅によって定められる。
【００４５】
回転角センサ５０は、センサ素子としてＵ相ホール素子５１とＶ相ホール素子５２を有する。ホール素子５１，５２それぞれはモータ２００の回転角度および回転方向に応じたアナログの検知信号を生成する。図示しないが回転角センサ５０はホール素子５１，５２から出力されるアナログの検知信号をデジタルのセンサ信号に変換するためのＡＤ変換器を有する。したがって回転角センサ５０にて生成されたデジタルの２つのセンサ信号がドライバ３０に入力される。ホール素子５１，５２と上記のＡＤ変換器とによって、特許請求の範囲に記載の第１センサ素子と第２センサ素子とが構成されている。
【００４６】
図２に示すようにホール素子５１，５２は、ロータ２１０の永久磁石２１２の上方に位置している。そして上記したように永久磁石２１２にて発生される磁束（磁気信号）は、ロータ２１０が機械角で９０°（電気角で３６０°）回転する毎に周期的に変化する。そのためロータ２１０が電気角で３６０°回転する毎に２つのホール素子５１，５２それぞれを透過する磁束も周期的に変化する。そしてロータ２１０が電気角で１８０°回転すると２つのホール素子５１，５２を透過する磁束の向きが反転する。
【００４７】
図２に示すように２つのホール素子５１，５２はロータ２１０の軸周りにおいて機械角で隣接角度３０°（電気角で１２０°）で設けられている。これにより２つのホール素子５１，５２を透過する永久磁石２１２の磁束は電気角で１２０°ずれており、２つのホール素子５１，５２から出力される検知信号の位相も１２０°ずれている。そして図２に示すようにＵ相ホール素子５１は、自身に最も近いＵ相ステータコイル２２４に対して機械角で７．５°（電気角で３０°）ロータ２１０が正転する方向（正転方向）において後進側に配置されている。同様にしてＶ相ホール素子５２は、自身に最も近いＶ相ステータコイル２２５に対して機械角で７．５°（電気角で３０°）ロータ２１０の正転方向において後進側に配置されている。以下においては特に断わらない限り、回転角度を電気角で表す。
【００４８】
次に、ドライバ３０による回転角度の検出を説明する。ドライバ３０にはセンサ信号として、Ｕ相ホール素子５１のＵ相センサ信号とＶ相ホール素子５２のＶ相センサ信号とが入力される。図６に示すようにＵ相センサ信号とＶ相センサ信号とは１８０°周期でＨｉレベルとＬｏレベルとに信号レベルが変動する。そしてお互いに１２０°位相がずれている。Ｈｉレベルを１、Ｌｏレベルを０とし、上記の２つのセンサ信号を例えば００，０１と表記すると、ロータ２１０が正転している場合、センサ信号は００、１０、１１、０１と順に変化する。図４に示すようにセンサ信号が００，１１となるのはロータ２１０が６０°回転する間であり、センサ信号が１０，０１となるのはロータ２１０が１２０°回転する間である。
【００４９】
より詳しく言えば、回転角度が０°−６０°の場合にセンサ信号は００となり、回転角度が６０°−１８０°の場合にセンサ信号は１０となる。同様にして、回転角度が１８０°−２４０°の場合にセンサ信号は１１となり、回転角度が２４０°−３６０°の場合にセンサ信号は０１となる。したがってセンサ信号が００となる時間はモータ２００が０°から６０°まで回転する時間であり、センサ信号が１１となる時間はモータ２００が１８０°から２４０°まで回転する時間である。
【００５０】
モータ２００の回転数が過渡的に変化しない限り、モータ２００は等速で回転する。したがってモータ２００が６０°刻みで回転する時間それぞれはほぼ等しいとみなせる。
【００５１】
そこでドライバ３０は、センサ信号が００，１１となる時間を計測し、その計測時間とセンサ信号の信号レベルとに基づいてモータ２００の回転角度を推定する。この回転角度を推定するためにドライバ３０は、センサ信号の信号レベルの変動タイミング（パルスの立ち下がりエッジと立ち上がりエッジ）を検出する。
【００５２】
ドライバ３０は、Ｖ相センサ信号の信号レベルがＨｉレベルからＬｏレベルへと切り換わってセンサ信号が０１から００になると、回転角度が０°−６０°であると判定するとともに、時間を計測し始める。このタイミングは図６で示すと時間ｔ１に相当する。ドライバ３０はこの時間ｔ１から、Ｕ相センサ信号の信号レベルがＬｏレベルからＨｉレベルへと切り換わってセンサ信号が００から１０となる時間ｔ２までの時間（Ｔ１）を計測する。
【００５３】
次いでドライバ３０は、センサ信号が１０となった時間ｔ２から計測時間Ｔ１だけ経過した時間ｔ３までの間は、回転角度が６０°−１２０°であると推定する。
【００５４】
そしてドライバ３０は、センサ信号は依然１０のままであるが、時間ｔ３から計測時間Ｔ１だけ経過した時間ｔ４までの間は、回転角度が１２０°−１８０°であると推定する。
【００５５】
ドライバ３０は、図６に示すように時間ｔ４においてＶ相センサ信号の信号レベルがＬｏレベルからＨｉレベルへと切り換わってセンサ信号が１０から１１になると、回転角度が１８０°−２４０°であると判定するとともに、時間を計測し始める。ドライバ３０はこの時間ｔ４から、Ｕ相センサ信号の信号レベルがＨｉレベルからＬｏレベルへと切り換わってセンサ信号が１１から０１となる時間ｔ５までの時間を計測する。図６に示すように、時間ｔ１〜時間ｔ８までの間に指令信号は変動せず、目標回転数が変動しない。そのために実回転数は変化せず、モータ２００は等速で回転しているとみなせる。したがってこの時に計測した時間は上記の計測時間Ｔ１と等しくなる。
【００５６】
ドライバ３０は、センサ信号が０１となった時間ｔ５から計測時間Ｔ１が経過する時間ｔ６までの間は、回転角度が２４０°−３００°であると推定する。
【００５７】
そしてドライバ３０は、センサ信号は依然０１のままであるが、時間ｔ６から計測時間Ｔ１だけ経過した時間ｔ７までの間は、回転角度が３００°−３６０°であると推定する。
【００５８】
以上に示したようにドライバ３０は、回転角度０°−６０°、１８０°−２４０°を算出するとともに、他の回転角度６０°−１２０°、１２０°―１８０°、２４０°−３００°、３００°−３６０°を推定する。ドライバ３０は、このように回転角度を算出して推定するとともに、図６に示すように回転角度に対応する制御信号Ｉ〜ＶＩをインバータ４０に出力する。こうすることでドライバ３０はモータ２００に回転トルクを発生し、位相差を制御する。
【００５９】
ただし、計測時間が経過し終わらず、回転角度が１２０°−１８０°と推定している際にセンサ信号が１０から１１へと切り換わることが想定される。この場合、ドライバ３０は計測時間が経過し終わっていなくとも、回転角度が１８０°−２４０°であると判定する。これとは逆に、計測時間が経過し終わったにも関わらずに、センサ信号が１０の場合も想定される。この場合、ドライバ３０は計測時間が経過し終わったとしても、回転角度は１２０°−１８０°であると推定する。したがって制御信号ＩＩＩから制御信号ＩＶへの切り換えは、センサ信号が１０から１１へと切り換わると行われる。
【００６０】
同様にして、計測時間が経過し終わらず、回転角度が３００°−３６０°と推定している際にセンサ信号が０１から００へと切り換わることが想定される。この場合、ドライバ３０は計測時間が経過し終わっていなくとも、回転角度が０°−６０°であると判定する。これとは逆に、計測時間が経過し終わったにも関わらずに、センサ信号が０１の場合も想定される。この場合、ドライバ３０は計測時間が経過し終わったとしても、回転角度は３００°−３６０°であると推定する。したがって制御信号ＶＩから制御信号Ｉへの切り換えは、センサ信号が０１から００へと切り換わると行われる。以上に示した回転角度の判定と推定は、ロータ２１０が逆転している場合においても同様である。
【００６１】
図６に参考としてＷ相センサ信号を示すとともに、３つのセンサ信号に基づいて出力される参考制御信号を示す。図示するように、指令信号に変動がない場合、参考制御信号とドライバ３０が実際にインバータ４０に出力する制御信号とに差異は生じない。しかしながら、図６に示すように目標回転数が変化すると、それによってモータ２００の回転速度が変化する。この場合、図６に示すように参考制御信号と制御信号とでは差異δが生じることとなるが、この差異δは次に示すように小さくすることができる。
【００６２】
ドライバ３０は、随時入力される指令信号に含まれる目標回転数を一時的に保存し、最新の目標回転数（現在の目標回転数）と保存していた目標回転数（過去の目標回転数）とを比較する。ドライバ３０は、現在の目標回転数から過去の目標回転数を差分した差分値を変化量として算出する。差分値が正の場合、目標回転数は増大傾向にあるので、センサ信号のパルス幅が縮小することが期待される。これとは逆に差分値が負の場合、図６に示すように目標回転数は減少傾向にあるので、センサ信号のパルス幅が拡大することが期待される。
【００６３】
そこでドライバ３０は、上記の差分値に基づく補正係数αを算出する。補正係数αは、差分値が正の場合に１よりも小さい値となり、差分値が負の場合に１よりも大きい値となる。そして補正係数αの１からの乖離幅は、差分値の絶対値と比例関係にある。ドライバ３０はこの補正係数αを計測時間に乗算する。こうすることで、図６に示すように時間ｔ８において目標回転数が変化したとしても、計測時間Ｔ１がＴ１×αに補正され、それによって回転角度６０°−１２０°であると推定される時間が長くなり、差異δが小さくなる。これにより制御信号ＩＩの出力時間が短くなることが抑制され、モータ２００の制御が不安定となることが抑制される。
【００６４】
このようにドライバ３０は計測時間Ｔ１を補正するが、図６に示すように時間ｔ１０に至ってセンサ信号が１０から１１になると、その時間を計測する。そしてドライバ３０はこの新たな計測時間Ｔ２に基づいて回転角度を推定する。このように計測時間を補正して制御信号の出力時間を補正するのは、センサ信号が１０，０１の時である。
【００６５】
なお図６とは異なり、目標回転数が過渡的に連続的に変化した場合においても、ドライバ３０はその都度補正係数αを算出し、それによって計測時間を補正する。ただし目標回転数の変化がモータ２００の制御に影響を与えないほどに微小の場合、ドライバ３０は補正係数αを１に固定して、計測時間の補正を行わない。
【００６６】
次に、停止状態のモータ２００の始動について説明する。ドライバ３０はモータ２００を始動する際、先ずセンサ信号の信号レベルを検出する。モータ２００が停止している際のセンサ信号が００の場合、ドライバ３０は制御信号Ｉを出力するとともに、センサ信号が００から１０へと切り換わるまでの時間を計測する。そしてセンサ信号が００から１０へと切り換わった後、計測時間に基づいて制御信号ＩＩ，ＩＩＩを順次出力する。こうすることでモータ２００を始動する。モータ２００が回転し始めると、ドライバ３０は上記のように回転角度を検出し、それに応じた制御信号Ｉ〜ＶＩをインバータ４０に出力する。
【００６７】
同様にして、モータ２００が停止している際のセンサ信号が１１の場合、ドライバ３０は制御信号ＩＶを出力するとともに、センサ信号が１１から０１へと切り換わるまでの時間を計測する。そしてセンサ信号が１１から０１へと切り換わった後、計測時間に基づいて制御信号Ｖ，ＶＩを順次出力する。こうすることでモータ２００を始動する。モータ２００が回転し始めると、ドライバ３０は上記のように回転角度を検出し、それに応じた制御信号Ｉ〜ＶＩをインバータ４０に出力する。
【００６８】
これに対してモータ２００が停止している際のセンサ信号が１０、若しくは、０１の場合、ドライバ３０はロータ２１０の正転方向に対して後進側の制御信号を出力する。すなわち、制御信号が１０の場合の回転角度は６０°−１８０°を示すが、この場合にドライバ３０は後進側の回転角度６０°−１２０°に対応する制御信号ＩＩを出力する。また制御信号が０１の場合の回転角度は２４０°−３６０°を示すが、この場合にドライバ３０は後進側の回転角度２４０°−３００°に対応する制御信号Ｖを出力する。これは以下に示すように正転方向に対して後進側の回転角度に対応する制御信号を出力した方が、ロータ２１０に生成される回転トルクの総量が大きいためである。
【００６９】
図７に、制御信号Ｉを出力することでロータ２１０に生成される回転トルクを実線で示す。この回転トルクは、図７にて破線と一点鎖線で示すマグネットトルクとリラクタンストルクの総和によって表される。マグネットトルクはロータ２１０の永久磁石２１２に生じ、リラクタンストルクはロータ２１０の鉄芯２１１に生じる。マグネットトルクはリラクタンストルクに対して９０°ずれ、位相が１／２倍となっている。そしてマグネットトルクはリラクタンストルクよりも振幅が大きくなっている。
【００７０】
上記したようにＵ相ホール素子５１は、自身に最も近いＵ相ステータコイル２２４に対して正転方向に対して３０°後進側に配置されている。そしてＶ相ホール素子５２は、自身に最も近いＶ相ステータコイル２２５に対して正転方向に対して３０°後進側に配置されている。そのため図７に示すようにセンサ信号によって検出される回転角度は、ロータ２１０に生成される回転トルクに対して３０°進角している。これにより回転トルクは、回転角度が−６０°から６０°へと進むにしたがってゼロから穏やかに上昇してピーク値となり、回転角度が６０°から１２０°へと向かうにしたがってピーク値から急激に減少してゼロとなる。この回転トルクの内、回転角度が０°から６０°までのものが、実際にロータ２１０に生成される。図７では制御信号Ｉによって、回転角度が０°から６０°へと変化するまでの間に生成される回転トルクの総量をハッチングで示している。
【００７１】
図８に、制御信号ＩＩによってロータ２１０に生成される回転トルクを実線で示し、制御信号ＩＩＩによってロータ２１０に生成される回転トルクを破線で示す。そして制御信号ＩＩによって、回転角度が６０°から１８０°へと変化するまでの間に生成される回転トルクの総量と、制御信号ＩＩＩによって、回転角度が６０°から１８０°へと変化するまでの間に生成される回転トルクの総量とをハッチングで示す。図８から明らかなように、回転角度が６０°から１８０°へと変化する場合（センサ信号が１０の場合）、制御信号ＩＩによって生成される回転トルクの方が、制御信号ＩＩＩによって生成される回転トルクよりも総量が大きくなる。そこで上記したようにドライバ３０は、制御信号が１０の場合に制御信号ＩＩを出力する。これは回転角度が２４０°から３６０°へと変化する場合（制御信号が０１の場合）においても同様である。ドライバ３０は、上記したように制御信号が０１の場合に制御信号Ｖを出力する。これによりドライバ３０はモータ２００に回転トルクを発生させて回転させ始める。
【００７２】
上記のようにセンサ信号が１０の場合に制御信号ＩＩを出力した結果、センサ信号が１０から１１に変化した場合、ドライバ３０は制御信号ＩＶを出力する。これとは異なり、所定時間経過してもセンサ信号が１０から変化しない場合、ドライバ３０はモータ２００が６０°だけ回転したとみなして、制御信号ＩＩＩを出力する。こうすることでモータ２００を始動する。モータ２００が回転し始めると、ドライバ３０は上記のように回転角度を検出し、それに応じた制御信号Ｉ〜ＶＩをインバータ４０に出力する。
【００７３】
同様にしてセンサ信号が０１の場合に制御信号Ｖを出力した結果、センサ信号が０１から００に変化した場合、ドライバ３０は制御信号Ｉを出力する。これとは異なり、所定時間経過してもセンサ信号が０１から変化しない場合、ドライバ３０はモータ２００が６０°だけ回転したとみなして、制御信号ＶＩを出力する。こうすることでモータ２００を始動する。モータ２００が回転し始めると、ドライバ３０は上記のように回転角度を検出し、それに応じた制御信号Ｉ〜ＶＩをインバータ４０に出力する。
【００７４】
次に、図９および図１０に基づいてドライバ３０による回転角度の推定処理を説明する。先ずステップＳ１０においてドライバ３０は、センサ信号が００、若しくは、１１であるか否かを判定する。センサ信号が００、若しくは、１１である場合、ドライバ３０はステップＳ２０へと進む。これとは異なり、センサ信号が００、若しくは、１１ではない（センサ信号が１０、若しくは、０１である）場合、ドライバ３０はステップＳ１０を繰り返し、センサ信号が００、若しくは、１１になるまで待機する。
【００７５】
ステップＳ２０へ進むとドライバ３０は、センサ信号が００であるか否かを判定する。センサ信号が００である場合、ドライバ３０はステップＳ３０へと進む。これとは異なりセンサ信号が００ではない（センサ信号が１１である）場合、ドライバ３０はステップＳ４０へと進む。
【００７６】
ステップＳ３０へ進むとドライバ３０は、センサ信号が００を出力している時間を計測する。これとは異なり、ステップＳ４０へ進むとドライバ３０は、センサ信号が１１を出力している時間を計測する。そして時間を計測し終えると、ドライバ３０はステップＳ５０へと進む。
【００７７】
ステップＳ５０へ進むとドライバ３０は、ステップＳ３０、若しくは、ステップＳ４０にて計測した時間（計測時間）を補正する。そしてドライバ３０は、ステップＳ６０へと進む。ステップＳ５０は、後で図１０に基づいて詳説する。
【００７８】
ステップＳ６０へ進むとドライバ３０は、センサ信号とステップＳ５０にて補正した計測時間とに基づいて、回転角度を推定する。そして推定処理を終了する。
【００７９】
例えばロータ２１０が正転している場合においてセンサ信号が００の場合、ドライバ３０はステップＳ３０において時間を計測する。そしてその後にセンサ信号が００から１０へと変化すると、ドライバ３０はそこから計測時間経過するまでの間、回転角度は６０°−１２０°と推定する。またドライバ３０はそこからさらに計測時間が経過するまでの間、回転角度は１２０°−１８０°と推定する。
【００８０】
なお上記したように、計測時間が経過し終わらず、回転角度が１２０°−１８０°と推定している際にセンサ信号が１０から１１へと切り換わることが想定される。この場合、ドライバ３０は計測時間が経過し終わっていなくとも、回転角度が１８０°−２４０°であると判定する。これとは逆に、計測時間が経過し終わったにも関わらずに、センサ信号が１０の場合も想定される。この場合、ドライバ３０は計測時間が経過し終わったとしても、回転角度は１２０°−１８０°であると推定する。
【００８１】
さらに例示すれば、ロータ２１０が正転している場合においてセンサ信号が１１の場合、ドライバ３０はステップＳ４０において時間を計測する。そしてその後にセンサ信号が１１から０１へと変化すると、ドライバ３０はそこから計測時間経過するまでの間、回転角度は２４０°−３００°と推定する。そしてドライバ３０はそこからさらに計測時間が経過するまでの間、回転角度は３００°−３６０°と推定する。
【００８２】
これも上記したが、計測時間が経過し終わらず、回転角度が３００°−３６０°と推定している際にセンサ信号が０１から００へと切り換わることが想定される。この場合、ドライバ３０は計測時間が経過し終わっていなくとも、回転角度が０°−６０°であると判定する。これとは逆に、計測時間が経過し終わったにも関わらずに、センサ信号が０１の場合も想定される。この場合、ドライバ３０は計測時間が経過し終わったとしても、回転角度は３００°−３６０°であると推定する。
【００８３】
次に、図１０に基づいてドライバ３０による回転角度の補正処理を説明する。先ずステップＳ１１０においてドライバ３０は、現在の目標回転数から過去の目標回転数を差分した差分値を算出する。そしてドライバ３０はその差分値の絶対値が所定値よりも大きいか否かを判定する。差分値の絶対値が所定値よりも大きい場合、ドライバ３０は目標回転数が変化したと見なしてステップＳ１２０へと進む。これとは異なり差分値が所定値よりも小さい場合、ドライバ３０は目標回転数が変化していないと見なしてステップＳ１３０へと進む。
【００８４】
ステップＳ１２０へ進むとドライバ３０は、差分値に基づく補正係数αを算出する。補正係数αは、差分値が正の場合に１よりも小さい値となり、差分値が負の場合に１よりも大きい値となる。これとは異なり、ステップＳ１３０へ進むとドライバ３０は、補正係数α＝１と固定する。そしてドライバ３０は、ステップＳ１４０へと進む。
【００８５】
ステップＳ１４０へ進むとドライバ３０は、計測時間に補正係数αを乗算する。こうすることでドライバ３０は、計測時間を補正する。なおもちろんではあるが、補正係数αが１の場合、この補正係数αを計測時間に乗算したとしても、計測時間は実質的に補正されたことにはならない。
【００８６】
次に、図１１に基づいてドライバ３０によるモータ２００の始動処理を説明する。先ずステップＳ２１０においてドライバ３０は、モータ２００が停止している際のセンサ信号が００、若しくは、１１であるか否かを判定する。センサ信号が００、若しくは、１１である場合、ドライバ３０はステップＳ２２０へと進む。これとは異なり、センサ信号が００、若しくは、１１ではない（センサ信号が１０、若しくは、０１である）場合、ドライバ３０はステップＳ２３０へと進む。
【００８７】
ステップＳ２２０へ進むとドライバ３０は、センサ信号が００であるか否かを判定する。センサ信号が００である場合、ドライバ３０はステップＳ２４０へと進む。これとは異なりセンサ信号が００ではない（センサ信号が１１である）場合、ドライバ３０はステップＳ２５０へと進む。
【００８８】
ステップＳ２４０へ進むとドライバ３０は、制御信号Ｉを出力して始動処理を終了する。この際にドライバ３０はセンサ信号が００の時間を計測して図９および図１０に示す処理を行い、モータ２００を安定して回転させる。
【００８９】
ステップＳ２５０へ進むとドライバ３０は、制御信号ＩＶを出力して始動処理を終了する。この際にドライバ３０はセンサ信号が１１の時間を計測して図９および図１０に示す処理を行い、モータ２００を安定して回転させる。
【００９０】
フローを遡り、ステップＳ２１０においてセンサ信号が１０、若しくは、０１であると判定してステップＳ２３０へ進むとドライバ３０は、モータ２００が停止している際のセンサ信号が０１であるか否かを判定する。センサ信号が０１である場合、ドライバ３０はステップＳ２６０へと進む。これとは異なりセンサ信号が０１ではない（センサ信号が１０である）場合、ドライバ３０はステップＳ２７０へと進む。
【００９１】
ステップＳ２６０へ進むとドライバ３０は、制御信号Ｖを出力する。こうすることでドライバ３０はロータ２１０に回転トルクを生成し、ロータ２１０を回転させ始める。この後にドライバ３０はステップＳ２８０へと進む。
【００９２】
ステップＳ２８０へ進むとドライバ３０は、ロータ２１０が回転した結果、センサ信号が００になったか否かを判定する。センサ信号が００である場合、ドライバ３０はステップＳ２９０へと進む。これとは異なり、センサ信号が００ではなく依然として０１の場合、ドライバ３０はステップＳ３００へと進む。
【００９３】
ステップＳ２９０へ進むとドライバ３０は、制御信号Ｉを出力して始動処理を終了する。この際にドライバ３０はセンサ信号が００の時間を計測して図９および図１０に示す処理を行い、モータ２００を安定して回転させる。
【００９４】
ステップＳ３００へ進むとドライバ３０は、モータ２００が６０°だけ回転したとみなして、制御信号ＶＩを出力して始動処理を終了する。この後にセンサ信号が００を示すと、ドライバ３０は制御信号Ｉを出力するとともに図９および図１０に示す処理を行い、モータ２００を安定して回転させる。なお、図示しないが、センサ信号が００へと変化しない場合、ドライバ３０はもう一度図１１に示す始動処理を実行する。
【００９５】
フローを少し遡り、ステップＳ２３０においてセンサ信号が１０であると判定してステップＳ２７０へ進むとドライバ３０は、制御信号ＩＩを出力する。こうすることでドライバ３０はロータ２１０に回転トルクを生成し、ロータ２１０を回転させ始める。この後にドライバ３０はステップＳ３１０へと進む。
【００９６】
ステップＳ３１０へ進むとドライバ３０は、ロータ２１０が回転した結果、センサ信号が１１になったか否かを判定する。センサ信号が１１である場合、ドライバ３０はステップＳ３２０へと進む。これとは異なり、センサ信号が１１ではなく依然として１０の場合、ドライバ３０はステップＳ３３０へと進む。
【００９７】
ステップＳ３２０へ進むとドライバ３０は、制御信号ＩＶを出力して始動処理を終了する。この際にドライバ３０はセンサ信号が１１の時間を計測して図９および図１０に示す処理を行い、モータ２００を安定して回転させる。
【００９８】
ステップＳ３３０へ進むとドライバ３０は、モータ２００が６０°だけ回転したとみなして、制御信号ＩＩＩを出力して始動処理を終了する。この後にセンサ信号が１１を示すと、ドライバ３０は制御信号ＩＶを出力するとともに図９および図１０に示す処理を行い、モータ２００を安定して回転させる。なお、図示しないが、センサ信号が１１へと変化しない場合、ドライバ３０はもう一度図１１に示す始動処理を実行する。
【００９９】
次に、本実施形態に係るモータ制御装置１００の作用効果を説明する。上記したようにホール素子５１，５２の数が２つであったとしても、モータ２００の回転角度を検出することができる。
【０１００】
またドライバ３０は現在の目標回転数と過去の目標回転数との差分値の絶対値が所定値よりも高い場合、その差分値に基づいて計測時間を補正する。これにより、例えば目標回転数が減少したために、モータ２００が０°から６０°まで回転する時間よりも、６０°から１２０°まで回転するまでの時間が長くなったとしても、６０°−１２０°の回転角度の推定がずれることが抑制される。同様にして、１２０°−１８０°、２４０°−３００°、３００°−３６０°の回転角度の推定がずれることが抑制される。
【０１０１】
上記したように、センサ信号が１０の場合、制御信号ＩＩによって生成される回転トルクの方が、制御信号ＩＩＩによって生成される回転トルクよりも総量が大きくなる。そこでドライバ３０は、モータ２００が停止している際の制御信号が１０の場合に制御信号ＩＩを出力する。またセンサ信号が０１の場合、制御信号Ｖによって生成される回転トルクの方が、制御信号ＶＩによって生成される回転トルクよりも総量が大きくなる。そこでドライバ３０は、モータ２００が停止している際の制御信号が０１の場合に制御信号Ｖを出力する。これによりモータ２００が停止している際の制御信号が１０の場合に制御信号ＩＩＩを出力したり、制御信号が０１の場合に制御信号Ｖを出力したりする構成と比べて、モータ２００を効率よく始動することができる。
【０１０２】
このようにホール素子５１，５２の数が２つであったとしても、２つのセンサ信号に基づいてモータ２００を始動することができる。したがって例えばモータ２００を始動するためにロータ２１０を初期位置に強制的に移動させたり、ロータ２１０の初期位置を予め記憶させたりしなくともよくなる。
【０１０３】
以上、本発明の好ましい実施形態について説明したが、本発明は上記した実施形態になんら制限されることなく、本発明の主旨を逸脱しない範囲において、種々変形して実施することが可能である。
【０１０４】
本実施形態ではバルブタイミング変換部３１０に設けられるモータ２００をモータ制御装置１００が制御する例を示した。しかしながらモータ制御装置１００が制御対象とするモータ２００としては上記例に限定されない。
【０１０５】
本実施形態ではエンジンＥＣＵ１０からドライバユニット２０へと目標回転数が入力される例を示した。しかしながら目標回転数をドライバユニット２０へと出力する電子制御装置としては上記例に限定されず、例えばハイブリッドＥＣＵからドライバユニット２０へと目標回転数を入力する構成を採用することもできる。
【０１０６】
本実施形態では回転角センサ５０がセンサ素子としてホール素子５１，５２を有する例を示した。しかしながらセンサ素子としては磁気信号を電気信号に変換する磁電変換素子であれば適宜採用することができる。
【０１０７】
本実施形態では回転角センサ５０が、Ｕ相ステータコイル２２４に対応するＵ相ホール素子５１と、Ｖ相ステータコイル２２５に対応するＶ相ホール素子５２と、を有する例を示した。しかしながら回転角センサ５０が有する２つのセンサ素子としては上記例に限定されず、３つのステータコイル２２４〜２２６の内の任意の２つに対応する２つのセンサ素子であればよい。
【０１０８】
本実施形態ではセンサ信号が００，１１の両方の場合に時間を計測し、その計測時間に基づいて回転角度を推定する例を示した。しかしながらセンサ信号が００、若しくは、１１のいずれか一方の時間のみを計測し、その計測時間に基づいて回転角度を推定してもよい。
【０１０９】
本実施形態では計測時間を目標回転数の変化量に基づいて補正する例を示した。しかしながら計測時間を補正しなくともよい。
【０１１０】
本実施形態ではモータ２００を正転させる際に制御信号をＩ〜ＶＩへと変化させる説明をしたが、モータ２００を逆転させる際の制御信号の変化について特に言及していなかった。モータ２００を逆転させる場合、正転時とは逆に、制御信号をＶＩ〜Ｉへと順次変化させる。
【０１１１】
本実施形態では停止状態のモータ２００を始動させる際に、モータ２００を正転させる例を示した。しかしながら始動時においてモータ２００を逆転させてもよい。この場合、図１１に示すステップＳ２６０において制御信号ＶＩを出力し、Ｓ２８０においてセンサ信号が１１か否かを判定する。そしてＳ２９０において制御信号ＩＶを出力し、ステップＳ３００において制御信号Ｖを出力する。またステップＳ２７０において制御信号ＩＩＩを出力し、Ｓ３１０においてセンサ信号が００か否かを判定する。そしてＳ３２０において制御信号Ｉを出力し、ステップＳ３００において制御信号ＩＩを出力する。最後に、ステップＳ２４０，Ｓ２５０，Ｓ２９０，Ｓ３００，Ｓ３２０，Ｓ３３０後は、センサ信号が００，１１の時間を計測し、その計測時間とセンサ信号とに基づいて制御信号をＶＩ〜Ｉへと順に出力してモータ２００を逆回転させる。
【０１１２】
なお上記したように始動時にモータ２００を逆転させる場合、Ｕ相ホール素子５１が自身に最も近いＵ相ステータコイル２２４に対して３０°だけ正転方向において進行側に配置されてもよい。同様にしてＶ相ホール素子５２が、身に最も近いＶ相ステータコイル２２５に対して３０°だけ正転方向において進行側に配置されてもよい。
【符号の説明】
【０１１３】
１０…エンジンＥＣＵ、２０…ドライバユニット、ドライバ３０、インバータ４０、５１…第１ホール素子、５２…第２ホール素子、２００…モータ、３００…内燃機関、３１０…バルブタイミング変換部
【図１】
0006398865.tif 000002
【図２】
0006398865.tif 000003
【図３】
0006398865.tif 000004
【図４】
0006398865.tif 000005
【図５】
0006398865.tif 000006
【図６】
0006398865.tif 000007
【図７】
0006398865.tif 000008
【図８】
0006398865.tif 000009
【図９】
0006398865.tif 000010
【図１０】
0006398865.tif 000011
【図１１】
0006398865.tif 000012