(57)【要約】【課題】モータの回転速度が低い場合であっても、故障解析のために十分なデータを保存することが可能なモータ制御装置を提供する。【解決手段】モータの回転速度が相対的に低い場合、三角波信号の山部及び谷部のタイミングに加え、その山部と谷部との途中のタイミングにおいても、ＲＡＭ３５の故障解析用データ記憶エリアにデータ群を記憶させるようにした。すなわち、三角波信号が変化する頻度よりも高い頻度でデータ群をサンプリングして、故障解析用データ記憶エリアに記憶するようにした。これにより、モータ制御装置２１に異常が発生した場合に、モータの回転速度に係わらず、故障解析のために十分なデータ群を得ることが可能となる。【選択図】図６
2015106930.tif 000002
【特許請求の範囲】
【請求項１】
指令信号と、三角波キャリア信号との比較結果に応じて生成されるＰＷＭ信号を用いて、インバータ回路（１９）の各スイッチング素子（２０）を駆動することにより、モータの回転状態を制御するモータ制御装置（２１）であって、
前記三角波キャリア信号の周波数は、前記モータの回転速度に応じて変化するものであり、前記三角波キャリア信号の変化に同期するタイミングで、前記モータの制御に用いる少なくとも１つの制御パラメータを取得する取得手段（Ｓ１００、Ｓ１２０、Ｓ３００〜S３２０）と、
前記取得手段によって取得された前記制御パラメータを記憶する記憶手段（３５）と、
前記モータ制御装置に異常が生じた場合に、その異常を検出する異常検出手段（Ｓ２００）と、
前記異常検出手段によって異常が検出されたとき、前記記憶手段に記憶された制御パラメータを保存する保存手段（Ｓ１５０）と、を備え、
前記取得手段は、前記三角波キャリア信号の周波数が、所定の周波数よりも低い場合、前記三角波キャリア信号が変化する頻度よりも高い頻度で前記制御パラメータを取得して、前記記憶手段に記憶させることを特徴とするモータ制御装置。
【請求項２】
前記取得手段は、前記三角波キャリア信号の周波数が低くなるほど、前記三角波キャリア信号の変化の頻度に対する、前記パラメータの取得の頻度を高くすることを特徴とする請求項１に記載のモータ制御装置。
【請求項３】
前記取得手段は、前記三角波キャリア信号の周期よりも短い時間間隔をカウントするカウント手段（Ｓ３１０）を有し、当該カウント手段が前記時間間隔のカウントを満了するごとに、前記制御パラメータを取得することを特徴とする請求項１又は２に記載のモータ制御装置。
【請求項４】
前記取得手段は、前記三角波キャリア信号に山部及び谷部が生じるタイミングで、前記制御パラメータを取得するとともに、前記カウント手段が、前記山部及び谷部が生じるタイミングを起点として前記時間間隔をカウントすることにより、前記山部及び谷部から前記時間間隔が経過するごとに、前記制御パラメータを取得することを特徴とする請求項３に記載のモータ制御装置。
【請求項５】
前記取得手段は、前記カウント手段による前記時間間隔のカウントによる制御パラメータの取得タイミングが、前記三角波キャリア信号の山部及び谷部が生じるタイミングから所定時間範囲に属する場合、前記時間間隔のカウントによる制御パラメータの取得をキャンセルすることを特徴とする請求項４に記載のモータ制御装置。
【請求項６】
前記記憶手段は、所定の複数個の前記制御パラメータを記憶可能なものであって、前記取得手段によって繰り返し取得された制御パラメータの数が前記所定の複数個に達した後は、最も古い制御パラメータを新たに取得された制御パラメータに書き換えて記憶し
前記保存手段は、前記記憶手段における書き換えを禁止することによって、前記制御パラメータを保存することを特徴とする請求項１乃至５のいずれかに記載のモータ制御装置。
【請求項７】
前記異常検出手段は、複数種類の異常を検出するものであり、
前記保存手段は、前記異常検出手段によって検出された異常の種類を示す情報を、前記記憶手段に記憶させることを特徴とする請求項６に記載のモータ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、指令信号と三角波キャリア信号との比較結果に応じて生成されたＰＷＭ信号を用いて、モータの回転状態を制御するモータ制御装置に関する。
【背景技術】
【０００２】
例えば、特許文献１に記載されているように、モータを含む装置に故障が発生した場合に、その故障原因などを解析するための故障解析用データとして、モータを制御するためのセンサデータ、制御処理過程で必要とするデータ、及び処理結果を示すデータなどを保存するようにしたものが知られている。
【０００３】
この特許文献１の装置では、正常に制御が行われているときには、ＲＡＭの第１のメモリ領域を使用して上述したセンサデータなどを一時的に記憶して、データの受け渡しに利用する。そして、故障が検出された場合には、データの一時記憶領域を、第１のメモリ領域から第２のメモリ領域に切り替える。この結果、第１のメモリ領域には、故障検出時のセンサデータ等のデータが保存されることになる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−２６９４５８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述した特許文献１の装置では、モータを制御するために用いる各種データをＲＡＭの第１のメモリ領域に一時的に記憶するようにしている。そのため、ＲＡＭの第１のメモリ領域に一時的に記憶される各種データの更新周期は、モータ制御のために、センサデータなどをサンプリングする周期と同じになる。
【０００６】
ここで、一般的には、モータ制御のためのセンサデータのサンプリング周期は、モータの回転速度に応じて変化する。例えば、モータの回転速度が低い場合には、モータの各相のステータコイルへの通電の切り換え周期が長くなる。そのため、センサデータとして各相に流れる電流をサンプリングする場合、そのサンプリング周期は、モータの回転速度が低くなるほど、長くなるように設定される。
【０００７】
一方、故障発生時には、例えばモータの各相に通電される電流値などが急変することも起こりえる。そのため、特許文献１の装置では、特に、モータの回転速度が低い場合に、ＲＡＭに記憶されるデータの更新周期が長くなりすぎて、故障解析用データが不十分となる虞がある。
【０００８】
本発明は、上述した点に鑑みてなされたものであり、モータの回転速度が低い場合であっても、故障解析のために十分なデータを保存することが可能なモータ制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、本発明によるモータ制御装置（２１）は、指令信号と、三角波キャリア信号との比較結果に応じて生成されるＰＷＭ信号を用いて、インバータ回路（１９）の各スイッチング素子（２０）を駆動することにより、モータの回転状態を制御するものであって、
三角波キャリア信号の周波数は、モータの回転速度に応じて変化するものであり、三角波キャリア信号の変化に同期するタイミングで、モータの制御に用いる少なくとも１つの制御パラメータを取得する取得手段（Ｓ１００、Ｓ１２０、Ｓ３００〜Ｓ３２０）と、
取得手段によって取得された制御パラメータを記憶する記憶手段（３５）と、
モータ制御装置に異常が生じた場合に、その異常を検出する異常検出手段（Ｓ２００）と、
異常検出手段によって異常が検出されたとき、記憶手段に記憶された制御パラメータを保存する保存手段（Ｓ１５０）と、を備え、
取得手段は、三角波キャリア信号の周波数が、所定の周波数よりも低い場合、三角波キャリア信号が変化する頻度よりも高い頻度で制御パラメータを取得して、記憶手段に記憶させることを特徴とする。
【００１０】
上述したように、本発明では、指令信号と、三角波キャリア信号との比較結果に応じて生成されるＰＷＭ信号を用いてモータの回転状態を制御する。三角波キャリア信号の周波数は、モータの回転速度に応じて変化するように調整される。取得手段は、三角波キャリア信号の変化に同期するタイミングで、モータの制御に用いる少なくとも１つの制御パラメータを取得して、記憶手段に記憶させる。従って、モータの回転速度が相対的に高い場合には、三角波キャリア信号の周波数も高くなるので、取得手段は、比較的短い周期で制御パラメータを取得して、記憶手段に記憶させることができる。
【００１１】
しかしながら、モータの回転速度が相対的に低くなると、三角波キャリア信号の周波数も低下する。そのため、取得手段が制御パラメータを取得し、記憶手段に記憶させる周期も長くなってしまう。この場合、記憶手段に記憶される制御パラメータでは、故障解析のためのデータとしては、不十分になる虞がある。
【００１２】
そこで、本発明では、三角波キャリア信号の周波数が所定の周波数よりも低い場合、取得手段が、三角波キャリア信号が変化する頻度よりも高い頻度で制御パラメータを取得して、記憶手段に記憶させることとした。これにより、モータ制御装置に異常が発生した場合に、記憶手段に記憶された制御パラメータを保存することで、モータの回転速度に係わらず、故障解析のために十分なデータを保存することが可能となる。
【００１３】
なお、上記括弧内の参照番号は、本発明の理解を容易にすべく、後述する実施形態における具体的な構成との対応関係の一例を示すものにすぎず、なんら本発明の範囲を制限することを意図したものではない。
【００１４】
また、上述した特徴以外の、特許請求の範囲の各請求項に記載した技術的特徴に関しては、後述する実施形態の説明及び添付図面から明らかになる。
【図面の簡単な説明】
【００１５】
【図１】実施形態に係るモータ制御装置の全体構成を示すブロック図である。
【図２】指令値と三角波信号との比較により、ＰＷＭ信号を生成する様子を示した図である。
【図３】ＲＡＭにおける、故障解析用データの記憶エリアの一例を示す図である。
【図４】三角波信号の周波数が相対的に高い場合において、三角波信号の山部及び谷部が発生するタイミングにて、モータ制御用のセンサ検出信号をサンプリングし、制御用データとしてＲＡＭに記憶するとともに、同じタイミングにて、故障解析用データをＲＡＭの故障解析用データ記憶エリアの各ブロックに記憶させた場合の波形図である。
【図５】三角波信号の周波数が相対的に低い場合における問題点を説明するための、図４と同種の波形図である。
【図６】本実施形態に係るモータ制御装置において、故障解析用データを記憶する処理の特徴を説明するための波形図である。
【図７】本実施形態に係るモータ制御装置において、故障解析用データを記憶する処理を示すフローチャートである。
【図８】異常検出処理について説明するためのフローチャートである。
【図９】故障解析用データのサンプリングタイミングを設定するための処理を示すフローチャートである。
【図１０】過電流検出処理を示すフローチャートである。
【発明を実施するための形態】
【００１６】
以下、本発明の実施形態に係るモータ制御装置について、図面を参照しつつ詳細に説明する。図１は、本実施形態に係るモータ制御装置の全体構成を示すブロック図である。なお、本実施形態に係るモータ制御装置は、例えば車両に搭載され、燃料タンクに貯留された燃料を汲み上げて、燃料噴射システムへ提供する燃料ポンプのモータを駆動するために用いられたり、あるいは、いわゆるエアコンにおいて、車室内に吹き出す風量を調節するためのブロワファンのモータを駆動するために用いられたりする。ただし、本実施形態のモータ制御装置によって駆動制御されるモータの用途は、これらに限られるものではない。
【００１７】
本実施形態に係るモータ制御装置が制御対象とするモータ（図示せず）として、例えばロータに永久磁石を有し、ステータに３相分のステータコイルを有する、３相ブラシレスモータを用いることができる。ただし、本実施形態に係るモータ制御装置が制御対象とするモータは、３相ブラシレスモータのみに限られるものではなく、ブラシ付きモータや、あるいは誘導モータであっても良い。さらには、２相もしくは３相以上の多相モータであってもよい。
【００１８】
本実施形態のモータ制御装置２１には、モータ制御のため、及び／又は、モータ制御装置に何らかの異常が生じた場合に、その異常を検出するため、電源電圧センサ１０、インバータ入力電圧センサ１１、温度センサ１２、Ｖ相電流センサ１３及びＷ相電流センサ１４などの各種のセンサからの検出信号が入力される。
【００１９】
電源電圧センサ１０は、モータ制御装置２１に供給される電源電圧を検出する。インバータ入力電圧センサ１１は、インバータ回路１９へ入力される電圧を検出する。温度センサ１２は、インバータ回路１９における各スイッチング素子２０の温度を検出する。Ｖ相電流センサ１３及びＷ相電流センサ１４は、モータのＶ相ステータコイル及びＷ相ステータコイルに流れる電流をそれぞれ検出する。
【００２０】
上述した各種センサによる検出値がモータ制御に利用される一例について説明する。例えば、本実施形態に係るモータ制御装置２１では、モータの各相に流れる電流の目標値（指令値）が定められ、Ｖ相電流センサ１３及びＷ相電流センサ１４によって検出される実際の電流が定められた目標値に近づくように電流フィードバック制御が実行される。この電流フィードバック制御は、各相に流れる電流、モータの回転速度、外部から与えられる要求トルクなどに基づいて指令値を定め、この指令値と三角波キャリア信号との比較により、インバータ回路１９の各スイッチング素子を駆動するためのＰＷＭ信号を生成することにより行われる。
【００２１】
なお、インバータ回路１９の入力電圧は、スイッチング素子２０がオンしたときに、モータに印加されるものである。また、インバータ回路１９のスイッチング素子２０の温度が所定温度を超えて高温になった場合、スイッチング素子２０の損傷を防止するため、スイッチング素子のオン時間を短くすることが望まれる。このような理由から、本実施形態によるモータ制御装置２１では、電流フィードバック制御を実行する際に、インバータ入力電圧及びスイッチング素子温度も考慮して、指令値を算出するようにしている。
【００２２】
次に、上述した各種センサによる検出値が異常検出に利用される一例について説明する。本実施形態に係るモータ制御装置２１では、上述した各種のセンサによって検出される検出値に対し、正常な変動範囲が予め定められている。モータ制御装置２１が、正常に作動して、モータ制御を実行している場合、各種センサの検出値は、正常な変動範囲に収まる。しかしながら、モータ制御装置２１になんらかの異常が生じた場合には、各種センサの検出値が正常な変動範囲を逸脱する場合がある。そのため、本実施形態では、各種センサの検出値が、それぞれの正常な変動範囲を逸脱した場合に、モータ制御装置２１に異常が生じたとみなす。
【００２３】
また、モータ制御装置２１の異常の一例として、モータの各相のステータコイルに過剰な電流が流れてしまうことが挙げられる。この過電流状態は、Ｖ相電流センサ１３及びＷ相電流センサ１４によって検出される電流が、正常な変動範囲の上限を超えたことをもって判断しても良い。しかし、本実施形態では、ノイズによる誤検出の低減、及び過電流状態の検出の遅延防止のため、専用の過電流検出回路２４を設けている。この過電流検出回路２４は、Ｖ相電流センサ１３及びＷ相電流センサ１４によって検出される電流が所定の上限値を超えたときに過電流信号を出力する。この過電流信号の出力が所定時間（数十ｍｓ）継続した場合、モータの各相のステータコイルに過剰な電流が流れる過電流状態であることが検出される。
【００２４】
上述した各種のセンサの検出信号は、所定のサンプリング周期で、マルチプレクサ２２を介してＡ／Ｄコンバータ２３に順番に出力される。なお、サンプリング周期については、後に詳細に説明する。Ａ／Ｄコンバータ２３は、入力されたアナログの検出信号を、デジタルの検出信号に変換する。変換された検出信号は、入力ポート２５を介して、バス２６に出力される。これにより、ＣＰＵ３７は、各種センサの検出信号に基づいて、モータ制御のための処理を行ったり、ＲＡＭ３５に一時点に記憶させたりすることが可能になる。
【００２５】
モータ制御装置２１には、イグニッションスイッチの状態に応じた信号を出力するＩＧ信号センサ１５からの信号も入力されている。このＩＧ信号センサ１５からの信号が、入力回路２７及び入出力ポート３０を介して取り込まれることで、モータ制御装置２１は、イグニッションスイッチのオン、オフに連動して、動作を開始したり、停止したりすることが可能となる。
【００２６】
モータには、当該モータの回転角度に関連する位置情報を検出して出力する位置検出装置として、レゾルバセンサ１６が設けられている。このレゾルバセンサ１６の検出信号も入力回路２８及び入出力ポート３０を介してモータ制御装置２１に取り込まれる。レゾルバセンサ１６は、良く知られているように、モータのロータとステータとにそれぞれ設けられたコイルを有する。そして、ロータ側のコイルに交流電圧を加えた状態でロータが回転すると、ステータ側のコイルとの距離が変化するので、ステータ側のコイルには、振幅が変化する交流電圧が発生する。この電圧変化から、モータの回転角度位置や回転速度を検出することができる。
【００２７】
あるいは、位置検出装置として、３相の各々の相に与えられる擬似交流電流（擬似正弦波電流）であるＵ相、Ｖ相、Ｗ相電流の電流位相を検出する３個のホール素子を用いても良い。これらのホール素子は、それぞれ特定のステータコイルの電流変化を、磁束の変化として検出する。３相ブラシレスモータにおいては、３相の擬似交流電流であるＵ相電流、Ｖ相電流、Ｗ相電流の位相が１２０度づつずれている。従って、３個のホール素子の検出信号を組み合わせることにより、モータ（ロータ）が６０度回転するごとに、その回転位置を検出することができる。そして、モータが６０度回転するために要した時間から、モータの単位時間当りの回転数（すなわち、回転速度）を算出することができる。
【００２８】
また、位置検出装置として、上述したようなレゾルバセンサ１６やホール素子を設けることなく、モータの各相の誘起電圧から、モータの回転位置及び回転速度を演算しても良い。
【００２９】
故障診断装置１７は、モータ制御装置２１に異常が発生して、故障した場合に、ディーラなどでモータ制御装置２１に接続され、ＲＡＭ３５に保存された故障解析用データを読み出して、故障箇所や故障の態様などを診断するものである。故障診断装置１７は、モータ制御装置２１の通信回路２９に接続され、この通信回路２９との間で各種の情報をやり取りする。例えば、故障診断装置１７から通信回路２９に、故障解析用データの読み出し要求が送信される。この読み出し要求に応じて、ＣＰＵ３７がＲＡＭ３５から故障解析用データを読み出し、通信回路２９を通じて、故障診断装置１７に送信する。
【００３０】
また、モータ制御装置２１に異常が発生した場合、出力ポート３２及び駆動回路３１を介して、警告灯などの異常警告手段を駆動するための駆動信号が出力される。この異常警告により、車両のユーザに異常の発生を認識させることができ、ディーラ等へ車両を持ち込むことを促すことができる。
【００３１】
モータ制御装置２１においては、主として、ＣＰＵ３７が、ＲＯＭ３６に記憶された制御プログラムに従って種々の処理を実行することで、モータ制御が実行される。例えば、ＣＰＵ３７は、図２に示すように、外部から与えられる要求トルクやモータの実際の回転速度に基づいて各相に対応した指令値（Ｕ相指令値、Ｖ相指令値、Ｗ相指令値）を算出する。この指令値の算出は、例えばモータが所定角度進むごとに実行される。算出された指令値は、モータ制御装置２１において発生された三角波信号と比較される。そして、ＣＰＵ３７は、指令値と三角波信号との比較結果から、各相のステータコイルへ通電する擬似交流電流を発生させるためのＰＷＭ信号を生成する。
【００３２】
各相に対応して生成されたＰＷＭ信号は、出力ポート３４及び駆動回路３３を介してインバータ回路１９に出力される。インバータ回路１９は、モータのＵ相、Ｖ相、Ｗ相に対応するように、ブリッジ接続された１対のスイッチング素子２０を３組有している。ＰＷＭ信号は、それらのスイッチング素子２０のゲートに供給され、各スイッチング素子２０が、対応するＰＷＭ信号に従ってそれぞれオンオフされる。これにより、モータの各相のステータコイルには、指令値に応じた擬似交流電流が通電される。
【００３３】
ここで、図２に示すように、指令値は正弦波形状を持つように算出され、その正弦波の周波数が、モータの回転速度が速くなるほど高くなる（周期が短くなる）ように定められる。一方、三角波信号は、例えばカウントアップとカウントダウンとを交互に繰り返すアップダウンカウンタを用いて生成される。このアップダウンカウンタは、ハード的なものでも、ソフト的なものであっても良い。この三角波信号の周波数や周期も、指令値の周波数や周期と同様の傾向を持って変化するように、同じタイミングで、例えば、カウントアップ及びカウントダウンする値が変更されたり、カウントアップ及びカウントダウンするクロック周波数が変更されたりする。これにより、生成されるＰＷＭ信号の周期を適切に調整することができる。
【００３４】
発振回路３８は、例えば水晶振動子を有し、一定周波数のクロック信号を発生する。発振回路３８により発生される一定周波数のクロック信号は、そのクロック信号に従ってモータ制御装置２１が動作した場合、モータが最高回転速度で回転していても、指令値の算出を含むＰＷＭ信号の生成に必要な処理を完了できるように設定されている。
【００３５】
ＲＡＭ３５は、モータ制御に必要なセンサの検出信号や、ＣＰＵ３７による制御処理過程で算出されたデータなどを一時的に記憶する。さらに、このＲＡＭ３５には、故障解析用データを記憶するための故障解析用データ記憶エリアが定められている。
【００３６】
図３は、ＲＡＭ３５における、故障解析用データ記憶エリアの一例を示している。この故障解析用データ記憶エリアには、図３に示すように、電源電圧値、Ｖ相電流値、Ｗ相電流値、素子温度など、各種のセンサによって検出される複数のデータからなるデータ群が記憶される。なお、記憶されるデータ群には、ＣＰＵ３７による演算処理結果が含まれていても良い。故障解析用データ記憶エリアは、ｎ個のブロックに区画されている。従って、各データを周期的にサンプリングして記憶する際、故障解析用データ記憶エリアにｎ周期分のデータ群を保持しておくことが可能である。周期的にサンプリングして記憶したデータ群の数がｎ個に達した後は、最も古いデータ群を保存しているブロックが新たに取得したデータ群によって書き換えられる。
【００３７】
さらに、ＲＡＭ３５の故障解析用データ記憶エリアには、異常が発生したときに、その異常の種類を示す異常コードを記憶するための領域が設けられている。ＣＰＵ３７が、モータ制御装置２１になんらかの異常が生じたことを検出して、その異常の種類を示す異常コードを異常コード記憶領域に書き込むと、それ以降の故障解析用データ記憶エリア内のデータ群の書き換えが禁止され、記憶されているデータ群がフリーズされる。また、ＲＡＭ３５の故障解析用データ記憶エリアには、データ群がフリーズされたとき、データ群が記憶されているブロック数を記憶するための領域も設けられている。
【００３８】
次に、本実施形態のモータ制御装置２１の特徴部分に係る、故障解析用データの記憶処理について、詳しく説明する。
【００３９】
上述したように、本実施形態のモータ制御装置２１においては、指令値と三角波信号との比較結果に応じて生成されるＰＷＭ信号を用いてモータの回転状態が制御される。その際、三角波信号の周波数及び周期は、モータの回転速度に応じて変化するように調整される。
【００４０】
ここで、図２に示されるように、原則として、三角波信号中の１個の三角波に対して１個のＰＷＭ信号が生成される。このＰＷＭ信号により、スイッチング素子がオン、オフされ、各相の電流が変化する。このため、モータ制御のためのセンサ検出信号は、三角波信号の変化に同期するタイミングで、サンプリングすると都合が良い。このようにすると、モータの回転速度が高くなるとサンプリング周期が短くなり、逆に回転速度が低くなるとサンプリング周期が長くなる。従って、検出対象となるパラメータの変化の周期に追従するように、サンプリング周期を変更することができるためである。
【００４１】
図４は、一例として、三角波信号の山部及び谷部が発生するタイミングにて、モータ制御用のセンサ検出信号をサンプリングし、制御用データとしてＲＡＭ３５に記憶するとともに、同じタイミングにて、故障解析用データをＲＡＭ３５の記憶エリアの各ブロックに記憶させた場合の波形図を示している。なお、図４において、制御用データ及び各ブロックに記されているアルファベットは、どの時点でサンプリングしたデータであるかを示している。また、図４には、故障解析用データを保存するブロック数を“４”とした例を示している。
【００４２】
この場合、図４に示すように、モータの回転速度が相対的に高い場合には、三角波信号の周波数も高くなる。このため、比較的短い周期でデータをサンプリングすることができるので、十分なデータ群をＲＡＭ３５の故障解析用データ記憶エリアに記憶させることができる。したがって、モータ制御装置２１に故障が発生した場合、その故障解析用データから、故障の箇所や故障の態様などを解析することが可能となる。
【００４３】
一方、図５に示すように、モータの回転速度が相対的に低い場合には、三角波信号の周波数も低下する。そのため、データのサンプリング周期も相対的に長くなってしまう。故障発生時には、例えばモータの各相に通電される電流値などが急変することも起こりえる。このような観点からすると、モータの回転速度が低い場合、故障解析用データが不十分となる虞がある。
【００４４】
そのため、本実施形態に係るモータ制御装置２１においては、図６に示すように、モータの回転速度が相対的に低い場合、三角波信号の山部及び谷部のタイミングに加え、その山部と谷部との途中のタイミングにおいても、ＲＡＭ３５の故障解析用データ記憶エリアにデータ群を記憶させるようにした。すなわち、三角波信号が変化する頻度よりも高い頻度でデータ群をサンプリングして、故障解析用データ記憶エリアに記憶するようにした。これにより、モータ制御装置２１に異常が発生した場合に、モータの回転速度に係わらず、故障解析のために十分なデータ群を得ることが可能となる。
【００４５】
以下、モータ制御装置２１において実行される故障解析用データを記憶するための具体的な制御処理に関して、図７〜図９のフローチャートを参照して説明する。まず、図７のフローチャートに示す処理について説明する。この処理は、所定時間経過するごとに実行される。
【００４６】
まず、ステップＳ１００では、故障解析用データとして、ＲＡＭ３５に記憶するデータ群のサンプリングタイミングが到来したか否かを判定する。サンプリングタイミングが到来したか否かは、例えば上述したアップダウンカウンタのカウント値に基づいて判定することができる。サンプリングタイミングが到来したと判定した場合には、ステップＳ１１０の処理に進む。一方、まだサンプリングタイミングが到来していないと判定した場合には、サンプリングタイミングとなるまで待機する。
【００４７】
ステップＳ１１０では、ＲＡＭ３５に、既に異常コードが書き込まれているか否かを判定する。異常コードが書き込まれている場合、ＲＡＭ３５の故障解析用データ記憶エリアは、保護されている状態である。そのため、ステップＳ１２０以降の処理を実行することなく、図７のフローチャートに示す処理を終了する。一方、異常コードが書き込まれていない場合、ステップＳ１２０の処理に進む。
【００４８】
ステップＳ１２０では、マルチプレクサ２２及びＡ／Ｄコンバータ２３を動作させて、各センサの検出信号をサンプリングして取得する。続くステップＳ１３０では、ステップＳ１２０において取得したセンサ検出信号を、ＲＡＭ３５の故障解析用データ記憶エリアの該当するブロックに書き込んで記憶させる。この際、該当のブロックに古いデータが記憶されている場合には、新たに取得したデータが古いデータに上書きされ、データ内容が更新される。
【００４９】
ここで、図８のフローチャートのステップＳ２００に示すように、図７のフローチャートの処理とは別個に、所定の周期で、異常検出処理が繰り返し実行される。この異常検出処理は、上述したように、各センサの検出値が、正常な変動範囲に収まっているか否か、あるいは、過電流検出回路２４から出力される過電流信号が所定時間（数十ｍｓ）継続したか否かなどに基づいて、モータ制御装置２１に異常が発生したことが検出される。
【００５０】
そして、図７のフローチャートのステップＳ１４０では、上述した異常検出処理の検出結果に基づいて、異常が検出されたか否かが判定される。この際、異常が検出されたと判定されると、ステップＳ１５０に進み、検出された異常の種類を示す異常コードをＲＡＭ３５にセットする。
【００５１】
次に、図９のフローチャートに示す処理について説明する。この処理は、三角波信号の周波数が変更されるタイミング毎に実行される。
【００５２】
ステップＳ３００では、三角波信号の周波数が所定の閾値以下であるか否かが判定される。この判定処理において、所定の閾値以下と判定された場合、ステップＳ３１０の処理に進む。一方、所定の閾値よりも高いと判定された場合、ステップＳ３２０の処理に進む。
【００５３】
処理がステップＳ３１０に進むとき、モータの回転速度が相対的に低く、三角波信号の周波数も相対的に低く調節された状態である。このため、ステップＳ３１０では、三角波信号の山部及び谷部のタイミングに加え、その山部と谷部との途中のタイミングも、サンプリングタイミングとして設定する。山部と谷部との途中のタイミングをサンプリングタイミングとして定めるには、例えば、山部から谷部までの時間間隔よりも短い所定の時間間隔をカウントするカウンタを設ける。そして、カウンタが所定の時間間隔のカウントを満了する毎の定時タイミングをサンプリングタイミングとすれば良い。
【００５４】
このようにすると、三角波信号の周波数が低くなるほど、山部と谷部との間に含まれる定時タイミングの数が増加する。そのため、三角波信号の周波数が低くなるほど、三角波信号の変化の頻度に対して、故障解析用データをサンプリングする頻度を高くすることができる。
【００５５】
この際、図６に示すように、カウンタは、山部及び谷部が生じるタイミングを起点として、所定の時間間隔をカウントするようにしても良い。このようにすると、大部分の区間におけるサンプリング間隔を揃えることが可能となる。ただし、この場合、カウンタのカウント満了による定時タイミングと、山部及び谷部のタイミングとが重なったり、近接したりすることが考えられる。あまりにも短時間の内に、故障解析用データのサンプリングを繰り返すことは必要ないので、定時タイミングと山部及び谷部とのタイミングとが時間差が、所定範囲内である場合には、定時タイミングによるサンプリングをキャンセルするようにしても良い。
【００５６】
さらに、サンプリング間隔を均等にすべく、山部から谷部までの時間間隔を所定数の区間に等分するように、カウンタがカウントする時間を定めるようにしても良い。
【００５７】
上述した各例において、三角波の周波数の変化に応じて、カウンタがカウントする時間を変更するようにしても良い。これにより、三角波の周波数の変化に対応して、適切なサンプリング間隔を定めることが可能になる。
【００５８】
あるいは、故障解析用データのサンプリング間隔は、三角波信号の山部及び谷部とは無関係に、カウンタがカウントを満了するタイミングだけから決定しても良い。この場合、ステップＳ２００における所定の閾値に相当する三角波信号の周波数における山部と谷部との時間間隔よりも、カウンタがカウントする時間間隔を短く設定することで、三角波信号の変化の頻度よりも高い頻度で、故障解析用データを取得することができる。さらに、カウンタがカウントする時間間隔のみでサンプリングタイミングを定めるので、そのサンプリング間隔も均等にすることができる。
【００５９】
カウンタがカウントする時間間隔のみでサンプリングタイミングを定める場合、その時間間隔を、三角波信号の周波数の変化に応じて変更するようにしても良い。このようにすると、三角波の周波数の変化に対応して、適切なサンプリング間隔を定めることが可能になる。
【００６０】
一方、ステップＳ３２０では、モータの回転速度は相対的に高く、三角波の周波数も相対的に高い状態であるため、カウンタによる定時タイミングは使用せず、三角波の山部及び谷部のタイミングを、故障解析用データのサンプリングタイミングに設定する。
【００６１】
次に、図１０のフローチャートに示す処理について説明する。図１０のフローチャートは、過電流検出回路２４から出力される過電流信号に基づいて、過電流異常を判定する際の処理を示している。
【００６２】
まず、ステップＳ４００では、過電流検出回路２４から過電流信号が出力されているか否かに基づき、過電流が検出されているかどうかを判定する。過電流が検出されている場合、ステップＳ４１０に進んで、過電流異常カウンタによるカウントを開始させる。既に、過電流異常カウンタのカウントが開始されている場合には、そのカウントを継続させる。
【００６３】
続くステップＳ４２０では、過電流異常カウンタのカウント時間が、所定時間（例えば数十ｍｓ）に達したか否かが判定される。そして、過電流異常カウンタのカウント時間が所定時間に達したと判定されると、ステップＳ４３０に進んで、過電流異常フラグをセットする。このような処理により、例えばノイズにより各相のステータコイルの電流が極短時間変動したような場合に、誤って過電流異常を検出してしまうことが防止できる。
【００６４】
ステップＳ４００にて、過電流は検出されていないと判定された場合、ステップＳ４４０の処理が実行される。ステップＳ４４０では、過電流異常カウンタをクリアする。また、続くステップＳ４５０では、過電流異常フラグをクリアする。
【００６５】
以上、本発明の好ましい実施形態について説明したが、本発明は、上述した実施形態になんら制限されることなく、本発明の主旨を逸脱しない範囲において、種々変形して実施することが可能である。
【００６６】
例えば、上述した実施形態では、異常が検出された場合、ＲＡＭ３５の故障解析用データ記憶エリアのデータ群をフリーズすることにより、故障診断用データを保存するようにした。しかしながら、別途、不揮発性メモリを用意しておき、ＣＰＵ３７の処理の空き時間を利用して、故障解析用データ記憶エリアのデータ群を不揮発性メモリにコピーして保存するようにしても良い。
【００６７】
また、上述した実施形態では、三角波信号の変化に同期するタイミングとして、三角波信号の山部及び谷部のタイミングで、センサ検出信号をサンプリングした。しかしながら、三角波信号に同期するタイミングとしては、必ずしも山部及び谷部のタイミングに限られる訳ではなく、例えば山部及び谷部から所定時間経過したタイミングや、山部と谷部との中間点となるタイミングを用いても良い。
【符号の説明】
【００６８】
１０  電源電圧センサ、１１  インバータ入力電圧センサ、１２  温度センサ、１３  Ｖ相電流センサ、１４  Ｗ相電流センサ、１５  ＩＧ信号センサ、１６  レゾルバセンサ、１７  故障診断装置、１８  異常警告手段、１９  インバータ回路、２０  スイッチング素子、２１  モータ制御装置、２２  マルチプレクサ、２３  Ａ／Ｄコンバータ、２４  過電流検出回路、２５  入力ポート、２６  バス、２７  入力回路、２８  入力回路、２９  通信回路、３０  入出力ポート、３１  駆動回路、３２  出力ポート、３３  駆動回路、３４  出力ポート、３５  ＲＡＭ、３６  ＲＯＭ、３７  ＣＰＵ、３８  発振回路
【図１】
2015106930.tif 000003
【図２】
2015106930.tif 000004
【図３】
2015106930.tif 000005
【図４】
2015106930.tif 000006
【図５】
2015106930.tif 000007
【図６】
2015106930.tif 000008
【図７】
2015106930.tif 000009
【図８】
2015106930.tif 000010
【図９】
2015106930.tif 000011
【図１０】
2015106930.tif 000012