(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024104177
(43)【公開日】2024-08-02
(54)【発明の名称】モータ駆動制御装置およびモータ駆動制御方法
(51)【国際特許分類】
H02P 21/22 20160101AFI20240726BHJP
H02P 27/06 20060101ALI20240726BHJP
H02P 6/15 20160101ALI20240726BHJP
【FI】
H02P21/22
H02P27/06
H02P6/15
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2023008274
(22)【出願日】2023-01-23
(71)【出願人】
【識別番号】000114215
【氏名又は名称】ミネベアミツミ株式会社
(74)【代理人】
【識別番号】100114890
【弁理士】
【氏名又は名称】アインゼル・フェリックス=ラインハルト
(74)【代理人】
【識別番号】100116403
【弁理士】
【氏名又は名称】前川 純一
(74)【代理人】
【識別番号】100162880
【弁理士】
【氏名又は名称】上島 類
(72)【発明者】
【氏名】小久保 宏樹
(72)【発明者】
【氏名】戸塚 進士
(72)【発明者】
【氏名】土方 英俊
(72)【発明者】
【氏名】増田 重巳
【テーマコード(参考)】
5H505
5H560
【Fターム(参考)】
5H505AA04
5H505CC01
5H505DD03
5H505DD08
5H505EE41
5H505EE52
5H505GG02
5H505GG04
5H505HA09
5H505HA10
5H505HB01
5H505JJ03
5H505JJ12
5H505JJ16
5H505JJ17
5H505JJ24
5H505JJ26
5H505LL07
5H505LL22
5H505LL39
5H505LL41
5H505LL58
5H560AA01
5H560BB04
5H560BB12
5H560DA02
5H560DA10
5H560DB20
5H560DC01
5H560DC12
5H560EB01
5H560SS01
5H560TT02
5H560TT08
5H560TT11
5H560TT15
5H560TT18
5H560UA05
5H560UA06
5H560XA02
5H560XA04
5H560XA12
5H560XA13
5H560XA15
(57)【要約】
【課題】モータの駆動制御における演算の負荷を低減する。
【解決手段】モータ駆動制御装置10において、制御回路1は、各相のコイルに流れる相電流iu,iv,iwおよび相電流iu,iv,iwの位相を180°反転させた相電流-iu,-iv,-iwのうち、d軸電流をゼロとしたときのq軸電流に最も近い相電流をピーク値ipとして検出し、ピーク値ipの包絡線に基づいて、d軸電流をゼロとしたときのq軸電流iqを算出するq軸電流算出部12と、q軸電流算出部12によって算出したq軸電流iqと、駆動指令信号Scと、回転速度ωと、回転角度θとを用いてベクトル制御演算を行うことにより、駆動制御信号Sdを生成する演算部13と、を含むことを特徴とする。
【選択図】
図2
【特許請求の範囲】
【請求項1】
複数相のコイルを有するモータを駆動するための駆動制御信号を出力する制御回路と、
前記制御回路から出力された前記駆動制御信号に基づいて前記モータを駆動する駆動回路と、を備え、
前記駆動回路は、
前記駆動制御信号に基づいて前記複数相のコイルを駆動するインバータ回路と、
前記複数相のコイルに流れる電流を検出し、検出した電流に応じた電流検出信号を出力する電流検出回路と、を含み、
前記制御回路は、
前記モータの動作の目標状態を指示する値を含む駆動指令信号を取得する駆動指令取得部と、
前記電流検出信号と前記モータのロータの回転角度とに基づいて、各相のコイルに流れる相電流および当該各相のコイルに流れる相電流の位相を180°反転させた相電流のうち、2相の回転座標系のd軸電流をゼロとしたときの前記2相の回転座標系のq軸電流に最も近い相電流をピーク値として検出し、当該ピーク値の包絡線に基づいて、前記d軸電流をゼロとしたときの前記q軸電流を算出するq軸電流算出部と、
前記q軸電流算出部によって算出した前記q軸電流と、前記駆動指令信号と、前記モータのロータの回転速度と、前記ロータの回転角度とを用いてベクトル制御演算を行うことにより、前記駆動制御信号を生成する演算部と、を含む
モータ駆動制御装置。
【請求項2】
請求項1に記載のモータ駆動制御装置において、
前記ロータの回転に応じた電気角の範囲を複数に分割したセクタ毎に前記ピーク値の候補となる相電流が対応付けられた対応関係情報が前記制御回路に記憶され、
前記q軸電流算出部は、前記ロータの回転角度と前記電流検出信号とに基づいて、前記2相の回転座標系における電流ベクトルの位相を検出するとともに、前記電流ベクトルの位相が属する前記セクタを特定し、前記対応関係情報に基づいて、特定した前記セクタに対応付けられた候補の相電流を選択し、選択した相電流を前記ピーク値とする
モータ駆動制御装置。
【請求項3】
請求項2に記載のモータ駆動制御装置において、
前記q軸電流算出部は、前記セクタに前記ピーク値の候補となる相電流が複数対応付けられている場合に、複数の候補の相電流の大きさの絶対値を比較し、前記絶対値がもっとも大きい相電流を前記ピーク値とする
モータ駆動制御装置。
【請求項4】
請求項2に記載のモータ駆動制御装置において、
前記q軸電流算出部は、前記ロータの回転角度にπ/2を加算した回転角度を電流ベクトルの位相とする
モータ駆動制御装置。
【請求項5】
請求項2に記載のモータ駆動制御装置において、
前記q軸電流算出部は、前記ロータの回転角度に基づいて算出した、前記2相の回転座標系における電圧ベクトルの位相に基づいて、前記電流ベクトルの位相を検出する
モータ駆動制御装置。
【請求項6】
請求項1に記載のモータ駆動制御装置において、
前記q軸電流算出部は、
前記ロータの回転角度と前記電流検出信号とに基づいて前記ピーク値を検出するピーク値検出部と、
前記ピーク値検出部によって検出された前記ピーク値が入力されるローパスフィルタと、
前記ローパスフィルタから出力された値に所定値を乗算し、前記q軸電流として出力する乗算部と、を含む
モータ駆動制御装置。
【請求項7】
請求項6に記載のモータ駆動制御装置において、
前記所定値は、π/3である
モータ駆動制御装置。
【請求項8】
請求項2に記載のモータ駆動制御装置において、
前記セクタは、0°から360°までの電気角の範囲を60°毎に分割した範囲である
モータ駆動制御装置。
【請求項9】
複数相のコイルを有するモータの動作の目標状態を指示する値を含む駆動指令信号を取得する第1ステップと、
前記複数相のコイルに流れる電流を検出する第2ステップと、
前記第2ステップにおいて検出した電流と前記モータのロータの回転角度とに基づいて、各相のコイルに流れる相電流および当該各相のコイルに流れる相電流の位相を180°反転させた相電流のうち、2相の回転座標系のd軸電流をゼロとしたときの前記2相の回転座標系のq軸電流に最も近い相電流をピーク値として検出し、当該ピーク値の包絡線に基づいて、前記d軸電流をゼロとしたときの前記q軸電流を算出する第3ステップと、
前記第1ステップにおいて取得した前記駆動指令信号と、前記第3ステップにおいて算出した前記q軸電流と、前記モータのロータの回転速度と、前記ロータの回転角度とを用いてベクトル制御演算を行うことにより、前記モータを駆動させるための駆動制御信号を生成する第4ステップと、を含む
モータ駆動制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、モータ駆動制御装置及びモータ駆動制御方法に関する。
【背景技術】
【0002】
一般に、ブラシレスDCモータとしての永久磁石同期モータ(PMSM:Permanent Magnet Synchronous Motor)は、回転子の表面に永久磁石を張り付けた表面磁石型同期モータ(SPMSM:Surface Permanent Magnet Synchronous Motor)と回転子の内部に永久磁石を埋め込んだ埋め込み磁石型同期モータ(IPMSM:Interior Permanent Magnet Synchronous Motor)とに大別される。
【0003】
従来、永久磁石同期モータ(PMSM)の駆動制御技術として、ベクトル制御によるモータ駆動制御方法が知られている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、ベクトル制御によるモータ駆動制御方法では、固定座標系と回転座標系との間での座標変換や除算等の複雑な演算を行う必要があり、モータ駆動制御装置としてのマイクロコントローラ等のプログラム処理装置による演算の負荷が大きくなる。そのため、大容量のメモリを搭載し、複雑な演算を高速で処理可能な高性能なマイクロコントローラ等が必要となり、モータ駆動制御装置のコストの増大を招いている。
【0006】
本発明は、上述した課題を解消するためのものであり、モータの駆動制御における演算の負荷を低減することを目的とする。
【課題を解決するための手段】
【0007】
本発明の代表的な実施の形態に係るモータ駆動制御装置は、複数相のコイルを有するモータを駆動するための駆動制御信号を出力する制御回路と、前記制御回路から出力された前記駆動制御信号に基づいて前記モータを駆動する駆動回路と、を備え、前記駆動回路は、前記駆動制御信号に基づいて前記複数相のコイルを駆動するインバータ回路と、前記複数相のコイルに流れる電流を検出し、検出した電流に応じた電流検出信号を出力する電流検出回路と、を含み、前記制御回路は、前記モータの動作の目標状態を指示する値を含む駆動指令信号を取得する駆動指令取得部と、前記電流検出信号と前記モータのロータの回転角度とに基づいて、各相のコイルに流れる相電流および当該各相のコイルに流れる相電流の位相を180°反転させた相電流のうち、2相の回転座標系のd軸電流をゼロとしたときの前記2相の回転座標系のq軸電流に最も近い相電流をピーク値として検出し、当該ピーク値の包絡線に基づいて、前記d軸電流をゼロとしたときの前記q軸電流を算出するq軸電流算出部と、前記q軸電流算出部によって算出した前記q軸電流と、前記駆動指令信号と、前記モータのロータの回転速度と、前記ロータの回転角度とを用いてベクトル制御演算を行うことにより、前記駆動制御信号を生成する演算部と、を含むことを特徴とする。
【発明の効果】
【0008】
本発明の一態様によれば、モータ駆動制御における演算の負荷を低減することが可能となる。
【図面の簡単な説明】
【0009】
【
図1】実施の形態1に係るモータ駆動制御装置を備えたモータユニットの構成を示す図である。
【
図2】実施の形態1に係るモータ駆動制御装置における制御回路の機能ブロック構成を示す図である。
【
図3】3相の固定座標系と2相の回転座標系との関係を示す図である。
【
図4】2相の回転座標系における電流ベクトルを示す図である。
【
図5】モータの各相の相電流とq軸電流の関係を示す図である。
【
図6】正のq軸電流と相電流の一例を示す図である。
【
図7】負のq軸電流と相電流の一例を示す図である。
【
図8】セクタとピーク値の候補となる相電流との対応関係を示す図である。
【
図9】実施の形態1に係るピーク値検出部の構成例を示す図である。
【
図10】モータのコイルの印加電圧に対する電流の遅れを説明するための図である。
【
図11】進角値の算出方法を説明するための図である。
【
図12】対応関係情報としての、回転速度とq軸電流の組み合わせ毎に進角値を対応付けたテーブルの一例を示す図である。
【
図13】実施の形態1に係るモータ駆動制御装置による駆動制御信号の生成処理の流れの一例を示すフローチャートである。
【
図14】実施の形態1に係るq軸電流の算出処理(ステップS5)の流れの一例を示すフローチャートである。
【
図15】実施の形態2に係るモータ駆動制御装置における制御回路の機能ブロック構成を示す図である。
【
図16】ロータの回転角度の真値に対する推定値のずれに起因する電流ベクトルのずれを説明するための図である。
【
図17】実施の形態2に係るq軸電流の推定方法の概要を説明するための図である。
【
図18A】実施の形態2における、セクタとピーク値の候補となる相電流との対応関係の一例を示す図である。
【
図18B】実施の形態2における、セクタとピーク値の候補となる相電流との対応関係の一例を示す図である。
【
図19】実施の形態2に係るピーク値検出部の構成例を示す図である。
【
図20】実施の形態2におけるq軸電流の算出処理(ステップS5)の流れの一例を示すフローチャートである。
【
図21】実施の形態3に係るモータ駆動制御装置における制御回路の機能ブロック構成を示す図である。
【
図22】2相の回転座標系における電流ベクトルと電圧ベクトルとの関係を示す図である。
【
図23】実施の形態3に係るピーク値検出部の構成例を示す図である。
【
図24】実施の形態3に係るq軸電流の推定方法の概要を説明するための図である。
【
図25A】実施の形態3における、セクタとピーク値の候補となる相電流との対応関係の一例を示す図である。
【
図25B】実施の形態3における、セクタとピーク値の候補となる相電流との対応関係の一例を示す図である。
【発明を実施するための形態】
【0010】
1.実施の形態の概要
先ず、本願において開示される発明の代表的な実施の形態について概要を説明する。なお、以下の説明では、一例として、発明の構成要素に対応する図面上の参照符号を、括弧を付して記載している。
【0011】
〔1〕本発明の代表的な実施の形態に係るモータ駆動制御装置(10,10A,10B)は、複数相のコイル(Lu,Lv,Lw)を有するモータ(3)を駆動するための駆動制御信号(Sd)を出力する制御回路(1,1A,1B)と、前記制御回路から出力された前記駆動制御信号に基づいて前記モータを駆動する駆動回路(2)と、を備え、前記駆動回路は、前記駆動制御信号に基づいて前記複数相のコイルを駆動するインバータ回路(2a)と、前記複数相のコイルに流れる電流を検出し、検出した電流に応じた電流検出信号(Vm)を出力する電流検出回路(2c)と、を含み、前記制御回路は、前記モータの動作の目標状態を指示する値を含む駆動指令信号(Sc,Sc1)を取得する駆動指令取得部(11)と、前記電流検出信号と前記モータのロータ(31)の回転角度とに基づいて、各相のコイルに流れる相電流(iu,iv,iw)および当該各相のコイルに流れる相電流の位相を180°反転させた相電流(-iu,-iv,-iw)のうち、2相の回転座標系のd軸電流をゼロとしたときの前記2相の回転座標系のq軸電流に最も近い相電流をピーク値(ip)として検出し、当該ピーク値の包絡線に基づいて、前記d軸電流をゼロとしたときの前記q軸電流(iq)を算出するq軸電流算出部(12,12A,12B)と、前記q軸電流算出部によって算出した前記q軸電流と、前記駆動指令信号と、前記モータのロータの回転速度と、前記ロータの回転角度とを用いてベクトル制御演算を行うことにより、前記駆動制御信号を生成する演算部(13)と、を含むことを特徴とする。
【0012】
〔2〕上記〔1〕に記載のモータ駆動制御装置において、前記ロータの回転に応じた電気角の範囲を複数に分割したセクタ(I-VI)毎に前記ピーク値の候補となる相電流が対応付けられた対応関係情報(128,128A_1,128A_2,128B_1,128B_2)が前記制御回路に記憶され、前記q軸電流算出部は、前記ロータの回転角度と前記電流検出信号とに基づいて、前記2相の回転座標系における電流ベクトルの位相を検出するとともに、前記電流ベクトルの位相が属する前記セクタを特定し、前記対応関係情報に基づいて、特定した前記セクタに対応付けられた候補の相電流を選択し、選択した相電流を前記ピーク値としてもよい。
【0013】
〔3〕上記〔2〕に記載のモータ駆動制御装置(10A,10B)において、前記q軸電流算出部(12A,12B)は、前記セクタに前記ピーク値の候補となる相電流が複数対応付けられている場合に、複数の候補の相電流の大きさの絶対値を比較し、前記絶対値がもっとも大きい相電流を前記ピーク値としてもよい。
【0014】
〔4〕上記〔2〕または〔3〕に記載のモータ駆動制御装置(10,10A)において、前記q軸電流算出部(12,12A)は、前記ロータの回転角度(θ)にπ/2を加算した回転角度を前記電流ベクトルの位相としてもよい。
【0015】
〔5〕上記〔2〕または〔3〕に記載のモータ駆動制御装置(10B)において、前記q軸電流算出部(12B)は、前記ロータの回転角度に基づいて算出した、前記2相の回転座標系における電圧ベクトルの位相(σ)に基づいて、前記電流ベクトルの位相を検出してもよい。
【0016】
〔6〕上記〔1〕乃至〔5〕の何れかに記載のモータ駆動制御装置において、前記q軸電流算出部(12,12A,12B)は、前記ロータの回転角度と前記電流検出信号とに基づいて前記ピーク値を検出するピーク値検出部(121,121A,121B)と、前記ピーク値検出部によって検出された前記ピーク値が入力されるローパスフィルタ(122)と、前記ローパスフィルタから出力された値に所定値を乗算し、前記q軸電流として出力する乗算部(123)と、を含んでもよい。
【0017】
〔7〕上記〔6〕に記載のモータ駆動制御装置において、前記所定値は、π/3であってもよい。
【0018】
〔8〕上記〔2〕に記載のモータ駆動制御装置において、前記セクタは、0°から360°までの電気角の範囲を60°毎に分割した範囲であってもよい。
【0019】
〔9〕本発明の代表的な一実施の形態に係るモータ駆動制御方法は、複数相のコイルを有するモータの動作の目標状態を指示する値を含む駆動指令信号を取得する第1ステップ(S1)と、前記複数相のコイルに流れる電流を検出する第2ステップ(S4)と、前記第2ステップにおいて検出した電流と前記モータのロータの回転角度とに基づいて、各相のコイルに流れる相電流および当該各相のコイルに流れる相電流の位相を180°反転させた相電流のうち、2相の回転座標系のd軸電流をゼロとしたときの前記2相の回転座標系のq軸電流に最も近い相電流をピーク値として検出し、当該ピーク値の包絡線に基づいて、前記d軸電流をゼロとしたときの前記q軸電流を算出する第3ステップ(S5)と、前記第1ステップにおいて取得した前記駆動指令信号と、前記第3ステップにおいて算出した前記q軸電流と、前記モータのロータの回転速度と、前記ロータの回転角度とを用いてベクトル制御演算を行うことにより、前記モータを駆動させるための駆動制御信号を生成する第4ステップ(S6~S9)と、を含む。
【0020】
2.実施の形態の具体例
以下、本発明の実施の形態の具体例について図を参照して説明する。なお、以下の説明において、各実施の形態において共通する構成要素には同一の参照符号を付し、繰り返しの説明を省略する。
【0021】
≪実施の形態1≫
図1は、実施の形態1に係るモータ駆動制御装置10を備えたモータユニット100の構成を示す図である。
【0022】
図1に示すように、モータユニット100は、モータ3と、モータ3の回転を制御するモータ駆動制御装置10と、を備えている。モータユニット100は、例えばファン等の、モータを駆動源として用いる種々の機器に適用することができる。
【0023】
モータ3は、例えば、永久磁石同期モータ(PMSM)である。本実施の形態において、モータ3は、例えば、3相のコイルLu,Lv,Lwを有する表面磁石型同期モータ(SPMSM)である。コイルLu,Lv,Lwは、例えば、互いにY結線されている。
【0024】
モータ駆動制御装置10は、例えば、モータ3に正弦波駆動信号を与えることにより、モータ3の3相のコイルLu,Lv,Lwに周期的に正弦波状の相電流を流してモータ3のロータ31を回転させる(
図3参照)。
【0025】
モータ駆動制御装置10は、制御回路1と駆動回路2とを有している。
なお、
図1に示されているモータ駆動制御装置10の構成要素は、全体の一部であり、モータ駆動制御装置10は、
図1に示されたものに加えて、他の構成要素を有していてもよい。
【0026】
駆動回路2は、後述する制御回路1から出力された駆動制御信号Sdに基づいてモータ3を駆動する。駆動回路2は、例えば、インバータ回路2a、プリドライブ回路2b、および電流検出回路2cを有する。
【0027】
インバータ回路2aは、直流電源Vccとグラウンド電位との間に配置され、入力された駆動制御信号Sdに基づいて、負荷としてのモータ3の複数相のコイルLu,Lv,Lwを駆動する回路である。具体的には、実施の形態1において、インバータ回路2aは、直列に接続された2つの駆動用トランジスタを含むスイッチングレグを3つ有し、入力された駆動制御信号Sdに基づいて、2つの駆動用トランジスタが交互にオン・オフ動作(スイッチング動作)を行うことにより、負荷としてのモータ3を駆動する。
【0028】
より具体的には、インバータ回路2aは、モータ3のU相、V相、およびW相にそれぞれ対応するスイッチングレグを有する。
図1に示すように、各相に対応するスイッチングレグは、直流電源Vccとグラウンド電位との間に電流検出回路2cを介して直列に接続された2つの駆動用トランジスタQ1とQ2,Q3とQ4,Q5とQ6を有している。
【0029】
ここで、駆動用トランジスタQ1,Q3,Q5は、例えば、Nチャネル型のMOSFETであり、駆動用トランジスタQ2,Q4,Q6は、例えば、Nチャネル型のMOSFETである。なお、駆動用トランジスタQ1~Q6は、IGBT(Insulated Gate Bipolar Transistor)等の他の種類のトランジスタであってもよい。
【0030】
例えば、U相に対応するスイッチングレグは、互いに直列に接続された駆動用トランジスタQ1,Q2を有する。駆動用トランジスタQ1と駆動用トランジスタQ2とが共通に接続される点は、負荷としてのコイルLuの一端に接続されている。V相に対応するスイッチングレグは、互いに直列に接続された駆動用トランジスタQ3,Q4を有する。駆動用トランジスタQ3と駆動用トランジスタQ4とが共通に接続される点は、負荷としてのコイルLvの一端に接続されている。W相に対応するスイッチングレグは、互いに直列に接続された駆動用トランジスタQ5,Q6を有する。駆動用トランジスタQ5と駆動用トランジスタQ6とが共通に接続される点は、負荷としてのコイルLwの一端に接続されている。
【0031】
プリドライブ回路2bは、制御回路1から出力された駆動制御信号Sdに基づいて、インバータ回路2aを駆動するための駆動信号を生成する。
【0032】
駆動制御信号Sdは、モータ3の駆動を制御するための信号であり、例えばPWM(Pulse Width Modulation)信号である。具体的には、駆動制御信号Sdは、インバータ回路2aを構成する各駆動用トランジスタのオン/オフの状態によって定まるモータ3のコイルLu,Lv,Lwの通電パターンを切り替えるための信号である。より具体的には、駆動制御信号Sdは、インバータ回路2aの各駆動用トランジスタQ1~Q6に対応する6種類のPWM信号を含む。
【0033】
プリドライブ回路2bは、制御回路1から供給された駆動制御信号Sdとしての6種類のPWM信号に基づいて、インバータ回路2aの各駆動用トランジスタQ1~Q6の制御電極(ゲート電極)を駆動するのに十分な電力を供給可能な6種類の駆動信号Vuh,Vul,Vvh,Vvl,Vwh,Vwlを生成する。
【0034】
これらの駆動信号Vuh,Vul,Vvh,Vvl,Vwh,Vwlがインバータ回路2aの各駆動用トランジスタQ1~Q6の制御電極(ゲート電極)に入力されることにより、各駆動用トランジスタQ1~Q6がオン・オフ動作(スイッチング動作)を行う。例えば、各相に対応するスイッチングレグの上側アームの駆動用トランジスタQ1,Q3,Q5と下側アームの駆動用トランジスタQ2,Q4,Q6は、交互にオン・オフ動作を行う。これにより、モータ3の各相に直流電源Vccから電力が供給され、モータ3が回転する。
【0035】
なお、制御回路1が駆動信号Vuh,Vul,Vvh,Vvl,Vwh,Vwlを生成できる場合には、駆動回路2は、プリドライブ回路2bを有していなくてもよい。
【0036】
電流検出回路2cは、モータ3の複数相のコイルLu,Lv,Lwに流れる電流を検出するための回路である。電流検出回路2cは、各相のコイルLu,Lv,Lwに流れる電流(相電流)iu,iv,iwを検出し、検出した電流に応じた電流検出信号Vmを出力する。
【0037】
電流検出回路2cは、例えば、インバータ回路2aと直列に接続され、電流検出信号Vmとして、コイルLu,Lv,Lwの相電流iu,iv,iwを示す信号を出力する。
【0038】
具体的には、電流検出回路2cは、例えば、電流検出素子としての少なくとも一つの抵抗(シャント抵抗)を含む。シャント抵抗は、例えば、直流電源Vccとグラウンド電位との間にインバータ回路2aと直列に接続されている(1シャント方式)。実施の形態1において、電流検出回路2cとしてのシャント抵抗は、例えば、インバータ回路2aの負側(グラウンド側)に接続されている。電流検出回路2cは、モータ3のコイルLu,Lv,Lwの相電流iu,iv,iwを上記抵抗によって電圧に変換し、その電圧を電流検出信号Vmとして制御回路1に入力する。これにより、電流検出信号Vmは、コイルLu,Lv,Lwの相電流iu,iv,iwを示す信号となる。
【0039】
位置センサ4は、モータ3のロータ31の回転位置を検出するための装置である。位置センサ4は、ロータ31の回転位置に応じた信号を出力する。位置センサ4は、例えば、ホール素子である。
図1には、一例として、モータ3のU相、V相、およびW相毎に、位置センサ4u,4v,4wとしてのホール素子が設けられた場合が示されている。以下、位置センサ4u,4v,4wを「ホール素子4u,4v,4w」とも称する。
【0040】
ホール素子4u,4v,4wは、例えば、互いに略等間隔(例えば、隣り合うものと120度の間隔)にモータ3のロータ(回転子)31の周囲に配置されている。ホール素子4u,4v,4wは、それぞれ、ロータ31の磁極を検出し、ロータ31の回転に応じて電圧が変化するホール信号を回転位置検出信号Hu,Hv,Hwとして出力する。回転位置検出信号Hu,Hv,Hwは、制御回路1に入力される。
【0041】
なお、制御回路1には、このようなホール信号に代えて、モータ3のロータ31の回転位置に対応する他の信号が回転位置検出信号として入力されるように構成されていてもよい。例えば、エンコーダやレゾルバ等を設け、その検出信号が制御回路1に入力されるようにしてもよい。
【0042】
制御回路1は、例えば、外部から入力される、モータ3の動作の目標状態を指示する駆動指令信号Scに基づいて、モータ3を駆動させるための駆動制御信号Sdを生成し、モータ3の駆動を制御する。具体的には、制御回路1は、電流検出回路2cからの電流検出信号Vm、および位置センサ4u,4v,4wからの回転位置検出信号Hu,Hv,Hwに基づいて、モータ3のロータ31の回転速度やトルク等の情報を得ることでモータ3の回転状態を監視するとともに、モータ3が駆動指令信号Scによって指定された動作状態となるように駆動制御信号Sdを生成して、駆動回路2に与える。
【0043】
実施の形態1において、制御回路1は、例えば、CPU等のプロセッサと、RAM,ROM等の各種記憶装置と、カウンタ(タイマ)、A/D変換回路、D/A変換回路、クロック発生回路、および入出力I/F回路等の周辺回路とが、バスや専用線を介して互いに接続された構成を有するプログラム処理装置(例えばマイクロコントローラ)である。
【0044】
なお、モータ駆動制御装置10において、制御回路1と駆動回路2がそれぞれ個別の集積回路装置として夫々パッケージ化されていてもよいし、制御回路1の少なくとも一部と駆動回路2の少なくとも一部とが一つの集積回路装置(IC)としてパッケージ化されていてもよい。
【0045】
図2は、実施の形態1に係るモータ駆動制御装置10における制御回路1の機能ブロック構成を示す図である。
【0046】
図2に示すように、制御回路1は、駆動制御信号Sdを生成するための機能ブロックとして、駆動指令取得部11、q軸電流算出部12、および演算部13を有する。
【0047】
これらの機能ブロックは、例えば、制御回路1としてのプログラム処理装置において、プロセッサが、メモリに記憶されたプログラムに従って各種演算処理を実行するとともに、カウンタやA/D変換回路等の周辺回路を制御することによって実現される。なお、これらの機能ブロックのうち少なくとも一部が専用のハードウェアロジック回路によって実現されていてもよい。
【0048】
駆動指令取得部11は、外部から駆動指令信号Scを受信し、受信した駆動指令信号Scを解析することにより、駆動指令信号Scで指定されたモータ3の目標となる動作状態を指定する値を取得する。
【0049】
駆動指令信号Scは、モータ3の動作の目標状態を指示する値を含む。駆動指令信号Scは、例えば、モータ駆動制御装置10の外部に設けられた、モータユニット100を制御するための上位装置から出力される信号である。
【0050】
実施の形態1において、駆動指令信号Scは、例えば、モータ3のロータの回転速度を指定する速度指令信号Sc1である。駆動指令信号Scは、モータ3のロータの目標となる回転速度(目標回転速度)の値ωrefを含んでいる。以下、実施の形態1では、駆動指令信号Scが速度指令信号Sc1であるとして説明する。
【0051】
速度指令信号Sc1は、例えば、指定する目標回転速度ωrefに応じたデューティ比を有するPWM信号である。駆動指令取得部11は、例えば、速度指令信号Sc1としてのPWM信号のデューティ比を計測し、計測したデューティ比に応じた回転速度を目標回転速度ωrefとして出力する。
【0052】
q軸電流算出部12は、モータ3のコイルLu,Lv,Lwの相電流iu,iv,iwに基づいて、2相の回転座標系のq軸電流を算出する機能部である。
【0053】
q軸電流算出部12は、従来のモータのベクトル制御における演算の負荷を低減するために、簡易的な手法によってq軸電流を算出し、駆動制御信号Sdを生成する。以下、q軸電流の算出方法について説明する。
【0054】
先ず、実施の形態1に係るモータ駆動制御装置10によるベクトル制御における座標系について説明する。
【0055】
図3は、3相(U,V,W)の固定座標系と2相(d,q)の回転座標系との関係を示す図である。
【0056】
図3に示すように、U-V-W軸は3相の固定座標系であり、d-q軸は2相の回転座標系である。一般に、モータのベクトル制御において、2相(d,q)の回転座標系におけるd軸をロータとしての永久磁石の磁束方向(N極方向)とし、q軸をd軸から正方向に90度(π/2)進んだ方向とする。
このようにq軸およびd軸の方向を設定した場合、
図3に示すように、回転角度取得部14によって計測されるロータ31の回転角度θは、d軸の回転角度となり、例えば、3相(U,V,W)の固定座標系におけるU軸とd軸とのなす角となる。
【0057】
一般に、永久磁石同期モータ(PMSM)のトルクは、以下の式で表されることが知られている。
【0058】
【0059】
上記式(1)において、Teは発生トルク、Pは極対数、Ψは永久磁石(ロータ)の磁束、Ldはd軸インダクタンス、Lqはq軸インダクタンス、idはd軸電流、iqはq軸電流、ΨIqはマグネットトルク、“(Ld-Lq)idiq”はリラクタンストルクである。
【0060】
ここで、モータ3が表面磁石型同期モータ(SPMSM)である場合、d軸インダクタンスLdとq軸インダクタンスLqとが等しい(Ld=Lq)ため、リラクタンストルクが発生しない。したがって、式(1)から理解されるように、d軸電流idをゼロにしたときに、モータ3の効率を最大にすることができる。
【0061】
次に、モータ3の各相の相電流と2相の回転座標系のq軸電流との関係について説明する。
【0062】
図4は、2相(d,q)の回転座標系における電流ベクトルiを示す図である。
【0063】
2相(d,q)の回転座標系の電流ベクトルiは、d軸電流の成分とq軸電流の成分とによって構成される。d軸電流をゼロとした場合、電流ベクトルiはq軸電流のベクトルと一致する。
図3に示すように、ロータ31が正回転する場合、q軸電流が正となる。
【0064】
一方、ロータ31が逆回転する場合、q軸電流が負となる。すなわち、逆回転時の電流ベクトルの位相は、正回転時の電流ベクトルに対して位相が180°(π)ずれる。換言すれば、ロータ31を逆回転させる場合には、q軸電流を負にする必要がある。また、q軸電流をゼロまたは微小に制御する場合も、電圧変動や負荷変動などに起因するノイズの影響によってq軸電流が負となる場合がある。
【0065】
ここで、q軸電流をゼロまたは微小に制御する場合とは、例えば、空転している状態のモータをブレーキをかけずに始動する制御(ウィンドミル始動)や、非常に低速でモータを回転させる場合等である。
【0066】
図5は、モータ3の各相の相電流iu,iv,iwとq軸電流の関係を示す図である。
図5において、横軸は時間、縦軸は電流をそれぞれ表している。
【0067】
図5に示すように、モータ3を正弦波駆動したとき、モータ3の各相のコイルの相電流iu,iv,iwは、例えば、互いに位相が120度ずれた正弦波状の波形となる。
【0068】
上述したように、モータの効率を最大にするためには、d軸電流idをゼロにする。d軸電流idがゼロのとき、
図5に示すように、q軸電流iqは、モータ3の各相のコイルLu,Lv,Lwの相電流iu,iv,iwの振幅と略一致する。
【0069】
ここで、ロータ31が正回転している場合には、q軸電流が正となる。この場合、
図5に示すように、q軸電流は、モータ3の各相のコイルLu,Lv,Lwの相電流iu,iv,iwの正側の振幅と略一致する。一方、ロータ31を逆回転させる場合等においては、q軸電流が負となる。この場合、
図5に示すように、q軸電流は、モータ3の各相のコイルLu,Lv,Lwの相電流iu,iv,iwの正側の振幅ではなく、負側の振幅と略一致する。
【0070】
そこで、実施の形態1に係るモータ駆動制御装置10は、各相のコイルLu,Lv,Lwに流れる相電流iu,iv,iwと相電流iu,iv,iwの極性を反転させた(-1を乗算した)相電流-iu,-iv,-iwとに基づいて、d軸電流idがゼロのときのq軸電流を推定する。
【0071】
図6は、正のq軸電流と相電流の一例を示す図である。
【0072】
図6の紙面上段には、0°から360°までの電気角の範囲を複数に分割した範囲である“セクタ”が示されている。
図6の紙面中段には、各相の相電流iu,iv,iwと各相の相電流iu,iv,iwの位相を180°反転させた(-1をかけた)相電流-iu,-iv,-iwが示されている。
図6の紙面下段には、正のq軸電流iqと、複数相のコイルLu,Lv,Lwに流れる各相電流のうち、d軸電流をゼロとしたときのq軸電流に最も近い相電流をピーク値ipとした場合に、ピーク値ipの時間的な変化を示す包絡線が示されている。
図6において、横軸は電気角、縦軸は電流をそれぞれ表している。
【0073】
図6に示すように、3相の相電流iu,iv,iwと各相電流iu,iv,iwの極性を反転させた相電流-iu,-iv,-iwとを重ね合わせたとき、d軸電流をゼロとしたときのq軸電流に最も近い相電流は、電気角60°毎に切り替わる。
【0074】
例えば、
図6に示すように、電気角Xが-30°<X≦30°の範囲では、相電流iuが最もq軸電流iqに近づく。電気角Xが30°<X≦90°の範囲では、相電流-iwが最もq軸電流iqに近づく。電気角Xが90°<X≦150°の範囲では、相電流ivが最もq軸電流iqに近づく。電気角Xが150°<X≦210°の範囲では、相電流-iuが最もq軸電流iqに近づく。電気角Xが210°<X≦270°の範囲では、相電流iwが最もq軸電流iqに近づく。電気角Xが270°<X≦330°の範囲では、相電流-ivが最もq軸電流iqに近づく。
【0075】
このように、各相電流iu,iv,iw,-iu,-iv,-iwのうちの一つの相電流が、d軸電流がゼロであるときのq軸電流(正)に最も近づく。
【0076】
図7は、負のq軸電流と相電流の一例を示す図である。
【0077】
図7の紙面上段には、0°から360°までの電気角の範囲を複数に分割した範囲である“セクタ”が示されている。
図7の紙面中段には、相電流iu,iv,iwが示されている。
図7の紙面下段には、相電流iu,iv,iwと各相電流の極性を反転させた相電流-iu,-iv,-iwと、q軸電流iqとが示されている。
図7において、横軸は電気角、縦軸は電流をそれぞれ表している。
【0078】
上述したように、q軸電流が負になるときの電流ベクトルiの位相は、q軸電流が正になるときの電流ベクトルiの位相に対して180°反転する。同様に、
図7に示すように、q軸電流が負になるときの各相電流の位相は、q軸電流が正になるときの各相電流の位相に対して180°反転する。そのため、
図7に示すように、各セクタI-VIにおいて、負のq軸電流の候補となる相電流は、正のq軸電流の候補となる相電流と同じになる。
【0079】
例えば、
図7に示すように、電気角Xが-30°<X≦30°の範囲では、相電流iuが最もq軸電流iqに近づく。電気角Xが30°<X≦90°の範囲では、相電流-iwが最もq軸電流iqに近づく。電気角Xが90°<X≦150°の範囲では、相電流ivが最もq軸電流iqに近づく。電気角Xが150°<X≦210°の範囲では、相電流-iuが最もq軸電流iqに近づく。電気角Xが210°<X≦270°の範囲では、相電流iwが最もq軸電流iqに近づく。電気角Xが270°<X≦330°の範囲では、相電流-ivが最もq軸電流iqに近づく。
【0080】
このように、q軸電流が負になる場合も同様に、各相電流iu,iv,iw,-iu,-iv,-iwのうちの一つの相電流が、d軸電流がゼロであるときのq軸電流(負)に最も近づく。
【0081】
そこで、実施の形態1に係るq軸電流算出部12は、電流検出信号Vmとモータ3のロータ31の回転角度とに基づいて、各相のコイルLu,Lv,Lwに流れる相電流iu,iv,iwおよび相電流iu,iv,iwの位相を180°反転させた相電流-iu,-iv,-iwのうち、d軸電流をゼロとしたときのq軸電流に最も近い相電流をピーク値ipとして検出し、当該ピーク値ipの包絡線に基づいて、2相の回転座標系のd軸電流をゼロとしたときの2相の回転座標系のq軸電流を算出する。
【0082】
例えば、
図2に示すように、q軸電流算出部12は、ピーク値検出部121と、ローパスフィルタ(LPF)122と、乗算部123と、を含んでいてもよい。
【0083】
ピーク値検出部121、ローパスフィルタ122、および乗算部123の一部または全部は、制御回路1としてのプログラム処理装置によるプログラム処理によって実現されていてもよいし、専用のハードウェア回路によって実現されていてもよい。
【0084】
ピーク値検出部121は、電流検出信号Vmとモータ3のロータ31の回転角度とに基づいて、各相電流iu,iv,iw,-iu,-iv,-iwのうちd軸電流をゼロとしたときのq軸電流に最も近い相電流をピーク値ipとして検出する。
【0085】
上述したように、q軸電流の候補となる相電流、すなわちd軸電流をゼロとしたときのq軸電流に最も近づく相電流は、電気角60°毎に切り替わる(
図6および
図7参照)。そこで、実施の形態1では、ロータ31の回転に応じた電気角の範囲(0°~360°)を複数に分割し、分割したそれぞれの小範囲を「セクタ」とし、セクタ毎にピーク値ip(q軸電流)の候補となる相電流を予め対応付けておく。
【0086】
図8は、セクタとピーク値ipの候補となる相電流との対応関係を示す図である。
【0087】
各セクタにおいて、各相電流iu,iv,iw,-iu,-iv,-iwのうちの一つをピーク値ipの候補となる相電流として対応付ける。例えば、
図6,
図7,および
図8に示すように、電気角Xが-30°<X≦30°の範囲をセクタIとし、セクタIにおいて最もq軸電流に近い相電流iuを、セクタIにおけるピーク値ipの候補とする。電気角Xが30°<X≦90°の範囲をセクタIIとし、セクタIIにおいて最もq軸電流に近い相電流-iwを、セクタIIにおけるピーク値ipの候補とする。電気角Xが90°<X≦150°の範囲をセクタIIIとし、セクタIIIにおいて最もq軸電流に近い相電流ivを、セクタIIIにおけるピーク値ipの候補とする。電気角Xが150°<X≦210°の範囲をセクタIVとし、セクタIVにおいて最もq軸電流に近い相電流-iuを、セクタIVにおけるピーク値ipの候補とする。電気角Xが210°<X≦270°の範囲をセクタVとし、セクタVにおいて最もq軸電流に近い相電流iwを、セクタVにおけるピーク値ipの候補とする。電気角Xが270°<X≦330°の範囲をセクタVIとし、セクタVIにおいて最もq軸電流に近い相電流-ivをセクタVIにおけるピーク値ipの候補とする。
【0088】
ピーク値検出部121は、ロータ31の回転角度と電流検出信号Vmとに基づいて、2相(d,q)の回転座標系における電流ベクトルiの位相を検出するとともに、電流ベクトルiの位相が属するセクタを特定し、特定したセクタに対応付けられた相電流をピーク値ipとして出力する処理を行う。ピーク値検出部121は、上記処理を実現するための機能ブロックとして、例えば、電流位相検出部124、セクタ特定部125、相電流算出部126、および相電流選択部127を有する。
【0089】
図9は、実施の形態1に係るピーク値検出部121の構成例を示す図である。
【0090】
電流位相検出部124は、2相の回転座標系における電流ベクトルiの位相を検出する。例えば、電流位相検出部124は、ロータ31の回転角度θに基づいて、電流ベクトルiの位相を検出する。
【0091】
図3に示したように、q軸方向は、ロータ31の回転角度θ(d軸方向=N極方向)に対して、+90°(π/2)ずれている。また、d軸電流をゼロとした場合の電流ベクトルiは、q軸電流と一致する。
【0092】
そこで、電流位相検出部124は、後述する回転角度取得部14によって取得されたロータ31の回転角度θに“π/2”を加算した回転角度(θ+π/2)を電流ベクトルiの位相として算出する。例えば、電流位相検出部124は、モータの制御周期(PWM周期)毎に、電流ベクトルiの位相を算出する。
【0093】
相電流算出部126は、電流検出信号Vmに基づいて相電流を算出する。
例えば、上述した1つのシャント抵抗をインバータ回路に直列に接続してモータ3の電流を検出する1シャント方式の場合、モータの制御周期(PWM周期)においてオンする駆動用トランジスタQ1~Q6に応じて電流が流れる経路が変化し、その経路の切り替わりによって電流検出信号Vmが示す相電流が切り替わる。
【0094】
そこで、相電流算出部126は、例えば、1シャント方式の公知の電流検出手法により、インバータ回路の駆動用トランジスタQ1~Q6のオン/オフのタイミングに合わせて電流検出信号Vmから相電流iu,iv,iwを、モータ3の制御周期毎に算出する。更に、相電流算出部126は、相電流iu,iv,iwに“-1”を乗算することにより、相電流-iu,-iv,-iwを算出する。
【0095】
セクタ特定部125は、電流位相検出部124によって検出された2相の回転座標系における電流ベクトルiの位相が属するセクタを特定する。例えば、
図6および
図7に示すように、0から360°までの電気角の範囲を6つのセクタI~VIに分割した場合、セクタ特定部125は、電流ベクトルiの位相がどのセクタI~VIに属するかを特定する。セクタ特定部125は、例えば、モータ3の制御周期毎に、電流ベクトルiの位相(θ+π/2)が属するセクタを特定し、特定したセクタの情報を出力する。
【0096】
相電流選択部127は、電流ベクトルiの位相が属するセクタの情報に基づいて、複数の相電流から一つの相電流を選択し、ピーク値ipとして出力する。相電流選択部127は、例えば、
図8に示す、セクタとピーク値ipの候補となる相電流との対応関係を示す対応関係情報128を用いて、ピーク値ip(q軸電流)の候補となる相電流を選択する。
【0097】
図8に示すように、対応関係情報128は、例えば、セクタとピーク値ipの候補となる相電流とが対応付けられたテーブルである。対応関係情報128は、例えば、制御回路1内の記憶装置(例えば、不揮発性の記憶装置)に予め記憶されている。例えば、モータ駆動制御装置10の起動後に、相電流選択部127は上記記憶装置から対応関係情報128を読み出す。
【0098】
相電流選択部127は、セクタ特定部125によって特定された電流ベクトルiの位相が属するセクタを引数として、当該引数に対応する相電流を対応関係情報128から読み出す。相電流選択部127は、読み出した相電流をピーク値ipとして出力する。
【0099】
例えば、
図8に示す対応関係情報128の場合、電流ベクトルiの位相が属するセクタが“セクタII”であったとき、相電流選択部127は、相電流-iwを選択し、相電流-iwをピーク値ipとして出力する。相電流選択部127は、モータの制御周期毎に、ピーク値ipを出力する。これにより、時間の経過とともに大きさが変化するピーク値ipの包絡線が、相電流選択部127から出力される。
【0100】
ピーク値ipの包絡線(以下、「ピーク値ipの信号」とも称する。)は、三相交流の振幅に基づいて大きさが変化する(振動する)。そこで、ローパスフィルタ122により、ピーク値ipの信号に含まれる高周波成分を除去する。
【0101】
ローパスフィルタ122には、ピーク値検出部121(相電流選択部127)から出力されたピーク値ip(ピーク値ipの信号)が入力される。ローパスフィルタ122は、入力されたピーク値ipの信号から高周波成分を除去し、ピーク値ipの信号を平滑化した信号(以下、「ピーク値ipの平均値」とも称する。)を出力する。
【0102】
ローパスフィルタ122から出力されたピーク値ipの平均値は、q軸電流よりも小さい値となる。そこで、乗算部123は、ローパスフィルタ122から出力された信号(ピーク値ipの平均値)に所定値を乗算する。例えば、ピーク値ipの平均値は、q軸電流に対して3/π倍小さな値となる。そこで、乗算部123は、例えば、ローパスフィルタ122から出力された値に“π/3”を乗算する。これにより、d軸電流idをゼロとしたときのq軸電流の近似値(推定値)を得ることができる。乗算部123は、上述のように算出したq軸電流の近似値を“q軸電流iq”として出力する。
【0103】
なお、上記所定値は、上述の“π/3”に限定されず、ローパスフィルタ122から出力された値から適切なq軸電流の近似値が算出できるように適宜設定すればよい。
【0104】
次に、演算部13について説明する。
演算部13は、q軸電流算出部12によって算出したq軸電流iqと、駆動指令取得部11によって取得した駆動指令信号Sc(速度指令信号Sc1)と、モータ3のロータ31の回転速度ωと、ロータ31の回転角度θとを用いてベクトル制御演算を行うことにより、駆動制御信号Sdを生成する。
【0105】
例えば、
図2に示すように、演算部13は、回転角度取得部14、回転速度取得部15、誤差算出部16,18、q軸電流指令値算出部17、電圧指令値算出部19、進角制御部20、加算部21、および駆動制御信号生成部22を有する。
【0106】
回転角度取得部14は、モータ3のロータ31の回転角度の計測値を取得する機能部である。回転角度取得部14は、例えば、位置センサ4u,4v,4wから出力された回転位置検出信号Hu,Hv,Hwに基づいて、公知の計算手法により、モータ3のロータ31の回転角度(回転位置)θを算出する。
【0107】
回転速度取得部15は、モータ3のロータ31の回転速度の計測値を取得する機能部である。回転速度取得部15は、位置センサ4u,4v,4wから出力された回転位置検出信号Hu,Hv,Hwに基づいて、公知の計算手法により、モータ3のロータ31の回転速度ωを算出する。実施の形態では、例えば、回転速度取得部15は、回転角度取得部14によって算出された回転角度θに基づいて、モータ3のロータ31の回転速度ωを算出する。
【0108】
誤差算出部16は、駆動指令取得部11から出力された目標回転速度ωrefと回転速度取得部15によって取得したモータ3の実際の回転速度ωとの差(ωref‐ω)を算出する機能部である。
【0109】
q軸電流指令値算出部17は、モータ3の目標回転速度ωrefと回転速度ωとの差が小さくなるように、q軸電流の指令値iqrefを算出する機能部である。q軸電流指令値算出部17は、例えば、PI制御演算により、誤差算出部16によって算出した誤差(ωref‐ω)がゼロになるように、モータ3の制御量としてのq軸電流の指令値iqrefを算出する。
【0110】
誤差算出部18は、q軸電流指令値算出部17によって算出したq軸電流の指令値iqrefとq軸電流算出部12によって算出したq軸電流iqとの差(iqref‐iq)を算出する機能部である。
【0111】
電圧指令値算出部19は、q軸電流指令値算出部17によって算出したq軸電流の指令値iqrefとq軸電流算出部12によって算出したq軸電流iqとの差が小さくなるように、2相(d,q)の回転座標系の電圧指令値vrefを算出する機能部である。電圧指令値算出部19は、例えば、PI制御演算により、誤差算出部18によって算出した誤差(iqref‐iq)がゼロになるように、モータ3の制御量としての電圧指令値vrefを算出する。
【0112】
進角制御部20は、モータ3の進角制御を行う機能部である。
進角制御部20は、q軸電流算出部12によって算出したq軸電流iqと、回転速度取得部15によって取得したロータ31の回転速度ωとに基づいて、各コイルLu,Lv,Lwの印加電圧(相印加電圧)の位相進み角度(進角値φ)を算出する。具体的には、進角制御部20は、2相(d,q)の回転座標系のd軸電流idがゼロになる進角値δを算出する。以下、進角値δの算出方法について、詳細に説明する。
【0113】
図10は、モータのコイルの印加電圧に対する電流の遅れを説明するための図である。
一般に、モータのコイルに電圧を印加した場合、コイルのインダクタンスにより、コイルの電流は印加電圧に対して位相が遅れる。そこで、一般的な進角制御では、コイルの電流の印加電圧に対する位相の遅れ分φだけ、印加電圧の位相を進めて、電流が所望の位相となるよう制御する。この場合の印加電圧の位相の進み角度を進角値φと称する。
【0114】
上述したように、表面磁石型同期モータ(SPMSM)では、d軸インダクタンスとq軸インダクタンスとが等しいため、d軸電流idをゼロにしたとき、モータの効率が最大となる。d軸電流idをゼロ、すなわち、電流をq軸成分のみとするためには、印加電圧の位相をq軸に対して進角値φだけ進ませればよい。
【0115】
そこで、実施の形態1に係るモータ駆動制御装置10は、回転座標系のd軸電流idがゼロになる進角値φを算出し、その進角値φと回転座標系の電圧指令値vrefとで表される極座標の情報に基づいて空間ベクトル変換を行うことにより、駆動制御信号Sdを生成する。
【0116】
図11は、進角値の算出方法を説明するための図である。
同図には、横軸をd軸、縦軸をq軸としたときの電圧指令値vref(ベクトル)が示されている。
【0117】
一般に、永久磁石同期モータ(PMSM)の2相(d,q)の回転座標系におけるd軸電圧値vdは、下記式(2)によって表される。
【0118】
【0119】
ここで、d軸電流id=0としたときのd軸電圧値vdは、上記式(2)より、下記式(3)で表すことができる。
【0120】
【0121】
したがって、電圧指令値vrefのベクトルのd軸方向成分が“‐ωLqiq”となるように進角値φを決定する進角制御を行うことにより、d軸電流idがゼロになるようにモータ3の駆動を制御することができる。
【0122】
図11に示すように、電圧指令値vrefのベクトルとq軸とのなす角をφとしたとき、式(3)より、下記式(4)が成り立つ。
【0123】
【0124】
上記式(4)より、d軸電流idをゼロにするときの進角値φは、下記式(5)で表される。
【0125】
【0126】
本実施の形態に係るモータ駆動制御装置10において、進角制御部20は、q軸電流算出部12によって算出したq軸電流iqと、回転速度取得部15によって取得したロータ31の回転速度ωとに基づいて、2相(d,q)の回転座標系のd軸電流idがゼロになる進角値φを算出する。
【0127】
具体的には、進角制御部20は、電圧指令値vrefのベクトルのd軸方向の成分が、d軸電流idがゼロであるときのd軸電圧値vdに一致するときの、電圧指令値vrefのベクトルのq軸に対する角度(進角値)φを算出する。
【0128】
ここで、モータ3のロータ31の回転角度θは、d軸の回転角度である。一方、
図11に示すように、進角値φは、電圧指令値vrefのベクトルのq軸に対する角度である。したがって、d軸を基準とした進角値δは、“φ+π/2”となる。進角制御部20は、進角値δ(=φ+π/2)を算出して出力する。
【0129】
具体的には、進角制御部20は、ロータ31の回転速度ωと、q軸電流iqと、進角値δ(φ)との対応関係を示す対応関係情報201を用いて、進角値δを算出する。対応関係情報201を用いた進角値δの算出方法としては、以下の手法を例示することができる。
【0130】
第1の手法として、進角制御部20は、対応関係情報201として、式(5)で表される進角値φの関数を有し、式(5)に基づいて進角値φを算出してもよい。例えば、式(5)で表される角度φの関数を対応関係情報201として、制御回路1内のメモリに予め記憶しておく。進角制御部20は、対応関係情報201としての式(5)をメモリから読み出して、q軸電流算出部12によって算出したq軸電流iqと回転速度取得部15によって取得したロータ31の回転速度ωとを式(5)に代入することにより、d軸電流idがゼロになる角度φを算出する。そして、進角制御部20は、算出した角度φにπ/2を加算した値を、d軸を基準とした進角値δとして出力する。
【0131】
式(5)において、q軸インダクタンスLqは固定値である。したがって、進角制御部20は、上記式(5)を用いた演算において、q軸インダクタンスLqとして、例えば、制御回路1内のメモリに予め記憶しておいた値を用いることができる。また、進角制御部20は、上記(5)を用いた演算において、電圧指令値vrefとして、電圧指令値算出部19によって算出された値を用いることができる。
【0132】
なお、電圧指令値vrefは、q軸電流iqと回転速度ωとから算出することができるので、進角制御部20は、電圧指令値算出部19から電圧指令値vrefの値を取得せず、q軸電流iqと回転速度ωとを用いて電圧指令値vrefの値を算出してもよい。
【0133】
第2の手法として、進角制御部20は、対応関係情報201として、回転速度ωとq軸電流iqの組み合わせ毎に進角値δを対応付けたテーブルを有し、そのテーブルに基づいて進角値φを算出してもよい。
【0134】
図12は、対応関係情報201としての、回転速度ωとq軸電流iqの組み合わせ毎に進角値δを対応付けたテーブルの一例を示す図である。
【0135】
上述したように、q軸インダクタンスLqは固定値であり、電圧指令値vrefは、q軸電流iqと回転速度ωから算出することができる。そこで、ロータ31の回転速度ωとq軸電流iqを変数として、予め、最適となる進角値δを実測しておく。或いは、予め、上記式(5)を用いて進角値δを算出しておく。そして、変数としての回転速度ωとq軸電流iqの組み合わせ毎に進角値δを対応付けたテーブルを作成し、対応関係情報201として、制御回路1内のメモリに予め記憶しておく。
【0136】
進角制御部20は、q軸電流算出部12によって算出したq軸電流iqと、回転速度取得部15によって取得したロータ31の回転速度ωとを引数として、対応関係情報201としてのテーブルを参照し、その引数に対応する進角値δをテーブルから読み出して出力する。
【0137】
上述の手法によって算出された進角値δは、加算部21に入力される。加算部21は、進角制御部20から出力された進角値δと回転角度取得部14によって取得したロータ31の回転角度θとを加算し、加算した値を電圧指令値vrefのベクトル(電圧ベクトルv)の角度σ(=θ+δ)の情報として出力する。
【0138】
駆動制御信号生成部22は、進角値δとロータ31の回転角度θとを加算した角度σと、電圧指令値vrefとに基づいて、駆動制御信号Sdを生成する機能部である。駆動制御信号生成部22は、例えば、電圧指令値算出部19から出力された電圧指令値vrefと、加算部21から出力された角度σ(=θ+δ)とによって表される極座標の情報に基づいて、空間ベクトル変換を行う。すなわち、駆動制御信号生成部22は、公知の空間ベクトル変換の演算手法により、電圧指令値vrefと角度σ(=θ+δ)の極座標値によって表される電圧ベクトルvを3相(U,V,W)の固定座標系の電圧信号(PWM信号)に変換し、駆動制御信号Sdとして出力する。
【0139】
次に、実施の形態1に係るモータ駆動制御装置10による駆動制御信号Sdの生成処理の流れについて説明する。
【0140】
図13は、実施の形態1に係るモータ駆動制御装置10による駆動制御信号Sdの生成処理の流れの一例を示すフローチャートである。
【0141】
先ず、制御回路1は、例えば、上位装置から速度指令信号Sc1が入力されると、速度指令信号Sc1を解析することにより、速度指令信号Sc1によって指定されたモータ3の目標回転速度ωrefの情報を取得する(ステップS1)。
【0142】
次に、制御回路1は、モータ3のロータ31の回転角度θを取得する(ステップS2)。具体的には、上述したように、回転角度取得部14が、位置センサとしてのホール素子4u,4v,4wから出力された回転位置検出信号Hu,Hv,Hwに基づいてモータ3のロータ31の回転角度θを算出する。
【0143】
制御回路1は、モータ3の回転速度ωを取得する(ステップS3)。具体的には、上述したように、回転速度取得部15が、ステップS2で算出したロータ31の回転角度θに基づいて、モータ3のロータ31の回転速度ωを算出する。
【0144】
制御回路1は、モータ3の各相のコイルの相電流iu,iv,iwを検出する(ステップS4)。具体的には、電流検出回路2cが、上述した手法により、コイルの各相電流iu,iv,iwに応じた電流検出信号Vmを出力し、q軸電流算出部12が電流検出信号Vmを取得する。
【0145】
次に、制御回路1は、q軸電流iqを算出する(ステップS5)。
【0146】
図14は、実施の形態1に係るq軸電流iqの算出処理(ステップS5)の流れの一例を示すフローチャートである。
【0147】
ステップS5において、先ず、電流位相検出部124が、ロータ31の回転角度θに基づいて電流ベクトルiの位相を検出する(ステップS51)。上述したように、電流位相検出部124は、回転角度取得部14によって取得されたロータ31の回転角度θに“π/2”を加算した回転角度(θ+π/2)を電流ベクトルiの位相として算出する。
【0148】
次に、セクタ特定部125が、電流ベクトルiの位相(θ+π/2)が属するセクタを特定する(ステップS52)。セクタ特定部125は、
図6および
図7に示した6つのセクタI~VIのうち、電流ベクトルiの位相がどのセクタI~VIに属するかを特定する。
【0149】
次に、相電流選択部127が、複数の相電流からピーク値ipの候補となる一つの相電流を選択する(ステップS53)。具体的には、上述したように、相電流選択部127は、ステップS52で特定された電流ベクトルiの位相が属するセクタを引数として、対応関係情報128から候補の相電流を読み出す。
【0150】
次に、相電流選択部127が、ステップS53で選択した候補の相電流をピーク値ipとして出力する(ステップS54)。具体的には、相電流選択部127は、相電流算出部126から出力された複数の相電流のうち候補の相電流をピーク値ipとして出力する。
【0151】
次に、ローパスフィルタ122が相電流選択部127から出力されたピーク値ipの信号(包絡線)を平滑化する(ステップS55)。次に、乗算部123が、ローパスフィルタ122によって平滑化された信号(ピーク値ipの平均値)に所定値を乗算する(ステップS56)。具体的には、上述したように、乗算部123は、ローパスフィルタ122から出力されたピーク値ipの平均値に“π/3”を乗算する。そして、乗算部123は、ピーク値ipの平均値に所定値を乗算した値をq軸電流iqとして出力する(ステップS57)。
【0152】
図13において、ステップS5の処理の完了後、またはステップS5と平行して、制御回路1が、q軸電流の指令値iqrefを算出する(ステップS6)。具体的には、上述したように、誤差算出部16が目標回転速度ωrefとモータ3の実際の回転速度ωとの差を算出し、q軸電流指令値算出部17が誤差算出部16によって算出した差がゼロになるようにPI制御演算を行うことにより、q軸電流の指令値iqrefを算出する。
【0153】
次に、制御回路1は、ステップS6で算出したq軸電流の指令値iqrefとステップS5で算出したq軸電流iqとの差が小さくなるように、2相(d,q)の回転座標系の電圧指令値vrefを算出する(ステップS7)。具体的には、上述したように、誤差算出部18が、q軸電流の指令値iqrefとモータ3の実際のq軸電流iqとの差を算出し、電圧指令値算出部19が、誤差算出部18によって算出した差がゼロになるようにPI制御演算を行うことにより、電圧指令値vrefを算出する。
【0154】
次に、制御回路1は、ステップS5で算出したq軸電流iqと、ステップS3で取得したロータ31の回転速度ωとに基づいて、d軸電流idがゼロになる進角値δを算出する(ステップS8)。具体的には、進角制御部20が、対応関係情報201を用いた上述の手法により、進角値δを算出する。
【0155】
次に、制御回路1は、ステップS8で算出した進角値δとロータ31の回転角度θとを加算した角度σと、ステップS7で算出した電圧指令値vrefとに基づいて、駆動制御信号Sdを生成する(ステップS9)。具体的には、上述したように、駆動制御信号生成部22が、公知の空間ベクトル変換の演算手法により、電圧指令値vrefと角度σ(=θ+δ)の極座標値によって表される電圧ベクトルを3相(U,V,W)の固定座標系の電圧信号(PWM信号)に変換し、駆動制御信号Sdとして出力する。
【0156】
以上の処理手順で生成された駆動制御信号Sdは、駆動回路2に供給される。駆動回路2は、入力された駆動制御信号Sdに基づいて、上述した手法により、モータ3のコイルの通電を制御する。これにより、モータ3は、速度指令信号Sc1によって指定された目標回転速度ωrefで回転するように制御される。
【0157】
以上、実施の形態1に係るモータ駆動制御装置10において、制御回路1は、各相のコイルLu,Lv,Lwに流れる相電流iu,iv,iwおよび当該相電流iu,iv,iwの位相を180°反転させた相電流-iu,-iv,-iwのうちの一つをピーク値ipとして検出し、ピーク値ipの包絡線に基づいて、2相の回転座標系におけるd軸電流をゼロとしたときのq軸電流を算出し、ベクトル制御演算を行うことにより、駆動制御信号Sdを生成する。
【0158】
これによれば、q軸電流を算出するために従来の座標変換を行う必要がないので、モータの駆動制御における演算の負荷を低減することが可能となる。これにより、制御回路1としてのマイクロコントローラ等のプログラム処理装置として必要な処理能力を低く抑えることできるので、コストを抑えたモータ駆動制御装置10を提供することが可能となる。
【0159】
また、各相電流iu,iv,iw,-iu,-iv,-iwのうちq軸電流に最も近い相電流をピーク値ipとして検出することにより、q軸電流が負になる場合やq軸電流がゼロまたは微小な値になる場合であっても、適切にq軸電流を推定することができる。これにより、例えば、モータ3のロータ31を逆回転させる制御、空転している状態のモータをブレーキをかけずに始動する制御(ウィンドミル始動)、および非常に低速でモータを回転させる制御等を、安定して行うことが可能となる。
【0160】
また、制御回路1において、ロータ31の回転に応じた電気角の範囲を複数に分割したセクタ毎にピーク値ipの候補となる相電流が対応付けられた対応関係情報128が記憶されている。q軸電流算出部12は、ロータ31の回転角度と電流検出信号Vmとに基づいて、2相(d,q)の回転座標系における電流ベクトルiの位相を検出するとともに、電流ベクトルiの位相が属するセクタを特定する。q軸電流算出部12は、対応関係情報128に基づいて、特定したセクタに対応付けられた候補の相電流を選択し、選択した相電流をピーク値ipとする。
【0161】
上述したように、電気角に応じてq軸電流に最も近づく相電流が決まっているので、予めセクタ毎に、ピーク値ip(q軸電流)候補となる相電流を対応づけた対応関係情報128を用意しておき、電流ベクトルiの位相が属するセクタに対応付けられた候補の相電流を対応関係情報128から読み出すことにより、q軸電流に最も近づく相電流を容易に決定することができる。これにより、制御回路1による演算の負荷を更に低減することが可能となる。
【0162】
以上のように、実施の形態1に係るモータ駆動制御装置10によれば、演算の負荷を抑えつつ、q軸電流を適切に算出することができる。
【0163】
また、制御回路1は、モータ3の効率を最大化するために、d軸電流idがゼロになるように進角制御を行うことにより、モータ3を駆動する。これによれば、座標変換によってd軸電流idを算出し、算出したd軸電流idがゼロになるようにベクトル制御演算を行う従来手法に比べて、演算の負荷を低減することが可能となる。これにより、制御回路1としてのプログラム処理装置に必要な処理能力を更に低く抑えることが可能となるので、よりコストを抑えたモータ駆動制御装置10を提供することが可能となる。
【0164】
また、制御回路1は、d軸電流idをゼロにするための進角値δ(φ)を算出する際に、ロータ31の回転速度ωと、q軸電流iqと、進角値δとの対応関係を示す対応関係情報201を用いる。これにより、制御回路1による演算の負荷を更に減らすことが可能となる。例えば、上述したように、ロータ31の回転速度ωとq軸電流iqの組み合わせ毎に進角値δを対応付けたテーブルを対応関係情報201として制御回路1のメモリに予め記憶しておく。これによれば、複雑な計算を行うことなく、進角値δを算出することができるので、制御回路1による演算の負荷を更に減らすことが可能となる。
【0165】
≪実施の形態2≫
図15は、実施の形態2に係るモータ駆動制御装置10Aにおける制御回路1Aの機能ブロック構成を示す図である。
【0166】
実施の形態1に係るモータ駆動制御装置10と同様に、モータ駆動制御装置10Aは、モータ3とともにモータユニット100Aを構成している。
【0167】
実施の形態2に係る制御回路1Aは、ピーク値の検出方法に関して、実施の形態1に係る制御回路1と相違する。
上述したように、電流ベクトルiの位相は、モータ3のロータ31の回転角度θを基準として算出することができる。しかしながら、位置センサとしてのホール素子4u,4v,4wから出力された回転位置検出信号Hu,Hv,Hwまたは公知の位置センサレス制御の演算によって算出されるロータ31の回転角度の推定値は、実際のロータ31の回転角度の真値に対してずれる場合がある。
【0168】
図16は、ロータ31の回転角度の真値に対する推定値のずれに起因する電流ベクトルのずれを説明するための図である。
【0169】
図16において、ロータ31の回転角度の真値を“θtr”、ロータ31の回転角度の推定値を“θ”、ロータ31の回転角度の真値に対する推定値のずれを“Δ”としている。
【0170】
図16に示すように、ロータ31の回転角度の推定値θが真値θtrから“Δ”ずれた場合、電流ベクトルiの位相の推定値(θ+π/2)も、電流ベクトルiの位相の真値(θtr+π/2)に対して“Δ”ずれる。そのずれ(誤差)Δが大きくなるほど、電流ベクトルiの位相の推定値に基づく候補の相電流とq軸電流に最も近い相電流とが相違するおそれがある。そこで、実施の形態2に係るピーク値検出部121Aは、セクタ毎にq軸電流の候補となる相電流を複数設定する。
【0171】
図17は、実施の形態2に係るq軸電流の推定方法の概要を説明するための図である。
図17の紙面上段には、0°から360°までの電気角の範囲を複数に分割した範囲である“セクタ”が示されている。
図17の紙面中段には、相電流iu,iv,iwが示されている。
図17の紙面下段には、相電流iu,iv,iwと、相電流iu,iv,iwの極性を反転させた相電流-iu,-iv,-iwと、q軸電流iqとが示されている。
図17において、横軸は電気角、縦軸は電流をそれぞれ表している。
【0172】
実施の形態2では、0°から360°までの電気角の範囲を0°を基準として6つのセクタI~VIに分割する。例えば、
図17に示すように、電気角Xが0°<X≦60°の範囲をセクタIとし、電気角Xが60°<X≦120°の範囲をセクタIIとし、電気角Xが120°<X≦180°の範囲をセクタIIIとし、電気角Xが180°<X≦240°の範囲をセクタIVとし、電気角Xが240°<X≦300°の範囲をセクタVとし、電気角Xが300°<X≦360°の範囲をセクタVIとする。
【0173】
図17に示すように、電流ベクトルiの位相の推定値(θ+π/2)と電流ベクトルiの位相の真値(θtr+π/2)との間に誤差Δが生じる場合がある。そして、誤差Δの大きさによって、各セクタ内においてq軸電流に最も近い相電流が変わる。例えば、誤差Δが-30°≦Δ≦+30°の範囲にある場合、各セクタにおいて、二つの相電流がピーク値ip(q軸電流)の候補となり得る。また、誤差Δが-30°≦Δ≦+60°の範囲にある場合、各セクタにおいて、3つの相電流がピーク値ip(q軸電流)の候補となり得る。
【0174】
図18Aおよび
図18Bは、実施の形態2における、セクタとピーク値ipの候補となる相電流との対応関係の一例を示す図である。
【0175】
図18Aには、誤差Δが-30°≦Δ≦+30°の範囲にある場合におけるセクタとピーク値ipの候補となる相電流との対応関係情報128A_1が示されている。
図18Bには、誤差Δが-30°≦Δ≦+60°の範囲にある場合におけるセクタとピーク値ipの候補となる相電流との対応関係情報128A_2が示されている。
【0176】
例えば、誤差Δが-30°≦Δ≦+30°の範囲にある場合、
図17および
図18Aに示すように、セクタI(0°<X≦60°)では、相電流iuと相電流-iwがピーク値ipの候補となる。セクタII(60°<X≦120°)では、相電流ivと相電流-iwがピーク値ipの候補となる。セクタIII(120°<X≦180°)では、相電流-iuと相電流ivがピーク値ipの候補となる。セクタIV(180°<X≦240°)では、相電流-iuと相電流iwがピーク値ipの候補となる。セクタV(240°<X≦300°)では、相電流-ivと相電流iwがピーク値ipの候補となる。セクタVI(300°<X≦360°)では、相電流iuと相電流-ivがピーク値ipの候補となる。
【0177】
また、例えば、誤差Δが-30°≦Δ≦+60°の範囲にある場合、
図17および
図18Bに示すように、セクタI(0°<X≦60°)では、相電流iuと相電流-iwと相電流-ivがピーク値ipの候補となる。セクタII(60°<X≦120°)では、相電流ivと相電流-iwと相電流iuがピーク値ipの候補となる。セクタIII(120°<X≦180°)では、相電流-iuと相電流ivと相電流-iwがピーク値ipの候補となる。セクタIV(180°<X≦240°)では、相電流-iuと相電流iwと相電流ivがピーク値ipの候補となる。セクタV(240°<X≦300°)では、相電流-ivと相電流iwと相電流-iuがピーク値ipの候補となる。セクタVI(300°<X≦360°)では、相電流iuと相電流-ivと相電流iwがピーク値ipの候補となる。
【0178】
このように、誤差Δを考慮すると、ピーク値ipの候補となる相電流が複数存在することから、実施の形態2に係るモータ駆動制御装置10Aでは、各セクタにピーク値の候補となる相電流を複数対応付ける。q軸電流算出部12Aは、各セクタにおいて、複数の候補の相電流の大きさの絶対値を比較し、絶対値がもっとも大きい相電流をピーク値とする。
【0179】
図19は、実施の形態2に係るピーク値検出部121Aの構成例を示す図である。
【0180】
セクタ特定部125Aは、電流位相検出部124によって検出された2相の回転座標系における電流ベクトルiの位相が属するセクタを特定する。例えば、
図17に示すように、0から360°までの電気角の範囲を6つのセクタI~VIに分割した場合、セクタ特定部125Aは、例えば、モータ3の制御周期毎に、電流ベクトルiの位相(θ+π/2)が属するセクタを特定し、特定したセクタの情報を出力する。
【0181】
モータ駆動制御装置10Aにおいて、
図18Aに示した対応関係情報128A_1、および
図18Bに示した対応関係情報128A_2の少なくとも一方が、制御回路1A内の記憶装置(例えば、不揮発性の記憶装置)に予め記憶されている。
【0182】
例えば、モータ駆動制御装置10Aの起動後に、相電流選択部127Aは、上記記憶装置から対応関係情報128A_1または対応関係情報128A_2を読み出す。相電流選択部127Aは、対応関係情報128A_1または対応関係情報128A_2を参照し、セクタ特定部125Aによって特定された電流ベクトルiの位相が属するセクタに対応付けられた候補の相電流を選択する。
【0183】
具体的には、相電流選択部127Aは、セクタ特定部125によって特定された電流ベクトルiの位相が属するセクタを引数として、対応関係情報128A_1または対応関係情報128A_2から当該引数に対応する複数の相電流を選択し、選択した複数の相電流の絶対値を比較し、絶対値が最も大きい相電流をピーク値ipとして出力する。
【0184】
例えば、
図18Aに示す対応関係情報128A_1が制御回路1Aに記憶されている場合において、電流ベクトルiの位相が属するセクタが“セクタII”であったとき、相電流選択部127Aは、相電流ivと相電流-iwを選択し、相電流ivの絶対値と相電流-iwの絶対値とを比較する。相電流ivの絶対値が相電流-iwの絶対値より大きい場合、相電流選択部127Aは、相電流ivをピーク値ipとして出力し、相電流-iwの絶対値が相電流ivの絶対値より大きい場合、相電流選択部127Aは、相電流-iwをピーク値ipとして出力する。
【0185】
また、例えば、
図18Bに示す対応関係情報128A_2が制御回路1Aに記憶されている場合において、電流ベクトルiの位相が属するセクタが“セクタII”であったとき、相電流選択部127Aは、相電流ivと相電流-iwと相電流iuとを選択し、相電流ivの絶対値と相電流-iwの絶対値と相電流iuの絶対値とを比較する。相電流選択部127Aは、最も絶対値が大きい相電流を選択し、選択した相電流をピーク値ipとして出力する。例えば、相電流ivの絶対値が相電流-iwの絶対値および相電流-iuの絶対値より大きい場合、相電流選択部127Aは、相電流ivをピーク値ipとして出力する。
【0186】
なお、誤差Δの大きさは、モータ3の負荷や想定されるモータ3の回転速度の範囲等によって変わるため、実際にモータユニット100Aが適用されるアプリケーションを考慮して、対応関係情報128A_1と対応関係情報128A_2の少なくとも一方を制御回路1Aに予め記憶させておけばよい。
【0187】
例えば、誤差Δが比較的小さいことが想定される場合には、対応関係情報128A_1を制御回路1A内の記憶装置に記憶しておき、誤差Δが比較的大きいことが想定される場合には、対応関係情報128A_2を制御回路1A内の記憶装置に記憶しておけばよい。あるいは、対応関係情報128A_1,128A_2の両方を制御回路1A内の記憶装置に記憶しておき、相電流選択部127Aが、何れか一方の対応関係情報を記憶装置から読み出して、ピーク値ipを検出してもよい。
【0188】
実施の形態2において、モータ駆動制御装置10Aは、実施の形態1と同様に、
図13に示すフローチャートにしたがってモータ3を駆動する。実施の形態2において、ステップS5の処理が、実施の形態1に係るステップS5の処理(
図14)と相違する。以下、実施の形態2におけるq軸電流iqの算出処理(ステップS5)について説明する。
【0189】
図20は、実施の形態2におけるq軸電流iqの算出処理(ステップS5)の流れの一例を示すフローチャートである。
【0190】
ステップS5において、先ず、電流位相検出部124が、ロータ31の回転角度θに基づいて電流ベクトルiの位相を検出する(ステップS51)。例えば、上述したように、電流位相検出部124は、回転角度取得部14によって取得されたロータ31の回転角度θに“π/2”を加算した回転角度(θ+π/2)を電流ベクトルiの位相として算出する。
【0191】
次に、セクタ特定部125Aが、電流ベクトルiの位相が属するセクタを特定する(ステップS52)。例えば、セクタ特定部125Aは、
図18に示す6つのセクタI~VIのうち、電流ベクトルiの位相がどのセクタI~VIに属するかを特定する。
【0192】
次に、相電流選択部127Aが、複数の相電流からピーク値ipの候補となる相電流を選択する(ステップS61)。具体的には、上述したように、相電流選択部127Aは、ステップS52で特定された電流ベクトルiの位相が属するセクタを引数として、対応関係情報128A_1または対応関係情報128A_2から候補の複数の相電流を読み出す。
【0193】
次に、相電流選択部127Aが、上述した手法により、ステップS61で選択した複数の候補の相電流の絶対値を比較する(ステップS62)。次に、相電流選択部127Aが、複数の候補の相電流のうち、最も絶対値が大きい相電流を選択し、選択した相電流をピーク値ipとして出力する(ステップS63)。
【0194】
ステップS63以降の処理は、実施の形態1に係る処理と同様である。すなわち、ローパスフィルタ122が相電流選択部127Aから出力されたピーク値ipの信号を平滑化する(ステップS55)。次に、乗算部123が、ローパスフィルタ122によって平滑化されたピーク値ipに所定値(π/3)を乗算する(ステップS56)。そして、乗算部123は、平滑化されたピーク値ipに所定値を乗算した値をq軸電流iqとして出力する(ステップS57)。
【0195】
以上、実施の形態2に係るモータ駆動制御装置10Aによれば、実施の形態1に係るモータ駆動制御装置10と同様に、演算の負荷を抑えつつ、q軸電流を適切に算出することができる。
【0196】
具体的には、q軸電流算出部12Aは、セクタI~VIにピーク値の候補となる相電流が複数対応付けられている場合に、複数の候補の相電流の絶対値を比較し、絶対値がもっとも大きい相電流をピーク値ipとする。
【0197】
これによれば、電流ベクトルiの位相の推定値(θ+π/2)と電流ベクトルiの位相の真値(θtr+π/2)との間に誤差Δが生じた場合であっても、セクタ毎にq軸電流に最も近い相電流を選択することができるので、より高精度にq軸電流を算出することが可能となる。
【0198】
≪実施の形態3≫
図21は、実施の形態3に係るモータ駆動制御装置10Bにおける制御回路1Bの機能ブロック構成を示す図である。
【0199】
実施の形態1に係るモータ駆動制御装置10と同様に、モータ駆動制御装置10Bは、モータ3とともにモータユニット100Bを構成している。
実施の形態3に係る制御回路1Bは、電流ベクトルiの位相の検出方法に関して、実施の形態1,2に係る制御回路1,1Aと相違する。実施の形態1,2では、電流ベクトルiの位相をロータ31の回転角度を基準として推定したが、実施の形態3では、電流ベクトルiの位相を電圧ベクトルの位相を基準として推定する。
【0200】
図22は、2相の回転座標系における電流ベクトルiと電圧ベクトルvとの関係を示す図である。
図22において、電圧ベクトルvの位相に対する電流ベクトルiの位相のずれ幅を“φ”としている。
【0201】
図22に示すように、一般に、モータ駆動制御において、2相(d,q)の回転座標系における電流ベクトルiの位相は、電圧ベクトルの位相に対して遅れる。したがって、電圧ベクトルvの位相を基準として電流ベクトルiの位相を推定することができる。
【0202】
実施の形態3に係るピーク値検出部121Bは、電圧ベクトルvの位相に基づいて電流ベクトルiの位相を推定し、電圧ベクトルvの位相に対する電流ベクトルiの位相のずれ幅φに応じた適切な対応関係情報128B_1,128B_2を用いて、ピーク値ipを検出する。
【0203】
図23は、実施の形態3に係るピーク値検出部121Bの構成例を示す図である。
図24は、実施の形態3に係るq軸電流の推定方法の概要を説明するための図である。
【0204】
図24の紙面上段には、0°から360°までの電気角の範囲を複数に分割した範囲である“セクタ”が示されている。
図24の紙面中段には、電圧指令値vrefと角度σ(=θ+δ)の極座標値によって表される電圧ベクトルvを3相(U,V,W)の固定座標系に変換した値UV,VV,WVが示されている。
図24の紙面下段には、相電流iu,iv,iwと各相電流の極性を反転させた相電流-iu,-iv,-iwと、q軸電流iqとが示されている。
図24において、横軸は電気角を表している。
【0205】
実施の形態3では、実施の形態2と同様に、0°から360°までの電気角の範囲を0°を基準として6つのセクタI~VIに分割する。例えば、
図24に示すように、電気角Xが0°<X≦60°の範囲をセクタIとし、電気角Xが60°<X≦120°の範囲をセクタIIとし、電気角Xが120°<X≦180°の範囲をセクタIIIとし、電気角Xが180°<X≦240°の範囲をセクタIVとし、電気角Xが240°<X≦300°の範囲をセクタVとし、電気角Xが300°<X≦360°の範囲をセクタVIとする。
【0206】
q軸電流算出部12Bにおいて、ピーク値検出部121Bは、ロータ31の回転角度θに基づいて算出した、2相の回転座標系における電圧ベクトルvの位相に基づいて、電流ベクトルiの位相を検出する。
【0207】
具体的には、先ず、ピーク値検出部121Bの電流位相検出部124Bが、2相の回転座標系における電圧ベクトルvの位相を取得する。
上述したように、駆動制御信号生成部22は、公知の空間ベクトル変換の演算手法により、電圧指令値vrefと角度σ(=θ+δ)の極座標値によって表される電圧ベクトルvを3相(U,V,W)の固定座標系の電圧信号(PWM信号)に変換し、駆動制御信号Sdとして出力する。すなわち、電圧ベクトルvの位相は、σ(=θ+δ)で表される。
【0208】
そこで、電流位相検出部124Bは、加算部21から出力される角度σ(=θ+δ)を電圧ベクトルvの位相として取得する。
【0209】
更に、電流位相検出部124Bは、電圧ベクトルvの位相σを電流ベクトルiの位相として出力する。
【0210】
セクタ特定部125Bは、電流位相検出部124Bによって検出された電流ベクトルiの位相σが属するセクタを特定する。例えば、
図24に示すように、0から360°までの電気角の範囲を6つのセクタI~VIに分割した場合、セクタ特定部125Bは、電流ベクトルiの位相σがどのセクタI~VIに属するかを特定し、特定したセクタの情報を出力する。
【0211】
相電流選択部127Bは、電流ベクトルiの位相が属するセクタの情報に基づいて、複数の相電流から一つの相電流を選択し、ピーク値ipとして出力する。
【0212】
図24に示すように、電流ベクトルiの位相の電圧ベクトルvの位相に対するずれ幅φによって、各セクタ内においてq軸電流に最も近い相電流が変わる。例えば、ずれ幅φが-30°≦φ≦+30°の範囲にある場合、各セクタにおいて、二つの相電流がピーク値ip(q軸電流)の候補となり得る。また、ずれ幅φが-30°≦φ≦+60°の範囲にある場合、各セクタにおいて、3つの相電流がピーク値ip(q軸電流)の候補となり得る。
【0213】
したがって、実施の形態3では、実施の形態2と同様に、予め、電流ベクトルiの位相の電圧ベクトルvの位相に対するずれ幅φを考慮して各セクタにピーク値の候補となる相電流を複数対応付けておく。そして、q軸電流算出部12Bは、各セクタにおいて、複数の候補の相電流の絶対値を比較し、絶対値がもっとも大きい相電流をピーク値ipとする。
【0214】
図25Aおよび
図25Bは、実施の形態3における、セクタとピーク値ipの候補となる相電流との対応関係の一例を示す図である。
【0215】
図25Aには、ずれ幅φが-30°≦φ≦+30°の範囲にある場合におけるセクタとピーク値ip(q軸電流)の候補となる相電流との対応関係情報128B_1が示されている。
図25Bには、ずれ幅φが-30°≦φ≦+60°の範囲にある場合におけるセクタとピーク値ipの候補となる相電流との対応関係情報128B_2が示されている。
【0216】
ここで、
図25Aおよび
図25Bに示す各セクタとピーク値ipの候補となる相電流との対応関係は、
図18Aおよび
図18Bに示した実施の形態2に係る各セクタとピーク値ipの候補となる相電流との対応関係と同様である。
【0217】
モータ駆動制御装置10Bにおいて、
図25Aに示した対応関係情報128B_1、および
図25Bに示した対応関係情報128B_2の少なくとも一方が、制御回路1B内の記憶装置(例えば、不揮発性の記憶装置)に予め記憶されている。
【0218】
例えば、モータ駆動制御装置10Bの起動後に、相電流選択部127Bは、上記記憶装置から対応関係情報128B_1または対応関係情報128B_2を読み出す。相電流選択部127Bは、実施の形態2に係る相電流選択部127Aと同様の手法により、セクタ特定部125Bによって特定された電流ベクトルiの位相が属するセクタを引数として、対応関係情報128B_1または対応関係情報128B_2から当該引数に対応する複数の相電流を選択する。相電流選択部127Bは、選択した複数の相電流の絶対値を比較し、絶対値が最も大きい相電流をピーク値ipとしてローパスフィルタ122に入力する。q軸電流算出部12Bにおけるローパスフィルタ122以降の処理は、実施の形態1,2と同様である。
【0219】
なお、電圧ベクトルvの位相に対する電流ベクトルiの位相のずれ幅φは、一般に、モータの回転速度が大きくなるほど大きくなり、負荷(コイルの電流)が大きいほど大きくなる。したがって、実際にモータユニット100Bが適用されるアプリケーションを考慮して、対応関係情報128B_1と対応関係情報128B_2の少なくとも一方を制御回路1Bに予め記憶させておけばよい。
【0220】
例えば、ずれ幅φが比較的小さいことが想定される場合には、対応関係情報128B_1を制御回路1B内の記憶装置に記憶しておき、ずれ幅φが比較的大きいことが想定される場合には、対応関係情報128B_2を制御回路1B内の記憶装置に記憶しておけばよい。あるいは、対応関係情報128B_1,128B_2の両方を制御回路1B内の記憶装置に記憶しておき、相電流選択部127Bが、何れか一方の対応関係情報を記憶装置から読み出して、ピーク値ipを検出してもよい。
【0221】
以上、実施の形態3に係るモータ駆動制御装置10Bによれば、実施の形態1,2に係るモータ駆動制御装置10,10Aと同様に、演算の負荷を抑えつつ、q軸電流を適切に算出することができる。特に、ピーク値検出部121Bは、ベクトル制御演算の過程で算出される電圧ベクトルvの位相σを用いて電流ベクトルの位相を推定するので、演算の負荷を更に抑えることができる。
【0222】
≪実施の形態の拡張≫
以上、本発明者によってなされた発明を実施の形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
【0223】
例えば、実施の形態1乃至3において、ロータ31の回転角度θおよび回転速度ωを位置センサ4u,4v,4wからの位置検出信号に基づいて算出する場合を例示したが、これに限られず、公知の、モータのセンサレス制御に基づく演算によって、回転角度θおよび回転速度ωを算出してもよい。この場合、位置センサ4u,4v,4wは不要である。
【0224】
また、実施の形態1乃至3において、電流検出回路2cとしてインバータ回路2aに直列に接続されたシャント抵抗によって相電流iu,iv,iwを検出する手法を例示したが、公知の他の電流検出技術によって相電流iu,iv,iwを検出してもよい。例えば、各相のコイルとそれらに接続されるインバータ回路2aの各駆動用トランジスタが共通に接続される点との間に設けられたシャント抵抗によって相電流iu,iv,iwを検出してもよい(3シャント方式)。すなわち、相電流iu,iv,iwの検出方法として、上述の例に限定されず、各相のコイルに流れる電流を検出可能な種々の公知の電流検出技術を採用することができる。
【0225】
また、実施の形態1乃至3おいて、電気角(0°~360°)の範囲を6つのセクタに分ける場合を例示したが、セクタの数は2個以上であればよく、6つに限定されない。また、各セクタの範囲(-30°<X≦30°、0°<X≦60°等)も上述の例に限定されず、各セクタの範囲として所望の範囲を設定できる。
【0226】
また、実施の形態1乃至3における電圧ベクトルv(vref,σ)の算出方法は、上述の例に限定されない。すなわち、公知のベクトル制御演算によって、電圧ベクトルv(vref,σ)を算出してもよい。
【0227】
また、実施の形態1乃至3おいて、駆動指令信号Scが、モータ3の回転速度の目標値(目標回転速度)を含む速度指令信号Sc1である場合を例示したが、これに限られない。例えば、駆動指令信号Scは、モータ3のトルクを指定するトルク指令信号であってもよい。
【0228】
また、実施の形態1乃至3において、モータ3が表面磁石型同期モータ(SPMSM)である場合を説明したが、これに限られない。例えば、モータ3が表面磁石型同期モータ(SPMSM)でない場合(例えば、モータ3がIPMSMの場合)であっても、リラクタンストルクを利用せず、d軸電流の指令値を常にゼロとするベクトル制御を行う場合には、本実施の形態に係るモータ駆動制御装置10,10A,10Bを用いることができる。
【0229】
また、実施の形態1乃至3において、制御回路1,1A,1Bは、上述した回路構成に限定されない。制御回路1,1A,1Bは、本発明の目的にあうように構成された、様々な回路構成を適用することができる。
【0230】
実施の形態1乃至3において、モータ駆動制御装置10,10A,10Bにより駆動されるモータ3の相数は、3相に限られない。
【0231】
上述のフローチャートは具体例であって、このフローチャートに限定されるものではなく、例えば、各ステップ間に他の処理が挿入されていてもよいし、処理が並列化されていてもよい。
【符号の説明】
【0232】
1,1A,1B…制御回路、2…駆動回路、2a…インバータ回路、2b…プリドライブ回路、2c…電流検出回路、3…モータ、10,10A,10B…モータ駆動制御装置、11…駆動指令取得部、12,12A,12B…q軸電流算出部、13…演算部、14…回転角度取得部、15…回転速度取得部、16,18…誤差算出部、17…q軸電流指令値算出部、19…電圧指令値算出部、20…進角制御部、21…加算部、22…駆動制御信号生成部、100,100A,100B…モータユニット、121,121A,121B…ピーク値検出部、122…ローパスフィルタ、123…乗算部、124,124B…電流位相検出部、125,125A,125B…セクタ特定部、126…相電流算出部、127,127A,127B…相電流選択部、128,128A_1,128A_2,128B_1,128B_2…対応関係情報(セクタ-相電流)、201…対応関係情報、Q1~Q6…駆動用トランジスタ、Sc…駆動指令信号、Sc1…速度指令信号、Sd…駆動制御信号、θ…回転角度、ω…回転速度、iq…q軸電流、iqref…q軸電流の指令値、vref…電圧指令値、Vcc…直流電源、Vuu,Vul,Vvu,Vvl,Vwu,Vwl…駆動信号、Vm…電流検出信号、ωref…目標回転速度。