(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-06-10
(45)【発行日】2024-06-18
(54)【発明の名称】モータ制御装置、モータ、モータ制御方法、及びプログラム
(51)【国際特許分類】
H02P 21/22 20160101AFI20240611BHJP
H02P 27/08 20060101ALI20240611BHJP
【FI】
H02P21/22
H02P27/08
(21)【出願番号】P 2020219051
(22)【出願日】2020-12-28
【審査請求日】2023-05-29
(73)【特許権者】
【識別番号】000232302
【氏名又は名称】ニデック株式会社
(74)【代理人】
【識別番号】100141139
【氏名又は名称】及川 周
(74)【代理人】
【識別番号】100188673
【氏名又は名称】成田 友紀
(74)【代理人】
【識別番号】100179833
【氏名又は名称】松本 将尚
(74)【代理人】
【識別番号】100189348
【氏名又は名称】古都 智
(72)【発明者】
【氏名】水島 裕亮
(72)【発明者】
【氏名】遠藤 修司
【審査官】池田 貴俊
(56)【参考文献】
【文献】米国特許出願公開第2017/0163199(US,A1)
【文献】特開2003-324985(JP,A)
【文献】特開2015-023772(JP,A)
【文献】特開2008-161051(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H02P 21/22
H02P 27/08
(57)【特許請求の範囲】
【請求項1】
第1相電流、第2相電流、第3相電流を含む3相電流を調整し、モータを制御するモータ制御装置であって、
前記3相電流に基づいて得られた制御電流値をフィードバックして前記3相電流を制御する制御部を備え、
前記制御部は、
前記第2相電流及び前記第3相電流に基づいて算出される第1制御電流値と、前記第3相電流及び前記第1相電流に基づいて算出される第2制御電流値と、前記第1相電流及び前記第2相電流に基づいて算出される第3制御電流値と、のうちいずれか1つを前記制御電流値としてフィードバックする第1フィードバック制御と、
前記第1制御電流値と、前記第2制御電流値と、前記第3制御電流値とを切り替えて前記制御電流値としてフィードバックする第2フィードバック制御と、を実行可能であり、
前記第1相電流、前記第2相電流、及び前記第3相電流をそれぞれ生成するパルス波のデューティ比がいずれも所定の閾値以下の範囲内で変化する場合、前記第1フィードバック制御を実行し、
前記第1相電流、前記第2相電流、及び前記第3相電流をそれぞれ生成するパルス波の前記デューティ比のうち少なくとも1つが前記閾値より大きい値を含む範囲内で変化する場合、前記第2フィードバック制御を実行し、
前記第1フィードバック制御の実行中に、前記第1制御電流値と前記第2制御電流値と前記第3制御電流値とを算出し、前記第1フィードバック制御に用いる前記制御電流値と前記第1フィードバック制御に用いない前記制御電流値との差分を取得し、
前記第2フィードバック制御において、前記差分に基づいて前記制御電流値を補正する、
モータ制御装置。
【請求項2】
前記制御部は、前記第2フィードバック制御において前記3相電流のうち前記デューティ比が前記閾値以下である2相の相電流値に基づいて、前記制御電流値を算出する、
請求項
1に記載のモータ制御装置。
【請求項3】
前記制御部は、前記第2フィードバック制御において前記3相電流のうち前記デューティ比が前記閾値以下である1相の相電流値と前記デューティ比が前記閾値よりも大きい1相の相電流値とに基づいて、前記制御電流値を算出する、請求項
1に記載のモータ制御装置。
【請求項4】
前記制御電流値は、前記3相電流をd軸と、前記d軸と直交方向のq軸との2軸で変換したdq軸電流の値である、
請求項1から
3のいずれか一項に記載のモータ制御装置。
【請求項5】
請求項1から
4のいずれか1項に記載のモータ制御装置を備える、モータ。
【請求項6】
第1相電流、第2相電流、第3相電流を含む3相電流を調整し、モータを制御するモータ制御方法であって、
前記3相電流に基づいて得られた制御電流値をフィードバックして前記3相電流を制御することを含み、
前記3相電流を制御することは、
前記第2相電流及び前記第3相電流に基づいて算出される第1制御電流値と、前記第3相電流及び前記第1相電流に基づいて算出される第2制御電流値と、前記第1相電流及び前記第2相電流に基づいて算出される第3制御電流値と、のうちいずれか1つを前記制御電流値としてフィードバックする第1フィードバック制御を実行することと、
前記第1制御電流値と、前記第2制御電流値と、前記第3制御電流値とを切り替えて前記制御電流値としてフィードバックする第2フィードバック制御を実行することとを、含
み、
前記第1相電流、前記第2相電流、及び前記第3相電流をそれぞれ生成するパルス波のデューティ比がいずれも所定の閾値以下の範囲内で変化する場合、前記第1フィードバック制御を実行し、
前記第1相電流、前記第2相電流、及び前記第3相電流をそれぞれ生成するパルス波の前記デューティ比のうち少なくとも1つが前記閾値より大きい値を含む範囲内で変化する場合、前記第2フィードバック制御を実行し、
前記第1フィードバック制御の実行中に、前記第1制御電流値と前記第2制御電流値と前記第3制御電流値とを算出し、前記第1フィードバック制御に用いる前記制御電流値と前記第1フィードバック制御に用いない前記制御電流値との差分を取得し、
前記第2フィードバック制御において、前記差分に基づいて前記制御電流値を補正する、モータ制御方法。
【請求項7】
第1相電流、第2相電流、第3相電流を含む3相電流を調整し、モータを制御するモータ制御装置における処理を実行させるプログラムであって、
前記モータ制御装置に、前記3相電流に基づいて得られた制御電流値をフィードバックして前記3相電流を制御させ、
前記3相電流を制御させることは、
前記第2相電流及び前記第3相電流に基づいて算出される第1制御電流値と、前記第3相電流及び前記第1相電流に基づいて算出される第2制御電流値と、前記第1相電流及び前記第2相電流に基づいて算出される第3制御電流値と、のうちいずれか1つを前記制御電流値としてフィードバックする第1フィードバック制御を前記モータ制御装置に実行させることと、
前記第1制御電流値と、前記第2制御電流値と、前記第3制御電流値とを切り替えて前記制御電流値としてフィードバックする第2フィードバック制御を前記モータ制御装置に実行させることと、を含
み、
前記第1相電流、前記第2相電流、及び前記第3相電流をそれぞれ生成するパルス波のデューティ比がいずれも所定の閾値以下の範囲内で変化する場合、前記第1フィードバック制御を実行し、
前記第1相電流、前記第2相電流、及び前記第3相電流をそれぞれ生成するパルス波の前記デューティ比のうち少なくとも1つが前記閾値より大きい値を含む範囲内で変化する場合、前記第2フィードバック制御を実行し、
前記第1フィードバック制御の実行中に、前記第1制御電流値と前記第2制御電流値と前記第3制御電流値とを算出し、前記第1フィードバック制御に用いる前記制御電流値と前記第1フィードバック制御に用いない前記制御電流値との差分を取得し、
前記第2フィードバック制御において、前記差分に基づいて前記制御電流値を補正する、プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、モータ制御装置、モータ、モータ制御方法、及びプログラムに関する。
【背景技術】
【0002】
モータに供給される3相電流を調整して、モータを制御する方法が知られている。例えば、特許文献1には、PWM(Pulse Width Modulation)制御によってモータを制御する方法が記載されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記のようなモータ制御装置においては、PWM制御において生じる相電流をシャント抵抗などの検出素子によって検出して、制御電流値を制御する場合がある。しかし、パルス波のデューティ比が大きくなると、シャント抵抗などの検出素子による電流検出時間が短くなり、検出素子による電流検出精度が低下する問題がある。そのため、制御電流値を好適に制御できない場合がある。これにより、パルス波のデューティ比を或る程度以上に大きくすることができず、モータの出力を十分に向上しにくい問題があった。
【0005】
本発明は、モータの出力を向上させることができるモータ制御装置、モータ、モータ制御方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明の一態様は、第1相電流、第2相電流、第3相電流を含む3相電流を調整し、モータを制御するモータ制御装置である。モータ制御装置は、前記3相電流に基づいて得られた制御電流値をフィードバックして前記3相電流を制御する制御部を備える。前記制御部は、前記第2相電流及び前記第3相電流に基づいて算出される第1制御電流値と、前記第3相電流及び前記第1相電流に基づいて算出される第2制御電流値と、前記第1相電流及び前記第2相電流に基づいて算出される第3制御電流値と、のうちいずれか1つを前記制御電流値としてフィードバックする第1フィードバック制御と、前記第1制御電流値と、前記第2制御電流値と、前記第3制御電流値とを切り替えて前記制御電流値としてフィードバックする第2フィードバック制御と、を実行可能であり、前記第1相電流、前記第2相電流、及び前記第3相電流をそれぞれ生成するパルス波のデューティ比がいずれも所定の閾値以下の範囲内で変化する場合、前記第1フィードバック制御を実行し、前記第1相電流、前記第2相電流、及び前記第3相電流をそれぞれ生成するパルス波の前記デューティ比のうち少なくとも1つが前記閾値より大きい値を含む範囲内で変化する場合、前記第2フィードバック制御を実行し、前記第1フィードバック制御の実行中に、前記第1制御電流値と前記第2制御電流値と前記第3制御電流値とを算出し、前記第1フィードバック制御に用いる前記制御電流値と前記第1フィードバック制御に用いない前記制御電流値との差分を取得し、前記第2フィードバック制御において、前記差分に基づいて前記制御電流値を補正する。
【0007】
また、本発明の一態様は、上記のモータ制御装置を備えるモータである。
【0008】
また、本発明の一態様は、第1相電流、第2相電流、第3相電流を含む3相電流を調整し、モータを制御するモータ制御方法である。モータ制御方法は、前記3相電流に基づいて得られた制御電流値をフィードバックして前記3相電流を制御することを含む。前記3相電流を制御することは、前記第2相電流及び前記第3相電流に基づいて算出される第1制御電流値と、前記第3相電流及び前記第1相電流に基づいて算出される第2制御電流値と、前記第1相電流及び前記第2相電流に基づいて算出される第3制御電流値と、のうちいずれか1つを前記制御電流値としてフィードバックする第1フィードバック制御を実行することと、前記第1制御電流値と、前記第2制御電流値と、前記第3制御電流値とを切り替えて前記制御電流値としてフィードバックする第2フィードバック制御を実行することとを含み、前記第1相電流、前記第2相電流、及び前記第3相電流をそれぞれ生成するパルス波のデューティ比がいずれも所定の閾値以下の範囲内で変化する場合、前記第1フィードバック制御を実行し、前記第1相電流、前記第2相電流、及び前記第3相電流をそれぞれ生成するパルス波の前記デューティ比のうち少なくとも1つが前記閾値より大きい値を含む範囲内で変化する場合、前記第2フィードバック制御を実行し、前記第1フィードバック制御の実行中に、前記第1制御電流値と前記第2制御電流値と前記第3制御電流値とを算出し、前記第1フィードバック制御に用いる前記制御電流値と前記第1フィードバック制御に用いない前記制御電流値との差分を取得し、前記第2フィードバック制御において、前記差分に基づいて前記制御電流値を補正する。
【0009】
また、本発明の一態様は、第1相電流、第2相電流、第3相電流を含む3相電流を調整し、モータを制御するモータ制御装置における処理を実行させるプログラムである。プログラムは、前記モータ制御装置に、前記3相電流に基づいて得られた制御電流値をフィードバックして前記3相電流を制御させる。前記3相電流を制御させることは、前記第2相電流及び前記第3相電流に基づいて算出される第1制御電流値と、前記第3相電流及び前記第1相電流に基づいて算出される第2制御電流値と、前記第1相電流及び前記第2相電流に基づいて算出される第3制御電流値と、のうちいずれか1つを前記制御電流値としてフィードバックする第1フィードバック制御を前記モータ制御装置に実行させることと、前記第1制御電流値と、前記第2制御電流値と、前記第3制御電流値とを切り替えて前記制御電流値としてフィードバックする第2フィードバック制御を前記モータ制御装置に実行させることと、を含み、前記第1相電流、前記第2相電流、及び前記第3相電流をそれぞれ生成するパルス波のデューティ比がいずれも所定の閾値以下の範囲内で変化する場合、前記第1フィードバック制御を実行し、前記第1相電流、前記第2相電流、及び前記第3相電流をそれぞれ生成するパルス波の前記デューティ比のうち少なくとも1つが前記閾値より大きい値を含む範囲内で変化する場合、前記第2フィードバック制御を実行し、前記第1フィードバック制御の実行中に、前記第1制御電流値と前記第2制御電流値と前記第3制御電流値とを算出し、前記第1フィードバック制御に用いる前記制御電流値と前記第1フィードバック制御に用いない前記制御電流値との差分を取得し、前記第2フィードバック制御において、前記差分に基づいて前記制御電流値を補正する。
【発明の効果】
【0010】
本発明によれば、モータの出力を向上させることができる。
【図面の簡単な説明】
【0011】
【
図1】
図1は、本発明の実施形態に係るモータの構成を示す図である。
【
図2】
図2は、制御部の構成を示すブロック図である。
【
図3】
図3は、生成される制御信号を示す図である。
【
図4】
図4は、モータ制御装置において実行される処理の流れを示すフローチャートである。
【
図5】
図5は、他の判定方法の処理の流れを示すフローチャートである。
【
図6】
図6は、変形例に係る制御信号の閾値の設定方法を示す図である。
【発明を実施するための形態】
【0012】
以下、図面を参照しつつ、本発明に係るモータ制御装置、モータ、モータ制御方法、及びプログラムの実施形態について説明する。
【0013】
図1に示されるように、モータ1は、例えば、3相交流電流が供給される3相ブラシレスモータである。モータ1は、モータ本体2と、モータ本体2を制御するモータ制御装置20とを備える。モータ本体2は、図示しないロータと、ステータ3と、を備える。ステータ3は、U相コイル3Uと、V相コイル3Vと、W相コイル3Wと、を備える。本実施形態においてモータ制御装置20は、PWM制御によってモータ本体2を制御する。
図1に示すように、モータ制御装置20は、インバータ回路部10と、制御部21と、記憶部22と、を備える。また、図示は省略するが、モータ制御装置20は、各検出値及び指令値等を取得する取得部を備える。記憶部22は、検出値及び指令値と制御に関するプログラム等のデータとを記憶する。
【0014】
インバータ回路部10は、制御部21により制御され、モータ本体2を駆動する制御電流を生成する。本実施形態においてインバータ回路部10によって生成される制御電流は、交流電流であり、第1相電流、第2相電流、第3相電流を含む3相電流である。インバータ回路部10は、例えば、U相信号、V相信号、及びW相信号を含む3相の制御信号を生成する。生成される各信号は、交流信号である。
図1に示されるように、インバータ回路部10は、3相の制御信号を生成するスイッチング部11を備える。本実施形態においてスイッチング部11は、3つのスイッチング部12,13,14を含む。各スイッチング部12,13,14は同様の構成を有するため、スイッチング部12,13,14を特に区別しない場合、スイッチング部11と示す。
【0015】
インバータ回路部10により生成された3相の制御信号は、モータ本体2に入力され、モータ本体2が駆動される。また、インバータ回路部10は、シャント抵抗15を備える。本実施形態においてシャント抵抗15は、3つシャント抵抗16,17,18を含む。各シャント抵抗16,17,18は同様の構成であるため、シャント抵抗16,17,18を特に区別しない場合には、シャント抵抗15と示す。
【0016】
スイッチング部11のそれぞれは、例えば、電源供給線VとGND線Gとの間に直列に接続された2つのスイッチング素子を備え、モータ本体2を駆動する交流信号を生成する。
【0017】
スイッチング部12は、3相の交流信号のうちのU相信号を生成する。スイッチング部12は、生成したU相信号を駆動信号としてモータ本体2に供給する。スイッチング部12は、ハイ側のスイッチング素子12Aと、スイッチング素子12Aに直列に接続されたロー側のスイッチング素子12Bとを備える。スイッチング素子12Aの上流側は、電源供給線Vに接続されている。スイッチング素子12Bの下流側は、直列に接続されたシャント抵抗16を介してGND線Gに接続されている。スイッチング素子12Aとスイッチング素子12Bとの間には、モータ本体2のU相コイル3Uが電気的に接続されている。
【0018】
スイッチング素子12Aとスイッチング素子12Bとは、例えば、FWD(Free Wheeling Diode)付きのIGBT(Insulated Gate Bipolar Transistor)や、MOSFET(Metal-Oxide-Semiconductor Field-Effect Transistor)や、パワートランジスタにより構成されている。スイッチング素子12A,12Bのそれぞれのゲート端子には、制御部21から出力される制御信号(ゲート電圧)が入力される。スイッチング素子12Aには、U相のハイ側のゲート電圧(Vg_UH)が入力される。スイッチング素子12Bには、U相のロー側のゲート電圧(Vg_UL)が入力される。各スイッチング素子12A,12Bに所定の閾値以上のゲート電圧が入力された場合に、各スイッチング素子12A,12Bは、オン状態となる。
【0019】
スイッチング素子12A,12Bのそれぞれは、制御部21から入力されるゲート電圧が制御されることで、オン状態とオフ状態とが切り替えられ、スイッチング制御される。スイッチング素子12Aとスイッチング素子12Bとの間におけるノード12Cからスイッチング制御により生成されたU相信号が出力される。U相信号は、出力に応じてデューティ比が調整されたパルス信号である。U相信号がモータ本体2のU相コイル3Uに入力されると、U相コイル3Uには、正弦波の電流が流れる。
【0020】
スイッチング部13は、3相の交流信号のうちのV相信号を生成する。スイッチング部13は、生成したV相信号を駆動信号としてステータ3に供給する。スイッチング部13は、スイッチング部12と同様の構成を有する。スイッチング部13は、ハイ側のスイッチング素子13Aと、ロー側のスイッチング素子13Bと、シャント抵抗17とを備える。スイッチング素子13Aとスイッチング素子13Bとの間は、ステータ3のV相に接続されている。
【0021】
スイッチング素子13Aには、V相のハイ側のゲート電圧(Vg_VH)が入力され、オン状態となる。スイッチング素子13Bには、V相のロー側のゲート電圧(Vg_VL)が入力され、オン状態となる。
【0022】
スイッチング素子13Aと13Bとの間におけるノード13Cからスイッチング制御により生成されたV相信号が出力される。V相信号がステータ3のV相コイル3Vに入力されると、V相コイル3Vには、正弦波の電流が流れる。
【0023】
スイッチング部14は、3相の交流信号のうちのW相信号を生成する。スイッチング部14は、スイッチング部12,13と同様の構成を有する。スイッチング部14は、生成したW相信号を駆動信号としてステータ3に供給する。スイッチング部14は、ハイ側のスイッチング素子14Aと、ロー側のスイッチング素子14Bと、シャント抵抗18とを備える。スイッチング素子14Aとスイッチング素子14Bとの間は、ステータ3のW相に接続されている。
【0024】
スイッチング素子14Aには、W相のハイ側のゲート電圧(Vg_WH)が入力され、オン状態となる。スイッチング素子14Bには、W相のロー側のゲート電圧(Vg_WL)が入力され、オン状態となる。
【0025】
スイッチング素子14Aと14Bとの間におけるノード14Cからスイッチング制御により生成されたW相信号が出力される。W相信号がステータ3のW相コイル3Wに入力されると、W相コイル3Wには、正弦波の電流が流れる。
【0026】
上述したハイ側のスイッチング素子12A,13A,14Aの駆動時においてロー側のスイッチング素子12B,13B,14B及びシャント抵抗15には同時に電流は流れない。
【0027】
シャント抵抗15は、端子間電圧を計測することにより、スイッチング部11に流れる電流を検出可能にする抵抗素子である。シャント抵抗15は、ハイ側のスイッチング素子12A,13A,14Aがオフ状態となった際に、オン状態となったロー側に設けられたスイッチング素子12B,13B,14Bに流れる電流値を検出できる。即ちシャント抵抗15によれば、スイッチング素子12B,13B,14Bに流れる電流値を検出し、制御信号となるパルス波の1周期におけるオフ状態時を検出できる。
【0028】
シャント抵抗16は、例えば、スイッチング部12とGND線Gとの間に配置されている。シャント抵抗16は、スイッチング部12とGND線との間に配置され、U相の電圧を検出可能にする。シャント抵抗16に基づいて得られる電圧の検出値からU相の第1相電流を算出できる。スイッチング部12と、シャント抵抗16との間には、検出端子となるノード12Dが配置されている。
【0029】
シャント抵抗17は、例えば、スイッチング部13とGND線Gとの間に配置されている。シャント抵抗17は、スイッチング部13とGND線との間に配置され、V相の電圧を検出可能にする。シャント抵抗17に基づいて得られる電圧の検出値からV相の第2相電流を算出できる。スイッチング部13と、シャント抵抗17との間には、検出端子となるノード13Dが配置されている。
【0030】
シャント抵抗18は、例えば、スイッチング部14とGND線Gとの間に配置されている。シャント抵抗18は、スイッチング部14とGND線との間に配置され、W相の電圧を検出可能にする。シャント抵抗18に基づいて得られる電圧の検出値からW相の第3相電流を算出できる。スイッチング部14と、シャント抵抗18との間には、検出端子となるノード14Dが配置されている。
【0031】
図2に示されるように、制御部21は、例えば、車両側の制御装置(不図示)から出力された指令モータトルクTmとモータ本体2のモータ電気角θmとに基づいて目標電流を算出し、スイッチング部11を制御してモータ本体2に発生させるトルクをフィードバック制御する。モータ制御装置20は、フィードバック制御においてスイッチング部11を動作させる制御電流値(制御信号)を出力する。
【0032】
制御部21は、例えば、U相コイル3Uに供給される第1相電流Iu、V相コイル3Vに供給される第2相電流Iv、W相コイル3Wに供給される第3相電流Iwを含む3相電流を調整し、3相電流に基づいて得られた制御電流値をフィードバックしてモータ1を制御する。
【0033】
図2に示されるように、制御部21は、例えば、目標電流算出部21Aと、3相2軸変換部21Bと、PI制御部21Cと、2軸3相変換部21Dと、PWMコントローラ21Fと、プリドライバ21Gとを備える。
図2において算出値に*が付されたものは目標値を示す。目標電流算出部21Aは、指令値である指令モータトルクTmに基づいて各相電流の目標電流値を算出する。本実施形態において目標電流値は、後述するdq軸電流の値として算出される。PWMコントローラ21Fは、モータトルクを所望の目標値に維持するための各相のプリドライバ駆動信号を生成し、プリドライバ21Gに出力する。プリドライバ21Gは、PWMコントローラ21Fから入力される各相のプリドライバ駆動信号に所定の信号処理を施すことにより、各相のドライバ駆動信号を生成し、スイッチング部11に出力する。
【0034】
3相2軸変換部21Bには、シャント抵抗15に基づいて得られた3相の第1相電流Iu、第2相電流Iv、及び第3相電流Iwの各値と、モータ本体2のモータ電気角θmと、が入力される。3相2軸変換部21Bは、3相電流をモータ本体2におけるd軸と、モータ本体2におけるq軸との2軸で変換したd軸電流Idの値、及びq軸電流Iqの値を制御電流値として算出する。モータ本体2におけるd軸は、ロータに設けられたマグネットの磁極が作る磁束方向を向く軸である。モータ本体2におけるq軸は、d軸と直交方向となる軸である。以下の説明においては、d軸電流Idとq軸電流Iqとを合わせてdq軸電流Id,Iqと呼ぶ。具体的に本実施形態において3相2軸変換部21Bは、3相電流の総和がゼロである条件を適用し、3相電流のうち2つの相電流とモータ電気角θmとを用いて、制御電流値としてのdq軸電流の値を下記の式(1)~(3)のいずれかに基づいて算出する。
【0035】
【0036】
上記の式(1)は、第1制御電流値Ic1を算出するための式である。第1制御電流値Ic1は、第2相電流Iv及び第3相電流Iwに基づいて算出されるdq軸電流の値である。上記の式(2)は、第2制御電流値Ic2を算出するための式である。第2制御電流値Ic2は、第3相電流Iw及び第1相電流Iuに基づいて算出されるdq軸電流の値である。上記の式(3)は、第3制御電流値Ic3を算出するための式である。第3制御電流値Ic3は、第1相電流Iu及び第2相電流Ivに基づいて算出されるdq軸電流の値である。
【0037】
第1制御電流値Ic1と第2制御電流値Ic2と第3制御電流値Ic3とは、理論上はいずれも同じ値となる電流値である。しかし、実際には、第1相電流Iuと第2相電流Ivと第3相電流Iwとにそれぞれバラつきが生じるため、異なる2つの相電流から求めた各制御電流値には、バラつきが生じる。本実施形態において3相2軸変換部21Bは、各制御電流値、つまり各dq軸電流の値に生じるばらつきを以下の式(4),(5)に基づいてオフセット補正値Owu,Ouvとして算出する。
【数3】
但し、
【数4】
である。
【0038】
オフセット補正値Owuは、第2制御電流値Ic2から第1制御電流値Ic1を減じて得られる差分である。そのため、第2制御電流値Ic2からオフセット補正値Owuを減じることで、第2制御電流値Ic2を、第1制御電流値Ic1と同じ値に補正することができる。オフセット補正値Ouvは、第3制御電流値Ic3から第1制御電流値Ic1を減じて得られる差分である。そのため、第3制御電流値Ic3からオフセット補正値Ouvを減じることで、第3制御電流値Ic3を、第1制御電流値Ic1と同じ値に補正することができる。
【0039】
PI制御部21Cには、目標電流算出部21Aにおいて算出された目標電流値と、3相2軸変換部21Bにおいて算出された制御電流値、つまりdq軸電流Id,Iqの値とが入力される。PI制御部21Cは、目標電流値に対して、3相2軸変換部21Bにおいて算出された制御電流値、つまりdq軸電流Id,Iqの値をフィードバックするPI制御を行う。PI制御部21Cにおいて、フィードバックされる値として用いられる制御電流値は、上述した第1制御電流値Ic1と第2制御電流値Ic2と第3制御電流値Ic3とのいずれか1つの制御電流値である。PI制御部21Cは、PI制御に基づいてdq軸指令電圧Vd,Vqを算出する。
【0040】
2軸3相変換部21Dには、PI制御部21Cにおいて算出されたdq軸指令電圧Vd,Vqと、モータ電気角θmとが入力される。2軸3相変換部21Dは、dq軸指令電圧Vd,Vqと、モータ電気角θmとに基づいて3相の指令電圧Vu,Vv,Vwを算出する。3相の指令電圧Vu,Vv,Vwは、インバータ回路部10に入力される。インバータ回路部10に入力された指令電圧Vu,Vv,Vwによって、インバータ回路部10の各スイッチング部11が制御され、モータ本体2に供給される3相電流が調整される。
【0041】
以下、制御部21による制御方法について説明する。制御部21は、PI制御部21Cにおいて、第1フィードバック制御と、第2フィードバック制御と、を実行可能である。
【0042】
第1フィードバック制御は、第1制御電流値Ic1と、第2制御電流値Ic2と、第3制御電流値Ic3と、のうちいずれか1つを制御電流値としてフィードバックするフィードバック制御である。本実施形態の第1フィードバック制御において制御部21は、第1制御電流値Ic1を制御電流値としてフィードバックする。第1フィードバック制御において制御部21は、他の制御電流値、つまり第2制御電流値Ic2及び第3制御電流値Ic3をフィードバックする制御電流値として用いない。本実施形態において制御部21は、第1相電流Iu、第2相電流Iv、及び第3相電流Iwをそれぞれ生成するパルス波のデューティ比がいずれも所定の閾値TH以下の範囲内で変化する場合、第1フィードバック制御を実行する。
【0043】
本実施形態において制御部21は、第1フィードバック制御の実行中に、第1制御電流値Ic1と第2制御電流値Ic2と第3制御電流値Ic3とを算出し、各制御電流値同士の差分を取得する。具体的には、制御部21は、第1フィードバック制御の実行中に、例えば、上述した式(4),(5)を用いて、オフセット補正値Ouv,Owuを、各制御電流値同士の差分として取得する。
【0044】
第2フィードバック制御は、第1制御電流値Ic1と、第2制御電流値Ic2と、第3制御電流値Ic3とを切り替えて制御電流値としてフィードバックするフィードバック制御である。本実施形態において制御部21は、第1相電流Iu、第2相電流Iv、及び第3相電流Iwをそれぞれ生成するパルス波のデューティ比DRのうち少なくとも1つが閾値THよりも大きい値を含む範囲内で変化する場合、第2フィードバック制御を実行する。
【0045】
図3には、第1相電流Iu、第2相電流Iv、及び第3相電流Iwのそれぞれを生成するパルス波のデューティ比Du,Dv,Dwと時間tとの関係の一例が示されている。デューティ比Duは、第1相電流Iuを生成するパルス波のデューティ比DRである。デューティ比Dvは、第2相電流Ivを生成するパルス波のデューティ比DRである。デューティ比Dwは、第3相電流Iwを生成するパルス波のデューティ比DRである。各デューティ比Du,Dv,Dwの時間tに対する変化は、各相電流の値の時間tに対する変化と同様の波形となる。各デューティ比Du,Dv,Dwの波形は、例えば、互いに位相がずれた正弦波となっている。各デューティ比Du,Dv,Dwの波形は、中性点変調した互いに位相がずれた3相の波形であってもよい。
図3の例は、各デューティ比Du,Dv,Dwのいずれもが、0%から100%までの範囲内で変化する場合について示している。
【0046】
図3の例において、所定の閾値THは、各デューティ比Du,Dv,Dwのうち2つのデューティ比DRの波形が交わる点におけるデューティ比DRの値のうち高い方の値となっている。そのため、いずれの時間tにおいても、各デューティ比Du,Dv,Dwのうちで閾値THよりも大きくなるデューティ比DRは、1つ以下である。
図3の例は、各デューティ比Du,Dv,Dwが最大値である100%まで変化する場合について示されている。そのため、各デューティ比Du,Dv,Dwの変化する範囲がどのように変化した場合であっても、各デューティ比Du,Dv,Dwのうちで閾値THよりも大きくなるデューティ比DRは、時間tごとに1つ以下しか存在しない。
図3の例において、閾値THは、75%である。
【0047】
本実施形態において制御部21は、第2フィードバック制御において3相電流のうちデューティ比DRが閾値TH以下である2相の相電流値に基づいて、制御電流値を算出する。つまり、第2フィードバック制御において、デューティ比Duが閾値THよりも大きく、デューティ比Dv,Dwが閾値TH以下である場合、制御部21は、第2相電流Iv及び第3相電流Iwに基づいて、第1制御電流値Ic1を算出する。第2フィードバック制御において、デューティ比Dvが閾値THよりも大きく、デューティ比Dw,Duが閾値TH以下である場合、制御部21は、第3相電流Iw及び第1相電流Iuに基づいて、第2制御電流値Ic2を算出する。第2フィードバック制御において、デューティ比Dwが閾値THよりも大きく、デューティ比Du,Dvが閾値TH以下である場合、制御部21は、第1相電流Iu及び第2相電流Ivに基づいて、第3制御電流値Ic3を算出する。
【0048】
第2フィードバック制御において、制御部21は、第1相電流Iu、第2相電流Iv、及び第3相電流Iwを生成する各パルス波のデューティ比DRの変化に基づいて、フィードバックする制御電流値を切り替える。本実施形態の第2フィードバック制御において制御電流値の切り替えは、時間tとともに変化する各デューティ比Du,Dv,Dwのそれぞれが閾値THを超えた際に行われる。
【0049】
つまり、例えば、第2フィードバック制御において、第1制御電流値Ic1を制御電流値としてフィードバックに用いていた状態でデューティ比Dwが閾値THを超えた際、制御部21は、制御電流値を、第1制御電流値Ic1から第3制御電流値Ic3に切り替える。第2フィードバック制御において、第3制御電流値Ic3を制御電流値としてフィードバックに用いていた状態でデューティ比Dvが閾値THを超えた際、制御部21は、制御電流値を、第3制御電流値Ic3から第2制御電流値Ic2に切り替える。第2フィードバック制御において、第2制御電流値Ic2を制御電流値としてフィードバックに用いていた状態でデューティ比Duが閾値THを超えた際、制御部21は、制御電流値を、第2制御電流値Ic2から第1制御電流値Ic1に切り替える。
【0050】
本実施形態において制御部21は、第2フィードバック制御において、第1制御電流値Ic1と、第2制御電流値Ic2と、第3制御電流値Ic3との差分に基づいて制御電流値を補正する。具体的に、第2フィードバック制御において制御部21は、第1制御電流値Ic1と第2制御電流値Ic2と第3制御電流値Ic3とのうち第1フィードバック制御で用いない2つの制御電流値を、オフセット補正値Ouv,Owuを用いて、第1フィードバック制御で用いる1つの制御電流値の値に補正する。つまり、第2フィードバック制御において第2制御電流値Ic2を算出する場合、制御部21は、算出した第2制御電流値Ic2からオフセット補正値Owuを減じて補正した値を制御電流値として用いる。第2フィードバック制御において第3制御電流値Ic3を算出する場合、制御部21は、算出した第3制御電流値Ic3からオフセット補正値Ouvを減じて補正した値を制御電流値として用いる。オフセット補正値Ouv,Owuを用いた制御電流値の補正は、例えば、3相2軸変換部21Bにおいて行われる。
【0051】
制御部21は、例えば、
図4に示すフローチャートに従って制御を行うことで、上述したデューティ比Du,Dv,Dwの変化に応じた各フィードバック制御の実行が可能である。
図4に示すように、まず、制御部21は、デューティ比Duが閾値THよりも大きいか否かを判定する(ステップS100)。デューティ比Duが閾値THよりも大きい場合(ステップS100:YES)、制御部21は、フィードバック制御に用いる制御電流値を第1制御電流値Ic1にする(ステップS102)。デューティ比Duが閾値TH以下の場合(ステップS100:NO)、制御部21は、デューティ比Dvが閾値THよりも大きいか否かを判定する(ステップS104)。
【0052】
デューティ比Dvが閾値THよりも大きい場合(ステップS104:YES)、制御部21は、フィードバック制御に用いる制御電流値を第2制御電流値Ic2にする(ステップS106)。デューティ比Dvが閾値TH以下の場合(ステップS104:NO)、制御部21は、デューティ比Dwが閾値THよりも大きいか否かを判定する(ステップS108)。
【0053】
デューティ比Dwが閾値THよりも大きい場合(ステップS108:YES)、制御部21は、フィードバック制御に用いる制御電流値を第3制御電流値Ic3にする(ステップS110)。デューティ比Dwが閾値TH以下の場合(ステップS108:NO)、制御部21は、フィードバック制御に用いる制御電流値を第1制御電流値Ic1にする(ステップS112)。
【0054】
制御部21は、上述したステップS100~S112を常時繰り返すことで、各デューティ比Du,Dv,Dwの大きさに応じて、第1フィードバック制御と第2フィードバック制御とを実行することができる。本実施形態では、ステップS112が実行される場合が、第1フィードバック制御が実行される場合である。ステップS102,S106,S110が周期的に切り替わって実行される場合が、第2フィードバック制御が実行される場合である。
【0055】
なお、制御部21は、例えば、
図5に示すフローチャートに従って制御を行うことで、上述したデューティ比Du,Dv,Dwの変化に応じた各フィードバック制御を実行してもよい。
図5の例において制御部21は、第1相電流Iu、第2相電流Iv、及び第3相電流Iwを生成する各パルスのデューティ比Du,Dv,Dwの変化する範囲が、閾値TH以下の範囲内か否かについて判定する(ステップS200)。
【0056】
デューティ比Du,Dv,Dwの変化する範囲が閾値TH以下の範囲内である場合(ステップS200:YES)、制御部21は、第1フィードバック制御を実行する(ステップS202)。一方、デューティ比Du,Dv,Dwの変化する範囲が閾値TH以下の範囲内でない場合(ステップS200:NO)、制御部21は、第2フィードバック制御を実行する(ステップS204)。
【0057】
上述したように、本実施形態のモータ1を制御するモータ制御方法は、第1相電流Iu、第2相電流Iv、第3相電流Iwを含む3相電流を調整するモータ制御方法であって、3相電流に基づいて得られた制御電流値をフィードバックして3相電流を制御することを含む。モータ制御方法において3相電流を制御することは、第2相電流Iv及び第3相電流Iwに基づいて算出される第1制御電流値Ic1と、第3相電流Iw及び第1相電流Iuに基づいて算出される第2制御電流値Ic2と、第1相電流Iu及び第2相電流Ivに基づいて算出される第3制御電流値Ic3と、のうちいずれか1つを制御電流値としてフィードバックする第1フィードバック制御を実行することを含む。モータ制御方法において3相電流を制御することは、第1制御電流値Ic1と、第2制御電流値Ic2と、第3制御電流値Ic3とを切り替えて制御電流値としてフィードバックする第2フィードバック制御を実行することを含む。
【0058】
上記処理においてモータ1を制御するモータ制御装置20においてプログラムは、第1相電流Iu、第2相電流Iv、第3相電流Iwを含む3相電流を調整し、モータ制御方法に係る処理を実行させる。プログラムは、モータ制御装置20に、3相電流に基づいて得られた制御電流値をフィードバックして3相電流を制御させる。
【0059】
プログラムは、上記3相電流を制御させる際に、第2相電流Iv及び第3相電流Iwに基づいて算出される第1制御電流値Ic1と、第3相電流Iw及び第1相電流Iuに基づいて算出される第2制御電流値Ic2と、第1相電流Iu及び第2相電流Ivに基づいて算出される第3制御電流値Ic3と、のうちいずれか1つを制御電流値としてフィードバックする第1フィードバック制御をモータ制御装置20に実行させる。
【0060】
プログラムは、上記3相電流を制御させる際に、第1制御電流値Ic1と、第2制御電流値Ic2と、第3制御電流値Ic3とを切り替えて制御電流値としてフィードバックする第2フィードバック制御をモータ制御装置20に実行させる。
【0061】
上述したようにモータ制御装置20によれば、制御部21は、第1制御電流値Ic1と、第2制御電流値Ic2と、第3制御電流値Ic3とを切り替えて制御電流値としてフィードバックする第2フィードバック制御を実行可能である。そのため、デューティ比Du,Dv,Dwがシャント抵抗15などによって電流値を好適に検出できない範囲まで変化する場合であっても、制御電流値を検出するときに、デューティ比Du,Dv,Dwの値が電流値を好適に検出できる値となっている2つの相電流を選択して、当該2つの相電流に基づいて制御電流値を算出することができる。これにより、例えば、デューティ比Du,Dv,Dwが90%以上、100%以下のような比較的大きい値を含む範囲内で変化する場合であっても、制御電流値を精度よく算出することができ、モータ1を好適に制御することができる。この閾値の範囲は、インバータ回路部10における3相電流を正確に検出しにくい範囲において設定されるものである。従って、インバータ回路部10の構成などに依存して変化する。インバータ回路部10の個々の特性に応じて閾値を適切に決めることで、インバータ回路部10ごとにフィードバック制御の切り替えを好適に行うことができる。したがって、モータ1に供給される3相電流を生成するパルス波のデューティ比Du,Dv,Dwを大きくすることができ、モータ1の出力を向上させることができる。また、既存のモータ1の構造に変更を加えることなく、モータ制御装置20に処理を実行させるプログラムを変更することよって、モータ1の出力を向上させることができる。
【0062】
また、本実施形態によれば、制御部21は、第1相電流Iu、第2相電流Iv、及び第3相電流Iwをそれぞれ生成するパルス波のデューティ比Du,Dv,Dwがいずれも所定の閾値TH以下の範囲内で変化する場合、第1フィードバック制御を実行し、第1相電流Iu、第2相電流Iv、及び第3相電流Iwをそれぞれ生成するパルス波のデューティ比Du,Dv,Dwのうち少なくとも1つが閾値THより大きい値を含む範囲内で変化する場合、第2フィードバック制御を実行する。そのため、例えば閾値THを、電流値を好適に検出可能なデューティ比DRの最大値とすることで、デューティ比Du,Dv,Dwが電流値を好適に検出できない値に変化する場合に、第2フィードバック制御を実行してフィードバックに用いる制御電流値を好適に切り替えることができる。また、デューティ比Du,Dv,Dwが電流値を好適に検出できない値に変化しない場合には、制御電流値を変化させない第1フィードバック制御を実行するため、制御部21の制御負荷を低減できる。
【0063】
また、本実施形態によれば、制御電流値は、3相電流をd軸と、d軸と直交方向のq軸との2軸で変換したdq軸電流の値である。そのため、制御電流値を算出することで、モータ本体2におけるロータの回転位置を把握しやすくできる。これにより、制御電流値を用いて、モータ1を効率よく制御することができる。
【0064】
また、本実施形態によれば、制御部21は、第2フィードバック制御において3相電流のうちデューティ比Du,Dv,Dwが閾値TH以下である2相の相電流値に基づいて、制御電流値を算出する。そのため、2相の相電流値をいずれも好適に検出することができ、当該2相の相電流値に基づいて制御電流値を好適に算出することができる。
【0065】
また、本実施形態によれば、制御部21は、第2フィードバック制御において、第1制御電流値Ic1と、第2制御電流値Ic2と、第3制御電流値Ic3との差分に基づいて制御電流値を補正する。そのため、第1制御電流値Ic1と第2制御電流値Ic2と第3制御電流値Ic3との間で制御電流値を切り替えた際に、制御電流値が不連続となることを抑制できる。具体的に本実施形態では、オフセット補正値Ouv,Owuによって第2制御電流値Ic2と第3制御電流値Ic3とが第1制御電流値Ic1に補正されるため、第2フィードバック制御において制御電流値が切り替えられても、制御電流値を、第1フィードバック制御における第1制御電流値と同様に、連続的に変化させることができる。したがって、制御電流値を用いてモータ1をより好適に制御できる。
【0066】
また、本実施形態によれば、制御部21は、第1フィードバック制御の実行中に、第1制御電流値Ic1と第2制御電流値Ic2と第3制御電流値Ic3とを算出し、第1制御電流値Ic1と第2制御電流値Ic2と第3制御電流値Ic3との差分を取得する。つまり、デューティ比Du,Dv,Dwの変化する範囲が、第1相電流Iuと第2相電流Ivと第3相電流Iwとをいずれも好適に検出可能な範囲内にあるときに、第1制御電流値Ic1と第2制御電流値Ic2と第3制御電流値Ic3とを精度よく検出して、各制御電流値のバラつきを精度よく取得しておくことができる。これにより、第2フィードバック制御を実行する際に、第1フィードバック制御中に取得した差分を用いることで、制御電流値を好適に補正することができる。したがって、制御電流値が不連続となることをより抑制でき、モータ1をより好適に制御できる。
【0067】
[変形例]
上記実施形態においては、閾値THは、いずれの時間tにおいても閾値THよりも大きくなるデューティ比Du,Dv,Dwが1つ以下となる値となっていたが、これに限られない。閾値THは、
図6に示す例のような値であってもよい。
図6の例において閾値THは、各デューティ比Du,Dv,Dwのうち2つのデューティ比DRの波形が交わる点におけるデューティ比DRの値のうち大きい方の値よりも小さく、2つのデューティ比DRの波形が交わる点におけるデューティ比DRの値のうち小さい方の値よりも大きい値となっている。
図6の例では、閾値THは、60%である。
【0068】
図6のような場合、或る時間tにおいて、各デューティ比Du,Dv,Dwのうち2つのデューティ比DRが閾値THよりも大きくなる。一例として、
図6に示す期間PHにおいては、デューティ比Dvとデューティ比Dwとが閾値THよりも大きくなっている。期間PHにおいて、デューティ比Duは、閾値THよりも小さい。このように閾値THよりも大きくなるデューティ比DRが2つある場合、制御部21は、第2フィードバック制御において3相電流のうちデューティ比DRが閾値TH以下である1相の相電流値とデューティ比DRが閾値THよりも大きい1相の相電流値とに基づいて、制御電流値を算出する。例えば、期間PHにおいて制御部21は、デューティ比DRがデューティ比Dwとなる第3相電流Iwとデューティ比DRがデューティ比Duとなる第1相電流Iuとに基づいて、第2制御電流値Ic2を算出する。このような場合であっても、期間PH内におけるデューティ比Dwの最大値においてシャント抵抗15などによって電流値を好適に検出できるならば、第2制御電流値Ic2を精度よく算出することができる。
【0069】
図6に示す変形例のように、閾値THを、シャント抵抗15などによって好適に電流値を検出できる最大のデューティ比DRよりも小さい値とすることで、デューティ比DRが或る程度大きくなった時点で、第2フィードバック制御を実行することができる。これにより、各デューティ比Du,Dv,Dwに誤差が生じた場合であっても、制御電流値の算出に用いるデューティ比DRの値が、電流値を好適に検出できない値となることを抑制しやすい。
【0070】
図6に示されるように、変形例に係るモータ制御装置20における制御部21も、第2フィードバック制御において3相電流のうち1相の相電流値が閾値以下から閾値THよりも大きくなったタイミングにおいて、他の2相の相電流値に基づいて制御電流値を算出する。変形例に係るモータ制御装置20は、閾値以上のデューティ相が2相となる場合においても第1フィードバック制御と第2フィードバック制御とを切り替えて実行する。
【0071】
上述した制御部21の各構成要素の全部または一部は、例えば、CPUなどのプロセッサが、記憶部22に記憶されたプログラム(ソフトウェア)を実行することで実現される。また、これらの構成要素の機能のうち一部または全部は、LSIやASIC、FPGA、GPU等のハードウェア(回路部:circuitryを含む)によって実現されていてもよいし、ソフトウェアとハードウェアの協働によって実現されていてもよい。
【0072】
プログラムは、予めHDDやフラッシュメモリなどの記憶装置に格納されていてもよいし、DVDやCD-ROMなどの着脱可能な記憶媒体に格納されており、記憶媒体がドライブ装置に装着されることでインストールされてもよい。記憶部22は、例えば、RAM、ROM、HDD、フラッシュメモリなどの記憶媒体によって実現される。
【0073】
以上、本発明の一実施形態について説明したが、本発明は上記の一実施形態に限定されるものではなく、その趣旨を逸脱しない範囲で適宜変更可能である。例えば、モータ制御装置20は、制御電流値としてdq軸電流を用いることを例示したが、制御電流値は、3相の電流値を用いるようにしてもよい。
【符号の説明】
【0074】
1…モータ、20…モータ制御装置、21…制御部、DR,Du,Dv,Dw…デューティ比、Ic1…第1制御電流値、Ic2…第2制御電流値、Ic3…第3制御電流値、Id,Iq…dq軸電流、Iu…第1相電流、Iv…第2相電流、Iw…第3相電流、TH…閾値