第1の発明は、電源に接続される整流回路と、前記整流回路の直流電力を交流電力に変換するインバータ回路と、前記インバータ回路により駆動されるブラシレスモータと、前記ブラシレスモータのロータ位置を検出するロータ位置検出手段と、前記ブラシレスモータのモータ電流を検出する電流検出手段と、前記インバータ回路を制御する制御手段とを備え、前記制御手段は、前記ロータ位置検出手段により算出されたモータ回転数を所望の指令回転数となるように電流指令値を生成する速度制御と、前記ブラシレスモータのモータ電流を磁束に対応した磁束電流成分とトルクに対応したトルク電流成分とに分解してそれぞれ前記電流指令値となるように制御するベクトル制御とを実施し、前記速度制御は、前記ブラシレスモータのブレーキ運転において、ブレーキ運転開始から前記ブラシレスモータが所定回転数まで減速するまでの第一区間と、前記ブラシレスモータが所定回転数まで減速した以降の第二区間とを設け、前記ブラシレスモータの駆動開始からブレーキ運転開始までの前記トルク電流成分指令値の最大値にある1未満の定数を乗じた値を、前記第二区間の前記トルク電流成分指令値の絶対値上限として制御することにより、モータが停止する直前のみ制動力を弱めることができるため、大幅にブレーキ運転時間を伸ばすことなくモータの逆回転を防ぐことができるとともに、ブレーキ運転の際にモータの負荷に応じたトルク電流成分を流すことが可能となり、モータの逆回転をより確実に防ぐと共に制動力を弱めることによるブレーキ運転時間の延長作用を最小限に抑えることができる。
第2の発明は、上記第1の発明において、前記トルク電流成分指令値の最大値に応じて前記第一区間と前記第二区間を区分する前記所定回転数を設定することにより、ブレーキの制動力を弱めるタイミングをモータ負荷に応じて設定することが可能となり、ブラシレスモータの逆回転をより確実に防ぎつつ、制動力を弱めることによるブレーキ運転時間の延長作用をさらに抑えることができる。
第3の発明は、上記第1または第2の発明において、前記速度制御は、ブレーキ運転開始前に前記ブラシレスモータの回転数指令値が変更前よりも低い回転数に変更された場合は、回転数指令値が変更されたタイミングからブレーキ運転開始までの前記トルク電流成分指令値の最大値にある1未満の定数を乗じた値を、前記第二区間の前記トルク電流成分指令値の絶対値上限として制御することにより、ブラシレスモータ回転数の変動に伴いトルク電流成分指令値が変動する場合においても、ブレーキ運転開始時の回転数に応じた適切なトルク電流成分を流すことができるため、より確実にモータの逆回転を防ぐことができる。
第4の発明は、上記第1の発明において、前記速度制御は、前記第二区間に入る直前の前記トルク電流成分指令値にある1未満の定数を乗じた値を、前記第二区間の前記トルク電流成分指令値の絶対値上限として制御することにより、ブレーキ運転中のモータの制御状況に関わらず、前記第二区間のトルク電流成分指令値を前記第一区間のトルク電流成分指令値よりも確実に小さくすることができる。
第5の発明は、上記第1の発明において、前記速度制御は、前記第一区間における前記トルク電流成分指令値の最小値にある1未満の定数を乗じた値を、前記第二区間の前記トルク電流成分指令値の絶対値上限として制御することにより、ブレーキ運転中のモータの制御状況に関わらず、前記第二区間のトルク電流成分指令値を前記第一区間のトルク電流成分指令値よりも確実に小さくすることができる。
以下、本発明を実施するための形態について、図面を参照しながら説明する。なお、こ
の実施の形態によって本発明が限定されるものではない。
(実施の形態1)
図1は、本発明の実施の形態1の洗濯機のモータ制御装置の一部ブロック化した回路図である。図1に示すように、交流電源1(電源)は、整流回路2に交流電圧を加え、整流回路2は整流器20とコンデンサ21により直流電圧に変換し、直流電圧をインバータ回路3に加える。
インバータ回路3は、6個のパワースイッチング半導体と逆並列ダイオードよりなる3相フルブリッジインバータ回路により構成し、通常、絶縁ゲートバイポーラトランジスタ(IGBT)と逆並列ダイオードおよびその駆動回路と保護回路を内蔵したインテリジェントパワーモジュール(以下、IPMという)で構成している。パワースイッチング半導体は、IGBTの他、金属酸化膜半導体電界効果トランジスタ(MOSFET)などで構成しても良い。インバータ回路3の詳しい構成は、よく知られたものと同様であるので、説明は省略する。
インバータ回路3の出力端子にモータ4を接続し、撹拌翼(図示せず)または洗濯兼脱水槽(図示せず)等(以下、洗濯槽等という)を駆動する。モータ4は、ブラシレスモータにより構成し、回転子(ロータ)を構成する永久磁石と固定子との相対位置(回転子位置)をロータ位置検出手段4aにより検出する。ロータ位置検出手段4aは、通常、3個のホールICにより構成し、電気角60度ごとのロータ位置の出力基準信号H1〜H3を検出する。
電流検出手段5は、モータ4のモータ電流Iu、Iv、Iwを検出するもので、通常はシャント抵抗5a、5bを用いる。また、直流電流を含む低周波数から測定可能な直流電流トランスや、交流電流トランスでも検出可能である。また、3相モータの場合、2相の電流(例えばIu、Iv)を求め、キルヒホッフの法則(Iu+Iv+Iw=0)より残りの1相の電流(Iw)を求める方法が一般的である。
なお、ロータ位置検出手段4aは、出力基準信号H1〜H3を元にロータの位置を検出しているが、ホールICを用いず、モータの相電流と3相モータ駆動制御電圧からロータ位置を演算により検出する方法でもよい(図示せず)。
制御手段6は、ロータ位置検出手段4aと電流検出手段5によりインバータ回路3をベクトル制御してモータ4の回転を制御するものである。
制御手段6は、マイクロコンピュータと、マイクロコンピュータに内蔵したインバータ制御タイマー(PWMタイマー)、高速A/D変換回路、メモリ回路(ROM、RAM)等より構成し、ロータ位置検出手段4aの出力信号より電気角を検知する電気角検知手段60と、電流検出手段5の出力信号と電気角検知手段60の信号より磁束に対応した電流成分Id(d軸電流)とトルクに対応した電流成分(トルク電流)Iq(q軸電流)に分解する3相/2相dq変換手段61と、静止座標系から回転座標系に変換、あるいは逆変換するのに必要な正弦波データ(sin、cosデータ)を格納する記憶手段62と、磁束に対応した電圧成分Vdとトルクに対応した電圧成分Vqを3相モータ駆動制御電圧vu、vv、vwに変換する2相/3相dq逆変換手段63と、3相モータ駆動制御電圧vu、vv、vwに応じてインバータ回路3のIGBTのスイッチングを制御するPWM制御手段64などを備えている。
さらに、工程に応じてモータ4の起動、停止、回転数、および制動等を制御する設定変更手段65と、ロータ位置検出手段4aの出力信号より回転数を検知する回転数検知手段
66と、回転数検知手段66によって検知された検知回転数nと設定変更手段65によって設定された設定回転数Nsを参照してトルクに対応した電流成分であるトルク電流Iqのq軸電流指令値Iqsを決定するトルク電流制御手段67と、設定変更手段65からのd軸(direct−axis)電流指令値Ids、トルク電流制御手段67からのq軸(quadrature−axis)電流指令値Iqsと、3相/2相dq変換手段61より演算したIdとIqをそれぞれ比較し、モータ電流を制御するための磁束に対応した電圧成分Vdとトルクに対応した電圧成分Vqを演算するモータ電流制御手段68と、2相/3相dq逆変換手段63からの入力あるいは初期電圧制御手段69aからの入力を選択的に切り替えてPWM制御手段64に3相モータ駆動制御電圧vu、vv、vwを出力する電圧制御切替手段69を備えている。
上記のような回路構成の洗濯機のモータ制御装置においては、トルクに対応したq軸電流Iqがq軸電流指令値Iqsとなるようにフィードバック制御することにより定トルク制御が可能となる。しかし、回転数が上昇すると、モータ誘起電圧が上昇してトルク電流Iqが増加しなくなるので、回転数に応じてd軸電流Idを増加させる、いわゆる弱め磁束制御によりq軸電流Iqも増加させることができ、トルクを増加させることができる。
図2は、モータ制御装置動作時の各部の波形関係を示し、ロータ位置検出手段4aの出力基準信号H1、H2、H3のエッジ信号は、60度ごとに変化して、各部状態信号より360度を6分割した角度が判別できる。出力基準信号H1がローからハイとなるハイエッジを基準電気角0度として示し、モータ4のU相巻線誘起電圧Ecは、出力基準信号H1から30度遅れた波形となる。U相モータ電流IuとU相巻線誘起電圧Ecの位相を同じにすると最大効率が得られる。U相巻線誘起電圧Ecがq軸と同等軸となり、d軸は90度遅れている。q軸電流Iqは、モータ誘起電圧位相と同相なので、トルク電流と呼ばれる。
図2において、U相モータ電流Iuは、U相巻線誘起電圧Ecよりわずかに進んで、モータ印加電圧vuは、U相巻線誘起電圧Ecより30度進んだ波形を示す。vcは、PWM制御手段64内で生成される鋸歯状(または三角波)波形のキャリヤ信号で、vuは、正弦波状のU相制御電圧で、キャリヤ信号vcとU相制御電圧vuを比較したPWM信号UをPWM制御手段64内で発生させ、インバータ回路3のU相上アームトランジスタの制御信号として加える。ckは、キャリヤ信号vcの同期信号で、キャリヤカウンタがカウントアップしてオーバーフローしたときの割込信号である。
モータ4のロータ磁石軸とステータの磁束軸が一致した電気角をd軸として基準電気角0度として静止座標系から回転座標系への座標変換、すなわち、dq変換を行うので、電気角検知手段60は、ロータ位置検出手段4aの出力基準信号H1、H2、H3より30度、90度、150度等の電気角を検知し、60度毎以外は推定により電気角θを求める。
一般的に、磁束に対応した電流成分をd軸電流Idと呼び、永久磁石の磁束と界磁の磁束が同軸上で永久磁石が界磁に吸引された状態なので、トルクは零となる。また、d軸から電気角で90度の角度で誘起電圧位相と同じ位相となり、トルク最大となる軸をq軸と呼び、トルクに対応した電流成分なので、q軸電流Iqと呼ぶ。さらに、d軸電流Idを負の方向に増加させると、d軸上の界磁磁束を弱めることと等価となるので、弱め界磁制御、あるいは弱め磁束制御(または磁束弱め制御)と呼ばれる。また、d軸電流Idとq軸電流Iqに分解してそれぞれ独立に制御するので、ベクトル制御と呼ばれる。
3相/2相dq変換手段61は、モータ電流Iu、Iv、Iwを数式1によりd軸電流Idとq軸電流Iqに変換するもので、電気角θに対応して検出したモータ電流瞬時値よ
りId、Iqを演算する。
記憶手段62には、sinθとcosθのデータを記憶しているので、電気角データに対応したデータを呼び出して積和演算を行うことにより、d軸電流Idとq軸電流Iqに分解できる。電気角θの検知とモータ電流瞬時値の検出は、キャリヤ信号に同期して行うもので、後述するフローチャートに従い、詳細な説明を行う。
回転数検知手段66は、ロータ位置検出手段4aの出力基準信号H3よりモータ回転数を検知し、回転数信号を設定変更手段65、トルク電流制御手段67の回転数比較手段67aに出力する。設定変更手段65は、モータ4の回転数の設定、回転数に応じたd軸電流指令値Idsの設定、トルク電流制御手段67への設定回転数Nsの設定を行なうとともに、モータ電流制御手段68にd軸電流指令値Idsを加える。なお、出力基準信号は、H1、H2をそれぞれ使用しても良いし、H1〜H3の信号から求めた回転数の平均値を用いてもよい(図示せず)。
トルク電流制御手段67は、検知回転数nと設定回転数Nsを比較する回転数比較手段67aと、検知回転数nと設定回転数Nsとの誤差信号Δnと、回転数の変化率(加速度)に応じてq軸電流指令値Iqsを制御するトルク電流設定手段67bと、q軸電流指令値Iqsの値に対して、現在の検知回転数nとの関数より導出される最大Iqsの値と比較し、制限を掛けるトルク電流リミッタ部67cと、初期Iqs設定手段67dと、Iqs記憶手段67eより構成される。
トルク電流設定手段67bは、誤差信号Δnに応じてq軸電流指令値IqsをPI制御する、いわゆる、回転数制御電流マイナーループ制御を行う。PI制御の際のゲインなどの設定切り換えについては、設定変更手段65からの指示を受けるもので、後述するフローチャートに従い説明を行う。
初期Iqs設定手段67dは、回転数の検知精度が得られない起動直後において、回転数によらない初期ベクトル制御を行なうためにq軸電流初期値をトルク電流リミッタ部67cに与えるもので、設定変更手段65からのq軸電流初期値Iq0を基に初期ベクトル制御が行なわれる。
また、Iqs記憶手段67eは、モータ駆動中のq軸電流指令値Iqsの値を記憶しており、任意の区間におけるq軸電流指令値Iqsの最大値などをトルク電流リミッタ部67cに出力する。
モータ電流制御手段68は、3相/2相dq変換手段61の出力信号Iq、Idと指令値Iqs、Idsをそれぞれ比較して制御電圧信号Vq、Vdを出力するもので、q軸電流比較手段68a、q軸電圧設定手段68b、d軸電流比較手段68c、d軸電圧設定手段68dより構成し、q軸電流Iqとd軸電流Idをそれぞれ制御する電圧信号Vq、Vdを生成する。
d軸電流指令値Idsは、設定変更手段65からモータ電流制御手段68に信号が加えられるもので、埋め込み磁石モータの場合には、回転数に応じてd軸電流指令値Idsを増加させて弱め界磁制御を行う。表面磁石モータの場合には、通常d軸電流指令値Idsは、零に設定し、高回転数駆動の場合にd軸電流指令値Idsを増加させる。
2相/3相dq逆変換手段63は、電圧信号Vq、Vdより3相モータ駆動制御電圧vu、vv、vwを数式2によって演算するもので、キャリヤ信号に同期して、電気角検知手段60により検知した電気角θに対応した正弦波状の信号を、電圧制御切替手段69を介してPWM制御手段64に加える。記憶手段62に記憶したsinθ、cosθのデータを呼び出して行う積和演算の方法は、3相/2相dq変換手段61の演算とほぼ同じである。
上記構成の洗濯機のモータ制御装置について、図3から図8を参照しながら動作、作用を説明する。
図3は、本実施の形態における洗い工程のモータ制御の切り替わりを示すフローチャートで、ステップ100により洗濯機のモータ4の速度制御を行うためのモータ制御を開始する。
起動時には、回転数の検知精度が得られないため、制御の第一段階では、ステップ101にて電圧制御を実施してモータ4の起動を制御する。この電圧制御によるモータ4の起動は、電圧制御切替手段69によって初期電圧制御手段69aからの入力に選択的に切り替えて得られる情報に基づいて出力される3相モータ駆動制御電圧vu、vv、vwによって、PWM制御手段64がインバータ回路3をPWM制御することで行なわれる。
モータ4の起動時には、電流検知を高精度に実施できないため、ベクトル制御が行えないが、モータ4の回転を検知してモータ4が起動したことを確認後、ステップ102にて
回転数によらない初期のベクトル制御を実施する。この初期ベクトル制御においては、トルク電流リミッタ部67cは、初期Iqs設定手段67dの情報を初期のq軸電流指令値Iqsとして出力する。
起動直後は、回転数を高精度に検知することが出来ないため、ステップ102では、トルク電流の設定値であるq軸電流指令値Iqsは、回転数によらない制御とし、さらに、モータ4が回転したことを電気角検知手段60による回転角度の検知により確認後、ステップ103にてモータ4の回転数をPI制御する回転数制御電流マイナーループ制御を実施する。q軸電流指令値Iqsのフィードバック制御として行われる、回転数PI制御においては、トルク電流リミッタ部67cは、トルク電流設定手段67bからの情報をq軸電流指令値Iqsとして出力する。
図4に基づいて、図3のステップ101の電圧制御によるモータ4の起動を説明する。電圧制御の時点では、モータ4が起動していない状態で電流が流れていない。そのため、電流検知の精度が得られず、ベクトル制御による制御が実施できない。
まず、ステップ200にて電圧制御を開始した後、ステップ201にて電圧制御のための初期設定を実施する。初期設定には、電圧制御時の電圧を規定する変調度が少なくとも含まれる。
ステップ202にて、前記変調度を電圧制御開始からの時間に応じて大きくしていき、ステップ203にて、前記変調度に応じた電圧をモータ4に印加することで、時間とともに徐徐にモータ印加電圧を大きくすることで、モータ4のソフトスタートを行う。
ステップ204にて、電圧制御開始からのモータ4の回転角度がモータ4が起動したと確認できる角度A°まで回転した場合、電圧制御を終了し、次の初期ベクトル制御(図3に示すステップ102)を開始し、角度A°よりも回転していなかった場合は、ステップ202へ戻って変調度を上げてモータ4を駆動する処理を繰り返す。角度A°としては、ロータ位置検出手段4aからの信号が電気角60度ごとであるので、その3倍の電気角180度程度に設定すれば良い。
この電圧制御により、停止状態からの動作時の電流検知が行えない場合でも、モータ4の起動を行うことができ、角度A°を小さく設定することで、モータ4起動の後、即座に次のベクトル制御による制御を開始することができる。
なお、次の初期ベクトル制御(図3に示すステップ102)においては、上記電圧制御中のパラメータを引き継ぐため、移行の瞬間のq軸電流指令値Iqsを初期Iqsとして制御する。このとき、電圧制御切替手段69は、2相/3相dq逆変換手段63からの情報によってPWM制御を行うよう切り替える。また、トルク電流リミッタ部67cは、初期Iqs設定手段67dの情報を初期Iqsとして出力する。
次に、図5によってq軸電流指令値の生成およびブレーキ運転時の速度制御の動作フローについて説明する。
ステップ301において、トルク電流制御手段67の回転数比較手段67aによって設定変更手段65から出力される設定回転数Nsと回転数検知手段66から出力される検知回転数nとを比較して誤差信号Δnを算出する。
ステップ302では、Δnに応じてPI制御することでq軸電流指令値Iqsを生成する。生成されたq軸電流指令値Iqsは、Iqs記憶手段67eに記憶される。
ステップ303において、ブレーキ運転時か否かを判定し、ブレーキ運転時であれば、ステップ304へ、ブレーキ運転時以外は、ステップ306へ進む。
ステップ303の判定において、ブレーキ運転のときは、ブレーキ運転開始からモータ4が所定回転数(本実施の形態では50r/min)まで減速するまでの第一区間と前記所定回転数まで減速した以降の第二区間とを設け、前記第二区間のq軸電流指令値(トルク電流成分指令値)の絶対値が前記第一区間のq軸電流指令値の絶対値よりも小さくなるよう制御する。
すなわち、ステップ304にてモータ4の実回転数nが50r/min未満まで減速しているかを判定し、50r/min以上である場合(前記第一区間において)は、ステップ302で作成されたq軸電流指令値Iqsをそのまま使用するものとし、次ステップのモータ制御へと引き渡す。
そして、50r/min未満である場合(前記第二区間において)は、ステップ305で、トルク電流リミッタ部67cによってq軸電流指令値Iqsにリミッタをかける。すなわち、ステップ302で作成されIqs記憶手段67eに記憶されたブレーキ運転開始までのq軸電流指令値Iqsの絶対値と、ステップ308で算出したq軸電流指令最大値Iqmaxに1未満の定数K(本実施の形態では3/4)を掛けた値の絶対値を比較し、前者の方が大きければ、q軸電流指令最大値Iqmaxに−1を掛けて負数にした値を、新たなq軸電流指令値Iqsとして次ステップのモータ制御へと引き渡す。
このとき、q軸電流指令値Iqsのリミッタをかけ始める回転数や定数Kの値は、モータ4に接続される負荷のイナーシャやブレーキ運転時間への要求などに応じて任意に設定することができ、本実施の形態に限定されるものではない。
例えば、q軸電流指令値Iqsにリミッタをかけ始める回転数として、モータ4の駆動開始からブレーキ運転開始までのq軸電流指令値Iqs(トルク電流成分指令値)の最大値を算出し、その最大値に応じて前記第一区間と第二区間を区分する所定回転数を設定してもよい。この構成によれば、ブレーキの制動力を弱めるタイミングをモータ負荷に応じて設定することが可能となり、モータ4の逆回転をより確実に防ぎつつ、制動力を弱めることによるブレーキ運転時間の延長作用をさらに抑えることができる。
また、回転数が50〜30r/minの区間は定数K1、回転数が30〜0r/minの区間は定数K2とするなど、複数の区間を設定して、それぞれに異なる定数を使用しても良い。
また、ブレーキ運転時の速度制御は、前記第二区間に入る直前のq軸電流指令値Iqs(トルク電流成分指令値)にある1未満の定数を乗じた値を、第二区間のq軸電流指令値Iqsの絶対値の上限として制御してもよい。この構成によれば、ブレーキ運転中のモータ4の制御状況に関わらず、第二区間のq軸電流指令値Iqs(トルク電流成分指令値)を第一区間のq軸電流指令値Iqsよりも確実に小さくすることができる。
また、ブレーキ運転時の速度制御は、前記第一区間におけるq軸電流指令値Iqs(トルク電流成分指令値)の最小値にある1未満の定数を乗じた値を、第二区間のq軸電流指令値Iqsの絶対値の上限として制御してもよい。この構成によれば、ブレーキ運転中のモータ4の制御状況に関わらず、第二区間のq軸電流指令値Iqs(トルク電流成分指令値)を第一区間のq軸電流指令値Iqsよりも確実に小さくすることができる。
ステップ303の判定において、ブレーキ運転以外のときは、まずステップ306において、回転数指令のダウンがあるか否かを判定し、回転数指令のダウンがない場合は、ステップ308にてq軸電流指令最大値Iqmaxを更新し、Iqs記憶手段67eに記憶する。
回転数指令のダウンがある場合、すなわち、ブレーキ運転開始前にモータ4の回転数指令値が変更前よりも低い回転数に変更された場合は、まず、ステップ307において、これまで算出してきたq軸電流指令値の最大値Iqmaxをクリアし、続いてステップ308で、q軸電流指令最大値Iqmaxを更新し、Iqs記憶手段67eに記憶する。
これにより、以降は回転数指令が変更になったタイミングからのq軸電流指令値の最大値が算出され、ブレーキ運転時には、トルク電流リミッタ部67cがIqs記憶手段67eに記憶されたq軸電流指令最大値Iqmaxを読み出し、q軸電流指令値の最大値にある1未満の定数を乗じた値を、前記第二区間のq軸電流指令値Iqs(トルク電流成分指令値)の絶対値の上限としてモータ4の制動が制御されることになる。
この構成により、モータ回転数の変動に伴いq軸電流指令値Iqs(トルク電流成分指令値)が変動する場合においても、ブレーキ運転開始時の回転数に応じた適切なトルク電流成分を流すことができるため、モータ4の逆回転をより確実に防ぐことができる。
電流指令値に応じて行われるモータ駆動サブルーチンの制御に関しては、図6〜図8を用いて説明する。
図6において、ステップ600によりモータ駆動サブルーチンが開始すると、次に、ステップ601に進んで、キャリヤ信号割込の有無を判定する。キャリヤ信号割込とは、PWM制御手段64のキャリヤカウンタがオーバーフローすると発生する割込信号ck(図2参照)により実行するもので、キャリヤ信号割込があった場合は、ステップ602に進んで、キャリヤ信号割込サブルーチンを実行する。
図7は、キャリヤ信号割込サブルーチンの詳細フローチャートを示し、ステップ700によりキャリヤ信号割込サブルーチンを開始し、ステップ701にて割込信号ckをカウントする。
次に、ステップ702に進んで、電気角検知手段60によりロータ位置の電気角θを演算する。ロータ位置の電気角θは、別途求めたキャリヤ信号1周期当たりの電気角Δθとキャリヤカウンタのカウント値kを掛けた値k・Δθを、ロータ位置検出手段4aより検知できる60度ごとの電気角φを加えることで推定演算する。
モータ4を8極、キャリヤ周波数を15.6kHz、回転数を900r/minとすると、モータ駆動周波数は60Hzとなり、電気角60度内のキャリヤカウンタのカウント値kは約43となる。よって、Δθは約1.4度となる。モータ回転数が低い程、電気角60度内のカウント値kは高くなり、演算上の電気角検知分解能は向上するので、回転数が低く精度が要求される場合でも問題はないことがわかる。
次に、モータ電流Iu、Ivを検出する。ステップ703に進んで1回目のモータ電流検出を行ない、Iu1、Iv1を得る。電流検出1回では、ノイズが含まれる可能性があるので、ステップ704に進んで再度検出し、Iu2、Iv2を得る。ステップ705にて、これら2回の検出値の平均値を求めて、ノイズを除去してモータ電流Iu、Ivを算出し、Iw=−(Iu+Iv)よりモータ電流Iwを演算する。
ここでは、ノイズ除去の為に単純な二回平均値にてモータ電流Iu、Ivとしたが、この方式に限定されるものではない。たとえば、前回のキャリヤ信号割込の際に検出した電流と今回のキャリヤ信号割込の際に検出した電流との変化分を算出し、変化分を一定比率で低減して前回検出した電流に足し合わせるようなローパスフィルター機能を構成してノイズ除去を実施しても良い。
次に、ステップ706に進んで、3相/2相dq変換手段61によって電気角θとモータ電流Iu、Iv、Iwより、前記数式1に示した演算を行い、3相/2相dq変換を行い、d軸電流Id、q軸電流Iqを求める。次に、ステップ707に進んで、求められた電流値Id、Iqをメモリし、別途ベクトル制御データとして用いる。
次に、ステップ708に進んで、d軸制御電圧Vd、q軸制御電圧Vqを呼び出し、ステップ709に進んで、前記数式2に従い、2相/3相dq逆変換手段63によって2相/3相dq逆変換を行い、3相制御電圧vu、vv、vwを求める。この逆変換は、ステップ706と同じように記憶手段62の電気角θに対応したsinθ、cosθデータを用い、積和演算を高速で行う。
次に、ステップ710に進んで、PWM制御手段64によって3相制御電圧vu、vv、vwに対応したPWM制御を行い、ステップ711に進んで、サブルーチンを終了してリターンする。
PWM制御は、図2でも説明したように、U相、V相、W相各相に対応して、鋸歯状波、または、三角波のキャリヤ信号と制御電圧vu、vv、vwを比較してインバータ回路3のIGBTオンオフ制御信号を発生させ、モータ4を正弦波駆動するもので、上アームトランジスタと下アームトランジスタの信号は逆転された波形で、上アームトランジスタの導通比を増加させると、出力電圧は正電圧が増加し、下アームトランジスタの導通比を増加させると、出力電圧は負電圧が増加する。
導通比を50%にすると、出力電圧は零となる。電気角θに対応して制御電圧を正弦波状に変化させると、正弦波状の電流が流れる。正弦波駆動の場合、トランジスタの導通比を最大値100%にしたとき、出力電圧は最大となり、変調度Amは100%で、導通比の最大値を50%にしたとき、出力電圧は最低となり、変調度Amは0%と呼ぶ。
モータ電流をベクトル制御するための、3相/2相dq変換と2相/3相dq逆変換をキャリヤ信号毎に高速で実行するので、高速の電流制御が可能となり、さらにキャリヤ信号毎にベクトル制御することにより、撹拌翼や洗濯兼脱水槽を負荷変動に対応して適切なトルク駆動することができる。
図6に戻って、キャリヤ信号割込サブルーチン(ステップ602)を実行した後、ステップ603に進み、位置信号割込の有無を判定する。ロータ位置検出手段4aの出力基準信号H1、H2、H3のいずれかの信号が変化すると、割込信号が発生し、ステップ604に進んで、図8に示す位置信号割込サブルーチンを実行する。図2に示すように、電気角60度ごとに割込信号が発生する。
ここで図8により、位置信号割込サブルーチンについて説明する。ステップ800により、位置信号割込サブルーチンを開始し、ステップ801に進んで、出力基準信号H1、H2、H3を電気角検知手段60に入力して位置検出を行い、次に、ステップ802に進んで、位置信号よりロータ電気角θcを検出する。次に、ステップ803に進んで、キャリヤ信号割込サブルーチンでカウントしているカウント値kをkcにメモリし、ステップ804に進んで、カウント値kをクリヤし、ステップ805に進み、電気角60度間のキ
ャリヤカウンタのカウント値kcより1キャリヤの電気角Δθを演算する。
次に、ステップ806に進んで、回転数検知手段66によって、出力基準信号H3による割込信号かどうかを判定し、基準位置信号割込ならば、ステップ807に進んで、回転周期測定タイマーのカウント値Tを周期Toとしてメモリし、ステップ808に進んで、カウント値Tをクリヤし、ステップ809に進んでモータ回転数nを演算する。次に、ステップ810に進んで、回転周期測定タイマーのカウントを開始させ、ステップ811に進んで、サブルーチンを終了してリターンする。
回転周期測定タイマーの検知分解能を8bit精度にすると、クロックは64μsとなり、キャリヤ信号をクロックに使用できるが、回転制御性能を向上するためには、回転周期検知分解能を向上させる必要があり、クロックの周期は1〜10μsに設定する必要がある。この場合には、マイクロコンピュータのシステムクロックを分周してクロックに使用する。
以上に説明した回転数検知方法は、出力基準信号H3の周期から求める方法を示したが、出力基準信号H1もしくはH2を使用してもよく、また、出力基準信号H1、H2、H3をすべて使用してもよい。また、キャリヤ信号を三角波にすると、キャリヤカウンタタイマーの周期は鋸歯状波の2倍となるので、三角波のオーバーフロー信号をクロックにすると、分解能が向上するので、三角波タイマーのオーバーフロー信号をクロックにしてもよい。
以上のような構成の動作フローを備えた洗濯機のモータ制御装置について、以下、ブレーキ運転時の動作、作用を説明する。
まず、ブレーキ運転においては、速度制御によりq軸電流は、負の方向に大きな指令を与えられる。しかし、特にモータ4に掛かる負荷が小さい場合には、制動力が強すぎることが原因で、モータ4が逆回転を始めてしまうことがある。そこで、モータ回転数nが所定の回転数(本実施の形態では50r/min)よりも下がったところで、q軸電流指令値Iqsにリミッタを掛けることで(図5のステップ304〜305参照)、モータ4が停止する直前のみ制動力を弱めることができ、ブレーキ時間を大きく延ばすことなく、モータ4の逆回転を防止することができる。
このとき、リミッタの値をモータ駆動時のq軸電流指令値Iqsに応じた値とすることで、モータ負荷が大きくなるに従ってブレーキ運転時のq軸電流指令値Iqsがより負の方向に大きくなるため、低負荷時の逆回転をさらに確実に防止すると共に、高負荷時のブレーキ時間をさらに短縮することができる。
本実施の形態においては、モータ回転数指令が変更前より低く変更された場合は、リミッタ値となるq軸電流指令最大値Iqmaxを一度クリアする構成としている。モータ回転数指令が第一回転数N1から第二回転数N2に変更された場合(N1>N2)、従来の構成では、第二回転数N2におけるブレーキ運転時においても第一回転数N1で取得された大きなq軸電流設定最大値Iqmaxがリミッタとして用いられることになるため、制動力が掛かりすぎて、逆回転が発生する可能性がある。本発明の構成によれば、モータ回転数指令が変更された場合にも、変更後の回転数に応じた適切なリミッタを掛けることが可能となり、モータ4の逆回転をより確実に防ぐことができる。
なお、本実施の形態とは別に、リミッタとしてq軸電流指令値Iqsと比較する電流値は、ブレーキ開始から所定回転数(本実施の形態では50r/min)に至るまでのq軸電流指令値Iqsの最小値、もしくは所定回転数に至る直前のq軸電流指令値Iqsに定
数を掛けて設定しても良い。これにより、より安易かつ確実にブレーキ終了直前の制動力を弱めることができる。