(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024017952
(43)【公開日】2024-02-08
(54)【発明の名称】モータ制御方法及びモータ制御装置
(51)【国際特許分類】
H02P 6/185 20160101AFI20240201BHJP
H02P 21/18 20160101ALI20240201BHJP
【FI】
H02P6/185
H02P21/18
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2022120941
(22)【出願日】2022-07-28
(71)【出願人】
【識別番号】000003997
【氏名又は名称】日産自動車株式会社
(74)【代理人】
【識別番号】110002468
【氏名又は名称】弁理士法人後藤特許事務所
(72)【発明者】
【氏名】森 憲一
【テーマコード(参考)】
5H505
5H560
【Fターム(参考)】
5H505AA16
5H505CC04
5H505DD03
5H505DD08
5H505EE41
5H505EE48
5H505EE49
5H505EE55
5H505GG02
5H505GG04
5H505GG06
5H505GG07
5H505HB01
5H505JJ03
5H505JJ09
5H505JJ17
5H505JJ24
5H505JJ25
5H505JJ26
5H505LL14
5H505LL22
5H505LL24
5H505LL39
5H505LL41
5H505MM19
5H560AA08
5H560BB04
5H560BB12
5H560DA12
5H560DB20
5H560DC01
5H560DC12
5H560DC13
5H560EB01
5H560RR03
5H560SS02
5H560TT08
5H560TT11
5H560TT15
5H560XA02
5H560XA04
5H560XA06
5H560XA08
5H560XA12
5H560XA13
(57)【要約】
【課題】モータ回転数の変化に依らず磁極位置の推定精度を確保する。
【解決手段】
所定のトルク指令値T
fin
*及び推定したモータ200の磁極位置θ′に基づいてモータに供給する電力を制御し、モータの回転数Nを示唆する回転数パラメータN′,N
*を取得する回転数パラメータ取得工程と、モータの電力を示唆する電力パラメータi
ddet,i
qdetに基づいて磁極位置を算出する磁極位置算出工程と、を含むモータ制御方法を提供する。特に、磁極位置算出工程では、回転数パラメータから回転数Nの変化dN/dtを推定し、回転数の変化に基づいて磁極位置を補正する。
【選択図】
図2
【特許請求の範囲】
【請求項1】
所定のトルク指令値及び推定したモータの磁極位置に基づいて前記モータに供給する電力を制御するモータ制御方法であって、
前記モータの回転数を示唆する回転数パラメータを取得する回転数パラメータ取得工程と、
前記モータの電力を示唆する電力パラメータに基づいて前記磁極位置を算出する磁極位置算出工程と、を含み、
前記磁極位置算出工程では、
前記回転数パラメータから前記回転数の変化を推定し、
前記回転数の変化に基づいて前記磁極位置を補正する、
モータ制御方法。
【請求項2】
請求項1に記載のモータ制御方法であって、
前記回転数パラメータ取得工程では、
前記磁極位置を推定するための推定信号を生成し、
前記モータに供給すべき電力を規定する電力指令値に前記推定信号を重畳し、
前記電力パラメータに基づいて、前記推定信号を重畳した前記電力指令値に応じた応答電力値を算出し、
前記応答電力値に基づいて、前記回転数パラメータを演算する、
モータ制御方法。
【請求項3】
請求項2に記載のモータ制御方法であって、
前記電力指令値は、dq軸電圧指令値を含み、
前記推定信号は、dq軸高周波電圧を含み、
前記応答電力値は、dq軸応答高周波電流を含み、
前記電力パラメータは、dq軸電流を含み、
前記回転数パラメータ取得工程では、
前記dq軸電流の検出値に対してフィルタ処理を行うことで前記dq軸応答高周波電流を演算し、
前記dq軸応答高周波電流に基づいて、dq軸座標系と予め設定した2軸制御座標系との位相差として定まる位相誤差推定値を演算し、
前記位相誤差推定値を所定の誤差補正値により補正して補正位相誤差推定値を演算し、
前記補正位相誤差推定値に基づいて、前記回転数パラメータとしての電気角速度推定値及び回転数推定値を演算し、
前記磁極位置算出工程では、
前記電気角速度推定値に基づいて、前記磁極位置を示唆する前記モータの位相推定値を演算し、
前記回転数の変化として前記回転数推定値の変化を演算し、
前記誤差補正値を前記回転数推定値の変化に応じて増減させる、
モータ制御方法。
【請求項4】
請求項3に記載のモータ制御方法であって、
前記磁極位置算出工程では、
前記回転数推定値の変化とq軸電流とに基づいて、前記誤差補正値を調節する、
モータ制御方法。
【請求項5】
請求項4に記載のモータ制御方法であって、
前記磁極位置算出工程では、
前記q軸電流の絶対値が大きいほど、前記誤差補正値を大きくする、
モータ制御方法。
【請求項6】
請求項3に記載のモータ制御方法であって、
前記磁極位置算出工程では、
前記回転数推定値の変化方向に応じて、前記誤差補正値の正負を切り替える、
モータ制御方法。
【請求項7】
請求項3に記載のモータ制御方法であって、
前記磁極位置算出工程では、
前記回転数推定値の変化量が大きいほど、前記誤差補正値を大きくする、
モータ制御方法。
【請求項8】
請求項3に記載のモータ制御方法であって、
前記磁極位置算出工程では、
前記回転数推定値の変化と、d軸高周波電圧に対するq軸高周波電圧の振幅比と、に基づいて前記誤差補正値を調節し、
前記振幅比が小さいほど、前記誤差補正値を大きくする、
モータ制御方法。
【請求項9】
請求項3~8の何れか1項に記載のモータ制御方法であって、
所定の制御モード信号に応じて、回転数制御モード及びトルク制御モードの何れかを選択するモード選択工程をさらに含み、
前記回転数制御モードは、前記モータが出力すべき前記回転数としての回転数指令値から定まる第1トルク指令値を前記トルク指令値として定め、前記第1トルク指令値及び前記回転数推定値に基づいて前記電力指令値を算出する制御モードであり、
前記トルク制御モードは、前記モータが出力すべきトルクとして定まる第2トルク指令値を前記トルク指令値として定め、前記第2トルク指令値及び前記回転数推定値に基づいて前記電力指令値を算出する制御モードであり、
前記回転数制御モードを選択した場合には、
前記回転数パラメータ取得工程において、前記回転数指令値を前記回転数パラメータとして演算し、
前記トルク制御モードを選択した場合には、前記回転数推定値を前記回転数パラメータとして演算する、
モータ制御方法。
【請求項10】
所定のトルク指令値及び推定したモータの磁極位置に基づいて前記モータに供給する電力を制御するモータ制御装置であって、
前記モータの回転数を示唆する回転数パラメータを取得する回転数パラメータ取得部と、
前記モータの電力を示唆する電力パラメータに基づいて前記磁極位置を算出する磁極位置算出部と、を有し、
前記磁極位置算出部は、
前記回転数パラメータから前記回転数の変化を推定し、
前記回転数の変化に基づいて前記磁極位置を補正する、
モータ制御装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、モータ制御方法及びモータ制御装置に関する。
【背景技術】
【0002】
特許文献1には、モータの磁極位置を参照して直交する2軸座標系(d軸/q軸座標系)の指令値を求め、当該指令値を用いてモータの駆動制御を行う制御方法が開示されている。この制御方法では、モータに流れる電流の検出値からモータの磁極位置を推定する。
【0003】
より具体的には、磁極位置を推定するための交流信号を上記指令値のd軸成分(d軸指令値)に重畳してモータを駆動させ、その状態で取得される電流検出値のq軸成分(q軸電流検出値)に基づいて磁極位置を推定する。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、制御状態によってはモータ回転数が変化して、電流検出値の変化量が想定よりも大きくなることがある。このようなシーンにおいては、当該電流検出値から得られる磁極位置の推定誤差が大きくなるという問題がある。
【0006】
したがって、本発明の目的は、モータ回転数の変化に依らず磁極位置の推定精度を確保することのできるモータ制御方法及びモータ制御装置を提供することにある。
【課題を解決するための手段】
【0007】
本発明のある態様によれば、所定のトルク指令値及び推定したモータの磁極位置に基づいてモータに供給する電力を制御するモータ制御方法が提供される。このモータ制御方法は、モータの回転数を示唆する回転数パラメータを取得する回転数パラメータ取得工程と、モータの電力を示唆する電力パラメータに基づいて磁極位置を算出する磁極位置算出工程と、を含む。特に、磁極位置算出工程では、回転数パラメータから回転数の変化を推定し、回転数の変化に基づいて磁極位置を補正する。
【発明の効果】
【0008】
本発明によれば、モータ回転数の変化に依らず磁極位置の推定精度を確保することができる。
【図面の簡単な説明】
【0009】
【
図1】
図1は、本発明の一実施形態によるモータ制御装置の構成を示すブロック図である。
【
図2】
図2は、回転状態推定部の構成を示すブロック図である。
【
図3】
図3は、回転数変化速度及びq軸電流に応じた位相誤差補正値の定め方の一例を説明するグラフである。
【
図4】
図4は、電圧振幅比に応じた位相誤差補正値の定め方の一例を説明するグラフである。
【
図5】
図5は、モータ回転数及び磁極位置の推定の流れを示すフローチャートである。
【発明を実施するための形態】
【0010】
以下、図面を参照しながら本発明の実施形態について説明する。
【0011】
図1は、モータ制御装置100の構成を示すブロック図である。
図1に示すように、モータ制御装置100としては、モータ200の磁極位置(回転子位置)や回転数(以下、「モータ回転数N」と称する)をレゾルバやエンコーダ等のセンサ類で計測する構成に代えて、後述する推定アルゴリズムに基づいて演算し、演算した推定値を用いてインバータ18を操作しモータ200に供給する電力を制御する装置を想定する。すなわち、本実施形態のモータ制御装置100、インバータ18、及びモータ200を要素とするモータ制御システムは、位置センサレスのシステムとして構成することができる。特に、制御対象であるモータ200としては、車載の走行駆動用モータ又は発電用モータを想定する。また、モータ200は、例えば、三相交流IPM(Interior Permanent Magnet)モータであり、q軸インダクタンスL
qとd軸インダクタンスL
dが相互に異なる値を示す突極性モータとして構成される。
【0012】
モータ制御装置100は、回転数制御部8、トルク指令値選択部9、電流指令生成部11、第1電圧指令生成部12、第2電圧指令生成部13、最終電圧指令生成部14、制御モード信号生成部15、座標変換部16、PWM変換部17、回転状態推定部19、及び座標変換部23を備える。そして、モータ制御装置100は、各部の機能を実現するようにプログラムを備えたコンピュータ(コントローラ)によって構成される。また、当該コンピュータを構成するハードウェアは、一台又は複数台で構成されていても良い。
【0013】
回転数制御部8は、上位制御装置から入力される回転数指令値N*及び回転状態推定部19から入力される回転数推定値N′に基づいて、第1トルク指令値Trev
*を算出して出力する。
【0014】
ここで、回転数指令値N*は、例えばモータ200を所定の駆動源(エンジンなど)により回生させて発電を行う発電機として用いる際に、所望の要求発電電力(エンジントルク×エンジン回転数)から定められるモータ200の回転数(以下、「モータ回転数N」とも称する)として定められる。すなわち、回転数指令値N*は、上位制御装置により定められるモータ200が出力すべき回転数の目標値である。また、回転数推定値N′は、モータ200の制御状態に応じて演算されるモータ回転数Nの推定値である。回転数推定値N′は、回転状態推定部19により、後述する推定アルゴリズム(高周波電圧印加法)にしたがって演算(推定)される。さらに、第1トルク指令値Trev
*は、上記回転数指令値N*を実現するために目指すべきモータ200の出力トルクの目標値である。
【0015】
より具体的に、回転数制御部8は、例えば、回転数指令値N*及び回転数推定値N′の偏差に基づいてPI(Proportional-Integral)制御を実行して第1トルク指令値Trev
*を算出する。
【0016】
トルク指令値選択部9は、上位制御装置から入力される制御モード信号Msw1、上位制御装置から入力される第2トルク指令値Tdrv
*、及び上述の第1トルク指令値Trev
*に基づいて、最終トルク指令値Tfin
*を算出して出力する。
【0017】
ここで、制御モード信号Msw1は、制御モードとしてトルク制御モード及び回転数制御モードのいずれを選択すべきかに関する上位制御装置の指令情報を含む信号である。また、第2トルク指令値Tdrv
*は、例えばモータ200を車両の走行駆動源として用いる際に、要求駆動力(アクセルペダルに対する操作量など)に応じたモータ200の出力トルクの目標値である。
【0018】
より具体的に、トルク指令値選択部9は、制御モード信号Msw1を参照して、トルク制御モードの実行が指令されていると判断すると、第2トルク指令値Tdrv
*を最終トルク指令値Tfin
*として演算する。一方、トルク指令値選択部9は、制御モード信号Msw1を参照して、回転数制御モードの実行が指令されていると判断すると、第1トルク指令値Trev
*を最終トルク指令値Tfin
*として出力する。
【0019】
電流指令生成部11は、直流電圧Vdc、最終トルク指令値Tfin
*、及び、回転数推定値N′に基づいて、d軸電流指令値id
*及びq軸電流指令値iq
*を生成(算出)して出力する。
【0020】
ここで、直流電圧Vdcは、モータ200の駆動電力を供給するためのバッテリ21の出力電圧である。直流電圧Vdcは、電圧センサ22によって検出される。なお、直流電圧Vdcを、電圧センサ22による検出値に代えて、バッテリコントローラ(図示しない)等で得られる推定値として取得しても良い。
【0021】
d軸電流指令値id
*は、モータ200のd軸電流idについての指令値である。q軸電流指令値iq
*は、モータ200のq軸電流iqについての指令値である。なお、以下では、表記の簡略化のため、d軸電流id及びq軸電流iqを包括してdq軸電流id,iqとも称し、d軸電流指令値id
*及びq軸電流指令値iq
*を包括してdq軸電流指令値id
*,iq
*とも称する。
【0022】
第1電圧指令生成部12は、最終トルク指令値Tfin
*、直流電圧Vdc、回転数推定値N′、dq軸電流指令値id
*,iq
*、及びdq軸電流id,iqの検出値に基づいて、第1のd軸電圧指令値Vd1
*及び第1のq軸電圧指令値Vq1
*(以下、「第1電圧指令値Vd1
*,Vq1
*」とも称する)を生成(算出)して出力する。
【0023】
第1電圧指令値Vd1
*,Vq1
*は、いわゆる電流ベクトル制御によってモータ200を制御するための電圧指令値である。すなわち、第1電圧指令生成部12は、例えば下記の式(1)にしたがって、dq軸電流id,iqとdq軸電流指令値id
*,iq
*の偏差(id-id
*,iq-iq
*)に基づくPI制御と、dq軸の非干渉化により、第1電圧指令値Vd1
*,Vq1
*を演算する。
【0024】
【0025】
なお、式(1)における「s」は微分演算子である。また、「Kp1」は比例ゲインであり、「Ki1」は積分ゲインである。さらに、「Vd-dcpl
*」はd軸干渉電圧であり、「Vq-dcpl
*」はq軸干渉電圧である。本実施形態では、第1電圧指令生成部12は、最終トルク指令値Tfin
*、直流電圧Vdc、及び回転数推定値N′と、d軸干渉電圧Vd-dcpl
*及びq軸干渉電圧Vq-dcpl
*と、を対応付ける干渉電圧テーブル(図示せず)を有する。このため、第1電圧指令生成部12は、この干渉電圧テーブルを参照することにより、トルク指令値T*、直流電圧Vdc、及び回転数推定値N′に対応するd軸干渉電圧Vd-dcpl
*及びq軸干渉電圧Vq-dcpl
*を演算する。干渉電圧テーブルは、実験またはシミュレーション等によって予め設定される。
【0026】
なお、第1電圧指令生成部12が第1電圧指令値Vd1
*,Vq1
*の演算に用いるdq軸電流id,iqは、モータ200に流れる電流の検出値であって、座標変換部23から取得される。座標変換部23は、例えば回転状態推定部19が出力する位相推定値θ′を用いた座標変換により、電流センサ24が検出するモータ200の各相の電流iu,iv,iwからdq軸電流id,iqを演算する。具体的には、座標変換部23は、下記の式(2)にしたがって、dq軸電流id,iqを演算する。
【0027】
【0028】
また、本実施形態では、電流センサ24は、モータ200のU相電流iuとV相電流ivを検出し、座標変換部23は、W相電流iwを下記の式(3)にしたがって演算により求める。
【0029】
【0030】
なお、以下では、上記式(2)及び式(3)に基づいて演算されるdq軸電流id,iqの値をdq軸電流id,iqの検出値とみなし、特に検出値であることを明示する場合には「dq軸電流検出値iddet,iqdet」、「d軸電流検出値iddet」、或いは「q軸電流検出値iqdet」と表記する。
【0031】
第2電圧指令生成部13は、最終トルク指令値Tfin
*、直流電圧Vdc、回転数推定値N′、及びdq軸電流id,iqに基づいて、第2d軸電圧指令値Vd2
*及び第2q軸電圧指令値Vq2
*を生成(演算)する。なお、以下では、第2d軸電圧指令値Vd2
*及び第2q軸電圧指令値Vq2
*を、「第2電圧指令値Vd2
*,Vq2
*」とも称する。
【0032】
第2電圧指令値Vd2
*,Vq2
*は、いわゆる電圧位相制御によってモータ200を制御するための電圧指令値である。すなわち、第2電圧指令生成部13は、電圧ノルムVaに対する指令値である電圧ノルム指令値Va
*と、電圧位相αに対する指令値である電圧位相指令値α*と、を演算し、これらを用いて第2電圧指令値Vd2
*,Vq2
*を演算する。
【0033】
具体的には、第2電圧指令生成部13は、例えば下記の式(4)にしたがって、直流電圧Vdcと、変調率についての指令値である変調率指令値MF*と、に基づき、電圧ノルム指令値Va
*を演算する。
【0034】
【0035】
さらに、第2電圧指令生成部13は、最終トルク指令値Tfin
*、直流電圧Vdc、及び回転数推定値N′に基づいて、電圧位相目標値αff
*を演算する。電圧位相目標値αff
*は、フィードフォワード制御による電圧位相αの目標値である。本実施形態では、第2電圧指令生成部13は、最終トルク指令値Tfin
*、直流電圧Vdc、及び回転数推定値N′と、電圧位相目標値αff
*と、を対応付ける電圧位相目標値テーブル(図示しない)を有する。したがって、第2電圧指令生成部13は、この電圧位相目標値テーブルを参照することにより、最終トルク指令値Tfin
*、直流電圧Vdc、及び回転数推定値N′に対応する電圧位相目標値αff
*を演算する。電圧位相目標値テーブルは、実験またはシミュレーション等によって予め設定される。
【0036】
また、第2電圧指令生成部13は、dq軸電流検出値iddet,iqdetと回転数推定値N′に基づいて、出力トルクの推定値であるトルク推定値Testを演算する。本実施形態では、第2電圧指令生成部13は、dq軸電流id,iq及び回転数推定値N′と、トルク推定値Testと、を対応付けるトルク推定値テーブル(図示しない)を有する。したがって、第2電圧指令生成部13は、このトルク推定値テーブルを参照することにより、dq軸電流検出値iddet,iqdet及び回転数推定値N′に対応するトルク推定値Testを演算する。トルク推定値テーブルは、実験またはシミュレーション等によって予め設定される。
【0037】
さらに、第2電圧指令生成部13は、最終トルク指令値Tfin
*及びトルク推定値Testに基づいて、電圧位相補正値αfb
*を演算する。電圧位相補正値αfb
*は、電圧位相目標値αff
*に対する補正値であり、フィードバック制御によって演算される。例えば、第2電圧指令生成部13は、下記の式(5)にしたがって、トルク指令値T*とトルク推定値Testとの偏差(Tfin
*-Test)に基づくPI制御により、電圧位相補正値αfb
*を演算する。
【0038】
【0039】
式(5)における「Kp2」は比例ゲインであり、「Ki2」は積分ゲインである。
【0040】
そして、第2電圧指令生成部13は、上記のように演算する電圧位相目標値αff
*に電圧位相補正値αfb
*を加算することで、電圧位相指令値α*を演算する。
【0041】
さらに、第2電圧指令生成部13は、下記の式(6)に示すように、電圧ノルム指令値Va
*と電圧位相指令値α*に基づくベクトル変換により、第2電圧指令値Vd2
*,Vq2
*を演算する。
【0042】
【0043】
最終電圧指令生成部14は、制御モード信号生成部15から入力される制御モード信号Msw2に基づき、第1電圧指令値Vd1
*,Vq1
*及び第2電圧指令値Vd2
*,Vq2
*の一方を選択し、最終的な電圧指令値である最終電圧指令値Vd
*,Vq
*として出力する。すなわち、最終電圧指令生成部14は、制御モード信号Msw2にしたがって、制御モードを、第1電圧指令値Vd1
*,Vq1
*を用いる電流ベクトル制御モードと、第2電圧指令値Vd2
*,Vq2
*を用いる電圧位相制御モードと、の間で選択的に切り替える。
【0044】
そして、本実施形態では、最終電圧指令生成部14は、制御モード信号Msw2に基づいて選択した第1電圧指令値Vd1
*,Vq1
*又は第2電圧指令値Vd2
*,Vq2
*に、高周波電圧Vdh
*,Vqh
*を重畳させて(加算して)出力する。なお、これは、後述するように、回転状態推定部19により、高周波電圧Vdh
*,Vqh
*を重畳させた最終電圧指令値Vd
*,Vq
*に対する応答電力値(応答高周波電流idh,iqh)から回転数推定値N′及び位相推定値θ′を演算するためである。
【0045】
なお、高周波電圧Vdh
*,Vqh
*は、下記の式(7)で表される。
【0046】
【0047】
ここで、式(7)における「Vh」は、高周波電圧Vdh
*,Vqh
*の振幅であり、「ωh」は周波数である。また、「Kh」(0≦Kh≦1)は、dq軸座標系に対して所定の位相差(後述の位相誤差θγ)を持つ2軸制御座標系(γδ軸座標系)における高周波電圧Vdh
*,Vqh
*の軌跡を定める係数である。特に、Kh=0である場合には高周波電圧Vdh
*,Vqh
*の軌跡はγ軸に沿う直線となり、0<Kh<1である場合の軌跡はγδ軸の原点(dq軸の原点)を中心とする楕円形状となる。さらに、Kh=1である場合の軌跡はγδ軸の原点を中心とする真円形状となる。また、式(7)からわかるように、「Kh」はd軸高周波電圧Vdh
*の振幅に対するq軸高周波電圧Vqh
*の振幅の比を規定する。したがって、以下では説明の便宜のため、当該振幅の比を「電圧振幅比Kh」とも称する。なお、振幅Vh、周波数ωh、及び電圧振幅比Khは、適合により予め設定される。
【0048】
制御モード信号生成部15は、直流電圧Vdc及び最終電圧指令値Vd
*,Vq
*に基づいて、制御モード信号Msw2を生成する。
【0049】
具体的には、制御モード信号生成部15は、下記の式(8)にしたがって、直流電圧Vdc及び最終電圧指令値Vd
*,Vq
*に基づき、変調率MFを演算する。
【0050】
【0051】
また、制御モード信号生成部15は、演算した変調率MFを、予め定められた所定の閾値(変調率閾値THMF)と比較する。そして、制御モード信号生成部15は、例えば変調率MFが変調率閾値THMF未満であるときに、第1電圧指令値Vd1
*,Vq1
*(電流ベクトル制御モード)を選択させる制御モード信号Mswを生成して出力する。一方、制御モード信号生成部15は、例えば変調率MFが変調率閾値THMF以上であるときに、第2電圧指令値Vd2
*,Vq2
*(電圧位相制御モード)を選択させる制御モード信号Msw2を生成して出力する。
【0052】
なお、電流ベクトル制御モードから電圧位相制御モードへの切り替え判定に用いる変調率閾値THMFと、電圧位相制御モードから電流ベクトル制御モードへの切り替え判定に用いる変調率閾値THMFと、を異なる値に設定しても良い。この場合、電流ベクトル制御モードと電圧位相制御モードの切り替えにヒステリシスを持たせることができるので、各モード間の頻繁な切り替わり(いわゆるチャタリング)が抑制される。
【0053】
座標変換部16は、例えば回転状態推定部19が出力する位相推定値θ′を用いた座標変換により、最終電圧指令値Vd
*,Vq
*から、三相電圧指令値Vu
*,Vv
*,Vw
*を演算する。具体的には、座標変換部16は、下記の式(9)にしたがって、三相電圧指令値Vu
*,Vv
*,Vw
*を演算する。
【0054】
【0055】
PWM変換部17は、直流電圧Vdc及び三相電圧指令値Vu
*,Vv
*,Vw
*に基づいて、インバータ18のパワー素子を駆動するPWM(Pulse Width Modulation)信号を生成する。具体的には、PWM変換部17は、三相電圧指令値Vu
*,Vv
*,Vw
*に対応するパワー素子駆動信号Duu
*,Dul
*,Dvu
*,Dvl
*,Dwu
*,Dwl
*を生成し、これをインバータ18に入力する。なお、PWM変換部17は、PWM信号を生成するときに、いわゆるデッドタイム補償処理や電圧利用率向上処理を行うことができる。
【0056】
インバータ18は、PWM信号にしたがってパワー素子をスイッチングすることにより、バッテリ21の直流電圧Vdcを擬似交流電圧Vu,Vv,Vwに変換し、モータ200のUVW各相に入力する。これにより、モータ200は、最終トルク指令値Tfin
*に応じたトルクを出力するように制御される。
【0057】
回転状態推定部19は、dq軸電流検出値iddet,iqdet、最終電圧指令値Vd
*,Vq
*、回転数指令値N*、及び制御モード信号Msw1に基づいて、モータ200の回転状態を推定する。ここで、モータ200の回転状態とは、モータ200が有する回転子の動作状態を特定するパラメータをいい、例えば、回転子位置を規定する位相θ、並びに回転子の回転速度を規定する機械角速度、電気角速度ω、及びモータ回転数N等である。本実施形態では、回転状態推定部19は、モータ200の回転状態として、位相θの推定値である位相推定値θ′、及び上述の回転数推定値N′を演算して出力する。以下、回転状態推定部19の詳細について説明する。
【0058】
図2は、回転状態推定部19の構成を示すブロック図である。本実施形態の回転状態推定部19は、モータ200のq軸インダクタンスL
qとd軸インダクタンスL
dに違いがあることを利用した磁気位置の推定アルゴリズムである高周波電圧印加法(鏡相推定法)によって、位相推定値θ′及び回転数推定値N′を演算する。
【0059】
具体的に、回転状態推定部19は、位相誤差推定部31、位相推定値演算部32、回転数推定値演算部33、位相補正値演算部34、及び位相誤差補正部35を備える。
【0060】
位相誤差推定部31は、dq軸電流検出値iddet,iqdet、及び最終電圧指令値Vd
*,Vq
*を入力として、位相誤差推定値θγ′を演算して出力する。ここで、位相誤差推定値θγ′は、dq軸座標系と予め定めた2軸制御座標系(γδ軸座標系)との間の位相誤差θγの推定値である。
【0061】
まず、前提として、上述のように第1電圧指令値Vd1
*,Vq1
*又は第2電圧指令値Vd2
*,Vq2
*に重畳される高周波電圧Vdh
*,Vqh
*は、式(7)に示すように、γ軸及びδ軸のそれぞれと一致する方向の長軸及び短軸を有する楕円軌道を描く。そして、高周波電圧Vdh
*,Vqh
*に対する応答電力値である応答高周波電流idh,iqhも同様にγδ軸座標系上で楕円軌道を描く。ここで、応答高周波電流idh,iqhの長軸はd軸に対して所定の位相差(以下、「長軸位相θγe」と称する)の分ずれを生じる。一方で、上述したdq軸座標系とγδ軸座標系の間の位相誤差θγ及び長軸位相θγeがともに微小であるときには、これらが相互に一致するものとみなすことができる。このため、長軸位相θγeを求めれば、これを位相誤差θγの推定値(以下、「位相誤差推定値θγ′」とも称する)とすることができる。
【0062】
したがって、位相誤差推定部31は、dq軸電流検出値iddet,iqdet及び最終電圧指令値Vd
*,Vq
*から長軸位相θγeを定める下記の演算ロジックを実行して、位相誤差推定値θγ′を演算する。
【0063】
具体的に、位相誤差推定部31は、例えばバンドパスフィルタ等によるフィルタリング処理によって、dq軸電流検出値iddet,iqdetから応答高周波電流idh,iqhを抽出する。バンドパスフィルタは、例えば、高周波電圧Vdh
*,Vqh
*の周波数ωhに応じて、dq軸電流検出値iddet,iqdetから直流成分を除去又は低減するように構成される。次いで、位相誤差推定部31は、下記の式(10)及び式(11)にしたがって、応答高周波電流idh,iqhの正相成分(同相成分)である[cp,sp]と、逆相成分(鏡相成分)である[cn,sn]と、を演算する。
【0064】
【0065】
そして、回転状態推定部19は、さらにローパスフィルタ等を用いて、式(10)及び式(11)の正相成分[cp,sp]及び逆相成分[cn,sn]から、周波数2ωh等の高調波成分を除去又は低減するフィルタリング処理を行う。当該フィルタリング処理後の正相成分[cp,sp]と逆相成分[cn,sn]は、γδ軸座標系上において長軸位相θre(位相誤差推定値θγ′)に対して対称(鏡相関係)をとる。このため、位相誤差推定部31は、次式(12)にしたがって、正相成分[cp,sp]及び逆相成分[cn,sn]から位相誤差推定値θγ′を演算する。
【0066】
【0067】
位相推定値演算部32は、位相誤差補正部35で演算される補正位相誤差推定値θγc′に基づいて、次式(13)のPI制御により、電気角速度ωの推定値である電気角速度推定値ω′を演算して出力する。
【0068】
【0069】
さらに、位相推定値演算部32は、次式(14)にしたがって、電気角速度推定値ω′を積分することにより、位相推定値θ′を演算して出力する。
【0070】
【0071】
回転数推定値演算部33は、位相推定値演算部32で演算された電気角速度推定値ω′[rad/sec]を単位変換することで回転数推定値N′[rad]を演算して出力する。
【0072】
位相補正値演算部34は、制御モード信号Msw1、q軸電流検出値iqdet、回転数指令値N*、及び回転数推定値N′(特に回転数推定値N′の前回値)を入力として、位相誤差推定値θγ′を補正するための補正値である位相誤差補正値Δθγを算出して出力する。
【0073】
より具体的に、位相補正値演算部34は、制御モード信号Msw1がトルク制御モードを示す場合には、位相推定値演算部32からフィードバックされる回転数推定値N′に対してハイパスフィルタ処理等を行うことで回転数変化速度dN/dtを算出する。一方、位相補正値演算部34は、制御モード信号Msw1が回転数制御モードを示す場合には、回転数指令値N*に対してハイパスフィルタ処理等を行うことで回転数変化速度dN/dtを算出する。
【0074】
また、位相補正値演算部34は、求めた回転数変化速度dN/dtの符号に応じて位相誤差補正値Δθγの符号を定める。より具体的に位相補正値演算部34は、回転数変化速度dN/dtの符号が正である場合(モータ回転数Nが増加している場合)には、位相誤差補正値Δθγの符号を正に定める(位相誤差推定値θγ′に対して増大補正を行う)。また、位相補正値演算部34は、回転数変化速度dN/dtの符号が負である場合(モータ回転数Nが減少する場合)には、位相誤差補正値Δθγの符号を負に定める(位相誤差推定値θγ′に対して減少補正を行う)。
【0075】
さらに、位相補正値演算部34は、回転数変化速度dN/dtの大きさ及びq軸電流検出値iqdetの絶対値に基づいて、位相誤差補正値Δθγの大きさを定める。特に、位相補正値演算部34は、回転数変化速度dN/dtの大きさに応じて暫定位相誤差補正値Δθγpreを定める。当該暫定位相誤差補正値Δθγpreに、q軸電流検出値iqdetの絶対値の大きさに応じた補正値調節量Δθγadjを加算することで最終的な位相誤差補正値Δθγを求める。
【0076】
図3は、位相誤差補正値Δθ
γの定め方の一例を説明するグラフである。特に、
図3(a)は、回転数変化速度dN/dtの大きさと、暫定位相誤差補正値Δθ
γpreと、の関係の一例を示す。また、
図3(b)は、q軸電流検出値i
qdetの絶対値と、補正値調節量Δθ
γadjと、の関係を示す。
【0077】
先ず、
図3(a)に示すように、位相補正値演算部34は、所定の基本位相誤差補正値Δθ
γbを基準として回転数変化速度dN/dtの大きさの増大に比例して大きい値をとるように補正した暫定位相誤差補正値Δθ
γpreを定める。なお、基本位相誤差補正値Δθ
γbは、制御系の特性に応じて適切な可変値又は固定値(0を含む)に定めることができる。
【0078】
一方、
図3(b)に示すように、位相補正値演算部34は、補正値調節量Δθ
γadjを、q軸電流検出値i
qdetの絶対値が大きいほど大きい値をとるように定める。
【0079】
上記の暫定位相誤差補正値Δθγpre及び補正値調節量Δθγadjの和として得られる位相誤差補正値Δθγは、モータ回転数Nの変化、及びq軸電流iqの大きさと位相誤差推定値θγ′の間の正の相関が適切に加味された値として定まることとなる。
【0080】
なお、本実施形態では、磁気位置の推定アルゴリズムとして高周波電圧印加法を採用している。そして、当該推定アルゴリズムにおいて、最終電圧指令値Vd
*,Vq
*に重畳する高周波電圧Vdh
*,Vqh
*に関しては、d軸高周波電圧Vdh
*の振幅に対するq軸高周波電圧Vqh
*の振幅の比(すなわち、電圧振幅比Kh)が小さくなるほど位相誤差補正値Δθγが大きくなる傾向を示すことがある。したがって、当該傾向を考慮して、補正値調節量Δθγadjを、q軸電流検出値iqdetの絶対値に代えて、上述した電圧振幅比Khに応じて定める構成を採用しても良い。
【0081】
より具体的には、
図4に示すように、位相誤差補正値Δθ
γを、電圧振幅比K
hが小さいほど大きい値をとるように定める。これにより、上記傾向を示すシーンにおいても、当該位相誤差推定値θ
γ′の精度を確保することができる。
【0082】
また、補正値調節量Δθγadjをq軸電流検出値iqdetの絶対値に応じて定める構成に代え、q軸電流指令値iq
*から演算されるq軸電流推定値iqestの絶対値に応じて定める構成を採用しても良い。この場合、q軸電流推定値iqestは、例えば、q軸電流指令値iq
*に対して、当該q軸電流指令値iq
*から実q軸電流までの応答特性を考慮して定めたフィルタにより処理するなどの方法で演算することができる。
【0083】
図2に戻り、位相誤差補正部35は、位相誤差推定値θ
γ′及び位相誤差補正値Δθ
γに基づいて、補正位相誤差推定値θ
γc′を演算する。位相誤差補正部35は、例えば加算器によって構成される。このため、本実施形態では、位相誤差補正部35は、位相誤差推定値θ
γ′に位相誤差補正値Δθ
γを加算することにより、補正位相誤差推定値θ
γc′を求める。
【0084】
そして、位相誤差補正部35で演算された補正位相誤差推定値θγc′は、位相推定値演算部32に入力される。これにより、位相推定値演算部32で演算される位相推定値θ′及び電気角速度推定値ω′は、回転数変化速度dN/dt及びq軸電流iqに応じて調節された位相誤差補正値Δθγに基づいて補正された値となる。また、回転数推定値演算部33において、この電気角速度推定値ω′から演算される回転数推定値N′も同様である。
【0085】
次に、本実施形態のモータ制御方法におけるモータ200の磁極位置を推定する(位相推定値θ′を求める)ための演算ロジックを、フローチャートを参照して説明する。
【0086】
図5は、モータ200の磁極位置の推定ロジックの一例を示すフローチャートである。なお、以下の各処理は、モータ制御装置100により所定の演算周期で繰り返し実行される。
【0087】
図示のように、先ずステップS10において、最終電圧指令値Vd
*,Vq
*、d軸電流検出値iddet、q軸電流検出値iqdet、q軸電流指令値iq
*、回転数指令値N*、回転数推定値N′、及び制御モード信号Msw2を取得する。
【0088】
ステップS20において、上述した位相誤差推定部31の演算ロジックにしたがい、位相誤差推定値θγ′を演算する。
【0089】
ステップS30において、上述した位相補正値演算部34の演算ロジックにしたがい、回転数変化速度dN/dtを算出する。特に、制御モード信号Msw2を参照して現在の制御モードがトルク制御モードと判断される場合には、回転数推定値N′から回転数変化速度dN/dtを算出する。一方、現在の制御モードが回転数制御モードと判断される場合には、回転数指令値N*から回転数変化速度dN/dtを求める。
【0090】
ステップS40において、q軸電流iqの絶対値(q軸電流検出値iqdet又はq軸電流推定値iq_estの絶対値)を演算する。
【0091】
ステップS50において、上述した位相補正値演算部34の演算ロジックにしたがい、位相誤差補正値Δθ
γを演算する。特に、回転数変化速度dN/dt及びq軸電流i
qの絶対値に基づいて、
図3で説明した演算ロジックにより最終的な位相誤差補正値Δθ
γを求める。
【0092】
ステップS60において、上述した位相誤差補正部35の演算ロジックにしたがい、補正位相誤差推定値θγc′を演算する。特に、ステップS20で求めた位相誤差推定値θγ′に、ステップS50で求めた位相誤差補正値Δθγを加算することで補正位相誤差推定値θγc′を求める。
【0093】
ステップS70において、上述した位相推定値演算部32の演算ロジックにしたがい、位相誤差補正値Δθγから位相推定値θ′及び電気角速度推定値ω′を演算する。また、上述した回転数推定値演算部33の演算ロジックにしたがい、電気角速度推定値ω′から回転数推定値N′を演算する。
【0094】
以上説明した本実施形態のモータ制御方法による作用効果をまとめて説明する。
【0095】
本実施形態によれば、所定のトルク指令値(最終トルク指令値Tfin
*)及び推定したモータ200の磁極位置(位相推定値θ′)に基づいてモータ200に供給する電力を制御するモータ制御方法が提供される。
【0096】
このモータ制御方法は、モータ200の回転数(モータ回転数N)を示唆する回転数パラメータ(回転数推定値N′、回転数指令値N*、電気角速度推定値ω′)を取得する回転数パラメータ取得工程と、モータ200の電力を示唆する電力パラメータ(dq軸電流検出値iddet,iqdetなど)に基づいて磁極位置を算出する磁極位置算出工程(位相誤差推定部31、位相推定値演算部32、位相補正値演算部34、位相誤差補正部35)と、を含む。
【0097】
そして、磁極位置算出工程(位相補正値演算部34)では、回転数パラメータからモータ回転数Nの変化を推定し、モータ回転数Nの変化に基づいて磁極位置を補正する。
【0098】
これにより、モータ回転数Nの変化を加味した上で適切に調節された磁極位置の推定値を定めることができる。このため、モータ回転数Nが変化するシーンにおいても、モータ200の磁気位置の推定精度を維持することができ、これに起因するトルク制御における脱調等の発生を抑制することができる。結果として、磁気位置センサを用いずに実行し得るモータ制御のトルク範囲をより拡大することができる。
【0099】
特に、回転数パラメータ取得工程では、磁極位置を推定するための推定信号を生成し、モータ200に供給すべき電力を規定する電力指令値に推定信号を重畳し、電力パラメータに基づいて、推定信号を重畳した電力指令値に応じた応答電力値を算出し、応答電力値に基づいて回転数パラメータを演算する。
【0100】
これにより、磁極位置の補正演算のために用いる回転数パラメータを、現実のモータ200の回転数の変化が好適に反映された値として定めるための演算ロジックが実現される。
【0101】
より詳細に、本実施形態のモータ制御方法では、上記電圧指令値はdq軸電圧指令値(第1電圧指令値Vd1
*,Vq1
*又は第2電圧指令値Vd2
*,Vq2
*)を含み、推定信号はdq軸高周波電圧(高周波電圧Vdh
*,Vqh
*)を含み、応答電力値はdq軸応答高周波電流(応答高周波電流idh,iqh)を含み、電力パラメータはdq軸電流id,iqを含む。
【0102】
そして、回転数パラメータ取得工程では、dq軸電流id,iqの検出値(dq軸電流検出値iddet,iqdet)に対してフィルタ処理を行うことで応答高周波電流idh,iqhを演算し、応答高周波電流idh,iqhに基づいて、dq軸座標系と予め設定した2軸制御座標系(γδ座標系)との位相差として定まる位相誤差推定値θγ′を演算し、位相誤差推定値θγ′を所定の誤差補正値(位相誤差補正値Δθγ)により補正して補正位相誤差推定値θγc′を演算し、補正位相誤差推定値θγc′に基づいて、回転数パラメータとしての電気角速度推定値ω′及び回転数推定値N′を演算する。
【0103】
そして、磁極位置算出工程では、電気角速度推定値ω′に基づいて、上記磁極位置を示唆するモータ200の位相推定値θ′を演算し、モータ回転数Nの変化として回転数推定値N′の変化を演算し、位相誤差補正値Δθ
γを回転数推定値N′の変化に応じて増減させる(
図3(a)参照)。
【0104】
これにより、電圧指令値に高周波電圧信号を重畳させることでモータ200の磁極位置を推定する推定アルゴリズム(高周波電圧印加法)の採用を前提とした場合に、モータ回転数Nの変化を加味して磁極位置の演算値を適切に補正するためのより具体的な制御ロジックが実現される。
【0105】
特に、この場合、磁極位置算出工程では、回転数推定値N′の変化とq軸電流iqとに基づいて、位相誤差補正値Δθγを調節する。
【0106】
これにより、モータ回転数Nの変化に加え、q軸電流iqと位相誤差補正値Δθγの相関が考慮されたより適切な磁極位置の推定値を定めることができる。
【0107】
また、磁極位置算出工程では、q軸電流i
qの絶対値が大きいほど、位相誤差補正値Δθ
γを大きくする(
図3(b)参照)。
【0108】
これにより、q軸電流iqの絶対値が大きくなるほど位相誤差補正値Δθγが大きくなる傾向が考慮されたより適切な磁極位置の推定値を定めることができる。
【0109】
さらに、磁極位置算出工程では、回転数推定値N′の変化方向(回転数変化速度dN/dtの正負)に応じて、位相誤差補正値Δθγの正負を切り替える。
【0110】
これにより、モータ回転数Nの増減方向に応じて位相誤差補正値Δθγが異なる符号をとる傾向が考慮されたより適切な磁極位置の推定値を定めることができる。
【0111】
また、磁極位置算出工程では、回転数推定値N′の変化量(回転数変化速度dN/dtの大きさ)が大きいほど、位相誤差補正値Δθγを大きくする。
【0112】
これにより、モータ回転数Nの増減量が大きくなるにつれて増大する位相誤差補正値Δθγの傾向が考慮されたより適切な磁極位置の推定値を定めることができる。
【0113】
さらに、磁極位置算出工程において、回転数推定値N′の変化と、d軸高周波電圧V
dh
*に対するq軸高周波電圧V
qh
*の振幅比(電圧振幅比K
h)と、に基づいて位相誤差補正値Δθ
γを調節する構成を採用することもできる。特に、この場合、電圧振幅比K
hが小さいほど、位相誤差補正値Δθ
γを大きくする(
図4参照)。
【0114】
これにより、電圧振幅比Khの減少に応じて増大する位相誤差補正値Δθγの傾向が考慮されたより適切な磁極位置の推定値を定めることができる。
【0115】
さらに、本実施形態のモータ制御方法は、所定の制御モード信号Msw1に応じて、回転数制御モード及びトルク制御モードの何れかを選択するモード選択工程(トルク指令値選択部9)をさらに含む。
【0116】
特に、回転数制御モードは、モータ200が出力すべき回転数としての回転数指令値N*から定まる第1トルク指令値Trev
*を最終トルク指令値Tfin
*として定め、第1トルク指令値Trev
*及び回転数推定値N′に基づいて電力指令値を算出する制御モードである。また、トルク制御モードは、モータ200が出力すべきトルクとして定まる第2トルク指令値Tdrv
*を最終トルク指令値Tfin
*として定め、第2トルク指令値Tdrv
*及び回転数推定値N′に基づいて電力指令値を算出する制御モードである。
【0117】
そして、回転数制御モードを選択した場合には、上記回転数パラメータ取得工程において、回転数指令値N*を上記回転数パラメータとして演算する。一方、トルク制御モードを選択した場合には、回転数推定値N′を上記回転数パラメータとして演算する。
【0118】
これにより、モータ200を車両の走行駆動源として主に力行作動させることを想定したトルク制御モード、及びモータ200を車載の発電機として主に回生作動させることを想定した回転数制御モードの双方を選択的に実行し得る制御系において、モータ回転数Nの変化を加味して適切に磁極位置を推定するための具体的な制御ロジックが実現される。
【0119】
特に、回転数制御モードでは、上位制御装置などにより定められたモータ回転数Nの目標値に相当する回転数指令値N*の変化を参照して位相誤差補正値Δθγが演算されることとなる。このため、当該演算結果である位相誤差補正値Δθγのチャタリング(振動)が抑制される。より具体的には、現在の制御系内の状態量に応じて定まる回転数推定値N′は、制御状態によってはその変化方向(増減方向)が短時間の間に頻繁に切り替わることが想定される。このため、回転数推定値N′の変化を直接参照すると、当該変化方向の頻繁な切り替わりに起因して演算結果である位相誤差補正値Δθγも振動することが想定される。これに対して、回転数推定値N′に比べて変化方向の切り替わりの少ない回転数指令値N*の変化を参照することで、演算結果である位相誤差補正値Δθγの振動が抑制され、最終的な磁極位置(位相推定値θ′)に対する補正演算におけるチャタリング(頻繁な増減補正の切り替わり)を抑制することができる。
【0120】
さらに、本実施形態では、上記モータ制御方法の実行に適したモータ制御装置100が提供される。
【0121】
このモータ制御装置100は、モータ200の回転数(モータ回転数N)を示唆する回転数パラメータ(回転数推定値N′、回転数指令値N*、電気角速度推定値ω′)を取得する回転数パラメータ取得部と、モータ200の電力を示唆する電力パラメータ(dq軸電流検出値iddet,iqdetなど)に基づいて磁極位置を算出する磁極位置算出部(位相誤差推定部31、位相推定値演算部32、位相補正値演算部34、位相誤差補正部35)と、を有する。
【0122】
そして、磁極位置算出部(位相補正値演算部34)は、回転数パラメータからモータ回転数Nの変化を推定し、モータ回転数Nの変化に基づいて磁極位置を補正する。
【0123】
以上、本発明の実施形態について説明したが、上記実施形態及び各変形例で説明した構成は本発明の適用例の一部を示したに過ぎず、本発明の技術的範囲を限定する趣旨ではない。
【0124】
例えば、上記実施形態では、dq軸間のインダクタンス差を利用した高周波電圧印加法(鏡相推定法)を前提として、モータ回転数Nの変化を参照して位相推定値θ′を補正する例を説明した。しかしながら、これに限られず、他の推定アルゴリズムを前提として、モータ回転数Nの変化に基づいて位相推定値θ′を補正する例を採用しても良い。例えば、モータ200の磁束或いは誘起電圧のオブザーバを定め、当該オブザーバを用いて各種制御値から回転数推定値N′及び位相推定値θ′を求める推定アルゴリズムを前提とし、モータ回転数Nの変化を参照して位相推定値θ′を補正する構成を採用することも可能である。
【符号の説明】
【0125】
8 回転数制御部
9 トルク指令値選択部
11 電流指令生成部
12 第1電圧指令生成部
13 第2電圧指令生成部
14 最終電圧指令生成部
18 インバータ
19 回転状態推定部
31 位相誤差推定部
32 位相推定値演算部
33 回転数推定値演算部
34 位相補正値演算部
35 位相誤差補正部
100 モータ制御装置
200 モータ