IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 三菱重工業株式会社の特許一覧

特開2024-148222制御装置、モータシステム、処理方法、およびプログラム
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024148222
(43)【公開日】2024-10-18
(54)【発明の名称】制御装置、モータシステム、処理方法、およびプログラム
(51)【国際特許分類】
   H02P 21/05 20060101AFI20241010BHJP
【FI】
H02P21/05
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2023061156
(22)【出願日】2023-04-05
(71)【出願人】
【識別番号】000006208
【氏名又は名称】三菱重工業株式会社
(74)【代理人】
【識別番号】100149548
【弁理士】
【氏名又は名称】松沼 泰史
(74)【代理人】
【識別番号】100162868
【弁理士】
【氏名又は名称】伊藤 英輔
(74)【代理人】
【識別番号】100161702
【弁理士】
【氏名又は名称】橋本 宏之
(74)【代理人】
【識別番号】100189348
【弁理士】
【氏名又は名称】古都 智
(74)【代理人】
【識別番号】100196689
【弁理士】
【氏名又は名称】鎌田 康一郎
(72)【発明者】
【氏名】舟山 智歌子
(72)【発明者】
【氏名】井村 彰宏
(72)【発明者】
【氏名】矢崎 裕一朗
(72)【発明者】
【氏名】上前 涼
【テーマコード(参考)】
5H505
【Fターム(参考)】
5H505EE41
5H505EE49
5H505EE55
5H505GG02
5H505GG04
5H505GG07
5H505HB01
5H505JJ28
5H505LL07
5H505LL22
5H505LL24
5H505LL41
(57)【要約】
【課題】ベクトル制御の電圧指令にリプル成分が重畳される場合も、ベクトル制御から電圧位相制御への切り替え時に、トルク、回転数変動を抑制し、安定にモータを制御することができる制御装置を提供する。
【解決手段】制御装置は、モータの駆動状態に応じて前記モータを制御するためのベクトル制御と電圧位相制御とを切り替える制御装置であって、前記モータを駆動するインバータに入力される直流電圧と前記モータの駆動回転数とに応じて決定される制限値が設けられ、前記ベクトル制御から前記電圧位相制御に切り替わる場合、入力された値を前記制限値で制限して前記電圧位相制御に用いられる制御器の初期値を生成するリミッタ、を備える。
【選択図】図1
【特許請求の範囲】
【請求項1】
モータの駆動状態に応じて前記モータを制御するためのベクトル制御と電圧位相制御とを切り替える制御装置であって、
前記モータを駆動するインバータに入力される直流電圧と前記モータの駆動回転数とに応じて決定される制限値が設けられ、前記ベクトル制御から前記電圧位相制御に切り替わる場合、入力された値を前記制限値で制限して前記電圧位相制御に用いられる制御器の初期値を生成するリミッタ、
を備える制御装置。
【請求項2】
前記制限値は、
前記駆動回転数および前記直流電圧から算出される前記モータのトルクと電圧位相との関係を表す関数の極値となる電圧位相に基づいて決定される値である、
請求項1に記載の制御装置。
【請求項3】
前記制限値は、
前記駆動回転数の範囲および前記直流電圧の範囲により予め決定された定数である、
請求項1に記載の制御装置。
【請求項4】
前記制限値は、
前記駆動回転数および前記直流電圧に応じて演算される変数である、
請求項1に記載の制御装置。
【請求項5】
請求項1から請求項4の何れか一項に記載の制御装置と、
前記制御装置の出力に基づいて動作するモータと、
を備えるモータシステム。
【請求項6】
モータの駆動状態に応じて前記モータを制御するためのベクトル制御と電圧位相制御とを切り替える制御装置が実行する処理方法であって、
前記モータを駆動するインバータに入力される直流電圧と前記モータの駆動回転数とに応じて決定される制限値が設けられ、前記ベクトル制御から前記電圧位相制御に切り替わる場合、入力された値を前記制限値で制限して前記電圧位相制御に用いられる制御器の初期値を生成すること、
を含む処理方法。
【請求項7】
モータの駆動状態に応じて前記モータを制御するためのベクトル制御と電圧位相制御とを切り替える制御装置のコンピュータに、
前記モータを駆動するインバータに入力される直流電圧と前記モータの駆動回転数とに応じて決定される制限値が設けられ、前記ベクトル制御から前記電圧位相制御に切り替わる場合、入力された値を前記制限値で制限して前記電圧位相制御に用いられる制御器の初期値を生成すること、
を実行させるプログラム。
【請求項8】
モータの駆動状態に応じて前記モータを制御するためのベクトル制御と電圧位相制御とを切り替える制御装置であって、
前記モータを駆動するインバータに入力される直流電圧と前記モータの駆動回転数とに応じて決定される制限値が設けられ、積分値を前記制限値で制限して前記電圧位相制御に用いられる制御器の積分器の出力を制限するリミッタ、
を備える制御装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、制御装置、モータシステム、処理方法、およびプログラムに関する。
【背景技術】
【0002】
モータを制御する方法として、フィードバック型の電圧位相制御とベクトル制御とを切り替える方法がある。特許文献1には、関連する技術として、制御を切り替える際に切り替え初期値を設定する技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2007-143235号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
先行技術の手法では、ベクトル制御から電圧位相制御へ切り替える際に、直前のベクトル制御の電圧指令値から電圧指令位相を導出して、その値を用いて、電圧位相制御の切り替え初期値を演算している。ところで、電圧位相とモータのトルクとの関係には、電圧位相を増加させたときにトルクが増加する領域とトルクが低下する領域がある。安定に制御するためには、この関係を考慮し、電圧位相が増加したときに、トルクも増加する領域の電圧位相で電圧位相制御をすることが望ましい。電流検出器の誤差や過変調域での駆動等により、モータ電流にリプルが重畳される場合、ベクトル制御の電圧指令にもリプル成分が重畳されることがある。電圧位相制御の初期化のためにその電圧指令から演算される電圧指令位相値にもリプルが重畳する。そのような場合に、ベクトル制御から電圧位相制御へ切り替える際、電圧位相制御で安定に制御可能な位相範囲を超えた位相値が切り替え初期値として演算されることがある。その結果、ベクトル制御から電圧位相制御への切り替え時にトルク、回転数変動が発生し、シームレスな動作とならない場合や制御が不安定化する場合がある。
【0005】
そこで、ベクトル制御の電圧指令にリプル成分が重畳される場合も、ベクトル制御から電圧位相制御への切り替え時に、トルク、回転数変動を抑制し、安定にモータを制御することのできる技術が求められている。
【0006】
本開示は、上記課題を解決するためになされたものであって、ベクトル制御の電圧指令にリプル成分が重畳される場合も、ベクトル制御から電圧位相制御への切り替え時に、トルク、回転数変動を抑制し、安定にモータを制御することのできる制御装置、モータシステム、処理方法、およびプログラムを提供することを目的としている。
【課題を解決するための手段】
【0007】
上記課題を解決するために、本開示に係る制御装置は、モータの駆動状態に応じて前記モータを制御するためのベクトル制御と電圧位相制御とを切り替える制御装置であって、前記モータを駆動するインバータに入力される直流電圧と前記モータの駆動回転数とに応じて決定される制限値が設けられ、前記ベクトル制御から前記電圧位相制御に切り替わる場合、入力された値を前記制限値で制限して前記電圧位相制御に用いられる制御器の初期値を生成するリミッタ、を備える。
【0008】
本開示に係るモータシステムは、前記制御装置と、前記制御装置の出力に基づいて動作するモータと、を備える。
【0009】
本開示に係る処理方法は、モータの駆動状態に応じて前記モータを制御するためのベクトル制御と電圧位相制御とを切り替える制御装置が実行する処理方法であって、前記モータを駆動するインバータに入力される直流電圧と前記モータの駆動回転数とに応じて決定される制限値が設けられ、前記ベクトル制御から前記電圧位相制御に切り替わる場合、入力された値を前記制限値で制限して前記電圧位相制御に用いられる制御器の初期値を生成すること、を含む。
【0010】
本開示に係るプログラムは、モータの駆動状態に応じて前記モータを制御するためのベクトル制御と電圧位相制御とを切り替える制御装置のコンピュータに、前記モータを駆動するインバータに入力される直流電圧と前記モータの駆動回転数とに応じて決定される制限値が設けられ、前記ベクトル制御から前記電圧位相制御に切り替わる場合、入力された値を前記制限値で制限して前記電圧位相制御に用いられる制御器の初期値を生成すること、を実行させる。
【0011】
本開示に係る制御装置は、モータの駆動状態に応じて前記モータを制御するためのベクトル制御と電圧位相制御とを切り替える制御装置であって、前記モータを駆動するインバータに入力される直流電圧と前記モータの駆動回転数とに応じて決定される制限値が設けられ、積分値を前記制限値で制限して前記電圧位相制御に用いられる制御器の積分器の出力を制限するリミッタ、を備える。
【発明の効果】
【0012】
本開示に係る制御装置、モータシステム、処理方法、およびプログラムによれば、ベクトル制御の電圧指令にリプル成分が重畳される場合も、ベクトル制御から電圧位相制御への切り替え時に、トルク、回転数変動を抑制し、安定にモータを制御することができる。
【図面の簡単な説明】
【0013】
図1】本開示の第1実施形態によるモータシステムの構成の一例を示す図である。
図2】本開示の第1実施形態によるインバータの構成の一例を示す図である。
図3】本開示の第1実施形態による処理部F82の構成の一例を示す図である。
図4】本開示の第1実施形態による処理部F93の構成の一例を示す図である。
図5】本開示の第1実施形態による処理部F96の構成の一例を示す図である。
図6】本開示の第1実施形態による処理部F81の構成の一例を示す図である。
図7】本開示の第1実施形態による処理部F91の構成の一例を示す図である。
図8】本開示の第1実施形態による処理部F92の構成の一例を示す図である。
図9】本開示の第1実施形態によるモータシステムの処理フローの第1の例を示す図である。
図10】本開示の第1実施形態によるモータシステムの処理フローの第2の例を示す図である。
図11】本開示の第1実施形態によるモータシステムの処理フローの第3の例を示す図である。
図12】本開示の第1実施形態における電圧位相とトルクとの関係の一例を示す図である。
図13】本開示の第1実施形態の第1変形例による処理部F91の構成の一例を示す図である。
図14】本開示の第1実施形態の第1変形例による処理部F91の処理フローの一例を示す図である。
図15】本開示の第1実施形態の第2変形例による処理部F92の構成の一例を示す図である。
図16】本開示の第1実施形態の第2変形例による処理部F92の処理フローの一例を示す図である。
図17】本開示の第2実施形態による処理部F93の構成の一例を示す図である。
図18】本開示の第2実施形態による処理部F91の構成の一例を示す図である。
図19】本開示の第2実施形態による処理部F92の構成の一例を示す図である。
図20】本開示の第2実施形態によるモータシステムの処理フローの第1の例を示す図である。
図21】本開示の第2実施形態によるモータシステムの処理フローの第2の例を示す図である。
図22】本開示の第2実施形態の第1変形例による処理部F91の構成の一例を示す図である。
図23】本開示の第2実施形態の第1変形例による処理部F91の処理フローの一例を示す図である。
図24】本開示の第1実施形態の第2変形例による処理部F92の構成の一例を示す図である。
図25】本開示の第2実施形態の第2変形例による処理部F92の処理フローの一例を示す図である。
図26】本開示の第1実施形態および第2実施形態の別の変形例による処理部F82の構成の一例を示す図である。
図27】少なくとも1つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
【発明を実施するための形態】
【0014】
<第1実施形態>
以下、図面を参照しながら実施形態について詳しく説明する。まず、本開示の第1実施形態によるモータシステム1について説明する。
【0015】
(モータシステムの構成)
図1は、本開示の第1実施形態によるモータシステム1の構成の一例を示す図である。モータシステム1は、図1に示すように、PWM(Pulse Width Modulation)変換器10、インバータ20、電流センサ30、モータ40、位置センサ50、制御装置60、電圧検出回路70、および電流検出回路80を備える。モータシステム1は、ベクトル制御と電圧位相制御を切り替える際に、ベクトル制御と電圧位相制御をシームレスに(すなわち、切り替え時のモータ40のトルク、回転数変動を抑制して)制御することのできるシステムである。なお、モータシステム1において、後述する第8処理部F8は、電圧位相制御を行う速度フィードバック型の処理部である。第8処理部F8が電圧位相制御を行っている間、後述する処理部F93は使用されない。また、モータシステム1において、後述する第9処理部F9がベクトル制御を行っている間、後述する処理部F82は、直接ベクトル制御に使用されず、ベクトル制御の状態を把握できていない。
【0016】
PWM変換器10は、制御装置60が出力する電圧指令Vuvw*と、実際にインバータ20に入力されている直流電圧(以下、「インバータ20の入力直流電圧Vdc」と記載)とに基づいて、インバータ20を制御するPWM信号を生成する。そして、PWM変換器10は、生成したPWM信号をインバータ20に出力する。
【0017】
インバータ20は、PWM変換器10が出力するPWM信号に応じて、インバータ20の入力直流電圧Vdcからモータ40を駆動する交流電圧を生成する。そして、インバータ20は、生成した交流電圧をモータ40に出力する。図2は、本開示の第1実施形態によるインバータ20の構成の一例を示す図である。インバータ20は、図2に示すように、ブリッジ接続された、スイッチング素子SW1、SW2、SW3、SW4、SW5、SW6を備える。スイッチング素子SW1~SW6は、例えば、IGBT(Insulated Gate Bipolar Transistor)、MOSFET(Metal-Oxide-Semiconductor Field Effect Transistor)などの制御端子(IGBT、MOSFETの場合、ゲート端子)を有する半導体素子である。
【0018】
電流センサ30は、例えば、カレントトランスCTである。電流センサ30は、U相、V相、W相に対応する配線それぞれに設けられ、モータ電流Iu、Iv、Iwを検出する。ただし、図1では、U相、V相、W相に対応する配線はまとめて記載されている。モータ電流Iuは、インバータ20におけるU相に対応するモータ電流である。モータ電流Ivは、インバータ20におけるV相に対応するモータ電流である。モータ電流Iwは、インバータ20におけるW相に対応するモータ電流である。電流センサ30は、検出した電流Iu、Iv、Iwのそれぞれを電流検出回路80に出力する。なお、図1では、電流Iu、Iv、Iwのそれぞれを纏めてIuvwFBと記載されている。モータ40は、インバータ20から供給される交流電圧に応じて回転する交流モータである。
【0019】
位置センサ50は例えばエンコーダである。位置センサは検出信号を回転位置演算部に出力する。回転位置演算部は位置センサの検出信号に基づいて、モータ40の磁極位置θFBを演算する。回転位置演算部は図1では省略して記載している。なお、別の実施形態では、位置センサ50を使用せず、推定位置を磁極位置θFBとして制御に使用してもよい。
【0020】
(制御装置の構成)
制御装置60は、図1に示すように、第1処理部F1、第2処理部F2、第3処理部F3、第4処理部F4、第5処理部F5、第6処理部F6、第7処理部F7、第8処理部F8、および第9処理部F9を備える。制御装置60は、モータ40を駆動するための電圧指令Vuvw*を生成し、生成した電圧指令Vuvw*をPWM変換器10に出力する装置である。
【0021】
第1処理部F1は、モータ40の状態に基づいて、ベクトル制御と電圧位相制御とを切り替える制御を行う。例えば、第1処理部F1は、モータの駆動状態に基づいてベクトル制御または電圧位相制御のどちらを使用するかを判定し、どちらか1つを示すフラグを、第2処理部F2、第8処理部F8、および第9処理部F9に出力する。
【0022】
第2処理部F2は、第1処理部F1から受けるフラグに基づいて、入力信号を選択して第3処理部F3に出力する。例えば、第2処理部F2は、電圧位相制御を示すフラグを受けた場合、第8処理部F8が出力する電圧指令Vdq*、および第9処理部F9が出力する電圧指令Vdq*のうち、第8処理部F8が出力する電圧指令Vdq*を選択して第3処理部F3に出力する。なお、電圧指令Vdq*は、d軸の電圧を指示する電圧指令Vd*と、q軸の電圧を指示する電圧指令Vq*とを含む。また、例えば、第2処理部F2は、ベクトル制御を示すフラグを受けた場合、第8処理部F8が出力する電圧指令Vdq*、および第9処理部F9が出力する電圧指令Vdq*のうち、第9処理部F9が出力する電圧指令Vdq*を選択して第3処理部F3に出力する。
【0023】
第3処理部F3は、位置センサ50が出力する磁極位置θFBと電圧指令Vdq*に基づいて、式(1)より電圧指令Vuvw*を生成する。電圧指令Vuvw*は、U相の電圧を指示する電圧指令Vu*と、V相の電圧を指示する電圧指令Vv*と、W相の電圧を指示する電圧指令Vw*とを含む。そして、第3処理部F3は、生成した電圧指令Vuvw*をPWM変換器10に出力する。
【0024】
【数1】
【0025】
第4処理部F4は、位置センサ50が出力する磁極位置θFBを微分することにより速度(回転数)ωFBを生成する。この速度ωFBは、機械角で表された速度である。そして、第4処理部F4は、生成した速度ωFBを第7処理部F7に出力する。
【0026】
第5処理部F5は、位置センサ50が出力する磁極位置θFBと、電流検出回路80が出力するモータ電流Iu、Iv、Iw(図1におけるIuvwFB)に基づいて、式(2)よりd軸電流Idおよびq軸電流Iq(図1におけるIdqFB)を生成する。第6処理部F6は、モータ40の速度(回転数)指令ω*を第7処理部F7に出力する。
【0027】
【数2】
【0028】
第7処理部F7は、第6処理部F6が出力する速度指令ω*から第4処理部F4が出力する速度ωFBを減算する。そして、第7処理部F7は、減算結果を差分速度Δωとして第8処理部F8および第9処理部F9に出力する。
【0029】
第8処理部F8は、電圧位相制御を行う場合に有効となる電圧指令Vdq*を生成する。第8処理部F8は、図1に示すように、処理部F81、F82、およびF83を備える。
【0030】
処理部F81は、ベクトル制御から電圧位相制御に切り替わる場合に、処理部F82における制御状態変数の積分器の初期値を演算する。そして、処理部F81は、演算結果である制御状態変数の積分器の初期値を処理部F82に出力する。なお、処理部F81が行う処理は、ベクトル制御から電圧位相制御に切り替わる度に、1度だけ行われる処理であり、処理部F82の初期値を設定する処理である。この処理部F81が行う処理の詳細については後述する。
【0031】
処理部F82は、第7処理部F7が出力する差分速度Δω(後述する図における回転数偏差Δω)から位相指令φ*を生成する。図3は、本開示の第1実施形態による処理部F82の構成の一例を示す図である。処理部F82は、図3に示すように、処理部F82a1、F82a2、およびF82a3を備える。
【0032】
処理部F82a1は、積分制御を行う。例えば、処理部F82a1は、第7処理部F7が出力する差分速度Δωに積分ゲインKiを乗算し、積分する。そして処理部F82a1は、積分結果を処理部F82a3に出力する。
【0033】
処理部F82a2は、比例制御を行う。例えば、処理部F82a2は、第7処理部F7が出力する差分速度Δωに比例ゲインKpを乗算する。そして、処理部F82a2は、乗算結果を処理部F82a3に出力する。
【0034】
処理部F82a3は、処理部F82a1が出力する積分結果と、処理部F82a2が出力する乗算結果とを加算する。そして、処理部F82a3は、加算結果を位相指令φ*として処理部F83に出力する。
【0035】
処理部F83は、処理部82が出力する位相指令φ*および電圧検出回路70が出力する後述するインバータ20の入力直流電圧Vdcから電圧指令Vdq*を生成する。例えば、あらかじめ定められた変調率指令をm*とした場合、処理部F83は、次の式(3)、式(4)により電圧指令Vdq*を導出する。
【0036】
【数3】
【0037】
【数4】
【0038】
なお、式(3)、式(4)は、回転数が正の場合の式であり、回転数が負の場合には符号が逆になる。また、変調率指令m*は相電圧の基本波成分の振幅のVdc/2に対する比率である。例えば、4/πまで大きくなると、矩形波電圧の基本波成分と同等となる。そして、処理部F83は、生成した電圧指令Vdq*を第2処理部F2に出力する。
【0039】
第9処理部F9は、ベクトル制御を行う場合に有効となる電圧指令Vdq*を生成する。第9処理部F9は、図1に示すように、処理部F91、F92、F93、F94、F95、およびF96を備える。
【0040】
処理部F91は、電圧位相制御からベクトル制御に切り替わる場合に、処理部F93における制御状態変数の積分器の初期値を演算する。そして、処理部F91は、演算結果である制御状態変数の積分器の初期値を処理部F93に出力する。なお、処理部F91が行う処理は、電圧位相制御からベクトル制御に切り替わる度に、1度だけ行われる処理であり、処理部F93の初期値を設定する処理である。この処理部F91が行う処理の詳細については後述する。
【0041】
処理部F92は、電圧位相制御からベクトル制御に切り替わる場合に、処理部F96における制御状態変数の積分器の初期値を演算する。そして、処理部F92は、演算結果である制御状態変数の積分器の初期値を処理部F96に出力する。なお、処理部F92が行う処理は、電圧位相制御からベクトル制御に切り替わる度に、1度だけ行われる処理であり、処理部F96の初期値を設定する処理である。この処理部F92が行う処理の詳細については後述する。
【0042】
処理部F93は、第7処理部F7が出力する差分速度Δωからトルク指令T*を生成する。図4は、本開示の第1実施形態による処理部F93の構成の一例を示す図である。図4は、本開示の第1実施形態による処理部F93の構成の一例を示す図である。処理部F93は、図4に示すように、処理部F93a1、F93a2、およびF93a3を備える。
【0043】
処理部F93a1は、積分制御を行う。ただし、処理部F93a1の積分ゲインは、Kiwであり、処理部F82a2の積分ゲインKiと異なる。例えば、処理部F93a1は、第7処理部F7が出力する差分速度Δωに積分ゲインKiwを乗算し、積分する。そして処理部F93a1は、積分結果を処理部F93a3に出力する。
【0044】
処理部F93a2は、比例制御を行う。ただし、処理部F93a2の比例ゲインは、Kpwであり、処理部F82a1の比例ゲインKpと異なる。例えば、処理部F93a2は、第7処理部F7が出力する差分速度Δωに比例ゲインKpwを乗算する。そして、処理部F93a2は、乗算結果を処理部F93a3に出力する。
【0045】
処理部F93a3は、処理部F93a1が出力する積分結果と、処理部F93a2が出力する乗算結果とを加算する。そして、処理部F93a3は、加算結果をトルク指令T*として処理部F94に出力する。
【0046】
処理部F94は、処理部F93が出力するトルク指令T*から電流指令Id*およびIq*(図1ではIdq*と記載)を生成する。例えば、後述する式(11)を使用して、あらかじめトルク指令T*と電流振幅指令Ia*と電流位相指令β*の関係を示すテーブルを用意し、トルク指令T*を入力することで、Ia*とβ*を生成する。そして、次の式(5)、式(6)により、処理部F94は、電流指令Id*およびIq*を生成する。
【0047】
【数5】
【0048】
【数6】
【0049】
そして、処理部F94は、生成した電流指令Id*およびIq*を処理部F95に出力する。
【0050】
処理部F95は、処理部F94が出力する電流指令Id*および第5処理部F5が出力する実際のd軸電流Idからd軸電流偏差ΔIdを生成する。また、処理部F95は、処理部F94が出力する電流指令Iq*および第5処理部F5が出力する実際のq軸電流Iqからq軸電流偏差ΔIqを生成する。そして、処理部F95は、生成したd軸電流偏差ΔIdおよびq軸電流偏差ΔIqを処理部F96に出力する。
【0051】
処理部F96は、処理部F95が出力するd軸電流偏差ΔIdからd軸電圧指令Vd*を生成する。また、処理部F96は、処理部F95が出力するq軸電流偏差ΔIqからq軸電圧指令Vq*を生成する。そして、処理部F96は、生成したd軸電圧指令Vd*およびq軸電圧指令Vq*を第2処理部F2に出力する。図5は、本開示の第1実施形態による処理部F96の構成の一例を示す図である。図5は、本開示の第1実施形態による処理部F96の構成の一例を示す図である。処理部F96は、図5に示すように、処理部F96dおよびF96qを備える。
【0052】
処理部F96dは、d軸電流偏差ΔIdからd軸電圧指令Vd*を生成する。処理部F96dは、図5に示すように、処理部F96a1d、F96a2d、F96a3d、F96a4d、およびF96a5dを備える。
【0053】
処理部F96a1dは、積分制御を行う。ただし、処理部F96a1dの積分ゲインは、Kidであり、処理部F82a2の積分ゲインKi、および、処理部F93a1の積分ゲインKiwと異なる。例えば、処理部F96a1dは、処理部F95が出力するd軸電流偏差ΔIdに積分ゲインKidを乗算し、積分する。そして処理部F96a1dは、積分結果を処理部F96a3dに出力する。
【0054】
処理部F96a2dは、比例制御を行う。ただし、処理部F96a2dの比例ゲインは、Kpdであり、処理部F82a1の比例ゲインKp、および、処理部F93a2の比例ゲインKpwと異なる。例えば、処理部F96a2dは、処理部F95が出力するd軸電流偏差ΔIdに比例ゲインKpdを乗算する。そして、処理部F96a2dは、乗算結果を処理部F96a3dに出力する。
【0055】
処理部F96a3dは、処理部F96a1dが出力する積分結果と、処理部F96a2dが出力する乗算結果とを加算する。そして、処理部F96a3dは、加算結果を処理部96a5dに出力する。
【0056】
処理部F96a4dは、d軸非干渉項を演算する。d軸非干渉項は、具体的には、-Lq・ωe・Iqである。ここで、Lqはq軸インダクタンス、ωeは実回転数(電気角)である。なお、実回転数ωeは、ωFB×pと同一である。ここで、pは極対数である。
そして、処理部F96a4dは、演算したd軸非干渉項を処理部F96a5dに出力する。
【0057】
処理部F96a5dは、処理部F96a3dが出力した加算結果と、処理部F96a4dが出力したd軸非干渉項とを加算する。そして、処理部F96a5dは、加算結果をd軸電圧指令Vd*として第2処理部F2に出力する。
【0058】
処理部F96qは、q軸電流偏差ΔIqからq軸電圧指令Vq*を生成する。処理部F96qは、図5に示すように、処理部F96a1q、F96a2q、F96a3q、F96a4q、およびF96a5qを備える。
【0059】
処理部F96a1qは、積分制御を行う。例えば、処理部F96a1qは、処理部F95が出力するq軸電流偏差ΔIqに積分ゲインKiqを乗算し、積分する。そして処理部F96a1qは、積分結果を処理部F96a3qに出力する。
【0060】
処理部F96a2qは、比例制御を行う。例えば、処理部F96a2qは、処理部F95が出力するq軸電流偏差ΔIqに比例ゲインKpqを乗算する。そして、処理部F96a2qは、乗算結果を処理部F96a3qに出力する。
【0061】
処理部F96a3qは、処理部F96a1qが出力する積分結果と、処理部F96a2qが出力する乗算結果とを加算する。そして、処理部F96a3qは、加算結果を処理部96a5qに出力する。
【0062】
処理部F96a4qは、q軸非干渉項を演算する。q軸非干渉項は、具体的には、ωe(Ld・Id+Φa)である。ここで、Φaはモータ40の永久磁石の電機子鎖交磁束である。そして、処理部F96a4qは、演算したq軸非干渉項を処理部F96a5qに出力する。
【0063】
処理部F96a5qは、処理部F96a3qが出力した加算結果と、処理部F96a4qが出力したq軸非干渉項とを加算する。そして、処理部F96a5qは、加算結果をq軸電圧指令Vq*として第2処理部F2に出力する。
【0064】
電圧検出回路70は、A/D(Analog to Digital)変換器70aを備える。A/D変換器70aは、インバータ20の入力電圧Vxを受ける。A/D変換器70aは、受けた電圧Vxを、受けた電圧Vxに1対1で対応するデジタル値(すなわち、受けた電圧の値を示すデジタル値)vdcに変換する。電圧検出回路70は、デジタル値vdcをPWM変換器10および制御装置60に出力する。
【0065】
電流検出回路80は、電流センサ30が検出したモータ電流Iu、Iv、Iwそれぞれの値を特定する。例えば、電流検出回路80は、A/D変換器80aを備える。A/D変換器80aは、モータ電流Iu、Iv、Iwそれぞれを受ける。A/D変換器80aは、受けたモータ電流Iu、Iv、Iwのそれぞれを、受けたモータ電流Iu、Iv、Iwのそれぞれに1対1で対応するデジタル値(すなわち、受けたそれぞれの電流値を示すデジタル値)に変換する。電流検出回路80は、特定したモータ電流値Iu、Iv、Iwを制御装置60に出力する。
【0066】
(モータシステムが行う処理)
次に、本開示の第1実施形態によるモータシステム1が行う処理について説明する。図6は、本開示の第1実施形態による処理部F81の構成の一例を示す図である。図7は、本開示の第1実施形態による処理部F91の構成の一例を示す図である。図8は、本開示の第1実施形態による処理部F92の構成の一例を示す図である。本開示の第1実施形態では、処理部F81は、図6に示すように、処理部F81a1、F81a2、F81a3、およびF81a4を備える。また、処理部F91は、図7に示すように、処理部F91a1、F91a2、およびF91a3を備える。また、処理部F92は、図8に示すように、処理部F92a1、F92a2、F92a3、F92a4、F92a5、F92a6、F92a7、F92a8、およびF92a9を備える。
【0067】
図9は、本開示の第1実施形態によるモータシステム1の処理フローの第1の例を示す図である。図10は、本開示の第1実施形態によるモータシステム1の処理フローの第2の例を示す図である。図11は、本開示の第1実施形態によるモータシステム1の処理フローの第3の例を示す図である。ここでは、処理部F81は図6に示す構成であり、処理部F91は図7に示す構成であり、処理部F92は図8に示す構成であるものとする。そして、図9図11を参照して、本開示の第1実施形態によるモータシステム1の処理について説明する。
【0068】
(電圧位相制御からベクトル制御に切り替わる際に行われる処理)
図9図10を参照して、電圧位相制御からベクトル制御に切り替わる度に、1度だけ行われる処理部F91、および処理部F92の詳細な処理を含むモータシステム1の処理について説明する。
【0069】
制御装置60が電圧位相制御の状態で、モータ40の駆動状態が変化し、第1処理部F1が、モータの駆動状態に基づいてベクトル制御を使用すると判定した場合、第1処理部F1は、ベクトル制御を示すフラグを、第2処理部F2、第8処理部F8、および第9処理部F9に出力する。
【0070】
第2処理部F2は、第1処理部F1から受けるフラグに基づいて、第8処理部F8が出力する電圧指令Vdq*、および第9処理部F9が出力する電圧指令Vdq*のうち、第9処理部F9が出力する電圧指令Vdq*を選択して第3処理部F3に出力する。
【0071】
ただし、電圧位相制御の間、処理部F93およびF96は使用されていないため、電圧位相制御からベクトル制御に切り替わった場合、第9処理部F9は、切り替わる直前の電圧位相制御からシームレスに制御切替可能な電圧指令値を演算することができない。そのため、電圧位相制御からベクトル制御に切り替える場合、処理部F93および処理部F96に対して、切り替わる直前の電圧位相制御の状態に応じた初期値を設定することにより、電圧位相制御からベクトル制御へシームレスな切り替えを可能にする。具体的には、モータシステム1は、初期値を設定するために以下のような処理を行う。
【0072】
(処理部F93における初期値の設定)
まず、処理部F93における初期値の設定について説明する。処理部F91a1は、式(7)に示すトルクと電流の関係式を用いて、電流値から前回のトルク指令T*を推定する(ステップS1)。なお、前回とは、1制御周期前のことである。また、電流値としては、前回のトルク指令T*に対応する今回の電流値を用いることが望ましい。そして、処理部F91a1は、推定した前回のトルク指令T*を処理部F91a3に出力する。
【0073】
【数7】
【0074】
ここで、式(7)において、pは極対数、Φaはモータ40の永久磁石の電機子鎖交磁束、Ldはd軸インダクタンス、Lqはq軸インダクタンス、Idはd軸電流、Iqはq軸電流である。
【0075】
処理部F91a2は、処理部F93a2の比例ゲインKpwに、第7処理部F7が出力した前回の差分速度Δωを乗算する(ステップS2)。そして、処理部F91a2は、乗算結果を処理部F91a3に出力する。
【0076】
処理部F91a3は、処理部F91a1が出力した前回のトルク指令T*から、処理部F91a2が出力した乗算結果を減算する(ステップS3)。そして、処理部F91a3は、減算結果を処理部F93a1の初期値として処理部F93に出力する(ステップS4)。このステップS4の処理により、電圧位相制御の状態に基づいて処理部F93に適切な初期値を設定することができる。そのため、処理部F93は、電圧位相制御からベクトル制御に切り替わった場合であっても、電圧位相制御とベクトル制御とをシームレスに切り替えることができる。
【0077】
(処理部F96における初期値の設定)
次に、処理部F96における初期値の設定について説明する。処理部F92a1は、式(7)に示すトルクと電流の関係式を用いて、電流値から前回のトルク指令T*を推定する(ステップS11)。なお、電流値としては、前回のトルク指令T*に対応する今回の電流値を用いることが望ましい。そして、処理部F92a1は、推定した前回のトルク指令T*を処理部F92a2に出力する。
【0078】
処理部F92a2は、トルク指令T*と、電流振幅指令Ia*および位相指令β*との変換テーブルを用いて、処理部F92a1が出力するトルク指令T*から電流振幅指令Ia*および位相指令β*を生成する(ステップS12)。なお、処理部F92a2は、トルク指令T*と、電流振幅指令Ia*および位相指令β*との変換テーブルの代わりに、トルク指令T*と、電流振幅指令Ia*および位相指令β*との関係式を用いて、処理部F92a1が出力するトルク指令T*から電流振幅指令Ia*および位相指令β*を生成するものであってもよい。そして、処理部F92a2は、生成した電流振幅指令Ia*および位相指令β*を処理部F92a3に出力する。
【0079】
処理部F92a3は、処理部F92a2が出力する電流振幅指令Ia*および位相指令β*からd軸電流指令Id*を推定する(ステップS13)。そして、処理部F92a3は、推定したd軸電流指令Id*を処理部F92a5に出力する。
【0080】
処理部F92a4は、前回の実際のd軸電流Idを取得する(ステップS14)。そして、処理部F92a4は、取得した前回の実際のd軸電流Idを処理部F92a5に出力する。
【0081】
処理部F92a5は、処理部F92a3が出力したd軸電流指令Id*から処理部F92a4が出力した前回の実際のd軸電流Idを減算する(ステップS15)。そして、処理部F92a5は、減算結果を処理部F92a6に出力する。
【0082】
処理部F92a6は、処理部F92a5が出力する減算結果に処理部F96a2dの比例ゲインKp_Idを乗算する(ステップS16)。そして、処理部F96a6は、乗算結果を処理部F92a9に出力する。
【0083】
処理部F92a7は、1制御周期前の電圧位相制御中に計算した(すなわち、前回の)d軸電圧指令Vd*を処理部F92a9に出力する。
【0084】
処理部F92a8は、q軸電流Iqと実回転数ωeの前回値に基づいてd軸非干渉項の前回値を算出する(ステップS17)。そして、処理部F92a8は、算出した前回のd軸非干渉項を処理部F92a9に出力する。
【0085】
処理部F92a9は、処理部F92a7が出力した前回のd軸電圧指令Vd*から、処理部F92a8が出力した前回のd軸非干渉項と、処理部F92a6が出力した乗算結果とを減算する(ステップS18)。そして、処理部F92a9は、減算結果を処理部F96a1dの初期値として、処理部F96dに出力する(ステップS19)。また、処理部F92は、上述のd軸に対するステップS11~ステップS19の処理と同様の処理をq軸に対しても行う。このステップS19の処理により、電圧位相制御の状態に基づいて処理部F96に適切な初期値を設定することができる。そのため、処理部F96は、電圧位相制御からベクトル制御に切り替わった場合であっても、電圧位相制御とベクトル制御とをシームレスに制御することができる。
【0086】
(電圧位相制御からベクトル制御へ切り替わる際の切り替え初回のベクトル制御の状態においてモータを動作させる処理)
次に、制御装置60が電圧位相制御からベクトル制御へ切り替わる際の切り替え初回のベクトル制御の状態においてモータシステム1が行うモータ40を動作させる処理について説明する。
【0087】
制御装置60が電圧位相制御の状態で、モータ40の駆動状態が変化し、第1処理部F1が、モータの駆動状態に基づいてベクトル制御を使用すると判定した場合、第1処理部F1は、ベクトル制御を示すフラグを、第2処理部F2、第8処理部F8、および第9処理部F9に出力する。
【0088】
処理部F91は制御状態が電圧位相制御からベクトル制御に切り替わった初回のみ、処理部F93における制御状態変数の積分器の初期値を演算し、処理部F93に出力する。処理部F93は、制御状態が電圧位相制御からベクトル制御に切り替わった初回のみ、処理部F91で演算された初期値に基づいてトルク指令T*を演算し、処理部F94に出力する。それ以外の場合は、前回の積分値を基にトルク指令T*を演算し、処理部F94に出力する。処理部F94は、処理部F93が出力するトルク指令T*から電流指令Id*およびIq*(図1ではIdq*と記載)を生成する。そして、処理部F94は、生成した電流指令Id*およびIq*を処理部F95に出力する。処理部F95は、処理部F94が出力する電流指令Id*および第5処理部F5が出力する実際のd軸電流Idからd軸電流偏差ΔIdを生成する。また、処理部F95は、処理部F94が出力する電流指令Iq*および第5処理部F5が出力する実際のq軸電流Iqからq軸電流偏差ΔIqを生成する。そして、処理部F95は、生成したd軸電流偏差ΔIdおよびq軸電流偏差ΔIqを処理部F96に出力する。処理部F92は制御状態が電圧位相制御からベクトル制御に切り替わった初回のみ、処理部F96における制御状態変数の積分器の初期値を演算し、処理部F96に出力する。処理部F96は、制御状態が電圧位相制御からベクトル制御に切り替わった初回のみ、処理部F92で演算された初期値に基づいて処理部F95が出力するd軸電流偏差ΔIdからd軸電圧指令Vd*を生成する。それ以外の場合は、前回の積分値を基にd軸電圧指令Vd*を生成する。また、処理部F96は、制御状態が電圧位相制御からベクトル制御に切り替わった初回のみ、処理部F92で演算された初期値に基づいて処理部F95が出力するq軸電流偏差ΔIqからq軸電圧指令Vq*を生成する。それ以外の場合は、前回の積分値を基にq軸電圧指令Vq*を生成する。処理部F96は、生成したd軸電圧指令Vd*およびq軸電圧指令Vq*を第2処理部F2に出力する。
【0089】
第2処理部F2は、第9処理部F9から電圧指令Vdq*を受ける。第2処理部F2は、第1処理部F1から受けるベクトル制御を示すフラグに基づいて、第8処理部F8が出力する電圧指令Vdq*、および第9処理部F9が出力する電圧指令Vdq*のうち、第9処理部F9が出力する電圧指令Vdq*を選択して第3処理部F3に出力する。第3処理部F3は、電圧指令Vdq*から電圧指令Vuvw*を生成する。そして、第3処理部F3は、生成した電圧指令Vuvw*をPWM変換器10に出力する。PWM変換器10は、制御装置60が出力するVuvw*と、インバータ20の入力直流電圧Vdcとに基づいて、インバータ20を制御するPWM信号を生成する。そして、PWM変換器10は、生成したPWM信号をインバータ20に出力する。インバータ20は、PWM変換器10が出力するPWM信号に応じて、インバータ20の入力直流電圧Vdcからモータ40を駆動する交流電圧を生成する。そして、インバータ20は、生成した交流電圧をモータ40に出力する。モータ40は、インバータ20が出力した交流電圧で動作する。このように、電圧位相制御からベクトル制御への切り替えを行う。
【0090】
(ベクトル制御から電圧位相制御に切り替わる際に行われる処理)
次に、図11を参照して、ベクトル制御から電圧位相制御に切り替わる度に、1度だけ行われる処理部F81の詳細な処理を含むモータシステム1の処理について説明する。
【0091】
制御装置60がベクトル制御の状態で、モータ40の駆動状態が変化し、第1処理部F1が、モータ40の駆動状態に基づいて電圧位相制御を使用すると判定した場合、第1処理部F1は、電圧位相制御を示すフラグを、第2処理部F2、第8処理部F8、および第9処理部F9に出力する。
【0092】
第2処理部F2は、第1処理部F1から受けるフラグに基づいて、第8処理部F8が出力する電圧指令Vdq*、および第9処理部F9が出力する電圧指令Vdq*のうち、第8処理部F8が出力する電圧指令Vdq*を選択して第3処理部F3に出力する。
【0093】
ただし、ベクトル制御の間、処理部F82は使用されていないため、ベクトル制御から電圧位相制御に切り替わった場合、第8処理部F8は、切り替わる直前のベクトル制御からシームレスに制御切替可能な電圧指令値を演算することができない。そのため、ベクトル制御から電圧位相制御に切り替える場合、処理部F82に対して、切り替わる直前のベクトル制御に応じた初期値を設定することにより、ベクトル制御から電圧位相制御へシームレスな切り替えを可能にする。具体的には、モータシステム1は、初期値を設定するために以下のような処理を行う。
【0094】
(処理部F82における初期値の設定)
処理部F81a1は、処理部F96が出力した前回の電圧指令Vdq*から式(8)に基づいて電圧指令位相の前回値を算出する(ステップS31)。そして、処理部F81a1は、算出した前回の電圧指令位相を処理部F81a3に出力する。
【0095】
【数8】
【0096】
なお、式(8)は、回転数が正の場合の式であり、回転数が負の場合にはVd*の符号が逆になる。ここで、Va*は電圧振幅指令であり、式(9)のように表される。
【0097】
【数9】
【0098】
処理部F81a2は、処理部F82a2の比例ゲインKpに、第7処理部F7が出力した前回の差分速度Δωを乗算する(ステップS32)。そして、処理部F81a2は、乗算結果を処理部F81a3に出力する。なお、前回の差分速度Δωは、第7処理部F7が出力するものに限定されない。例えば、前回の差分速度Δωは、別で保存しておいた速度指令ω*または速度ωFBの前回値と前前回値の差分を計算して導出されるものであってもよい。
【0099】
処理部F81a3は、処理部F81a1が出力した前回の電圧指令位相から、処理部F81a2が出力した乗算結果を減算する(ステップS33)。そして、処理部F81a3は、減算結果を処理部F81a4に出力する。
【0100】
処理部F81a4は、処理部F81a3が出力した減算結果である電圧位相にリミットを設定する。処理部F81a4は、リミットを掛けた電圧位相を処理部F82a1の初期値として処理部F82に出力する(ステップS34)。
【0101】
図12は、本開示の第1実施形態における電圧位相とトルクとの関係の一例を示す図である。図12は、モータの電圧方程式とトルク式とあるモータ40の駆動回転数およびあるインバータ20に入力される直流電圧から算出されるモータ40のトルクと電圧位相の関係を表している。図12からわかるように、電圧位相を増加させたときにトルクが増加する領域とトルクが低下する領域がある。安定に制御するためには、この関係を考慮し、電圧位相が増加したときに、トルクも増加する領域の電圧位相で電圧位相制御をすることが望ましい。電流センサ30や電流検出回路80によるモータ電流の検出の誤差、過変調域での駆動等により、モータ電流にリプルが重畳される場合、ベクトル制御の電圧指令にもリプル成分が重畳されることがある。その電圧指令を使用して演算された電圧位相指令にもリップルが重畳する。そのような場合に、ベクトル制御から電圧位相制御へ切り替える際、処理部F81a3が出力した結果である電圧位相が電圧位相制御で安定に制御可能な位相範囲を超えた値となる場合がある。そのため、処理部F81a4は、図12においてトルクがピークとなるA点よりも切り替え初期値が左の領域になるようにリミットを設定する。また、モータ40の駆動回転数およびインバータ20に入力される直流電圧から算出されるモータ40のトルクと電圧位相との関係を表す関数の極値となる電圧位相に基づいてリミットを設定してもよい。なお、このリミットは、定数であってもよいし、モータ40の回転数とインバータ20に入力される直流電圧とに応じた変数であってもよい。このステップS34の処理により、電圧位相制御で安定に制御可能な位相範囲の初期値をF82に出力することができる。これにより、ベクトル制御の電圧指令にリプル成分が重畳される場合も、ベクトル制御から電圧位相制御への切り替え時に、トルク、回転数変動を抑制し、安定にモータを制御することができる。
【0102】
(ベクトル制御から電圧位相制御へ切り替わる際の切り替え初回の電圧位相制御の状態においてモータを動作させる処理)
次に、制御装置60がベクトル制御から電圧位相制御へ切り替わる際の切り替え初回の電圧位相制御の状態においてモータシステム1が行うモータ40を動作させる処理について説明する。
【0103】
制御装置60がベクトル制御の状態で、モータ40の駆動状態が変化し、第1処理部F1が、モータの駆動状態に基づいて電圧位相制御を使用すると判定した場合、第1処理部F1は、電圧位相制御を示すフラグを、第2処理部F2、第8処理部F8、および第9処理部F9に出力する。
【0104】
処理部F81は制御状態がベクトル制御から電圧位相制御に切り替わった初回のみ、処理部F82における制御状態変数の積分器の初期値を演算し、処理部F82に出力する。処理部F82は、制御状態がベクトル制御から電圧位相制御に切り替わった初回のみ、処理部F81で演算された初期値に基づいて位相指令φ*を演算し、処理部F83に出力する。それ以外の場合は、前回の積分値を基に位相指令φ*を演算し、処理部F83に出力する。処理部F83は、処理部F82が出力する位相指令φ*およびインバータ20の入力直流電圧Vdcから、電圧指令Vdq*を生成する。処理部F83は、生成した電圧指令Vdq*を第2処理部F2に出力する。
【0105】
第2処理部F2は、第8処理部F8から電圧指令Vdq*を受ける。第2処理部F2は、第1処理部F1から受ける電圧位相制御を示すフラグに基づいて、第8処理部F8が出力する電圧指令Vdq*、および第9処理部F9が出力する電圧指令Vdq*のうち、第8処理部F8が出力する電圧指令Vdq*を選択して第3処理部F3に出力する。第3処理部F3は、電圧指令Vdq*から電圧指令Vuvw*を生成する。そして、第3処理部F3は、生成した電圧指令Vuvw*をPWM変換器10に出力する。PWM変換器10は、制御装置60が出力するVuvw*と、インバータ20の入力直流電圧Vdcとに基づいて、インバータ20を制御するPWM信号を生成する。そして、PWM変換器10は、生成したPWM信号をインバータ20に出力する。インバータ20は、PWM変換器10が出力するPWM信号に応じて、インバータ20の入力直流電圧Vdcからモータ40を駆動する交流電圧を生成する。そして、インバータ20は、生成した交流電圧をモータ40に出力する。モータ40は、インバータ20が出力した交流電圧で動作する。このように、ベクトル制御から電圧位相制御への切り替えを行う。
【0106】
(作用効果)
以上、本開示の第1実施形態によるモータシステム1について説明した。制御装置60は、モータ40の駆動状態に応じて前記モータ40を制御するためのベクトル制御と電圧位相制御とを切り替える制御装置であって、前記モータ40を駆動するインバータ20に入力される直流電圧と前記モータ40の駆動回転数とに応じて決定される制限値が設けられ、前記ベクトル制御から前記電圧位相制御に切り替わる場合、入力された値を前記制限値で制限して前記電圧位相制御に用いられる制御器の初期値を生成するリミッタF81a4を備える。
【0107】
これにより、フィードバック型のベクトル制御から電圧位相制御へ切り替える場合、処理部F82の電圧位相制御の初期値が電圧位相制御で安定に制御可能な位相範囲とすることができる。その結果、ベクトル制御の電圧指令にリプル成分が重畳される場合も、ベクトル制御から電圧位相制御への切り替え時に、トルク、回転数変動を抑制し、安定にモータを制御することができる。
【0108】
<第1実施形態の第1変形例>
本開示の第1実施形態の第1変形例によるモータシステム1について説明する。
【0109】
(モータシステムの構成)
本開示の第1実施形態の第1変形例によるモータシステム1は、本開示の第1実施形態によるモータシステム1と同様に、PWM変換器10、インバータ20、電流センサ30、モータ40、位置センサ50、および制御装置60を備える。
【0110】
(制御装置の構成)
本開示の第1実施形態の第1変形例による制御装置60は、本開示の第1実施形態による制御装置60と同様に、第1処理部F1、第2処理部F2、第3処理部F3、第4処理部F4、第5処理部F5、第6処理部F6、第7処理部F7、第8処理部F8、および第9処理部F9を備える。
【0111】
本開示の第1実施形態の第1変形例による第9処理部F9は、本開示の第1実施形態による第9処理部F9と同様に、処理部F91、F92、F93、F94、F95,およびF96を備える。ただし、本開示の第1実施形態の第1変形例による処理部F91は、本開示の第1実施形態による処理部F91と処理が異なる。
【0112】
図13は、本開示の第1実施形態の第1変形例による処理部F91の構成の一例を示す図である。処理部F91は、図13に示すように、処理部F91a1、F91a2、F91a3、およびF91a4を備える。
【0113】
(モータシステムが行う処理)
図14は、本開示の第1実施形態の第1変形例による処理部F91の処理フローの一例を示す図である。電圧位相制御の間、処理部F91a1は、式(7)に示すトルクと電流の関係式を用いて、電流値から前回のトルク指令T*を推定する(ステップS41)。なお、電流値としては、前回のトルク指令T*に対応する今回の電流値を用いることが望ましい。そして、処理部F91a1は、推定した前回のトルク指令T*を処理部F91a4に出力する。
【0114】
処理部F91a4は、デジタルのローパスフィルタである。電圧位相制御の間、処理部F91a4は、処理部F91a1が出力する前回のトルク指令T*を通過させる(ステップS42)。処理部F91a1が出力する前回のトルク指令T*は、実電流から算出した値である。そのため、処理部F91a1が出力する前回のトルク指令T*は、処理部F93における制御周波数よりも高い周波数の変動成分を含んでいる可能性がある。処理部F91a4は、処理部F91a1が出力する前回のトルク指令T*に含まれる高い周波数の変動成分を除去する。そして、処理部F91a4は、高い周波数の変動成分を除去した前回のトルク指令T*を処理部F91a3に出力する。
【0115】
なお、本開示の第1実施形態の第1変形例による処理部F91a2およびF91a3が行う処理は、本開示の第1実施形態による処理部F91a2およびF91a3が行う処理と同様である。つまり、処理部F91a4が、高い周波数の変動成分を除去した前回のトルク指令T*を処理部F91a3に出力すると、その後、ステップS2~ステップS4の処理が行われる。
【0116】
(作用効果)
以上、本開示の第1実施形態の第1変形例によるモータシステム1について説明した。モータシステム1の制御装置60において、デジタルのローパスフィルタである処理部F91a4は、処理部F91a1が出力する前回のトルク指令T*を通過させる。
【0117】
これにより、処理部F91a3が受ける前回のトルク指令T*が、高い周波数の変動成分を除去したものになる。その結果、処理部F91a4を通さない前回のトルク指令T*を用いて初期値演算をした場合と比較して、電流センサ30や電流検出回路80によるモータ電流の検出の誤差、過変調域での駆動等により発生する、電流のリプル成分等による変動成分を除去した切り替え初期値を処理部F93に供給することができ、電流のリプル成分により前回のトルク指令T*に変動成分がある場合も、制御を切り替える際のトルクや回転数の変動を抑制することができる。
【0118】
<第1実施形態の第2変形例>
本開示の第1実施形態の第2変形例によるモータシステム1について説明する。
【0119】
(モータシステムの構成)
本開示の第1実施形態の第2変形例によるモータシステム1は、本開示の第1実施形態によるモータシステム1と同様に、PWM変換器10、インバータ20、電流センサ30、モータ40、位置センサ50、および制御装置60を備える。
【0120】
(制御装置の構成)
本開示の第1実施形態の第2変形例による制御装置60は、本開示の第1実施形態による制御装置60と同様に、第1処理部F1、第2処理部F2、第3処理部F3、第4処理部F4、第5処理部F5、第6処理部F6、第7処理部F7、第8処理部F8、および第9処理部F9を備える。
【0121】
本開示の第1実施形態の第2変形例による第9処理部F9は、本開示の第1実施形態による第9処理部F9と同様に、処理部F91、F92、F93、F94、F95、およびF96を備える。ただし、本開示の第1実施形態の第2変形例による処理部F92は、本開示の第1実施形態による処理部F92と処理が異なる。
【0122】
図15は、本開示の第1実施形態の第2変形例による処理部F92の構成の一例を示す図である。処理部F92は、図15に示すように、F92a1、F92a2、F92a3、F92a4、F92a5、F92a6、F92a7、F92a8、F92a9、およびF92a10を備える。
【0123】
(モータシステムが行う処理)
図16は、本開示の第1実施形態の第2変形例による処理部F92の処理フローの一例を示す図である。処理部F92a1は、式(7)に示すトルクと電流の関係式を用いて、電流値から前回のトルク指令T*を推定する(ステップS51)。なお、電流値としては、前回のトルク指令T*に対応する今回の電流値を用いることが望ましい。そして、処理部F92a1は、推定した前回のトルク指令T*を処理部F92a10に出力する。
【0124】
処理部F92a10は、デジタルのローパスフィルタであり、処理部F92a1が出力する前回のトルク指令T*を通過させる(ステップS52)。処理部F92a10は、ローパスフィルタを構成するために過去のデータが必要な場合は、保存しておく。処理部F92a1が出力する前回のトルク指令T*は、実電流から算出した値である。そのため、処理部F92a1が出力する前回のトルク指令T*は、処理部F96における制御周波数よりも高い周波数の変動成分を含んでいる可能性がある。処理部F92a10は、処理部F92a1が出力する前回のトルク指令T*に含まれる高い周波数の変動成分を除去する。そして、処理部F92a10は、高い周波数の変動成分を除去した前回のトルク指令T*を処理部F92a3に出力する。
【0125】
なお、本開示の第1実施形態の第2変形例による処理部F92a2、F92a3、F92a4、F92a5、F92a6、F92a7、F92a8、およびF92a9が行う処理と同様である。つまり、処理部F92a10が、高い周波数の変動成分を除去した前回のトルク指令T*を処理部F92a2に出力すると、その後、ステップS12~ステップS19の処理が行われる。
【0126】
(作用効果)
以上、本開示の第1実施形態の第2変形例によるモータシステム1について説明した。モータシステム1の制御装置60において、デジタルのローパスフィルタである処理部F92a10は、処理部F92a1が出力する前回のトルク指令T*を通過させる。
【0127】
これにより、処理部F92a2が受ける前回のトルク指令T*が、高い周波数の変動成分を除去したものになる。その結果、処理部F92a10を通さない前回のトルク指令T*を用いて初期値演算をした場合と比較して、電流センサ30や電流検出回路80によるモータ電流の検出の誤差、過変調域での駆動等により発生する、電流のリプル成分等による変動成分を除去した切り替え初期値を処理部F96に供給することができ、電流のリプル成分により前回のトルク指令T*に変動成分がある場合も、制御を切り替える際のトルクや回転数の変動を抑制することができる。
【0128】
<第2実施形態>
本開示の第2実施形態によるモータシステム1について説明する。本開示の第1実施形態によるモータシステム1では、トルク指令T*を推定し、処理部F93およびF96の初期値を推定したが、本開示の第2実施形態によるモータシステム1では、電流振幅指令Ia*を推定し、処理部F93およびF96の初期値を推定する。
【0129】
(モータシステムの構成)
本開示の第2実施形態によるモータシステム1は、本開示の第1実施形態によるモータシステム1と同様に、PWM変換器10、インバータ20、電流センサ30、モータ40、位置センサ50、および制御装置60を備える。
【0130】
(制御装置の構成)
本開示の第2実施形態による制御装置60は、本開示の第1実施形態による制御装置60と同様に、第1処理部F1、第2処理部F2、第3処理部F3、第4処理部F4、第5処理部F5、第6処理部F6、第7処理部F7、第8処理部F8、および第9処理部F9を備える。
【0131】
本開示の第2実施形態による第9処理部F9は、本開示の第1実施形態による第9処理部F9と同様に、処理部F91、F92、F93、F94、F95,およびF96を備える。ただし、本開示の第2実施形態による処理部F91は、本開示の第1実施形態による処理部F91と処理が異なる。また、本開示の第2実施形態による処理部F92は、本開示の第1実施形態による処理部F92と処理が異なる。また、本開示の第2実施形態による処理部F93は、本開示の第1実施形態による処理部F93と処理が異なる。
【0132】
図17は、本開示の第2実施形態による処理部F93の構成の一例を示す図である。本開示の第1実施形態による処理部F93は、トルク指令T*を出力するが、図17からわかるように、本開示の第2実施形態による処理部F93は、電流振幅指令Ia*を出力する。
【0133】
図18は、本開示の第2実施形態による処理部F91の構成の一例を示す図である。図19は、本開示の第2実施形態による処理部F92の構成の一例を示す図である。処理部F91は、図18に示すように、処理部F91a2、F91a3、およびF91a5を備える。処理部F92は、図19に示すように、処理部F92a3、F92a4、F92a5、F92a6、F92a7、F92a8、F92a9、F92a11、およびF92a12を備える。
【0134】
(モータシステムが行う処理)
次に、本開示の第2実施形態によるモータシステム1が行う処理について説明する。図20は、本開示の第2実施形態によるモータシステム1の処理フローの第1の例を示す図である。図21は、本開示の第2実施形態によるモータシステム1の処理フローの第2の例を示す図である。ここでは、処理部F81は図6に示す構成であり、処理部F91は図18に示す構成であり、処理部F92は図19に示す構成であるものとする。
【0135】
(電圧位相制御からベクトル制御に切り替わる際に行われる処理)
図20図21を参照して、電圧位相制御からベクトル制御に切り替わる度に、1度だけ行われる処理部F91、および処理部F92の詳細な処理を含むモータシステム1の処理について説明する。
【0136】
まず、制御装置60がどのように電圧位相制御の状態になっているのかについて説明する。本開示の第1実施形態と同様に、第1処理部F1は、モータ40の駆動状態に基づいて、電圧位相制御を示すフラグを、第2処理部F2、第8処理部F8、および第9処理部F9に出力する。
【0137】
第2処理部F2は、第1処理部F1から受けるフラグに基づいて、入力信号を選択して第3処理部F3に出力する。例えば、第2処理部F2は、電圧位相制御を示すフラグを受けた場合、第8処理部F8が出力する電圧指令Vdq*、および第9処理部F9が出力する電圧指令Vdq*のうち、第8処理部F8が出力する電圧指令Vdq*を選択して第3処理部F3に出力する。
【0138】
第3処理部F3は、第2処理部F2が出力した電圧指令Vdq*から電圧指令Vuvw*を生成する。そして、第3処理部F3は、生成した電圧指令Vuvw*をPWM変換器10に出力する。PWM変換器10は、制御装置60が出力する制御信号Vuvw*と、インバータ20の入力直流電圧Vdcとに基づいて、インバータ20を制御するPWM信号を生成する。そして、PWM変換器10は、生成したPWM信号をインバータ20に出力する。
【0139】
つまり、この場合、PWM変換器10は、電圧位相制御を行うためのPWM信号をインバータ20に出力する。
【0140】
また、電圧位相制御を示すフラグに基づいて、第9処理部F9は使用されず、第8処理部F8が使用される。上述のように、制御装置60は、電圧位相制御の状態になっている。
【0141】
次に、この電圧位相制御からベクトル制御に切り替わる際に行われる処理について説明する。制御装置60が電圧位相制御の状態で、モータ40の駆動状態が変化し、第1処理部F1が、モータの駆動状態に基づいてベクトル制御を使用すると判定した場合、第1処理部F1は、ベクトル制御を示すフラグを、第2処理部F2、第8処理部F8、および第9処理部F9に出力する。
【0142】
第2処理部F2は、第1処理部F1から受けるフラグに基づいて、第8処理部F8が出力する電圧指令Vdq*、および第9処理部F9が出力する電圧指令Vdq*のうち、第9処理部F9が出力する電圧指令Vdq*を選択して第3処理部F3に出力する。
【0143】
ただし、電圧位相制御の間、処理部F93およびF96は使用されていないため、電圧位相制御からベクトル制御に切り替わった場合、第9処理部F9は、切り替わる直前の電圧位相制御からシームレスに制御切替可能な電圧指令値を演算することができない。そのため、電圧位相制御からベクトル制御に切り替える場合、処理部F93および処理部F96に対して、切り替わる直前の電圧位相制御に応じた初期値を設定することにより、電圧位相制御からベクトル制御へシームレスな切り替えを可能にする。具体的には、モータシステム1は、初期値を設定するために以下のような処理を行う。
【0144】
(処理部F93における初期値の設定)
まず、処理部F93における初期値の設定について説明する。処理部F91a5は、モータ40に流れるモータ電流における実電流振幅値から、前回の電流振幅指令Ia*を推定する(ステップS61)。なお、実電流振幅値としては、前回の電流振幅指令Ia*に対応する今回の実電流振幅値を用いることが望ましい。具体的には、処理部F91a5は、例えば、次の式(10)に実d軸電流値Idおよび実q軸電流値Iqを代入することにより得られた実電流振幅値から、前回の電流振幅指令Ia*を推定する。そして、処理部F91a5は、推定した前回の電流指令Ia*を処理部F91a3に出力する。
【0145】
【数10】
【0146】
処理部F91a2は、本開示の第1実施形態と同様に、処理部F93a2の比例ゲインKpwに、第7処理部F7が出力した前回の差分速度Δωを乗算する(ステップS2)。そして、処理部F91a2は、乗算結果を処理部F91a3に出力する。
【0147】
処理部F91a3は、処理部F91a5が出力した前回の電流振幅指令Ia*から、処理部F91a2が出力した乗算結果を減算する(ステップS62)。そして、処理部F91a3は、減算結果を処理部F93a1の初期値として第9処理部F9に出力する(ステップS4)。このステップS4の処理により、電圧位相制御の状態から推定したベクトル制御の状態に基づいて処理部F93に適切な初期値を設定することができる。そのため、処理部F93は、電圧位相制御からベクトル制御に切り替わった場合であっても、電圧位相制御とベクトル制御とをシームレスに制御することができる。
【0148】
(処理部F96における初期値の設定)
次に、処理部F96における初期値の設定について説明する。処理部F92a11は、モータ40に流れるモータ電流における実電流振幅値から、前回の電流振幅指令Ia*を推定する(ステップS71)。なお、実電流振幅値としては、前回の電流振幅指令Ia*に対応する今回の実電流振幅値を用いることが望ましい。具体的には、処理部F92a11は、例えば、上述の式(10)に実d軸電流値Idおよび実q軸電流値Iqを代入することにより、前回の電流振幅指令Ia*を推定する。そして、処理部F92a11は、推定した前回の電流指令Ia*を処理部F92a3およびF92a12に出力する。
【0149】
処理部F92a12は、式(11)に示す最大トルク発生位相の式を用いて、処理部F92a11が出力する電流振幅指令Ia*から位相指令β*を生成する(ステップS72)。そして、処理部F92a12は、生成した位相指令β*を処理部F92a3に出力する。
【0150】
【数11】
【0151】
処理部F92a3は、処理部F92a11が出力した電流振幅指令Ia*および処理部F92a12が出力した位相指令β*からd軸電流指令Id*を推定する(ステップS73)。そして、処理部F92a3は、推定したd軸電流指令Id*を処理部F92a5に出力する。
【0152】
以降、本開示の第1実施形態と同様に、ステップS14~ステップS19の処理と同様の処理を行う。また、処理部F92は、上述のd軸に対するステップS71~ステップS73、ステップS14~ステップS19の処理と同様の処理をq軸に対しても行う。このステップS19の処理と同様の処理により、電圧位相制御の状態から推定したベクトル制御の状態に基づいて処理部F96に適切な初期値を設定することができる。そのため、処理部F96は、電圧位相制御からベクトル制御に切り替わった場合であっても、電圧位相制御とベクトル制御とをシームレスに制御することができる。
【0153】
(電圧位相制御からベクトル制御へ切り替わる際の切り替え初回のベクトル制御の状態においてモータを動作させる処理)
次に、制御装置60が電圧位相制御からベクトル制御へ切り替わる際の切り替え初回のベクトル制御の状態においてモータシステム1が行うモータ40を動作させる処理について説明する。制御装置60が電圧位相制御の状態で、モータ40の駆動状態が変化し、第1処理部F1が、モータの駆動状態に基づいてベクトル制御を使用すると判定した場合、第1処理部F1は、ベクトル制御を示すフラグを、第2処理部F2、第8処理部F8、および第9処理部F9に出力する。
【0154】
処理部F91は制御状態が電圧位相制御からベクトル制御に切り替わった初回のみ、処理部F93における制御状態変数の積分器の初期値を演算し、処理部F93に出力する。処理部F93は、制御状態が電圧位相制御からベクトル制御に切り替わった初回のみ、処理部F91で演算された初期値に基づいて電流振幅指令Ia*を演算し、処理部F94に出力する。それ以外の場合は、前回の積分値を基に電流振幅指令Ia*を演算し、処理部F94に出力する。処理部F94は、処理部F93が出力する電流振幅指令Ia*から電流指令Id*およびIq*(図1ではIdq*と記載)を生成する。そして、処理部F94は、生成した電流指令Id*およびIq*を処理部F95に出力する。処理部F95は、処理部F94が出力する電流指令Id*および第5処理部F5が出力する実際のd軸電流Idからd軸電流偏差ΔIdを生成する。また、処理部F95は、処理部F94が出力する電流指令Iq*および第5処理部F5が出力する実際のq軸電流Iqからq軸電流偏差ΔIqを生成する。そして、処理部F95は、生成したd軸電流偏差ΔIdおよびq軸電流偏差ΔIqを処理部F96に出力する。処理部F92は制御状態が電圧位相制御からベクトル制御に切り替わった初回のみ、処理部F96における制御状態変数の積分器の初期値を演算し、処理部F96に出力する。処理部F96は、制御状態が電圧位相制御からベクトル制御に切り替わった初回のみ、処理部F92で演算された初期値に基づいて処理部F95が出力するd軸電流偏差ΔIdからd軸電圧指令Vd*を生成する。それ以外の場合は、前回の積分値を基にd軸電圧指令Vd*を生成する。また、処理部F96は、制御状態が電圧位相制御からベクトル制御に切り替わった初回のみ、処理部F92で演算された初期値に基づいて処理部F95が出力するq軸電流偏差ΔIqからq軸電圧指令Vq*を生成する。それ以外の場合は、前回の積分値を基にq軸電圧指令Vq*を生成する。処理部F96は、生成したd軸電圧指令Vd*およびq軸電圧指令Vq*を第2処理部F2に出力する。
【0155】
第2処理部F2は、第9処理部F9から電圧指令Vdq*を受ける。第2処理部F2は、第1処理部F1から受けるベクトル制御を示すフラグに基づいて、第8処理部F8が出力する電圧指令Vdq*、および第9処理部F9が出力する電圧指令Vdq*のうち、第9処理部F9が出力する電圧指令Vdq*を選択して第3処理部F3に出力する。第3処理部F3は、電圧指令Vdq*から電圧指令Vuvw*を生成する。そして、第3処理部F3は、生成した電圧指令Vuvw*をPWM変換器10に出力する。PWM変換器10は、制御装置60が出力する電圧指令Vuvw*と、インバータ20の入力直流電圧Vdcとに基づいて、インバータ20を制御するPWM信号を生成する。そして、PWM変換器10は、生成したPWM信号をインバータ20に出力する。インバータ20は、PWM変換器10が出力するPWM信号に応じて、インバータ20の入力直流電圧Vdcからモータ40を駆動する交流電圧を生成する。そして、インバータ20は、生成した交流電圧をモータ40に出力する。モータ40は、インバータ20が出力した交流電圧で動作する。このように、ベクトル制御によりモータ40が動作する。
【0156】
(ベクトル制御から電圧位相制御に切り替わる際に行われる処理)
ベクトル制御から電圧位相制御に切り替わる度に、1度だけ行われる処理部F81の詳細な処理を含むモータシステム1の処理については、上述の処理のように、本開示の第1実施形態によるモータシステム1の処理と同様の処理を考えればよい。
【0157】
(作用効果)
以上、本開示の第2実施形態によるモータシステム1について説明した。モータシステム1の制御装置60において、処理部F91およびF92(推定部の一例)は、前記第1処理部F1による切り替えに応じて前記電圧位相制御から前記ベクトル制御に切り替わる場合に、前記電圧位相制御における前記モータ40に係る物理量(電流振幅値)の値を用いて、前記ベクトル制御に使用する処理部F93(第1制御器の一例)の出力の前回値を推定し、前記ベクトル制御に使用する前記処理部F93および処理部F96(第2制御器の一例)の少なくとも一方の初期値を推定する。
【0158】
これにより、速度フィードバック型の電圧位相制御とベクトル制御とを切り替える場合も、トルクのみならず電流振幅値の値を用いて、処理部F93および処理部F96のベクトル制御の初期値を切り替える直前の電圧位相制御の状態と同等にすることができる。その結果、速度フィードバック型の電圧位相制御とベクトル制御とを切り替える場合も、シームレスな動作とすることができる。
【0159】
<第2実施形態の第1変形例>
本開示の第2実施形態の第1変形例によるモータシステム1について説明する。
【0160】
(モータシステムの構成)
本開示の第2実施形態の第1変形例によるモータシステム1は、本開示の第2実施形態によるモータシステム1と同様に、PWM変換器10、インバータ20、電流センサ30、モータ40、位置センサ50、および制御装置60を備える。
【0161】
(制御装置の構成)
本開示の第2実施形態の第1変形例による制御装置60は、本開示の第2実施形態による制御装置60と同様に、第1処理部F1、第2処理部F2、第3処理部F3、第4処理部F4、第5処理部F5、第6処理部F6、第7処理部F7、第8処理部F8、および第9処理部F9を備える。
【0162】
本開示の第2実施形態の第1変形例による第9処理部F9は、本開示の第2実施形態による第9処理部F9と同様に、処理部F91、F92、F93、F94、F95,およびF96を備える。ただし、本開示の第2実施形態の第1変形例による処理部F91は、本開示の第2実施形態による処理部F91と処理が異なる。
【0163】
図22は、本開示の第2実施形態の第1変形例による処理部F91の構成の一例を示す図である。処理部F91は、図22に示すように、処理部F91a2、F91a3、F91a5、およびF91a6を備える。
【0164】
(モータシステムが行う処理)
図23は、本開示の第2実施形態の第1変形例による処理部F91の処理フローの一例を示す図である。処理部F91a5は、モータ40に流れるモータ電流における実電流振幅値から、前回の電流振幅指令Ia*を推定する(ステップS81)。なお、実電流振幅値としては、前回の電流振幅指令Ia*に対応する今回の実電流振幅値を用いることが望ましい。そして、処理部F91a5は、推定した前回の電流指令Ia*を処理部F91a6に出力する。
【0165】
処理部F91a6は、デジタルのローパスフィルタである。処理部F91a6は、処理部F91a5が出力する前回の電流指令Ia*を通過させる(ステップS82)。処理部F91a5は、ローパスフィルタを構成するために過去のデータが必要な場合は、保存しておく。処理部F91a5が出力する前回の電流指令Ia*は、実電流から算出した値である。そのため、処理部F91a5が出力する前回の電流指令Ia*は、処理部F93における制御周波数よりも高い周波数の変動成分を含んでいる可能性がある。処理部F91a6は、処理部F91a5が出力する前回の電流指令Ia*に含まれる高い周波数の変動成分を除去する。そして、処理部F91a6は、高い周波数の変動成分を除去した前回の電流指令Ia*を処理部F91a3に出力する。
【0166】
なお、本開示の第2実施形態の第1変形例による処理部F91a2およびF91a3が行う処理は、本開示の第2実施形態による処理部F91a2およびF91a3が行う処理と同様である。つまり、処理部F91a6が、高い周波数の変動成分を除去した前回の電流指令Ia*を処理部F91a3に出力すると、その後、ステップS2、ステップs62、ステップS4の処理が行われる。
【0167】
(作用効果)
以上、本開示の第2実施形態の第1変形例によるモータシステム1について説明した。モータシステム1の制御装置60において、デジタルのローパスフィルタである処理部F91a6は、処理部F91a5が出力する前回の電流指令Ia*を通過させる。
【0168】
これにより、処理部F91a3が受ける前回の電流指令Ia*が、高い周波数の変動成分を除去したものになる。その結果、処理部F91a6を通さない前回の電流指令Ia*を用いて初期値演算をした場合と比較して、電流センサ30や電流検出回路80によるモータ電流の検出の誤差、過変調域での駆動等により発生する、電流のリプル成分等による変動成分を除去した切り替え初期値を処理部F93に供給することができ、電流のリプル成分により前回の電流指令Ia*に変動成分がある場合も、制御を切り替える際のトルクや回転数の変動を抑制することができる。
【0169】
<第2実施形態の第2変形例>
本開示の第2実施形態の第2変形例によるモータシステム1について説明する。
【0170】
(モータシステムの構成)
本開示の第2実施形態の第2変形例によるモータシステム1は、本開示の第2実施形態によるモータシステム1と同様に、PWM変換器10、インバータ20、電流センサ30、モータ40、位置センサ50、および制御装置60を備える。
【0171】
(制御装置の構成)
本開示の第2実施形態の第2変形例による制御装置60は、本開示の第1実施形態による制御装置60と同様に、第1処理部F1、第2処理部F2、第3処理部F3、第4処理部F4、第5処理部F5、第6処理部F6、第7処理部F7、第8処理部F8、および第9処理部F9を備える。
【0172】
本開示の第2実施形態の第2変形例による第9処理部F9は、本開示の第2実施形態による第9処理部F9と同様に、処理部F91、F92、F93、F94、F95、およびF96を備える。ただし、本開示の第2実施形態の第2変形例による処理部F92は、本開示の第2実施形態による処理部F92と処理が異なる。
【0173】
図24は、本開示の第1実施形態の第2変形例による処理部F92の構成の一例を示す図である。処理部F92は、図24に示すように、F92a3、F92a4、F92a5、F92a6、F92a7、F92a8、F92a9、F92a11、F92a12、およびF91a13を備える。
【0174】
(モータシステムが行う処理)
図25は、本開示の第2実施形態の第2変形例による処理部F92の処理フローの一例を示す図である。処理部F92a11は、モータ40に流れるモータ電流における実電流振幅値から、前回の電流振幅指令Ia*を推定する(ステップS91)。なお、実電流振幅値としては、前回の電流振幅指令Ia*に対応する今回の実電流振幅値を用いることが望ましい。そして、処理部F92a11は、推定した前回の電流指令Ia*を処理部F92a13に出力する。
【0175】
処理部F92a13は、デジタルのローパスフィルタである。処理部F92a13は、処理部F92a11が出力する前回の電流指令Ia*を通過させる(ステップS92)。処理部F92a11が出力する前回の電流指令Ia*は、実電流から算出した値である。そのため、処理部F92a11が出力する前回の電流指令Ia*は、処理部F93における制御周波数よりも高い周波数の変動成分を含んでいる可能性がある。処理部F92a13は、処理部F92a11が出力する前回の電流指令Ia*に含まれる高い周波数の変動成分を除去する。そして、処理部F92a13は、高い周波数の変動成分を除去した前回の電流指令Ia*を処理部F92a3およびF92a12に出力する。
【0176】
なお、本開示の第2実施形態の第2変形例による処理部F92a3、F92a4、F92a5、F92a6、F92a7、F92a8、F92a9、およびF92a12が行う処理は、本開示の第2実施形態による処理部F92a3、F92a4、F92a5、F92a6、F92a7、F92a8、F92a9、およびF92a12が行う処理と同様である。つまり、処理部F92a13が、高い周波数の変動成分を除去した前回の電流指令Ia*を処理部F92a3およびF92a12に出力すると、その後、ステップS72、ステップS73、ステップS14~ステップS19の処理が行われる。
【0177】
(作用効果)
以上、本開示の第2実施形態の第2変形例によるモータシステム1について説明した。モータシステム1の制御装置60において、デジタルのローパスフィルタである処理部F92a13は、処理部F92a11が出力する前回の電流指令Ia*を通過させる。
【0178】
これにより、処理部F92a3および処理部F92a12が受ける前回の電流指令Ia*が、高い周波数の変動成分を除去したものになる。その結果、処理部F92a13を通さない前回の電流指令Ia*を用いて初期値演算をした場合と比較して、電流センサ30や電流検出回路80によるモータ電流の検出の誤差、過変調域での駆動等により発生する、電流のリプル成分等による変動成分を除去した切り替え初期値を処理部F96に供給することができ、電流のリプル成分により前回の電流指令Ia*に変動成分がある場合も、制御を切り替える際のトルクや回転数の変動を抑制することができる。
【0179】
<第1実施形態および第2実施形態の別の変形例>
本開示の第1実施形態、第1実施形態の第1変形例、第1実施形態の第2変形例、第2実施形態、第2実施形態の第1変形例、第2実施形態の第2変形例では、処理部F81は、図6に示すように、処理部F81a4により電圧位相のリミットを設定し、位相指令φ*が所定の上限値を超えないようにしている。しかしながら、第1実施形態および第2実施形態の別の変形例では、処理部F81a4に代わって、または、処理部F81a4に追加して、処理部F82でリミットを設定し、位相指令φ*が所定の上限値を超えないようにするものであってもよい。なお、処理部F81a4に代わって処理部F82でリミットを設定する場合、処理部F81a3の出力する減算結果が処理部F82の初期値として設定される。
【0180】
(処理部F82の構成)
図26は、本開示の第1実施形態および第2実施形態の別の変形例による処理部F82の構成の一例を示す図である。図26に示す処理部F82は、処理部F82a2、F82a3、およびF82a5を備える。
【0181】
(処理部F82が行う処理)
図26に示す処理部F82が行う処理について説明する。なお、処理部F82a5は、リミッタを備える。リミッタは、モータ40を駆動するインバータ20に入力される直流電圧とモータ40の駆動回転数とに応じて決定される制限値が設けられ、積分値を制限値で制限して電圧位相制御に用いられる制御器の積分器である処理部F82a5の出力を制限する。具体的には、処理部F82a5は、第7処理部F7が出力する差分速度Δωに積分ゲインKiを乗算し、積分する。そして処理部F82a5は、積分結果が所定の上限値以下である場合、積分結果をそのまま処理部F82a3に出力する。また、処理部F82a5は、積分結果が所定の上限値を超えている場合、リミッタにより所定の上限値を積分結果として処理部F82a3に出力する。なお、所定の上限値は、駆動回転数および前記直流電圧から算出される前記モータのトルクと電圧位相との関係を表す関数の極値となる電圧位相に基づいて決定される値であってもよい。この所定の上限値は、定数であってもよいし、モータ40の回転数とインバータ20に入力される直流電圧とに応じた変数であってもよい。
【0182】
処理部F82a2は、第7処理部F7が出力する差分速度Δωに比例ゲインKpを乗算する。そして、処理部F82a2は、乗算結果を処理部F82a3に出力する。
【0183】
処理部F82a3は、処理部F82a5が出力する積分結果と、処理部F82a2が出力する乗算結果とを加算する。そして、処理部F82a3は、加算結果を位相指令φ*として処理部F83に出力する。
【0184】
(作用効果)
以上、図26に示す第1実施形態および第2実施形態の別の変形例によるモータシステム1について説明した。モータシステム1の制御装置60は、処理部F81a4に代わって、または、処理部F81a4に追加して、処理部F82a5を備える。制御装置60において、処理部F82a5は、第7処理部F7が出力する差分速度Δωに積分ゲインKiを乗算し、積分する。そして処理部F82a5は、積分結果が所定の上限値以下である場合、積分結果をそのまま処理部F82a3に出力する。また、処理部F82a5は、積分結果が所定の上限値を超えている場合、所定の上限値を積分結果として処理部F82a3に出力する。その結果、制御装置60は、ベクトル制御と電圧位相制御とを切り替える場合も、トルク、回転数の変動を抑制することができる。
【0185】
処理部F82a5により、ベクトル制御から電圧位相制御へ切り替える際、処理部F81で演算された切り替え初期値が電圧位相制御で安定に制御可能な位相範囲を超えた値となった場合でも、安定に制御可能な範囲の積分値をF82a3に出力することができる。その結果、処理部F82が、処理部F82a5の代わりに出力にリミットが設けられていない処理部F82a1を備える場合に比べて、電流センサ30や電流検出回路80によるモータ電流の検出の誤差、過変調域での駆動等により発生する、電流のリプル成分等により安定に制御可能な位相範囲を超えた切り替え初期値が出力された場合でも安定に制御可能な範囲の積分値を出力することができ、ベクトル制御から電圧位相制御への切り替え時に、トルク、回転数変動を抑制し、安定にモータを制御することができる。
【0186】
なお、上述の本開示の各実施形態によるモータシステム1は、速度フィードバック型の電圧位相制御を前提として説明した。しかしながら、図6に示す処理部F81a4、図26に示す処理部F82a4、図26に示す処理部F82a5のそれぞれが行うリミットを設定する処理は、速度フィードバック型ではない電圧位相制御を行うモータシステムに適用するものであってもよい。
【0187】
なお、本開示の別の実施形態では、モータシステム1が備える制御装置60は、速度フィードバック型の電圧位相制御を行うものに限定されず、他のフィードバック型の電圧位相制御を行うものであってもよい。この場合、制御装置60は、他のフィードバック型の電圧位相制御とベクトル制御とを切り替えるものであってもよい。その結果、速度フィードバック型以外のフィードバック型の電圧位相制御とベクトル制御とを切り替える場合も、シームレスな動作とすることができる。
【0188】
なお、本開示の各実施形態における処理は、適切な処理が行われる範囲において、処理の順番が入れ替わってもよい。
【0189】
本開示の各実施形態における記憶部や記憶装置(レジスタ、ラッチを含む)のそれぞれは、適切な情報の送受信が行われる範囲においてどこに備えられていてもよい。また、記憶部や記憶装置のそれぞれは、適切な情報の送受信が行われる範囲において複数存在しデータを分散して記憶していてもよい。
【0190】
本開示の各実施形態について説明したが、上述のモータシステム1、制御装置60、その他の制御装置は内部に、コンピュータシステムを有していてもよい。そして、上述した処理の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。コンピュータの具体例を以下に示す。
【0191】
図27は、少なくとも1つの実施形態に係るコンピュータの構成を示す概略ブロック図である。コンピュータ5は、図27に示すように、CPU(Central Processing Unit)6、メインメモリ7、ストレージ8、インターフェース9を備える。
【0192】
例えば、上述のモータシステム1、制御装置60、その他の制御装置のそれぞれは、コンピュータ5に実装される。そして、上述した各処理部の動作は、プログラムの形式でストレージ8に記憶されている。CPU6は、プログラムをストレージ8から読み出してメインメモリ7に展開し、当該プログラムに従って上記処理を実行する。また、CPU6は、プログラムに従って、上述した各記憶部に対応する記憶領域をメインメモリ7に確保する。
【0193】
ストレージ8の例としては、HDD(Hard Disk Drive)、SSD(Solid State Drive)、磁気ディスク、光磁気ディスク、CD-ROM(Compact Disc Read Only Memory)、DVD-ROM(Digital Versatile Disc Read Only Memory)、半導体メモリ等が挙げられる。ストレージ8は、コンピュータ5のバスに直接接続された内部メディアであってもよいし、インターフェース9または通信回線を介してコンピュータ5に接続される外部メディアであってもよい。また、このプログラムが通信回線によってコンピュータ5に配信される場合、配信を受けたコンピュータ5が当該プログラムをメインメモリ7に展開し、上記処理を実行してもよい。少なくとも1つの実施形態において、ストレージ8は、一時的でない有形の記憶媒体である。
【0194】
また、上記プログラムは、前述した機能の一部を実現してもよい。さらに、上記プログラムは、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるファイル、いわゆる差分ファイル(差分プログラム)であってもよい。
【0195】
本開示のいくつかの実施形態を説明したが、これらの実施形態は、例であり、開示の範囲を限定しない。これらの実施形態は、開示の要旨を逸脱しない範囲で、種々の追加、種々の省略、種々の置き換え、種々の変更を行ってよい。
【0196】
<付記>
本開示の各実施形態に記載の制御装置、モータシステム、処理方法、およびプログラムは、例えば以下のように把握される。
【0197】
(1)第1の態様に係る制御装置(60)は、
モータ(40)の駆動状態に応じて前記モータ(40)を制御するためのベクトル制御と電圧位相制御とを切り替える制御装置であって、
前記モータ(40)を駆動するインバータ(20)に入力される直流電圧と前記モータ(40)の駆動回転数とに応じて決定される制限値が設けられ、前記ベクトル制御から前記電圧位相制御に切り替わる場合、入力された値を前記制限値で制限して前記電圧位相制御に用いられる制御器(F83)の初期値を生成するリミッタ(F81a4)、
を備える。
【0198】
これにより、制御装置(60)は、ベクトル制御の電圧指令にリプル成分が重畳される場合も、ベクトル制御から電圧位相制御への切り替え時に、トルク、回転数変動を抑制し、安定にモータを制御することができる。
【0199】
(2)第2の態様に係る制御装置(60)は、(1)の制御装置(60)であって、
前記制限値は、
前記駆動回転数および前記直流電圧から算出される前記モータのトルクと電圧位相との関係を表す関数の極値となる電圧位相に基づいて決定される値であってもよい。
【0200】
これにより、制御装置(60)は、ベクトル制御の電圧指令にリプル成分が重畳される場合も、ベクトル制御から電圧位相制御への切り替え時に、トルク、回転数変動を抑制し、安定にモータを制御することができる。
【0201】
(3)第3の態様に係る制御装置(60)は、(1)の制御装置(60)であって、
前記制限値は、
前記駆動回転数の範囲および前記直流電圧の範囲により予め決定された定数であってもよい。
【0202】
これにより、制御装置(60)は、ベクトル制御の電圧指令にリプル成分が重畳される場合も、ベクトル制御から電圧位相制御への切り替え時に、トルク、回転数変動を抑制し、安定にモータを制御することができる。
【0203】
(4)第4の態様に係る制御装置(60)は、(1)の制御装置(60)であって、
前記制限値は、
前記駆動回転数および前記直流電圧に応じて演算される変数であってもよい。
【0204】
これにより、制御装置(60)は、ベクトル制御の電圧指令にリプル成分が重畳される場合も、ベクトル制御から電圧位相制御への切り替え時に、トルク、回転数変動を抑制し、安定にモータを制御することができる。
【0205】
(5)第5の態様に係るモータシステム(1)は、
(1)から(4)の何れか1つに記載の制御装置(60)と、
前記制御装置(60)の出力に基づいて動作するモータ(40)と、
を備える。
【0206】
これにより、モータシステム(1)は、ベクトル制御の電圧指令にリプル成分が重畳される場合も、ベクトル制御から電圧位相制御への切り替え時に、トルク、回転数変動を抑制し、安定にモータを制御することができる。
【0207】
(6)第6の態様に係る処理方法は、
モータ(40)の駆動状態に応じて前記モータ(40)を制御するためのベクトル制御と電圧位相制御とを切り替える制御装置(60)が実行する処理方法であって、
前記モータ(40)を駆動するインバータ(20)に入力される直流電圧と前記モータ(40)の駆動回転数とに応じて決定される制限値が設けられ、前記ベクトル制御から前記電圧位相制御に切り替わる場合、入力された値を前記制限値で制限して前記電圧位相制御に用いられる制御器(F83)の初期値を生成すること、
を含む。
【0208】
これにより、処理方法は、ベクトル制御の電圧指令にリプル成分が重畳される場合も、ベクトル制御から電圧位相制御への切り替え時に、トルク、回転数変動を抑制し、安定にモータを制御することができる。
【0209】
(7)第7の態様に係るプログラムは、
モータ(40)の駆動状態に応じて前記モータ(40)を制御するためのベクトル制御と電圧位相制御とを切り替える制御装置のコンピュータ(5)に、
前記モータ(40)を駆動するインバータ(20)に入力される直流電圧と前記モータ(40)の駆動回転数とに応じて決定される制限値が設けられ、前記ベクトル制御から前記電圧位相制御に切り替わる場合、入力された値を前記制限値で制限して前記電圧位相制御に用いられる制御器(F83)の初期値を生成すること、
を実行させる。
【0210】
(8)第8の態様に係る制御装置(60)は、
モータ(40)の駆動状態に応じて前記モータ(40)を制御するためのベクトル制御と電圧位相制御とを切り替える制御装置であって、
前記モータ(40)を駆動するインバータ(20)に入力される直流電圧と前記モータ(40)の駆動回転数とに応じて決定される制限値が設けられ、積分値を前記制限値で制限して前記電圧位相制御に用いられる制御器の積分器(F82a5)の出力を制限するリミッタ、を備える。
【0211】
これにより、制御装置(60)は、ベクトル制御の電圧指令にリプル成分が重畳される場合も、ベクトル制御から電圧位相制御への切り替え時に、トルク、回転数変動を抑制し、安定にモータを制御することができる。
【0212】
これにより、プログラムは、ベクトル制御の電圧指令にリプル成分が重畳される場合も、ベクトル制御から電圧位相制御への切り替え時に、トルク、回転数変動を抑制し、安定にモータを制御することができる。
【符号の説明】
【0213】
1・・・モータシステム
5・・・コンピュータ
6・・・CPU
7・・・メインメモリ
8・・・ストレージ
9・・・インターフェース
10・・・PWM変換器
20・・・インバータ
30・・・電流センサ
40・・・モータ
50・・・位置センサ
60・・・制御装置
70・・・電圧検出回路
80・・・電流検出回路
F1・・・第1処理部
F2・・・第2処理部
F3・・・第3処理部
F4・・・第4処理部
F5・・・第5処理部
F6・・・第6処理部
F7・・・第7処理部
F8・・・第8処理部
F9・・・第9処理部
F81、F81a1、F81a2、F81a3、F81a4、F82、F82a1、F82a2、F82a3、F82a4、F82a5、F83、F91、F91a1、F91a2、F91a3、F91a4、F91a5、F91a6、F92、F92a1、F92a2、F92a3、F92a4、F92a5、F92a6、F92a7、F92a8、F92a9、F92a10、F92a11、F92a12、F92a13、F93、F93a1、F93a2、F93a3、F94、F95、F96、F96d、F96q、F96a1d、F96a2d、F96a3d、F96a4d、F96a5d、F96a1q、F96a2q、F96a3q、F96a4q、F96a5q・・・処理部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23
図24
図25
図26
図27