説明

回転角検出装置、モータ制御装置、および電動パワーステアリング装置

【課題】モータ等の回転機におけるロータの回転速度が変化しても現時点のロータ回転角を正確に推定できる回転角検出装置を提供する。
【解決手段】ホールセンサによるロータ回転角の離散的な検出結果から現時点のロータ回転角を示す回転角推定値θreを次のようにして求める。ロータ回転角が検出される毎にその前の検出時点ti-1から今回の検出時点tiまでの期間での平均的な角速度を示す角速度算出値ωc(i)を求める(i=0,1,2,…)。ロータ回転の加減速を考慮すべく、現時点の直前の検出時点tkで得られた角速度算出値ωc(k)を、その角速度算出値ωc(k)と更に前の検出時点tk-1で得られた角速度算出値ωc(k−1)との比に応じて補正することにより、角速度推定値ωeを求める。当該直前の検出時点tkから次の検出時点tk+1まで、この角速度推定値ωeを用いて回転角推定値θreを算出する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、回転機におけるロータの回転角を検出するための回転角検出装置、当該回転角検出装置を用いたモータ制御装置、および当該モータ制御装置を用いた電動パワーステアリング装置に関する。
【背景技術】
【0002】
従来から、運転者がハンドル(ステアリングホイール)に加える操舵トルクに応じて電動モータを駆動することにより車両のステアリング機構に操舵補助力を与える電動パワーステアリング装置が用いられている。電動パワーステアリング装置の電動モータには従来からブラシ付きモータが広く使用されているが、信頼性および耐久性の向上や慣性の低減などの観点から、近年ではブラシレスモータも使用されている。
【0003】
このブラシレスモータが使用されている電動パワーステアリング装置では、座標変換によるベクトル制御などでブラシレスモータを駆動する方法が一般的である。この方法では、ロータの現時点での回転位置であるロータ回転角を検出するために、ホール素子を含む位置検出センサ(ホールセンサ)が用いられることが多い。このホールセンサは、永久磁石からなるロータの周囲に例えば120度または60度の間隔で配置された3個のホールICから構成される。各ホールICにはホール素子が含まれており、それら3個のホールICから出力される信号に基づき電気角60度毎のロータ回転角の変化が検出される。
【0004】
ここで、電気角60度毎の検出情報のみでは、現時点での正確なロータ回転角を得ることができないので、当該検出信号に基づき、現時点でのロータ回転角を推定する計算が行われるのが一般的である。このようなロータ回転角の推定では、検出信号における直前の検出時点からその前の検出時点までの時間間隔とそれらの検出時点間での回転角の変化量とから角速度を求め(以下、この角速度を「前回角速度」という)、その前回角速度で直前の検出時点から次の検出時点までロータが回転しているとみなして現時点でのロータ回転角の推定値が算出される(例えば特許文献1参照)。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2004−23973号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかし、モータの用途によってはロータの回転が大きく加速または減速する場合があり、その場合には、直前の検出時点後も次の検出時点まで上記の前回角速度で回転しているとみなして現時点の回転角の推定値を算出すると、実際のロータ回転角と大きなずれを生じる可能性がある。特に、ロータの回転速度が急激に変化することが多い電動パワーステアリング装置においては、ロータ回転角の推定値が実際のロータ回転角からずれることによってモータ制御精度が低下し、モータが適切に操舵補助力を発生できなくなるおそれがある。
【0007】
そこで本発明の目的は、モータ等の回転機におけるロータの回転速度が変化しても現時点のロータ回転角を正確に推定できる回転角検出装置を提供することである。また、本発明の他の目的は、そのような回転角検出装置を用いたモータ制御装置を提供することであり、本発明の更に他の目的は、そのようなモータ制御装置を用いた電動パワーステアリング装置を提供することである。
【課題を解決するための手段】
【0008】
第1の発明は、回転機におけるロータの回転角を求めるための回転角検出装置であって、
前記ロータの回転角を所定の角度間隔で離散的に検出する回転角離散検出手段と、
前記回転角離散検出手段により前記ロータの回転角が検出されると、当該回転角の検出時点と前記ロータの回転角の1つ前の検出時点との時間間隔に基づき前記ロータの回転速度を算出する速度算出手段と、
前記回転角離散検出手段により前記ロータの回転角が検出されると、前記速度算出手段により得られた複数の回転速度算出値に基づいて、当該回転角の検出時点である第1の検出時点と次に前記ロータの回転角が検出される第2の検出時点との間での前記ロータの回転速度の推定値を求める速度推定手段と、
前記速度推定手段によって得られる回転速度推定値に基づき、前記ロータの現時点での回転角の推定値を求める回転角推定手段とを備えることを特徴とする。
【0009】
第2の発明は、第1の発明において、
前記速度推定手段は、前記速度算出手段により得られた前記複数の回転速度算出値が示す前記ロータの回転速度の変化に応じて、前記第1の検出時点で前記速度算出手段により得られた回転速度算出値を補正することにより、前記回転速度推定値を求めることを特徴とする。
【0010】
第3の発明は、電動モータにおけるロータの回転角の推定値を求め、当該推定値に基づき当該電動モータを駆動するモータ制御装置であって、
第1または第2の発明に係る回転角検出装置を備え、
前記回転角推定手段は、前記電動モータのロータの現時点での回転角の推定値を求めることを特徴とする。
【0011】
第4の発明は、車両のステアリング機構に電動モータによって操舵補助力を与える電動パワーステアリング装置であって、
第3の発明に係るモータ制御装置を備え、
前記モータ制御装置は、前記ステアリング機構に操舵補助力を与える電動モータを駆動することを特徴とする。
【発明の効果】
【0012】
上記第1の発明によれば、ロータの回転角が検出されたときに、その検出時点である第1の検出時点以前におけるロータの回転速度を示す複数の回転速度算出値に基づいて回転速度推定値が求められ、その第1の時点から次の検出時点である第2の検出時点までは、その回転速度推定値に基づき現時点のロータの回転角を示す回転角推定値が求められる。これにより、回転角推定値を求めるための回転速度推定値は過去の回転速度の変化を反映したものとなるので、ロータの回転速度が増減しても精度の高い回転角推定値を得ることができる。
【0013】
上記第2の発明によれば、ロータの回転角が検出されたときに、その検出時点である第1の検出時点以前における複数の回転速度算出値が示すロータの回転速度の変化に応じて、第1の検出時点で得られた回転速度算出値を補正することにより、回転速度推定値が求められる。これにより、ロータの回転速度が増減しても精度の高い回転角推定値を得ることができる。
【0014】
上記第3の発明によれば、上記第1または第2の発明と同様の効果を奏し、ロータの回転速度が増減しても精度の高い回転角推定値が得られるので、モータの制御精度を向上させることができる。
【0015】
上記第4の発明によれば、上記3の発明と同様の効果を奏し、モータの制御精度が向上するので、電動パワーステアリング装置において良好な操舵感を得ることができる。
【図面の簡単な説明】
【0016】
【図1】本発明に係るモータ制御装置を用いた電動パワーステアリング装置の構成を、それに関連する車両の構成と共に示す概略図である。
【図2】本発明の一実施形態に係るモータ制御装置の構成を示すブロック図である。
【図3】上記電動パワーステアリング装置で使用されるホールセンサを構成するホールICの配置例を示す、モータ軸方向に対する垂直断面図である。
【図4】上記電動パワーステアリング装置で使用されるホールセンサを構成するホールICの動作を説明するための図である。
【図5】上記実施形態における制御部を実現するためのモータ制御処理の手順を示すフローチャートである。
【図6】上記実施形態におけるモータのロータの回転角推定値を算出するための回転角推定処理の手順を示すフローチャートである。
【図7】上記実施形態における回転角推定処理を従来の回転角推定処理と比較しつつ説明するための波形図である。
【図8】上記実施形態およびその変形例においてモータのロータの回転方向が反転する場合の回転角推定値の変化の例を実際のロータ回転角と共に示す波形図(a)および(b)である。
【発明を実施するための形態】
【0017】
以下、添付図面を参照しつつ本発明の実施形態について説明する。
<1.全体構成>
図1は、本発明に係るモータ制御装置を用いた電動パワーステアリング装置の構成を、それに関連する車両の構成と共に示す概略図である。この電動パワーステアリング装置は、ブラシレスモータ1、減速機2、トルクセンサ3、車速センサ4、位置検出センサであるホールセンサ5、および、電子制御ユニット(Electronic Control Unit :以下「ECU」という)10を備えたコラムアシスト型の電動パワーステアリング装置である。
【0018】
図1に示すように、ステアリングシャフト102の一端にはハンドル(ステアリングホイール)101が固着されており、ステアリングシャフト102の他端はラックピニオン機構103を介してラック軸104に連結されている。ラック軸104の両端は、タイロッドおよびナックルアームからなる連結部材105を介して車輪106に連結されている。運転者がハンドル101を回転させると、ステアリングシャフト102は回転し、これに伴いラック軸104は往復運動を行う。ラック軸104の往復運動に伴い、車輪106の向きが変わる。
【0019】
電動パワーステアリング装置は、運転者の負荷を軽減するために、以下に示す操舵補助を行う。トルクセンサ3は、ハンドル101の操作によってステアリングシャフト102に加えられる操舵トルクTを検出する。車速センサ4は、車速Sを検出する。
【0020】
ホールセンサ5は、ホール素子を含む3個のホールICからなり、ブラシレスモータ1のロータの回転位置Pを検出する。なお、後述するようにこのホールセンサ5は、連続的にロータの位置を検出可能ないわゆるリニア形式のホールセンサではなく、離散的にロータの位置を検出するスイッチ形式(オンオフ形式)のホールセンサである。
【0021】
ECU10は、車載バッテリ100から電力の供給を受け、操舵トルクT、車速Sおよび回転位置Pに基づきブラシレスモータ1を駆動する。ブラシレスモータ1は、ECU10によって駆動されると、操舵補助力を発生させる。減速機2は、ブラシレスモータ1とステアリングシャフト102との間に設けられる。ブラシレスモータ1で発生した操舵補助力は、減速機2を介して、ステアリングシャフト102を回転させるように作用する。
【0022】
この結果、ステアリングシャフト102は、ハンドル101に加えられる操舵トルクと、ブラシレスモータ1で発生した操舵補助力の両方によって回転する。このように電動パワーステアリング装置は、ブラシレスモータ1で発生した操舵補助力を車両のステアリング機構に与えることにより操舵補助を行う。
【0023】
<2.モータ制御装置>
<2.1 モータ制御装置の構成>
図2は、本発明の一実施形態に係るモータ制御装置の構成を示すブロック図である。このモータ制御装置は、上記電動パワーステアリング装置において使用され、ECU10を用いて構成されており、ブラシレスモータ1を駆動する。ECU10は、マイクロコンピュータ(以下「マイコン」と略記する)20とモータ駆動部とからなる。マイコン20は、その内部のメモリに格納された所定のプログラムを実行することにより、目標電流演算部114と、減算器122,124と、d軸電流PI制御部126と、q軸電流PI制御部128と、d−q/3相交流座標変換部132と、符号反転加算器134と、3相交流/d−q座標変換部138と、ロータ回転位置検出部162と、ロータ回転角推定部164とからなるモータ制御部として機能する。目標電流演算部114には、基本アシスト制御部180とモータ電流指令値演算部188とが含まれている。モータ駆動部は、モータ制御部としてのマイコン20から出力される電圧指令値に基づき3相のブラシレスモータ1を駆動するハードウェア(回路)であり、PWM信号生成回路150と、モータ駆動回路152と、U相電流検出器154と、V相電流検出器156とから構成される。
【0024】
ハンドル101が操作されると、トルクセンサ3によって検出される操舵トルクTがECU10に入力されるとともに、車速センサ4によって検出される車速SもECU10に入力される。
【0025】
ロータ回転位置検出部162は、ブラシレスモータ1に取り付けられた3個のホールIC5a,5b,5cからなるホールセンサ5が出力するセンサ信号に基づいて、ブラシレスモータ1のロータである永久磁石の回転位置Pである実際のロータ回転角θaに相当する電気角(以下「検出回転角」という)θrを離散的に検出する。
【0026】
図3(a)は、モータ1の軸方向に対する垂直断面図であり、図3(b)は、図3(a)に示すロータ7が60度時計回りに回転した時のモータ1の軸方向に対する垂直断面図である。図3(a)(b)に示すように、ホールセンサ5を構成する3個のホールIC5a〜5cのうち、ホールIC5aは、ロータ7のN極がステータ6aに最も近接したときに(すなわちロータ7のN極がステータ6aの直下に来たときに)ロータ7のN極とS極の境界(以下「磁極境界」という)に最も近接する位置に配置されている。また、ホールIC5bは、ロータ7のN極がステータ6bに最も近接したときにロータ7の磁極境界に最も近接する位置に配置されており、ホールIC5cは、ロータ7のN極がステータ6cに最も近接したときにロータ7の磁極境界に最も近接する位置に配置されている。各ホールIC5a〜5cは、ロータ7の磁極境界が最も接近した時、その出力信号をハイレベル(Hレベル)からローレベル(Lレベル)またはLレベルからHレベルへと変化させる。したがって、ロータ7の実際のロータ回転角θaが60度変化する毎にこれらホールIC5a〜5cのうちのいずれか1つから出力される信号がHレベルからLレベルへまたはその逆に変化する。以下、図4を参照して、これらホールIC5a〜5bの動作を更に詳しく説明する。なお以下では、ステータ6aにロータ7のN極が最も接近したときのロータ7の回転角を0度とし、時計回り方向を回転角の正方向とする。
【0027】
いま、ホールIC5aに着目し、図4(a)に示すようにロータ7が時計回り方向に回転するものとすると、このホールIC5aは、図4(b)に示すような正弦波状のマグネット磁束変化に基づき図4(c)に示すような2値信号を出力信号Saとして生成する。すなわちホールIC5aは、上記のマグネット磁束がN極のときにはHレベルとなりS極のときにはLレベルとなる出力信号Saを生成し、この出力信号Saは、上記のマグネット磁束SaaがN極からS極へと変化する時にHレベルからLレベルへと変化し、S極からN極へと変化する時にLレベルからHレベルへと変化する。したがって、図4(a)〜(c)からわかるように、ロータ7が時計回り方向に回転している場合において、ホールIC5aの出力信号Saは、ロータ7の実際の回転角θaが0度の時にHレベルからLレベルへと変化し、180度の時にLレベルからHレベルへと変化する。同様に、図3に示すように配置されたホールIC5c,5bは、図4(d)(e)に示すような出力信号Sc,Sbをそれぞれ生成する。ホールIC5cの出力信号Scは、ロータ7の実際の回転角θaが60度の時にLレベルからHレベルへと変化し、240度の時にHレベルからLレベルへと変化する。また、ホールIC5bの出力信号Sbは、ロータ7の実際の回転角θaが120度の時にHレベルからLレベルへと変化し、300度の時にLレベルからHレベルへと変化する。そこで、ロータ回転位置検出部162は、これらの出力信号Sa,Sb,ScをホールIC5a〜5bから受け取り、これらの出力信号Sa,Sb,Scの変化に基づきロータ7の回転角θaを判別することで、検出回転角θrを60度間隔で離散的に取得する。
【0028】
既述の図3(a)(b)では、出力信号がHレベルからLレベルへまたはその逆に変化するホールICに斜線が付されている。例えば、ロータ7が図3(a)に示す回転位置にある場合、ロータ回転位置検出部162は、ホールIC5aの出力信号SaのHレベルからLレベルへの変化に基づき、ロータ7の回転角θaが0度であることを判別できるので(図4(c))、ロータ回転角推定部164に対して検出回転角θrである0度を与える。さらに、ロータ7が時計回り方向に60度回転すると、図3(b)に示すように斜線を付されたホールIC5cの出力信号Scは、LレベルからHレベルへと変化する。この場合、ロータ回転位置検出部162は、この出力信号Scの変化に基づき、ロータ7の回転角θaが60度であることを判別できるので(図4(d))、ロータ回転角推定部164に対して検出回転角θrである60度を与える。
【0029】
このように、ロータ7が60度回転する毎に、3つのホールIC5a〜5cの出力信号Sa〜ScのいずれかがLレベルからHレベルへとまたはその逆に変化するので、ロータ回転位置検出部162は、これらの出力信号Sa〜Scの変化に基づき、ロータ回転角推定部164に対して検出単位角度である60度毎に(離散的に)検出回転角θrを与える。したがって、検出回転角θrが与えられる場合には、その検出回転角θrは正確であってそのままロータ回転角として使用することができるが、その値は離散的にしか得られないためその間の値を推定する必要がある。なお、上記説明からわかるように、本実施形態では、3つのホールIC5a〜5cを含むホールセンサ5とロータ回転位置検出部162とにより、ロータ回転角を離散的に検出する回転角離散検出手段が実現されている。
【0030】
以下では、ホールセンサ5を構成するホールIC5a〜5cは、上記のような交番検知方式の2値信号出力のホールICであって図3に示すように配置されているものとして説明を進める。しかし、本発明で使用可能なホールセンサはこのような構成に限定されるものではなく、ロータ7の回転角を離散的に検出できる構成であってそのために回転角推定が必要であるものであればよい。例えば、ホールIC5a〜5cに代えて、図4(b)に示すようにロータ7の回転に従って正弦波状のアナログ信号を出力する3個のホール素子によりホールセンサ5を構成し、これら3個のホール素子を図3に示すホールIC5a〜5cと同様に配置してもよい。この場合、これら3個のホール素子の出力信号(アナログ信号)からなるセンサ信号をマイコン20が受け取り、マイコン20に内蔵されたAD変換器でデジタル信号に変換し、そのデジタル信号に基づきマイコン20でのソフトウェア処理により検出回転角θrを離散的に取得する。すなわち、そのソフトウェア処理によりロータ回転位置検出部162が実現され、ロータ回転位置検出部162は、上記3個のホール素子の出力信号の値が零になる時点(ゼロクロス点)毎に検出回転角θrを離散的に(60度毎に)求め、求めた検出回転角θrをロータ回転角推定部164に与える。
【0031】
ロータ回転角推定部164は、ロータ回転位置検出部162によって検出された検出回転角θrに対して、現時点におけるロータ回転角を正確に推定する演算を行うことにより、この検出回転角θrを推定された電気角θreに補正し出力する(この推定された電気角θreは、後述の回転角推定処理等の説明において「回転角推定値θre」と呼ばれる)。この推定演算については詳しくは後述する。なお本実施形態では、ロータ7の極対数が1であるため、ロータの電気角は機械角に一致している。またこの極対数は2以上であってもよい。
【0032】
またロータ回転角推定部164は、直前(すなわち次回の検出時点から見て1回前)にロータ回転位置検出部162から受け取った検出回転角θrと、その前(2回前)に受け取った検出回転角θr’とを記憶するとともに、前回(2回前)の時点から直前(1回前)の時点までの時間間隔(以下「切り換り時間間隔」ともいう)ΔTk とを記憶する。これらの値はロータ回転角の推定のために使用されるが、詳しくは後述する。
【0033】
基本アシスト制御部180は、アシストマップと呼ばれる、操舵トルクと目標電流値とを対応づけるテーブルを参照し、操舵トルクTと車速Sとに基づいて、ブラシレスモータ1に流すべき電流の目標値である目標電流値Itを決定する。モータ電流指令値演算部188は、目標電流値Itに基づいてq軸電流指令値iq*を出力する。このq軸電流指令値iq*は、ブラシレスモータ1が発生すべきトルクに対応する電流値であり、減算器124に入力される。一方、d軸電流指令値id*は、トルクに関与しないのでid*=0として、減算器122に入力される。
【0034】
U相電流検出器154およびV相電流検出器156は、それぞれモータのU相、V相の巻き線(本明細書では単に「U相、V相」という)に流れる電流を検出し、U相電流検出値iuとV相電流検出値ivとをそれぞれ電圧信号で出力する。これらのU相電流検出器154およびV相電流検出器156は、モータ駆動回路152からブラシレスモータ1へ繋がる線に対して配置されるが、モータ駆動回路152内の各駆動用素子と接地点との間に配置されてもよい。
【0035】
3相交流/d−q座標変換部138は、ロータの電気角θreに基づいて、U相電流検出値iuおよびV相電流検出値ivを、d−q座標上の値であるd軸モータ電流値idおよびq軸モータ電流値iqに変換する。このd軸モータ電流値idおよびq軸モータ電流値iqは、減算器122および減算器124にそれぞれ入力される。
【0036】
減算器122では、d軸電流指令値id*とd軸モータ電流値idとの偏差id*−idが出力される。そして、d軸電流PI制御部126では、その偏差id*−idに基づく比例積分演算によって、d軸電圧指令値vd*が出力される。一方、減算器124では、q軸電流指令値iq*とq軸モータ電流値iqとの偏差iq*−iqが出力される。そして、q軸電流PI制御部128では、その偏差iq*−iqに基づく比例積分演算によって、q軸電圧指令値vq*が出力される。
【0037】
d−q/3相交流座標変換部132では、ロータ7の電気角θreに基づいて、d軸電圧指令値vd*およびq軸電圧指令値vq*を、3相交流座標上の値であるU相電圧指令値vu*およびV相電圧指令値vv*に変換する。そして、符号反転加算器134は、U相電圧指令値vu*およびV相電圧指令値vv*からW相電圧指令値vw*を算出する。
【0038】
PWM信号生成回路150は、U相電圧指令値vu*、V相電圧指令値vv*、W相電圧指令値vw*を受け取り、それらの指令値に応じてデューティ比の変化するPWM信号Su、Sv、Swを生成する。モータ駆動回路152では、そのPWM信号Su、Sv、Swによってスイッチング素子がオン/オフされ、それにより、デューティ比に応じた電圧vu、vv、vwがブラシレスモータ1のU相、V相、W相にそれぞれ印加される。
【0039】
<2.2 モータ制御処理>
図5は、本実施形態においてモータ1の駆動を制御するためのモータ制御部をソフトウェア的に実現するためにマイコン20によって実行されるモータ制御処理を示すフローチャートである。このモータ制御処理では、まず、車両情報等のモータ制御に必要な情報が取得される(ステップS2)。ここで取得される情報には、d軸電流PI制御部126およびq軸電流PI制御部128での演算やロータ回転位置検出部162での検出回転角θrの決定に必要なパラメータ値などが含まれる。後述の回転角推定処理(図6)で使用される変数等も当該ステップS2で初期化される(例えばt=0、tk=0、ωe=0、ωc(0)=0,θr=θre=0、Dir=1等)。なお、マイコン20はタイマーを内蔵しており、このタイマーを当該ステップS2でスタートさせることにより、時刻を示す変数tが0に初期化される。
【0040】
このようなステップS2の実行後は、ステップS3において、各センサ3,4および電流検出器154,156からの出力信号に基づき、モータ1に流すべき電流の目標値(電流目標値)Itを算出する周期である制御周期毎に、操舵トルクT,車速S,U相電流検出値iu,V相電流検出値ivが取得される。またステップS3において、ホールIC5a〜5cの出力信号からなるホールセンサ5のセンサ信号に基づきモータ1におけるロータ7の電気角が離散的に検出される。すなわち、図2に示したロータ回転位置検出部162はステップS3により実現されている。ここで離散的に検出された当該電気角は、検出回転角θrとして、後述の回転角推定処理により実現されるロータ回転角推定部164に与えられる。以下では、現時点で既に取得されている検出回転角θrを、現時点以降で取得される検出回転角θrと区別するために「検出済回転角θr」という。なお上記の制御周期は、検出回転角θrが取得される時間間隔すなわちロータ7の電気角が離散的に検出される時間間隔に比べて非常に短い。
【0041】
次のステップS4では、ロータ回転角推定部164を実現するための回転角推定処理が実行され、これによりモータ1におけるロータ7の電気角の推定値を示す回転角推定値θreが得られる。
【0042】
その後、ステップS6において、この回転角推定値θreを用いてモータ1の電流制御等のための処理が行われる。すなわちステップS6において、操舵トルクTおよび車速Sに基づいて電流目標値Itが決定され、この電流目標値Itから、ブラシレスモータ1が発生すべきトルクに対応するq軸電流指令値iq*が決定される。一方、上記の回転角推定値θreを用いて、U軸電流検出値iuおよびV相電流検出値ivがd−q座標上の値としてのd軸モータ電流値idおよびq軸モータ電流値iqに変換される。そして、d軸電流指令値id*(=0)およびq軸電流指令値iq*とd軸モータ電流値idおよびq軸モータ電流値iqとに基づく制御演算によってd軸電圧指令値vd*およびq軸電圧指令値vq*が算出される。これらは、上記の回転角推定値θreを用いて3相交流座標上の値としての各相の電圧指令値vu*、vv*、vw*に変換され、各相の電圧指令値vu*、vv*、vw*はマイコン20から出力されてPWM信号生成回路150に与えられる。このようなステップS6の処理により、図2に示す目標電流演算部114と、減算器122,124と、d軸電流PI制御部126と、q軸電流PI制御部128と、d−q/3相交流座標変換部132と、符号反転加算器134と、3相交流/d−q座標変換部138とがソフトウェア的に実現される。
【0043】
上記の電流制御等の処理の後は、ステップS3へ戻る。以降、電動パワーステアリング装置におけるモータ制御装置(ECU)10が動作している間、上記の制御周期でステップS3,S4,S6が繰り返し実行される。
【0044】
<2.3 回転角推定処理>
図6は、本実施形態におけるロータ回転角推定部164をソフトウェア的に実現するための回転角推定処理(図5のステップS4)の手順を示すフローチャートである。図7は、本実施形態における回転角推定処理を従来の回転角推定処理と比較しつつ説明するための波形図である。以下、図5〜図7を参照して本実施形態における回転角推定処理について説明する。なお、図7(a)〜(c)に示す信号波形を生成するホール素子H1,H2,H3は、図3に示すホールIC5b,5a,5cにそれぞれ対応している。既述のように、図6の回転角推定処理は非常に短い制御周期毎に実行され(図5参照)、この回転角推定処理においてマイコン20は下記のように動作する。
【0045】
まず、ステップS10において、ホールセンサ5からのセンサ信号に基づきロータ回転位置検出部162(図5のステップS3)によって算出され離散的に与えられる検出済回転角θrを受け取った否かを判定する。これは、ホールセンサ5とロータ回転位置検出部162とにより実現される回転角離散検出手段がロータ回転角を検出したか否かを判定することを意味する。ホールセンサ5の信号検出により得られる検出済回転角θrを受け取らない場合には(ステップS10:No)、ステップS41に進む。以降のステップS41,S42によりロータ回転角が推定される。すなわち、ステップS41およびS42の実行により回転角推定手段が実現される。この推定動作の詳細については後述する。
【0046】
ステップS10での判定の結果、ホールセンサ5の信号検出により離散的に得られる検出済回転角θrを受け取った場合には(ステップS10:Yes)、受け取った検出済回転角θrをそのまま回転角推定値θreとし(ステップS11)、その回転角推定値θreを出力する。この回転角推定値θreは、ステップS6の処理において使用される。すなわち既述のように、この回転角推定値θreは、ステップS6の処理によって実現される3相交流/d−q座標変換部138およびd−q/3相交流座標変換部132に与えられる。
【0047】
次にステップS12において、ロータ7の回転方向を示す回転方向係数Dirに1または−1の値を代入する。具体的には、前回(2回前)の検出時点tk-1(tn-2)における回転角推定値θre’と、今回である直前(1回前)の検出時点tk(tn-1)における回転角推定値θreとに基づき、図3の時計回り方向にロータ7が回転していると判定される場合には回転方向係数Dirに1を代入し、反時計回り方向にロータ7が回転していると判定される場合には回転方向係数Dirに−1を代入する。またθre’=θreである場合には、ロータ7の回転方向が途中で反転しているので、それ以前に得られた回転方向係数Dirの値の符号を逆にして再び回転方向係数Dirに代入する。なお本明細書では、時計回り方向を正方向としてロータ7の回転角や角速度の値が設定されるものとする。
【0048】
次にステップS14において、ホールセンサ5の信号検出による検出済回転角θrの取得時点(以下「回転角検出時点」または単に「検出時点」という)tk(tn-1)までのロータ回転角の検出結果としての検出時点間の間隔に基づき、過去の検出時点間でロータ7の角速度を示す回転角速度算出値を更新する。
【0049】
本実施形態における回転角推定処理では、ロータ回転角が検出される毎に(検出済回転角が新たに取得される毎に)、その検出時点とその前の検出時点との間隔に基づき角速度算出値が算出される(後述の式(2)参照)。ステップS14へ進んだ時点では、直前の検出時点tkの前の検出時点(2回前の検出時点)tk-1で算出された角速度算出値がωc(k)として与えられているので、まず、これをωc(k−1)に置き換える。すなわち、
ωc(k−1)←ωc(k) …(1)
とする。次に、直前の検出時点tkと2回前の検出時点tk-1との時間間隔ΔTkと上記の回転方向係数Dirを用いて、下記式により新たに角速度算出値ωc(k)を求める。
ωc(k)=Dir・60/ΔTk …(2)
この角速度算出値ωc(k)は、2回前の検出時点tk-1から直前の検出時点tkまでの期間(以下、この期間も記号“ΔTk”で示すものとする)におけるロータ7の角速度の平均値(ホールセンサ5の信号検出による実測に基づく平均値)を示している。
【0050】
次にステップS16において、上記式(1)(2)により得られる2つの角速度算出値ωc(k−1),ωc(k)を用いて、下記式により角速度推定値ωeを算出する。
ωe=ωc(k)・{ωc(k)/ωc(k−1)} …(3)
この角速度推定値ωeは、後述のように、直前の検出時点tkから次の検出時点tk+1までにおいて回転角推定値θreを算出するために使用される。上記式(3)により算出される角速度推定値ωeは、直前の検出時点tkで得られた角速度算出値ωc(k)を、その直前の2つの期間ΔTk-1,ΔTkについての角速度算出値ωc(k),ωc(k−1)が示す角速度の変化に応じて補正したものとなっている。
【0051】
上記のようにして角速度推定値ωeが得られると、次のステップS18では、次の制御周期以降での回転角推定処理において回転角推定値θreを算出するための時間的基準を与えるべく、直前の検出時点を示す変数tkに現時点の時刻t(タイマーが示す時刻t)を代入する。なお上記説明からわかるように、ステップS14の実行により、過去の検出時点間でのロータ7の角速度を示す角速度算出値ωc(k)を求める速度算出手段が実現され、ステップS16の実行により、直前の検出時点tkから次の検出時点tk+1までにおいてロータ7の回転速度を示す角速度推定値ωeを求める速度推定手段が実現される。
【0052】
上記のステップS18を終了すると、図6の回転角推定処理から図5のモータ制御処理のルーチンに復帰する。
【0053】
その後、モータ制御処理におけるステップS6を実行し、ステップS3に戻る。そして、ステップS3を実行した後、再びステップS4を実行する。このとき実行されるステップS4の回転角推定処理では、ホールセンサ5の信号検出により得られる検出済回転角θrを受け取らないので(図6のステップS10:No)、ステップS41へ進む。
【0054】
ステップS41では、現時点での回転角推定値θreすなわちステップS42の直近の実行により(またはステップS2で初期値として)設定された回転角推定値θreの検出済回転角θrからの偏差(回転角推定値θreと検出済回転角θrとの差の絶対値)|θre−θr|が60度以上であるか否かを判定する。この判定の結果、当該偏差|θre−θr|が60度よりも小さい場合には、ステップS42へ進む。
【0055】
ステップS42では、上記の検出済回転角θrおよび角速度推定値ωeと現時点の時刻tを用いて、下記式で示される推定演算により回転角推定値θreを算出する。
θre=θr+ωe・(t−tk) …(4)
これは、ロータ7が角速度推定値ωeの速度で回転するものとして回転角θrの検出時点tk以降におけるロータ7の回転角を推定することを意味する(図7(g)(i)参照)。
【0056】
ステップS42を終了すると、図6の回転角推定処理から図5のモータ制御処理のルーチンに復帰し、ステップS6以降の処理を実行する。
【0057】
その後、次の制御周期において回転角推定処理(S4)が開始されると、まず、図6のステップS10において、ホールセンサ5の信号検出により得られる新たな検出済回転角θrを受け取ったか否かを判定する。既述のように、ロータ回転角は60度毎に離散的に得られるので、一旦、ホールセンサ5の信号検出により得られる検出済回転角θrを受け取ると、次に新たな検出済回転角θrを受け取るまでは、ステップS10でNoと判定されて、制御周期毎に図6の回転角推定処理におけるステップS41→S42を実行する。
【0058】
その結果、制御周期毎にステップS42において推定演算(式(4))により回転角推定値θreが更新されていく。そして、回転角推定値θreが、次にホールセンサ5の信号検出により取得されると予想される検出回転角(以下「検出予定回転角θnx」という)に達すると、上記偏差|θre−θr|が60度となるので、ステップS41においてYesと判定される。これにより、推定演算処理(式(4))を行うことなく、図6の回転角推定処理から図5のモータ制御処理のルーチンに復帰する。
【0059】
以降の制御周期では、新たにロータ回転角が検出されるまでは、回転角推定処理においてステップS41でYesと判定され、ステップS42(推定演算)は実行されないので、回転角推定値θreは変化しない。
【0060】
制御周期毎に上記のような図6の回転角推定処理(図5のステップS4)を繰り返し実行している間に、ホールセンサ5の信号検出により得られる新たな検出済回転角を受け取ると、ステップS10で再びYesと判定される。この新たな検出済回転角は、2つの検出時点tk-1とtkの間(期間ΔTk)でロータ7の回転方向が反転していない場合は、θnx=θr+Dir・60であり、反転している場合は、後述の図8(a)に示すように、θrである。また、回転角推定値θreが検出予定回転角θnxに達する前にロータ回転角が新たに検出されると、その検出時点tk+1において回転角推定値θreが検出予定回転角θnx(=新たな検出済回転角)へと直ちに変更され、一方、ロータ回転角が新たに検出される前に(次の検出時点tk+1までに)回転角推定値θreが検出予定回転角θnxに達すると(ステップS41:Yes)、既述のように、その後は次の検出時点tk+1まで回転角推定値θreが変化しない。
【0061】
図6の回転角推定処理におけるステップS10で再びYesと判定された場合には、上記の直前検出時点tkを2回前の検出時点tk-1に置き換えると共に、新たな検出時点tk+1を直前検出時点tkに置き換え、かつ、新たなロータ回転角の検出前に検出された上記検出回転角θrを2回前の検出済回転角θr’に置き換えると共に、新たに検出されたロータ回転角を検出済回転角θrとして、ステップS11以降の既述の処理を実行する。
【0062】
以上説明した図6の回転角推定処理は、本実施形態に係るモータ制御装置が動作している間、制御周期毎に実行され(図5)、制御周期毎に得られる回転角推定値θreを用いてモータ1の電流制御が行われる(図2、図5)。
【0063】
<2.4 効果>
ホールセンサのようにロータ回転角を離散的に検出する検出手段によって得られる検出回転角を用いて、現時点の回転角を示す回転角推定値を算出する場合には、直前の検出時点tkから次の検出時点tk+1までのロータの角速度を推定する必要がある。これに対し、従来は、図7(e)(f)に示すように、2回前の検出時点tk-1から直前の検出時点tkまでの期間ΔTkにおける角速度の平均値に相当する角速度算出値ωc(k)が、角速度推定値ωeとして使用されていた(式(2)参照)。なお図7(e)〜(g)では、期間ΔTiでの角速度の平均値に相当する角速度算出値を記号“ωc(i)”で示し、期間ΔTiでの回転角推定値θreの算出に使用する角速度推定値を記号“ωe(i)”で示すものとする(i=0,1,2,…)。このような従来の回転角推定値θreの算出法によれば、図7(h)に示すように、時点t1でロータ回転角が検出された後、次にロータ回転角が検出される時点t2よりもかなり前の時点t12で回転角推定値θreが検出予定回転角θnx(=120°)に達したり、時点t2でロータ回転角が検出された後、回転角推定値θreが検出予定回転角θnx(=180°)に達するよりもかなり前の時点t3でロータ回転角が新たに検出されたりすることがある。この現象は、ロータの回転が加速したり減速したりしている場合に生じ、このような場合、回転角推定値θreと実際の回転角とのずれが大きくなってモータの制御精度が低下する。
【0064】
これに対し上記実施形態では、回転角推定値θreの算出に使用する角速度推定値ωeが式(3)で与えられる。すなわち図7(f)(g)に示すように、直前の検出時点tkから次の検出時点tk+1までの期間ΔTk+1での回転角推定値θreの算出に使用する角速度推定値ωe(k+1)は、期間ΔTkでの角速度平均値に相当する角速度算出値ωc(k)と期間ΔTk-1での角速度平均値に相当する角速度算出値ωc(k−1)との比に応じて角速度算出値ωc(k)を補正したものとなっている。このため、上記式(3)で与えられる角速度推定値ωe=ωe(k+1)は、ロータ7の回転の加減速(角速度の増減)を考慮したものとなり、ロータ7の角速度が増減しても、図7(i)に示すように、回転角推定値θreが検出予定回転角θnxに達する時点と次にロータ回転角が検出される時点とのずれが抑制される。その結果、モータの制御精度が向上し、本実施形態に係るモータ制御装置を備えた電動パワーステアリング装置において良好な操舵感を得ることができる。
【0065】
<3.他の実施形態および変形例など>
上記実施形態では、回転角推定値θreの算出(式(4))に使用する角速度推定値ωeは、角速度の増減を考慮すべく、式(3)に示すように、直前の検出時点tkで得られた角速度算出値ωc(k)を、その角速度算出値ωc(k)と2回前の検出時点tk-1で得られた角速度算出値ωc(k−1)との比に応じて補正したものとなっている。この補正は、直前の検出時点tkの直前における角速度の増減(ロータ回転の加減速)を考慮するためのものである。しかし、このようにロータ回転の加減速を考慮する手法は、過去の2つの角速度算出値の比ωc(k)/ωc(k−1)を用いるものに限定されない。例えば、直前の検出時点tkで既に得られている2つの角速度算出値の差ωc(k)−ωc(k−1)を用いてロータ回転の加減速を考慮し、上記式(3)に代えて下記式により角速度推定値ωeを算出するようにしてもよい。
ωe=ωc(k)+{ωc(k)−ωc(k−1)} …(5)
上記式(3)(5)は、より一般的には、過去の2つの角速度算出値ωc(k),ωc(k−1)に基づいて角速度推定値ωeを決定するものと言える(図7(f)(g)参照)。なお、上記演算に使用する過去の角速度算出値(過去のロータ回転角の検出結果に基づき算出された角速度値)は2つに限定されず、3つ以上の過去の角速度算出値に基づいて角速度推定値ωeを決定するようにしてもよい。なお、上記式(3)(5)は、補正前の過去の角速度値を用いてロータ回転の加減速を考慮するものと言えるが、補正後の過去の角速度値を用いてロータ回転の加減速を考慮するようにしてもよい。
【0066】
上記実施形態のように、ホールセンサによってロータ回転角を離散的に検出することにより得られる検出回転角を用いて、現時点の回転角を示す回転角推定値を算出する構成において、直前の検出時点tkから次の検出時点tk+1までにロータの回転方向が反転する場合がある。この場合、ロータの実際の回転角θaは、例えば図8(a)において1点鎖線で示すように変化するのに対し、上記実施形態における回転角推定値θreは、図8(a)において実線で示すように変化する。すなわち、本実施形態における回転角推定値θreは、次の検出時点tk+1(tn+2)よりも前に検出予定回転角θnxに達し、その時点tnから次の検出時点tk+1(tn+2)までは一定となり、実際の回転角θaとのずれが大きくなる。これを改善するには、例えば図8(b)に示すように、回転角推定値θreが次の検出時点tk+1(tn+2)よりも前に検出予定回転角θnxに達した場合に戻し処理を行い、その戻し処理において回転角推定値θreが所定の回転角(典型的には、検出済回転角θrと検出予定回転角θnxとの間を2等分した角度に相当する回転角)に達すると、その時点tn+1以降は次の検出時点tk+1(tn+2)まで回転角推定値θreが一定となるようにすればよい(例えば特許文献1参照)。
【0067】
上記実施形態では、ブラシレスモータ1の電気角を示す回転角推定値θreを算出するように構成されているが、本発明は、電気角の推定に限定されるものではなく、電気角か機械角かに拘わらずロータの回転角を推定する場合に適用可能である。また本発明は、ロータの回転角推定値に基づき駆動される、ブラシレスモータ以外の電動モータのモータ制御装置にも適用でき、更には、電動モータ以外の回転機におけるロータの回転角を求める回転角検出装置にも適用できる。
【0068】
なお本発明は、上述したコラムアシスト型の電動パワーステアリング装置だけでなく、ピニオンアシスト型やラックアシスト型の電動パワーステアリング装置にも適用できる。また本発明は、電動パワーステアリング装置以外に用いられるモータ制御装置にも適用できる。
【符号の説明】
【0069】
5a〜5c…ホールIC、6a〜6c…ステータ、7…ロータ、20…マイコン。

