(58)【調査した分野】(Int.Cl.,DB名)
前記期間変更手段は、前記レゾルバ周期算出手段により算出される前記レゾルバ周期と前記レゾルバが一回転する間に前記レゾルバ信号を補正することが必要な一回転当たりのデータ数とに基づいて算出される前記レゾルバ信号を補正すべき時間間隔である補正周期と、前記メモリから前記データ領域へ前記対応誤差データを転送するために必要な最大の転送時間と、の関係に基づいて、前記所定期間を変更することを特徴とする請求項1記載のモータ制御装置。
前記期間変更手段は、前記関係に基づいた、前記最大の転送時間の間に前記レゾルバ信号を補正するのに必要な前記データ領域に格納すべき前記対応誤差データの数に応じて、前記所定期間を変更することを特徴とする請求項2記載のモータ制御装置。
前記対応誤差データは、現時点のレゾルバ回転角から回転方向にある、次に基準角度信号が発生される直後に前記レゾルバ信号が検出されるレゾルバ回転角に対応する誤差データと、現時点のレゾルバ回転角から逆回転方向にある、次に基準角度信号が発生される直後に前記レゾルバ信号が検出されるレゾルバ回転角に対応する誤差データと、を含むことを特徴とする請求項4記載のモータ制御装置。
【発明を実施するための形態】
【0009】
以下、図面を用いて、本発明に係るモータ制御装置の具体的な実施の形態について説明する。
【0010】
図1は、本発明の一実施例であるモータ制御装置10を備えるシステムの全体構成図を示す。
図2は、本実施例のモータ制御装置10の構成図を示す。
図3は、本実施例のモータ制御装置10が備えるモータ制御ハードIPの有するプリセット部の内部構成図を示す。また、
図4は、本実施例においてレゾルバの出力するレゾルバ信号の変化を表した図を示す。
【0011】
本実施例のモータ制御装置10は、例えば車両に搭載されるモータ12の回転を制御する装置である。モータ制御装置10は、マイクロコンピュータ(マイコン)14を主体に構成される電子制御ユニット(ECU)である。
【0012】
モータ12は、例えば、ハイブリッド自動車や電気自動車などの電気エネルギによって走行可能な車両を走行させる動力を発生する動力モータや電動パワーステアリング装置において運転者による操舵を補助するアシスト力を発生するアシストモータなどである。モータ12は、例えば三相の同期電動機である。モータ12による動力の発生は、ニッケル水素やリチウムイオン等の二次電池の直流電力がインバータで交流電力に変換されて供給されることにより実現される。モータ制御装置10は、マイコン14の指令に従ってモータ12の回転角度に応じて上記のインバータを適切にスイッチング駆動することによりそのモータ12の回転を制御する。
【0013】
モータ12の軸付近には、レゾルバ16が配設されている。レゾルバ16は、モータ12の回転角度に応じた電気信号であるレゾルバ信号(アナログ信号)を出力するセンサである。レゾルバ16は、モータ12が車体に対して機械的に一回転する間にn周期の信号を出力する、すなわち、モータ12が車体に対して機械角360°/nだけ回転する間に電気角360°分だけ変化する信号を出力するように構成されている。この点、レゾルバ16の出力するレゾルバ信号は、軸倍角数がnとなる信号である。尚、nは自然数である。
【0014】
レゾルバ16は、一つの励磁コイル20と、二つの検出コイル22,24と、を有している。励磁コイル20は、モータ制御装置10から一定周波数の励磁信号が印加されるコイルである。また、検出コイル22,24は、励磁コイル20への励磁信号の印加時にモータ12の回転角度に応じたレゾルバ信号を発生してモータ制御装置10に向けて出力するコイルであって、互いに直交する向きに延びるsinコイル及びcosコイルである。例えば、検出コイル22は、モータ12の回転角度θに応じて振幅が正弦波状に変化する正弦波信号を出力し、また、検出コイル24は、モータ12の回転角度θに応じて振幅が余弦波状に変化する余弦波信号を出力する。検出コイル18の出力する信号と検出コイル20の出力する信号とは、互いに電気角90°だけ位相のずれた信号である。
【0015】
モータ制御装置10は、上記のマイコン14と、受信回路30と、を備えている。受信回路30は、レゾルバ16の出力に接続されている。受信回路30は、レゾルバ16の出力するレゾルバ信号を受信する回路である。マイコン14は、受信回路30に接続するRDC32を有している。受信回路30で受信されたレゾルバ16からのレゾルバ信号は、RDC32に供給される。RDC32は、レゾルバ16から供給されるレゾルバ信号を角度データにデジタル変換するRD(レゾルバ−デジタル)コンバータである。
【0016】
以下、RDC32が出力する角度データが示すレゾルバ16の回転角度をレゾルバ回転角θorgと称す。RDC32は、レゾルバ16の角度データとして、レゾルバ回転角θorgに応じたA相パルス信号、そのA相パルス信号に対して電気角90°の位相差を有するB相パルス信号、及びレゾルバ16の基準角度(例えば電気角0°)を示す基準角度信号(ノースマーカ信号)を出力する。
【0017】
マイコン14は、また、CPU(Central Processing Unit;中央演算処理装置)34と、RAM(Random Access Memory)36と、ROM(Read Only Memory)38と、モータ制御ハードIP(Intellectual Property)40と、を有している。CPU34、RAM36、ROM38、及びモータ制御ハードIP40は、マイコン14内のバス42を介して上記のRDC32に接続されている。
【0018】
ROM38には、制御マップや制御プログラムが記憶されている。また、RAM36には、モータ制御に必要な後述のレゾルバ信号に対する誤差データを含む各種データが書き込まれると共に、読み出し可能に格納される。CPU34は、ROM38及びRAM36に記憶されている制御マップや制御プログラム,各種データ並びにRDC32の出力する角度データなどに従ってモータ制御を実行する。
【0019】
モータ制御ハードIP40は、マイコン14の内部でモータ制御を専用で行うハード回路ブロックである。RDC32の出力する角度データは、モータ制御ハードIP40に供給される。モータ制御ハードIP40は、制御部44と、データ領域46と、を有している。制御部44は、モータ制御に必要な処理を実行する部位である。また、データ領域46は、モータ制御に必要なデータを一時的に格納する部位である。
【0020】
制御部44は、誤差学習部50と、プリセット部52と、誤差補正部54と、を有している。誤差学習部50は、RDC32から供給されるレゾルバ16の角度データに基づいて、レゾルバ回転角θorg(すなわち、レゾルバ16の出力するレゾルバ信号)ごとの、真値に対する誤差を学習する部位である。誤差学習部50は、レゾルバ回転角θorgの誤差を学習した場合に、バス42を介してRAM36にアクセスして、その学習したレゾルバ回転角θorgの誤差のデータ(誤差データ)をRAM36に書き込む。尚、誤差学習部50が学習するレゾルバ回転角θorgの誤差データは、予め定められた角度ごとのものであればよい。
【0021】
プリセット部52は、後に詳述する如く、RAM36に書き込まれている誤差データをモータ制御ハードIP40に読み込む部位である。プリセット部52は、RAM36から読み込んだ誤差データをデータ領域46の有する学習データ領域48に格納する。誤差補正部54は、学習データ領域48に格納されている過去に学習された誤差データを読み込んだうえで、その誤差データに基づいて、モータ制御ハードIP40内でレゾルバ16の出力するレゾルバ信号を補正する部位である。学習データ領域48は、モータ制御ハードIP40内でレゾルバ信号の誤差補正に必要なレゾルバ回転角θorgの誤差データを格納する専用のデータ領域である。
【0022】
上記のプリセット部52は、具体的には
図3に示す如く、レゾルバ周期タイマ56と、定数格納部58と、必要データ数算出部60と、ノースマーカ算出部62と、メモリアクセス制御部64と、を有している。レゾルバ周期タイマ56は、RDC32からのレゾルバ16の角度データの変化に基づいてレゾルバ16の回転角度変化である角速度を測定したうえで、その角速度に基づいてレゾルバ16が電気角で一回転するのに要する時間であるレゾルバ周期Xを算出するタイマである。レゾルバ周期Xは、動的に変化するパラメータである。
【0023】
定数格納部58は、RAM36からデータ領域46の学習データ領域48へ予め転送しておく必要のある誤差データのデータ数を算出するために必要な定数を格納する部位である。定数格納部58に格納されている定数は、具体的には、RAM36からデータ領域46の学習データ領域48へ誤差データを転送するために必要な時間(転送時間)の最大値(最大転送時間)Tmax、及び、レゾルバ16が電気角で一回転する間にレゾルバ信号の誤差を学習する或いはレゾルバ信号を補正することが必要な一回転当たりのデータ数Mである。
【0024】
必要データ数算出部60は、レゾルバ周期タイマ56及び定数格納部58に接続されている。必要データ数算出部60は、レゾルバ周期タイマ56の算出したレゾルバ周期Xのデータと、定数格納部58に格納されている最大転送時間Tmax及び一回転当たりの必要データ数Mとに基づいて、RAM36からデータ領域46の学習データ領域48へ予め転送しておく必要のある誤差データのデータ数Cを算出する。
【0025】
例えば、レゾルバ周期Xと一回転当たりの必要データ数Mとに基づいて、レゾルバ信号の誤差を学習し或いはレゾルバ信号を補正すべき時間間隔である補正周期Y(=X/M)を算出したうえで、その周期Yと最大転送時間Tmaxとの関係に基づいて、上記転送の必要のある誤差データのデータ数Cを算出する。具体的には、レゾルバ周期Xが160μsであり、一回転当たりの必要データ数Mが16個であり、最大転送時間Tmaxが40μsである場合、上記の補正周期Yが10(=160/16)μsであるので、その10μsの補正周期Yと40μsの最大転送時間Tmaxとの関係から、予めRAM36から学習データ領域48へ転送しておく必要のある誤差データのデータ数Cを"4(=40/10)"以上(例えば、"5")に設定する。
【0026】
プリセット部52には、レゾルバ16からのレゾルバ信号に基づいて検出される、現時点でモータ12が回転する方向(回転方向)のデータ及び現時点でレゾルバ16が位置する回転角度(現在位置)のデータが入力される。ノースマーカ算出部62は、入力された回転方向のデータ及び現在位置のデータに基づいて、次にレゾルバ16が到達する軸の基準角度の位置(すなわち、RDC32が次回ノースマーカ信号を出力すると予測される位置)を算出する。
【0027】
メモリアクセス制御部64は、必要データ数算出部60及びノースマーカ算出部62に接続されていると共に、RDC32に接続されている。メモリアクセス制御部64は、RDC32から供給されるレゾルバ16の角度データが示す現時点のレゾルバ回転角θorgと、必要データ数算出部60の算出した予めRAM36から学習データ領域48へ転送しておく必要のある誤差データのデータ数Cと、に基づいて、現時点でのレゾルバ回転角θorgがRAM36から誤差データを読み込むべきタイミングに至ったか否かを判定する。尚、この読み込むタイミングは、将来的にレゾルバ信号が検出されるときのレゾルバ回転角(すなわち、RAM36から読み込む必要のある誤差データについてのレゾルバ回転角)に対して上記した最大転送時間Tmax(少なくとも上記の必要データ数C分のレゾルバ回転角差)以上前のタイミングである。
【0028】
そして、メモリアクセス制御部64は、現時点でのレゾルバ回転角θorgがそのタイミングに至ったと判定した場合に、RAM36にアクセスして、そのRAM36に書き込まれて記憶されている全誤差データの中から、将来的(具体的には、現時点から最大転送時間Tmax以上先)にレゾルバ信号が検出されるときのレゾルバ回転角に対応する誤差データを読み込み、学習データ領域48に格納する。かかるメモリアクセス制御部64による誤差データのRAM36からモータ制御ハードIP40内の学習データ領域48への転送は、モータ12の回転に伴って繰り返し行われる。
【0029】
このように、上記したモータ制御装置10の構成においては、RAM36に記憶されている全誤差データのうちの一部(具体的には、現時点から現時点のモータ回転方向に向けて最大転送時間Tmax以上先までのレゾルバ回転角の誤差データのみ)を、RAM36から読み出し、モータ制御ハードIP40内のデータ領域46の学習データ領域48に格納させることができる。
【0030】
制御部44の誤差補正部54は、レゾルバ16からのレゾルバ信号が受信されるごとに、そのレゾルバ信号に基づく現時点でのレゾルバ回転角θorgに応じて、学習データ領域48からその学習データ領域48に格納されているそのレゾルバ回転角θorgに対応する誤差データを読み込み、その誤差データを用いてそのレゾルバ信号を補正する。この点、学習データ領域48に格納されたレゾルバ信号の誤差データは、現レゾルバ回転角θorgがそのレゾルバ信号に対応する回転角に達した際に読み出されて、その検出されたレゾルバ信号の補正に用いられる。
【0031】
従って、本実施例においては、レゾルバ信号の誤差補正を実施するうえで、RAM36に記憶されている全誤差データを一括してモータ制御ハードIP40内の学習データ領域48に転送することは不要であり、モータ制御ハードIP40内の学習データ領域48に、RAM36に記憶されている全誤差データと同じ全誤差データを格納保持させておくことは不要である。このため、本実施例の構成によれば、全誤差データをモータ制御ハードIP40内の学習データ領域48に格納保持した構成に比べて、モータ制御ハードIP40内の学習データ領域48に格納保持させておくデータ数を削減することができるので、一マイコン14当たりのコストを低減することができる。
【0032】
また、本実施例においては、モータ制御ハードIP40(具体的には、誤差補正部54)がレゾルバ信号の誤差補正のための誤差データを読み出して誤差補正を実施するうえで、バス42を介してRAM36にアクセスすることは不要であり、そのモータ制御ハードIP40内のデータ領域46の学習データ領域48にアクセスすることとすれば十分である。このため、本実施例によれば、モータ制御ハードIP40の誤差補正部54にレゾルバ信号の誤差補正を実施させるうえで、誤差データを読み込むのに要する時間を短縮することができるので、レゾルバ信号の誤差補正をその検出後速やかにかつ精度良く行うことができる。
【0033】
この点、本実施例のモータ制御装置10によれば、レゾルバ信号の検出前にそのレゾルバ信号に対する誤差データを予めRAM36からモータ制御ハードIP40内の学習データ領域48に読み出しておくことで、レゾルバ信号の検出タイミングに対する遅れを生じさせることなくその誤差補正を実施することができる。
【0034】
尚、上記の実施例においては、モータ制御ハードIP40が特許請求の範囲に記載した「制御ハードブロック」に、RAM36が特許請求の範囲に記載した「メモリ」に、プリセット部52或いはメモリアクセス制御部64が特許請求の範囲に記載した「アクセス部」に、データ領域46或いは学習データ領域48が特許請求の範囲に記載した「データ領域」に、誤差補正部54が特許請求の範囲に記載した「補正部」に、レゾルバ周期タイマ56が特許請求の範囲に記載した「レゾルバ周期算出手段」に、必要データ数算出部60が特許請求の範囲に記載した「期間変更手段」に、それぞれ相当している。
【0035】
ところで、上記の実施例においては、モータ制御ハードIP40内のプリセット部52がRAM36から学習データ領域48に転送させておく必要のある誤差データとして、現時点から最大転送時間Tmax以上先にレゾルバ信号が検出されるときのレゾルバ回転角に対応する誤差データを挙げている。
【0036】
しかし、本発明はこれに限定されるものではなく、更に、ノースマーカ算出部62にてモータ回転方向とレゾルバ16の現在位置とに基づいて算出される次のノースマーカ信号が出力されると予測される位置に対してその直後にレゾルバ信号が検出されるレゾルバ回転角に対応する誤差データが含まれるものとしてもよい。尚、この誤差データは、ノースマーカ信号の発生直後に出現するレゾルバ回転角に対応する誤差データ(
図4に示す0点のデータ)と、そのレゾルバ回転角に対して回転方向に隣接する次のレゾルバ回転角に対応する誤差データ(
図4に示す1点のデータ)と、を含むものとしてもよい。
【0037】
かかる変形例においては、モータ12の回転中に常に、レゾルバ16の現在位置に対してモータ回転方向において最初に存在するノースマーカの発生直後にレゾルバ信号が検出されるレゾルバ回転角に対応する誤差データが、RAM36から読み出されて学習データ領域48に格納される。このため、この変形例によれば、レゾルバ16の回転角度を示すレゾルバ信号が急峻に角度飛びを起こしたときにも、次のノースマーカ発生直後にレゾルバ信号の誤差補正を精度良く行うことができる。
【0038】
また、上記の変形例の如く現時点のレゾルバ回転角から現時点でのモータ回転方向に存在する次のノースマーカの発生直後のレゾルバ回転角に対応する誤差データだけでなく、その現時点でのモータ回転方向に対する逆回転方向に存在するノースマーカの発生直後のレゾルバ回転角に対応する誤差データを含めるものとしてもよい。尚、この追加する誤差データは、逆回転方向におけるノースマーカ信号の発生直後に出現するレゾルバ回転角に対応する誤差データ(
図5に示すN−1点のデータ)と、そのレゾルバ回転角に対して逆回転方向に隣接する次のレゾルバ回転角に対応する誤差データ(
図5に示すN−2点のデータ)と、を含むものとしてもよい。
【0039】
かかる変形例において、ノースマーカ算出部62は、モータ回転方向とレゾルバ16の現在位置とに基づいて、逆回転方向において最初に存在するノースマーカ信号が出力されると予測される位置を算出する。そして、プリセット部52は、RAM36から学習データ領域48に転送させておく必要のある誤差データとして、その逆回転方向のノースマーカ信号の発生直後にレゾルバ信号が検出されるレゾルバ回転角に対応する誤差データを含める。かかる変形例においては、モータ12の回転中に常に、レゾルバ16の現在位置に対してモータ12の逆回転方向において最初に存在するノースマーカの発生直後にレゾルバ信号が検出されるレゾルバ回転角に対応する誤差データが、RAM36から読み出されて学習データ領域48に格納される。このため、この変形例によれば、モータ12の回転方向が反転したときにも、次のノースマーカ発生直後にレゾルバ信号の誤差補正を精度良く行うことができる。
【0040】
また、上記の実施例においては、RDC32をマイコン14に内蔵する構成を用いるものとした。しかし、本発明はこれに限定されるものではなく、
図6に示す如く、RDC32をマイコン14に対して外付けする構成を用いるものとしてもよい。この場合、RDC32は、マイコン14に内蔵される通信部100と通信接続されるものとすればよい。
【0041】
また、上記の変形例においては、モータ制御ハードIP40をマイコン14に内蔵する構成を用いるものとした。しかし、本発明はこれに限定されるものではなく、
図7に示す如く、モータ制御ハードIP40をマイコン14に対して外付けする構成を用いるものとしてもよい。この場合、マイコン14とモータ制御ハードIP40とは、マイコン14に内蔵される通信部110とモータ制御ハードIP40に内蔵される通信部112とで通信接続されるものとすればよい。