(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-18
(45)【発行日】2024-11-26
(54)【発明の名称】モータ制御装置、モータシステム及びモータ制御方法
(51)【国際特許分類】
H02P 27/08 20060101AFI20241119BHJP
H02P 6/28 20160101ALI20241119BHJP
【FI】
H02P27/08
H02P6/28
(21)【出願番号】P 2020162660
(22)【出願日】2020-09-28
【審査請求日】2023-08-24
(73)【特許権者】
【識別番号】000114215
【氏名又は名称】ミネベアミツミ株式会社
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(72)【発明者】
【氏名】大場 隆志
【審査官】池田 貴俊
(56)【参考文献】
【文献】特開2013-162536(JP,A)
【文献】特開2009-118621(JP,A)
【文献】米国特許出願公開第2013/0194852(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H02P 27/08
H02P 6/28
(57)【特許請求の範囲】
【請求項1】
複数相のコイルを有するモータの各相に対応する複数のPWM信号を生成する制御部と、
前記PWM信号に基づいて、各相の前記コイルを駆動するインバータ回路と、
前記インバータ回路の直流ラインに直列に接続された電流検出器と、を備え、
一制御周期は、第1PWM周期と第2PWM周期とを含み、
前記第1PWM周期は、第1期間と残りの第2期間とを含み、
前記制御部は、
前記電流検出器に前記第2期間に流れる電流を検出する電流検出部と、
前記電流の検出結果に基づいて、各相の前記PWM信号のパルス幅設定値を設定する設定部と、
前記設定部によって設定された各相の前記PWM信号の前記パルス幅設定値に基づいて、前記第1PWM周期及び前記第2PWM周期のそれぞれの各相の前記PWM信号を生成するPWM信号生成部と、を有し、
前記設定部によって設定された第1相のPWM信号のパルス幅設定値をp1、パルス幅設定値p1が前記第1PWM周期に収まらない分である超過パルス幅をpeとするとき、
前記第1相のPWM信号の前記第1PWM周期のパルス幅は、(p1-pe)であり、
前記第1相のPWM信号の前記第2PWM周期のパルス幅は、(p1+pe)であ
り、
前記第2PWM周期は、前記電流検出部による電流検出が行われない周期である、
モータ制御装置。
【請求項2】
超過パルス幅peを保存するメモリを備え、
前記メモリに保存された超過パルス幅peを前記第2PWM周期に付け加える、
請求項1に記載のモータ制御装置。
【請求項3】
前記第1相のPWM信号のパルス幅が前記第1PWM周期に収まるか否かを判断し、前記第1相のPWM信号のパルス幅が前記第1PWM周期に収まらない場合、前記メモリに保存された超過パルス幅peを前記第2PWM周期に付け加える、
請求項2に記載のモータ制御装置。
【請求項4】
前記第1相のPWM信号の信号レベルの切り替えタイミングを判定し、前記切り替えタイミングが前記第1期間に収まらない場合、前記メモリに保存された超過パルス幅peを前記第2PWM周期に付け加える、
請求項2に記載のモータ制御装置。
【請求項5】
各相の前記PWM信号の前記第2PWM周期の信号レベルが互いに同じタイミングで切り替わる、
請求項
1から4のいずれか一項に記載のモータ制御装置。
【請求項6】
請求項1から
5のいずれか一項に記載のモータ制御装置と、
前記モータと、を備える、
モータシステム。
【請求項7】
複数相のコイルを有するモータの各相に対応する複数のPWM信号を生成する制御部と、前記PWM信号に基づいて、各相の前記コイルを駆動するインバータ回路と、前記インバータ回路の直流ラインに直列に接続された電流検出器と、を備えるモータ制御装置で実行されるモータ制御方法であって、
一制御周期は、第1PWM周期と第2PWM周期とを含み、
前記第1PWM周期は、第1期間と残りの第2期間とを含み、
前記電流検出器に前記第2期間に流れる電流を検出し、
前記電流の検出結果に基づいて、各相の前記PWM信号のパルス幅設定値を導出し、
導出された各相の前記PWM信号の前記パルス幅設定値に基づいて、前記第1PWM周期及び前記第2PWM周期のそれぞれの各相の前記PWM信号を生成し、
導出された第1相のPWM信号の前記パルス幅設定値をp1、パルス幅設定値p1が前記第1PWM周期に収まらない分である超過パルス幅をpeとするとき、
前記第1相のPWM信号の前記第1PWM周期のパルス幅は、(p1-pe)であり、
前記第1相のPWM信号の前記第2PWM周期のパルス幅は、(p1+pe)であ
り、
前記第2PWM周期は、前記電流検出器に前記第2期間に流れる電流を検出する電流検出部による電流検出が行われない周期である、
モータ制御方法。
【請求項8】
超過パルス幅peをメモリに保存し、
前記メモリに保存された超過パルス幅peを前記第2PWM周期に付け加える、
請求項7に記載のモータ制御方法。
【請求項9】
前記第1相のPWM信号のパルス幅が前記第1PWM周期に収まるか否かを判断し、前記第1相のPWM信号のパルス幅が前記第1PWM周期に収まらない場合、前記メモリに保存された超過パルス幅peを前記第2PWM周期に付け加える、
請求項8に記載のモータ制御方法。
【請求項10】
前記第1相のPWM信号の信号レベルの切り替えタイミングを判定し、前記切り替えタイミングが前記第1期間に収まらない場合、前記メモリに保存された超過パルス幅peを前記第2PWM周期に付け加える、
請求項8に記載のモータ制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、モータ制御装置、モータシステム及びモータ制御方法に関する。
【背景技術】
【0002】
従来、インバータ回路の直流部に挿入した1つのシャント抵抗を用いて、3相のモータを制御するためのU,V,W各相の電流を検出する技術が知られている。この方式では、1つのPWM(Pulse Width Modulation,パルス幅変調)周期内において、1相がオンする期間と2相がオンする期間で電流を検出できるように各相のPWM信号を発生させる(例えば、特許文献1,2,3,4参照)。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2003-189670号公報
【文献】特開2010-074902号公報
【文献】特開2013-055772号公報
【文献】特開2017-163789号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、シャント抵抗等の電流検出器に流れる電流が大きくなる状況では、電流検出区間を確保すると、PWM信号のパルス幅が一つのPWM周期に収まらない相が発生するという不都合が生じることある。このような不都合を防ぐため、電圧変調率に制限をかけると、所望の回転数やトルクを得ることができない場合がある。電圧変調率とは、パルス幅を0~100%内でどこまで広げられるか(又は、どこまで狭められるか)の割合を表す。
【0005】
本開示は、電圧変調率の向上が可能なモータ制御装置、モータシステム及びモータ制御方法を提供する。
【課題を解決するための手段】
【0006】
本開示の一態様では、
複数相のコイルを有するモータの各相に対応する複数のPWM信号を生成する制御部と、
前記PWM信号に基づいて、各相の前記コイルを駆動するインバータ回路と、
前記インバータ回路の直流ラインに直列に接続された電流検出器と、を備え、
一制御周期は、第1PWM周期と第2PWM周期とを含み、
前記第1PWM周期は、第1期間と残りの第2期間とを含み、
前記制御部は、
前記電流検出器に前記第2期間に流れる電流を検出する電流検出部と、
前記電流の検出結果に基づいて、各相の前記PWM信号のパルス幅設定値を設定する設定部と、
前記設定部によって設定された各相の前記PWM信号の前記パルス幅設定値に基づいて、前記第1PWM周期及び前記第2PWM周期のそれぞれの各相の前記PWM信号を生成するPWM信号生成部と、を有し、
前記設定部によって設定された第1相のPWM信号のパルス幅設定値をp1、パルス幅設定値p1が前記第1PWM周期に収まらない分である超過パルス幅をpeとするとき、
前記第1相のPWM信号の前記第1PWM周期のパルス幅は、(p1-pe)であり、
前記第1相のPWM信号の前記第2PWM周期のパルス幅は、(p1+pe)である、
モータ制御装置を提供する。
【発明の効果】
【0007】
本開示によれば、電圧変調率を向上できる。
【図面の簡単な説明】
【0008】
【
図1】実施の形態1に係るモータシステムの構成例を示す図である。
【
図2】実施の形態1に係るモータ制御装置による相電流の検出方法の概要を説明するための図である。
【
図3】実施の形態1に係るモータ制御装置によるPWM信号の生成原理を説明するための図である。
【
図4】実施の形態1に係るモータ制御装置によるモータ駆動制御処理の流れを示すフローチャートである。
【
図5】デューティ比の設定値に基づいて各相のPWM信号を生成する処理(
図4のステップS14)の流れを示すフローチャートである。
【
図6】デューティ比の設定値に基づいて各相のPWM信号を生成する処理(
図4のステップS14)の流れを示すフローチャートである。
【
図7】デューティ比の設定値に基づいて各相のPWM信号を生成する処理(
図4のステップS14)の流れを示すフローチャートである。
【
図8】デューティ比の設定値に基づいて各相のPWM信号を生成する処理(
図4のステップS14)の流れを示すフローチャートである。
【
図9】第2期間Bが第1PWM周期の後半にある電流検出方式で相電流を検出する第1ケースの各波形を例示するタイミングチャートである。
【
図10】第2期間Bが第1PWM周期の前半にある電流検出方式で相電流を検出する第2ケースの各波形を例示するタイミングチャートである。
【発明を実施するための形態】
【0009】
以下、図面を参照して、本発明の実施の形態に係るモータ制御装置、モータシステム及びモータ制御方法について詳細に説明する。
【0010】
≪実施の形態1≫
図1は、実施の形態1に係るモータシステムの構成例を示す図である。
図1に示されるモータシステム1は、モータ4の回転動作を制御する。モータシステム1が搭載される機器は、例えば、コピー機、パーソナルコンピュータ、冷蔵庫等であるが、当該機器は、これらに限られない。モータシステム1は、モータ4と、モータ制御装置100とを少なくとも備える。
【0011】
モータ4は、複数のコイルを有する。モータ4は、例えば、U相コイルLuと、V相コイルLvと、W相コイルLwとを含む3相コイルを有する。モータ4の具体例として、3相のブラシレスモータなどが挙げられる。U相コイルLuと、V相コイルLvと、W相コイルLwとは、例えば、スター結線により互いに接続されている。
【0012】
モータ制御装置100は、3相ブリッジ接続された複数のスイッチング素子を3相のPWM信号を含む通電パターンに従いオン/オフ(ON/OFF)制御することで、直流を3相交流に変換してモータ4の駆動を制御する。
【0013】
具体的に、モータ制御装置100は、インバータ回路23、制御部20、および電流検出器24を備え、モータ4を制御する。
【0014】
インバータ回路23は、直流電源21から供給される直流電力を複数のスイッチング素子のスイッチングによって3相交流に変換し、3相交流の駆動電流をモータ4の各相のコイルに流すことによって、モータ4のロータを回転させる回路である。インバータ回路23は、後述する通電パターン生成部35によって生成される複数の通電パターン(より具体的には、通電パターン生成部35内のPWM信号生成部32によって生成される3相のPWM信号)に基づいて、モータ4を駆動する。このように、インバータ回路23は、3相のPWM信号に基づいて、各相のコイルを駆動して、モータ4を駆動する。
【0015】
インバータ回路23は、3相ブリッジ接続された複数のスイッチング素子25U+,25V+,25W+,25U-,25V-,25W-を有する。スイッチング素子25U+,25V+,25W+は、それぞれ、直流電源21の正極側に正側母線22aを介して接続されるハイサイドスイッチング素子(上アーム)である。スイッチング素子25U-,25V-,25W-は、それぞれ、直流電源21の負極側(具体的には、グランド側)に接続されるローサイドスイッチング素子(下アーム)である。複数のスイッチング素子25U+,25V+,25W+,25U-,25V-,25W-は、それぞれ、上述の通電パターンに含まれるPWM信号に基づいて駆動回路33から供給される複数の駆動信号のうち、対応する駆動信号に従って、オン又はオフとなる。以下では、複数のスイッチング素子25U+,25V+,25W+,25U-,25V-,25W-を、特に区別しない場合には、単にスイッチング素子と称する場合がある。
【0016】
スイッチング素子25U+とスイッチング素子25U-との接続点は、モータ4のU相コイルの一端に接続される。スイッチング素子25V+とスイッチング素子25V-との接続点は、モータ4のV相コイルの一端に接続される。スイッチング素子25W+とスイッチング素子25W-との接続点は、モータ4のW相コイルの一端に接続される。U相コイルとV相コイルとW相コイルとのそれぞれの他端は、互いに接続されている。
【0017】
スイッチング素子の具体例として、Nチャネル型のMOSFET(Metal Oxide Semiconductor Field Effect Transistor)やIGBT(Insulated Gate Bipolar Transistor)などが挙げられる。しかしながら、スイッチング素子は、これらに限られない。
【0018】
電流検出器24は、インバータ回路23の直流側に流れる電流の電流値に対応する検出信号Sdを出力する。
図1に示される電流検出器24は、負側母線22bに流れる電流の電流値に対応する検出信号Sdを発生させる。電流検出器24は、例えば、負側母線22bに配置される電流検出素子であり、より具体的には、負側母線22bに挿入される抵抗(シャント抵抗)である。シャント抵抗等の電流検出素子は、自身に流れる電流の電流値に対応する電圧信号を検出信号Sdとして発生する。負側母線22bは、インバータ回路23の直流ラインの一例である。電流検出器24は、負側母線22bに直列に接続されたデバイスである。なお、電流検出器24は、負側母線22bに流れる電流の電流値に対応する検出信号を出力するものであればよく、他の電流検出方式の電流センサでもよい。
【0019】
制御部20は、モータ4の各相に対応する複数のPWM信号を生成する。制御部20は、例えば、CPU等のプロセッサと、RAM,ROM等の各種記憶装置と、カウンタ(タイマ)、A/D変換回路、D/A変換回路、および入出力I/F回路等の周辺回路とがバスを介して互いに接続された構成を有するプログラム処理装置(例えば、マイクロコントローラ)である。本実施の形態において、制御部20は、IC(集積回路)としてパッケージ化されているが、これに限られない。
【0020】
制御部20は、例えば、上位装置(図示せず)から入力されたモータ4の回転速度指令ωrefと、電流検出器24の検出信号Sdに基づくモータ4の各相の相電流とに基づいて、モータ4が適切に動作するように、各相のPWM信号を生成する。
【0021】
PWM信号の1周期(以下、「PWM周期」とも称する。)の期間に各相の相電流を計測するために、通電パターンに応じて各相のPWM信号のレベルが切り替わる順番が変化するようなパルス位相調整法を採用する場合がある。この場合、各相のPWM信号の信号レベルが切り替わる順番が変化するタイミングにおいて、モータ4の電流に歪みが生じ、騒音の原因となることがある。
【0022】
本実施の形態に係るモータ制御装置100では、モータ4の電流の歪みを防止するために、PWM周期を、デューティ比を調整するための第1期間Aと各相の相電流を検出するための第2期間Bとに分ける。制御部20は、各相のPWM信号の信号レベルが、第1期間Aにおいてデューティ比に応じた一又は複数のタイミングでそれぞれ切り替わり、第2期間Bにおいて互いに異なる所定のタイミングでそれぞれ切り替わるように、各相のPWM信号を生成する。そして、制御部20は、PWM周期における第2期間B内の所定の電流検出タイミングにおいて、相電流を計測する。
【0023】
図2は、実施の形態1に係るモータ制御装置100による相電流の検出方法の概要を説明するための図である。
【0024】
図2に示すように、本実施の形態に係るモータ制御装置100では、PWM信号U,V,WのキャリアCとして、2種類のキャリアC1,C2を用いる。
【0025】
キャリアC1は、PWM周期における第1期間Aに対応する周期でレベルが増加する、のこぎり波状のキャリアである。キャリアC2は、PWM周期における第2期間Bに対応する周期でレベルが増加する、のこぎり波状のキャリアである。
【0026】
図2に示すように、キャリアC1とキャリアC2とは、交互に生成され、連続する一組のキャリアC1,C2によってPWM信号U,V,Wの1周期(PWM周期)が定められる。
【0027】
各相に対応するPWM信号U,V,Wは、後述するパルス幅設定値Udu,Vdu,Wduに基づいて算出される閾値とキャリアC1,C2とが一致するタイミングで、ハイレベルとローレベルとが反転するように、生成される。
【0028】
PWM信号Uは、U相の上下アームを構成する2つのスイッチング素子を駆動するためのPWM信号である。PWM信号Uがローレベルのとき、U相の下アームのスイッチング素子がオン(U相の上アームのスイッチング素子がオフ)となり、PWM信号Uがハイレベルのとき、U相の下アームのスイッチング素子がオフ(U相の上アームのスイッチング素子がオン)となる。PWM信号Uのレベルの変化に対して、U相の上下アームを構成する2つのスイッチング素子は相補的にオンオフ動作する。
【0029】
PWM信号Vは、V相の上下アームを構成する2つのスイッチング素子を駆動するためのPWM信号である。PWM信号Vがローレベルのとき、V相の下アームのスイッチング素子がオン(V相の上アームのスイッチング素子がオフ)となり、PWM信号Vがハイレベルのとき、V相の下アームのスイッチング素子がオフ(V相の上アームのスイッチング素子がオン)となる。PWM信号Vのレベルの変化に対して、V相の上下アームを構成する2つのスイッチング素子は相補的にオンオフ動作する。
【0030】
PWM信号Wは、W相の上下アームを構成する2つのスイッチング素子を駆動するためのPWM信号である。PWM信号Wがローレベルのとき、W相の下アームのスイッチング素子がオン(W相の上アームのスイッチング素子がオフ)となり、PWM信号Wがハイレベルのとき、W相の下アームのスイッチング素子がオフ(W相の上アームのスイッチング素子がオン)となる。PWM信号Wのレベルの変化に対して、W相の上下アームを構成する2つのスイッチング素子は相補的にオンオフ動作する。
【0031】
なお、複数のPWM信号U,V,Wがローレベルからハイレベルに転じるタイミングは、各相のパルス幅設定値Udu,Vdu,Wduに基づく閾値とキャリアCとが一致するタイミングよりも若干遅れたタイミングとなる。上下アームの短絡防止のためのデッドタイムが必要だからである。
図2では、説明の便宜上デッドタイムの表記が省略される。以下では、複数のPWM信号U~Wのそれぞれを区別しない場合、「PWM信号」と称する場合がある。
【0032】
通常モードで、実施の形態1に係るPWM信号U,V,Wは、キャリアC1によって定められる時刻t0から時刻t4までの第1期間Aにおいて、デューティ比に応じたタイミングでそれぞれの信号レベルが切り替わり、キャリアC2によって定められる時刻t4から時刻t8までの第2期間Bにおいて互いに異なる固定されたタイミングでそれぞれの信号レベルが切り替わる。通常モードとは、後述の
図8のステップS82で設定されたタイミングd1,d2,e1,e2,f1,f2でPWM信号U,V,Wの信号レベルが切り替わるモードであり、第1モードの一例である。
【0033】
例えば、U相のPWM信号Uは、第1期間Aにおけるタイミング(時刻)t1において信号レベルがローレベルからハイレベルに切り替わり、第2期間Bにおけるタイミングt5において信号レベルがハイレベルからローレベルに切り替わる。V相のPWM信号Vは、第1期間Aにおけるタイミング(時刻)t2において信号レベルがローレベルからハイレベルに切り替わり、第2期間Bにおけるタイミングt6において信号レベルがハイレベルからローレベルに切り替わる。W相のPWM信号Vは、第1期間Aにおけるタイミング(時刻)t3において信号レベルがローレベルからハイレベルに切り替わり、第2期間Bにおけるタイミングt7において信号レベルがハイレベルからローレベルに切り替わる。
【0034】
通常モードでは、第1期間Aにおいて、PWM信号U、V、およびWの信号レベルが切り替わるタイミングは、後述するデューティ比算出部31によって設定されるパルス幅設定値Udu,Vdu,Wduに応じて変化する。
【0035】
一方、通常モードでは、第2期間Bにおいて、PWM信号U、V、およびWの信号レベルが変化する(切り替わる)タイミングは、デューティ比の設定値(パルス幅設定値Udu,Vdu,Wdu)によらず固定されている。換言すれば、第2期間Bにおいて、PWM信号U、V、およびWの信号レベルが切り替わる順番は、固定されている。例えば、
図2に示すように、第2期間Bにおいて、U相、V相、W相の順に、PWM信号U、V、およびWの信号レベルが切り替わり、この順番は、モータの駆動制御中は、変更されない。なお、各PWM信号U,V,Wの信号レベルが切り替わる順番は、上記の例に限定されない。
【0036】
図2に示すように、第2期間Bにおいて、モータ制御装置100は、U相のPWM信号Uが切り替わるタイミングt5とV相のPWM信号Vが切り替わるタイミングt6との間の期間Tuにおいて、例えばシャント抵抗のような電流検出器24に流れる電流を計測する。また、モータ制御装置100は、V相のPWM信号Vが切り替わるタイミングt6とW相のPWM信号Wが切り替わるタイミングt7との間の期間Tuvにおいて、電流検出器24に流れる電流を計測する。
【0037】
期間Tuにおいて計測された電流は、U相の相電流Iuを表している。また、期間Tuvにおいて計測された電流は、U相の相電流IuとV相の相電流Ivとの和を表している。
【0038】
ここで、U相、V相、W相の各相電流Iu,Iv,Iwは、"Iu+Iv+Iw=0"の関係がある。すなわち、"Iw=-(Iu+Iv)"の関係がある。
【0039】
したがって、上記の関係式と、上記期間Tuvで計測されたU相とV相の相電流の和(Iu+Iv)の計測値から、W相の相電流Iwを算出することができる。また、上記期間Tuで検出したU相の相電流Iuの計測値と、上記期間Tuvで検出したW相の相電流Iwの計測値から、V相の相電流Ivを算出することができる。
【0040】
このように、モータ制御装置100は、PWM周期の第2期間内の期間Tuと期間Tuvにおいて電流検出器24の電流を検出することにより、U相、V相、およびW相の各相電流を計測する。
【0041】
次に、モータ制御装置100における、各相のPWM信号の生成するための具体的な構成と、相電流を検出するための具体的な構成について、詳細に説明する。
【0042】
図1に示すように、制御部20は、各相のPWM信号を生成するための機能ブロックとして、電流検出部27、電流検出タイミング調整部34、駆動回路33、通電パターン生成部35、クロック発生部36、およびキャリア発生部37を有している。
【0043】
電流検出部27は、通電パターン生成部35によって生成される複数の通電パターン(より具体的には、3相のPWM信号)に基づいて、検出信号Sdを取得することによって、モータ4に流れるU,V,W各相の相電流Iu,Iv,Iwを検出する。より詳細には、電流検出部27は、複数の通電パターン(より具体的には、3相のPWM信号)に同期する取得タイミングで検出信号Sdを取得することによって、モータ4に流れるU,V,W各相の相電流Iu,Iv,Iwを検出する。検出信号Sdの取得タイミングは、電流検出タイミング調整部34により設定される。
【0044】
例えば、電流検出部27は、電流検出器24で発生するアナログ電圧の検出信号Sdを、電流検出タイミング調整部34により設定される取得タイミングでA/D(Analog to Digital)変換器に取り込む。当該A/D変換器は、電流検出部27に設けられている。そして、電流検出部27は、取り込んだアナログの検出信号Sdをデジタルの検出信号SdにAD変換し、AD変換後のデジタルの検出信号Sdをデジタル処理することによって、モータ4のU,V,W各相の相電流Iu,Iv,Iwを計測する。
【0045】
電流検出部27により計測された各相の相電流Iu,Iv,Iwの計測値は、通電パターン生成部35に供給される。クロック発生部36は、内蔵する発振回路により所定周波数のクロックを生成し、生成したクロックをキャリア発生部37へ出力する。なお、クロック発生部36は、例えば、モータ制御装置100の電源が投入されると同時に、動作を開始する。
【0046】
通電パターン生成部35は、電流検出部27により計測されるモータ4の相電流Iu,Iv,Iwの計測値に基づいて、モータ4のロータ位置を決定し、その決定したロータ位置にモータ4のロータが追従するように、インバータ回路23を通電させるパターン(インバータ回路23の通電パターン)を指定する信号を生成する。
【0047】
ここで、インバータ回路23の通電パターンは、モータ4を通電させるパターン(モータ4の通電パターン)と言い換えてもよい。インバータ回路23の通電パターンを指定する信号は、例えば、モータ4が回転するようにインバータ回路23を通電させる3相のPWM信号を含む。
【0048】
本実施の形態において、通電パターン生成部35は、インバータ回路23の通電パターンを、ベクトル制御により生成する。なお、インバータの通電パターンを生成する方法は、ベクトル制御に限らず、vf制御等を用いて各相の相電圧を求める方法であってもよい。
【0049】
具体的に、通電パターン生成部35は、デューティ比設定部39およびPWM信号生成部32を有する。
【0050】
デューティ比設定部39は、インバータ回路23の通電パターンを指定する信号としてのPWM信号を生成するための機能部である。デューティ比設定部39は、電流検出部27による電流の検出結果に基づいて、3相のPWM信号のデューティ比を設定する。デューティ比設定部39は、例えば、ベクトル制御部30およびデューティ比算出部31を含む。
【0051】
ベクトル制御部30は、外部からモータ4の回転速度指令ωrefが与えられると、モータ4の回転速度の計測値又は推定値と、回転速度指令ωrefとの差分に基づいて、トルク電流指令Iqrefと励磁電流指令Idrefを生成する。ベクトル制御部30は、電流検出部27による相電流Iu,Iv,Iwの計測値に基づいて、ロータ位置θを用いたベクトル制御演算により、トルク電流Iq及び励磁電流Idを算出する。
【0052】
ベクトル制御部30は、トルク電流指令Iqrefとトルク電流Iqとの差分に対して例えばPI制御演算を行い、電圧指令Vqを生成する。ベクトル制御部30は、励磁電流指令Idrefと励磁電流Idとの差分に対して例えばPI制御演算を行い、電圧指令Vdを生成する。
【0053】
ベクトル制御部30は、電圧指令Vq,Vdを上記のロータ位置θを用いてU,V,W各相の相電圧指令Vu*,Vv*,Vw*に変換する。各相の相電圧指令Vu*,Vv*,Vw*は、デューティ比算出部31に供給される。
【0054】
デューティ比算出部31は、入力される各相の相電圧指令Vu*,Vv*,Vw*に基づいて、3相のPWM信号を生成するためのパルス幅設定値(各相のデューティ比の設定値)Udu,Vdu,Wduを算出する。
【0055】
PWM信号生成部32は、デューティ比設定部39により設定される各相のパルス幅設定値Udu,Vdu,Wduと、キャリアC1,C2とに基づいて、通電パターン信号としての3相のPWM信号U,V,Wを生成する。
【0056】
上述したように、キャリアC1,C2は、レベルが周期的に増減する搬送波信号である。PWM信号生成部32は、各相のパルス幅設定値Udu,Vdu,Wduに基づく閾値とキャリアC1,C2との比較結果に基づいて、3相のPWM信号U,V,Wを生成する。
【0057】
具体的に、PWM信号Uは、U相上アームのスイッチング素子を駆動するためのPWM信号UHとU相下アームのスイッチング素子を駆動するためのPWM信号ULとを含む。PWM信号Vは、V相上アームのスイッチング素子を駆動するためのPWM信号VHとV相下アームのスイッチング素子を駆動するためのPWM信号VLとを含む。PWM信号Wは、W相上アームのスイッチング素子を駆動するためのPWM信号WHとW相下アームのスイッチング素子を駆動するためのPWM信号WLとを含む。
【0058】
PWM信号生成部32は、生成したPWM信号U,V,Wを駆動回路33にそれぞれ出力する。
【0059】
駆動回路33は、与えられたPWM信号を含む通電パターンに従い、インバータ回路23に含まれる6つのスイッチング素子25U+,25V+,25W+,25U-,25V-,25W-をスイッチングさせる駆動信号を出力する。これにより、3相交流の駆動電流がモータ4に供給され、モータ4のロータが回転する。
【0060】
電流検出タイミング調整部34は、PWM信号生成部32により生成される後述の割り込み信号Siに基づいて、電流検出部27がPWM信号の1周期内で3つの相の内、2つの相の相電流を検出するための取得タイミングを決定する。
【0061】
なお、電流検出部27、通電パターン生成部35及び電流検出タイミング調整部34は、不図示の記憶装置に読み出し可能に記憶されるプログラムに従ってプロセッサ(例えば、CPU(Central Processing Unit))が各種の演算を行うことによって実現される。例えば、これらの各機能は、CPUを含むマイクロコンピュータにおけるハードウェアとソフトウェアとの協働により実現される。
【0062】
キャリア発生部37は、
図1に示すクロック発生部36によって生成されたクロックCLKに基づいて、PWM周期における第1期間Aに対応する周期を有するのこぎり波状のキャリアC1と、PWM周期における第2期間Bに対応する周期を有するのこぎり波状のキャリアC2とを生成する。キャリア発生部37は、例えば、計数開始信号が与えられると、クロックCLKの計数を開始し、計数値の累加算(クロックCLKが入力されるたびに1を加算)により、のこぎり波キャリアであるキャリアC1,C2を出力するカウント部を有する。
【0063】
キャリア発生部37は、キャリアC1,C2の周期、すなわち、上述したPWM信号の1周期における第1期間Aと第2期間Bの長さを指定するための情報を記憶する。具体的には、キャリア発生部37は、第1上限値T1と第2上限値T2を記憶する。
【0064】
第1上限値T1は、キャリアC1の周期、すなわち、PWM周期における第1期間Aの長さを指定する値である。第2上限値T2は、キャリアC2の周期、すなわち、PWM周期における第2期間Bの長さを指定する値である。
【0065】
ここで、PWM周期をTとしたとき、T=T1+T2であり、T1>T2である。なお、PWM周期が極端に短い場合や、電流検出区間を極端に長くする場合等、これに限らず、T1<T2となってもよい。
【0066】
図3は、実施の形態1に係るモータ制御装置100によるPWM信号の生成原理を説明するための図である。
【0067】
PWM信号生成部32は、PWM周期の第2期間Bにおける各相のPWM信号の信号レベルが切り替わるタイミングを指定する情報を記憶する固定閾値記憶部を有する。具体的に、固定閾値記憶部は、固定閾値Udu2、Vdu2、およびWdu2を記憶する。
【0068】
固定閾値Udu2は、PWM周期の第2期間BにおけるU相のPWM信号の信号レベルの切り替りタイミングを指定する値である。固定閾値Vdu2は、PWM周期の第2期間BにおけるV相のPWM信号の信号レベルの切り替りタイミングを指定する値である。固定閾値Wdu2は、PWM周期の第2期間BにおけるW相のPWM信号の信号レベルの切り替りタイミングを指定する値である。
【0069】
後述するように、PWM周期の第2期間Bにおいて各相のPWM信号の信号レベルが変化する順番は、固定閾値Udu2、Vdu2、Wdu2同士の大小関係に基づいて、決定される。例えば、Udu2<Vdu2<Wdu2とした場合、PWM周期の第2期間Bにおいて、U相、V相、W相の順に、PWM信号の信号レベルが切り替わる。
【0070】
PWM信号生成部32は、デューティ比設定部39によって設定されたU相、V相、W相の各パルス幅設定値Udu,Vdu,Wduに応じたデューティ比(パルス幅pu,pv,pw)を有するPWM信号が生成されるように、固定閾値Udu2,Vdu2,Wdu2に基づいて、可変閾値Udu1,Vdu,Wduを算出する。
【0071】
可変閾値Udu1は、PWM周期の第1期間AにおけるU相のPWM信号の信号レベルの切り替りタイミングを指定する値である。可変閾値Vdu1は、PWM周期の第1期間AにおけるV相のPWM信号の信号レベルの切り替りタイミングを指定する値である。可変閾値Wdu1は、PWM周期の第1期間AにおけるW相のPWM信号の信号レベルの切り替りタイミングを指定する値である。
【0072】
PWM信号生成部32は、デューティ比設定部39によって設定されたU相のパルス幅設定値Uduと固定閾値Udu2とに基づいて、可変閾値Udu1を算出する。例えば、PWM信号生成部32は、パルス幅設定値Uduから固定閾値Udu2を減算した値を第1上限値T1から減算して、可変閾値Udu1(=T1-(Udu-Udu2))を算出する。同様に、可変閾値算出部41は、例えば、パルス幅設定値Vduから固定閾値Vdu2を減算した値を第1上限値T1から減算して可変閾値Vdu1(=T1-(Vdu-Vdu2))を算出し、パルス幅設定値Wduから固定閾値Wdu2を減算した値を第1上限値T1から減算して可変閾値Wdu1(=T1-(Wdu-Wdu2))を算出する。
【0073】
PWM信号生成部32は、第1期間Aと第2期間Bの切り替わりに応じて、可変閾値Udu1,Vdu1,Wdu1と固定閾値Udu2,Vdu2,Wdu2とを交互に切り替える。
【0074】
モータ制御装置100は、PWM周期(T)のn(nは2以上の整数)倍の周期(T×n)毎に、各相の通電パターン(各相のPWM信号のデューティ比)を更新し、相電流を計測する。
図3には、モータ制御装置100が、PWM周期の2周期(n=2)毎に、PWM信号のデューティ比の更新と相電流の計測を行う場合が一例として示されている。以下、PWM信号のデューティ比を更新する周期を「制御周期」とも称する。
【0075】
先ず、時刻t0において、キャリアC1の生成が開始される。PWM信号生成部32は、第1期間A(キャリアC1が生成されている期間)において、キャリアC1と可変閾値Udu1,Vdu1,Wdu1とを比較する。
【0076】
時刻t1において、キャリアC1のレベルと可変閾値Udu1とが一致したとき、PWM信号生成部32は、U相のPWM信号ULをハイレベルからローレベルに切り替えるとともに、所定のデッドタイム経過後に、U相のPWM信号UHをローレベルからハイレベルに切り替える。
【0077】
次に、時刻t2において、キャリアC1のレベルと可変閾値Vdu1とが一致したとき、PWM信号生成部32は、V相のPWM信号VLをハイレベルからローレベルに切り替えるとともに、所定のデッドタイム経過後に、V相のPWM信号VHをローレベルからハイレベルに切り替える。
【0078】
次に、時刻t3において、キャリアC1のレベルと可変閾値Wdu1とが一致したとき、PWM信号生成部32は、W相のPWM信号WLをハイレベルからローレベルに切り替えるとともに、所定のデッドタイム経過後に、W相のPWM信号WHをローレベルからハイレベルに切り替える。
【0079】
その後、時刻t4において、キャリアC1の生成が終了し、キャリアC2の生成が開始される。PWM信号生成部32は、第2期間B(キャリアC2が生成されている期間)において、キャリアC2と固定閾値Udu2,Vdu2,Wdu2とを比較する。
【0080】
時刻t5において、キャリアC2のレベルと固定閾値Udu2とが一致したとき、PWM信号生成部32は、U相のPWM信号UHをハイレベルからローレベルに切り替えるとともに、所定のデッドタイム経過後に、U相のPWM信号ULをローレベルからハイレベルに切り替える。
【0081】
次に、時刻t6において、キャリアC2のレベルと固定閾値Vdu2とが一致したとき、PWM信号生成部32は、V相のPWM信号VHをハイレベルからローレベルに切り替えるとともに、所定のデッドタイム経過後に、V相のPWM信号VLをローレベルからハイレベルに切り替える。
【0082】
次に、時刻t7において、キャリアC2のレベルと固定閾値Wdu2とが一致したとき、PWM信号生成部32は、W相のPWM信号WHをハイレベルからローレベルに切り替えるとともに、所定のデッドタイム経過後に、W相のPWM信号WLをローレベルからハイレベルに切り替える。
【0083】
その後、時刻t8において、キャリアC2の生成が終了し、キャリアC1の生成が開始される。その後は、時刻t0からt8までと同様の処理により、各相のPWM信号が繰り返し生成される。
【0084】
図3に示す例では、制御周期に含まれる2つのPWM周期の内、後半のPWM周期の第2期間B(時刻t10から時刻t15までの期間)において、モータ4の相電流の計測が行われる。なお、制御周期に含まれる2つのPWM周期の内、前半のPWM周期の第2期間B(時刻t4から時刻t8までの期間)において、モータ4の相電流の計測が行われてもよい。
【0085】
PWM信号生成部32は、後半のPWM周期の第2期間Bにおいて、U相のPWM信号Uの信号レベルの切り替わり(例えば、PWM信号UHの立ち下がり)に応じて、割り込み信号Siを発生させる。PWM信号生成部32は、割り込み信号Siに応じて、V相のPWM信号Vの信号レベルが切り替わる前に、電流検出部27に対してA/D変換の指令を与える。具体的には、PWM信号生成部32は、PWM信号ULの立ち上がる時刻t11からPWM信号VHが立ち下がる時刻t12までの期間Tuにおける所定のタイミング(時刻)tuで、電流検出部27に対してA/D変換の指令を与える。電流検出部27は、その指令に応じて、電流検出器24の検出信号Sdを検出する。
【0086】
その後、PWM信号生成部32は、V相のPWM信号Vの信号レベルの切り替わり(例えば、PWM信号VHの立ち下がり)に応じて、割り込み信号Siを発生させる。PWM信号生成部32は、W相のPWM信号Wの信号レベルが切り替わる前に、電流検出部27に対してA/D変換の指令を与える。具体的には、PWM信号生成部32は、PWM信号VLの立ち上がる時刻t13からPWM信号WHが立ち下がる時刻t14までの期間Tuvにおける所定のタイミング(時刻)tuvで、電流検出部27に対してA/D変換の指令を与える。電流検出部27は、その指令に応じて、電流検出器24の検出信号Sdを検出する。
【0087】
次に、本実施の形態に係るモータ制御装置100で実行されるモータ制御方法について説明する。
【0088】
図4は、実施の形態1に係るモータ制御装置100によるモータ駆動制御処理の流れを示すフローチャートである。例えば、上位装置(図示せず)からモータ4の回転速度指令ωrefが入力されたとき、モータ制御装置100は、モータ4の駆動制御を開始し、ステップS10からステップS14までの一連の処理を所定の制御周期で繰り返す。
【0089】
モータ制御装置100は、モータ4を駆動するための通電パターンの生成処理を行う(ステップS10)。具体的には、PWM信号生成部32は、第2期間Bに期間Tu及び期間Tuvを確保するため、固定閾値Udu2,Vdu2,Wdu2を設定するパルス位相調整処理を行う。PWM信号生成部32は、前回の制御周期のステップS14で設定された後述のタイミングd1,d2,e1,e2,f1,f2で信号レベルが切り替わる各相のPWM信号を生成する。インバータ回路23は、PWM信号生成部32により生成された各相のPWM信号に基づいて、モータ4の各相のコイルを駆動する。
【0090】
次に、モータ制御装置100は、U,V,W各相の相電流Iu,Iv,Iwを計測する(ステップS11)。例えば、
図3に示したように、電流検出部27は、PWM周期の第2期間Bにおけるタイミング(時刻)tuにおいて、検出信号SdをAD変換器により取得し、その検出信号Sdの取得値(Iu)を第1取得レジスタ(不図示)に格納する。また、電流検出部27は、PWM周期の第2期間Bにおけるタイミング(時刻)tuvにおいて、検出信号SdをAD変換器により取得し、その検出信号Sdの取得値(Iu+Iw)を第2取得レジスタ(不図示)に格納する。電流検出部27は、第1取得レジスタ及び第2取得レジスタにそれぞれ格納された検出信号Sdの計測値に基づいて、上述した手法により、相電流Iu,Iv,Iwをそれぞれ算出する。
【0091】
次に、ベクトル制御部30が、ステップS11において電流検出部27により検出された3相電流Iu,Iv,Iwの電流算出値に基づいて、PI制御等の電流制御を行い(ステップS12)、各相の相電圧指令Vu*,Vv*,Vw*(制御量)を算出する(ステップS13)。デューティ比算出部31は、各相の相電圧指令Vu*,Vv*,Vw*に基づいて、パルス幅設定値Udu,Vdu,Wduを算出する。パルス幅設定値Udu,Vdu,Wduを制御量としてもよい。以下、説明の便宜上、相電圧指令又はパルス幅設定値を、制御量Cqとも称する。
【0092】
次に、デューティ比設定部39が、ステップS13で算出された各相の相電圧指令Vu*,Vv*,Vw*に基づいて、各相のデューティ比を更新(設定)する(ステップS14)。具体的には、デューティ比設定部39は、相電圧指令Vu*,Vv*,Vw*に基づいて、パルス幅設定値Udu,Vdu,Wduを算出し、PWM信号生成部32は、算出されたパルス幅設定値Udu,Vdu,Wduに基づいて、上述した手法により、可変閾値Udu1,Vdu1,Wdu1を更新(設定)する。PWM信号生成部32は、更新(設定)された可変閾値Udu1,Vdu1,Wdu1に基づいて、次回の制御周期の各相のPWM信号の信号レベルが切り替わる後述のタイミングd1,d2,e1,e2,f1,f2を設定(確定)する。
【0093】
図5,6,7,8は、デューティ比の設定値(パルス幅設定値)に基づいて各相のPWM信号の信号レベルが切り替わるタイミングd1,d2,e1,e2,f1,f2を設定する処理(
図4のステップS14)の流れを示すフローチャートである。
図9は、電流検出区間である第2期間Bが第1PWM周期の後半にある電流検出方式で相電流を検出する第1ケースの各波形を例示するタイミングチャートである。
【0094】
図9は、一制御周期に含まれる2回のPWM周期当たりに1回の電流検出が行われる場合を示す。通常モードで、一制御周期に含まれる複数のPWM周期のそれぞれのU相のPWM信号は、互いに同じ波形である(V相のPWM信号、W相のPWM信号も同様である)。しかしながら、モータ4の回転数が速かったり、大きな電流がモータ4に流れたりする状況では、電流検出区間である第2期間Bを確保すると、PWM信号のパルス幅が一つのPWM周期に収まらない相が発生することがある。
図9の上段は、U相のPWM信号のパルス幅が第1PWM周期に収まらない場合を例示する。
【0095】
実施の形態1に係るモータ制御装置100では、PWM信号生成部32は、一つのPWM周期に収まらないパルス幅の部分を、現周期内ではカットし、そのカットした部分を、同一の制御周期内の次回以降のPWM周期に配分することで、帳尻を合わせる。電流検出を行わないPWM周期では、相電流検出用の通電区間が無くてもよいため、電流検出を行わないPWM周期にそのカットした部分を配分することでパルス位置が崩れても問題ない。
【0096】
次に、実施の形態1に係るモータ制御装置100が行う
図5,6,7,8に示す処理について、
図3,9を参照して説明する。
【0097】
PWM信号生成部32は、第1期間AにおけるキャリアC1と比較されるタイミングd1,e1,f1のカウント値(例えば、上述した手法により設定(更新)された可変閾値Udu1,Vdu1,Wdu1)を参照する(ステップS20)。可変閾値Udu1,Vdu1,Wdu1は、それぞれ、第1PWM周期の第1期間Aにおける各相のPWM信号の信号レベルの切り替えタイミングd1,e1,f1を指定する値に相当する。
【0098】
ステップS21において、PWM信号生成部32は、タイミングd1のカウント値が負数か否かを判定する(例えば、可変閾値Udu1が負数か否かを判定する)。PWM信号生成部32は、タイミングd1のカウント値(例えば、可変閾値Udu1)が負数でないと判定した場合、U相のPWM信号のパルス幅puが第1PWM周期に収まると判断できるので、ステップS33の処理を行う。一方、PWM信号生成部32は、タイミングd1のカウント値(例えば、可変閾値Udu1)が負数であると判定した場合、U相のPWM信号のパルス幅puが第1PWM周期に収まらないと判断できるので、ステップS22の処理を行う。
【0099】
ステップS33において、PWM信号生成部32は、タイミングe1のカウント値が負数か否かを判定する(例えば、可変閾値Vdu1が負数か否かを判定する)。PWM信号生成部32は、タイミングe1のカウント値(例えば、可変閾値Vdu1)が負数でないと判定した場合、V相のPWM信号のパルス幅pvが第1PWM周期に収まると判断できるので、ステップS34の処理を行う。一方、PWM信号生成部32は、タイミングe1のカウント値(例えば、可変閾値Vdu1)が負数であると判定した場合、V相のPWM信号のパルス幅pvが第1PWM周期に収まらないと判断できるので、
図6のステップS42の処理を行う。
【0100】
ステップS34において、PWM信号生成部32は、タイミングf1のカウント値が負数か否かを判定する(例えば、可変閾値Wdu1が負数か否かを判定する)。PWM信号生成部32は、タイミングf1のカウント値(例えば、可変閾値Wdu1)が負数でないと判定した場合、W相のPWM信号のパルス幅pwが第1PWM周期に収まると判断できるので、
図8のステップS82の処理を行う。一方、PWM信号生成部32は、タイミングf1のカウント値(例えば、可変閾値Wdu1)が負数であると判定した場合、W相のPWM信号のパルス幅pwが第1PWM周期に収まらないと判断できるので、
図7のステップS62の処理を行う。
【0101】
図8のステップS82では、PWM信号生成部32は、今回の制御周期の
図4のステップS13において算出された制御量Cqを用いて、次回の制御周期における通常モードの各相のPWM信号の信号レベルが切り替わるタイミングd1,d2,e1,e2,f1,f2を設定する。ステップS82により、各相のPWM信号は、第1PWM周期と第2PWM周期とで互いに同じ波形となる。
【0102】
ステップS82において、PWM信号生成部32は、例えば、タイミングd2の固定カウント値(例えば、固定閾値Udu2)に対応するタイミングに、タイミングd2を設定する。同様に、PWM信号生成部32は、例えば、タイミングe2の固定カウント値(例えば、固定閾値Vdu2)に対応するタイミングに、タイミングe2を設定し、タイミングf2の固定カウント値(例えば、固定閾値Wdu2)に対応するタイミングに、タイミングf2を設定する。また、ステップS82において、PWM信号生成部32は、例えば、ステップS20で参照したタイミングd1のカウント値(例えば、可変閾値Udu1)に対応するタイミングに、タイミングd1を設定する。同様に、PWM信号生成部32は、例えば、ステップS20で参照したタイミングe1のカウント値(例えば、可変閾値Vdu1)に対応するタイミングに、タイミングe1を設定し、ステップS20で参照したタイミングf1のカウント値(例えば、可変閾値Wdu1)に対応するタイミングに、タイミングf1を設定する。
【0103】
図5のステップS22~S32は、U相のPWM信号のパルス幅puが第1PWM周期に収まらない場合の処理モードであり、第2モードの一例である。
図5のステップS22において、PWM信号生成部32は、
図4のステップS13において算出された最大の制御量Cqが、第1PWM周期に収まらないパルス幅の部分(パルス超過部分)を第2PWM周期に配分できる程度の大きさか否かを判定する。
図4のステップS13において算出された最大の制御量Cqとは、相電圧指令Vu
*,Vv
*,Vw
*のうちの最大値でもよいし、パルス幅設定値Udu,Vdu,Wduのうちの最大値でもよい。
【0104】
例えば、PWM信号生成部32は、最大の制御量Cqがパルス超過部分を第2PWM周期に配分できる程度の大きさと判定した場合(例えば、最大の制御量Cqが所定値以下の場合)、ステップS23の処理を行う。一方、PWM信号生成部32は、最大の制御量Cqがパルス超過部分を第2PWM周期に配分できないほど大きいと判定した場合(例えば、最大の制御量Cqが所定値よりも大きい場合)、ステップS28の処理を行う。
【0105】
ステップS23において、PWM信号生成部32は、タイミングt0からタイミングd1までのパルス超過部分のカウント幅a(例えば、可変閾値Udu1の絶対値)をメモリに保存する。また、PWM信号生成部32は、タイミングd2-+,e2,f2の固定カウント値(例えば、固定閾値Udu2,Vdu2,Wdu2)に対応する各タイミングに、第1PWM周期の第2期間Bにおけるタイミングd2,e2,f2を設定する。PWM信号生成部32は、ステップS20で参照したタイミングe1,f1のカウント値(例えば、可変閾値Vdu1,Wdu1)に対応する各タイミングに、第1PWM周期の第1期間Aにおけるタイミングe1,f1を設定する。
【0106】
次に、PWM信号生成部32は、第2PWM周期の各相のPWM信号の信号レベルが切り替わるタイミングd1,d2,e1,e2,f1,f2を導出する。ステップS24において、PWM信号生成部32は、第2PWM周期の第2期間Bにおけるタイミングd2,e2,f2の各々のカウント値を、
図9に示すように、第2PWM周期の終端のカウント最大値に仮設定する。PWM信号生成部32は、カウント最大値に仮設定されたタイミングd2,e2,f2とステップS13において算出されたパルス幅設定値Udu,Vdu,Wduとに基づいて、第2PWM周期の第1期間Aにおけるタイミングd1,e1,f1を導出する(ステップS24)。
【0107】
ステップS24において、例えば、PWM信号生成部32は、カウント最大値に仮設定されたタイミングd2のカウント値からパルス幅設定値Uduを減算することによって、第2PWM周期の第1期間Aにおけるタイミングd1のカウント値を算出する。同様に、PWM信号生成部32は、カウント最大値に仮設定されたタイミングe2のカウント値からパルス幅設定値Vduを減算することによって、第2PWM周期の第1期間Aにおけるタイミングe1のカウント値を算出する。同様に、PWM信号生成部32は、カウント最大値に仮設定されたタイミングf2のカウント値からパルス幅設定値Wduを減算することによって、第2PWM周期の第1期間Aにおけるタイミングf1のカウント値を算出する。
【0108】
PWM信号生成部32は、ステップS24で得られたタイミングd1のカウント値からステップS23で保存されたカウント幅aを減算して得られた差分Dが零よりも大きいか否かを判定する(ステップS25)。PWM信号生成部32は、差分Dが零よりも大きいとステップS25で判定した場合、パルス超過部分を第2PWM周期に配分できると判断できるので、第2PWM周期の第1期間Aにおけるタイミングd1のカウント値を、制御部20が設定可能な最小値に設定する(ステップS26)。
【0109】
ステップS26では、PWM信号生成部32は、ステップS24で仮設定されたカウント最大値に対応するタイミングに、第2PWM周期の第2期間Bにおけるタイミングd2,e2,f2を設定(確定)する。また、ステップS26では、PWM信号生成部32は、ステップS24で算出されたタイミングe1,f1のカウント値に対応する各タイミングに、第2PWM周期の第1期間Aにおけるタイミングe1,f1を設定(確定)する。また、ステップS26では、PWM信号生成部32は、カウント最大値に仮設定されたタイミングd2のカウント値からパルス幅設定値Uduを減算して得られたカウント値に対応するタイミングに、第2PWM周期の第1期間Aにおけるタイミングd1を設定(確定)する。
【0110】
一方、PWM信号生成部32は、差分Dが零よりも大きくないとステップS25で判定した場合、パルス超過部分が第2PWM周期に配分できないほど大きいと判断できる。この場合、ステップS27では、PWM信号生成部32は、各相のPWM信号を前回の制御周期と同じ出力パターンに設定する、つまり、前回の制御周期で設定したタイミングと同じタイミングに、第1PWM周期及び第2PWM周期のタイミングd1,d2,e1,e2,f1,f2を設定する。
【0111】
ステップS28において、PWM信号生成部32は、各相のPWM信号を前回の制御周期と同じ出力パターンに設定する指示があるか否かを判定する。PWM信号生成部32は、当該指示があると判定した場合、各相のPWM信号を前回の制御周期と同じ出力パターンに設定する、つまり、前回の制御周期で設定したタイミングと同じタイミングに、第1PWM周期及び第2PWM周期のタイミングd1,d2,e1,e2,f1,f2を設定する(ステップS32)。一方、PWM信号生成部32は、当該指示がないと判定した場合、第1PWM周期及び第2PWM周期のタイミングd1,d2,e1,e2,f1,f2を設定するため、ステップS29の処理を行う。
【0112】
ステップS29において、PWM信号生成部32は、第1PWM周期の第2期間Bにおけるタイミングd2,e2,f2の各々のカウント値を、第1PWM周期の終端のカウント最大値に設定する。つまり、PWM信号生成部32は、第1PWM周期の終端のカウント最大値に対応するタイミングに、第1PWM周期の第2期間Bにおけるタイミングd2,e2,f2を設定する。同様に、ステップS29において、PWM信号生成部32は、第2PWM周期の各々の第2期間Bにおけるタイミングd2,e2,f2の各々のカウント値を、第2PWM周期の終端のカウント最大値に設定する。つまり、PWM信号生成部32は、第2PWM周期の終端のカウント最大値に対応するタイミングに、第2PWM周期の第2期間Bにおけるタイミングd2,e2,f2を設定する。
【0113】
ステップS30において、PWM信号生成部32は、ステップS20で参照されたタイミングd1のカウント値からパルス超過部分のカウント幅aを減算して得られた差分Dを、第1PWM周期及び第2PWM周期の第1期間Aにおけるタイミングd1のカウント値に設定する。つまり、PWM信号生成部32は、差分Dに対応するタイミングに、第1PWM周期及び第2PWM周期の第1期間Aにおけるタイミングd1を設定する。
【0114】
ステップS31において、PWM信号生成部32は、カウント最大値に設定されたタイミングe2,f2とステップS13において算出されたパルス幅設定値Vdu,Wduとに基づいて、第1PWM周期及び第2PWM周期の第1期間Aにおけるタイミングe1,f1を導出する。例えば、PWM信号生成部32は、カウント最大値に設定されたタイミングe2のカウント値からパルス幅設定値Vduを減算して得られたカウント値に対応するタイミングに、第1PWM周期及び第2PWM周期の第1期間Aにおけるタイミングe1を設定する。同様に、例えば、PWM信号生成部32は、カウント最大値に設定されたタイミングf2のカウント値からパルス幅設定値Wduを減算して得られたカウント値に対応するタイミングに、第1PWM周期及び第2PWM周期の第1期間Aにおけるタイミングf1を設定する。
【0115】
図6のステップS42~S52は、V相のPWM信号のパルス幅pvが第1PWM周期に収まらない場合の処理モードであり、第3モードの一例である。
図6のステップS42~S52の処理内容は、それぞれ、
図5のステップS22~S32の処理内容と対応するので、上述の説明を援用することで、それらの説明を省略する。ステップS43では、PWM信号生成部32は、タイミングt0からタイミングe1までのパルス超過部分のカウント幅b(例えば、可変閾値Vdu1の絶対値)をメモリに保存する。
【0116】
図7のステップS62~S72は、W相のPWM信号のパルス幅pwが第1PWM周期に収まらない場合の処理モードであり、第4モードの一例である。
図7のステップS62~S72の処理内容は、それぞれ、
図5のステップS22~S32の処理内容と対応するので、上述の説明を援用することで、それらの説明を省略する。ステップS63では、PWM信号生成部32は、タイミングt0からタイミングf1までのパルス超過部分のカウント幅c(例えば、可変閾値Wdu1の絶対値)をメモリに保存する。
【0117】
図10は、電流検出区間である第2期間Bが第1PWM周期の前半にある電流検出方式で相電流を検出する第2ケースの各波形を例示するタイミングチャートである。
図10は、
図9と同じく、一制御周期に含まれる2回のPWM周期当たりに1回の電流検出が行われる場合を示す。
図10の上段は、U相のPWM信号のパルス幅が第1PWM周期に収まらない場合を例示する。
図10のような場合でも、実施の形態1に係るモータ制御装置100では、PWM信号生成部32は、一つのPWM周期に収まらないパルス幅の部分を、現周期内ではカットし、そのカットした部分を、同一の制御周期内の次回以降のPWM周期に配分することで、帳尻を合わせる。電流検出を行わないPWM周期では、相電流検出用の通電区間が無くてもよいため、電流検出を行わないPWM周期にそのカットした部分を配分することでパルス位置が崩れても問題ない。
【0118】
図5~8に示すタイミングd1,e1,f1,d2,e2,f2を、それぞれ、タイミングd2,e2,f2,d1,e1,f1に読み替えることで、
図10の場合を説明できるため、その詳細な説明については省略する。
【0119】
したがって、実施の形態1に係るモータ制御装置100によれば、第1PWM周期にパルス超過部分が発生しても、そのパルス超過部分を第2PWM周期に付け加えることができるので、一制御周期における電圧変調率が向上する。例えば、デューティ比設定部39によって設定された第1相のPWM信号のパルス幅設定値をp1、パルス幅設定値p1が第1PWM周期に収まらない分である超過パルス幅をpeとする。このとき、モータ制御装置100によれば、第1相のPWM信号の第1PWM周期のパルス幅を(p1-pe)に調整でき、第1相のPWM信号の第2PWM周期のパルス幅を(p1+pe)に調整できるので、一制御周期における電圧変調率が向上する。上述のカウント幅a,b,cは、超過パルス幅peの一例である。
【0120】
また、実施の形態1に係るモータ制御装置100の場合、第2PWM周期は、電流検出部27による電流検出が行われない周期である。よって、上述のように、パルス超過部分を第2PWM周期に付け加えても、電流検出の機会が過度に制限されることを抑制できる。
【0121】
また、実施の形態1に係るモータ制御装置100によれば、各相のPWM信号の第2PWM周期の信号レベルが互いに同じタイミングで切り替わる。よって、パルス超過部分を第2PWM周期に付け加える期間を確保しやすくなる。
【0122】
以上、モータ制御装置、モータシステム及びモータ制御方法を実施の形態により説明したが、本発明は上記の実施の形態に限定されるものではない。他の実施の形態の一部又は全部との組み合わせや置換などの種々の変形及び改良が、本発明の範囲内で可能である。
【0123】
例えば、上記実施の形態では、PWM周期の2周期毎に、各相の通電パターン(各相のPWM信号のデューティ比)の更新と相電流の計測が実行される場合を例示したが、これに限られない。例えば、PWM周期の3周期(n=3)毎に、各相の通電パターン(各相のPWM信号のデューティ比)の更新と相電流の計測が実行されてもよい。
【0124】
また、上述のフローチャートは、動作を説明するための一例を示すものであって、これに限定されない。すなわち、フローチャートの各図に示したステップは具体例であって、このフローに限定されるものではない。例えば、一部の処理の順番が変更されてもよいし、各処理間に他の処理が挿入されてもよいし、一部の処理が並列に行われてもよい。
【符号の説明】
【0125】
1 モータシステム
4 モータ
20 制御部
21 直流電源
22a 正側母線
22b 負側母線
23 インバータ回路
24 電流検出器
25U+,25V+,25W+,25U-,25V-,25W- スイッチング素子
27 電流検出部
30 ベクトル制御部
31 デューティ比算出部
32 PWM信号生成部
33 駆動回路
34 電流検出タイミング調整部
35 通電パターン生成部
36 クロック発生部
37 キャリア発生部
39 デューティ比設定部
100 モータ制御装置