(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-05
(45)【発行日】2023-12-13
(54)【発明の名称】車両
(51)【国際特許分類】
H02P 27/08 20060101AFI20231206BHJP
H02P 21/06 20160101ALI20231206BHJP
B60L 15/20 20060101ALI20231206BHJP
B60L 9/18 20060101ALI20231206BHJP
【FI】
H02P27/08
H02P21/06
B60L15/20 J
B60L9/18 J
(21)【出願番号】P 2019197283
(22)【出願日】2019-10-30
【審査請求日】2022-09-01
(73)【特許権者】
【識別番号】000005348
【氏名又は名称】株式会社SUBARU
(74)【代理人】
【識別番号】110000936
【氏名又は名称】弁理士法人青海国際特許事務所
(72)【発明者】
【氏名】中平 真一郎
(72)【発明者】
【氏名】下條 和真
(72)【発明者】
【氏名】高野 悠
(72)【発明者】
【氏名】野畠 公平
【審査官】保田 亨介
(56)【参考文献】
【文献】特開2018-196268(JP,A)
【文献】特開2005-312274(JP,A)
【文献】特開2014-196967(JP,A)
【文献】特開2010-035352(JP,A)
【文献】国際公開第2017/077599(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
B60L1/00-3/12
7/00-13/00
15/00-58/40
H02P21/00-25/03
25/04
25/10-27/18
(57)【特許請求の範囲】
【請求項1】
スイッチング素子のオンオフによってモータに電力を供給するスイッチング回路と、
前記スイッチング回路を駆動するゲートドライバと、
前記ゲートドライバに前記スイッチング回路を駆動させるベクトル制御部と、
前記モータに流れる電流の実電流値を検出する電流センサと、
を備え、
前記ベクトル制御部は、
前記モータに流れる電流に対応するフィードバック電流値を導出するフィードバック電流値導出部と、
前記フィードバック電流値および前記モータに流す電流を指示する電流指令値に基づいて、前記モータに印加する電圧を指示する電圧指令値を導出するフィードバック制御部と、
を有し、
前記ゲートドライバは、前記スイッチング素子をオンオフさせるゲート信号を、前記電圧指令値をキャリア信号でパルス幅変調させて生成し、
前記フィードバック電流値導出部は、
前記キャリア信号の振幅が上昇から下降へ変化する山部のタイミングにおいて、
前記キャリア信号のキャリア周波数が所定周波数より高い場合、前記実電流値を前記フィードバック電流値とし、
前
記キャリア周波数が所定周波数以下の場合、前記モータに流れる電流の推定値である推定電流値を前記電圧指令値に基づいて導出し、
前記実電流値と前記推定電流値とを平均した平均電流値を前記フィードバック電流値とする、車両。
【請求項2】
スイッチング素子のオンオフによってモータに電力を供給するスイッチング回路と、
前記スイッチング回路を駆動するゲートドライバと、
前記ゲートドライバに前記スイッチング回路を駆動させるベクトル制御部と、
を備え、
前記ベクトル制御部は、
前記モータに流れる電流に対応するフィードバック電流値を導出するフィードバック電流値導出部と、
前記フィードバック電流値および前記モータに流す電流を指示する電流指令値に基づいて、前記モータに印加する電圧を指示する電圧指令値を導出するフィードバック制御部と、
を有し、
前記ゲートドライバは、前記スイッチング素子をオンオフさせるゲート信号を、前記電圧指令値をキャリア信号でパルス幅変調させて生成し、
前記フィードバック電流値導出部は、
前記キャリア信号の振幅が下降から上昇へ変化する谷部のタイミングにおいて、
前記キャリア信号のキャリア周波数が所定周波数より高い場合、前記フィードバック電流値の導出を行わず、
前
記キャリア周波数が所定周波数以下の場合、前記モータに流れる電流の推定値である推定電流値を前記電圧指令値に基づいて導出し、前記推定電流値
を前記フィードバック電流値
とする、車両。
【請求項3】
スイッチング素子のオンオフによってモータに電力を供給するスイッチング回路と、
前記スイッチング回路を駆動するゲートドライバと、
前記ゲートドライバに前記スイッチング回路を駆動させるベクトル制御部と、
前記モータに流れる電流の実電流値を検出する電流センサと、
を備え、
前記ベクトル制御部は、
前記モータに流れる電流に対応するフィードバック電流値を導出するフィードバック電流値導出部と、
前記フィードバック電流値および前記モータに流す電流を指示する電流指令値に基づいて、前記モータに印加する電圧を指示する電圧指令値を導出するフィードバック制御部と、
を有し、
前記ゲートドライバは、前記スイッチング素子をオンオフさせるゲート信号を、前記電圧指令値をキャリア信号でパルス幅変調させて生成し、
前記フィードバック電流値導出部は、
前記キャリア信号の振幅が上昇から下降へ変化する山部のタイミングにおいて、
前記キャリア信号のキャリア周波数が所定周波数以下の場合、前記モータに流れる電流の推定値である推定電流値を前記電圧指令値に基づいて導出し、
前記実電流値と前記推定電流値とを平均した平均電流値と、前記実電流値との差分を補正用電流値として導出して記憶させ、
前記キャリア信号の振幅が下降から上昇へ変化する谷部のタイミングにおいて、
前記キャリア周波数が所定周波数以下の場合、前記推定電流値を前記電圧指令値に基づいて導出し、現在の前記推定電流値を前記山部のタイミングで導出された前記補正用電流値で補正して現在の前記フィードバック電流値を導出する、車両。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、モータによって駆動される車両に関する。
【背景技術】
【0002】
電気自動車やハイブリッド電気自動車などの車両では、モータによって車輪が駆動される。かかるモータは、ベクトル制御が行われる場合がある(例えば、特許文献1)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
モータのベクトル制御では、モータに流れる電流の実電流値が検出され、この実電流値をフィードバック制御することで、モータに印加する電圧の電圧指令値が導出される。モータに電力を供給するスイッチング回路は、導出された電圧指令値およびキャリア信号に基づいて生成されるゲート信号によってオンオフ制御される。
【0005】
キャリア信号の周波数であるキャリア周波数は、モータの目標トルクを指示するトルク指令値およびモータの回転速度に従って変更されることがある。キャリア周波数が比較的高い場合、モータの基本波電流値と実電流値との誤差が小さく、精度よくフィードバック制御を行うことが可能である。しかし、キャリア周波数が比較的低い場合、モータの基本波電流値と実電流値との誤差が大きくなり、フィードバック制御の精度が低下し、結果として、モータ制御の精度が低下するおそれがある。
【0006】
そこで、本発明は、モータを高精度で制御可能な車両を提供することを目的とする。
【課題を解決するための手段】
【0007】
上記課題を解決するために、本発明の車両は、スイッチング素子のオンオフによってモータに電力を供給するスイッチング回路と、スイッチング回路を駆動するゲートドライバと、ゲートドライバにスイッチング回路を駆動させるベクトル制御部と、モータに流れる電流の実電流値を検出する電流センサと、を備え、ベクトル制御部は、モータに流れる電流に対応するフィードバック電流値を導出するフィードバック電流値導出部と、フィードバック電流値およびモータに流す電流を指示する電流指令値に基づいて、モータに印加する電圧を指示する電圧指令値を導出するフィードバック制御部と、を有し、ゲートドライバは、スイッチング素子をオンオフさせるゲート信号を、電圧指令値をキャリア信号でパルス幅変調させて生成し、フィードバック電流値導出部は、キャリア信号の振幅が上昇から下降へ変化する山部のタイミングにおいて、キャリア信号のキャリア周波数が所定周波数より高い場合、実電流値をフィードバック電流値とし、キャリア周波数が所定周波数以下の場合、モータに流れる電流の推定値である推定電流値を電圧指令値に基づいて導出し、実電流値と推定電流値とを平均した平均電流値をフィードバック電流値とする。
【0009】
上記課題を解決するために、本発明の車両は、スイッチング素子のオンオフによってモータに電力を供給するスイッチング回路と、スイッチング回路を駆動するゲートドライバと、ゲートドライバにスイッチング回路を駆動させるベクトル制御部と、を備え、ベクトル制御部は、モータに流れる電流に対応するフィードバック電流値を導出するフィードバック電流値導出部と、フィードバック電流値およびモータに流す電流を指示する電流指令値に基づいて、モータに印加する電圧を指示する電圧指令値を導出するフィードバック制御部と、を有し、ゲートドライバは、スイッチング素子をオンオフさせるゲート信号を、電圧指令値をキャリア信号でパルス幅変調させて生成し、フィードバック電流値導出部は、キャリア信号の振幅が下降から上昇へ変化する谷部のタイミングにおいて、キャリア信号のキャリア周波数が所定周波数より高い場合、フィードバック電流値の導出を行わず、キャリア周波数が所定周波数以下の場合、モータに流れる電流の推定値である推定電流値を電圧指令値に基づいて導出し、推定電流値をフィードバック電流値としてもよい。
【0010】
上記課題を解決するために、本発明の車両は、スイッチング素子のオンオフによってモータに電力を供給するスイッチング回路と、スイッチング回路を駆動するゲートドライバと、ゲートドライバにスイッチング回路を駆動させるベクトル制御部と、モータに流れる電流の実電流値を検出する電流センサと、を備え、ベクトル制御部は、モータに流れる電流に対応するフィードバック電流値を導出するフィードバック電流値導出部と、フィードバック電流値およびモータに流す電流を指示する電流指令値に基づいて、モータに印加する電圧を指示する電圧指令値を導出するフィードバック制御部と、を有し、ゲートドライバは、スイッチング素子をオンオフさせるゲート信号を、電圧指令値をキャリア信号でパルス幅変調させて生成し、フィードバック電流値導出部は、キャリア信号の振幅が上昇から下降へ変化する山部のタイミングにおいて、キャリア信号のキャリア周波数が所定周波数以下の場合、モータに流れる電流の推定値である推定電流値を電圧指令値に基づいて導出し、実電流値と推定電流値とを平均した平均電流値と、実電流値との差分を補正用電流値として導出して記憶させ、キャリア信号の振幅が下降から上昇へ変化する谷部のタイミングにおいて、キャリア周波数が所定周波数以下の場合、推定電流値を電圧指令値に基づいて導出し、現在の推定電流値を山部のタイミングで導出された補正用電流値で補正して現在のフィードバック電流値を導出してもよい。
【発明の効果】
【0011】
本発明によれば、モータを高精度で制御可能となる。
【図面の簡単な説明】
【0012】
【
図1】本実施形態による車両の構成を示す概略図である。
【
図2】モータの実電流値の一例を説明する図である。
【
図3】キャリア周波数が比較的高い場合において、実電流値の取得タイミングを説明する図である。
【
図4】キャリア周波数が比較的低い場合において、実電流値の取得タイミングを説明する図である。
【
図5】フィードバック電流値の導出方法を説明する図である。
【
図6】キャリア信号が山部のタイミングのときのフィードバック電流値導出部の動作の流れを説明するフローチャートである。
【
図7】キャリア信号が谷部のタイミングのときのフィードバック電流値導出部の動作の流れを説明するフローチャートである。
【発明を実施するための形態】
【0013】
以下に添付図面を参照しながら、本発明の実施形態について詳細に説明する。かかる実施形態に示す寸法、材料、その他具体的な数値等は、発明の理解を容易にするための例示に過ぎず、特に断る場合を除き、本発明を限定するものではない。なお、本明細書および図面において、実質的に同一の機能、構成を有する要素については、同一の符号を付することにより重複説明を省略し、また本発明に直接関係のない要素は図示を省略する。
【0014】
図1は、本実施形態による車両1の構成を示す概略図である。以下では、本実施形態に関係する構成や処理について詳細に説明し、本実施形態と無関係の構成や処理については説明を省略する。
【0015】
車両1は、モータ10、車輪12、スイッチング回路14、バッテリ16、電流センサ18、回転位置センサ20、車両制御部22、ベクトル制御部24およびゲートドライバ26を含む。
【0016】
車両1は、例えば、モータ10によって車輪12が駆動される電気自動車である。なお、車両1は、エンジンとモータ10とが並行して設けられるハイブリッド電気自動車であってもよい。
【0017】
モータ10は、例えば、3相交流電力により駆動される同期モータや誘導モータなどである。モータ10の回転軸は、不図示の変速機などを通じて、車輪12に接続される。
【0018】
スイッチング回路14は、所謂、インバータである。スイッチング回路14は、直流電源線を通じてバッテリ16に接続される。スイッチング回路14は、例えば、スイッチング素子およびダイオードを各々6個含む。スイッチング素子は、例えば、IGBT(Insulated Gate Bipolar Transistor)である。6個のスイッチング素子は、直流電源線間において3相ブリッジ接続され、3相交流電源線に接続される。スイッチング回路14は、3相交流電源線を通じてモータ10に接続される。また、ダイオードは、各スイッチング素子に並列接続される。
【0019】
スイッチング回路14は、バッテリ16の直流電力を交流電力に変換してモータ10に供給する。モータ10は、スイッチング回路14を通じて供給される電力に基づいて車輪12を駆動する。
【0020】
電流センサ18は、例えば、CT(変流器)である。電流センサ18は、スイッチング回路14とモータ10とを接続する3相交流電源線の各々に設けられる。電流センサ18は、モータ10の各相に実際に流れる電流の電流値(以後、実電流値と呼ぶ場合がある)を検出する。
【0021】
回転位置センサ20は、例えば、レゾルバなどである。回転位置センサ20は、モータ10の回転軸に取り付けられる。回転位置センサ20は、モータ10の回転子の回転位置θmを検出する。回転位置θmは、機械角を示す。
【0022】
車両制御部22は、例えば、電子コントロールユニット(ECU)である。車両制御部22は、中央処理装置(CPU)、プログラム等が格納されたROM、ワークエリアとしてのRAM等を含む半導体集積回路から構成される。車両制御部22は、車両1における駆動制御、制動制御および操舵制御など、車両1全体を制御する。車両制御部22は、アクセル開度に従って要求トルクを導出する。車両制御部22は、要求トルクに従って、モータ10の目標トルクを指示するトルク指令値を導出してベクトル制御部24に送信する。
【0023】
ベクトル制御部24は、中央処理装置(CPU)、プログラム等が格納されたROM、ワークエリアとしてのRAM等を含む半導体集積回路から構成される。ベクトル制御部24は、車両制御部22から送信されるトルク指令値に従ってモータ10のベクトル制御を行い、ゲートドライバ26にスイッチング回路14を駆動させる。ベクトル制御部24については、後に詳述する。
【0024】
ゲートドライバ26は、スイッチング回路14のスイッチング素子のゲートに接続される。ゲートドライバ26は、ベクトル制御部24による制御の下、スイッチング素子をオンオフさせることでスイッチング回路14を駆動する。
【0025】
ゲートドライバ26は、キャリア信号生成部30およびゲート信号生成部32を含む。キャリア信号生成部30は、ベクトル制御部24からキャリア周波数指令値を取得する。キャリア信号生成部30は、キャリア周波数指令値で示される周波数のキャリア信号を生成する。キャリア信号は、例えば、三角波である。以後、キャリア信号の周波数を、キャリア周波数と呼ぶ場合がある。
【0026】
ゲート信号生成部32は、モータ10の各相に印加する電圧を指示する3相(UVW)の電圧指令値(U相電圧指令値Vu、V相電圧指令値Vv、W相電圧指令値Vw)をベクトル制御部24から取得する。ゲート信号生成部32は、各相の電圧指令値をキャリア信号でパルス幅変調(PWM)して各相のゲート信号を生成する。ゲートドライバ26は、生成された各相のゲート信号を各相のスイッチング素子のゲートに送信する。スイッチング素子は、ゲート信号に従ってオンオフされる。
【0027】
次に、ベクトル制御部24について説明する。ベクトル制御部24は、プログラムを実行することで、電気角導出部40、回転速度導出部42、キャリア周波数選択部44、トルク指令値変換部46、フィードバック制御部48、2相3相変換部50、3相2相変換部52およびフィードバック電流値導出部54として機能する。
【0028】
電気角導出部40は、モータ10の回転子の現在の回転位置(機械角)θmを回転位置センサ20から取得する。電気角導出部40は、取得された回転位置(機械角)θmおよびモータ10の極数に基づいて、モータ10における回転磁界の角度を示す電気角θreを導出する。
【0029】
回転速度導出部42は、電気角導出部40から現在の電気角θreを取得し、取得された電気角θreに基づいて、モータ10の回転速度ωを導出する。
【0030】
キャリア周波数選択部44は、車両制御部22からトルク指令値を取得し、回転速度導出部42からモータ10の回転速度ωを取得する。キャリア周波数選択部44には、トルク指令値、モータ10の回転速度ωおよびキャリア周波数指令値が関連付けられたキャリア周波数選択マップが記憶されている。キャリア周波数選択部44は、取得されたトルク指令値およびモータ10の回転速度ωをキャリア周波数選択マップに適用して、ゲートドライバ26におけるキャリア周波数を指示するキャリア周波数指令値を導出する。
【0031】
キャリア周波数選択マップにおいて、キャリア周波数指令値(キャリア周波数)は、モータ10から発生する振動騒音やシステム効率を踏まえ、最適な値に設定されている。
【0032】
トルク指令値変換部46は、車両制御部22からトルク指令値を取得する。トルク指令値変換部46には、トルク指令値、d軸電流指令値Idおよびq軸電流指令値Iqが関連付けられたトルク指令値変換マップが記憶されている。トルク指令値変換部46は、取得されたトルク指令値をトルク指令値変換マップに適用し、d軸電流指令値Idおよびq軸電流指令値Iqを導出する。d軸電流指令値Idおよびq軸電流指令値Iqは、モータ10に流す電流を指示する電流指令値をd軸およびq軸で示すものである。なお、d軸は、回転磁界の磁束方向を示し、q軸は、回転磁界の磁束方向に対して垂直方向を示す。
【0033】
フィードバック制御部48は、トルク指令値変換部46からd軸電流指令値およびq軸電流指令値を取得し、回転速度導出部42からモータ10の回転速度ωを取得し、d軸フィードバック電流値IdFB、q軸フィードバック電流値IqFBを取得する。
【0034】
以下、d軸フィードバック電流値IdFBおよびq軸フィードバック電流値IqFBを総称して、フィードバック電流値と呼ぶ場合がある。フィードバック電流値は、モータ10に流れる電流に対応する。フィードバック電流値については、後に詳述する。
【0035】
フィードバック制御部48は、d軸電流指令値Id、q軸電流指令値Iq、d軸フィードバック電流値IdFB、q軸フィードバック電流値IqFBおよびモータ10の回転速度ωに基づき、例えば、d軸電流指令値Idからd軸フィードバック電流値IdFBを減算およびq軸電流指令値Iqからq軸フィードバック電流値IqFBを減算して、d軸電圧指令値Vdおよびq軸電圧指令値Vqを導出する。d軸電圧指令値Vdおよびq軸電圧指令値Vqは、モータ10に印加する電圧を指示する電圧指令値をd軸およびq軸で示すものである。
【0036】
2相3相変換部50は、d軸電圧指令値Vdおよびq軸電圧指令値Vqをフィードバック制御部48から取得し、電気角θreを電気角導出部40から取得する。2相3相変換部50は、d軸電圧指令値Vdおよびq軸電圧指令値Vqを、現在の電気角θreに基づいて、U相電圧指令値Vu、V相電圧指令値VvおよびW相電圧指令値Vwに変換する。U相電圧指令値Vu、V相電圧指令値VvおよびW相電圧指令値Vwは、モータ10に印加する電圧の電圧値をモータ10のU相V相W相で指示するものである。
【0037】
U相電圧指令値Vu、V相電圧指令値VvおよびW相電圧指令値Vwは、ゲートドライバ26のゲート信号生成部32に送信される。そして、上述のように、ゲート信号生成部32は、U相電圧指令値Vuとキャリア信号とからU相ゲート信号を生成し、V相電圧指令値Vvとキャリア信号とからV相ゲート信号を生成し、W相電圧指令値Vwとキャリア信号とからW相ゲート信号を生成する。
【0038】
3相2相変換部52は、U相実電流値IuをU相の電流センサ18から取得し、V相実電流値IvをV相の電流センサ18から取得し、W相実電流値IwをW相の電流センサ18から取得し、電気角θreを電気角導出部40から取得する。3相2相変換部52は、U相実電流値Iu、V相実電流値IvおよびW相実電流値Iwを、現在の電気角θreに基づいて、d軸実電流値Idrおよびq軸実電流値Iqrに変換する。d軸実電流値Idrおよびq軸実電流値Iqrは、電流センサ18で検出された実電流値をd軸およびq軸で示すものである。
【0039】
フィードバック電流値導出部54は、ゲートドライバ26のキャリア信号生成部30からキャリア信号を取得し、キャリア周波数選択部44からキャリア周波数指令値を取得し、3相2相変換部52からd軸実電流値Idrおよびq軸実電流値Iqrを取得し、回転速度導出部42から回転速度ωを取得し、フィードバック制御部48からd軸電圧指令値Vdおよびq軸電圧指令値Vqを取得する。
【0040】
フィードバック電流値導出部54は、後述する所定条件の下、上述の各情報に基づいて、d軸フィードバック電流値IdFBおよびq軸フィードバック電流値IqFBを導出する。
【0041】
図2は、モータ10の実電流値の一例を説明する図である。
図2では、3相のうち代表してV相について説明する。
図2において、実線60は、キャリア信号を示しており、実線62は、V相電圧指令値Vvを示しており、実線64は、V相ゲート信号を示しており、実線66は、V相実電流値Ivを示している。
【0042】
図2に示すように、V相ゲート信号は、V相電圧指令値Vvがキャリア信号以上の場合、Hレベルとされ、V相電圧指令値Vvがキャリア信号より小さい場合、Lレベルとされる。V相ゲート信号がHレベルの場合、V相スイッチング素子がオンされ、V相実電流値Ivが上昇する。一方、V相ゲート信号がLレベルの場合、V相スイッチング素子がオフされ、V相実電流値Ivが下降する。そうすると、V相実電流値Ivは、全体的には、V相電圧指令値Vvの周波数と同様の周波数で振幅が変化する。しかし、スイッチング素子のオンオフによってV相実電流値Ivが上昇および下降を繰り返すことで、V相実電流値Ivには、V相実電流値Ivの周波数(V相電圧指令値Vvの周波数)より高い周波数で振幅がさざ波のように変化するリプル(脈動)が生じる。
【0043】
上述のように、キャリア信号のキャリア周波数は、トルク指令値およびモータ10の回転速度ωに従って変化する。ここで、V相電圧指令値Vvの周波数に対して、キャリア信号のキャリア周波数が比較的高かったとする。この場合、V相電圧指令値Vvがキャリア信号と比較されることで生成されるV相ゲート信号の周波数が高くなるため、V相ゲート信号によるスイッチング素子のスイッチング周波数も高くなる。そうすると、V相実電流値Ivは、上昇および下降がV相ゲート信号により細かく制御されることとなる。その結果、V相実電流値Ivのリプル(脈動)が小さくなる。なお、V相に限らず、U相およびW相も同様である。実電流値のリプル(脈動)が小さくなると、モータ10に流れる電流の基本波成分を示す基本波電流値と、実電流値との誤差を小さくできる。
【0044】
これに対して、V相電圧指令値Vvの周波数に対して、キャリア信号のキャリア周波数が比較的低かったとする。この場合、V相電圧指令値Vvがキャリア信号と比較されることで生成されるV相ゲート信号の周波数が低くなるため、V相ゲート信号によるスイッチング素子のスイッチング周波数も低くなる。そうすると、V相実電流値Ivは、上昇および下降がV相ゲート信号によって粗く制御されることとなる。その結果、V相実電流値Ivのリプル(脈動)が大きくなる。なお、V相に限らず、U相およびW相も同様である。実電流値のリプル(脈動)が大きくなると、モータ10に流れる電流の基本波成分を示す基本波電流値と、実電流値との誤差が大きくなるおそれがある。
【0045】
図3は、キャリア周波数が比較的高い場合において、実電流値の取得タイミングを説明する図である。
図3では、3相のうち代表してV相について説明する。
【0046】
ここで、キャリア信号において、振幅が上昇から下降に変化するタイミングを、山部70と呼び、振幅が下降から上昇に変化するタイミングを、谷部72と呼ぶ場合がある。
【0047】
ベクトル制御では、一般的に、キャリア信号の山部70のタイミングで実電流値が取得され、取得された実電流値に基づいてフィードバック制御が行われる。実電流値の取得をキャリア信号に同期させる理由は、キャリア信号に基づいてスイッチング素子のスイッチングが行われており、モータ10にはスイッチング素子のスイッチングに従った電流が流れるからである。
【0048】
図3では、山部70のタイミングで取得される実電流値を黒丸印74で示している。また、
図3では、V相基本波電流値を一点鎖線76で示している。
【0049】
上述のように、キャリア周波数が比較的高い場合、V相実電流値Ivのリプル(脈動)が小さくなり、V相基本波電流値とV相実電流値Ivとの誤差を小さくできる。このため、
図3に示すように、キャリア周波数が比較的高い場合、キャリア信号の山部70のタイミングにおいて、V相基本波電流値(一点鎖線76)に近似するV相実電流値Iv(黒丸印74)を取得可能である。その結果、キャリア周波数が比較的高い場合、フィードバック制御部48におけるフィードバック制御を精度よく行うことができる。
【0050】
また、
図3に示すように、キャリア周波数が比較的高い場合、V相電圧指令値Vvの1周期あたりの山部70の回数が多いため、V相基本波電流値の1周期あたりのV相実電流値Ivを多く取得できる。これにより、キャリア周波数が比較的高い場合、単位時間あたりのV相実電流値Ivのサンプル数が多くなり(V相実電流値Ivのサンプリング周波数が高くなり)、フィードバック制御を精度よく行うことができる。
【0051】
これに対し、
図4は、キャリア周波数が比較的低い場合において、実電流値の取得タイミングを説明する図である。
図4では、3相のうち代表してV相について説明する。
【0052】
上述のように、キャリア周波数が比較的低い場合、V相実電流値Ivのリプル(脈動)が大きくなり、V相基本波電流値とV相実電流値Ivとの誤差が大きくなるおそれがある。このため、
図4に示すように、キャリア周波数が比較的低い場合、キャリア信号の山部70のタイミングにおいて、V相基本波電流値(一点鎖線76)から絶対値が上下にばらついたV相実電流値Iv(黒丸印74)を取得してしまうことがある。このため、キャリア周波数が比較的低い場合、V相実電流値Ivの精度に起因して、フィードバック制御部48におけるフィードバック制御の精度が低下するおそれがある。
【0053】
また、
図4に示すように、キャリア周波数が比較的低い場合、V相電圧指令値Vvの1周期あたりの山部70の回数が少ないため、V相基本波電流値の1周期あたりのV相実電流値Ivの取得数が少なくなってしまう。これにより、キャリア周波数が比較的低い場合、単位時間あたりのV相実電流値Ivのサンプル数が少なくなり(V相実電流値Ivのサンプリング周波数が低くなり)、フィードバック制御の精度が低下するおそれがある。
【0054】
そこで、本実施形態のベクトル制御部24は、キャリア周波数の高低によって、フィードバック制御に用いるフィードバック電流値を異なる導出方法で導出するフィードバック電流値導出部54を含んでいる。
【0055】
図5は、フィードバック電流値の導出方法を説明する図である。フィードバック電流値導出部54は、キャリア信号の山部70および谷部72の各々において、フィードバック電流値の導出に関する割り込み制御を行う。このため、フィードバック電流値導出部54は、ゲートドライバ26から現在のキャリア信号を取得し、山部70および谷部72のタイミングを判断する。
【0056】
また、フィードバック電流値導出部54は、山部70または谷部72のタイミングとなると、キャリア周波数選択部44から現在のキャリア周波数指令値を取得し、現在のキャリア周波数が所定値以下であるか否かを判断する。所定周波数は、実電流値のリプル(脈動)の程度を考慮して予め設定される。フィードバック電流値導出部54では、キャリア周波数が所定値以下であるか否かによって、フィードバック電流値の導出方法が異なる。
【0057】
フィードバック電流値導出部54は、山部70のタイミングでキャリア周波数が所定周波数より高い場合、電流センサ18で検出された実電流値をフィードバック電流値とする。具体的には、フィードバック電流値導出部54は、3相2相変換部52で変換された後のd軸実電流値Idrをd軸フィードバック電流値IdFBとし、q軸実電流値Iqrをq軸フィードバック電流値IqFBとする。つまり、山部70のタイミングでキャリア周波数が所定周波数より高い場合は、実電流値のリプル(脈動)が小さいため、実電流値がフィードバック電流値とされる。
【0058】
フィードバック電流値導出部54は、山部70のタイミングでキャリア周波数が所定周波数以下の場合、モータ10に流れる電流の推定値である推定電流値を導出する。具体的には、フィードバック電流値導出部54は、以下の数式1に、d軸電圧指令値Vd、q軸電圧指令値Vq、回転速度ωおよびモータ定数を適用して、d軸推定電流値Id2およびq軸推定電流値Iq2を導出する。なお、モータ定数のうち、Rは巻線抵抗、Lはインダクタンス、Kは誘起電圧定数である。
【数1】
【0059】
そして、フィードバック電流値導出部54は、導出された推定電流値(d軸推定電流値Id2およびq軸推定電流値Iq2)と、実電流値(d軸実電流値Idrおよびq軸実電流値Iqr)とを平均した平均電流値(d軸平均電流値Idaおよびq軸平均電流値Iqa)をフィードバック電流値(d軸フィードバック電流値IdFBおよびq軸フィードバック電流値IqFB)とする。これにより、実電流値が基本波電流値からばらついていたとしても、フィードバック電流値の精度の低下を抑制できる。
【0060】
また、フィードバック電流値導出部54は、谷部72のタイミングでキャリア周波数が所定周波数より高い場合、フィードバック電流値の導出を行わない。キャリア周波数が所定周波数より高い場合、山部70におけるフィードバック電流値のサンプリング周波数で、十分に精度の高いフィードバック制御を行うことができる。また、キャリア周波数が所定周波数より高い場合に谷部72においてもフィードバック電流値を導出すると仮定した場合、フィードバック電流値のサンプリング周波数が高くなり過ぎて、逆に、処理負荷が増大するおそれがある。このため、谷部72のタイミングにおいてキャリア周波数が所定周波数より高い場合、フィードバック電流値の導出を行わないようにする。
【0061】
また、フィードバック電流値導出部54は、谷部72のタイミングでキャリア周波数が所定周波数より低い場合、その時点における推定電流値を導出する。推定電流値は、上述の数式1を用いて導出される。
【0062】
そして、フィードバック電流値導出部54は、谷部72のタイミングで導出された推定電流値(d軸推定電流値Id2およびq軸推定電流値Iq2)に山部70のタイミングで導出された補正用電流値(d軸補正用電流値Idcおよびq軸補正用電流値Iqc)を加算して補間電流値(d軸補間電流値Idpおよびq軸補間電流値Iqp)を導出し、導出された補間電流値をフィードバック電流値とする。
【0063】
谷部72において補間電流値を導出可能とするために、フィードバック電流値導出部54は、今回の谷部72のタイミングと前回の谷部72のタイミングとの間において到来した直前の山部70のタイミングにおいて、補正用電流値を予め導出しておく。フィードバック電流値導出部54は、山部70のタイミングにおける平均電流値(d軸平均電流値Idaおよびq軸平均電流値Iqa)に、山部70のタイミングにおける実電流値(d軸実電流値Idrおよびq軸実電流値Iqr)を減算することで、山部70のタイミングにおける補正用電流値(d軸補正用電流値Idcおよびq軸補正用電流値Iqc)を導出する。
【0064】
谷部72のタイミングでキャリア周波数が所定周波数より低い場合、補間電流値がフィードバック電流値として導出されるため、フィードバック電流値のサンプリング周波数が高くなる。そして、フィードバック制御部48は、谷部72のタイミングにおいて更新されたフィードバック電流値を用いてフィードバック制御を行う。このため、フィードバック制御の精度を向上させることが可能となる。
【0065】
上述のように、谷部72のタイミングでキャリア周波数が所定周波数より低い場合、谷部72での推定電流値が山部70での補正用電流値で補正される。ここで、キャリア周波数が所定周波数より低い場合、実電流値は、山部70のタイミングと谷部72のタイミングとで、基本波電流値以上の値と基本波電流値以下の値とを交互に繰り返すと推定される。このため、谷部72での推定電流値に山部70での補正用電流値を加算することで、谷部72での推定電流値を基本波電流値に、より近似させることができる。
【0066】
なお、谷部72のタイミングでキャリア周波数が所定周波数より低い場合、フィードバック電流値導出部54は、補正用電流値での補正を省略し、谷部72での推定電流値をフィードバック電流値としてもよい。この態様では、少なくとも谷部72のタイミングにおいてフィードバック電流値が更新されるため、フィードバック制御の精度を向上させつつ、補正用電流値の導出を行わない分だけ処理負荷を抑えることができる。
【0067】
図6は、キャリア信号が山部70のタイミングのときのフィードバック電流値導出部54の動作の流れを説明するフローチャートである。フィードバック電流値導出部54は、所定制御周期でゲートドライバ26からキャリア信号を取得し、キャリア信号が山部70となったか否かを判断する。キャリア信号が山部70となった場合、フィードバック電流値導出部54は、割り込み制御で
図6の一連の処理を行う。なお、
図6では、フィードバック電流値をFB電流値と略記している。
【0068】
まず、フィードバック電流値導出部54は、3相2相変換部52に、電流センサ18からU相実電流値Iu、V相実電流値IvおよびW相実電流値Iwを取得させる。3相2相変換部52は、U相実電流値Iu、V相実電流値IvおよびW相実電流値Iwについて3相2相変換を行い、d軸実電流値Idrおよびq軸実電流値Iqrを導出する。そして、フィードバック電流値導出部54は、導出されたd軸実電流値Idrおよびq軸実電流値Iqrを3相2相変換部52から取得する(S100)。
【0069】
次に、フィードバック電流値導出部54は、キャリア周波数選択部44から現在のキャリア周波数を取得する(S110)。
【0070】
次に、フィードバック電流値導出部54は、現在のキャリア周波数が所定周波数以下であるか否かを判断する(S120)。
【0071】
現在のキャリア周波数が所定周波数以下ではない場合(S120におけるNO)、フィードバック電流値導出部54は、取得したd軸実電流値Idrを現在のd軸フィードバック電流値IdFBに設定し、取得したq軸実電流値Iqrを現在のq軸フィードバック電流値IqFBに設定する(S130)。そして、フィードバック電流値導出部54は、設定された現在のd軸フィードバック電流値IdFBおよびq軸フィードバック電流値IqFBをフィードバック制御部48に送信し(S140)、一連の処理を終了する。この場合、フィードバック制御部48は、更新されたd軸実電流値Idrおよびq軸実電流値Iqrに基づいてフィードバック制御を行うこととなる。
【0072】
現在のキャリア周波数が所定周波数以下である場合(S120におけるYES)、フィードバック電流値導出部54は、現在のd軸電圧指令値Vdおよびq軸電圧指令値Vqをフィードバック制御部48から取得し、現在の回転速度ωを回転速度導出部42から取得する(S200)。
【0073】
次に、フィードバック電流値導出部54は、d軸電圧指令値Vd、q軸電圧指令値Vq、回転速度ωおよびモータ定数を上述の数1に適用して、現在のd軸推定電流値Id2およびq軸推定電流値Iq2を導出する(S210)。
【0074】
次に、フィードバック電流値導出部54は、d軸推定電流値Id2とd軸実電流値Idrとを平均したd軸平均電流値Idaを導出し、q軸推定電流値Iq2とq軸実電流値Iqrとを平均したq軸平均電流値Iqaを導出する(S220)。
【0075】
次に、フィードバック電流値導出部54は、導出されたd軸平均電流値Idaをd軸フィードバック電流値IdFBに設定し、導出されたq軸平均電流値Iqaをq軸フィードバック電流値IqFBに設定する(S230)。
【0076】
次に、フィードバック電流値導出部54は、d軸平均電流値Idaとd軸実電流値Idrとの差分をd軸補正用電流値Idcとして導出し、q軸平均電流値Iqaとq軸実電流値Iqrとの差分をq軸補正用電流値Iqcとして導出する(S240)。導出されたd軸補正用電流値Idcおよびq軸補正用電流値Iqcは、レジスタなどの記憶領域に記憶され、谷部72のタイミングにおいて利用される。
【0077】
次に、フィードバック電流値導出部54は、ステップS230で設定された現在のd軸フィードバック電流値IdFBおよびq軸フィードバック電流値IqFBをフィードバック制御部48に送信し(S140)、一連の処理を終了する。この場合、フィードバック制御部48は、d軸平均電流値Idaおよびq軸平均電流値Iqaに基づいてフィードバック制御を行うこととなる。
【0078】
図7は、キャリア信号が谷部72のタイミングのときのフィードバック電流値導出部54の動作の流れを説明するフローチャートである。フィードバック電流値導出部54は、所定制御周期でゲートドライバ26からキャリア信号を取得し、キャリア信号が谷部72となったか否かを判断する。キャリア信号が谷部72となった場合、フィードバック電流値導出部54は、割り込み制御で
図7の一連の処理を行う。なお、
図7では、フィードバック電流値をFB電流値と略記している。
【0079】
まず、フィードバック電流値導出部54は、キャリア周波数選択部44から現在のキャリア周波数を取得する(S300)。
【0080】
次に、フィードバック電流値導出部54は、現在のキャリア周波数が所定周波数以下であるか否かを判断する(S310)。現在のキャリア周波数が所定周波数以下ではない場合(S310におけるNO)、フィードバック電流値導出部54は、一連の処理を終了する。この場合、谷部72におけるフィードバック電流値は導出されない。
【0081】
現在のキャリア周波数が所定周波数以下である場合(S310におけるYES)、フィードバック電流値導出部54は、現在のd軸電圧指令値Vdおよびq軸電圧指令値Vqをフィードバック制御部48から取得し、現在の回転速度ωを回転速度導出部42から取得する(S320)。
【0082】
次に、フィードバック電流値導出部54は、現在のd軸電圧指令値Vd、q軸電圧指令値Vq、回転速度ωおよびモータ定数を上述の数1に適用して、現在のd軸推定電流値Id2およびq軸推定電流値Iq2を導出する(S330)。
【0083】
次に、フィードバック電流値導出部54は、直前の山部70で導出されたd軸補正用電流値Idcおよびq軸補正用電流値Iqcを記憶領域から読み出し、直前の山部70におけるd軸補正用電流値Idcで現在のd軸推定電流値Id2を補正することでd軸補間電流値Idpを導出し、直前の山部70におけるq軸補正用電流値Iqcで現在のq軸推定電流値Iq2を補正することでq軸補間電流値Iqpを導出する(S340)。
【0084】
次に、フィードバック電流値導出部54は、導出されたd軸補間電流値Idpをd軸フィードバック電流値IdFBに設定し、q軸補間電流値Iqpをq軸フィードバック電流値IqFBに設定する(S350)。そして、フィードバック電流値導出部54は、設定された現在のd軸フィードバック電流値IdFBおよびq軸フィードバック電流値IqFBをフィードバック制御部48に送信し(S360)、一連の処理を終了する。この場合、フィードバック制御部48は、谷部72において導出されたフィードバック電流値を用いてフィードバック制御を行う。
【0085】
以上のように、本実施形態の車両1では、モータ10のベクトル制御において、キャリア周波数が所定周波数以下の場合、電圧指令値およびモータ10の回転速度ωに基づいて推定電流値が導出され、推定電流値に基づいてフィードバック電流値が導出される。このため、本実施形態の車両1では、モータ10に流れる電流の本来の電流値と実際に検出される実電流値との誤差が大きくなったとしても、フィードバック制御の精度の低下を抑制することができる。
【0086】
したがって、本実施形態の車両1によれば、車輪12を駆動するモータ10を高精度で制御可能となる。
【0087】
また、本実施形態の車両1のフィードバック電流値導出部54は、山部70のタイミングにおいて、キャリア周波数が所定周波数より高い場合、実電流値をフィードバック電流値とし、キャリア周波数が所定周波数以下の場合、実電流値と現在の推定電流値とを平均した平均電流値をフィードバック電流値とする。このため、本実施形態の車両1では、山部70のタイミングにおけるフィードバック電流値の精度の低下を抑制することができる。
【0088】
また、本実施形態の車両1のフィードバック電流値導出部54は、谷部72のタイミングにおいて、キャリア周波数が所定周波数より高い場合、フィードバック電流値を導出せず、キャリア周波数が所定周波数以下の場合、現在の推定電流値をフィードバック電流値とする。このため、本実施形態の車両1では、キャリア周波数が所定周波数より高い場合には、処理負荷の増加を抑制することができ、キャリア周波数が所定周波数より低い場合には、フィードバック電流値の単位時間あたりの導出回数の増加によるフィードバック制御の精度を向上させることができる。
【0089】
また、本実施形態の車両1のフィードバック電流値導出部54は、山部70のタイミングにおいて、平均電流値と実電流値との差分を補正用電流値として導出し、谷部72のタイミングにおいて、谷部72のタイミングにおける推定電流値を山部70のタイミングにおける補正用電流値で補正してフィードバック電流値とする。このため、本実施形態の車両1では、谷部72のタイミングにおけるフィードバック電流値を、より精度よく導出することができる。
【0090】
以上、添付図面を参照しながら本発明の実施形態について説明したが、本発明はかかる実施形態に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
【産業上の利用可能性】
【0091】
本発明は、モータによって駆動される車両に利用できる。
【符号の説明】
【0092】
1 車両
10 モータ
14 スイッチング回路
18 電流センサ
24 ベクトル制御部
26 ゲートドライバ
48 フィードバック制御部
54 フィードバック電流値導出部