(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-08
(45)【発行日】2024-05-16
(54)【発明の名称】モータ制御装置
(51)【国際特許分類】
H02P 21/34 20160101AFI20240509BHJP
H02P 21/24 20160101ALI20240509BHJP
H02P 27/06 20060101ALI20240509BHJP
H02P 21/22 20160101ALI20240509BHJP
【FI】
H02P21/34
H02P21/24
H02P27/06
H02P21/22
(21)【出願番号】P 2021062048
(22)【出願日】2021-03-31
【審査請求日】2023-06-30
(73)【特許権者】
【識別番号】000006611
【氏名又は名称】株式会社富士通ゼネラル
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】小林 雄寛
【審査官】谿花 正由輝
(56)【参考文献】
【文献】特開2018-170928(JP,A)
【文献】特開2015-073361(JP,A)
【文献】特開2022-064662(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H02P 21/34
H02P 21/24
H02P 27/06
H02P 21/22
(57)【特許請求の範囲】
【請求項1】
ファンを回転させるモータの駆動を制御するモータ制御装置であって、
直流電源から供給される直流電圧を交流電圧に変換し、前記交流電圧を前記モータに印加するインバータと、
前記モータが起動される際に前記インバータの母線電流を検出する電流検出部と、
前記母線電流から算出される相電流に含まれる周波数成分と、互いに異なる複数の設定回転数のそれぞれに対応する周波数との相関値を算出し、
複数の前記相関値の分散を算出し、
複数の前記相関値と前記分散とに基づいて、前記モータが起動される際の前記モータの空転回転数を検出する回転数検出部と、
を具備するモータ制御装置。
【請求項2】
前記回転数検出部は、複数の前記相関値の中から閾値以上の相関値を候補相関値として抽出し、前記候補相関値のうち前記分散が最小の相関値に対応する前記設定回転数を前記空転回転数として判定する、
請求項1に記載のモータ制御装置。
【請求項3】
前記回転数検出部は、前記複数の設定回転数において前記設定回転数の昇順に前記相関値を算出する過程で閾値未満の分散に対応する前記設定回転数である小分散回転数を特定し、前記小分散回転数と、前記小分散回転数の正の整数倍の前記設定回転数とを候補回転数として決定し、前記候補回転数のうち最大の前記相関値に対応する前記設定回転数を前記空転回転数として判定する、
請求項1に記載のモータ制御装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、モータ制御装置に関する。
【背景技術】
【0002】
空気調和機の室外機は、熱交換器と、熱交換器用のファン(以下では「室外機ファン」と呼ぶことがある)と、室外機ファンを回転させるモータ(以下では「ファンモータ」と呼ぶことがある)とを有する。ファンモータは室外機ファンを正転方向に回転させ、室外機ファンは正転方向に回転することで熱交換器に送風する。
【0003】
また、室外機はファンモータの駆動を制御するモータ制御装置を有し、モータ制御装置は、ファンモータに印加される3相の交流電圧(以下では「3相電圧」と呼ぶことがある)を生成するインバータを有する。インバータは、複数のスイッチング素子から構成される。
【0004】
室外機のファンモータは、ファンモータの起動前に(つまり、ファンモータが停止している間に)、室外機ファンが風などの外力を受けて空転することにより、室外機ファンと共に回転する。室外機ファンが正転方向に空転するときはファンモータも正転方向に回転し、室外機ファンが正転方向とは逆方向(つまり逆転方向)に空転するときはファンモータも逆転方向に回転する。以下では、ファンモータの起動前にファンモータが室外機ファンと同方向に回転することを「空転」と呼び、ファンモータの空転の回転数を「空転回転数」と呼ぶことがある。
【0005】
空転回転数が大きい状態でファンモータを起動させてしまうとファンモータの起動に失敗したり、ファンモータが破損してしまうことがある。
【0006】
そこで、ファンモータを起動する際にインバータの上アーム及び下アームのそれぞれにおいて異なる1相のスイッチング素子に通電した状態の母線電流を検出し、検出した母線電流に含まれる周波数成分を抽出し、抽出した周波数成分に基づいて空転回転数を検出する技術が提案されている。
【先行技術文献】
【特許文献】
【0007】
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかし、母線電流にはノイズが重畳することがあるため、上記の先行技術では、抽出される周波数成分にノイズによって誤った周波数成分が含まれる場合があり、正しい空転回転数を検出できないことがある。
【0009】
そこで、本開示では、正しい空転回転数を検出できる技術を提案する。
【課題を解決するための手段】
【0010】
本開示のモータ制御装置は、ファンを回転させるモータの駆動を制御するモータ制御装置であって、インバータと、電流検出部と、回転数検出部を有する。前記インバータは、直流電源から供給される直流電圧を交流電圧に変換し、前記交流電圧を前記モータに印加する。前記電流検出部は、前記モータが起動される際に前記インバータの母線電流を検出する。前記回転数検出部は、前記母線電流から算出される相電流に含まれる周波数成分と、互いに異なる複数の設定回転数のそれぞれに対応する周波数との相関値を算出し、複数の前記相関値の分散を算出し、複数の前記相関値と前記分散とに基づいて、前記モータが起動される際の前記モータの空転回転数を検出する。
【発明の効果】
【0011】
開示の技術によれば、正しい空転回転数を検出できる。
【図面の簡単な説明】
【0012】
【
図1】
図1は、本開示の実施例1のモータ制御装置の構成例を示す図である。
【
図2】
図2は、本開示の実施例1の回転数検出部の構成例を示す図である。
【
図3】
図3は、本開示の実施例1の回転数検出部における処理手順の一例を示すフローチャートである。
【
図4】
図4は、本開示の実施例1の回転数検出部の動作例の説明に供する図である。
【
図5】
図5は、本開示の実施例1の回転数検出部の動作例の説明に供する図である。
【
図6】
図6は、本開示の実施例1の回転数検出部の動作例の説明に供する図である。
【
図7】
図7は、本開示の実施例2の回転数検出部の構成例を示す図である。
【
図8】
図8は、本開示の実施例2の回転数検出部における処理手順の一例を示すフローチャートである。
【
図9】
図9は、本開示の実施例2の回転数検出部の動作例の説明に供する図である。
【
図10】
図10は、本開示の実施例2の回転数検出部の動作例の説明に供する図である。
【発明を実施するための形態】
【0013】
以下、本開示の実施例を図面に基づいて説明する。以下の実施例において同一の構成には同一の符号を付す。
【0014】
[実施例1]
<モータ制御装置の構成>
図1は、本開示の実施例1のモータ制御装置の構成例を示す図である。
図1に示すモータ制御装置100は、位置センサレス方式、1シャント検出方式、及び、PWMを用いてファンモータMの駆動を制御する。
図1において、モータ制御装置100は、減算部46,47,52と、d軸電流設定部48と、速度制御部49と、d軸q軸電圧設定部45と、dq/3φ変換部43と、PWM部41と、インバータ10と、直流電源E
DCと、シャント抵抗Rsとを有する。また、モータ制御装置100は、電流検出部21と、3φ電流算出部61と、3φ/dq変換部42と、位置・速度推定部44と、1/Pn処理部51と、回転数検出部80とを有する。
【0015】
減算部46,47,52、d軸電流設定部48、速度制御部49、d軸q軸電圧設定部45、dq/3φ変換部43、PWM部41、電流検出部21、3φ電流算出部61、3φ/dq変換部42、位置・速度推定部44、1/Pn処理部51、及び、回転数検出部80は、ハードウェアとして、例えばMCU(Micro Control Unit)により実現される。
【0016】
また、インバータ10は、上アームのスイッチング素子SWup,SWvp,SWwpと、下アームのスイッチング素子SWun,SWvn,SWwnとを有するスイッチングモジュールになっている。
【0017】
モータ制御装置100において、d軸電流設定部48は、所定値のd軸電流指令値id*を減算部46へ出力する。
【0018】
減算部46には、d軸電流設定部48からd軸電流指令値id*が入力され、3φ/dq変換部42からd軸電流idが入力される。減算部46は、d軸電流指令値id*からd軸電流idを減算することによりd軸電流偏差Δidを算出し、算出したd軸電流偏差Δidをd軸q軸電圧設定部45へ出力する。
【0019】
速度制御部49は、減算部52から入力される速度偏差Δωがゼロに近づくようにq軸電流指令値iq*を算出し、算出したq軸電流指令値iq*を減算部47へ出力する。
【0020】
減算部47には、速度制御部49からq軸電流指令値iq*が入力され、3φ/dq変換部42からq軸電流iqが入力される。減算部47は、q軸電流指令値iq*からq軸電流iqを減算することによりq軸電流偏差Δiqを算出し、算出したq軸電流偏差Δiqをd軸q軸電圧設定部45へ出力する。
【0021】
d軸q軸電圧設定部45には、減算部46からd軸電流偏差Δidが入力され、減算部47からq軸電流偏差Δiqが入力され、3φ/dq変換部42からd軸電流id及びq軸電流iqが入力される。d軸q軸電圧設定部45は、d軸電流偏差Δid及びq軸電流偏差Δiqがゼロに近づくようにd軸電圧指令値Vd*及びq軸電圧指令値Vq*を算出し、算出したd軸電圧指令値Vd*及びq軸電圧指令値Vq*を位置・速度推定部44及びdq/3φ変換部43へ出力する。d軸電圧指令値Vd*及びq軸電圧指令値Vq*は、3φ電流算出部61により算出されるモータ電流であるU相電流iu、V相電流iv及びW相電流iwに応じても変化する。
【0022】
位置・速度推定部44には、3φ/dq変換部42からd軸電流id及びq軸電流iqが入力され、d軸q軸電圧設定部45からd軸電圧指令値Vd*及びq軸電圧指令値Vq*が入力される。位置・速度推定部44は、d軸電流id、q軸電流iq、d軸電圧指令値Vd*、及び、q軸電圧指令値Vq*に基づいて、ファンモータMの電気角推定角速度ωeと、回転座標(dq座標)でのファンモータMの回転位相角θdqとを推定する。位置・速度推定部44は、推定した電気角推定角速度ωeを1/Pn処理部51へ出力し、推定した回転位相角θdqを3φ/dq変換部42及びdq/3φ変換部43へ出力する。
【0023】
1/Pn処理部51は、電気角推定角速度ωeをファンモータMの極対数で除することにより、電気角推定角速度ωeをファンモータMが有するロータの機械角推定角速度ωmに変換し、変換後の機械角推定角速度ωmを減算部52へ出力する。
【0024】
減算部52には、1/Pn処理部51から機械角推定角速度ωmが入力され、モータ制御装置100の外部から(例えば、モータ制御装置100の上位のコントローラから)機械角速度指令値ωm*が入力される。減算部52は、機械角速度指令値ωm*から機械角推定角速度ωmを減算することにより速度偏差Δωを算出し、算出した速度偏差Δωを速度制御部49へ出力する。
【0025】
dq/3φ変換部43は、回転位相角θdqを用いて、回転座標の2相のd軸電圧指令値Vd*及びq軸電圧指令値Vq*を、固定座標(UVW座標)の3相の電圧指令値Vu*,Vv*,Vw*に変換する。dq/3φ変換部43は、変換後の電圧指令値Vu*,Vv*,Vw*をPWM部41へ出力する。
【0026】
PWM部41には、dq/3φ変換部43から電圧指令値Vu*,Vv*,Vw*が入力される。また、PWM部41には、モータ制御装置100の外部から(例えば、モータ制御装置100の上位のコントローラから)、PWMの搬送波であるキャリア信号が入力される。PWM部41は、電圧指令値Vu*,Vv*,Vw*と、キャリア信号とに基づいて、3相のPWM信号Up,Un,Vp,Vn,Wp,Wnを生成し、生成したPWM信号Up,Un,Vp,Vn,Wp,Wnをインバータ10及び3φ電流算出部61へ出力する。
【0027】
インバータ10には、直流電源EDCから直流電圧が供給され、PWM部41からPWM信号Up,Un,Vp,Vn,Wp,Wnが入力される。インバータ10は、直流電源EDCから供給される直流電圧をPWM信号Up~Wnに従って3相の交流電圧に変換し、変換後の3相の交流電圧をファンモータMに印加する。3相の交流電圧がファンモータMに印加されることによりファンモータMが駆動される。インバータ10では、PWM信号Up,Un,Vp,Vn,Wp,Wnに従って各スイッチング素子SWup,SWun,SWvp,SWvn,SWwp,SWwnがオン/オフされることにより、直流電圧が3相電圧に変換される。各スイッチング素子SWup,SWun,SWvp,SWvn,SWwp,SWwnの両端には、還流ダイオードDup,Dun,Dvp,Dvn,Dwp,Dwnが接続されている。
【0028】
電流検出部21は、直流電源EDCとインバータ10との間に接続されているシャント抵抗Rsを用いて、インバータ10の母線電流Isを検出する。シャント抵抗Rsは、直流電源EDCにおけるN側端子とインバータ10との間のDCラインであるNラインLN上に配置されている。なお、シャント抵抗Rsは、直流電源EDCにおけるP側端子とインバータ10との間のDCラインであるPラインLP上に配置されても良い。シャント抵抗Rsには、モータ電流であるU相電流、V相電流、W相電流と、PWM信号とに応じた母線電流Isが流れ、シャント抵抗Rsに母線電流Isが流れるときに、シャント抵抗Rsの両端に電圧降下が生じる。電流検出部21は、この電圧降下の大きさとシャント抵抗Rsの抵抗値とから、シャント抵抗Rsに流れる母線電流Isを検出する。母線電流Isは、シャント抵抗Rsに母線電流Isが流れるときにシャント抵抗Rsの両端に発生する電圧降下Vsに基づいて式(1)に従って算出できる。
Is=Vs/Rs …(1)
【0029】
3φ電流算出部61は、母線電流Isと、PWM信号Up~Wnとに基づいて、モータ電流であるU相電流iu、V相電流iv及びW相電流iwを算出し、算出したモータの3相電流iu,iv,iwを3φ/dq変換部42へ出力する。また、3φ電流算出部61は、3相電流iu,iv,iwのうちの何れか1相の相電流を回転数検出部80へ出力する。
【0030】
回転数検出部80は、3φ電流算出部61から入力される1相の相電流に基づいてファンモータMの空転回転数を検出し、検出した空転回転数をモータ制御装置100の外部へ(例えば、モータ制御装置100の上位のコントローラへ)出力する。回転数検出部80の詳細については後述する。
【0031】
3φ/dq変換部42は、位置・速度推定部44から入力される回転位相角θdqを用いて、固定座標の3相の電流ベクトルを示すモータ電流iu,iv,iwを、回転座標の2相の電流ベクトルを示すd軸電流及びq軸電流に変換する。
【0032】
<回転数検出部の構成>
図2は、本開示の実施例1の回転数検出部の構成例を示す図である。
図2において、回転数検出部80は、正弦フィルタ81と、余弦フィルタ82と、相関値算出部83と、分散算出部84と、回転数判定部85と、制御部86とを有する。正弦フィルタ81及び余弦フィルタ82には、3φ電流算出部61から3相電流iu,iv,iwのうちの何れか1相の相電流値が入力される。以下では、正弦フィルタ81及び余弦フィルタ82にU相電流iuが入力される場合を一例に挙げて説明する。制御部86は、正弦フィルタ81、余弦フィルタ82、相関値算出部83、分散算出部84及び回転数判定部85の動作を制御する。
【0033】
ここで、ファンモータMが空転している際には、ファンモータMに誘起電圧が発生する。ファンモータMに生じる誘起電圧(以下では「モータ誘起電圧」と呼ぶことがある)の振幅及び周波数は、ファンモータMの空転回転数に応じて変化する。このため、インバータ10の母線電流Isは、モータ誘起電圧の振幅及び周波数に応じて変化する。よって、母線電流Isに基づいて算出されるU相電流iuも同様にモータ誘起電圧の振幅及び周波数に応じて変化する。
【0034】
そこで、正弦フィルタ81は、式(2)に従って、正弦関数とU相電流iuとの相関値(以下では「正弦相関値」と呼ぶことがある)Csを算出する。
Cs=Σsin(ω×t)×iu×(ω×Δt)
=Σsin(2π×(α+nβ)/(60/(P/2))×t)
×iu×(ω×Δt) …(2)
【0035】
また、余弦フィルタ82は、式(3)に従って、余弦関数とU相電流iuとの相関値(以下では「余弦相関値」と呼ぶことがある)Ccを算出する。
Cc=Σcos(ω×t)×iu×(ω×Δt)
=Σcos(2π×(α+nβ)/(60/(P/2))×t)
×iu×(ω×Δt) …(3)
【0036】
式(2)及び式(3)において、ωはファンモータMの電気角速度[rad/s]であり、時間tの範囲は0~T(相関値の算出のために予め設定された電気角角速度における回転数(以下では「設定回転数」と呼ぶことがある)の1周期)であり、周期Tは設定回転数に応じて変化する。例えば設定回転数が“α”の場合、周期Tは“1/α”である。Δtは、相関値の算出間隔を表し、例えば、MCUの演算サイクルと同一である。PはファンモータMのロータの極数である。また、α[rpm]は設定回転数の最小値であり、β[rpm]は設定回転数の増分量である。Nは設定回転数の全個数であり、nは設定回転数を決定するための変数(以下では「設定回転数決定変数」と呼ぶことがある)であり、nの範囲が整数0~N-1であるとすると、設定回転数はα+nβで表すことができる。例えば、30~400[rpm]の範囲において10[rpm]毎に設定回転数を設定したい場合には、αが30[rpm]、βが10[rpm]、Nが38に設定され、設定回転数は、30[rpm]から400[rpm]まで30,40,50,…,400と10[rpm]ずつの間隔で設定される。α、β及びNは、空転回転数の検出範囲に応じて予め設定される。そして、30~400[rpm]の範囲において空転回転数を検出する場合には、モータ誘起電圧の振幅が変化する周期(以下では「誘起電圧周期」と呼ぶことがある)がどの設定回転数と相関があるかを探索することで空転回転数の候補値を特定することができる。上記の正弦相関値及び余弦相関値は、誘起電圧周期と設定回転数との相関の大きさを後述するようにして数値化する際に用いることができる。例えば、30~400[rpm]の範囲において10[rpm]毎に空転回転数の相関値の算出を行いたい場合には、αが30[rpm]、βが10[rpm]、Nが38に設定され、設定回転数α+nβが30[rpm]から400[rpm]まで30,40,50,…,400と10[rpm]ずつ変化して、正弦相関値Cs及び余弦相関値Ccがそれぞれ38個ずつ算出される。
【0037】
正弦フィルタ81は、α~α+nβの設定回転数毎に式(2)に従って正弦相関値Csを算出し、設定回転数毎の正弦相関値Csを各設定回転数に対応付けて相関値算出部83へ出力する。
【0038】
余弦フィルタ82は、α~α+nβの設定回転数毎に式(3)に従って余弦相関値Ccを算出し、設定回転数毎の余弦相関値Ccを各設定回転数に対応付けて相関値算出部83へ出力する。
【0039】
相関値算出部83は、設定回転数毎に、式(4)に従って、正弦相関値Csと余弦相関値Ccとの二乗和平方根(以下では「二乗和相関値」と呼ぶことがある)Cscを算出する。
Csc=√(Cs2+Cc2) …(4)
【0040】
二乗和相関値Cscは、空転回転で生じるU相電流値iuの電気角周波数ω2(つまり、U相電流値iuに含まれる周波数成分)と、α~α+nβの設定回転数毎の電気角周波数ω1(つまり、α~α+nβの複数の設定回転数のそれぞれに対応する周波数)との相関値を表す。探索範囲において相関値が最大となる設定回転数が空転回転数と判定される。しかし、U相電流にノイズ等が重畳してU相電流値iuの電気角周波数にズレが生じた場合、最大の相関値に対応する設定回転数が実際の空転回転数と異なることがある。以下、最大の相関値の誤差要因について説明する。
【0041】
設定回転数の電気角周波数をω1、U相電流iuの電気角周波数をω2、U相電流iuの振幅をI、正弦関数または余弦関数とU相電流iuとの位相差をθとすると、式(2)に基づいて、正弦フィルタ81は式(5)によって表すことができる。余弦フィルタ82についても同様であるため、余弦フィルタ82についての説明は省略する。
Cs=Σsin(ω1×t)×I×sin(ω2×t+θ)×(ω1×Δt)
=ΣI×(sin(ω1×t)×sin(ω2×t)×cos(θ)
+(sin(ω1×t+ω2×t)+sin(ω1×t-ω2×t))/2
×sin(θ))×(ω1×Δt) …(5)
【0042】
ここで、相電流の周波数が設定回転数の周波数の整数倍になっている場合(つまりω2=ω1×k(k:整数1,2,3,…)の場合)と、相電流の周波数が設定回転数の周波数の整数倍になっていない場合(つまり、ω2≠ω1×kの場合)とについて整理する。
【0043】
式(5)のsin(ω1×t+ω2×t)+sin(ω1×t-ω2×t))/2に、ω2≠ω1×kを代入すると式(6)となり、ω2=ω1×kを代入すると式(7)となる。
ω2≠ω1×kのとき
sin(ω1×t+ω2×t)+sin(ω1×t-ω2×t))/2 …(6)
ω2=ω1×kのとき
sin((1+k)ω1×t)+sin((1-k)ω1×t))/2 …(7)
【0044】
ω2≠ω1×kのときの式(6)場合には、ω2=ω1×kのときの式(7)のように、位相内を設定回転数ω1で括ることができない。よって、設定回転数ω1の周期時間tの範囲(0~T(T=1/(ω1/2π))での積分値は0にならない。
【0045】
また、ω2=ω1×kのときに、設定回転数の周期時間tの範囲(0~T(T=1/(ω1/2π))でCs及びCcを求めると、sin(ω1×t)×cos(ω1×t)の項が0となる。これは、正弦波または余弦波を0~2πの範囲で積分したときの積分値が0となるためである。一方で、式(6)での0にならない積分値がノイズとなって相関値に加算されることで、U相電流iuの電気角周波数ω2と設定回転数の電気角周波数ω1とが一致していないときの相関値が最大になることがある。
【0046】
これに対し、相関値を複数回算出し、複数の相関値の間での変動の大きさを例えば分散を用いて算出することで、誤差の無い空転回転数を検出することができる。U相電流iuの電気角周波数と設定回転数の電気角周波数とが一致しているとき、または、U相電流iuの電気角周波数が、設定回転数の電気角周波数の整数倍の値に同期しているときには、相関値の変動は理論上0になり、U相電流iuの電気角周波数が、設定回転数の電気角周波数の整数倍の値に同期していないときには、相関値の変動が大きくなる。これは、時間tの範囲0~T(設定回転数の周期)で相関値が算出されるため、U相電流iuの電気角周波数が非同期の場合には、U相電流iuの相関値算出区間が毎回変わるためである。U相電流iuの電気角周波数と設定回転数の電気角周波数との同期の度合いを分散を用いて定量的に算出することで、誤差のない空転回転数を検出することができる。
【0047】
正弦フィルタ81、余弦フィルタ82及び相関値算出部83は、設定回転数毎に相関値算出処理をM回(但し、Mは2以上の整数)実行する。例えば、正弦フィルタ81、余弦フィルタ82及び相関値算出部83は、時間0~Tの1周期を1回として、設定回転数毎にM回の相関値算出処理を実行する。相関値算出部83は、各設定回転数のそれぞれにおいて、設定回転数毎にM個の二乗和相関値Cscを算出する。そして、相関値算出部83は、設定回転数毎に、M個の二乗和相関値Cscを各設定回転数に対応付けて分散算出部84へ出力する。また、相関値算出部83は、設定回転数毎に、M個の二乗和相関値Cscに対する平均値(以下では「相関平均値」と呼ぶことがある)Cを算出し、設定回転数毎に算出した相関平均値Cを各設定回転数に対応付けて分散算出部84及び回転数判定部85へ出力する。
【0048】
分散算出部84は、設定回転数毎に、式(8)に従って、M個の二乗和相関値Cscにおける分散Varを算出する。式(8)において、mは1~Mの整数であり、相関値の算出回数を表す。分散算出部84は、設定回転数毎に算出した分散Varを各設定回転数に対応付けて回転数判定部85へ出力する。
V=(Σ(Csc(m)-C)2)/M …(8)
【0049】
回転数判定部85は、設定回転数毎の相関平均値Cと、設定回転数毎の分散Varとに基づいて、ファンモータMの空転回転数を判定する。例えば、回転数判定部85は、設定回転数毎の相関平均値Cの中で所定の閾値以上の相関平均値Cに対応する設定回転数を複数の設定回転数の中から抽出し、抽出した設定回転数の情報を分散算出部84へ出力し、分散算出部84で算出される設定回転数毎の分散Varの中で最小の分散Varに対応する設定回転数をファンモータMの空転回転数として判定する。回転数判定部85によって判定された空転回転数は空転回転数の検出結果としてモータ制御装置100の上位のコントローラ(図示省略)へ出力される。モータ制御装置100の上位のコントローラは、空転回転数の検出結果に基づいてファンモータMを起動させたり、また、空転回転数が所定の回転数以上の場合にはファンモータMを起動させないようにする。
【0050】
<回転数検出部における処理手順>
図3は、本開示の実施例1の回転数検出部における処理手順の一例を示すフローチャートである。
図3に示すフローチャートは、ファンモータMが起動される際に実行される。
図3に示すフローチャートにおいて、Nは設定回転数の全個数、Mは設定回転数毎の相関値の全算出回数である。
【0051】
図3において、ステップS105では、制御部86は、相関値算出回数mを1に初期化する。
【0052】
次いで、ステップS110では、制御部86は、設定回転数決定変数nを0に初期化する。
【0053】
次いで、ステップS115では、制御部86は、設定回転数α+nβにおけるnを正弦フィルタ81及び余弦フィルタ82に設定した後、式(2)に従って正弦フィルタ81に正弦相関値Csを算出させ、式(3)に従って余弦フィルタ82に余弦相関値Ccを算出させ、式(4)に従って相関値算出部83に二乗和相関値Cscを算出させる。
【0054】
次いでステップS120では、制御部86は、nがN-1に達したか否かを判定する。nがN-1に達していないときは(ステップS120:No)、処理はステップS125へ進み、nがN-1に達しているときは(ステップS120:Yes)、処理はステップS130へ進む。
【0055】
ステップS125では、制御部86は、nをインクリメントする。ステップS125の処理後、処理はステップS115に戻る。よって、ステップS120でnがN-1に達していると判定されるときには、α~α+nβのN個の各設定回転数にそれぞれ対応するN個の二乗和相関値Cscが算出されている。
【0056】
α~α+nβのN個の各設定回転数にそれぞれ対応するN個の二乗和相関値Cscが算出された後、ステップS130では、制御部86は、mがMに達したか否かを判定する。mがMに達していないときは(ステップS130:No)、処理はステップS135へ進み、mがMに達しているときは(ステップS130:Yes)、処理はステップS140へ進む。
【0057】
ステップS135では、制御部86は、mをインクリメントする。ステップS135の処理後、処理はステップS110に戻る。よって、ステップS130でmがMに達していると判定されるときには、α~α+nβのN個の各設定回転数のそれぞれにおいて、設定回転数毎にM個の二乗和相関値Cscが算出されている。
【0058】
ステップS140では、相関値算出部83は、制御部86からの指示に従って、設定回転数毎に相関平均値Cを算出する。よって、ステップS140では、N個の複数の設定回転数のそれぞれに対応するN個の相関平均値Cが算出される。
【0059】
次いで、ステップS145では、回転数判定部85は、制御部86からの指示に従って、N個の複数の設定回転数のそれぞれに対応するN個の相関平均値Cの中から、所定の閾値TH1以上の大きさを有する相関平均値を、候補となる相関平均値(以下では「候補相関値」と呼ぶことがある)として抽出する。回転数判定部85は、候補相関値の抽出後、候補相関値に対応する設定回転数を候補の空転回転数(以下では「候補回転数」と呼ぶことがある)として分散算出部84に通知する。
【0060】
次いで、ステップS150では、分散算出部84は、制御部86からの指示に従って、α~α+nβのN個の設定回転数のうち候補回転数のみについて、式(8)に従って、候補回転数毎に分散Varを算出する。
【0061】
次いで、ステップS155では、回転数判定部85は、制御部からの指示に従って、候補回転数のうち最小の分散Varに対応する設定回転数をファンモータMの空転回転数として判定する。
【0062】
<回転数検出部の動作>
図4、
図5及び
図6は、本開示の実施例1の回転数検出部の動作例の説明に供する図である。以下では、式(2)及び式(3)においてαが30[rpm]、βが10[rpm]、Nが18に設定され、18個の設定回転数α+nβ(n=0~N-1)が30[rpm]から200[rpm]まで30,40,50,…,200と10[rpm]ずつ変化する場合を一例に挙げて説明する。
【0063】
図4に示すように、まず、30~200[rpm]の18個の設定回転数のそれぞれに対応する18個の相関平均値C30~C200が算出される(ステップS105~S140)。
【0064】
次いで、
図4に示すように、空転回転数と判定される可能性のある設定回転数を抽出するために、相関平均値C30~C200の中から閾値TH1(例えば、0.27)以上の大きさを有する相関平均値C50,C60,C70,C80,C90が候補相関値として抽出される(ステップS145)。よって、候補回転数は、50[rpm],60[rpm],70[rpm],80[rpm],90[rpm]となる。複数の設定回転数の中からこれらの候補回転数を抽出することで、分散の算出処理量を低減できる。
【0065】
次いで、
図5に示すように、30~200[rpm]の18個の設定回転数のうち50[rpm],60[rpm],70[rpm],80[rpm],90[rpm]の候補回転数のみについて分散が算出される(ステップS150)。
図5において、分散Var50は50[rpm]の候補回転数及び候補相関値C50に対応し、分散Var60は60[rpm]の候補回転数及び候補相関値C60に対応し、分散Var70は70[rpm]の候補回転数及び候補相関値C70に対応し、分散Var80は80[rpm]の候補回転数及び候補相関値C80に対応し、分散Var90は90[rpm]の候補回転数及び候補相関値C90に対応する。分散Var50,Var60,Var70,Var80,Var90のうち、分散Var80が最小である。
【0066】
よって、候補回転数50[rpm],60[rpm],70[rpm],80[rpm],90[rpm]のうち、
図6に示すように、分散Var80に対応する設定回転数である80[rpm]がファンモータMの空転回転数として検出される(ステップS155)。
【0067】
以上のように、実施例1では、設定回転数毎の相関平均値Cを算出し、算出した相関平均値Cの中から候補相関値を抽出し、候補相関値に対応する設定回転数を、空転回転数として判定される可能性のある設定回転数として複数の設定回転数の中から抽出し、抽出した設定回転数毎に分散Varを算出し、算出した分散Varのうちで最も小さい分散を示した設定回転数を空転回転数として判定する。
【0068】
以上、実施例1について説明した。
【0069】
[実施例2]
<回転数検出部の構成>
図7は、本開示の実施例2の回転数検出部の構成例を示す図である。
図7に示すように、回転数検出部80aは、実施例1(
図2)同様に、正弦フィルタ81aと、余弦フィルタ82aと、相関値算出部83aと、分散算出部84aと、回転数判定部85aと、制御部86aとを有する。正弦フィルタ81及び余弦フィルタ82には、3φ電流算出部61から3相電流iu,iv,iwのうちの何れか1相の相電流が入力される。制御部86aは、正弦フィルタ81a、余弦フィルタ82a、相関値算出部83a、分散算出部84a及び回転数判定部85aの動作を制御する。
【0070】
正弦フィルタ81a、余弦フィルタ82a及び相関値算出部83aでの相関平均値Cの算出と、分散算出部84aでの分散Varの算出とについては、実施例1の正弦フィルタ81、余弦フィルタ82、相関値算出部83及び分散算出部84での相関平均値C及び分散Varの算出と同様であるため、説明を省略する。
【0071】
回転数判定部85aは、設定回転数毎の相関平均値Cと、設定回転数毎の分散Varとに基づいて、ファンモータMの空転回転数を判定する。例えば、回転数判定部85aは、分散算出部84aが設定回転数毎の分散Varを算出する最中で所定の閾値以下の最初の分散Varが出現した以降は、所定の閾値以下の最初の分散Varに対応する設定回転数の整数倍の設定回転数毎に相関平均値C求めるように正弦フィルタ81a、余弦フィルタ82a及び相関値算出部83aへ通知する。そして、回転数判定部85aは、相関値算出部83aによって算出された相関平均値Cの中で最も大きい相関平均値Cに対応する設定回転数をファンモータMの空転回転数として判定する。回転数判定部85aによって判定された空転回転数は空転回転数の検出結果としてモータ制御装置100の上位のコントローラ(図示省略)へ出力される。
【0072】
<回転数検出部における処理手順>
図8は、本開示の実施例2の回転数検出部における処理手順の一例を示すフローチャートである。
図8に示すフローチャートは、ファンモータMが起動される際に実行される。
図8に示すフローチャートにおいて、Nは設定回転数の全個数、Mは設定回転数毎の相関値の全算出回数である。
【0073】
図8において、ステップS205では、制御部86aは、設定回転数決定変数nを0に初期化する。
【0074】
次いで、ステップS210では、制御部86aは、相関値算出回数mを1に初期化する。
【0075】
次いで、ステップS215では、制御部86aは、設定回転数α+nβにおけるnを正弦フィルタ81及び余弦フィルタ82に設定した後、式(2)に従って正弦フィルタ81に正弦相関値Csを算出させ、式(3)に従って余弦フィルタ82に余弦相関値Ccを算出させ、式(4)に従って相関値算出部83に二乗和相関値Cscを算出させる。
【0076】
次いで、ステップS220では、制御部86aは、mがMに達したか否かを判定する。mがMに達していないときは(ステップS220:No)、処理はステップS225へ進み、mがMに達しているときは(ステップS220:Yes)、処理はステップS230へ進む。
【0077】
ステップS225では、制御部86aは、mをインクリメントする。ステップS225の処理後、処理はステップS215に戻る。よって、ステップS220でmがMに達していると判定されるときには、α+nβの設定回転数においてM個の二乗和相関値Cscが算出されている。
【0078】
α+nβの設定回転数においてM個の二乗和相関値Cscが算出された後、ステップS230では、相関値算出部83aは、制御部86aからの指示に従って、α+nβの設定回転数に対応する相関平均値Cを算出する。
【0079】
次いで、ステップS235では、分散算出部84aは、制御部86aからの指示に従って、ステップS215~S225で算出されたM個の二乗和相関値CscとステップS230で算出された相関平均値Cとに基づいて、式(8)に従って、α+nβの設定回転数に対応する分散Varを算出する。
【0080】
次いで、ステップS240では、回転数判定部85aは、制御部86aからの指示に従って、ステップS235で算出された分散Varの大きさが所定の閾値TH2未満であるか否かを判定する。閾値TH2は、複数の設定回転数の中から空転回転数と判定される可能性のある設定回転数を分散Varに基づいて抽出するために設けられており、例えば0.05である。分散Varの大きさが閾値TH2以上であるときは(ステップS240:No)、処理はステップS245へ進み、分散Varの大きさが閾値TH2未満であるときは(ステップS240:Yes)、処理はステップS250へ進む。
【0081】
ステップS245では、制御部86aは、nをインクリメントする。ステップS245の処理後、処理はステップS210に戻る。ステップS245でnがインクリメントされることにより、ステップS240で分散Varの大きさが閾値TH2未満と判定されるまで、nの昇順、つまり、設定回転数α+nβの昇順に、順次、ステップS230で相関平均値Cが算出され、ステップS235で分散Varが算出される。
【0082】
ステップS250では、回転数判定部85aは、制御部86aからの指示に従って、候補回転数を決定する。回転数判定部85aは、ステップS240で閾値TH2未満の大きさを有すると判定された分散Varに対応する設定回転数(以下では「小分散回転数」と呼ぶことがある)と、小分散回転数の正の整数倍の設定回転数を候補回転数として決定する。回転数判定部85aは、候補回転数の決定後、候補回転数に対応するnの値を正弦フィルタ81a、余弦フィルタ82a及び相関値算出部83aに通知する。
【0083】
次いで、ステップS255では、候補回転数のみについて、ステップS210~S230と同様にして、候補回転数のそれぞれに対応する相関平均値Cが算出される。
【0084】
次いで、ステップS260では、回転数判定部85aは、制御部86aからの指示に従って、候補回転数のうち最大の相関平均値Cに対応する設定回転数をファンモータMの空転回転数として判定する。
【0085】
<回転数検出部の動作>
図9及び
図10は、本開示の実施例2の回転数検出部の動作例の説明に供する図である。以下では、式(2)及び式(3)においてαが30[rpm]、βが10[rpm]、Nが18に設定され、18個の設定回転数α+nβ(n=0~N-1)が30[rpm]から200[rpm]まで30,40,50,…,200と10[rpm]ずつ変化する場合を一例に挙げて説明する。
【0086】
図9に示すように、まず、設定回転数30[rpm]に対応する相関平均値C30と、設定回転数30[rpm]に対応する分散Var30とが算出される(ステップS230,S235)。分散Var30の大きさは閾値TH2以上であるため(ステップS240:No)、設定回転数の昇順に、次いで、設定回転数40[rpm]に対応する相関平均値C40と、設定回転数40[rpm]に対応する分散Var40とが算出される(ステップS230,S235)。
【0087】
図9に示す分散Var40の大きさは閾値TH2未満であるため(ステップS240:Yes)、
図10に示すように、分散Var40に対応する設定回転数40[rpm]が小分散回転数として特定され、設定回転数40[rpm]と、40[rpm]の正の整数倍の設定回転数である80[rpm],120[rpm],160[rpm],200[rpm]が候補回転数として決定される(ステップS250)。ここで、式(7)に示すように相電流の周波数が設定回転数の周波数の整数倍であるとき、設定回転数の周期で相関値の算出が行われる。このため、相関値の算出に使用される相電流値は候補回転数毎に周期的になるので、設定回転数の整数倍の周波数を持つ相電流については、相関値の変動要素が理論上0になるという特徴がある。この特徴を利用することで、候補回転数を特定することができる。
【0088】
次いで、
図10に示すように、40[rpm],80[rpm],120[rpm],160[rpm],200[rpm]の候補回転数のみについて相関平均値Cが算出される(ステップS255)。
図10において、相関平均値C40は40[rpm]の候補回転数に対応し、相関平均値C80は80[rpm]の候補回転数に対応し、相関平均値C120は120[rpm]の候補回転数に対応し、相関平均値C160は160[rpm]の候補回転数に対応し、相関平均値C200は200[rpm]の候補回転数に対応する。相関平均値C40,C80,C120,C160,C200のうち、相関平均値C80が最大である。
【0089】
よって、候補回転数40[rpm],80[rpm],120[rpm],160[rpm],200[rpm]のうち、実施例1と同様に、
図6に示すように、相関平均値C80に対応する設定回転数である80[rpm]がファンモータMの空転回転数として検出される(ステップS260)。
【0090】
以上のように、実施例2では、設定回転数毎に相関平均値Cと分散Varとを算出し、分散Varが閾値より小さい値を示した場合、閾値より小さい分散Varに対応する設定回転数の整数倍の設定回転数毎に相関平均値Cを算出し、算出した相関平均値Cのうちで最も大きい相関平均値Cを示した設定回転数を空転回転数として判定する。
【0091】
以上、実施例2について説明した。
【0092】
以上のように、本開示のモータ制御装置(実施例のモータ制御装置100)は、ファンを回転させるモータ(実施例のファンモータM)の駆動を制御するモータ制御装置であって、インバータ(実施例のインバータ10)と、電流検出部(実施例の電流検出部21)と、回転数検出部(実施例の回転数検出部80,80a)とを有する。インバータは、直流電源から供給される直流電圧を交流電圧に変換し、交流電圧をモータに印加する。電流検出部は、モータが起動される際にインバータの母線電流を検出する。回転数検出部は、母線電流から算出される相電流(実施例のU相電流iu、V相電流iv、または、W相電流iw)に含まれる周波数成分と、互いに異なる複数の設定回転数のそれぞれに対応する周波数との相関値を算出し、複数の相関値の分散(実施例の分散Var)を算出する。そして、回転数検出部は、複数の相関値と分散とに基づいて、モータが起動される際のモータの空転回転数を検出する。
【0093】
例えば、回転数検出部(実施例の回転数検出部80)は、複数の相関値の中から閾値以上の相関値を候補相関値として抽出し、候補相関値のうち分散が最小の相関値に対応する設定回転数を空転回転数として判定する。
【0094】
また例えば、回転数検出部(実施例の回転数検出部80a)は、複数の設定回転数において設定回転数の昇順に相関値を算出する過程で閾値未満の分散に対応する設定回転数である小分散回転数を特定し、小分散回転数と、小分散回転数の正の整数倍の設定回転数とを候補回転数として決定し、候補回転数のうち最大の相関値に対応する設定回転数を空転回転数として判定する。
【0095】
このように、相関値だけでなく、相関値の分散にも基づいて空転回転数を検出することで、母線電流にはノイズが重畳した場合でも、正しい空転回転数を検出できる。
【符号の説明】
【0096】
10 インバータ
21 電流検出部
80,80a 回転数検出部
81,81a 正弦フィルタ
82,82a 余弦フィルタ
83,83a 相関値算出部
84,84a 分散算出部
85,85a 回転数判定部