(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0012】
以下、図面を参照して本発明の実施の形態について説明する。
図1は、モータ駆動装置1の構成を示す図である。
図1に示したモータ駆動装置1は、ブラシレスモータ11と、ホールセンサ12と、制御部13と、ゲートドライバ14と、インバータ15と、直流電源16とを備える。
【0013】
ブラシレスモータ11は、3相のモータ構造を有するモータである。ブラシレスモータ11は、3相の電機子巻線であるU相ステータコイル、V相ステータコイル及びW相ステータコイルが巻かれたステータと、複数の磁極を有する永久磁石ロータとを備えている。
また、ブラシレスモータ11には、永久磁石ロータ近傍に、ホールセンサ12が取り付けられている。ホールセンサ12は、ブラシレスモータの動作時における磁束変化の信号を検出する3個のU相ホールセンサ、V相ホールセンサ、W相ホールセンサから構成される。U相ホールセンサは、永久磁石ロータの磁極の切り替わりを検出し、検出した結果をハイ(H)又はロー(L)の2値信号であるU相ホールセンサ信号を制御部13に出力する。また、V相ホールセンサは、永久磁石ロータの磁極の切り替わりを検出し、検出した結果をH又はLの2値信号であるV相ホールセンサ信号を制御部13に出力する。また、W相ホールセンサは、永久磁石ロータの磁極の切り替わりを検出し、検出した結果をH又はLの2値信号であるW相ホールセンサ信号を制御部13に出力する。
【0014】
制御部13は、U相ホールセンサ信号、V相ホールセンサ信号、W相ホールセンサ信号に基づいて、ブラシレスモータ11のロータ回転数を求め、ロータ回転数の変化に応じて、複数の所定の電気角を算出し、前記複数の所定の電気角から一つの所定の電気角を選択し、選択された所定の電気角でブラシレスモータ11の各相への通電タイミングを切り替えるPWM信号をゲートドライバ14に出力させる。
インバータ15は、PWM信号に基づいて、ブラシレスモータ11のステータコイルへの電圧供給を、正弦波状に変化させて供給する。
直流電源16は、インバータ15がブラシレスモータ11のステータコイルへの電圧供給をするための、直流電圧を供給する。
【0015】
ここで、通電タイミングについて説明する。従来において、例えば6極9スロット3相ブラシレスモータの場合、180度正弦波駆動を行う際、通電タイミングTが固定なので、ここから電気角θを算出しなければならなかった。通電タイミングTは、T=電気角60度回転時間÷60×電気角θという式で求まる。ここで、電気角60度回転時間とは、例えばU相ホールセンサ信号がLからHに変わった時刻とW相ホールセンサがHからLに変わった時刻との間の時間である。例えば、電気角60度回転時間が1.11msの場合、ロータの回転数が3000rpmと求まる。従って、上記式に電気角60度回転時間=1.11ms、T=0.1msを代入すると、ロータの回転数が3000rpmのときの電気角θは、5.4度となる。また、電気角60度回転時間が3.33msの場合、ロータの回転数が1000rpmと求まる。従って、上記式に電気角60度回転時間=3.33ms、T=0.1msを代入すると、ロータの回転数が1000rpmのときの電気角θは、1.8度となる。このように、通電タイミングTを固定すると、この通電タイミングTからロータの回転数に応じて電気角θを計算しなければなかった。このため、従来においては、通電タイミングTからロータ位置(電気角θ)を推定する計算が複雑になり、ロータ位置を推定する計算における処理負荷が増加してしまうという問題があった。
また、仮に分解能1度でsin、cosのマップデータを保持する場合、最低でも0〜359度の360個のデータが必要となるうえ、0.4度、0.2度の計算誤差が生じる。また、例えば分解能0.1度にしようとすると、10倍の3600個のデータが必要となってしまう。
【0016】
そこで、本実施形態では、通電タイミングTを、従来のような固定のタイミングではなく、電気角60度回転時間を所定の数で除算して求まる複数の所定の電気角を算出し、複数の所定の電気角から一つの所定の電気角を選択し、選択された所定の電気角として変化させることを特徴とする。すなわち、電気角θを所定の電気角(第1の所定の電気角及び第2の所定の電気角)に固定すれば、通電タイミングTをロータの回転数に応じて決めることができる。
例えば、電気角60度回転時間が3.33msの場合、ホールセンサ信号からロータの回転数が1000rpmと求まる。このとき、通電タイミングを0.555msとするには、電気角60度回転時間を第1の所定の数として6で割って第1の所定の電気角(θ=10度)とすればよい。また、電気角60度回転時間が1.11msの場合、ホールセンサ信号からロータの回転数が3000rpmと求まる。このとき、通電タイミングを0.222msとするには、電気角60度回転時間を第2の所定の数5で割って第2の所定の電気角(θ=12度)とすればよい。
このように、本実施形態では、通電タイミングTを、電気角60度回転時間を所定の数で除算して求まる複数の所定の電気角を算出し、複数の所定の電気角から一つの所定の電気角を選択し、選択された所定の電気角として変化させることを特徴とする。
【0017】
ここで、所定の電気角が複数あるのは、ロータの高回転時の所定の電気角(第2の所定の電気角)を低回転時の所定の電気角(第1の所定の電気角)に比べて大きくし、高回転時の処理負荷の増加を抑制するためである。
このため、制御部13は、U相ホールセンサ信号、V相ホールセンサ信号、W相ホールセンサ信号に基づいて、ブラシレスモータ11のロータ回転数を求め、ロータ回転数の変化に応じて、複数の所定の電気角を算出し、複数の所定の電気角から一つの所定の電気角を選択し、選択された所定の電気角でブラシレスモータ11の各相への通電タイミングを切り替えるPWM信号をゲートドライバ14に出力させる。制御部13は、複数の所定の電気角のうちのいずれの所定の電気角を選択するかは、算出したロータ回転数が、予め設定されたロータ回転数(例えば3000rpm)未満であるか否かを判定することによって決定する。すなわち、制御部13は、ロータ回転数が予め設定されたロータ回転数未満である場合、所定の電気角のうち第1の所定の電気角を、電気角60度回転時間を第1の所定の数で除算することにより算出し、電気角60度回転時間から第1の所定の電気角が経過する毎にPWM信号を変化させる。一方、制御部13は、ロータ回転数が予め設定されたロータ回転数以上である場合、所定の電気角のうち第2の所定の電気角を、電気角60度回転時間を第2の所定の数で除算することにより算出し、電気角60度回転時間から第2の所定の電気角が経過する毎にPWM信号を変化させる。
そのため、複数の所定の電気角が、第1の所定の電気角と第2の所定の電気角との2つあるものとしている。また、ホールセンサのエッジ間隔時間である電気角60度回転時間を除算する所定の数が、第1の所定の数と第2の所定の数との2つあり、第2の所定の数は、第1の所定の数より小さい値であるものとしている。なお、本実施形態においては、複数の所定の電気角として、2つの所定の電気角を例に挙げて説明するが、所定の電気角は3つ以上あっても良い。
【0018】
以下、まず制御部13が所定の電気角(第1の所定の電気角及び第2の所定の電気角)をどのように決定し、電気角60度回転時間から所定の電気角が経過する毎にPWM信号を変化させるかについて、
図2を用いて説明する。
図2は、モータ駆動装置1の動作におけるフローチャートである。
制御部13は、ホールセンサ信号(U相ホールセンサ信号、V相ホールセンサ信号、W相ホールセンサ信号)のレベルを判定する(ステップST1)。
制御部13は、ホールセンサ信号のレベルから、磁極位置=0、磁極位置=60、磁極位置=120、磁極位置=180、磁極位置=240、磁極位置=300を確定する。
磁極位置=0とは、電気角θが0度〜60度の範囲である。
制御部13は、U相ホールセンサ信号、V相ホールセンサ信号、W相ホールセンサ信号がそれぞれH、L、Hのとき、磁極位置=0と判定する。
磁極位置=60とは、電気角θが60度〜120度の範囲である。
制御部13は、U相ホールセンサ信号、V相ホールセンサ信号、W相ホールセンサ信号がそれぞれH、L、Lのとき磁極位置=60と判定する。
磁極位置=120とは、電気角θが120度〜180度の範囲である。
制御部13は、U相ホールセンサ信号、V相ホールセンサ信号、W相ホールセンサ信号がそれぞれH、H、Lのとき磁極位置=120と判定する。
磁極位置=180とは、電気角θが180度〜240度の範囲である。
制御部13は、U相ホールセンサ信号、V相ホールセンサ信号、W相ホールセンサ信号がそれぞれL、H、Lのとき磁極位置=180と判定する。
磁極位置=240とは、電気角θが240度〜300度の範囲である。
制御部13は、U相ホールセンサ信号、V相ホールセンサ信号、W相ホールセンサ信号がそれぞれL、H、Hのとき磁極位置=240と判定する。
磁極位置=300とは、電気角θが300度〜360度の範囲である。
制御部13は、U相ホールセンサ信号、V相ホールセンサ信号、W相ホールセンサ信号がそれぞれL、L、Hのとき磁極位置=300と判定する。
【0019】
制御部13は、センサエッジ間隔時間を取得する(ステップST2)。
制御部13は、磁極位置=0の場合、センサエッジ間隔時間(電気角60度回転時間)を、ホールセンサ信号(U相ホールセンサ信号、V相ホールセンサ信号、W相ホールセンサ信号)から取得する。
制御部13は、U相ホールセンサ信号がLからHに変わった時刻とW相ホールセンサがHからLに変わった時刻との間の時間から、磁極位置=0におけるセンサエッジ間隔時間を取得する。
制御部13は、W相ホールセンサ信号がHからLに変わった時刻とV相ホールセンサがLからHに変わった時刻との間の時間から、磁極位置=60におけるセンサエッジ間隔時間を取得する。
制御部13は、V相ホールセンサ信号がLからHに変わった時刻とU相ホールセンサがHからLに変わった時刻との間の時間から、磁極位置=120におけるセンサエッジ間隔時間を取得する。
制御部13は、U相ホールセンサ信号がHからLに変わった時刻とW相ホールセンサがLからHに変わった時刻との間の時間から、磁極位置=180におけるセンサエッジ間隔時間を取得する。
制御部13は、W相ホールセンサ信号がLからHに変わった時刻とV相ホールセンサがHからLに変わった時刻との間の時間から、磁極位置=240におけるセンサエッジ間隔時間を取得する。
制御部13は、V相ホールセンサ信号がHからLに変わった時刻とU相ホールセンサがLからHに変わった時刻との間の時間から、磁極位置=300におけるセンサエッジ間隔時間を取得する。
【0020】
制御部13は、センサエッジ間隔時間を元に電気角X度回転時間を算出する(ステップST3)。ここで、制御部13は、電気角X度回転時間(所定の電気角)を算出する際、センサエッジ間隔時間(電気角60度回転時間)を、例えば、60の約数(所定の数)で除算することにより電気角X度回転時間を算出する。
制御部13は、ホールセンサ信号間隔(電気角X度回転時間)を直前の電気角60度回転時間から推定して補正する。なお、ホールセンサ12の取付ばらつきを補正するには、電気角X度回転時間の移動平均結果から推定して補正するのが好ましい。
【0021】
制御部13は、通電切り替えタイマの動作を開始させ、電気角X度回転時間経過毎に割り込み処理を行う(ステップST4)。この際、制御部13は、最新のセンサエッジ間隔時間で算出した時間でタイマを更新する。
制御部13は、ステップST1で確定した磁極位置i×60(i=0、1、2、3、4、5のいずれか)の次の磁極位置(i+1)×60における一番目の電気角X度回転時間において、通電切り替えタイマの動作を開始させる。
制御部13は、dq三相変換(PWM Duty算出)を行う(ステップST5)。
この算出には、ホールセンサ12の磁極位置で算出するため、電気角θ=(i+1)×60度が用いられる。
制御部13は、PWM Dutyを出力する(ステップST6)。制御部13は、算出されたPWM Duty(PWM指令信号)をゲートドライバ14に出力し、ゲートドライバ14にPWM信号を出力させる。
制御部13は、磁極位置(i+1)におけるj(j=2〜60/X)番目の電気角X度回転時間において、通電切り替えタイマの動作を開始させる(ステップST4)。
制御部13は、磁極位置をX度加える処理を行う(ステップST7)。
これは、電気角X度回転時間毎に割り込みを発生させるため、電気角X度回転したと推定するためである。
制御部13は、dq三相変換(PWM Duty算出)を行う(ステップST8)。
この算出にはホールセンサ12の磁極位置で算出するため、電気角θ=(i+1)×60+(j−1)×X度が用いられる。
制御部13は、PWM Dutyを出力する(ステップST9)。制御部13は、算出されたPWM Dutyをゲートドライバ14に出力し、ゲートドライバ14にPWM信号を出力させる。
このようにして、磁極位置(i+1)における磁極位置検出が終了した後、制御部13は、ステップ2に戻り磁極位置(i+2)における磁極位置検出へ移行する。すなわち、制御部13は、ホールセンサ12の切り替わりで磁極位置認識を更新する。この際、ロータが加速または減速した場合であっても絶対位置(電気角θ)が更新される。
【0022】
ここで、制御部13が行う、dq三相変換(PWM Duty算出)について説明する。
インバータ15は、PWM信号に基づいて、ブラシレスモータ11のステータコイルへの電圧供給を、正弦波状に変化させて供給する。このため、制御部13は、インバータ15がステータコイルへ供給する電圧(U相電圧、V相電圧、W相電圧)が、下記各式で表されるように、PWM Duty(PWM指令信号)の算出を行う。
Vu=(√2/3)×(Vd×cosθ−Vq×sinθ)
Vv=(√2/3)×{Vd×cos(θ−2π/3)−Vq×sin(θ−2π/3)}
Vw=−Vu−Vv
なお、Vd、Vqは制御部13の外部から入力される指令電圧であり、Vdはd軸電圧を示し、Vqはq軸電圧を示している。
PWM Duty(デューティ)とは、直流電源16の電圧レベル、例えば12Vに対する上記各Vu、Vv、Vwのレベルの割合である。そこで、制御部13は、上記式に基づき、デューティ(電気角X度回転時間に対するPWM指令信号がHである時間の割合)を算出して、このデューティを持つ、デジタル信号であるPWM指令信号6本をゲートドライバ14に対して出力する。
ゲートドライバ14は、インバータ15を構成する上側のFETを駆動する場合は、デジタル信号であるPWM指令信号3本のレベルを昇圧してPWM信号を生成し、FETのゲートを駆動する。また、ゲートドライバ14は、インバータ15を構成する下側のFETを駆動する場合は、デジタル信号であるPWM指令信号3本のレベルのままPWM信号を生成し、FETのゲートを駆動する。
これにより、制御部13は、電気角X度回転時間でブラシレスモータ11の各相への通電タイミングを切り替えるPWM信号をゲートドライバ14に出力させる。インバータ15は、PWM信号に基づいて、ブラシレスモータ11のステータコイルへの電圧供給を、正弦波状に変化させて供給する。
【0023】
本実施形態において、制御部13の外部から入力される指令電圧は、q軸電圧Vqであり、d軸電圧Vdは常に0としている。なお、進角制御を行う場合は、ホールセンサ信号を用いて実施すればよい。
すなわち、インバータ15がステータコイルへ供給する電圧(U相電圧、V相電圧、W相電圧)が、下記各式で表される。
Vu=(√2/3)×(−Vq×sinθ)
Vv=(√2/3)×{−Vq×sin(θ−2π/3)}
Vw=−Vu−Vv
これにより、制御部13がPWM信号の生成に用いる三角関数の値を記憶するテーブルは、(360度/電気角X度)=(60度/所定の数)×6個のsinθをマップデータとして予め記憶しておけばよい。このようにして、従来のような計算誤差が生じることがなくなり、使用するメモリ容量の増加を抑制することができる。
また、
図2に示す処理を、電気角0度〜360度について行うことにより、すなわち通電タイミングを(360度/電気角X)回に分けた所定の電気角において行うことにより、ブラシレスモータ11のステータコイル電圧を正弦波状に変化させることが可能となる。すなわち、モータ駆動装置1によれば、レゾルバに比べて安価なホールセンサ12及び回路構成が簡易な制御部13を用いてロータ位置の推定を正確に行うことができ、ブラシレスモータ11のステータコイル電圧を正弦波状に変化させるという適切なモータ駆動を行うことができる。
【0024】
図3は、モータ駆動装置1の動作を示すタイミングチャートである。
図3において、電気角X度回転時間を電気角10度回転時間(第1の所定の角度)とした場合の、U相電圧、V相電圧、W相電圧各々のレベル変化、U相ホールセンサ信号、V相ホールセンサ信号、W相ホールセンサ信号のレベル変化を、電気角θを横軸にして示している。
電気角θ=0度〜360度において60度毎に縦方向に一点鎖線を引いてある。このそれぞれの一点鎖線の間が、センサエッジ間隔(電気角60度回転時間)を示している。
図3の場合、電気角60度回転時間3.33msを元に算出されるロータの回転数は1000rpmであり、このうち、電気角θ=0度〜60度で示される電気角60度回転時間を6(第1の所定の数)で割った値であるT1=0.555msが、電気角θ=60度〜120度で示される電気角10度回転時間となる。電気角θ=60度〜120度で示される電気角10度回転時間毎に、dq三相変換が6回行われる。これにより、電気角θ=60度〜120度におけるU相電圧、V相電圧、W相電圧各々のレベル変化が得られる。このdq三相変換が36回行われることで、ブラシレスモータ11のステータコイル電圧が正弦波状に変化させられる。
【0025】
図4は、モータ駆動装置1の動作を示すタイミングチャートである。
図4において、電気角X度回転時間を電気角12度回転時間(第2の所定の角度)とした場合の、U相電圧、V相電圧、W相電圧各々のレベル変化、U相ホールセンサ信号、V相ホールセンサ信号、W相ホールセンサ信号のレベル変化を、電気角θを横軸にして示している。
電気角θ=0度〜360度において60度毎に縦方向に一点鎖線を引いてある。このそれぞれの一点鎖線の間が、センサエッジ間隔(電気角60度回転時間)を示している。
図4の場合、電気角60度回転時間1.11msを元に算出されるロータの回転数は3000rpmであり、このうち、電気角θ=0度〜60度で示される電気角60度回転時間を5(第2の所定の数)で割った値であるT2=0.222msが、電気角θ=60度〜120度で示される電気角12度回転時間となる。電気角θ=60度〜120度で示される電気角12度回転時間毎に、dq三相変換が5回行われる。これにより、電気角θ=60度〜120度におけるU相電圧、V相電圧、W相電圧各々のレベル変化が得られる。このdq三相変換が30回行われることで、ブラシレスモータ11のステータコイル電圧が正弦波状に変化させられる。
【0026】
図3、
図4に示すように電気角60度回転時間は、ロータ回転数が3000rpmの場合1.11ms、ロータ回転数が1000rpmの場合、3.33msである。
ここで、電気角10度で通電タイミングを切り替えた場合の電気角10度回転時間(第1の所定の角度)をT1、電気角12度で通電タイミングを切り替えた場合の電気角12度回転時間をT2(第2の所定の角度)とすると、ロータ回転数が3000rpmの場合、T1=0.185ms、T2=0.222ms(
図4参照)、ロータ回転数が1000rpmの場合、T1=0.555ms(
図3参照)、T2=0.666msとなる。
3000rpm時に電気角10度毎に通電タイミングを切り替えようとすると、T1=0.185msとなり、1000rpm時に比較して処理負荷が大きくなる。
そこで、3000rpm時は電気角12度毎に通電を切り替え、T2=0.222msとすることで処理負荷を軽減することができる。
また、1000rpm時に電気角12度で通電を切り替えようとすると、T2=0.666msとなり、分解能が下がってしまい、制御性が低下する場合がある。
そこで、1000rpm時は電気角10度毎に通電を切り替え、T1=0.555msとすることで低回転域での制御性を落とさないようにすることができる。
このように、制御部13は、ロータ回転数の変化に応じて、複数の所定の電気角を算出し、複数の所定の電気角から一つの所定の電気角を選択し、選択された所定の電気角でブラシレスモータの各相への通電タイミングを切り替えるPWM信号をゲートドライバに出力させる。複数の所定の電気角のうちいずれの所定の電気角を選択するかは、算出したロータ回転数が、予め設定されたロータ回転数(上記説明での3000rpm)未満であるか否かを判定することによって決定される。すなわち、制御部13は、ロータ回転数が予め設定されたロータ回転数未満である場合、所定の電気角のうち10度(第1の所定の電気角)を、電気角60度回転時間を6(第1の所定の数)で除算することにより算出する。一方、制御部13は、ロータ回転数が予め設定されたロータ回転数以上である場合、所定の電気角のうち12度(第2の所定の電気角)を、電気角60度回転時間を5(第2の所定の数)で除算することにより算出する。従って、第1の所定の電気角を低回転時に用い、第2の所定の電気角を高回転時に用いることにより、低回転域での制御性を落とさずに、高回転域での処理負荷を軽減させることができる。
【0027】
以上のように本発明の実施形態によれば、制御部13は、磁束変化の信号に基づいて、ロータ回転数を求め、ロータ回転数の変化に応じて、電気角10度回転時間及び電気角12度回転時間(複数の所定の電気角)を算出し、複数の所定の電気角から一つの所定の電気角を選択し、電気角12度回転時間(選択された所定の電気角)でブラシレスモータ11の各相への通電タイミングを切り替えるPWM信号をゲートドライバ14に出力させる。インバータ15は、PWM信号に基づいて、ブラシレスモータ11のステータコイルへの電圧供給を、正弦波状に変化させて供給する。これにより、ロータ位置を推定する計算における処理負荷の増加、高回転時の処理負荷の増加を抑制できるモータ駆動装置1及びモータ駆動装置1の制御方法を提供することができる。
【0028】
以上、本発明の実施形態について説明したが、本発明のモータ駆動装置は、上述の図示例にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。