(57)【特許請求の範囲】
【請求項１】
指令信号とキャリア信号との比較結果に応じて生成されるＰＷＭ信号を用いてインバータ回路（３４）のスイッチング素子を駆動して、モータ（１７）の回転またはトルクを制御するモータ制御装置（２０）であって、
前記モータの制御に用いる最新の制御データを常時記憶する第１記憶領域（６８）、および、最新の制御データのみならず、現在から過去に遡る所定期間の制御データ群を記憶する第２記憶領域（６９）を有する一時記憶部（６１）と、
前記第１記憶領域の制御データに基づき前記モータを制御するモータ制御部（６３）と、
前記キャリア信号の所定のタイミングに同期して、前記モータ制御部を介さず直接に前記一時記憶部にアクセスして前記第１記憶領域の制御データを前記第２記憶領域に転送するデータ転送部（６４）と、
を備え、
前記データ転送部は、当該データ転送部の処理負荷が調整されるように、前記キャリア信号の周波数が高いほど、前記第１記憶領域の制御データを前記第２記憶領域に転送する頻度を下げるモータ制御装置。
【請求項２】
前記所定期間あるいはそれ以上の期間の制御データ群を保存する不揮発性メモリ（３２）と、
前記第２記憶領域の制御データ群を前記不揮発性メモリに保存するデータ保存部（６６）と、
をさらに備える請求項１に記載のモータ制御装置。
【請求項３】
前記モータ制御装置の異常を検出する異常検出部（６５）をさらに備えており、
前記不揮発性メモリは、複数のデータ保存領域（５１）を有しており、
前記データ保存部は、前記モータ制御装置の異常が検出されたとき、データ保存先を別のデータ保存領域に切り替える請求項２に記載のモータ制御装置。
【請求項４】
前記データ保存部は、
前記モータ制御装置の異常が検出されたとき、異常検出時刻を保存してからデータ保存先を別のデータ保存領域に切り替え、
データ保存先を切り替えるとき、全ての前記データ保存領域に制御データが保存されている場合には、異常検出時刻の最も古い制御データが保存されているデータ保存領域に切り替える請求項３に記載のモータ制御装置。
【請求項５】
前記データ保存部は、
前記モータ制御装置の異常が検出されたとき、異常検出重要度を保存してからデータ保存先を別のデータ保存領域に切り替え、
データ保存先を切り替えるとき、全ての前記データ保存領域に制御データが保存されている場合、異常検出重要度の最も低い制御データが保存されているデータ保存領域に切り替える請求項３に記載のモータ制御装置。
【請求項６】
前記データ保存部は、
前記モータ制御装置の異常が検出されたとき、異常検出時刻および異常検出重要度を保存してからデータ保存先を別のデータ保存領域に切り替え、
データ保存先を切り替えるとき、全ての前記データ保存領域に制御データが保存されている場合には、異常検出重要度の最も低い制御データが保存されているデータ保存領域に切り替え、
データ保存先を切り替えるとき、全ての前記データ保存領域に制御データが保存されており、且つ、異常検出重要度の最も低い制御データが保存されているデータ保存領域が複数ある場合には、異常検出時刻の最も古い制御データが保存されているデータ保存領域に切り替える請求項３に記載のモータ制御装置。
【請求項７】
前記データ保存領域は、前記第２記憶領域よりも容量が大きく、
前記データ保存部は、前記所定期間よりも長い期間の制御データ群を前記データ保存領域に保存する請求項２〜６のいずれか一項に記載のモータ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モータを制御するモータ制御装置に関する。
【背景技術】
【０００２】
従来、ＰＷＭ信号を用いてインバータ回路のスイッチング素子を駆動してモータの回転またはトルクを制御するモータ制御装置が知られている。この種のモータ制御装置では、異常が検出されたときのモータ制御用の制御データを故障解析用として保存するように構成されている。
【０００３】
例えば特許文献１では、ランダムアクセスメモリが２つの記憶領域を有しており、異常検出前には一方の記憶領域が通常処理に使用される。通常処理に使用される記憶領域には制御データが記憶され、当該制御データは常に最新のデータに更新される。そして、異常が検出されたとき、通常処理に使用する領域を他方の記憶領域に切り替えて、一方の記憶領域に記憶されている異常検出時点の制御データを故障解析用とする。これにより、故障解析用の制御データを他の領域に転送する時間を削減して、モータ制御のためのソフトウェア処理の負荷低減を図っている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−２６９４５８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１では、異常検出された瞬間の制御データしか得ることができない。この瞬間の制御データは、故障箇所を特定することは可能であるが、故障に至る原因を分析することは困難である。
本発明は、上述の点に鑑みてなされたものであり、その目的は、モータ制御のためのソフトウェア処理の負荷を増加させることなく、故障に至る原因を分析するための十分な制御データを保存することができるモータ制御装置を提供することである。
【課題を解決するための手段】
【０００６】
本発明は、指令信号とキャリア信号との比較結果に応じて生成されるＰＷＭ信号を用いてインバータ回路のスイッチング素子を駆動して、モータの回転またはトルクを制御するモータ制御装置であって、一時記憶部と、モータ制御部と、データ転送部とを備える。一時記憶部は、モータの制御に用いる最新の制御データを常時記憶する第１記憶領域、および、最新の制御データのみならず、現在から過去に遡る所定期間の制御データ群を記憶する第２記憶領域を有する。モータ制御部は、第１記憶領域の制御データに基づきモータを制御する。データ転送部は、キャリア信号の所定のタイミングに同期して、モータ制御部を介さず直接に一時記憶部にアクセスして第１記憶領域の制御データを第２記憶領域に転送する。データ転送部は、データ転送部の処理負荷が調整されるように、キャリア信号の周波数が高いほど、第１記憶領域の制御データを第２記憶領域に転送する頻度を下げる。
【０００７】
以上より、本発明では、データ転送部がモータ制御部を介さず直接一時記憶部にアクセスしてデータ転送を行うので、データ転送中もモータ制御部がモータ制御のためのソフトウェア処理を継続可能である。また、現在から過去に遡る所定期間の制御データ群が一時記憶部の第２記憶領域に記憶されるので、異常検出時には少なくともそれ以前の所定期間分の制御データを得ることができる。したがって、モータ制御のためのソフトウェア処理の負荷を増加させることなく、故障に至る原因を分析するための十分な制御データを保存することができる。
【図面の簡単な説明】
【０００８】
【図１】本発明の一実施形態によるモータ制御装置が適用された車両用の電動ステアリング装置を示す図である。
【図２】図１のモータ制御装置のハードウェア構成を示す図である。
【図３】図１のＭＣＵが有する機能部を説明するブロック図である。
【図４】図３のデータ転送部が第１記憶領域の制御データを第２記憶領域に転送する頻度を説明する図である。
【図５】図３のデータ保存部によるフラッシュメモリの使用方法を説明する図である。
【図６】図３のデータ保存部が制御データをフラッシュメモリに保存する処理を説明するフローチャートである。
【図７】図３のデータ保存部がフラッシュメモリのデータ保存先を切り替える処理を説明するフローチャートである。
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態を図面に基づき説明する。
［一実施形態］
本発明の一実施形態によるモータ制御装置は、図１の車両用の電動パワーステアリング装置１０に適用されている。図１において、ハンドル１１のコラム軸１２は、ユニバーサルジョイント１３、１４およびピニオンラック機構１５を介してタイロッド１６に連結されている。コラム軸１２には、ハンドル１１の操舵力を補助するモータ１７が減速ギア１８を介して連結されている。モータ制御装置２０は、トルクセンサ２１により検出された操舵トルクと車速センサ２２により検出された車速とに基づき、モータ１７に流す電流の指令値（以下、電流指令値）を演算する。そして、モータ制御装置２０は、モータ１７に実際に流れている電流の検出値（以下、電流検出値）が電流指令値に追従するようにモータ１７を制御する。
【００１０】
（モータ制御装置２０の構成）
先ず、モータ制御装置２０の構成について図２を参照して説明する。
モータ制御装置２０は、ＭＣＵ（マイクロコントロールユニット）３１と、フラッシュメモリ３２と、ドライバ回路３３と、インバータ３４と、電流検出回路３５と、位置検出回路３６と、電圧検出回路３７とを備えている。モータ制御装置２０は、ＰＷＭ信号を用いてインバータ３４のスイッチング素子を駆動することによりモータ１７のトルク等を制御する。ＰＷＭ信号は、三角波比較方式により生成される。
【００１１】
ＭＣＵ３１は、ＣＰＵ４１、ＲＯＭ４２、ＲＡＭ４３、Ｔｉｍｅｒ４４、ＣＡＮ４５、Ａ／Ｄ変換器４６、ＤＭＡＣ（ダイレクトアクセスコントローラ）４７、Ｉ／Ｆ（インターフェース）４８、バス４９等を備えている。ＣＰＵ４１は、ＲＯＭ４２に格納されたプログラムを実行して電動パワーステアリング装置１０を制御する。ＲＯＭ４２は、ＣＰＵ４１が実行する各種プログラム、例えばモータ１７を制御するためのプログラム、および、電動パワーステアリング装置１０の故障を検出するためのプログラム等を格納している。ＲＡＭ４３は、モータ制御に用いられる制御データ等を一時記憶するメインメモリである。制御データには、操舵トルク、車速、電流検出値、モータ回転角、各種処理の結果等のデータが含まれる。ＤＭＡＣ４７は、ＣＰＵ４１を介さず直接ＲＡＭ４３およびフラッシュメモリ３２等にアクセスしてデータ転送を行う。
【００１２】
フラッシュメモリ３２は、電源を切っても記憶内容を保持する不揮発性メモリであり、故障解析用の制御データを保存するｎ個のデータ保存領域５１１、５１２・・・５１ｎを有している。以下において、データ保存領域５１１、５１２・・・５１ｎを特に区別しないとき単にデータ保存領域５１と記載する。
ドライバ回路３３は、ＭＣＵ３１から入力される電流指令信号（すなわち、Ｓｕ、Ｓｖ、Ｓｗ）と三角波キャリア信号との比較結果に応じてＰＷＭ信号（すなわち、Ｕｐ、Ｕｎ、Ｖｐ、Ｖｎ、Ｗｐ、Ｗｎ）を生成する。ＰＷＭ信号は、電流指令信号が三角波キャリア信号よりも高ければＯＮ、低ければＯＦＦとなる信号である。
【００１３】
インバータ３４は、Ｈブリッジ回路を構成する図示しない６つのスイッチング素子を有しており、ドライバ回路３３から入力されるＰＷＭ信号に従い上記スイッチング素子をオンオフすることにより、モータ１７の各相巻線への通電を順次切り替える。ＰＷＭ信号のオンの時間幅（デューティ）が周期的に変化させられることにより、モータ駆動に最適な交流電圧が作られる。
電流検出回路３５は、Ｈブリッジ回路のシャント抵抗５２、５３に接続されており、モータ１７に実際に流れる電流を検出する。
【００１４】
位置検出回路３６は、例えばレゾルバ等から構成される位置センサ５４に接続されており、位置センサ５４の出力信号をモータ回転角信号として出力する。
電圧検出回路３７は、バッテリー５５からインバータ３４に印加されている電圧（以下、ＶＨ電圧）を検出する。
【００１５】
（ＭＣＵ３１の機能）
次に、ＭＣＵ３１が有する機能について図３〜図５を参照して説明する。
図３に示すように、ＭＣＵ３１は、一時記憶部６１と、データ更新部６２と、モータ制御部６３と、データ転送部６４と、異常検出部６５と、データ保存部６６とを備えている。
【００１６】
一時記憶部６１は、ＲＡＭ４３により構成されており、第１記憶領域６８および第２記憶領域６９を有している。第１記憶領域６８は、モータ１７の制御に用いる最新の制御データを記憶する。第２記憶領域６９は、現在から過去に遡る所定期間の制御データ群（すなわち、制御データの集まり）を記憶する。
【００１７】
データ更新部６２は、ＣＰＵ４１により構成されており、第１記憶領域６８の制御データを最新のものに更新するデータ更新処理を行う。
モータ制御部６３は、ＣＰＵ４１により構成されており、第１記憶領域６８の制御データに基づきモータ１７を制御するモータ制御処理を行う。具体的には、例えば、操舵トルクと車速とに基づき電流指令値を演算する。
【００１８】
データ転送部６４は、ＤＭＡＣ４７により構成されており、ＭＣＵ３１のタイマー機能により生成される三角波キャリア信号の所定のタイミングに同期して、モータ制御部６３を介さず直接に一時記憶部６１にアクセスして第１記憶領域６８の制御データを第２記憶領域６９に転送（コピー）する。第２記憶領域６９へのデータコピーは、リングバッファー処理（すなわち、最終アドレスに到達したら先頭アドレスに戻す処理）により行われる。データ転送処理中もモータ制御処理は継続される。
【００１９】
上記所定のタイミングは、三角波キャリア信号の山または谷に対応するタイミングである。三角波キャリア信号は、波形が時間と共に一定傾きの上昇と下降とを繰り返す信号である。三角波キャリア信号の山とは、１周期分の波形のうち最も上がったところを指し、また、三角波キャリア信号の谷とは、１周期分の波形のうち最も下がったところを指す。本実施形態では、データ転送部６４は、第１記憶領域６８の制御データを第２記憶領域６９に転送する頻度（以下、データ転送頻度）を、三角波キャリア信号の周波数に応じて図４に示すように変化させる。つまり、データ転送頻度は、三角波キャリア信号の周波数に応じて、三角波キャリア信号の半周期に１回、１周期に１回、２周期に１回・・・Ｎ周期に１回の中から適宜選択される。
【００２０】
図３に戻って、異常検出部６５は、各種センサのデータ等に基づきモータ制御装置２０の異常を検出する。上記異常には、例えばインバータ３４のスイッチング素子の短絡故障などがある。
【００２１】
データ保存部６６は、ＤＭＡＣ４７により構成されており、第２記憶領域６９に所定のデータ量が貯まった時点で、未保存の制御データをフラッシュメモリ３２に保存する。データ保存部６６によるデータ保存処理は、モータ制御処理よりも優先度の低いタスクにて実行される。フラッシュメモリ３２のデータ保存領域５１１、５１２・・・５１ｎは、第２記憶領域６９よりも容量が大きい。データ保存部６６は、データ保存先をデータ保存領域５１１、５１２・・・５１ｎのいずれか１つに切り替えて、前記所定期間よりも長い期間の制御データ群をデータ保存領域５１に保存する。データ保存領域５１へのデータコピーは、リングバッファー処理により行われる。
【００２２】
本実施形態では、データ保存部６６は、モータ制御装置２０の異常が検出されたとき、図５に示すように異常検出時刻、および、検出された異常の重要度（以下、異常検出重要度）を保存してから、データ保存先を別のデータ保存領域５１に切り替える。そして、データ保存先を切り替えるとき、全てのデータ保存領域５１に制御データが保存されている場合には、異常検出重要度の最も低い制御データが保存されているデータ保存領域５１に切り替える。また、データ保存先を切り替えるとき、全てのデータ保存領域５１に制御データが保存されており、かつ、異常検出重要度の最も低い制御データが保存されているデータ保存領域５１が複数ある場合には、異常検出時刻の最も古い制御データが保存されているデータ保存領域５１に切り替える。
【００２３】
（データ保存部６６が実行する処理）
次に、データ保存部６６が実行する処理について図６および図７を参照して説明する。
図６は、制御データをフラッシュメモリ３２に保存する処理である。図６のステップＳ１では、第２記憶領域６９に記憶されている制御データ群のうちフラッシュメモリ３２に未保存のデータ量が所定量（保存実行閾値）以上であるか否かが判定される。未保存のデータ量が所定のデータ量以上であると判定された場合（Ｓ１：ＹＥＳ）、処理はステップＳ２へ移行する。未保存のデータ量が所定量よりも小さいと判定された場合（Ｓ１：ＮＯ）、処理は図６のルーチンを抜ける。
【００２４】
ステップＳ２では、データ保存先として選択されているデータ保存領域５１の空き容量が無いか否かが判定される。空き容量が無いと判定された場合（Ｓ２：ＹＥＳ）、処理はステップＳ３へ移行する。空き容量があると判定された場合（Ｓ２：ＮＯ）、処理はステップＳ４へ移行する。
【００２５】
ステップＳ３では、データ保存領域５１の保存アドレスが先頭に移動される。ステップＳ３の後、処理はステップＳ４へ移行する。
ステップＳ４では、データ保存が実行され、保存アドレスが更新される。ステップＳ４の後、処理は図６のルーチンを抜ける。
【００２６】
図７は、フラッシュメモリ３２のデータ保存先を切り替える処理である。図７のステップＳ１１では、新たな異常が検出されたか否かが判定される。新たな異常が検出されたと判定された場合（Ｓ１１：ＹＥＳ）、処理はステップＳ１２へ移行する。新たな異常が検出されていないと判定された場合（Ｓ１１：ＮＯ）、処理は図７のルーチンを抜ける。
【００２７】
ステップＳ１２では、現在選択されているデータ保存領域５１に異常検出時刻および異常検出重要度が保存される。ステップＳ１２の後、処理はステップＳ１３へ移行する。
ステップＳ１３では、データ保存先が別のデータ保存領域５１に切り替えられる。ステップＳ１３の後、処理は図７のルーチンを抜ける。
【００２８】
（効果）
以上説明したように、本実施形態では、モータ制御装置２０は、一時記憶部６１と、モータ制御部６３と、データ転送部６４とを備える。一時記憶部６１は、モータ１７の制御に用いる最新の制御データを記憶する第１記憶領域６８、および、現在から過去に遡る所定期間の制御データ群を記憶する第２記憶領域６９を有する。モータ制御部６３は、第１記憶領域６８の制御データに基づきモータ１７を制御する。データ転送部６４は、キャリア信号の所定のタイミングに同期して、モータ制御部６３を介さず直接に一時記憶部６１にアクセスして第１記憶領域６８の制御データを第２記憶領域６９に転送する。
【００２９】
これにより、データ転送部６４がモータ制御部６３を介さず直接に一時記憶部６１にアクセスしてデータ転送を行うので、データ転送中もモータ制御部６３がモータ制御のためのソフトウェア処理を継続可能である。また、現在から過去に遡る所定期間の制御データ群が一時記憶部６１の第２記憶領域６９に記憶されるので、異常検出時には少なくともそれ以前の所定期間分の制御データを得ることができる。したがって、モータ制御のためのソフトウェア処理の負荷を増加させることなく、故障に至る原因を分析するための十分な制御データを保存することができる。
【００３０】
また、本実施形態では、データ転送部６４は、第１記憶領域６８の制御データを第２記憶領域６９に転送する頻度をキャリア信号の周波数に応じて変化させる。
これにより、データ転送部６４の処理負荷、および、第２記憶領域６９に記憶させる制御データ群の対応期間を調整可能である。
【００３１】
また、本実施形態では、モータ制御装置２０は、前記所定期間以上の期間の制御データ群を保存可能なフラッシュメモリ３２と、第２記憶領域６９の制御データ群をフラッシュメモリ３２に保存するデータ保存部６６とをさらに備える。
これにより、電源が切れた後であってもフラッシュメモリ３２のデータを基に故障に至った原因を解析することができる。
【００３２】
また、本実施形態では、モータ制御装置２０は、モータ制御装置２０の異常を検出する異常検出部６５をさらに備えている。フラッシュメモリ３２は、複数のデータ保存領域５１を有している。データ保存部６６は、モータ制御装置２０の異常が検出されたとき、データ保存先を別のデータ保存領域５１に切り替える。
これにより、複数の異常時の制御データを一度に取得して解析することができる。
【００３３】
また、本実施形態では、データ保存部６６は、モータ制御装置２０の異常が検出されたとき、異常検出時刻および異常検出重要度を保存してからデータ保存先を別のデータ保存領域５１に切り替える。また、データ保存先を切り替えるとき、全てのデータ保存領域５１に制御データが保存されている場合には、異常検出重要度の最も低い制御データが保存されているデータ保存領域５１に切り替える。また、データ保存先を切り替えるとき、全てのデータ保存領域５１に制御データが保存されており、且つ、異常検出重要度の最も低い制御データが保存されているデータ保存領域５１が複数ある場合には、異常検出時刻の最も古い制御データが保存されているデータ保存領域５１に切り替える。
これにより、有用な制御データを残しつつ、異常解析用の制御データの収集を続けることができる。
【００３４】
また、本実施形態では、データ保存領域５１は、第２記憶領域６９よりも容量が大きい。データ保存部６６は、前記所定期間よりも長い期間の制御データ群をデータ保存領域５１に保存する。
これにより、故障に至る原因を分析するための十分な制御データを保存することができる。
【００３５】
［他の実施形態］
本発明の他の実施形態では、データ保存部は、モータ制御装置の異常が検出されたとき、異常検出時刻および異常検出重要度の一方を保存してからデータ保存先を別のデータ保存領域に切り替えてもよい。その際、データ保存先を切り替えるとき、全てのデータ保存領域に制御データが保存されている場合、異常検出時刻および異常検出重要度の一方に基づき切り替え先が選択される。
本発明の他の実施形態では、データ転送は、キャリア信号の山および谷以外のタイミングに同期して行われてもよい。
【００３６】
本発明の他の実施形態では、ＲＡＭは、第１記憶領域および第２記憶領域以外の記憶領域を有していてもよい。
本発明の他の実施形態では、フラッシュメモリは、制御データ以外のデータを保存する領域を有していてもよい。
本発明の他の実施形態では、不揮発性メモリは、フラッシュメモリに限らず、他の種類のメモリであってもよい。また、不揮発性メモリは、ＭＣＵに内蔵されてもよい。
本発明の他の実施形態では、モータ制御装置は、電動パワーステアリング装置のモータに限らず、他のモータに適用されてもよい。
本発明は、上述した実施形態に限定されるものではなく、発明の趣旨を逸脱しない範囲で種々の形態で実施可能である。
【符号の説明】
【００３７】
１７・・・モータ
２０・・・モータ制御装置
３４・・・インバータ回路
６１・・・一時記憶部
６３・・・モータ制御部
６４・・・データ転送部
６８・・・第１記憶領域
６９・・・第２記憶領域
【図１】
0006589750.tif 000002
【図２】
0006589750.tif 000003
【図３】
0006589750.tif 000004
【図４】
0006589750.tif 000005
【図５】
0006589750.tif 000006
【図６】
0006589750.tif 000007
【図７】
0006589750.tif 000008