【特許請求の範囲】
【請求項1】
回転機におけるロータの回転角を求めるための回転角検出装置であって、
前記ロータの回転角を所定の角度間隔で離散的に検出する回転角離散検出手段と、
前記回転角離散検出手段により前記ロータの回転角が検出されると、当該回転角の検出時点と前記ロータの回転角の1つ前の検出時点との時間間隔に基づき前記ロータの回転速度を算出する速度算出手段と、
前記回転角離散検出手段により前記ロータの回転角が検出されると、前記速度算出手段により得られた複数の回転速度算出値に基づいて、当該回転角の検出時点である第1の検出時点と次に前記ロータの回転角が検出される第2の検出時点との間での前記ロータの回転速度の推定値を求める速度推定手段と、
前記速度推定手段によって得られる回転速度推定値に基づき、前記ロータの現時点での回転角の推定値を求める回転角推定手段と
を備えることを特徴とする、回転角検出装置。
【請求項2】
前記速度推定手段は、前記速度算出手段により得られた前記複数の前記回転速度算出値が示す前記ロータの回転速度の変化に応じて、前記第1の検出時点で前記速度算出手段により得られた回転速度算出値を補正することにより、前記回転速度推定値を求めることを特徴とする、請求項1に記載の回転角検出装置。
【請求項3】
電動モータにおけるロータの回転角の推定値を求め、当該推定値に基づき当該電動モータを駆動するモータ制御装置であって、
請求項1または2に記載の回転角検出装置を備え、
前記回転角推定手段は、前記電動モータのロータの現時点での回転角の推定値を求めることを特徴とする、モータ制御装置。
【請求項4】
車両のステアリング機構に電動モータによって操舵補助力を与える電動パワーステアリング装置であって、
請求項3に記載のモータ制御装置を備え、
前記モータ制御装置は、前記ステアリング機構に操舵補助力を与える電動モータを駆動することを特徴とする、電動パワーステアリング装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2011−117769(P2011−117769A)
【公開日】平成23年6月16日(2011.6.16)
【国際特許分類】
【出願番号】特願2009−273667(P2009−273667)
【出願日】平成21年12月1日(2009.12.1)
【出願人】(000001247)株式会社ジェイテクト (7,053)
【Fターム(参考)】