(57)【要約】      （修正有）【課題】低速域においても、また、温度変化があってもロータ位置及び角速度を精度良く算出できるロータ位置推定手段を備えたモータ駆動制御装置を提供する。【解決手段】モータ電圧・電流検出手段と、ロータ粗位置を検出する位置検出手段と、前記電圧・電流及びロータ粗位置に基づいてロータ位置及び角速度を推定するロータ位置推定部とを具備し、推定したロータ位置及び角速度と指令値とに基づいてベクトル制御するモータ駆動制御装置において、前記ロータ位置推定部が、各相逆起電圧に基づいて前記角速度を算出する角速度算出部と、前記角速度に基づいてロータの電気角を算出する電気角算出部と、前記ロータ粗位置に基づいてロータ位相を検出するロータ位相検出部と、前記電気角及びロータ位相の角度誤差と前記モータ電流とに基づいて各相の補正抵抗を算出する補正抵抗算出部と、モータモデルの出力及び前記補正抵抗算出部の出力を乗算する乗算部とで成る。【選択図】  図９
2006304478.tif 000002
【特許請求の範囲】
【請求項１】
３相以上のブラシレスＤＣモータの相電圧又は線間電圧を検出する電圧検出手段と、前記モータのモータ電流を検出する電流検出手段と、前記モータのロータ粗位置を検出する位置検出手段と、前記相電圧又は線間電圧、前記モータ電流及びロータ粗位置に基づいて前記モータのロータ位置及び角速度を推定するロータ位置推定部とを具備し、ロータ位置推定部が推定するロータ位置及び角速度と指令値とに基づいて前記モータをベクトル制御するモータ駆動制御装置において、前記ロータ位置推定部が、各相逆起電圧に基づいて前記角速度を算出する角速度算出部と、前記角速度に基づいて前記ロータの電気角を算出する電気角算出部と、前記ロータ粗位置に基づいて前記モータのロータ位相を検出するロータ位相検出部と、前記電気角及びロータ位相の角度誤差と前記モータ電流とに基づいて各相の補正抵抗を算出する補正抵抗算出部と、前記モータ電流を入力とする前記モータのモータモデルと、前記モータモデルの出力及び前記補正抵抗算出部の出力を乗算する乗算部とで成り、前記相電圧又は線間電圧と前記乗算部の出力との差を前記各相逆起電圧とするようになっていることを特徴とするモータ駆動制御装置。
【請求項２】
前記位置検出手段がホールセンサである請求項１に記載のモータ駆動制御装置。
【請求項３】
前記補正抵抗をモータ抵抗に加算した加算値を前記乗算部に入力するようになっている請求項１又は２に記載のモータ駆動制御装置。
【請求項４】
前記角速度が所定範囲内、前記モータ電流が所定範囲内の少なくとも一方が満たされた場合に前記補正を実行するようになっている請求項１乃至３のいずれかに記載のモータ駆動制御装置。
【請求項５】
モータ抵抗をＲ、前記補正抵抗をΔＲ、インダクタンスをＬ、ラプラス演算子をｓとして、前記モータモデルを（Ｒ＋ΔＲ）（Ｌ／Ｒ・ｓ＋１）としている請求項１乃至４のいずれかに記載のモータ駆動制御装置。
【請求項６】
時定数をＴ１とし、前記モータモデルを（Ｌ・ｓ＋Ｒ）／（Ｔ１・ｓ＋１）としている請求項１乃至４のいずれかに記載のモータ駆動制御装置。
【請求項７】
前記モータモデルを（Ｌ／Ｒ・ｓ＋１）／（Ｔ１・ｓ＋１）としている請求項６に記載のモータ駆動制御装置。
【請求項８】
請求項１乃至請求項７のいずれかに記載のモータ駆動制御装置が用いられていることを特徴とする電動パワーステアリング装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モータモデルの補正を行うことにより、モータのロータ位置及び角速度を精度良く推定できるモータ駆動制御装置及びそれを用いた電動パワーステアリング装置に関する。
【背景技術】
【０００２】
従来、電動パワーステアリング装置に使用されるモータの駆動制御方式、例えばブラシレスＤＣモータの駆動制御方式として、ロータの回転位置に基づいて、モータ駆動制御装置からインバータを介して回転磁界を発生させ、ロータの回転を駆動制御するようにした制御方式が採用されている。この駆動制御方式は、ステータ内部に所定角度の間隔で配された複数の励磁コイルに、ロータ位置に応じて制御回路によって各励磁コイルの励磁を順次切換えることにより、ロータの回転駆動を制御するものである。
【０００３】
ブラシレスＤＣモータの駆動制御方式として良く使用されるベクトル制御は、例えば特開２００１−１８８２２号公報（特許文献１）などに開示されている。図１０は、電動パワーステアリング装置に用いられるモータの駆動制御装置を示す構成例である。
【０００４】
図１０において、モータの制御指令値を決定する指令電流決定部５１から、ＰＩ制御部５２、２相／３相座標変換部５３、ＰＷＭ制御部５４、インバータ５５を介してモータ５６に至る指令信号の主経路が形成されている。また、インバータ５５とモータ５６との間に電流検出器５７が配され、この電流検出器５７で検出されたモータ電流値を、指令電流決定部５１とＰＩ制御部５２との間に配された減算回路５８にフィードバックさせるフィードバック経路が形成されている。このフィードバック経路には、３相／２相座標変換部５９が配されている。
【０００５】
指令電流決定部５１は、トルクセンサで検出されたトルクから算出された指令値Ｔｒｅｆ、位置検出センサ１１で検出されたロータの位置を示す電気角θ及び電気角速度ωを入力し、指令電流Ｉｄｒｅｆ及びＩｑｒｅｆを決定する。指令電流Ｉｄｒｅｆ及びＩｑｒｅｆは、電流検出器５７で検出された後に３相／２相座標変換部５９で２相に変換されたフィードバック電流によってそれぞれ補正される。即ち、フィードバック電流Ｉｄ、Ｉｑと、電流指令値Ｉｄｒｅｆ、Ｉｑｒｅｆとの偏差がそれぞれ減算回路５８ｄ、５８ｑで演算される。その後、ＰＩ制御部５２ｄ、５２ｑで、ＰＷＭ制御のデューティを示す信号がｄ、ｑ成分の形でＶｄ、Ｖｑとして算出され、２相／３相座標変換部５３によって、２相のｄ、ｑ成分から３相成分Ｖａ、Ｖｂ、Ｖｃに逆変換される。そして、インバータ５５は指令値Ｖａ、Ｖｂ、Ｖｃに基づいてＰＷＭ電圧発生部５４を経てＰＷＭ制御され、モータ５６にインバータ電流が供給されてモータ５６の回転を制御するようになっている。
【０００６】
なお、６１は車速センサであり、６２は感応領域判定部であり、６３は係数発生部であり、６４は基本アシスト力計算部であり、６５は戻し力計算部であり、６６は電気角変換部であり、６７は角速度変換部であり、６８は非干渉制御補正値計算部である。
【０００７】
このようなベクトル制御の場合、指令電流決定部５１において、トルク指令値Ｔｒｅｆ及びロータ角速度ω、ロータ位置θに基づいて電流指令値Ｉｄｒｅｆ、Ｉｑｒｅｆが決定される。また、モータ５６のフィードバック電流Ｉｕ、Ｉｖ、Ｉｗが３相／２相座標変換部５９において電流Ｉｄ、Ｉｑに変換され、その後、電流Ｉｄ及びＩｑと、電流指令値Ｉｄｒｅｆ及びＩｑｒｅｆとの偏差が減算回路５８ｄ、５８ｑで演算され、その偏差ΔＩｄ、ΔＩｑがＰＩ制御部５２ｄ、５２ｑにおいてＰＩ制御による電流制御を実行することによってインバータへの電圧指令値Ｖｄ、Ｖｑが求められる。そして、２相の電圧指令値Ｖｄ、Ｖｑが再び３相の電圧指令値Ｖａ、Ｖｂ、Ｖｃに逆変換されてインバータ５５が制御され、モータ５６の駆動制御を行うようになっている。
【０００８】
このようなベクトル制御を用いた場合、ロータ位置θを正しく検出できない状態でモータ制御すると、モータ５６のトルクリップルが大きくなり、電動パワーステアリング装置としてはドライバのハンドル操舵に振動などの違和感を与えたり、モータ騒音が大ききなるなどの好ましくない現象が発生する。そのため、ロータ位置θを正しく検出するために、特開２００１−１８７５７８号公報（特許文献２）にも開示されているように、ロータ位置検出器１１として、高価であるが検出精度の良いレゾルバやエンコーダを用いる必要がある。
【０００９】
レゾルバやエンコーダは高価であるため、安価なロータ位置検出器であるホールセンサを用いて、モータ制御を試みる例もある。例えば特開２００２−２７２１６３号公報（特許文献３）に開示されているように、モータのＰＷＭ制御に用いる正弦波を発生させる位相の起点や途中点を補正するために、ホールセンサ信号を利用している。しかし、特許文献２の例では、次のホールセンサ信号が得られるまでの間の途中区間のロータの回転角度θまでは算出できず、エンコーダなどのロータ位置検出検出器としての機能までには至っていない。
【００１０】
また、エンコーダなどの検出精度の良い検出器でもロータの回転速度が低速になると、エンコーダから得られる検出点数が少なくなり、ロータの位置検出精度が低下する問題がある。そこで、非特許文献１に開示されているように、モータ負荷の慣性モーメント及びモータ電流を用いて、精度悪化の改善を図るよにしている。しかしながら、慣性モーメント及びモータ電流から求められた角加速度から角速度ωを算出するまでに積分があり、角速度ωからロータの電気角θを算出するまでにも積分があり、積分の演算を２回使用するため計算精度が悪く、また、モータが駆動する負荷の慣性モーメントを正しく決定することも困難なので実用的には問題があった。
【００１１】
さらに、モータのトルクリップルを大きくする要素としてモータの温度変化も、その一要素となる。つまり、ロータの電気角θを算出するときに、モータの逆起電圧を使用するようなロータ位置推定回路を利用していると、その逆起電圧を算出するために用いるモータの抵抗やインダクタンスの値が温度変化によって変化し、その温度変化による抵抗等の修正をしないと、結果的にロータの電気角θを精度良く算出することができなくなり、トルクリップルが大きくなる問題もある。温度変化を考慮したモータの抵抗値算出例として特許第３１０４８６５号（特許文献４）があるが、モータの回転速度が０であるなどの特殊条件が課せられており、不便なものである。
【特許文献１】特開２００１−１８８２２号公報
【特許文献２】特開２００１−１８７５７８号公報
【特許文献３】特開２００２−２７２１６３号公報
【特許文献４】特許第３１０４８６５号
【非特許文献１】セオング  ホ  ソン（Ｓｅｕｎｇ−Ｈｏ−Ｓｏｎｇ）、交流電動機の低速制御のための速度オブザーバ（Ａｎ  Ｉｎｓｔａｎｔｅｎｅｏｕｓ  Ｓｐｅｅｄ  Ｏｂｓｅｒｖｅｒ  ｆｏｒ  Ｌｏｗ  ｓｐｅｅｄ  Ｃｏｎｔｒｏｌ  ｏｆ  ａｃ  Ｍａｃｈｉｎｅ）、ＩＥＥＥ応用パワーエレクトロニクス  １９９８年大会（ＩＥＥＥ  ＡＰＥＣ’９８）、Ｐ−５８１−５８６
【発明の開示】
【発明が解決しようとする課題】
【００１２】
上述したように、ベクトル制御を用いてモータを制御するためには、モータのロータ位置を正しく検出する必要があるが、レゾルバやエンコーダは高価であるために電動パワーステアリング装置を安価に製造する場合の障害となる。また、レゾルバやエンコーダ等の高精度位置検出器を用いても、モータの低速域では正しくロータ位置を検出できない問題があった。さらに、モータの温度変化によってもロータ位置の検出精度が悪くなる問題もあった。
【００１３】
安価なロータ位置検出器としてのホールセンサを用いた場合、ホールセンサ信号の入力時にのみ正確な角度データが得られるので、モータの逆起電圧の推定値から角度データ（角度推定値）を生成し、ホールセンサ信号間を補間するようにしている。そして、逆起電圧は各相の電流、電圧、抵抗モデルから推定しているが、モータの実抵抗値は製造時のバラツキ、経年変化、温度変化などで変動するため抵抗モデルに誤差が生じ、逆起電圧の推定値にも誤差が生じる。その結果、モータ軸の角度推定値にも誤差が生じてしまい、電動パワーステアリング装置の制御において、電流変動、制御音などの不具合が発生してしまう。
【００１４】
本発明は上述のような事情からなされたものであり、本発明の目的は、抵抗モデルの誤差を補正することにより、安価なロータ位置検出器を用いるにも拘わらず、正確にロータ位置及び角速度を算出でき、モータの低速域においても、また、温度変化等があってもロータ位置をソフトウェアで精度良く算出できるロータ位置推定手段を備えたモータ駆動制御装置を提供すると共に、正しく算出されたロータ位置及び角速度を使用するモータ駆動制御装置を用いて、モータのベクトル制御を正しく実行することにより、例えばスラローム走行などのハンドルの中速切替え操舵であっても、ハンドル操舵に違和感のない、安価で高性能な電動パワーステアリング装置を提供することにある。
【課題を解決するための手段】
【００１５】
本発明は、３相以上のブラシレスＤＣモータの相電圧又は線間電圧を検出する電圧検出手段と、前記モータのモータ電流を検出する電流検出手段と、前記モータのロータ粗位置を検出する位置検出手段と、前記相電圧又は線間電圧、前記モータ電流及びロータ粗位置に基づいて前記モータのロータ位置及び角速度を推定するロータ位置推定部とを具備し、ロータ位置推定部が推定するロータ位置及び角速度と指令値とに基づいて前記モータをベクトル制御するモータ駆動制御装置に関するものであり、本発明の上記目的は、前記ロータ位置推定部が、各相逆起電圧に基づいて前記角速度を算出する角速度算出部と、前記角速度に基づいて前記ロータの電気角を算出する電気角算出部と、前記ロータ粗位置に基づいて前記モータのロータ位相を検出するロータ位相検出部と、前記電気角及びロータ位相の角度誤差と前記モータ電流とに基づいて各相の補正抵抗を算出する補正抵抗算出部と、前記モータ電流を入力とする前記モータのモータモデルと、前記モータモデルの出力及び前記補正抵抗算出部の出力を乗算する乗算部とで成り、前記相電圧又は線間電圧と前記乗算部の出力との差を前記各相逆起電圧とすることによって達成される。
【００１６】
また、本発明の上記目的は、前記位置検出手段がホールセンサであることにより、或いは前記補正抵抗をモータ抵抗に加算した加算値を前記乗算部に入力することにより、或いは前記角速度が所定範囲内、前記モータ電流が所定範囲内の少なくとも一方が満たされた場合に前記補正を実行することにより、或いはモータ抵抗をＲ、前記補正抵抗をΔＲ、インダクタンスをＬ、ラプラス演算子をｓとして、前記モータモデルを（Ｒ＋ΔＲ）（Ｌ／Ｒ・ｓ＋１）とすることにより、或いは時定数をＴ１とし、前記モータモデルを（Ｌ・ｓ＋Ｒ）／（Ｔ１・ｓ＋１）とすることにより、或いは前記モータモデルを（Ｌ／Ｒ・ｓ＋１）／（Ｔ１・ｓ＋１）とすることによって、より効果的に達成される。
【発明の効果】
【００１７】
本発明のモータ駆動制御装置によれば、安価なロータ位置検出センサを用いても、モータの電圧、電流等から算出されるロータの電気角と安価なロータ位置検出センサを組み合わせることにより、モータの低回転速度域も含め、精度の高いロータの電気角或いは角速度を検出することができ、モータ巻線の抵抗値及び温度も補償したモータ駆動制御装置を提供することができる。
【００１８】
本発明のモータ駆動制御装置によれば、モータ角速度が所定範囲内又はモータ電流が所定範囲内という条件において、モータ抵抗値を乗じることでソフトウェアの処理的負荷を増大させることなくモータモデルの補正を簡便に行っており、安価で比較的粗いロータ位置検出手段（例えばホールセンサ）を用いてもモータのロータ位置を精度良く推定することができる。
【００１９】
また、上記モータ駆動制御装置を車両等の電動パワーステアリング装置に用いた場合には、ホールセンサ等の安価なロータ位置検出センサを用いても精度の高いロータの電気角を検出できるので、トルクリップルの少ないモータ制御により、ハンドルの中速操舵時にも滑らかに追従できる安価で高性能な電動パワーステアリング装置を提供することができる。
【発明を実施するための最良の形態】
【００２０】
先ず本発明の前提となる技術について説明する。
【００２１】
モータの電圧として相電圧Ｖａ，Ｖｂ，Ｖｃを検出する例について説明するが、電圧が線間電圧Ｖａｂ，Ｖｂｃ，Ｖｃａであっても成立する。線間電圧については、例えば特開２００４−３１２８３４の数１３及び図１０のようになる。電圧の他に検出されるものとしてモータの電流ｉａ，ｉｂ，ｉｃがあり、モータの巻線抵抗Ｒａ、Ｒｂ，Ｒｃ及びインダクタンスＬａ，Ｌｂ，Ｌｃはモータの特性から予め求めることができる。モータの各相逆起電圧ｅａ，ｅｂ，ｅｃは、下記のようになる。
（数１）
ｅａ＝Ｖａ−（Ｒａ＋ｓ・Ｌａ）・ｉａ
ｅｂ＝Ｖｂ−（Ｒｂ＋ｓ・Ｌｂ）・ｉｂ
ｅｃ＝Ｖｃ−（Ｒｃ＋ｓ・Ｌｃ）・ｉｃ
なお、ｓはラプラス演算子である。
【００２２】
一般的にモータの逆起電圧ｅと角速度ωの関係は、下記のようになる。
（数２）
ｅ＝Ｋｅ・ω
なお、Ｋｅはモータの逆起電圧定数［Ｖ／ｒｐｍ］である。
上記数１及び数２はブラシモータの場合であり、ブラシレスモータでは各相の逆起電圧ｅａ，ｅｂ，ｅｃを整流する必要がある。台形波電流制御及び矩形波電流制御では、整流するとは最大値をとることと同一であり、これを式で表わすと下記のようになる。
（数３）
ω＝２×｛ｍａｘ（｜ｅａ｜，｜ｅｂ｜，｜ｅｃ｜）｝／Ｋｅ
ここで、逆起電圧ｅａ，ｅｂ，ｅｃの波形例を図２に示す。整流するとは逆起電圧ｅａ，ｅｂ，ｅｃの包絡線をとることであり、最大値をとることである。なお、数３の分子が２倍されるのは、逆起電圧ｅａ，ｅｂ，ｅｃの絶対値をとることにより、負側の値が正側に重畳されるためである。
【００２３】
次に、電気角θは次の数４から求めることができる。なお、数４におけるθｉは積分区間の初期値である。
（数４）
θ＝θｉ＋∫ωｄｔ
そして、数４をディジタル処理する場合には、下記数５となる。
（数５）
θ＝θｉ＋ｎ・ω・Ｔｓ
なお、ｎは、次のホールセンサ信号を待つ時間ΔＴｓをサンプリング時間Ｔｓで除
算したものであり、図３、図４、図５において、ΔＴｓ＝Ｔ１２０−Ｔ６０である。
【００２４】
図３はロータ位相推定部で算出された電気角θの例を示しており、算出誤差のために時間が経過するに従って誤差が累積していく。その誤差の量を、例えば時点Ｔ６０では真値は６０度であるのに対し、算出値θｅは６５度である。時点Ｔ０から時点Ｔ６０の間に５度の誤差が発生したことになる。しかし、例えば４極モータにホールセンサが３個取り付けられていれば、６０度毎に電気角θ０を検出できるので、算出した電気角θを補正することができる。その修正の様子を示すのが図４である。図３では時点Ｔ６０において算出電気角θｅは６５度になるが、検出された電気角θ０によって６０度に修正される。つまり、θｉにθ０＝６０度を代入して、下記数６として算出する。
【００２５】
【数６】
2006304478.tif 000003
よって、時点Ｔ６０から時点Ｔ１２０の区間では、電気角θの初期値を６５度ではなく６０度に補正して算出するので、誤差が累積することはない。
【００２６】
一方、ホールセンサの検出値を用いて６０度毎に電気角θを補正できるが、その間は電気角θは誤差を累積している。この誤差累積間の電気角θの誤差を改善するために、次のようにする。算出された電気角θの誤差は、巻線の温度が上昇し、主に巻線抵抗Ｒｍ（ｍ＝ａ，ｂ，ｃ）が変化することによって引起こされる。電気角の角度誤差Δθから角速度の誤差Δωを求め、角速度の誤差Δωから逆起電圧Δｅを求め、更に逆起電圧Δｅから巻線抵抗の補正抵抗ΔＲｍ（ｍ＝ａ，ｂ，ｃ）を求める。そして、数１の巻線抵抗Ｒｍを（Ｒｍ＋ΔＲｍ）に置き換えた抵抗Ｒｍで、電気角θを算出する。この内容を式で表わすと、下記のようになる。
【００２７】
先ず電気角の誤差角度Δθは
（数７）
Δθ＝θ−θ０
であり、ディジタル処理では
（数８）
Δθ＝ｎ・Ｔｓ・Δω
となり、この数８から角速度の誤差Δωを求め、更に逆起電圧Δｅを下記数９に従って求める。
（数９）
Δｅ＝Δω・Ｋｅ／２
次に、補正抵抗ΔＲｍを下記数１０に従って求める。
（数１０）
ΔＲｍ（ｍ＝ａ，ｂ，ｃ）＝Δｅ／ｉｍ
そして、補正抵抗ΔＲｍを補正する前のモータ巻線抵抗Ｒｍに対して、求められた補正抵抗ΔＲｍを考慮した正しいモータの巻線抵抗Ｒｍは、下記数１１となる。
（数１１）
Ｒｍ（ｎｅｗ）＝Ｒｍ＋ΔＲｍ
数１１で求めた巻線抵抗Ｒａ，Ｒｂ，Ｒｃを数１に代入し、数６に従って電気角θを６０度毎に検出した電気角θ０で補正すると、その結果は図５に示すように誤差が減少する。それでも誤差が残る理由は、温度変化の原因が厳密には巻線抵抗だけでなく、検出電圧や電流の誤差等が存在するためである。
【００２８】
なお、モータ巻線抵抗の温度係数α（Ω／℃）は材質、形状等から既知であるので、巻線抵抗の温度変化分ΔＴは下記数１２で求めることができる。
（数１２）
ΔＴ＝ΔＲ／α
以上の理論を前提としたモータ駆動制御装置を電動パワーステアリング装置に適用した例を、図６及び図７を参照して説明する。
【００２９】
図６において、モータ１は４極３相のブラシレスＤＣモータであり、モータ１には図示しないロータがあり、ロータの電気角を検出する位置検出センサとしてのホールセンサ４８（４８−１，４８−２，４８−３）が１２０度毎に配されている。その結果、モータ１のロータの電気角θは６０度間隔でロータ粗位置として検出することができる。モータ１をトルクリップルが少ないようにベクトル制御するためには、正確なロータの電気角θを正しく算出する必要があり、トルク指令値Ｔｒｅｆから電流指令値Ｉａｖｒｅｆ，Ｉｂｖｒｅｆ，Ｉｃｖｒｅｆを算出するために、ロータの電気角θ及び角速度ωを用いて算出する。ベクトル制御部１００で算出された電流指令値Ｉａｖｒｅｆ，Ｉｂｖｒｅｆ，Ｉｃｖｒｅｆを基準値として、電流検出回路３２−１，３２−２，３２−３で検出された電流ｉａ，ｉｂ，ｉｃをフィードバックして減算部２０−１，２０−２，２０−３で誤差電流を求め、その誤差電流を入力とする比例積分（ＰＩ）部２１によって電圧指令値Ｖｐａ，Ｖｐｂ，Ｖｐｃを求め、ＰＷＭ制御部３０はインバータ３１を電圧指令値Ｖｐａ，Ｖｐｂ，Ｖｐｃに基づいてＰＷＭ制御する。精度の高い電気角θ及び角速度ωは、ロータ位置推定部２００によって算出される。
【００３０】
ロータ位置推定部２００の詳細を図７に示して説明する。
【００３１】
ロータ位置推定部２００には、電圧検出回路３３−１，３３−２，３３−３で検出されたモータ相電圧Ｖａ，Ｖｂ，Ｖｃ、モータ電流ｉａ，ｉｂ，ｉｃ、ホールセンサ４８−１，４８−２，４８−３からのロータ粗位置としての電気角θ０＝０，６０，１２０，１８０，２４０，３００度が入力される。電気角θ０の取付位置は０度でなくても良く、例えばホールセンサ４８−１を３０度の位置に設置した場合には、θ０＝３０，９０，１５０，２１０，３３０度になる。モータ電流ｉａ，ｉｂ，ｉｃは伝達関数部２０１−１，２０１−２，２０１−３に入力される。ここで、伝達関数部２０１−１，２０１−２，２０１−３の伝達関数は下記数１３で表わされ、これは数１に相当する。
（数１３）
Ｚ＝（Ｒｍ＋ｓ・Ｌｍ）／（ｓ・Ｔｆ＋１）
なお、ｍ＝ａ，ｂ，ｃであり、ｓはラプラス演算子である。
数１３の分子は数１のモータ電流に乗ずるインピーダンス（Ｒｍ＋ｓ・Ｌｍ）である、該インピーダンスに、数１には存在しないローパスフィルタの伝達関数である１／（ｓ・Ｔｆ＋１）を乗じている。ローパスフィルタを用いる理由は、電流ｉａ，ｉｂ，ｉｃにはノイズが含まれるので、ノイズを除去するためであり、理論的な意味より実用的な意味がある。
【００３２】
減算部２０２−１，２０２−２，２０２−３にモータ電圧Ｖａ，Ｖｂ，Ｖｃと伝達関数部２０１−１，２０１−２，２０１−３の出力とが入力され、それらの差をとると各相の逆起電圧ｅａ，ｅｂ，ｅｃが算出される。つまり、数１を実行して各相の逆起電圧ｅａ，ｅｂ，ｅｃを算出する。
【００３３】
次に、角速度算出部２０３に各相の逆起電圧ｅａ，ｅｂ，ｅｃを入力して数３を実行し、角速度ωを算出する。角速度算出部２０３で必要な逆起電圧の最大値算出の方法としては、数３に示すように絶対値をとって２倍して、逆起電圧ｅａ，ｅｂ，ｅｃの最大値を算出する方法もあるが、図２から分かるように、電気角θによってどの相の逆起電圧が最大値になるか決まっているので、ホールセンサ４８（４８−１〜４８−３）が検出する６０度毎の電気角θ０を利用して、下記式から導き出す。
（数１４）
ω＝（ｅａ×Ｃａ＋ｅｂ×Ｃｂ＋ｅｃ×Ｃｃ）／Ｋｅ
なお、Ｃａ，Ｃｂ，Ｃｃはコミューテーション（転流）を表わすパラメータであり
、台形波電流及び矩形波電流では「１」、「０」又は「−１」の値をとり、電気角
θ０によってパラメータＣａ，Ｃｂ，Ｃｃが「１」になる区間と、「０」になる区
間と、「−１」になる区間とが決定されるが、その区間はホールセンサ４８の検出
信号Ｓｈａｌｌによって決定することができる。
【００３４】
数１４を用いて角速度ωを算出する場合、角速度算出部２０３には逆起電圧ｅａ，ｅｂ，ｅｃ及びロータ位相検出部２０５からの電気角θ０が入力され、それを基にパラメータＣａ，Ｃｂ，Ｃｃが決定され、角速度算出部２０３で数１４が実行されて角速度ωが算出される。
【００３５】
次に、角速度ωから電気角θを求める電気角算出部２０４は数６で示す積分であり、角速度ωを入力して電気角θを算出する。電気角算出部２０４で算出された電気角θに、誤差がある場合には、その誤差が積分で蓄積されるために図３で示すような結果になり、正確な電気角θは算出されない。
【００３６】
そのため、図７に示すようにロータ位置推定部２００内にロータ位相検出部２０５を設けており、ロータ位相検出部２０５にはホールセンサ４８からのホールセンサ信号Ｓｈａｌｌが入力され、検出された電気角θ０＝０，６０，１２０，１８０，２４０、３００度が出力される。この検出された電気角θ０を電気角算出部２０４に入力し、数４及び数６において初期値θｉを電気角θ０でリセットする。この結果、図４に示すように時点Ｔ６０において、電気角の真値６０度に対し算出値θは６５度と誤差５度が発生するが、ロータ位相検出部２０５の検出値θ０＝６０度で算出値θは６０度にリセットされるので、次の積分区間、つまり時点Ｔ６０から時点Ｔ１２０の間は初期値θｉを６０度として誤差をリセットした状態で計算するので、誤差は蓄積されることはない。他の区間も同様である。
【００３７】
図８はモータ巻線抵抗の補正を行う場合のロータ位置推定部２００の構成例を示しており、検出される電気角θ０と当該時点の算出された電気角θとの誤差を減算部２０６において求める。例えば、時点Ｔ６０における電気角θと電気角θ０＝６０度との誤差角度Δθを算出するが、これは数７を実行することを意味する。次に、誤差角速度検出部２０７において、数８を実行する。つまり、誤差角速度検出部２０７ではΔω＝Δθ／（ｎ・Ｔｓ）を実行し、電気角の誤差角度Δθから角速度の誤差Δωを算出する。次に、数９を実行するための誤差逆起電圧算出部２０８によって誤差角速度Δωを入力し、数９に従って誤差逆起電圧Δｅが算出される。そして、誤差抵抗算出回路２０９では、数１０に従って、ΔＲｍ＝Δｅ／ｉｍから温度変化による巻線抵抗の補正抵抗ΔＲｍ（ｍ＝ａ，ｂ，ｃ）を算出する。
【００３８】
次に、抵抗補正部２１０において、巻線抵抗Ｒｍは、誤差抵抗算出部２０９で算出された補正抵抗ΔＲｍを考慮した（Ｒｍ＋ΔＲｍ）に置き換えられる。最後に、抵抗補正部２１０で算出された新たな抵抗値Ｒａ＝Ｒａ＋ΔＲａ，Ｒｂ＝Ｒｂ＋ΔＲｂ，Ｒｃ＝Ｒｃ＋ΔＲｃが伝達関数部２０１−１，２０１−２，２０１−３の抵抗Ｒａ，Ｒｂ，Ｒｃに代入され、温度変化を考慮した正しい抵抗値を用いて新たに角速度ω或いは電気角θを算出する。その結果、図４に示すように時点Ｔ６０においてＡ点におけるθ＝６５度と誤差が５度であったものが、例えば図５に示すように時点Ｔ６０においてＡ’点におけるθ＝６１度となり、誤差が１度に改善することができる。つまり、ロータ位置検出センサが検出する離散的な電気角θ０同士の間の区間の算出電気角θの精度を大幅に改善することができる。
【００３９】
そして、誤差抵抗算出部２０９で算出された補正抵抗ΔＲｍを変化温度算出部２１１に入力する。変化温度算出部２１１では、数１３に示す温度変化分ΔＴ＝ΔＲｍ／αを実行して温度変化分ΔＴを算出する。ここで、補正抵抗ΔＲｍはΔＲａ，ΔＲｂ，ΔＲｃの３種類があるので、算出された温度変化分ΔＴも３種類発生する可能性があるが、最大値を利用するか、最小値を利用するか、或いは平均値を利用するかは、利用対象或いは装置全体を考慮して選択する。また、温度変化分ΔＴが判明すれば、初期温度ＴａにΔＴを加算して巻線抵抗の温度Ｔｃ＝Ｔａ＋ΔＴも算出可能となる。
上述のようにモータ逆起電圧は各相の電流、電圧、抵抗モデルから推定しているが、モータの実抵抗値は製造時のバラツキ、経年変化、温度変化などで変動するため、抵抗モデルに誤差が生じ、逆起電圧の推定値にも誤差が生じる。その結果、モータ軸の角度推定値にも誤差が生じてしまい、電動パワーステアリング等の高度な制御においては電流変動、制御音などの不具合が発生するため、本発明では電流変動、制御音を抑えるための抵抗モデル誤差の補正を行う。
【００４０】
即ち、低速回転時は逆起電圧が小さいため誤差が大きく、正しく補正抵抗ΔＲｍを算出することができない。また、高速回転時はホールセンサ信号の変化タイミングが正確に検出できないため、正しく補正抵抗ΔＲｍを算出することができない。例えばモータ角速度１２００ｒｐｍの場合、ホールセンサ信号の変化間隔は４．１６７ｍｓとなり、モータ角速度１８００ｒｐｍの場合、ホールセンサ信号の変化間隔は２．７７８ｍｓ、サンプリング周期は１ｍｓ程度が普通なので、かなりの誤差になる。また、高速回転時はノイズ除去のためのローパスフィルタの遅れの影響も誤差となり、正確な補正抵抗ΔＲｍを算出することができない。そして、逆起電圧を算出する際にもＲ・Ｉを計算するため、モータ電流が小さいときも正しく補正抵抗ΔＲｍを算出することができない。そのため、本発明では、モータ角速度が所定範囲内、又は及びモータ電流が所定範囲内という条件において、補正抵抗ΔＲｍの算出と、モータモデルの補正を行う。
【００４１】
ここにおいて、図８の例は原理的なモータモデル補正であり、原理的には何ら問題がない。しかしながら、ソフトウェアとして実装する場合、変更すべき定数が３つあり、中間変数のリセット演算が必要になるなど処理的負荷が大きい。
【００４２】
抵抗モデルに誤差があるため角度推定値も誤差を生じるが、ホールセンサ信号が変化したとき、実角度と角度推定値の角度の誤差が分かるので、本発明では、この角度誤差から抵抗成分誤差に相当するものを算出し、抵抗モデル値を調整するようにフィードバックし、逆起電圧の推定誤差を減少させる。このように抵抗誤差を補正することにより、ホールセンサ信号間の角度推定精度が向上し、電流変動を抑えることができ、制御音を減少させることができる。
【００４３】
モータモデルはＬｓ＋Ｒであり、モータ抵抗値ＲがＲ→Ｒ＋ΔＲになった場合、モータモデルはＬｓ＋Ｒ＋ΔＲとなる。しかし、このモータモデルをソフトウェアで実装するには上記理由から不都合である。そこで、抵抗値のノミナル値Ｒで除算したＬ／Ｒ・ｓ＋１にモータ抵抗値を乗算してモータモデルとすると、下記数１５となる。
（数１５）
（Ｒ＋ΔＲ）（Ｌ／Ｒ・ｓ＋１）
数１５において、Ｌ／Ｒ・ｓ＋１は変わらないため、定数変更や中間変数のリセット演算は不要である。Ｌ・ｓ＋Ｒ＋ΔＲと数１５とは厳密には等しくないが、ほぼ等しいため実用上では問題を生じない。更に純粋な微分はソフトウェアでは実現できないため、（Ｌ・ｓ＋Ｒ）／（Ｔ１・ｓ＋１））と実装すれば良く、モデルとしてはモータ抵抗値Ｒで除算した（Ｌ／Ｒ・ｓ＋１）／（Ｔ１・ｓ＋１）を用いれば良い。
【００４４】
モータ逆起電圧は数１で表わされ、モータ中立点−ａ相間逆起電圧Ｅａｎは、ａ相端子−モータ中立点間電圧をＶａｎとして下記数１６のように表わされる。
【００４５】
【数１６】
2006304478.tif 000004
インダクタンスＬのモデル化誤差は静的な電流には影響されないので、インダクタンスＬの誤差を無視して考える。抵抗値各相によってノミナル値と誤差があり、この誤差量を推定し、抵抗値とすることで角度推定の誤差をなくすようにする。抵抗Ｒａについては下記数１７で表わされる。抵抗Ｒｂ，Ｒｃについても同様である。
（数１７）
Ｒａ＝Ｒｍ＋ΔＲａ
数１６に数１７を代入すると下記数１８になる。なお、Ｔ２＝Ｌ／Ｒｍである。
【００４６】
【数１８】
2006304478.tif 000005
数１８の右辺第２項は伝達関数として実現できないため、フィルタを考慮して下記数１９のように実現する。
【００４７】
【数１９】
2006304478.tif 000006
また、電気角θは数４で表わされ、数４に数３を代入すると共に数１６を代入すると、下記数２０が成立する。他相のｂ相及びｃ相についても同様である。
【００４８】
【数２０】
2006304478.tif 000007
ここで、誤差角度Δθを電気角θに加算し、補正抵抗ΔＲａを考慮すると下記数２１が成り立つ。そして、角度の誤差が全てモータモデル内の抵抗によって発生していると考えると、下記数２１が成り立つ。
【００４９】
【数２１】
2006304478.tif 000008
上記数２１より、誤差角度Δθは下記数２２となる。
【００５０】
【数２２】
2006304478.tif 000009
上記数２２より、下記数２３が求まる。他相のｂ相及びｃ相についても同様である。
【００５１】
【数２３】
2006304478.tif 000010
なお、低速時には逆起電圧が小で誤差が大きくなり、抵抗変化分ΔＲｍを正確に算出することができず、また、高速時はホールセンサ信号の変化タイミングがずれ、ローパスフィルタによる誤差が含まれ、抵抗変化分ΔＲｍを正確に算出することができない。そのため、本発明では誤差の小さい範囲で抵抗変化分ΔＲｍの算出を行う。
【００５２】
図９は本発明の実施例を図８に対応させて示しており、減算部２０６で求められた電気角の誤差角度Δθと、電流ｉａ，ｉｂ，ｉｃとが補正抵抗算出部２２０に入力され、誤差角度Δθと電流ｉａ，ｉｂ，ｉｃとに基づいて前記数２３が各相について演算され、補正抵抗ΔＲｍ（ｍ＝ａ、ｂ、ｃ）が算出される。この算出はモータ角速度ωが所定範囲内又は及びモータ電流ｉａ，ｉｂ，ｉｃが所定範囲内のとき、つまり少なくとも一方の条件が満たされたときに行う。補正抵抗ΔＲｍは変化温度算出部２１１に入力されると共に、抵抗補正部２２１に入力される。抵抗補正部２２１では前記数１６を実行して補正された抵抗Ｒａ’，Ｒｂ’，Ｒｃ’を求め、抵抗Ｒａ’，Ｒｂ’，Ｒｃ’をそれぞれ乗算部２２３ａ，２２３ｂ，２２３ｃに入力する。
【００５３】
また、電流ｉａ，ｉｂ，ｉｃはそれぞれ上述したモータモデル２２２ａ，２２２ｂ，２２２ｃに入力され、高周波ノイズを除去された電流がそれぞれ乗算部２２３ａ，２２３ｂ，２２３ｃに入力され、補正された抵抗Ｒａ’，Ｒｂ’，Ｒｃ’との乗算が行われる。なお、モータモデル２２２ａ，２２２ｂ，２２２ｃにおけるＴ２はＬ／Ｒを示している。乗算部２２３ａ，２２３ｂ，２２３ｃの乗算結果はそれぞれ減算部２０２−１、２０２−２、２０２−３に入力されて、モータ相電圧Ｖａ，Ｖｂ，Ｖｃからそれぞれ減算されることにより前記数１９が実行される。図９ではモータ相電圧Ｖａ，Ｖｂ，Ｖｃを直接減算部２０２−１、２０２−２、２０２−３に入力しているが、ローパスフィルタ（１／ｓ・Ｔｆ＋１）を介挿しても良い。
【００５４】
このようなソフトウェア上の演算を実行することにより、数１９で示される各相のモータ逆起電圧Ｅａｎ，Ｅｂｎ，Ｅｃｎを算出することができ、これにより角速度算出部２０３で角速度ωを正しく算出することができ、更に電気角θを正しく算出することができる。
【図面の簡単な説明】
【００５５】
【図１】モータの逆起電圧を説明する原理図である。
【図２】逆起電圧からロータの電気角速度を算出する原理を示す図である。
【図３】電気角θの算出結果例を示す図である。
【図４】電気角θの算出結果例を示す図である。
【図５】電気角θの算出結果例を示す図である。
【図６】モータ駆動制御装置の構成例を示すブロック図である。
【図７】ロータ位置推定部の構成例を示すブロック図である。
【図８】電気角を算出する装置構成例を示すブロック図である。
【図９】本発明の実施例を示すブロック図である。
【図１０】従来の電気角θを用いたモータのベクトル制御装置の構成例を示すブロック図である。
【符号の説明】
【００５６】
１                            モータ
１１                          ロータ位置検出センサ
２０−１，２０−２，２０−３  減算部
２１                          ＰＩ制御部
２２                          ２相／３相変換部
２３                          ３相／２相変換部
２４                          ＰＷＭ制御部
３１                          インバータ
３２−１，３２−２，３２−３  電流検出回路
３３−１，３３−２，３３−３  電圧検出回路
４８−１，４８−２，４８−３  ホールセンサ
１００                        ベクトル制御部
２００                        ロータ位置推定部
２０１                        伝達関数部
２０２                        減算部
２０３、２０３ａ              角速度算出部
２０４                        電気角算出部
２０５                        ロータ位相検出部
２０６                        減算部
２０７                        誤差角速度算出部
２０８                        誤差逆起電圧算出部
２０９                        誤差抵抗算出部
２１０                        抵抗補正部
２１１                        変化温度算出部
２１２                        ローパスフィルタ
２２０                        補正抵抗算出部
２２１                        抵抗補正部
【図１】
2006304478.tif 000011
【図２】
2006304478.tif 000012
【図３】
2006304478.tif 000013
【図４】
2006304478.tif 000014
【図５】
2006304478.tif 000015
【図６】
2006304478.tif 000016
【図７】
2006304478.tif 000017
【図８】
2006304478.tif 000018
【図９】
2006304478.tif 000019
【図１０】
2006304478.tif 000020