【実施例1】
【0019】
図1は、実施例1に係るモータ駆動装置の概略的な構成を示すブロック図である。
図1に示すように、モータ駆動装置は、モータ(多相モータ)11と、レゾルバ(回転位置検出部)12と、昇圧コンバータ(昇圧部)13と、インバータ14と、制御部15と、を備える。
【0020】
モータ11は、例えば、三相のDCブラシレスモータである。
【0021】
レゾルバ12は、制御部15から供給された励磁信号に基づいて、モータ11の回転位置を検出して、回転位置に応じた回転位置信号を制御部15に出力する。
【0022】
昇圧コンバータ13は、バッテリ(直流源)BATから供給された直流の電源電圧Vi(例えば、12V)を昇圧して直流の昇圧電圧Vo(例えば、24V)を出力する。昇圧コンバータ13は、入力コンデンサCinと、インダクタLと、N型MOSトランジスタである2つのスイッチング素子Q1,Q2と、出力コンデンサCoutと、を有する。
【0023】
入力コンデンサCinは、一端がバッテリBATの正極側端子に接続され、他端がバッテリBATの負極側端子に接続されると共に接地されている。インダクタLは、一端がバッテリBATの正極側端子に接続されている。
【0024】
スイッチング素子Q1は、一端(ドレイン)がインダクタLの他端に接続され、他端(ソース)が接地されている。スイッチング素子Q2は、一端(ソース)がインダクタLの他端に接続され、他端(ドレイン)から昇圧電圧Voを出力する。
【0025】
出力コンデンサCoutは、一端がスイッチング素子Q2の他端に接続され、他端が接地されている。つまり、出力コンデンサCoutの一端及び他端間の電圧が、昇圧電圧Voである。
【0026】
昇圧コンバータ13からインバータ14に出力電流Ioが出力される。出力電流Ioの極性は、昇圧コンバータ13からインバータ14に流れる方向を正とする。出力電流Ioは、バッテリBATの正極側端子から出力される電流とほぼ等しい。
【0027】
インバータ14は、昇圧コンバータ13から供給された昇圧電圧Voをモータ駆動電流に変換してモータ11に供給する。モータ駆動電流は、モータ11のU相に流れる相電流Iuと、V相に流れる相電流Ivと、W相に流れる相電流Iwと、を含む。相電流Iu,Iv,Iwの極性は、インバータ14からモータ11に流れる方向を正とする。
【0028】
インバータ14は、3相ブリッジ回路構成となっており、N型MOSトランジスタである6つのスイッチング素子Q3〜Q8と、アーム電流検出用の3つの抵抗Ru,Rv,Rwと、を有する。
【0029】
スイッチング素子Q3は、一端(ドレイン)に昇圧電圧Voが供給されている。スイッチング素子Q4は、一端(ドレイン)がスイッチング素子Q3の他端(ソース)に接続されている。抵抗Ruは、一端がスイッチング素子Q4の他端(ソース)に接続され、他端が接地されている。スイッチング素子Q3,Q4は、U相のアームAuを構成している。
【0030】
スイッチング素子Q5は、一端(ドレイン)に昇圧電圧Voが供給されている。スイッチング素子Q6は、一端(ドレイン)がスイッチング素子Q5の他端(ソース)に接続されている。抵抗Rvは、一端がスイッチング素子Q6の他端(ソース)に接続され、他端が接地されている。スイッチング素子Q5,Q6は、V相のアームAvを構成している。
【0031】
スイッチング素子Q7は、一端(ドレイン)に昇圧電圧Voが供給されている。スイッチング素子Q8は、一端(ドレイン)がスイッチング素子Q7の他端(ソース)に接続されている。抵抗Rwは、一端がスイッチング素子Q8の他端(ソース)に接続され、他端が接地されている。スイッチング素子Q7,Q8は、W相のアームAwを構成している。
【0032】
スイッチング素子Q3とQ4の接続点から相電流Iuが出力され、スイッチング素子Q5とQ6の接続点から相電流Ivが出力され、スイッチング素子Q7とQ8の接続点から相電流Iwが出力される。
【0033】
各抵抗Ru,Rv,Rwの両端間の電圧は、アーム電流Iu_s,Iv_s,Iw_sを表す電圧である。
【0034】
制御部15は、例えばマイクロコンピュータから構成され、レゾルバ12と昇圧コンバータ13とインバータ14を制御する。
【0035】
昇圧コンバータ13から昇圧電圧Voが供給される。制御部15は、この昇圧電圧Voが予め定められた一定値(例えば、24V)になるように、昇圧コンバータ駆動信号をスイッチング素子Q1,Q2の制御端子(ゲート)に供給して、各スイッチング素子Q1,Q2をオン又はオフにPWM制御する。
【0036】
また、制御部15は、外部から電流目標値が供給され、レゾルバ12から回転位置信号が供給され、インバータ14からアーム電流Iu_s,Iv_s,Iw_sを表す電圧が供給される。制御部15は、図示しないAD変換器を有しており、このAD変換器でアーム電流Iu_s,Iv_s,Iw_sを表す電圧をサンプリングして、これにより得られたアーム電流Iu_s,Iv_s,Iw_sを用いてインバータ14の制御を行う。サンプリング周期は、例えば、インバータ14のスイッチング周期と等しい。具体的には、制御部15は、アーム電流Iu_s,Iv_s,Iw_sに基づいた電流が電流目標値になるように、回転位置信号に応じてインバータ駆動信号をスイッチング素子Q3〜Q8の制御端子(ゲート)に供給して、各スイッチング素子Q3〜Q8をオン又はオフにPWM制御する。
【0037】
制御部15による昇圧コンバータ13とインバータ14の上記制御は、公知の制御である。このような制御により、電流目標値に応じてモータ11の回転を制御できる。
【0038】
このモータ駆動装置は、モータ11を駆動制御している間、制御部15によって昇圧コンバータ13の出力電流Ioに基づいた値を監視して、監視結果に応じて出力電流Ioを制限するように構成されている。以下、この出力電流Ioの制限動作について、
図2〜
図4を参照して詳細に説明する。
【0039】
図2は、実施例1に係るモータ駆動装置の動作を示すフローチャートである。
図2のステップS1〜ステップS9の一連の処理は、サンプリングタイミング毎に行われる。
【0040】
まず、制御部15は、前述のように、昇圧コンバータ13を制御すると共に、サンプリングによって3つのアームAu,Av,Awに流れるアーム電流Iu_s,Iv_s,Iw_sを得て、このアーム電流に基づいてインバータ14を制御する(ステップS1)。
【0041】
次に、制御部15は、ステップS1で得られたアーム電流Iu_s,Iv_s,Iw_sを用いてモータ11の各相に流れる相電流Iu,Iv,Iwを算出する(ステップS2)。相電流Iu,Iv,Iwを算出する方法は公知の方法であるため、ここでは説明を割愛する。
【0042】
次に、制御部15は、算出された3つの相電流Iu,Iv,Iwを用いて、昇圧コンバータ13からインバータ14に出力される出力電流Ioを算出する。具体的には、制御部15は、相電流Iu,Iv,Iwのうちの負の相電流をゼロに置換する(ステップS3)。そして、負の相電流をゼロに置換した3つの相電流Iu,Iv,Iwの総和を算出して、総和を出力電流Ioとする(ステップS4)。つまり、Io=Iu+Iv+Iw(式(1))である。
【0043】
このように負の相電流をゼロに置換する理由は、3つの相電流Iu,Iv,Iwの総和をそのまま算出するとゼロになるためである。
【0044】
図3は、実施例1に係るモータ駆動装置の相電流Iu,Iv,Iwと出力電流Ioを示す波形図である。
図3(a)はモータ11が回転している場合の相電流Iu,Iv,Iwを示し、
図3(b)は式(1)で得られた出力電流Ioを示し、
図3(c)は
図3(b)の出力電流Ioをホールドして得られた出力電流Ioを示す。
図3(b)に示されるように、式(1)で得られた出力電流Ioは、サンプリングで得られたアーム電流Iu_s,Iv_s,Iw_sに基づいて算出されるため、離散的な波形になっている。
【0045】
図3(a)〜(c)及び式(1)から分かるように、出力電流Ioのピーク値は、各相の相電流Iu,Iv,Iwのピーク値と等しくなっている。
【0046】
図2のステップS4の処理が終了すると、制御部15は、レゾルバから出力された回転位置信号に応じて、モータ11が回転しているか否か(即ちモータ11の回転状態)を判定する(ステップS5)。
【0047】
モータ11が回転している場合、レゾルバ12から、一定値以上の周波数の回転角情報(sin波形及びcos波形)を含む回転位置信号が出力される。そこで、制御部15は、回転位置信号から得られる回転角情報が変化している場合、モータ11が回転していると判定する。モータ11が回転していると判定した場合(ステップS5;Yes)、ステップS4で得られた出力電流Ioを予め定められた定数である2の平方根で除算した値を出力電流Ioの実効値として(ステップS6)、ステップS8の処理に移行する。ステップS6で得られた出力電流Ioの実効値は、近似値である。また、上記定数は、2の平方根の近似値でよい。この場合、相電流Iu,Iv,Iwは、
図3(a)のように交流電流である。
【0048】
一方、モータ11の負荷によってモータ11の回転が止められている場合、レゾルバ12から、ほぼゼロの回転角情報を含む回転位置信号が出力される。そこで、制御部15は、回転角情報が一定値である場合、モータ11が停止していると判定し(ステップS5;No)、出力電流Ioをそのまま出力電流Ioの実効値として(ステップS7)、ステップS8の処理に移行する。この場合、相電流Iu,Iv,Iwは、ほぼ一定値の直流電流であり、相電流Iu,Iv,Iwの何れかは、モータ11が回転している場合よりも大電流になり得る。
【0049】
次に、制御部15は、算出された出力電流Ioの実効値を時間で積分して積分値を算出する(ステップS8)。
【0050】
次に、制御部15は、算出された積分値(出力電流Ioに基づいた値)が予め定められた上限値に達したか否か判定する(ステップS9)。積分値が上限値に達していない時(ステップS9;No)、ステップS1の処理に戻り、次のサンプリングタイミングの処理を行う。
【0051】
一方、積分値が上限値に達した時(ステップS9;Yes)、アーム電流Iu_s,Iv_s,Iw_sが減少するようにインバータ14を制御し(ステップS10)、処理を終了する。つまり、ステップS10において、制御部15は、外部から供給される電流目標値に拘らず、強制的にアーム電流Iu_s,Iv_s,Iw_sを減少させる。これにより、昇圧コンバータ13のスイッチング素子Q1,Q2,出力コンデンサCoutなどの発熱を制限できる。
【0052】
図4は、実施例1に係るモータ駆動装置の出力電流Ioの制限動作を説明する図である。
図4の縦軸は出力電流Ioの実効値を示し、横軸は時間を示す。
【0053】
図4に示すように、例えば、出力電流Ioの実効値が連続して値Aのまま時間W経過して点aに到達した場合、出力電流Ioの実効値が制限値Dまで減少するように、制御部15はインバータ14を制御してアーム電流Iu_s,Iv_s,Iw_sを減少させる。同様に、出力電流Ioの実効値が連続して値B(<値A)のまま時間X(>時間W)経過して点bに到達した場合、又は、出力電流Ioの実効値が連続して値C(<値B)のまま時間Y(>時間X)経過して点cに到達した場合にも、出力電流Ioの実効値が制限値Dまで減少するように制御する。一方、出力電流Ioの実効値が変化しない場合としては、例えば、モータ11の回転が強制的に止められている場合がある。
【0054】
長方形0AaWの面積と、長方形0BbXの面積と、長方形0CcYの面積と、
図2のステップS9の上限値は等しい。この面積、即ち上限値は発熱量に相関があるため、許容可能な発熱量に応じて上限値を設定すればよい。
【0055】
また、制限値Dは、出力電流Ioの実効値が連続してこの制限値Dのままであっても問題の無い発熱量となるように設定すればよい。
【0056】
このような制御によって、出力電流Ioの実効値が
図4の例のように一定値ではなく、例えば値Aから値Cの間で変化するような場合(例えば、モータ11の回転にむらがある場合)であっても、同様に、積分値に応じて出力電流Ioを制限できる。
【0057】
なお、制御部15は、ステップS8において、出力電流Ioの実効値が制限値D以下の場合には積分値を算出しない。これにより、出力電流Ioの実効値が連続して制限値D以下の場合には、ステップS1〜ステップS9の処理が繰り返され、電流目標値に応じた制御が行われる。
【0058】
図2のステップS10の後、例えば、制御部15は、図示しない温度センサを用いて昇圧コンバータ13の温度を監視し、その温度が低下した後、アーム電流Iu_s,Iv_s,Iw_sを減少させる制御を解除して、再びステップS1に戻って電流目標値に応じた制御を開始してもよい。このような温度センサが利用可能な場合であっても、以上で説明した出力電流Ioに基づいた制御は必要である。というのも、温度の変化は出力電流Ioの変化に比して遅いため、温度が所定温度に達した時にアーム電流Iu_s,Iv_s,Iw_sを減少させるような制御のみを用いることは適切ではないからである。
【0059】
以上で説明した様に、本実施例によれば、3つのアームAu,Av,Awに流れるアーム電流Iu_s,Iv_s,Iw_sを用いてモータ11の各相に流れる相電流Iu,Iv,Iwを算出し、算出された相電流Iu,Iv,Iwを用いて、昇圧コンバータ13から出力される出力電流Ioを算出している。そして、算出された出力電流Ioに基づいた値が上限値に達した時、アーム電流Iu_s,Iv_s,Iw_sが減少するようにインバータ14を制御している。このように、相電流センサを用いずに検出可能なアーム電流Iu_s,Iv_s,Iw_sに基づいて出力電流Ioを算出するので、回路規模及びコストの増加を抑制した上で、発熱を制限できる。これにより、昇圧コンバータ13のスイッチング素子Q1,Q2と出力コンデンサCoutなどが破損することを防止できる。
【0060】
また、本実施例によれば、回転位置信号に応じてモータ11の回転状態を判定し、モータ11が回転していると判定した場合、出力電流Ioを2の平方根で除算した値を実効値とし、モータ11が停止していると判定した場合は出力電流Ioをそのまま実効値としている。これにより、モータ11の回転状態に応じて、実際の出力電流Ioに対応した実効値を得ることができる。出力電流Ioの実効値は発熱量に相関があるため、モータ11の回転状態に応じて、発熱をより正確に制限できる。
【0061】
さらに、本実施例によれば、出力電流Ioの実効値の積分値が上限値に達した時に出力電流Ioを制限するので、出力電流Ioの実効値が時間に応じて変化する場合であっても、画一化された処理で、発熱を比較的一定に制限できる。
【0062】
以上で説明したモータ駆動装置の適用例として、例えば、自動車用の電動パワーステアリング装置を挙げることができる。
【0063】
(変形例)
以上、本発明の実施例を詳述してきたが、具体的な構成は上記実施例に限定されるものではなく、本発明の要旨を逸脱しない範囲で種々に変形して実施することができる。
例えば、昇圧コンバータ13を設けず、インバータ14は、バッテリBATから供給された電源電圧Vinをモータ駆動電流に変換してモータ11に供給するようにしてもよい。そして、制御部15は、上記実施例と同様に算出された相電流Iu,Iv,Iwを用いて、バッテリBATから出力される出力電流Ioを算出してもよい。このように構成しても、上記実施例と同様に、回路規模及びコストの増加を抑制した上で、インバータ14やモータ11の発熱を制限できる。
【0064】
上述した実施例の制御部15の機能を限定して、より簡易な処理を行うようにしてもよい。例えば、
図2のフローチャートにおいて、ステップS8を省略して、ステップS9において、出力電流Ioに基づいた値として積分値に代えて出力電流Ioの実効値を用いてもよい。これにより、積分値に基づく正確な発熱の制限はできなくなるが、制御部15の処理を軽減した上で、上述したその他の効果を得ることはできる。
【0065】
さらに、ステップS5〜S8を省略して、ステップS9において、出力電流Ioに基づいた値として瞬時値を表す出力電流Ioをそのまま用いてもよい。これにより、モータ11の回転状態に応じた発熱の制御もできないことになるが、制御部15の処理を軽減すると共に、回路規模及びコストの増加を抑制した上で発熱を制限できるという効果は得られる。
【0066】
また、モータ11は三相のDCブラシレスモータである一例について説明したが、三相以外でもよい。また、スイッチング素子Q1〜Q8は、IGBTなどから構成されてもよい。
【0067】
また、実効値を求めるための定数は2の平方根に限らず、出力電流Ioの波形に応じて変更してもよい。つまり、出力電流Ioの実効値を近似できるような他の値でもよい。
【0068】
上述した実施例で説明したモータ駆動装置の制御部15の少なくとも一部の機能は、ハードウェアで実現してもよいし、ソフトウェアで実現してもよい。ソフトウェアで実現する場合には、制御部15の少なくとも一部の機能を実現するプログラムをフレキシブルディスクやCD−ROM等の記録媒体に収納し、コンピュータに読み込ませて実行させてもよい。記録媒体は、磁気ディスクや光ディスク等の着脱可能なものに限定されず、ハードディスク装置やメモリなどの固定型の記録媒体でもよい。
【0069】
また、制御部15の少なくとも一部の機能を実現するプログラムを、インターネット等の通信回線(無線通信も含む)を介して頒布してもよい。さらに、同プログラムを暗号化したり、変調をかけたり、圧縮した状態で、インターネット等の有線回線や無線回線を介して、あるいは記録媒体に収納して頒布してもよい。