以下、本発明の実施の形態を、添付図面に基づいて詳細に説明する。実施例としては、空気調和機の室外機に搭載される圧縮機のブラシレスDCモータを駆動制御する制御装置を例に挙げて説明する。尚、本発明は以下の実施形態に限定されることはなく、本発明の主旨を逸脱しない範囲で種々変形することが可能である。
図1に示すように、制御装置100の制御対象であるブラシレスDCモータ200は、三相(U相、V相、W相とする)の巻線を有する中空形状のステータと、ステータの中空内部に配設され、四極の永久磁石を有して回転するロータとを備えた三相四極のセンサレス型のブラシレスDCモータである。このブラシレスDCモータ200として、ロータの内部に永久磁石を埋め込んだIPM(Interior Parmanent Magnet)モータを適用してもよいし、ロータの表面に永久磁石を配設したSPM(Surface Permanent Magnet)モータを適用してもよい。
制御装置100は、交流電力を供給する交流電源1と、交流電源1から供給された交流電力を直流電力に変換するコンバータ回路2と、コンバータ回路2で変換した直流電力を平滑化する平滑コンデンサ3と、平滑コンデンサ3で平滑化した直流電力を用いてブラシレスDCモータ200を矩形波駆動するインバータ回路4と、ブラシレスDCモータ200の各巻線電圧を、各巻線からそれぞれ抵抗を介して合成し、この合成点とグランドとの間に接続した抵抗で分圧することによって得られるモータ仮想中性点電圧を出力する仮想中性点電圧回路6と、仮想中性点電圧回路6が出力したモータ仮想中性点電圧を基準電圧と比較して両電圧の交点(ゼロクロス点)を求め、この求めた交点からロータの位置を検出する位置検出回路8と、位置検出回路8などからの信号に基づいてブラシレスDCモータ200の制御を行う制御手段10と、制御回路10が出力する制御信号をもとにインバータ回路4を介してブラシレスDCモータ200を駆動するモータ駆動回路7と、を備える。
平滑コンデンサ3とインバータ回路4との間には、インバータ回路4の母線電流を検出するシャント抵抗5が接続されている。電流検出回路9は、シャント抵抗5の両端の電圧を検出する。電流検出回路9は、入力した電圧からインバータ回路4の母線電流を算出し、算出した母線電流は、制御手段10が有するA/D変換部14を介して後述するCPU11に入力される。
インバータ回路4は、上アームに3個のスイッチング素子41U1、41V1、41W1、下アームに3個のスイッチング素子41U2、41V2、41W2、の計6個のスイッチング素子を有しこれらがブリッジ接続されて三相ブリッジ回路を構成している。これら6個のスイッチング素子(以下、個別に言及する場合を除きスイッチング素子41と記載する)は、例えば、IGBT(絶縁ゲートバイポーラトランジスタ)によって実現することができる。各スイッチング素子41には還流ダイオード42が並列に接続されており、具体的には、スイッチング素子41のエミッタ端子に還流ダイオード42のアノード端子が接続され、スイッチング素子41のコレクタ端子に還流ダイオード42のカソード端子が接続されている。還流ダイオード42は、対応するスイッチング素子41がスイッチをオフした瞬間に非通電相となるブラシレスDCモータ200のステータ巻線に蓄積されたエネルギーによって発生する還流電流を、入力電源側に流す機能を有する。
制御手段10は、ブラシレスDCモータ200の回転数を制御するCPU11と、CPU11からの指令に基づいてPWM(Pulse Width Modulation)信号を生成し、生成したPWM信号をモータ駆動回路7へ出力する信号生成部であるPWM生成部12と、各種処理を実行するための制御用プログラム等が予め記憶されたROM(Read Only Memory)および各種処理の演算パラメータやデータ等を記憶するRAM(Ramdom Access Memoly)とからなる記憶部15と、入力部(INT)13と、A/D変換部14とを有する。
次に、上述した構成を有する制御装置100を用いて実現されるブラシレスDCモータ200の制御方法について説明する。位置検出回路8は、仮想中性点電圧回路6を介して取り込んだブラシレスDCモータ200の非通電相に発生する誘起電圧と基準電圧とを比較し、両者の交点(ゼロクロス点)を検出する。そして、位置検出回路8は、検出したゼロクロス点に基づいて位置検出信号を生成し制御手段10に出力する。
入力部13を介してロータの位置検出信号を入力したCPU11は、この位置検知信号を用いてブラシレスDCモータ200のモータ回転数(実回転数)を算出する。また、CPU11は、算出したモータ回転数と図示しない室外機の制御部から出力された回転数(周波数)目標値との差、および、電流検出回路9から入力したインバータ回路4の母線電流値からPWM信号のデューティ比を算出し、算出したデューティ比を含む回転数指示信号をPWM生成部12に出力する。さらには、CPU11は、入力した位置検知信号を用いて、転流タイミングおよびインバータ回路4のどのスイッチング素子41のオン/オフを切り替えるかについての情報を含む転流信号をPWM生成部12に出力する。
CPU11から回転数指示信号および転流信号を入力したPWM生成部12は、回転数指示信号に含まれるデューティ比となるPWM信号を生成するとともに、転流信号に含まれる転流タイミングおよびインバータ回路4のどのスイッチング素子41のオン/オフを切り替えるかについての情報から通電切り替え信号を生成する。そして、PWM生成部12は、生成したPWM信号を同じく生成した通電切り替え信号に重畳した駆動信号を生成し、モータ駆動回路7に出力する。
PWM生成部12から駆動信号を入力したモータ駆動回路7は、入力した駆動信号に基づくモータ駆動信号を生成し、インバータ回路4へ出力する。モータ駆動回路7からモータ駆動信号を入力したインバータ回路4は、平滑コンデンサ3で平滑化した直流電圧および入力したモータ駆動信号を用いて三相の矩形波電圧を生成し、この各矩形波電圧を所定の通電タイミングでブラシレスDCモータ200に印加する。
尚、以下の説明では、上記のようにロータの位置検出結果に応じてブラシレスDCモータ200の駆動制御を行う場合を、通常制御と記載する。
上記のようにブラシレスDCモータ200の制御を行うことにより、ブラシレスDCモータ200の回転数が目標回転数となるように制御する。PWM方式では、駆動信号に重畳するPWM信号のデューティ比が増加するにしたがって通電切り替えタイミングの電気的な位相(通電位相)が進んでモータ回転数が上昇する。そして、PWM信号のデューティ比が100%に達した後、さらにモータ回転数を上げるためには、ブラシレスDCモータ200に供給する電流の位相を誘起電圧に対し進み位相にすることにより、誘起電圧が高い状態でも更に多くの電流をブラシレスDCモータ200に供給することが可能となり、これによりブラシレスDCモータ200の回転数を上昇させる弱め界磁制御を実行する。
次に、制御装置100を用いて実現されるブラシレスDCモータ200の弱め界磁制御および弱め界磁制御行っているときの脱調検出方法について、図1乃至図4を用いて具体的に説明する。ブラシレスDCモータ200の回転数を、PWM信号のデューティ比が100%に達した後さらに上昇させる場合は、制御手段10のCPU11は、通常制御からブラシレスDCモータ200の各相の通電位相の位相角を進める弱め界磁制御に移行する。
図2は、CPU11が弱め界磁制御を行っているときの、制御装置100の挙動を説明するためのタイミングチャートである。図2において、駆動信号はインバータ回路4の各スイッチング素子41のオン/オフを行うための信号を示しており、駆動信号(U1)はスイッチング素子41U1のベースに供給されるもの、駆動信号(V1)はスイッチング素子41V1のベースに供給されるもの、駆動信号(W1)はスイッチング素子41W1のベースに供給されるもの、をそれぞれ示している。また、駆動信号(U2)はスイッチング素子41U2のベースに供給されるもの、駆動信号(V2)はスイッチング素子41V2のベースに供給されるもの、駆動信号(W2)はスイッチング素子41W2のベースに供給されるもの、をそれぞれ示している。
CPU11がブラシレスDCモータ200の弱め界磁制御を行うときは、ブラシレスDCモータ200を通常制御にて駆動する場合の転流タイミングより所定の電気角(予め決定されて記憶部15に記憶されている)だけ早く転流するよう、上記各駆動信号をインバータ回路4に供給する。これにより、ブラシレスDCモータ200の各相の通電位相の位相角を進めて弱め界磁制御を実行している。
図2において、電圧波形はブラシレスDCモータ200が弱め界磁制御にて駆動しているときの、各相のコイルの電圧変化(0とインバータ4に印加される電圧Vpとの間で変化する)を示しており、UN電圧波形はブラシレスDCモータ200のU相コイルにおける電圧変化、VN電圧波形はブラシレスDCモータ200のV相コイルにおける電圧変化、WN電圧波形はブラシレスDCモータ200のW相コイルにおける電圧変化、をそれぞれ示している。
各相のコイルの電圧波形には、非通電時に各相に流れる還流電流によるスパイク電圧が、図2に示すようなスパイク電圧波形として現れる。スパイク電圧は、インバータ回路4の下アームを構成するスイッチング素子41U2、41V2,41W2がオンからオフに切り替わった場合、および、上アームを構成するスイッチング素子41U1、41V1、41W1がオンからオフに切り替わった場合に、それぞれ発生する。
具体的には、UN電圧波形においては、駆動信号(U2)がオンからオフに切り替わったときにスパイク電圧波形(U2)が、駆動信号(U1)がオンからオフに切り替わったときにスパイク電圧波形(U1)が、それぞれ現れる。また、VN電圧波形においては、駆動信号(V2)がオンからオフに切り替わったときにスパイク電圧波形(V2)が、駆動信号(V1)がオンからオフに切り替わったときにスパイク電圧波形(V1)が、それぞれ現れる。また、WN電圧波形においては、駆動信号(W2)がオンからオフに切り替わったときにスパイク電圧波形(W2)が、駆動信号(W1)がオンからオフに切り替わったときにスパイク電圧波形(W1)が、それぞれ現れる。
尚、以下の説明では、上記各相のコイルの電圧波形に発生するスパイク電圧波形の幅、つまり、スパイク電圧の発生時間を電気角に換算したスパイク角度で表わす。図2では、スパイク電圧波形(U1)およびスパイク電圧波形(U2)に対応するスパイク角度をRu、スパイク電圧波形(V1)およびスパイク電圧波形(V2)に対応するスパイク角度をRv、スパイク電圧波形(W1)およびスパイク電圧波形(W2)に対応するスパイク角度をRw、としている。
スパイク検出信号は、上述した各相の電圧波形が仮想中性点電圧回路6および位置検出回路8で合成されて入力部13を介してCPU11に入力されるものである。具体的には、スイッチング素子41U2、41V2、41W2がそれぞれオンからオフに切り替わったときに発生する各相のスパイク電圧波形(U2)、(V2)、(W2)がVp→0となるときであるスパイク電圧波形の立ち下がりと、および、スイッチング素子41U1、41V1、41W1がそれぞれオンからオフに切り替わったときに発生する各相のスパイク電圧波形(U1)、(V1)、(W1)が0→Vpとなるときであるスパイク電圧波形の立ち上がりとが仮想中性点電圧回路6および位置検出回路8で合成されてなる図2に示すようなスパイク検出信号が、入力部13を介してCPU11に入力される。
検出許可は、CPU11に入力されたスパイク検出信号の立ち上がり/立ち下がりを割り込み処理によって検出するタイミングを示すものである。図2に示すように、検出許可はスイッチング素子41U1、41V1、41W1がそれぞれオフからオンに切り替わるときに同期して禁止→許可とするものであり、スパイク検出信号の立ち上がり/立ち下がりを検出すれば、許可→禁止となる。尚、この検出許可は、禁止→許可となってから所定時間(図3に示す最大許可時間Tm)までの間にスパイク検出信号の立ち上がり/立ち下がりを検出できない場合も、許可→禁止となる。
ブラシレスDCモータ200を弱め界磁制御で駆動しているとき、図2に示すように、脱調が発生せずに正常に駆動制御が行えている場合は、各相に発生するスパイク電圧のスパイク角度は一定(Ru=Rv=Rw)であり、スパイク検出信号も一定の周期で立ち上がり/立ち下がりを繰り返す。従って、CPU11は、スパイク検出信号の立ち上がり/立ち下がりを検出できていれば、ブラシレスDCモータ200で脱調が発生していないと判断できる。
一方、ブラシレスDCモータ200で脱調が発生してスパイク角度が大きくなる場合は、スパイク検出信号の幅が広くなり、CPU11が割り込み処理で検出許可としている間にスパイク検出信号の立ち上がり/立ち下がりを検出できない虞がある(以下、脱調状態と記載)。また、CPU11に大きな負荷が加わっていて実際にスパイク電圧波形を検出する動作が遅れ、かつ、ブラシレスDCモータ200に加えられる負荷が軽減されてスパイク角度が小さくなる場合も、スパイク検出信号の立ち上がり/立ち下がりを検出できない虞がある(以下、検出不可状態と記載)。
従来のブラシレスDCモータの制御装置において、上記のようにスパイク検出信号を生成してその立ち上がり/立ち下がりを検出することによって脱調発生を検知する場合は、スパイク検出信号の立ち上がり/立ち下がりを検出できない原因に関わらず、つまり、脱調状態であるか検出不可状態であるかに関わらず、スパイク検出信号の立ち上がり/立ち下がりを所定回数連続して検出できなければ脱調が発生したと判断し、ブラシレスDCモータを停止していた。
これに対し、本発明のブラシレスDCモータ200の制御装置100では、以下に説明する方法により、スパイク検出信号の立ち上がり/立ち下がりを所定回数連続して検出できないときに、その原因が
ブラシレスDCモータ200の脱調であると判断し、脱調が発生したと判断すればブラシレスDCモータ200を停止する。
まず、ブラシレスDCモータ200で脱調が発生している場合(脱調状態)について、図3を用いて説明する。尚、図3において、図2と同じ用語や記号については詳細な説明を省略する。
ブラシレスDCモータ200で脱調が発生したとき、各相のコイルの電圧波形に現れるスパイク電圧のスパイク角度は大きくなる。スパイク角度が大きくなれば、これに伴ってCPU11が生成したスパイク検出信号の幅も広がる。このとき、スパイク検出信号の幅が、図3に示す検出許可の最大許可時間Tmの間に検出できないほど広がっている場合は、CPU11はスパイク検出信号の立ち上がりを検出できない。例えば、図3では、UN電圧波形に現れるスパイク電圧波形(U1a)のスパイク角度がRua(>Ru)と大きくなって、CPU11がスパイク検出信号の立ち上がりを検出できないことを示している。尚、図3において、スパイク電圧波形(U1a)に対応する検出できないスパイク検出信号の立ち上がりに「○」を付与している。
一方、CPU11は、検出許可が「許可」→「禁止」となったときに、スパイク検出信号の状態を確認している。具体的には、CPU11は、スパイク検出信号の状態を示すスパイク検出電圧Vs(単位:V)を常に確認し、確認結果(つまり、スパイク検出電圧Vs)を記憶部15に記憶している。例えば、図3において、CPU11は、スパイク電圧(V2a)により生成されたスパイク検出信号の立ち下がりは検出できており(図3の「◎」を付与した立ち下がり)、立ち下がりが検出できれば検出許可が「許可」→「禁止」となる。このとき、CPU11は、スパイク検出信号を確認して得たスパイク検出電圧VsV(=0V)を記憶部15に記憶する。また、CPU11は、スパイク電圧(U1a)により生成されたスパイク検出信号の立ち上がりは、検出許可の「許可」となっている時間が最大許可時間Tmとなるまでに検出できていない(図3の「○」を付与したスパイク検出信号の立ち上がり)。この場合、CPU11は、最大許可時間Tmとなったとき(Tmで検出許可が「許可」→「禁止」となる)にスパイク検出信号を確認して得たスパイク検出電圧VsU(=0V)を記憶部15に記憶する。尚、以降の説明では、上記のように、各相のスパイク電圧に対応するスパイク検出電圧Vsに、各相の名称(U/V/W)を付与して記載する。
前述したように、CPU11に入力されるスパイク検出信号は、スパイク電圧波形(U2)、(V2)、(W2)の立ち下がり、および、スパイク電圧波形(U1)、(V1)、(W1)の立ち上がり、を使用して生成されている。このため、スパイク検出信号は、立ち上がりと立ち下がりとが交互に現れる波形となり、CPU11は、スパイク検出信号は立ち上がりと立ち下がりとが交互に現れることを確認できる。また、図3から明らかなように、スパイク検出信号が立ち下がりである場合、スパイク検出電圧Vsは5V→0Vとなり、スパイク検出信号が立ち上がりである場合、スパイク検出電圧Vsは0V→5Vとなる。
以上のことから、CPU11は、スパイク検出信号の立ち上がり/立ち下がりを検出許可の最大許可時間Tmの間に検出できなかったとき、最大許可時間Tmでスパイク検出信号を確認して記憶部15に記憶しているスパイク検出電圧Vsを読み出し、当該スパイク検出信号の立ち上がり/立ち下がりが検出できた場合のスパイク検出信号のあるべき状態を示す正値スパイク検出電圧Vsc1(立ち上がりが検出できたとき:5V/立ち下がりが検出できたとき:0V)と読み出したスパイク検出電圧Vsとを比較することで、ブラシレスDCモータ200で脱調が発生しているか否かを判断する。
上述したスパイク検出電圧Vsと正値スパイク検出電圧Vsc1との比較による脱調発生有無の判断について、図3を用いて具体的に説明する。CPU11は、図3で「○」を付与したスパイク検出信号の立ち上がりを検出できた場合、スパイク検出信号を確認して得たスパイク検出電圧VsUは5Vとなる。これに対し、脱調によりスパイク電圧(U1a)のスパイク角度がRuaと広くなり、CPU11が「○」を付与したスパイク検出信号の立ち上がりを検出できない場合、この一つ前に検出できたものがスパイク検出信号の立ち下がり(図3の「◎」を付与した立ち下がり)であることから、CPU11は、最大許可時間Tmとなるまでに検出できなかったのは立ち上がりであることを認識し、このときの正値スパイク検出電圧Vsc1が5Vであると認識する。しかし、このときのスパイク検出電圧VsUは0Vであることから、CPU11は、ブラシレスDCモータ200で脱調が発生している虞があると判断し、スパイク検出信号の立ち上がり/立ち下がりを検出できなかった回数を1回とカウントする。
ブラシレスDCモータ200が脱調している場合は、UN電圧波形のスパイク角度が大きくなった以降の各相のスパイク角度も大きくなるので、上記と同様に以降のスパイク検出信号の立ち上がり/立ち下がりも検出できない。図3では、スパイク電圧波形(U1a)の次にスパイク検出信号を生成する元となるWN電圧波形に現れるスパイク電圧波形(W2a)に対応するスパイク角度がRwa(>Rw)と大きくなり、この次の、VN電圧波形に現れるスパイク電圧波形(V1a)に対応するスパイク角度もRva(>Rv)と大きくなって、CPU11がこれらスパイク電圧波形(W2a)やスパイク電圧波形(V1a)に対応するスパイク検出信号の立ち上がり/立ち下がりも検出できないことを示している。尚、図3において、「○」を付与した検出できないスパイク検出信号の立ち上がり以降の検出できないスパイク検出信号の立ち上がり/立ち下がりには「△」を付与している。
CPU11は、最初に検出できなかったスパイク検出信号の立ち上がり以降についても、スパイク検出信号の立ち上がり/立ち下がりを検出できなかった場合は、その度に許可検出が「許可」となっている時間が最大許可時間Tmとなったときのスパイク検出電圧Vsを記憶部15に記憶し、スパイク検出信号の立ち上がり/立ち下がりが検出できている場合のスパイク検出電圧Vsである正値スパイク検出電圧Vsc1と記憶した各スパイク検出電圧Vsとを比較して、両者が同じ値でなければ、スパイク検出信号の立ち上がりを検出できなかった回数としてカウントしていく。
具体的には、CPU11は、スパイク電圧波形(W2a)に対応するスパイク検出信号の立ち下がりが検出できなかったとき、最大許可時間Tmとなったときにスパイク検出信号を確認して得たスパイク検出電圧VsW(5V)を記憶部15に記憶する。CPU11は、記憶したスパイク検出電圧VsWである5Vは、スパイク検出信号の立ち下がりが検出できているときの正値スパイク検出電圧Vsc1である0Vと異なるため、スパイク検出信号の立ち上がり/立ち下がりを検出できなかった回数:1をカウントし、これを前回スパイク検出信号の立ち上がり/立ち下がりを検出できなかった(スパイク電圧(U1a)に対応するスパイク検出電圧の立ち上がりが検出できなかった)回数に加えて、スパイク検出信号の立ち上がり/立ち下がりを検出できなかった回数を2回とカウントする。
また、スパイク電圧波形(V1a)に対応するスパイク検出信号の立ち上がりが検出できなかったとき、最大許可時間Tmとなったときのスパイク検出電圧VsV(0V)を記憶部15に記憶する。CPU11は、記憶したスパイク検出電圧VsVである0Vは、スパイク検出信号の立ち上がりが検出できているときの正値スパイク検出電圧Vsc1である5Vと異なるため、スパイク検出信号の立ち上がり/立ち下がりを検出できなかった回数をカウントし、これを前回までにスパイク検出信号の立ち上がり/立ち下がりを検出できなかった回数:1を積算した結果に加えて、スパイク検出信号の立ち上がり/立ち下がりを検出できなかった回数を3回とカウントする。
このように、スパイク検出信号の立ち上がり/立ち下がりを検出できなかった回数をカウントし、この回数が所定回数連続、例えば、5回連続した場合(図3では、CPU11が検出できない「○」を付与したスパイク検出信号の立ち上がりの後に、「△」を付与した検出できないスパイク検出信号の立ち上がり/立ち下がりが4回連続している例を示している)は、CPU11は、ブラシレスDCモータ200が脱調したと判断し、モータ駆回路7に対してブラシレスDCモータ200への通電を停止するようPWM生成部12を介して指示する。
次に、CPU11に大きな負荷が加わっていて実際にスパイク電圧波形を検出する動作が遅れ、かつ、スパイク角度が小さくなっている場合(検出不可状態)について、図4を用いて説明する。尚、図4において、図2と同じ用語や記号については詳細な説明を省略する。
ブラシレスDCモータ200に加えられる負荷が軽減されたとき、各相の電圧波形に現れるスパイク電圧のスパイク角度が小さくなることがある。また、前述したように、CPU11はスパイク検出信号の検出を割り込み処理で行っており、CPU11に大きな負荷が加わっている場合は、図4に示すように、スイッチング素子41U1、41V1、41W1がオフからオンに切り替えるときに同期して禁止→許可としても、実際に検出ができるタイミングが、スイッチング素子41U1、41V1、41W1がオフからオンに切り替えるときより時間Trだけ遅れることがある。
図4に示すように、スパイク検出信号の立ち上がり/立ち下がりの検出タイミングが時間Trだけ遅れているとき、かつ、UN電圧波形に現れるスパイク電圧波形(U1b)に対応するスパイク角度がRub(<Ru)となりこれに基づいてCPU11が生成したスパイク検出信号の幅が狭くなったとき、CPU11はスパイク検出信号の立ち上がりを検出できない。尚、図4において、スパイク電圧波形(U1b)に対応する検出できないスパイク検出信号の立ち上がりに「○」を付与している。
前述したように、CPU11は、検出許可が「許可」→「禁止」となったときのスパイク検出電圧Vsを常に記憶部15に記憶するので、上記のように、スパイク電圧波形(U1b)に対応するスパイク検出信号の立ち上がりが検出できなかったとき、CPU11は、最大許可時間Tmとなったときのスパイク検出電圧VsU(=5V)を記憶部15に記憶する。
CPU11は、図4で「○」を付与したスパイク検出信号の立ち上がりを検出できた場合のスパイク検出電圧VsUは5Vとなる。これに対し、スパイク電圧(U1a)のスパイク角度がRubと狭くなり、CPU11が「○」を付与したスパイク検出信号の立ち上がりを検出できない場合、この一つ前に検出できたものがスパイク検出信号の立ち下がり(図4の「◎」を付与した立ち下がり)であることから、CPU11は、最大許可時間Tmとなるまでに検出できなかったのはスパイク検出信号の立ち上がりであることを認識し、このときの正値スパイク検出電圧Vsc1が5Vであると認識する。そして、CPU11が実際にスパイク検出信号を確認して得たスパイク検出電圧VsUも5Vであり、スパイク検出電圧VsUと正値スパイク検出電圧Vsc1とが同じ値であることから、CPU11は、ブラシレスDCモータ200で脱調が発生していないと判断し、スパイク検出信号の立ち上がり/立ち下がりを検出できなかった回数をカウントしない。
UN電圧波形のスパイク角度が小さくなった以降も、各相のスパイク角度が小さくなる状態が続けば、上記と同様に以降のスパイク検出信号の立ち上がり/立ち下がりも検出できない。図4では、スパイク電圧波形(U1b)の次にスパイク検出信号を生成する元となるWN電圧波形に現れるスパイク電圧波形(W2b)に対応するスパイク角度がRwb(<Rw)と小さくなり、この次の、VN電圧波形に現れるスパイク電圧波形(V1b)に対応するスパイク角度もRvb(<Rv)と小さくなって、CPU11がこれらスパイク電圧波形(W2b)やスパイク電圧波形(V1b)に対応するスパイク検出信号の立ち上がり/立ち下がりも検出できないことを示している。尚、図4において、「○」を付与した検出できないスパイク検出信号の立ち上がり以降の検出できないスパイク検出信号の立ち上がり/立ち下がりには「△」を付与している。
CPU11は、最初に検出できなかったスパイク検出信号の立ち上がり以降についても、スパイク検出信号の立ち上がり/立ち下がりを検出できなかった場合は、その度に検出許可が「許可」となっている時間が最大許可時間Tmとなったときのスパイク検出電圧Vsを記憶部15に記憶し、スパイク検出信号の立ち上がり/立ち下がりが検出できている場合のスパイク検出電圧Vsである正値スパイク検出電圧Vsc1と検出した各スパイク検出電圧Vsとを比較して、両者が同じ値であれば、ブラシレスDCモータ200で脱調は発生していないと判断し、スパイク検出信号の立ち上がり/立ち下がりを検出できなかった回数をカウントせずにブラシレスDCモータ200の制御を継続する。
具体的には、CPU11は、スパイク電圧波形(W2b)に対応するスパイク検出信号の立ち下がりが検出できなかったときは、最大許可時間Tmとなったときのスパイク検出電圧VsW(=0V)を記憶部15に記憶する。CPU11は、記憶したスパイク検出信号VsWである0Vは、スパイク検出信号の立ち下がりが検出できているときの正値スパイク検出電圧Vsc1である0Vと同じ値であるため、スパイク検出信号の立ち上がり/立ち下がりを検出できなかった回数をカウントせず、ブラシレスDCモータ200の制御を継続する。
また、スパイク電圧波形(V1b)に対応するスパイク検出信号の立ち上がりが検出できなかったときは、最大許可時間Tmとなったときのスパイク検出電圧VsV(5V)を記憶部15に記憶する。CPU11は、記憶したスパイク検出信号VsVである5Vは、スパイク検出信号の立ち下がりが検出できているときの正値スパイク検出電圧Vsc1である5Vと同じ値であるため、スパイク検出信号の立ち上がり/立ち下がりを検出できなかった回数をカウントせず、ブラシレスDCモータ200の制御を継続する。
このように、CPU11は、スパイク検出信号の立ち上がり/立ち下がりを検出できなかった場合であっても、最大許可時間Tmとなったときのスパイク検出電圧Vsが正値スパイク検出電圧Vsc1と同じ値であれば、ブラシレスDCモータ200で脱調は発生していないと判断し、スパイク検出信号の立ち上がり/立ち下がりを検出できなかった回数をカウントせずにブラシレスDCモータ200の制御を継続する。
次に、図5に示すフローチャートを用いて、本実施形態におけるCPU11での処理の流れについて説明する。図5に示すフローチャートは、ブラシレスDCモータ200での脱調発生を検知する場合の処理の流れを説明するものであり、STはステップを表しこれに続く番号はステップ番号を表している。
尚、図5では本発明に関わる処理を中心に説明しており、ブラシレスDCモータ200を前述した通常制御にて駆動している場合等の、その他の処理については説明を省略している。
制御手段10のCPU11がブラシレスDCモータ200の駆動制御を開始し、スパイク検出信号の立ち上がり/立ち下がりを検出できなかった回数Nを0にリセットする(ST1)。次に、CPU11は、各相に現れたスパイク電圧波形からスパイク検出信号を生成する(ST2)。次に、CPU11は、スパイク検出信号の立ち上がり/立ち下がりを割り込み処理で検出できたか否かを判断する(ST3)。
スパイク検出信号の立ち上がり/立ち下がりを検出できれば(ST3−Yes)、CPU11は、ST1に処理を戻す。スパイク検出信号の立ち上がり/立ち下がりを検出できなければ(ST3−No)、CPU11は、記憶部15からスパイク検出電圧Vsを読み出す(ST4)。尚、前述したように、CPU11は、検出許可が「許可」→「禁止」となる度に、スパイク検出信号を確認して得たスパイク検出電圧Vsを記憶部15に記憶している。
次に、CPU11は、読み出したスパイク検出電圧Vsが正値スパイク検出電圧Vsc1と同じ値であるか否かを判断する(ST5)。前述したように、正値スパイク検出電圧Vsc1は、スパイク検出信号の立ち上がりが検出できたときは5V、スパイク検出信号の立ち下がりが検出できたときは0Vであり、ブラシレスDCモータ200で脱調が発生したときのみスパイク検出電圧Vsが正値スパイク検出電圧Vsc1と異なる値となる。
読み出したスパイク検出電圧Vsが正値スパイク検出電圧Vsc1と同じ値であれば(ST5−Yes)、CPU11は、ST1に処理を戻す。読み出したスパイク検出電圧Vsが正値スパイク検出電圧Vsc1と同じ値でなければ(ST5−No)、CPU11は、スパイク検出信号の立ち上がり/立ち下がりを検出できなかった回数Nをカウント、つまり、前回までの回数Nに1を加算する(ST6)。
次に、CPU11は、スパイク検出信号の立ち上がり/立ち下がりを検出できなかった回数Nが所定回数Na(本実施形態では5回)となったか否かを判断する(ST7)。回数NがNaとなっていなければ(ST7−No)、CPU11は、ST2に処理を戻す。回数NがNaとなっていれば(ST7−Yes)、CPU11は、ブラシレスDCモータ200で脱調が発生していると判断し、ブラシレスDCモータ200への通電を停止してブラシレスDCモータ200を停止し(ST8)、処理を終了する。
次に、本発明の電動機の制御装置100の第2の実施形態について、図1乃至図4、および、図6を用いて説明する。尚、本実施形態では、電動機の制御装置100の構成、ブラシレスDCモータ200の通常制御および弱め界磁制御の内容、スパイク検出信号の立ち上がり/立ち下がり検出については、第1の実施形態と同じであるため、詳細な説明は省略する。第1の実施形態と異なるのは、以下の点である。
すなわち、第1の実施形態では、CPU11は、スパイク検出信号の立ち上がり/立ち下がりを検出許可の最大許可時間Tmの間に検出できなかったとき、最大許可時間Tmでスパイク検出信号を確認して記憶部15に記憶しているスパイク検出電圧Vsを読み出し、当該スパイク検出信号の立ち上がり/立ち下がりが検出できた場合のスパイク検出信号の状態を示す正値スパイク検出電圧Vsc1と読み出したスパイク検出電圧Vsとを比較する。そして、CPU11は、正値スパイク検出電圧Vsc1とスパイク検出電圧Vsとが異なった値である状態が所定回数連続した場合に、ブラシレスDCモータ200で脱調が発生していると判断した。
これに対し、本実施形態では、スパイク検出信号の立ち上がりあるいは立ち下がりを検出できなかったとき、最大許可時間Tmでスパイク検出信号を確認して記憶部15に記憶しているスパイク検出電圧Vsを読み出し、当該スパイク検出信号の立ち上がりあるいは立ち下がりの一つ前のスパイク検出信号の立ち上がりあるいは立ち下がりに対応するスパイク検出信号の状態を示す正値スパイク検出電圧Vsc2と読み出したスパイク検出電圧Vsとを比較する。そして、CPU11は、正値スパイク検出電圧Vsc2とスパイク検出電圧Vsとが同じ値である状態が所定回数連続した場合に、ブラシレスDCモータ200で脱調が発生していると判断する。
上述したスパイク検出電圧Vsと正値スパイク検出電圧Vsc2との比較による脱調発生有無の判断について、図3を用いて具体的に説明する。脱調によりスパイク電圧(U1a)のスパイク角度がRuaと広くなり、CPU11が「○」を付与したスパイク検出信号の立ち上がりを検出できない場合、この一つ前はスパイク検出信号の立ち下がり(図3の「◎」を付与した立ち下がり)であることから、CPU11は、正値スパイク検出電圧Vsc2が0Vであると認識する。「○」を付与したスパイク検出信号の立ち上がりを検出できていればこのときのスパイク検出電圧VsUは5Vであるのに対し、CPU11が実際にスパイク検出信号を確認して得たスパイク検出電圧VsUは0Vであり、スパイク検出電圧VsUと正値スパイク検出電圧Vsc2が同じ値であることから、CPU11は、ブラシレスDCモータ200で脱調が発生している虞があると判断し、スパイク検出信号の立ち上がり/立ち下がりを検出できなかった回数を1回とカウントする。
CPU11は、最初に検出できなかったスパイク検出信号の立ち上がり以降についても、スパイク検出信号の立ち上がり/立ち下がりを検出できなかった場合は、その度に許可検出が「許可」となっている時間が最大許可時間Tmとなったときのスパイク検出電圧Vsを記憶部15に記憶し、検出できていないスパイク検出信号の立ち上がり/立ち下がりの一つ前のスパイク検出信号の立ち上がり/立ち下がりに対応するスパイク検出信号のあるべき状態を示す正値スパイク検出電圧Vsc2と記憶した各スパイク検出電圧Vsとを比較して、両者が同じ値であれば、スパイク検出信号の立ち上がりを検出できなかった回数としてカウントしていく。
具体的には、CPU11は、スパイク電圧波形(W2a)に対応するスパイク検出信号の立ち下がりが検出できなかったとき、最大許可時間Tmとなったときのスパイク検出電圧VsW(5V)を記憶部15に記憶する。CPU11は、記憶したスパイク検出電圧VsWである5Vは、当該立ち下がりの一つ前のスパイク検出信号の立ち上がりに対応する正値スパイク検出電圧Vsc2である5Vと同じであるため、スパイク検出信号の立ち上がり/立ち下がりを検出できなかった回数:1をカウントし、これを前回スパイク検出信号の立ち上がり/立ち下がりを検出できなかった(スパイク電圧(U1a)に対応するスパイク検出電圧の立ち上がりが検出できなかった)回数に加えて、スパイク検出信号の立ち上がり/立ち下がりを検出できなかった回数を2回とカウントする。
また、スパイク電圧波形(V1a)に対応するスパイク検出信号の立ち上がりが検出できなかったとき、最大許可時間Tmとなったときのスパイク検出電圧VsV(0V)を記憶部15に記憶する。CPU11は、記憶したスパイク検出電圧VsVである0Vは、当該立ち上がりの一つ前のスパイク検出信号の立ち下がりに対応する正値スパイク検出電圧Vsc2である0Vと同じであるため、スパイク検出信号の立ち上がり/立ち下がりを検出できなかった回数:1をカウントし、これを前回までに立ち上がり/立ち下がりを検出できなかった回数を積算した結果に加えて、スパイク検出信号の立ち上がり/立ち下がりを検出できなかった回数を3回とカウントする。
このように、スパイク検出信号の立ち上がり/立ち下がりを検出できなかった回数をカウントし、この回数が所定回数連続、例えば、5回連続した場合(図3では、CPU11が検出できない「○」を付与したスパイク検出信号の立ち上がりの後に、「△」を付与した検出できないスパイク検出信号の立ち上がり/立ち下がりが4回連続している例を示している)は、CPU11は、ブラシレスDCモータ200が脱調したと判断し、モータ駆回路7に対してブラシレスDCモータ200への通電を停止するようPWM生成部12を介して指示する。
次に、CPU11に大きな負荷が加わっていて実際にスパイク電圧波形を検出する動作が遅れ、かつ、スパイク角度が小さくなっている場合(検出不可状態)について、図4を用いて説明する。尚、図4において、図2と同じ用語や記号については詳細な説明を省略する。
図4に示すように、スパイク電圧波形(U1b)に対応するスパイク検出信号の立ち上がりが検出できなかったとき、CPU11は、最大許可時間Tmとなったときにスパイク検出信号を確認して得たスパイク検出電圧VsU(=5V)を記憶部15に記憶する。
CPU11は、スパイク検出信号の立ち上がり/立ち下がりの検出タイミングが時間Trだけ遅れているとき、かつ、UN電圧波形に現れるスパイク電圧波形(U1b)に対応するスパイク角度がRub(<Ru)となりこれに基づいてCPU11が生成したスパイク検出信号の幅が狭くなったとき、図4で「○」を付与したスパイク検出信号の立ち上がりを検出できない。この場合、CPU11は、この一つ前はスパイク検出信号の立ち下がり(図4の「◎」を付与した立ち下がり)であることから、正値スパイク検出電圧Vsc2が0Vであると認識する。「○」を付与したスパイク検出信号の立ち上がりを検出できていればこのときのスパイク検出電圧VsUは5Vであるのに対し、CPUが実際にスパイク検出信号を確認して得たスパイク検出電圧VsUも5Vであり、スパイク検出電圧VsUと正値スパイク検出電圧Vsc2とが異なった値であることから、CPU11は、ブラシレスDCモータ200で脱調が発生していないと判断し、スパイク検出信号の立ち上がり/立ち下がりを検出できなかった回数をカウントしない。
CPU11は、最初に検出できなかったスパイク検出信号の立ち上がり以降についても、スパイク検出信号の立ち上がり/立ち下がりを検出できなかった場合は、その度に検出許可が「許可」となっている時間が最大許可時間Tmとなったときのスパイク検出電圧Vsを記憶部15に記憶し、スパイク検出信号の立ち上がり/立ち下がりが検出できている場合のスパイク検出電圧Vsである正値スパイク検出電圧Vsc1と検出した各スパイク検出電圧Vsとを比較して、両者が同じ値であれば、ブラシレスDCモータ200で脱調は発生していないと判断し、スパイク検出信号の立ち上がり/立ち下がりを検出できなかった回数をカウントせずにブラシレスDCモータ200の制御を継続する。
具体的には、CPU11は、スパイク電圧波形(W2b)に対応するスパイク検出信号の立ち下がりが検出できなかったとき、最大許可時間Tmとなったときのスパイク検出電圧VsW(=0V)を記憶部15に記憶する。CPU11は、記憶したスパイク検出信号VsWである0Vは、当該立ち下がりの一つ前のスパイク検出信号の立ち上がりに対応する正値スパイク検出電圧Vsc2である5Vと異なった値であるため、スパイク検出信号の立ち上がり/立ち下がりを検出できなかった回数をカウントせず、ブラシレスDCモータ200の制御を継続する。
また、スパイク電圧波形(V1b)に対応するスパイク検出信号の立ち上がりが検出できなかったときは、最大許可時間Tmとなったときのスパイク検出電圧VsV(5V)を記憶部15に記憶する。CPU11は、記憶したスパイク検出信号VsVである5Vは、当該立ち上がりの一つ前のスパイク検出信号の立ち下がりに対応する正値スパイク検出電圧Vsc2である0Vと異なった値であるため、スパイク検出信号の立ち上がり/立ち下がりを検出できなかった回数をカウントせず、ブラシレスDCモータ200の制御を継続する。
このように、CPU11は、スパイク検出信号の立ち上がり/立ち下がりを検出できなかった場合であっても、最大許可時間Tmとなったときのスパイク検出電圧Vsが正値スパイク検出電圧Vsc2と異なった値であれば、ブラシレスDCモータ200で脱調は発生していないと判断し、スパイク検出信号の立ち上がり/立ち下がりを検出できなかった回数をカウントせずにブラシレスDCモータ200の制御を継続する。
次に、図6に示すフローチャートを用いて、本実施形態におけるCPU11での処理の流れについて説明する。図6に示すフローチャートは、ブラシレスDCモータ200での脱調発生を検知する場合の処理の流れを説明するものであり、STはステップを表しこれに続く番号はステップ番号を表している。
尚、図6では本発明に関わる処理を中心に説明しており、ブラシレスDCモータ200を前述した通常制御にて駆動している場合等の、その他の処理については説明を省略している。また、図6に示すフローチャートにおいて、ST15(図5に示す第1の実施形態におけるST5に相当)以外の処理は、図5を用いて説明した第1の実施形態における処理と同じであるため、ST15以外の処理については、詳細な説明を省略する。
CPU11は、ST14において記憶部15に記憶しているスパイク検出電圧Vsを読み出し、読み出したスパイク検出電圧Vsが正値スパイク検出電圧Vsc2と同じ値であるか否かを判断する(ST15)。前述したように、正値スパイク検出電圧Vsc2は、スパイク検出信号の立ち上がり/立ち下がりが検出できなかったとき、これらの一つ前のスパイク検出信号の立ち上がり/立ち下がりに対応するスパイク検出電圧であり、ブラシレスDCモータ200で脱調が発生したときのみスパイク検出電圧Vsが正値スパイク検出電圧Vsc2と同じ値となる。
読み出したスパイク検出電圧Vsが正値スパイク検出電圧Vsc2と異なった値であれば(ST15−No)、CPU11は、ST1に処理を戻す。読み出したスパイク検出電圧Vsが正値スパイク検出電圧Vsc2と同じ値であれば(ST15−Yes)、CPU11は、ST16に処理を進め、スパイク検出信号の立ち上がり/立ち下がりを検出できなかった回数Nをカウント、つまり、前回までの回数Nに1を加算する。
尚、以上説明した実施形態では、CPU11が、各相のスパイク検出電圧の立ち上がり/立ち下がりを用いて生成されたスパイク検出信号を入力し、検出許可が「許可」→「禁止」となるタイミングでスパイク検出信号を確認して得たスパイク検出電圧Vsを記憶部15に記憶し、スパイク検出電圧Vsと正値スパイク検出電圧Vsc1/Vsc2とが同じ値であるか否かを判断し、スパイク検出電圧Vsと正値スパイク検出電圧Vsc1とが異なった回数、もしくは、スパイク検出電圧Vsと正値スパイク検出電圧Vsc2とが同じとなる回数をカウントし、これらの回数が連続して5回となれば、ブラシレスDCモータ200で脱調が発生していると判断する、という、ブラシレスDCモータ200の脱調発生有無に関わる一連の処理を行うとして説明したが、より詳細には、図6に示すように、CPU11は、上記各処理を行う構成を備えている。
すなわち、CPU11は、スパイク検出信号を入力するスパイク検出信号入力部11aと、検出許可が「許可」→「禁止」となるタイミングでスパイク検出信号の状態を示すスパイク検出電圧Vsを確認するスパイク検出電圧確認部11bと、スパイク検出電圧Vsと正値スパイク検出電圧Vsc1/Vsc2とを比較しその結果を後述する脱調発生判定部11dに出力するスパイク検出電圧比較部11cと、スパイク検出電圧Vsと正値スパイク検出電圧Vsc1とが異なった値である、もしくは、スパイク検出電圧Vsと正値スパイク検出電圧Vsc2とが同じ値であるという比較結果をスパイク電圧比較手段11cから所定回数続けて入力した場合は、ブラシレスDCモータ200が脱調したと判断する脱調発生判定部11dとを備えている。
以上説明したように、本発明の電動機の制御装置100は、生成したスパイク検出信号の状態を示すスパイク検出電圧Vsを用いてブラシレスDCモータ200での脱調発生を的確に検知できるので、脱調発生の誤検知による不必要なブラシレスDCモータ200の停止を回避することができる。