以下に、本発明にかかるモータ制御装置の実施形態を図面に基づいて詳細に説明する。なお、この実施形態によりこの発明が限定されるものではない。以下の実施形態で示すモータ制御装置は、空気調和機の室外機などに用いられ、停止時に風などの外力により逆回転する場合があるプロペラファンを回転させるモータを駆動する永久磁石同期モータの制御装置として説明するが、これに限られず、空気調和機のコンプレッサを回転させるモータや、その他のモータ一般に広く適用できる。以下に示す実施形態およびその変形例は、矛盾しない範囲で適宜組合せて実施できる。
なお、以下に示す実施形態は、一例を示すに過ぎず、開示技術を限定するものではない。また、以下に示す実施形態およびその変形例は、矛盾しない範囲で適宜組み合わせることができる。また、以下に示す実施形態およびその変形例は、開示技術にかかる構成および処理について主に示し、その他の構成および処理の説明を簡略化または省略する。また、以下に示す実施形態およびその変形例において、同一の構成および処理には同一の符号を付与し、既出の構成および処理の説明は省略する。
なお、実施形態において用いる変数は、図1に示す通りである。
(座標系の定義)
図2は、実施形態におけるUVW固定座標系とγδ座標系とdq座標系との関係を示す図である。d軸、q軸は2相の回転座標系の座標軸を表し、Id、IqおよびVd、Vqはそれぞれd軸上、q軸上の電流および電圧である。d軸は、モータにおけるロータの磁極Nの向きを正とし、ロータの回転方向にd軸と直交する軸をq軸とする。d−q軸に対応した制御軸(γ−δ軸)をγ−δ軸とし、α軸(U相)からγ軸までの回転角をθeとする。ロータの位置検出を行うモータの通常運転時は、制御軸(γ−δ軸)はd−q軸と一致するため、α軸とd軸との位相差がθeである。他方、モータの起動時は、ロータの位置検出は行われないので、d軸の位置は不明である。よって、α軸とγ軸との位相差をθeとし、γ軸とd軸との位相差(軸誤差)をΔθとする。ロータは、角速度ωeで反時計回りに回転する。
(モータ制御装置の構成)
図3は、実施形態にかかるモータ制御装置の一例を示す図である。図3に示す実施形態にかかるモータ制御装置100は、モータ1が接続される。図3に示すモータ制御装置100は、モータ1を速度制御するためのベクトル制御方式のブロック図であり、例えば空気調和機のファンモータのベクトル制御を行う。図3に示すモータ1が、プロペラファンなどの負荷を駆動する。モータ制御装置100は、マイクロコンピュータ10、PM(Power Module、パワー・モジュール)23、電流検出部24を有する。
マイクロコンピュータ10は、処理装置の一例であり、減算器11、速度制御器12、励磁電流制御器13、減算器14、減算器15、d軸電流制御器16、q軸電流制御器17、非干渉化制御器18、減算器19、加算器20、d−q/u,v,w変換器21、PWM(Pulse Width Modulation)変調器22、u,v,w/d−q変換器25、回転子位置検出部30を有する。回転子位置検出部30は、いわゆるモータモデルの電圧方程式から電流検出部24で検出された電流を用いて軸誤差Δθを算出して回転子位置を推定するセンサレス駆動部の一例である。
なお、回転子位置検出部30がモータ1の誘起電圧を検出できず、センサレス駆動部が機能しなければ、モータ制御装置100全体が動作しない。よって、モータ1が停止中の時は、d軸電圧指令値Vd*、q軸電圧指令値Vq*、回転角θeを予め決められた値に設定して、同期運転により強制的に運転を開始する必要がある。しかし、風などの外力で起動時の負荷が不定の場合は、d軸電圧指令値Vd*、q軸電圧指令値Vq*、回転角θeの設定が極めて難しくなるため、センサレス駆動方式の場合は、起動時の負荷状態を知ることが制御を行う上で重要となる。
回転子位置検出部30は、軸誤差推定処理器26、PLL(Phase Locked Loop)制御器27、積分器28、除算器29を有する。
減算器11は、モータ制御装置10へ入力された速度指令値(指令回転数)ωm*から、除算器29から出力された、推定された現在の角速度である実速度(機械角実速度)ωmを減算した速度偏差(機械角速度偏差)Δωを速度制御器12へ出力する。
速度制御器12は、減算器11から出力された速度偏差Δωが小さくなるようなq軸電流指令値Iq*を生成し、減算器14へ出力する。励磁電流制御器13は、速度制御器12から出力されたq軸電流指令値Iq*からd軸電流指令値Id*を生成し、減算器15へ出力する。
減算器14は、速度制御器12から出力されたq軸電流指令値Iq*から、u,v,w/d−q変換器25から出力されたq軸電流Iqを減算してq軸電流偏差ΔIqを生成しq軸電流制御器17へ出力する。減算器15は、d軸電流指令値Id*から、u,v,w/d−q変換器25から出力されたd軸電流Idを減算してd軸電流偏差ΔIdを生成しd軸電流制御器16へ出力する。
d軸電流制御器16は、減算器15から出力されたd軸電流偏差ΔIdからd軸電圧指令値Vda**を生成する。q軸電流制御器17は、減算器14から出力されたq軸電流偏差ΔIqからq軸電圧指令値Vqa**を生成する。
非干渉化制御器18は、d軸電圧指令値Vda**およびq軸電圧指令値Vqa**の干渉をキャンセルしそれぞれを独立に制御するためのd軸非干渉化補正値Vdaおよびq軸非干渉化補正値Vqaを生成する。減算器19は、d軸電流制御器16から出力されたd軸電圧指令値Vda**からd軸非干渉化補正値Vdaを減算してd軸電圧指令値Vd*を生成し、d−q/u,v,w変換器21へ出力する。加算器20は、q軸電流制御器17から出力されたq軸電圧指令値Vqa**にq軸非干渉化補正値Vqaを加算してq軸電圧指令値Vq*を生成し、d−q/u,v,w変換器21へ出力する。
d−q/u,v,w変換器21は、積分器28から出力された回転角θeを用いて、非干渉化された2相のd軸電圧指令値Vd*およびq軸電圧指令値Vq*を、3相のU相出力電圧指令値Vu*、V相出力電圧指令値Vv*、W相出力電圧指令値Vw*に変換する。そして、d−q/u,v,w変換器21は、U相出力電圧指令値Vu*、V相出力電圧指令値Vv*、W相出力電圧指令値Vw*をPWM変調器22へ出力する。
なお、Vu*とVv*とVw*および後述のIuとIvとIwは、3相の固定座標系の電圧および電流である。
PWM変調器22は、U相出力電圧指令値Vu*、V相出力電圧指令値Vv*、W相出力電圧指令値Vw*と、PWMキャリア信号から、PWM駆動信号(U、V、W、X、Y、Z)を生成し、PM23へ出力する。
スイッチング素子を有するインバータ部としてのパワーモジュール23(以下、「PM23」という)は、モータ1をチョッパ駆動するトランジスタブリッジを内蔵した半導体デバイスであり、PWM変調器22から出力された6相のPWM駆動信号をもとに、モータ1のU相、V相、W相それぞれへ印可する3相交流電圧を、外部から供給される直流電圧Vdcをチョッピングして生成し、各相の交流電圧をモータ1のU相、V相、W相へ印加する。
電流検出部24は、モータ1に流れる電流を検出する回路である。電流検出部24で検出する電流は、直流電圧VdcからPM23を介してモータ1に流れた後、PM23を介して電流検出部24に流れる電流である。電流検出部24は、PWM変調器22から出力された6相PWMスイッチング情報と、シャント抵抗24b(図4参照)によって1シャント電流検出方式で検出された母線電流から、モータ1のU相電流Iu、V相電流Iv、W相電流Iwを算出する。電流検出部24により検出された電流は、マイクロコンピュータ10が有するAD(Analog to Digital)変換器(図示せず)によりディジタルデータ変換される。ディジタルデータに変換された検出電流は、マイクロコンピュータ10に取り込まれ、ソフトウェアで処理される。例えば、制御ドライバを含むPM23と電流検出部24以外は、マイクロコンピュータ10上のソフトウェアとして実装される。
なお、電流検出方式は、2つのCT(Current Transformer)でU相電流IuおよびV相電流Ivを検出し、残りのW相電流Iwを、Iu+Iv+Iw=0の関係式より算出する2CT方式であってもよい。電流検出部24は、算出したモータ1のU相電流Iu、V相電流Iv、W相電流Iwを、u,v,w/d−q変換器25へ出力する。
u,v,w/d−q変換器25は、積分器28から出力された回転角θeを用いて、電流検出部24から出力された3相のU相電流Iu、V相電流Iv、W相電流Iwを、2相のd軸電流Idおよびq軸電流Iqに変換する。そして、u,v,w/d−q変換器25は、d軸電流Idを減算器15、非干渉化制御器18、軸誤差推定処理器26へ、q軸電流Iqを減算器14、非干渉化制御器18、軸誤差推定処理器26へ、それぞれ出力する。
軸誤差推定処理器26は、u,v,w/d−q変換器25から出力されたd軸電流Idおよびq軸電流Iqと、減算器19から出力されたd軸電圧指令値Vd*および加算器20から出力されたq軸電圧指令値Vq*とから、軸誤差Δθを算出し、PLL制御器27に出力する。
PLL制御器27は、軸誤差推定処理器26から出力された軸誤差Δθから、推定された現在の角速度である電気角推定角速度ωeを算出し、非干渉化制御器18、積分器28、除算器29それぞれに出力する。積分器28は、角速度ωeを積分し、回転角θeを生成する。除算器29は、PLL制御器27から出力された、推定された現在の角速度ωeをモータ1の極対数Pnで除して、実速度(機械角実速度)ωmに変換して出力する。
(実施形態にかかるモータ制御システムの構成)
図4は、実施形態にかかるモータ制御システムの一例を示す図である。図4に示すモータ制御システム200は、図3に示すモータ1、モータ1に取り付けられたプロペラファン1a、モータ制御装置100を含み、さらに、交流電源31、整流回路32、制御電源33、分圧回路34を有する。プロペラファン1aは、モータ1の回転により、図4に示す矢印方向へ風を吹き出す。
整流回路32は、交流電源31から出力された交流電力を、直流電力に変換して出力する。制御電源33は、例えば信号系回路への供給電源となる。分圧回路34は、外部から供給される直流電圧Vdcを抵抗分圧し、分圧した電圧をマイクロコンピュータ10に印加する。
モータ制御装置100は、図3にも示すとおり、マイクロコンピュータ10、PM23、電流検出部24を有する。電流検出部24は、電流検出回路24a、シャント抵抗24bを有する。電流検出回路24aは、シャント抵抗24bに流れる電流を増幅するためのインタフェース用のアンプ回路である。電流検出部24によるモータ1のU相電流Iu、V相電流Iv、W相電流Iwの検出については、上述のとおりである。
(PWM信号がPMを経由して電流検出回路に伝達される仕組み)
図5は、実施形態におけるPWM信号の伝達の概要の一例を示す図である。図5は、マイクロコンピュータ10が出力したPWM信号がPM23を経由して、電流検出回路24aに伝達される現象を概略的に示す。図5において、「(a)PWM指令信号」は、マイクロコンピュータ10により出力されたPWM信号の出力指令波形(パルス)である。相補型PWM信号では、スイッチングの遅延による上アームおよび下アームの短絡防止のため、マイクロコンピュータ10は、「(b)PM駆動信号」のように、予め指定したデッドタイムを挿入したタイミングでPM23を駆動する。ただし、本実施形態では、図8に示すように、起動前の空転回転数抽出時は、上アームおよび下アームのオンとオフとの切り換えが連続して行われない(相補型ではない)。この場合は、上アームと下アームの短絡が発生しないため、デッドタイムを0としてもよい。なお、本実施形態のように、上アームおよび下アームのオンとオフとの切り換えが連続して行われない場合(相補型ではない場合)、図9に示すように、モータの任意の2相(本実施例ではU相とV相)にだけ電流を流すことができる。このとき、U相とV相を含む閉回路が形成され、W相はオープンとなる。従って、ファンなどの負荷が外力で空転して誘起電圧が発生しても、U相とV相を含む閉回路のみに誘起電圧による電流(発電電流)が流れ、負荷の回転エネルギーは、U相とV相の抵抗のみで熱エネルギーとして消費される。つまり、W相には発電電流が流れず、W相の抵抗では熱エネルギーとして消費されない。従って、空転時の回転エネルギーが熱エネルギーとして消費される割合を少なくすることができるため、空転回転数抽出時に負荷であるファンの空転を妨げる割合を少なくでき、より正確に空転の回転数を抽出できる。
ここで、電流検出回路24aに起因する遅延量は、「出力遅延時間」および「波形安定時間」の合計時間である。「出力遅延時間」は、PM23による遅延時間であり、「波形安定時間」は、電流検出回路24aの過渡応答時間である。また、「出力遅延時間」および「波形安定時間」の合計時間を「検出遅延時間」と定義し、PM駆動信号のエッジを起点に電流検出回路24aの出力が安定するまでの時間とする。「検出遅延時間」は、電流検出回路24aおよびPM23のハードウェアの仕様として規定される。
電流検出回路24aの出力は、マイクロコンピュータ10のAD(Analog To Digital)ポートに接続されており、マイクロコンピュータ10は、図5における「(c)電流検出回路出力」の波形を所定のタイミングでAD(Analog To Digital)変換する。このAD変換の際の「AD変換時間」は、マイクロコンピュータ10に依存する定数値となる。
そして、上述の「デッドタイム」「出力遅延時間」「波形安定時間」「AD変換時間」の合計時間が、電流検出に要する「電流検出時間」となる。なお、本実施形態では、相補型PWM信号を用いず、デッドタイムを0とすることができる。従って、「電流検出時間」は、「出力遅延時間」「波形安定時間」「AD変換時間」の合計時間となる。
(実施形態にかかるPM)
図6は、実施形態にかかるPMの一例を示す図である。実施形態にかかるPM23は、外部から供給される直流電圧VdcをUVWの三相の交流電力に変換してモータ1に供給するもので、U相の要素として、スイッチング素子S41、ダイオードD41、スイッチング素子S42、ダイオードD42を有し、V相の要素として、スイッチング素子S51、ダイオードD51、スイッチング素子S52、ダイオードD52を有し、W相の要素として、スイッチング素子S61、ダイオードD61、スイッチング素子S62、ダイオードD62を有する。ダイオードD41〜D62は、フリーホールダイオード(還流ダイオード)である。
スイッチング素子S41〜S62は、IGBT(Insulated Gate Bipolar Transistor)やFET(Field Effect Transistor)等のスイッチング素子である。スイッチング素子S41〜S62とインバータ部の通電相を切り換えた際に発生する逆起電力によって発生する還流電流を流すためのダイオードD41〜D62が、それぞれ並列に接続される。
また、スイッチング素子S42、S52、S62のソースには、シャント抵抗24bが接続される。
すなわち、パワーモジュール23は、6つのスイッチング素子がブリッジ接続された構成となっている。UVWの各相ごとに上アームおよび下アームの半導体でスイッチされ、6つのスイッチング素子のオンおよびオフの組合わせによってモータ1に供給する各相の電流の大きさと向きを制御する。
図6におけるスイッチング素子S41〜S62の各ゲートU、X、V、Y、W、Zは、スイッチング素子S41〜S62をオンおよびオフさせるために、駆動回路(不図示)に接続されている。U相の上アームのスイッチング素子S41のゲートUがオンにされると、モータ1のU相端子が直流電圧Vdcに接続され、U相の下アームのスイッチング素子S42のゲートXがオンされると、モータ1のU相端子がグランドに接続される。同様にして、ゲートVとゲートYおよびゲートWとゲートZは、それぞれV相端子とW相端子に電力を供給する。
PM23のスイッチング素子S41〜S62とダイオードD41〜D62は、下アーム(ゲートX,Y,Z)を通電する場合は、各ゲートをグランド基準で制御できるが、上アーム(ゲートU,V,W)を通電する場合は、電源電圧基準で制御する必要がある。この対処として、上アームの駆動電源をフローティングさせる方法が一般的に行われる。
このための回路を図7に示す。図7は、実施形態にかかるPMを駆動するゲート回路の一例を示す図である。図7は、U相を例に示しているが、V相、W相も同様である。V相、W相の場合は、図7において符号に含まれる“U”を“V”“W”に読み替えた、同様の構成である。図7は、コンデンサC21Uを上アームの駆動電源とする方式によるU相ゲート回路30Uを示す。図7に示すようにU相ゲート回路30Uは、ゲートUドライバD31U、ゲートXドライバD32U、コンデンサC21U、ダイオードD21Uを有する。例えば+15(V)の制御電源が、ゲートXドライバD32UとダイオードD21Uのアノード側とに接続される。ダイオードD21Uは、カソード側がゲートUドライバD31UとコンデンサC21Uに接続される。コンデンサC21Uの負極側は、ゲートUドライバD31Uの負極側と接続される。
また、ゲートUドライバD31UおよびゲートXドライバD32Uには、マイクロコンピュータ10からの制御線がそれぞれ接続される。また、ゲートUドライバD31Uからスイッチング素子S41のゲートへ、ゲートUドライバD31Uからの制御線が接続される。同様に、ゲートXドライバD32Uからスイッチング素子S42のゲートへ、ゲートXドライバD32Uからの制御線が接続される。
図7に示すU相ゲート回路30Uによれば、制御電源自体をフローティングする必要がないので、安価に回路を構成できる。コンデンサC21Uは、ブートストラップ・コンデンサである。ただし、上アームを駆動する前にコンデンサC21Uを充電する必要がある。
具体的には、下アームのスイッチング素子をオンすることによりコンデンサC21Uの充電を行う。上アームオフ(スイッチング素子S41オフ)、下アームオン(スイッチング素子S42オン)の状態になると、コンデンサC21UはダイオードD21Uとシャント抵抗24bを経由して制御電源(+15V)に接続されて充電される。
コンデンサC21Uの充電電圧を用いて、上アームのゲートUドライバD31Uを駆動する。上アームがオン(スイッチング素子S41オン)、下アームがオフ(スイッチング素子S42オフ)の状態になると、ダイオードD21Uは逆バイアスとなり、直流電圧Vdcと制御電源(+15V)とが切り離された回路になる。上アーム(スイッチング素子S41)および下アーム(スイッチング素子S42)は、空転回転数抽出時と異なり、通常時は相補駆動するので、下アーム(スイッチング素子S42)の通電時にコンデンサC21Uは自動的に充電されるが、起動時や特殊なスイッチングを行う場合は、コンデンサC21Uの充電処理を含めたスイッチングパターンを考慮する必要がある。
なお、コンデンサC21Uは、省略可能である。
(実施形態における誘起電圧の検出)
図8は、実施形態におけるパイロット信号の充電パルスおよび通電パルスの一例を示す図である。プロペラファンが風等による外力で回転している状態(負荷)を検出するには、空転している回転数を検出することができれば、負荷量として用いることができる。エンコーダやホール素子を用いずに回転数を検出するためには、固定子巻線に誘起される電圧を検出すればよい。
ここで、誘起電圧を検出する方法は大別して2つある。1つ目の方法は、誘起電圧を直接検出する方式である。電圧を直接検出する方式では、巻線に発生する電圧を分圧抵抗を介して直接検出するため、正確に検出することが可能である。一方、誘起電圧の検出回路を追加する必要がある。
2つ目の方法は、PM23をスイッチングして、インバータ部とモータ(固定子巻線)を含む閉回路を形成し、回路電流から誘起電圧に比例する電流を検出する方式である。実施形態では、2つ目の方法、すなわち、PM23をスイッチングして閉回路を形成し、回路電流から誘起電圧に比例する電流を検出する方式により、回転子の回転数を抽出する方式(以下、「誘起電圧電流検出方式」と呼ぶ)を採用する。
本実施形態では、マイクロコンピュータ10により、PM23において上アームおよび下アームの異なる相について、両アームの少なくとも1相をオンにするスイッチングが行われる。そうすると、直流電圧Vdcとモータ1の固定子巻線を電気的に接続させるためのパイロット信号がマイクロコンピュータ10からPM23に一定周期で出力され、対応するモータ1の固定子巻線の相に電流が流れる。パイロット信号が一定周期で出力されることにより、パイロット信号により得られる電流波形に空転情報が含まれる。
図8におけるU、X、V、Y、W、Zは、PM23を駆動する6本のゲート制御信号を表す。各信号U、X、V、Y、W、Zは、対応するゲートに相当する。パイロット信号は、図8に示すパルスP1の充電パルスと、パルスP21およびパルスP22の通電パルスの2つのパルスで構成され、パルスP1と、パルスP21およびパルスP22は、それぞれ1キャリア周期ごとに出力され、2キャリア周期を1セットとして出力が交互に繰り返される。
図8におけるパルスP1の充電パルスは、図7に示すコンデンサC21Uを充電する目的で出力されるものであり、パルスP1の上アームUゲートを駆動する。パルスP1の充電パルスは、モータ1の巻線電流に影響を与えないように、後述のデューティ幅d2と比較して極めて小さいデューティ幅d1が設定される。パルスP21およびパルスP22の通電パルスは、上アームのゲートUおよび下アームのゲートYをオンするパルスであり、モータ1のU相とY相間に直流電圧Vdcを印可する。なお、デューティ幅d1は、コンデンサC21Uを必要最低限だけ充電する時間に相当するデューティ幅である。また、デューティ幅d2は、後述の回転数抽出回路10aのAD変換部10a−1によるAD変換処理に要する必要最低限の時間に所定幅を加えたデューティ幅である。
なお、パルスP21およびパルスP22の通電パルスは、モータ1の3相中2相を電源に接続させるもので、図8のようにU−Y相に限定されるものではない。また、図8では、パルスP1の充電パルスと、パルスP21およびパルスP22の通電パルスは、キャリア周期ごとに発生されるとするが、これに限られず、キャリア周期の所定整数倍の周期ごとに発生されるとしてもよい。また、パルスP1は、キャリア周期ごとまたはキャリア周期の所定整数倍の周期ごとに発生されるものに限らず、これらの周期において間欠的発生されてもよい。
パルスP21およびパルスP22の通電パルスが出力されると、直流電圧Vdcから電動機巻線を経由して直流電流が流れる。仮にモータ1が外力により回転していれば、固定子巻線には誘起電圧が発生しているので、直流電圧Vdcから流れる直流電流が誘起電圧の振幅に応じて変動する。この接続の態様を図示したのが図9である。図9は、実施形態における誘起電圧の検出の際のU−Y相の閉回路の一例を示す図である。
図9は、パルスP21およびパルスP22の信号でU相のスイッチング素子S41とY相のスイッチング素子S52がオンした状態を示す。また、直流電圧Vdcは平滑コンデンサC0で平滑化された直流電圧である。なお、図9に示す状態では、X相のスイッチング素子S42、V相のスイッチング素子S51、W相のスイッチング素子S61、Z相のスイッチング素子S62はオフを維持するので図示を省略している。
また、U相のスイッチング素子S41と、Y相のスイッチング素子S52は、充電パルス(パルスP1)がハイの時のみオンされるもので、それ以外は全ゲートがオフとなりモータ1はハイインピーダンス状態となる。
そして、U相のスイッチング素子S41と、Y相のスイッチング素子S52がオンされることにより、モータ1のU相とV相が直流電圧Vdcとシャント抵抗24bを経由してグランドに接続され、U相とV相の巻線インダクタンスによる過渡現象を伴って線間電流が流れる。
この時、モータ1が外力で回転していれば、固定子巻線に誘起電圧が発生し、U−V線間電流は、誘起電圧により変調された電流波形に空転情報が含まれることになる。U−V線間電流に変動が生じれば、シャント抵抗24bには、U−V線間電流に比例した電圧が発生するので、この電圧を検出することにより負荷であるファンの空転情報が得られる。
なお、パイロット信号がオンのときには、誘起電圧による発電電流が流れるので、パイロット信号がオフした瞬間には逆方向に電流が流れる。すなわち、V相電流がダイオードD51から直流電圧Vdcの経路を経由し、シャント抵抗24bと下アームXのダイオードD42を経由して再びモータ1に戻ってくる。この時、シャント抵抗24bには、マイナスの電圧が発生する。
「誘起電圧電流検出方式」は、パイロット信号がオンの時に流れる電流を検出するものであり、オン時は電源電圧から強制的に電流を流すため、パイロット信号がオンの間は電流が検出可能である。「誘起電圧電流検出方式」は、直流電圧Vdcから流れた電流に空転情報を含ませることができるため、AD変換の検出時間を十分に取ることができる。
(実施形態にかかるシャント抵抗電圧のAD変換)
図10は、電流に基づく信号としてのシャント抵抗電圧のAD変換の概要の一例を示す図である。例えば図4などに示すマイクロコンピュータ10は、図8に示すパイロット信号(パルスP21およびパルスP22)を出力してPM23を駆動する。直流電圧Vdcから流れた電流がモータ1を経由して、空転情報を含んだ電流波形となってシャント抵抗24bの両端電圧となって現れる。なお、電流に基づく信号を検出する方法はシャント抵抗を用いる方法に限定されず、例えばCTを用いてもよい。
シャント抵抗24bの両端電圧は、電流検出回路24a(図4参照)で増幅され、マイクロコンピュータ10へ入力される。マイクロコンピュータ10は、AD変換を行って電圧値をディジタルデータに変換する。
この時、PM23および電流検出回路24aは、図3を参照して上述した過渡応答を示すので、AD変換するにはPM23および電流検出回路24aの過渡応答に伴うリンギングを回避するため、パイロット信号(パルスP21およびパルスP22)のパルスの立ち上がり直後の所定時間は、AD変換の実行を回避する。
そこで、図10に示すタイミングでAD変換を実行する。図10は、実施形態にかかるシャント抵抗電圧のAD変換の概要の一例を示す図である。図10は、図8のパイロット信号のうち通電パルス(パルスP21およびパルスP22)を拡大した図である。マイクロコンピュータ10は、通電パルス(パルスP21およびパルスP22)が終了するタイミングよりも、AD変換時間分だけ前のタイミングで、AD変換を開始する。なお、パイロット信号の充電パルス(パルスP1)ではAD変換は行われないので、検出電流は1セット(2キャリア周期)ごとにマイクロコンピュータ10(図4参照)に取り込まれることになる。
なお、マイクロコンピュータ10は、1セット(2キャリア周期)ごとに1回の電流検出に限らず、複数回の電流検出を行い、これらの統計値(例えば平均値など)を検出電流としてもよい。
(実施形態にかかるシャント抵抗電圧のAD変換波形)
図11は、実施形態にかかるシャント抵抗電圧の測定値を示す図である。図11は、電流検出回路24aがパイロット信号(パルスP1と、パルスP21およびパルスP22)をPM23に印可し、シャント抵抗24bの応答波形を測定した図である。
図11に示す(a)〜(d)は、プロペラファン1a(図4参照)に当てる風量をコントロールして回転数を変化させた時のシャント抵抗24bで検出されるシャント抵抗電圧を測定したものである。図11の(a)は停止時(0RPM)、(b)は回転時(88RPM)、(c)は回転時(163RPM)、(d)は回転時(292RPM)を示す。図11から、プロペラファン1aの回転数が高いほど、周波数が高くなることが分かる。
図12は、実施例におけるシャント抵抗電圧のAD変換波形の一例を示す図である。図12は、図11のシャント抵抗電圧をAD変換した波形であり、例えば、200(RPM)の場合のデータである。この波形は、マイクロコンピュータ10が有する図示しないRAM(Random Access Memory)内に保存したディジタルデータを、パーソナルコンピュータに吸い上げて視覚化させたものである。
(実施形態にかかる回転数抽出部)
図13は、実施形態にかかる回転数抽出部としての回転数抽出回路の一例を示す図である。実施形態にかかる回転数抽出回路10aは、マイクロコンピュータ10に含まれ、図12の波形に含まれる任意の周波数成分を抽出する。回転数抽出回路10aは、誘起電圧情報を含んだシャント抵抗24bの両端電圧から、プロペラファン1aの回転数に同期した周波数成分を抽出するものである。
なお、電流検出回路24aは、上述のとおり、シャント抵抗24bの両端電圧を増幅する。回転数抽出回路10aは、シャント抵抗24bのシャント抵抗電圧をAD変換したディジタルデータを処理するマイクロコンピュータ10の機能部分である。回転数抽出回路10aは、モータ1が、風などの外力によりプロペラファン1aが強制的に空転されている空転時の回転数を抽出する回転数抽出部の一例である。
回転数抽出回路10aは、AD変換部10a−1、アンプ10a−2、LPF(Low Pass Filter)10a−3、余弦成分生成部10a−4、正弦成分生成部10a−5、乗算器10a−6、乗算器10a−7、相関値演算部10a−8,10a−9、スカラ値演算部10a−10を有する。なお、LPF10a−3は、省略されてもよい。
AD変換部10a−1は、電流検出回路24aから出力されたアナログデータであるシャント抵抗24bのシャント抵抗電圧をデジタルデータに変換する。アンプ10a−2は、AD変換部10a−1により変換されたデジタルデータ(デジタル化されたシャント抵抗24b電圧)を、例えば1,000倍のゲインを掛けて増幅する。LPF10a−3は、アンプ10a−2により増幅されたシャント抵抗24bのシャント抵抗電圧から所定の高周波ノイズをカットするノイズ除去処理を行う。LPF10a−3によるノイズ除去処理後の信号を信号Vsとする。
余弦成分生成部10a−4は、抽出回転数生成部10a−11から入力された抽出回転数Fs(Hz)および時刻tをパラメーターとし、下記(1.1)式で表される余弦成分Sc=cos(2π×Fs×t)=cos(θ)を生成する。また、正弦成分生成部10a−5は、入力された抽出回転数Fs(Hz)および時刻tをパラメーターとし、下記(1.2)式で表される正弦成分Ss=sin(2π×Fs×t)=sin(θ)を生成する。下記(1.1)式および(1.2)式は、図13における電気角に相当する抽出回転数Fs(Hz)を2πt倍して余弦成分および正弦成分の相互相関用の関数を生成するものである。下記(1.1)式および(1.2)式におけるtは時間を表す。なお、θ=2π×Fs×tである。
乗算器10a−6は、信号Vsと余弦成分生成部10a−4により生成された余弦成分Scの乗算結果Vs×Scを出力する。また、乗算器10a−7は、信号Vsと正弦成分生成部10a−5により生成された正弦成分Ssの乗算結果Vs×Ssを出力する。
相関値演算部10a−8は、下記(2.1)式に基づき、乗算器10a−6の出力を演算周期数k(kは自然数)にわたって総和した相関値Ccを算出する。また、相関値演算部10a−9は、下記(2.2)式に基づき、乗算器10a−7の出力を演算周期数k(kは自然数)にわたって総和した相関値Csを算出する。なお、下記(2.1)式および(2.2)式は、連続値の相関値算出の場合を示すが、離散値の相関値算出である場合は、下記(2.1)式および(2.2)式における積分記号“∫”は、シグマ記号“Σ”に置き換えられる。なお、下記(2.1)式および(2.2)式における相関値演算は、連続区間ではなく、k周期の区間ごとに計算が繰り返されるものである。
なお、相関値演算部10a−8,10a−9は、上記(2.1)式および(2.2)式に示すように、2kπごとに直交ベクトルの大きさ(積分値)を演算する。しかし、実際の相関値は、振幅値を得るために積分値をkで除した値であり、必要な情報は、シャント抵抗電圧に含まれる周波数成分であることから、相関値演算部10a−8,10a−9は、振幅値の算出行わず、上記(2.1)式および(2.2)式のように演算する。
スカラ値演算部10a−10は、最終的な相関値Cとして下記(3)式により直交ベクトルの大きさを算出する。
回転数抽出回路10aは、抽出回転数Fs(Hz)を徐々に変えながら、それぞれの抽出回転数Fs(Hz)に対して相間演算を行う。その結果、スカラ値演算部10a−10により最終的に算出される演算結果(周波数成分の含有量)が最大となる周波数が、外力によりプロペラファン1aが空転している周波数であると判断する。
なお、相関値の演算時間は、抽出回転数Fs(Hz)によって変化する。例えば、抽出回転数が1(Hz)の場合は、相関値の演算に要する時間は抽出回転数Fs(Hz)の逆数に演算周期数kを掛けた時間であり、kを極対数Pnで除した値となる。例えば、4極対のモータ1でk=4であれば、演算に要する時間は1(s)となり、抽出回転数が低域に至るほど演算時間は長くなる。
抽出回転数生成部10a−11が生成した抽出回転数Fs(Hz)がシャント抵抗電圧にどの程度含まれるかを演算する方法(上述した相関値演算)によれば、空転しているモータ1の回転数を検出するためには、所定の回転数範囲で抽出回転数Fs(Hz)を変化させながら、上記(1.1)式、(1.2)式、(2.1)式、(2.2)式、(3)式に基づいて算出した相関値Cが最大となる抽出回転数Fs(Hz)を求めればよいことが分かる。
上述の実施形態をモータ制御装置に適用した本実施例では、上記(1.1)式、(1.2)式、(2.1)式、(2.2)式、(3)式は、サンプリング周期ごとの離散演算となる。本実施例におけるパイロット信号は、図8のようにキャリア周期で充電パルス(パルスP1)と、通電パルス(パルスP21およびパルスP22)を交互に繰り返し出力し、シャント抵抗電圧のAD変換を通電パルス(パルスP21およびパルスP22)の区間で行う。よって、キャリア周期をΔT(s)とすれば、2ΔTでシャント抵抗電圧をサンプリングすることになる。
プロペラファン1aの空転回転数を抽出するために、既定の最大回転数から最小回転数までの間で、既定のステップで抽出回転数Fs(Hz)を下降(スイープ)させながら相関値Cが最大となる抽出回転数Fs(Hz)を探索する。抽出回転数Fs(Hz)の既定のステップ値をΔFs(Hz)、抽出回転数Fs(Hz)のj(jは自然数)番目のスイープ値をFs(j)(Hz)とすれば、下記(4)式のようになる。
なお、上記(4)式では、抽出回転数Fs(Hz)を既定の最大回転数から最小回転数まで下降させながら相関値Cを探索するが、本発明はこれに限られない。例えば、抽出回転数Fsを既定の最小回転数から最大回転数まで上昇させながら相関値Cを探索してもよい。
また、相関値演算は、任意の時刻を起点に2kπ(kは自然数)までの区間で行う。相関値演算区間は、図14に示すように定義される。図14は、実施例にかかる相関値演算区間の一例を説明するための図である。
図14において、“(1)”はパイロット信号の充電パルス(パルスP1、図8参照)および“(2)”はパイロット信号の通電パルス(パルスP21およびパルスP22、図8参照)を示し、“(1)”および“(2)”の各区間は、充電パルスおよび通電パルスそれぞれの区間である。
相関値演算区間の連続値θを離散値θ(n)とし、n=0から2ΔT間隔でカウントアップする。相関値演算区間の離散値θ(n)は、相関値の演算開始(n=0)を起点としてスイープ値Fs(j)(Hz)に基づいて計算される回転角度(rad)であり、2キャリアごとの差分角度φを下記(5)式とすると、下記(6)式により計算される。
上記(6)式を用いると、相関値演算のための三角関数は上記(1.1)式および(1.2)式から下記(7.1)式および(7.2)式となる。
また、通電パルスと同期して電流検出部24(図13参照)が動作し、シャント抵抗電圧から高周波ノイズをカットした信号Vsの離散値Vs(m)がサンプリングされる。なお、Vs(m)は、m番目(mは整数)にサンプリングした信号Vsを表す。上記(7.1)式および(7.2)式と、離散値Vs(m)との相関値演算を2kπの区間で行うが、例えば図14のように、離散周期が2kπと一致するとは限らないので、最後の区間の補正を含めて離散相関演算を下記(8.1)式および(8.2)式とする。
すなわち、図14の例では、n番目でVs(m+n)をサンプリングした時点で、次回のサンプリング点における回転角θ(n+1)を演算して相関値演算区間2kπを超過したか否かを判定する。この超過判定には、下記(9)式が用いられる。
そして、下記(9)式が不成立の場合は、上記(8.1)式および(8.2)式の右辺第1項を計算する。他方、下記(9)が成立の場合は、上記(8.1)式および(8.2)式の右辺第2項も含めて計算する。この時点を以て相関値CcおよびCsが確定し、その結果を下記(10)式により求めることにより、抽出回転数Fs(j)(Hz)における相関値Cの大きさが求まる(以下、j番目の相関値をC(j)とする)。
上記(10)式で求まった相関値C(j)をメモリに記憶し、上記(8.1)式および(8.2)式のCcおよびCsは、次の相関値演算のために0にリセットされる。
以上の実施例における上記(4)式、(5)式、(6)式、(7.1)式、(7.2)式、(8.1)式、(8.2)式、(9)式、(10)式の演算を、上記(4)式のスイープ値Fs(j)(Hz)が最大回転数から最小回転数に到達するまで繰り返す。そして、上記(4)式のスイープ値Fs(j)(Hz)が予め決めておいた最小回転数に到達するまで抽出回転数Fs(j)(Hz)のスイープが終了したら、下降スイープした各回転数における、記憶されている上記(10)式の相関値C(j)を比較する。各相関値C(j)の中で最大となるC(j)に対応する抽出回転数Fs(j)(Hz)を、外力によって回転しているモータ1の回転数として抽出する。
そして、マイクロコンピュータ10は、抽出されたモータ1の回転数に応じた各種の起動パラメーター(起動電圧や起動回転数など)を設定し、モータ1を起動させる。例えば、モータ1による回転対象のプロペラファン1aの回転数が大きい場合には、コンプレッサのみを起動させるようにしてもよい。
ただし、抽出回転数Fs(j)(Hz)のスイープにはステップ値ΔFs(Hz)の誤差が含まれることから、この誤差を小さくするためにステップ値ΔFs(Hz)を小さく取ると演算時間が増えるので、外力によって回転しているモータ1の回転数の検出精度と演算時間とはトレードオフの関係となる。
また、演算周期数kの値が大きいほどSN(Signal to Noise)比がよくなり、白色雑音もキャンセルされるので、モータ1の回転数を検知するための信号とその他の信号の分離性が向上する。
また、プログラムで抽出回転数Fs(j)(Hz)を確定する場合は、上述の通り上記(10)式の相関値C(j)の各計算値をメモリ上に記憶しておき、その最大値を選択する操作をするので、誤検出を防止するには演算周期数kの値をある程度大きくする必要がある。しかし、演算周期数kと演算時間とのトレードオフの関係を考慮して、演算周期数kを決定することになる。
(実施例による実験結果)
以下、本実施例に基づく測定条件および測定結果を示す。図13示す回転数抽出回路10aを、次のモータ1の条件で、空転回転数を測定した。モータ1は、巻線抵抗(1相当たり)は12.0Ω、インダクタンス(1相当たり)は5.5mH、回転子の磁束は0.2Wb・T、極対数Pnは4とした。
負荷は、直径が約450mmのプロペラファンを用い、プロペラファンおよびモータを合わせた慣性モーメントは約350×10−4(kg・m2)とした。上記のモータ1にプロペラファンを直結し、対向させた別のファンから風を当てて空転させ、その回転数を実施例の手法を用いて抽出した。スイープ範囲は、上限を20(Hz)、下限を4(Hz)、走査ステップΔFsを0.4(Hz)とした。なお、抽出回転数FsをRPM単位で換算(Fs(j)×60/Pn)すると、スイープ範囲は、上限が300(RPM)、下限が60(RPM)、走査ステップΔFsが6(RPM)となる。
図15は、実施例にかかる空転回転数の抽出結果の一例を示す表である。図15は、相関演算値から抽出した空転回転数の結果の一覧である。図15において、第1列の「空転回転数」は、プロペラファンの実際の空転回転数である。
図15において、第2列の「k値」は演算周期数であり、図13の相関値演算部10a−8,10a−9のkに相当する。第3列の「抽出回転数(RPM)」は、上記(10)式が最大になったときの抽出回転数Fs(Hz)をRPM単位で換算した値である。図15において、第4列の「誤差(RPM)」は、「抽出回転数(RPM)」と「空転回転数(RPM)」との差分である。
「k値」が2である場合は、図15において「誤差(RPM)」が“−18.3”および“+13.0”と比較的大きくなった。一方で、「k値」が3や4の場合には「誤差(RPM)」は大きくても“−5”であり、比較的小さくなった。つまり「k値」の設定が大きい方が高い精度が得られる結果となった。また、図15において、第5列は、300(RPM)から60(RPM)までの全スイープ領域を走査するのに要した時間である。「k値」が2である場合の時間t1を基準とすると、「k値」が3の場合で1.5倍(1.5t1)、「k値」が4の場合で2倍(2t1)の計算時間となる。つまり「k値」の設定が小さい方が計算時間を短くできる結果となった。以上の結果から、「k値」は回転数抽出回路10aに求められる性能(速さや精度)に応じて決定される。
(実施例にかかる空転回転数の抽出結果の一例を示すグラフ)
図16〜図24は、実施例にかかる空転回転数の抽出結果の一例を示すグラフである。図16〜図24は、抽出回転数Fs(Hz)のスイープ時の相関値の推移を視覚化したグラフである。図16〜図24は、図15の算出のデータである。
図16〜図18は、空転回転数が約100(RPM)の場合を示し、図16が演算周期数k=2、図17が演算周期数k=3、図18が演算周期数k=4の場合を示す。また、図19〜図21は、空転回転数が約180(RPM)の場合を示し、図19が演算周期数k=2、図20が演算周期数k=3、図21が演算周期数k=4の場合を示す。また、図22〜図24は、空転回転数が約250(RPM)の場合を示し、図22が演算周期数k=2、図23が演算周期数k=3、図24が演算周期数k=4の場合を示す。
図16〜図24のいずれのグラフにおいても、右肩下がりの1次直線が上記(4)式で計算される抽出回転数Fs(j)(Hz)のスイープ値であり、曲線が上記(10)式による相関値C(j)である。図16〜図24のいずれのグラフにおいても、左縦軸が相関値C(j)、右縦軸がスイープ対象となる抽出回転数Fs(j)(Hz)をRPM単位で換算した値であり、横軸が上記(4)式の“j”に相当する“データ番号”である。
図16〜図24のいずれのグラフにおいても、グラフ中の矢印で示した点が相関値C(j)の最大値であり、この時のデータ番号jに対応する抽出回転数Fs(j)(Hz)が抽出した空転回転数を与える。
以上の実施例を含む実施形態では、スイッチング素子が直列接続されたアーム部が直流電圧部に対して並列接続されたインバータ部と、インバータ部における電流を検出する電流検出部とを備えたモータ制御装置であって、インバータ部は、直列接続されたスイッチング素子のうち、直流電圧部の上流側に接続された上アームと、直流電圧部の下流側に接続された下アームとを含み、上アームおよび下アームそれぞれにおいて異なる1相のスイッチング素子に通電した状態で、電流検出部により検出された、インバータ部を流れる電流に基づく信号から、モータの回転数を抽出する回転数抽出部を備えた。よって、モータの起動前であっても、電流検出部により検出された、直流電圧部とスイッチング素子群との間を流れる微少な電流から、モータが外力により空転している空転時の回転数を取得できることから、ノイズが多い環境下で、モータが外力により空転している空転時の回転数を低回転から高回転までの比較的広いレンジの間で取得できる。
また、以上の実施例を含む実施形態では、回転数抽出部は、信号に含まれる周波数成分を抽出し、抽出した周波数成分のうち、最大の周波数成分を、モータの回転数として抽出する。よって、簡易な構成および処理で、モータが外力により空転している空転時の回転数を抽出することができる。
また、以上の実施例を含む実施形態では、電流検出部により検出され、AD変換された信号と、入力周波数に基づく位相を有する三角関数との相関値を演算する相関値演算部をさらに備え、回転数抽出部は、相関値演算部による演算結果に基づいて、モータが外力により空転している空転時の回転数を抽出する。よって、相関値演算により、比較的簡易な構成および処理で、モータが外力により空転している空転時の回転数をより高精度に抽出することができる。
また、以上の実施例を含む実施形態では、電流検出部は、インバータ部に接続されたシャント抵抗に発生する電圧から、インバータ部を流れる電流を検出する。よって、簡易な構成で検出した電流をもとに、モータが外力により空転している空転時の回転数を抽出することができる。
また、以上の実施例を含む実施形態では、上アームが駆動電源を含み、駆動電源を充電する充電パルスと、上アームおよび下アームそれぞれにおいて異なる1相のスイッチング素子に通電するために1相のスイッチング素子の各ゲートをオンする通電パルスとを出力するパルス出力部をさらに備えた。よって、ブートストラップ回路を有するゲート回路において、モータが外力により空転している空転時の回転数を抽出する際に、電流検出部がインバータ部に接続されたシャント抵抗に発生する電圧を測定するときの電源として、ブートストラップ回路を用いることができる。
また、以上の実施例を含む実施形態では、パルス出力部は、モータ制御装置の連続するキャリア周期のうち、先行する第1キャリア周期において充電パルスを出力し、充電パルスに続く第2キャリア周期において通電パルスを出力する。よって、ブートストラップ回路の充電およびシャント抵抗の電圧のための通電を繰り返すことにより、モータの外力による空転で発生する誘起電圧情報を、直流電圧部とスイッチング素子群との間を流れる電流に含ませることができるので、誘起電圧情報が含まれる電流をAD変換する際の時間を十分確保することができる。
また、以上の実施例を含む実施形態では、パルス出力部は、通電パルスの立ち上がり後から所定時間だけ経過した後に、電流検出部により検出された信号のAD変換を実行する。よって、電流検出部により検出された信号のAD変換の際のリンギングを回避して、モータが外力により空転している空転時の回転数をより精密に抽出できる。
[その他の実施形態および実施例]
上記実施形態および実施例では、マイクロコンピュータ10に含まれる回転数抽出回路10aが、抽出回転数Fs(j)(Hz)のスイープにより、誘起電圧情報を含んだシャント抵抗24bの両端電圧から、プロペラファン1aの回転数に同期した最大の周波数成分を抽出する。しかし、これに限られず、FFT(Fast Fourier Transform)を用いて、誘起電圧情報を含んだシャント抵抗24bの両端電圧から、プロペラファン1aの回転数に同期した最大の周波数成分を抽出してもよい。
上述の実施形態、実施例および図示の具体的名称、処理、制御、各種のデータやパラメーターを含む情報については、一例を示すに過ぎず、特記する場合を除いて適宜変更することができる。また、上述の実施形態および実施例における各部もしくは各装置の構成は、処理負荷や実装効率等から適宜分散または統合されてもよい。また、上述の実施形態および実施例における各処理は、処理負荷や実装効率等から、処理順序を適宜入れ替えて実行されてもよい。
上述の実施形態および実施例のより広範な態様は、上述のように表しかつ記述した特定の詳細および代表的な実施形態および実施例に限定されるものではない。したがって、添付の特許請求の範囲およびその均等物によって定義される総括的な発明の概念または範囲から逸脱することなく、様々な変更が可能である。