(57)【特許請求の範囲】
【請求項１】
直流を交流に変換してブラシレスモータに交流電力を供給するインバータ回路、
前記ブラシレスモータを流れる電流を検出し検出信号を出力するモータ電流検出部、及び、
前記検出信号に基づいて、前記インバータ回路を制御するインバータ制御部を備えるモータ制御装置において、
前記インバータ制御部は、
前記ブラシレスモータの回転周波数の指令信号を出力する周波数設定部、
前記周波数設定部の指令信号から回転位相信号を生成する波形生成部、
前記波形生成部の回転位相信号及び前記モータ電流検出部の検出信号から、無効分電流を演算する無効分電流演算部及び有効分電流を演算する有効分電流演算部、
前記無効分電流演算部の出力に基づいて、無効分電流を出力する検出値演算部、
次の制御周期における前記無効分電流の目標値である無効分電流目標値を決定し出力する指令部であって、前記無効分電流演算部及び前記有効分電流演算部の出力に基づいてモータ電流を演算によって求め、前記モータ電流が最小となるように次の制御周期におけるモータ電流の増減方向と前記無効分電流目標値の増減方向とを定め、前記無効分電流目標値を決定し出力する指令部、
前記指令部から出力される前記無効分電流目標値と前記検出値演算部から出力される前記無効分電流との差に基づいて誤差電圧を演算する誤差電圧演算部、
前記周波数設定部の指令信号から基準電圧を求めるＶ／ｆ変換部、
前記誤差電圧演算部及び前記Ｖ／ｆ変換部の出力から、モータ印加電圧指令値を演算する加算部、及び、
前記波形生成部及び前記加算部の出力から、前記インバータ回路に与える制御信号を生成する出力指令演算部、
を有するモータ制御装置。
【請求項２】
前記指令部は、前記モータに供給する電力が最小となるように前記無効分電流目標値を調整する、請求項１に記載のモータ制御装置。
【請求項３】
直流を交流に変換してブラシレスモータに交流電力を供給するインバータ回路、
前記ブラシレスモータを流れる電流を検出し検出信号を出力するモータ電流検出部、及び、
前記検出信号に基づいて、前記インバータ回路を制御するインバータ制御部を備えるモータ制御装置において、
前記インバータ制御部は、
前記ブラシレスモータの回転周波数の指令信号を出力する周波数設定部、
前記周波数設定部の指令信号から回転位相信号を生成する波形生成部、
前記波形生成部の回転位相信号及び前記モータ電流検出部の検出信号から、無効分電流を演算する無効分電流演算部及び有効分電流を演算する有効分電流演算部、
前記無効分電流演算部及び前記有効分電流演算部の出力に基づいて、モータ印加電圧指令値とモータ電流との間の位相差を出力する検出値演算部、
次の制御周期における前記位相差の目標値である位相差目標値を決定し出力する指令部であって、前記無効分電流演算部及び前記有効分電流演算部の出力に基づいてモータ電流を演算によって求め、前記モータ電流が最小となるように次の制御周期におけるモータ電流の増減方向と前記位相差目標値の増減方向とを定め、前記位相差目標値を決定し出力する指令部、
前記指令部から出力される前記位相差目標値と前記検出値演算部から出力される位相差との差に基づいて誤差電圧を演算する誤差電圧演算部、
前記周波数設定部の指令信号から基準電圧を求めるＶ／ｆ変換部、
前記誤差電圧演算部及び前記Ｖ／ｆ変換部の出力から、モータ印加電圧指令値を演算する加算部、及び、
前記波形生成部及び前記加算部の出力から、前記インバータ回路に与える制御信号を生成する出力指令演算部、
を有するモータ制御装置。
【請求項４】
前記指令部は、前記モータに供給する電力が最小となるように前記位相差目標値を調整する、請求項３に記載のモータ制御装置。
【請求項５】
前記指令部は、前記演算により求めるモータ電流の代わりに、前記有効分電流を用いる、請求項１または３に記載のモータ制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、同期型モータを位置センサを用いずに制御するためのモータ制御装置に関するものである。
【０００２】
【従来の技術】
同期型モータを、そのロータの位置を検出する位置センサを使用しないで駆動する第１の従来例のモータ制御装置を図７を用いて説明する。図７は正弦波駆動のモータ制御装置のブロック図である。正弦波駆動では、モータに供給する無効電力を検出してその検出値が目標値に等しくなるようにフィードバック制御する。図において、直流電源１０１の直流電流はインバータ回路１０２によって交流電流に変換され、モータ電流検出部１０４を経てモータ１０３に供給される。モータ電流はモータ電流検出部１０４で検出され、インバータ制御部１０５に入力される。
【０００３】
インバータ制御部１０５の動作を説明する。出力指令演算部１０６は、加算器１１４から印加されるモータ印加電圧指令値１２０からＰＷＭ指令信号１２１を生成してインバータ回路１０２に印加する。インバータ回路１０２の内部のスイッチング素子はこのＰＷＭ信号で制御され、モータ１０３を駆動する駆動電流がモータ１０３に供給される。モータ１０３を流れる電流はモータ電流検出部１０４で検出され、検出信号１１８を出力する。検出信号１１８は座標変換部１０７に印加される。座標変換部１０７は検出信号１１８に基づいてモータ電流を有効電流１２４と無効電流１２６とに分ける。周波数設定部１０８はあらかじめ設定されたモータ１０３の回転周波数指令値１２２を出力する。
【０００４】
無効電力指令部１０９には、回転周波数指令値１２２、モータ印加電圧指令値１２０、有効電流１２４及び無効電流１２６が入力され、無効電力指令値１２８が出力される。無効電力演算部１１０はモータ印加電圧指令値１２０と無効電流検出値１２６から無効電力検出値１３０を演算し、加算部１１１に印加する。加算部１１１は無効電力指令値１２８と無効電力検出値１３０の誤差を演算し、誤差出力を誤差電圧演算部１１２に印加する。誤差電圧演算部１１２はこの誤差出力に基づいて印加電圧補償値１３２を生成し加算部１１４の一方の入力端に印加する。Ｖ／ｆ変換部１１３は周波数設定部１０８の出力の回転周波数指令値１２２からモータ基準電圧値１３４を生成し、加算部１１４の他方の入力端に印加する。加算部１１４はモータ基準電圧値１３４と印加電圧補償値１３２を加算して新たなモータ印加電圧指令値１２０を生成する。新たなモータ印加電圧指令値１２０は出力指令演算部１０６に入力される。出力指令演算部１０６は新たな印加電圧指令値１２０から新たなＰＷＭ指令信号を作成し、これを次の制御周期でインバータ回路１０２に印加して制御する。
この第１の従来例では、モータ１０３の出力トルクが最大となるように無効電力の目標値を無効電力指令部１０９で設定している。無効電力の目標値を設定する時には、モータの回転数、モータを流れる電流及びモータの発電定数やインダクタンスなどのモータ定数を使用している。
【０００５】
第２の従来例のモータ制御装置として、モータの効率が最大になるように無効電力の目標値を設定するものがある。一般にモータの効率を最大にする無効電力の目標値はモータ定数から計算によって求める。しかしモータ定数は、温度や負荷などの運転条件によって変化するため、計算で求めた目標値ではモータの効率が最大とならない場合が多い。そこで、この第２の従来例では、回転周波数と負荷の大きさに対応する、モータ効率が最大となる無効電力の目標値を事前にテーブル等で準備しておく。そしてモータの運転中に回転周波数や負荷の大きさを検出して、検出値に対応する無効電力の目標値をテーブルから読み出して出力するという方法を用いている。
【０００６】
【発明が解決しようとする課題】
出力トルクが最大となるように無効電力の目標値を設定する第１の従来例では、モータ定数が温度や負荷の影響を受けて変化するため、運転状態に応じてモータ定数を補正する必要があった。また、モータ定数の異なる他のモータを駆動する場合には各モータ定数を設定しなおす必要がある。そのため第１の従来例のモータ制御装置は定数の異なる他のモータに任意に適用することはできなかった。また、無効電力指令値を求めるには複雑な式を用いる演算が必要であるため、高価なマイクロコンピュータあるいはＤＳＰを用いる必要があった。
第２の従来例では、モータ効率が最大となるように無効電力の目標値を設定するテーブルを作るため、回転周波数、負荷及び無効電力設定値のそれぞれの関係をあらかじめ決める必要があり、設定値を決めるための作業が膨大になるという問題があった。また、モータ定数が異なる他のモータを用いる場合には、最高効率が得られる設定値が異なるため、モータ定数の異なる他のモータにモータ制御装置を任意に適用することができなかった。
本発明の目的は、常に高効率でモータを駆動できるとともに、モータ定数の異なる他のモータに任意に適用できるモータ制御装置を提供することにある。
【０００７】
【課題を解決するための手段】
本発明のモータ制御装置は、直流を交流に変換してブラシレスモータに交流電力を供給するインバータ回路、ブラシレスモータを流れる電流を検出し検出信号を出力するモータ電流検出部、及び、検出信号に基づいて、インバータ回路を制御するインバータ制御部を備えるモータ制御装置である。
当該モータ制御装置のインバータ制御部は、ブラシレスモータの回転周波数の指令信号を出力する周波数設定部、周波数設定部の指令信号から回転位相信号を生成する波形生成部、波形生成部の回転位相信号及びモータ電流検出部の検出信号から、無効分電流を演算する無効分電流演算部及び有効分電流を演算する有効分電流演算部、無効分電流演算部の出力に基づいて、無効分電流を出力する検出値演算部、次の制御周期における無効分電流の目標値である無効分電流目標値を決定し出力する指令部であって、無効分電流演算部及び有効分電流演算部の出力に基づいてモータ電流を演算によって求め、モータ電流が最小となるように次の制御周期におけるモータ電流の増減方向と無効分電流目標値の増減方向とを定め、無効分電流目標値を決定し出力する指令部、指令部から出力される無効分電流目標値と検出値演算部から出力される無効分電流との差に基づいて誤差電圧を演算する誤差電圧演算部、周波数設定部の指令信号から基準電圧を求めるＶ／ｆ変換部、誤差電圧演算部及びＶ／ｆ変換部の出力から、モータ印加電圧指令値を演算する加算部、及び、波形生成部及び加算部の出力から、インバータ回路に与える制御信号を生成する出力指令演算部、を有してよい。
また、当該インバータ制御部は、ブラシレスモータの回転周波数の指令信号を出力する周波数設定部、周波数設定部の指令信号から回転位相信号を生成する波形生成部、波形生成部の回転位相信号及びモータ電流検出部の検出信号から、無効分電流を演算する無効分電流演算部及び有効分電流を演算する有効分電流演算部、無効分電流演算部及び有効分電流演算部の出力に基づいて、モータ印加電圧指令値とモータ電流との間の位相差を出力する検出値演算部、次の制御周期における位相差の目標値である位相差目標値を決定し出力する指令部であって、無効分電流演算部及び有効分電流演算部の出力に基づいてモータ電流を演算によって求め、モータ電流が最小となるように次の制御周期におけるモータ電流の増減方向と位相差目標値の増減方向とを定め、位相差目標値を決定し出力する指令部、指令部から出力される位相差目標値と検出値演算部から出力される位相差との差に基づいて誤差電圧を演算する誤差電圧演算部、周波数設定部の指令信号から基準電圧を求めるＶ／ｆ変換部、誤差電圧演算部及びＶ／ｆ変換部の出力から、モータ印加電圧指令値を演算する加算部、及び、波形生成部及び加算部の出力から、インバータ回路に与える制御信号を生成する出力指令演算部、を有してもよい。
【０００８】
本発明によれば、無効分電流及び有効分電流を用いて検出されたモータの駆動状態を表す検出値を、モータ定数を用いずに演算することができるので、モータ定数の異なるモータに対しても任意に本モータ制御装置を適用することができる。指令値はモータに流れる電流もしくは供給する電力が最小となるように調節されるので、常に高効率でモータを駆動することができる。また指令値の演算が簡単なため、モータ制御装置を安価に提供することができる。
【００１０】
【発明の実施の形態】
以下、本発明の好適な実施例のモータ制御装置について、図１から図６を用いて説明する。
【００１１】
《第１実施例》
図１は本発明の第１実施例のモータ制御装置のブロック図である。図１において、直流電源１の直流出力はインバータ回路２に印加されて交流出力に変換され、モータ電流検出部４を経てモータ３に供給される。モータ３は例えば、同期型のブラシレスモータであり、ロータの位置を検出する位置センサは備えていない。インバータ回路２はインバータ制御部５により制御される。インバータ制御部５において、モータ３の回転周波数を設定する周波数設定部６の出力は波形生成部７とＶ／ｆ変換部１３に入力されている。波形生成部７の出力は、無効分電流演算部８、有効分電流演算部９及び出力指令演算部１５に入力されている。Ｖ／ｆ変換部１３の出力は加算器１４の一方の入力端に入力されている。無効分電流演算部８及び有効分電流演算部９の出力は検出値演算部１０に入力されるとともに、指令部１１にも入力されている。指令部１１は、検出値演算部１０の出力の電流値Ｉｒ又は位相差φ、α、β及びδの内のいずれか１つの位相差に対応する指令値を出力する。指令値は加算器１６の一方の入力端に入力される。加算器１６の他方の入力端には検出値演算部１０の出力が印加されている。加算器１６の出力は誤差電圧演算部１２に印加される。誤差電圧演算部１２の出力は加算器１４の他方の入力端に入力される。加算器１４の出力は出力指令演算部１５に印加される。出力指令演算部１５の出力はインバータ回路２に印加される。モータ電流を検出するモータ電流検出部４の出力は無効分電流演算部８及び有効分電流演算部９に入力されている。
【００１２】
モータ３の三相の巻線Ｕ、Ｖ、Ｗに印加する電圧をＶｕ、Ｖｖ、Ｖｗとするとき、出力指令演算部１５は、波形生成部７からの回転位相信号θと加算部１４からのモータの印加電圧指令値Ｖａを用いて、式（１）の演算をする。そして演算結果の電圧Ｖｕ、Ｖｖ、Ｖｗがモータ３に印加されるようにインバータ回路２のスイッチング素子（図示省略）をＰＷＭ駆動するための信号を出力する。
【００１３】
【数１】
0004068392.tif 000002
【００１４】
モータ電流検出部４はモータ３の三相の巻線Ｕ、Ｖ、Ｗの電流のうち少なくとも二相の巻線の電流を検出して、検出信号を無効分電流演算部８と有効分電流演算部９に印加する。モータ電流検出部４が巻線Ｕ、Ｖ、Ｗの電流を検出したときに出力する信号をそれぞれＩｕ、Ｉｖ、Ｉｗとすると、無効分電流演算部８は式（２）の演算を行って、無効分電流検出値Ｉｒを求める。
【００１５】
【数２】
0004068392.tif 000003
【００１６】
また、有効分電流演算部９は式（３）の演算を行って有効分電流検出値Ｉａを求める。
【００１７】
【数３】
0004068392.tif 000004
【００１８】
検出信号Ｉｕ、Ｉｖ、Ｉｗには、Ｉｕ＋Ｉｖ＋Ｉｗ＝０の関係があるので、モータ電流検出部４の検出信号が少なくとも二相分あれば、無効分電流演算部８及び有効分電流演算部９で式（２）及び式（３）の演算ができる。周波数設定部６にはモータ３の回転周波数指令値が設定されている。
【００１９】
図２の（ａ）はベクトル値の、モータの印加電圧指令値Ｖａ、誘起電圧Ｖ０及び電流Ｉｓの関係をｄ−ｑ軸上で表したベクトル図である。モータ３の内部の磁石による発生電圧はｑ軸上にあり、巻線Ｕ、Ｖ、Ｗのリラクタンス分を含むモータ定数によりロータとステータ間に発生する誘起電圧はＶ０となる。印加電圧指令値Ｖａと誘起電圧Ｖ０とのベクトル差はモータの巻線抵抗Ｒにモータ電流Ｉｓを乗じたものとなる。式（２）の演算で得られる無効分電流検出値Ｉｒは、図２の（ｂ）に示すように印加電圧指令値Ｖａの方向に直交する方向のモータ電流Ｉｓの成分である。また、式（３）の演算で得られる有効分電流検出値Ｉａは、印加電圧指令値Ｖａの方向に平行な方向のモータ電流Ｉｓの成分である。したがって、図２の（ａ）のｄ−ｑ座標に示すように、モータ電流Ｉｓを、印加電圧指令値Ｖａに平行な方向であるａ軸方向と、ａ軸に直交する方向であるｒ軸方向とに分解した時、無効分電流検出値Ｉｒはｒ軸方向の成分であり、有効分電流検出値Ｉａはａ軸方向の成分である。従って、無効分電流検出値Ｉｒは式（４）でも表わされ、有効分電流検出値Ｉａは式（５）でも表わされる。
【００２０】
【数４】
0004068392.tif 000005
【００２１】
【数５】
0004068392.tif 000006
【００２２】
ここで、φは印加電圧指令値Ｖａとモータ電流Ｉｓとの位相差であり、力率角を意味する。
検出値演算部１０は、無効分電流演算部８の出力である無効分電流検出値Ｉｒと有効分電流演算部９の出力である有効分電流検出値Ｉａを用いて、必要に応じて各種の検出値を出力することができる。これらの検出値は、図２の（ａ）及び（ｂ）に示す、無効分電流検出値Ｉｒ、力率角φ、印加電圧指令値Ｖａと誘起電圧Ｖ０との位相差α、ロータ軸であるｑ軸とモータ電流Ｉｓとの位相差β、及びｑ軸と印加電圧Ｖａとの位相差δである。力率角φは式（６）で計算され、位相差αは式（７）で計算される。
【００２３】
【数６】
0004068392.tif 000007
【００２４】
【数７】
0004068392.tif 000008
【００２５】
位相差βは式（８）で計算され、位相差δは式（９）で計算される。
【００２６】
【数８】
0004068392.tif 000009
【００２７】
【数９】
0004068392.tif 000010
【００２８】
これらの式において、Ｒはモータ３の巻線抵抗値、Ｌｑはインダクタンスのｑ軸成分、ωはモータ３の回転周波数である。モータ電流Ｉｓは式（１０）で計算できる。
【００２９】
【数１０】
0004068392.tif 000011
【００３０】
本実施例では、前記各種の検出値の内の無効分電流検出値Ｉｒに対する制御について説明する。指令部１１には検出値演算部１０が出力する各種の検出値に対応する指令値を出力するように、それぞれの指令値が設定されている。本実施例の説明では、無効分電流検出値Ｉｒに対する制御を行うので、指令部１１は設定されている無効分電流指令値Ｉｒ＊を出力する。加算部１６は指令値Ｉｒ＊と検出値Ｉｒとの誤差を求めて出力する。誤差電圧演算部１２は、この誤差が減少して検出値Ｉｒが指令値Ｉｒ＊に近づくように、次の制御周期においてモータ印加電圧をフィードバック補償するための電圧補償値を求めて出力する。電圧補償値の演算には比例（Ｐ）制御、比例積分制御（ＰＩ）、比例積分微分（ＰＩＤ）制御などの従来からよく用いられている制御方法を用いればよい。このときの各制御ゲインは固定値でもよいし、モータの回転周波数や負荷に応じて値を変更してもよい。なお、ここで述べた誤差電圧演算部１２の演算に用いる制御方法は一般的なものであり、本発明の誤差電圧演算部１２の動作がこれらの制御方法に限定されるものではない。
【００３１】
周波数設定部６はモータ３の回転周波数を表す回転周波数指令値ωを出力する。Ｖ／ｆ変換部１３はこの回転周波数指令値ωに基づいて、モータ３に印加すべき基準の電圧指令値Ｖｃ＊を出力する。モータ３がブラシレスモータであれば、印加電圧と回転数は比例関係にあるので、回転周波数指令値ωを定数倍した値を電圧指令値Ｖｃ＊とするのが一般的である。モータ３の起動時には加速トルクが必要なので、若干大き目の電圧指令値を出力してもよい。上記の例は一般的な電圧指令値の生成方法を挙げたにすぎず、本発明のＶ／ｆ変換部１３の動作がこれらに限定されるものではない。
【００３２】
加算部１４はＶ／ｆ変換部１３から出力された電圧指令値Ｖｃ＊と誤差電圧演算部１２から出力された電圧補償値を加算し、次の制御周期における印加電圧指令値Ｖａを生成する。印加電圧指令値Ｖａは出力指令演算部１５に印加され、インバータ回路２を制御するＰＷＭ指令信号が生成される。モータ３はＰＷＭ指令信号で制御されるインバータ回路２の出力に応じて回転をする。以上述べた一連の動作を所定の制御周期毎に繰り返すことによって、最終的にモータ３に印加すべき電圧の過不足分が補償される。
【００３３】
実験によって求めた無効分電流指令値Ｉｒ＊とモータ３の効率との関係を図３の（ａ）に示す。図３の（ａ）において、点線は負荷が小さい一定値のとき、実線は負荷が大きい一定値のとき、一点鎖線は負荷が上記両者の間の一定値であるときのモータ効率の変化を示している。図３の（ａ）から、一定値の負荷が加わった状態において、点線、一点鎖線、及び実線のカーブで表すモータ効率がそれぞれ一定の無効分電流指令値Ｉｒ＊で最大となることから、モータ効率が最大になる無効分電流指令値Ｉｒ＊が存在することがわかる。図３の（ｂ）は実験によって求めた無効分電流指令値Ｉｒ＊とモータ電流Ｉｓとの関係を示すグラフであり、実線、一点鎖線、点線で示す負荷の大中小は図３の（ａ）の場合と同じである。図３の（ｂ）から、一定の負荷が加わった状態において、モータ電流Ｉｓが最小になる無効分電流指令値Ｉｒ＊が存在することがわかる。図３の（ａ）及び（ｂ）からモータ効率とモータ電流Ｉｓとの関係を求めたグラフが図３の（ｃ）である。図３の（ｃ）から、モータ電流Ｉｓが最小のときモータ効率が最大となることがわかる。従ってモータ電流Ｉｓが最小となるように指令部１１の無効分電流指令値Ｉｒ＊を調節すればよい。
【００３４】
指令部１１が、モータ電流Ｉｓが最小になるように無効分電流指令値Ｉｒ＊を逐次更新する制御の各ステップを図４のフローチャートに示す。図４のステップ３１において、無効分電流検出値Ｉｒと有効分電流検出値Ｉａから式（１０）によりモータ電流Ｉｓを演算する。同ステップ３２で前回の制御周期（指令部制御周期）におけるモータ電流Ｉｓと今回の制御周期におけるモータ電流Ｉｓとの大小を比較する。指令部１１の制御周期である指令部制御周期は、モータ印加電圧指令値Ｖａを作成するモータ印加電圧制御周期とは異なるものである。モータ電流Ｉｓを検出して無効分電流Ｉｒを演算し、目標である無効分電流指令値Ｉｒ＊との誤差から印加電圧指令値Ｖａを作成する、というフィードバック制御の制御周期であるモータ印加電圧制御周期は、通常はキャリア周期（インバータ回路２をＰＷＭ駆動するスイッチング周波数の逆数）であり、この周期で無効分電流Ｉｒが無効分電流指令値Ｉｒ＊に等しくなるように制御する。
【００３５】
これに対して指令部制御周期は、無効分電流指令値Ｉｒ＊を変化させる周期である。無効分電流指令値Ｉｒ＊を上記の周期で変化させて、一定負荷、一定回転数の条件においてモータ電流Ｉｓが最小となるようにモータを制御する。安定な制御動作を実現するために、指令部制御周期はキャリア周期の５倍以上の長さにするのが望ましい。すなわち無効分電流指令値Ｉｒ＊をモータ印加電圧制御周期より長い周期で変化させてモータ電流Ｉｓの増減を検出し、モータ電流Ｉｓが最小になるように無効分電流指令値Ｉｒ＊を調節する。今回の制御周期のモータ電流Ｉｓの方が前回の制御周期のモータ電流Ｉｓよりも大きい場合、ステップ３３に進み前回の制御周期で無効分電流指令値Ｉｒ＊を増加したかどうかを判定する。無効分電流指令値Ｉｒ＊を増加していた場合は、ステップ３４に進み無効分電流指令値Ｉｒ＊を減らす。前回の制御周期で無効分電流指令値Ｉｒ＊を減少していた場合は、ステップ３５に進み無効分電流指令値Ｉｒ＊を増やす。ステップ３２で今回の制御周期のモータ電流値の方が前回の制御周期のモータ電流値よりも小さい場合、ステップ３６に進み前回の制御周期で無効分電流指令値Ｉｒ＊を増やしたかどうかを判定する。無効分電流指令値Ｉｒ＊を増やしていた場合は、無効分電流指令値Ｉｒ＊を増加する（ステップ３７）。前回の制御周期で無効分電流指令値Ｉｒ＊を減らしていた場合は、無効分電流指令値Ｉｒ＊を減少する（ステップ３８）。無効分電流指令値Ｉｒ＊を増やしたり減らしたりする時の変化量は常に一定値でもよく、また制御周期毎に変えてもよい。例えば、今回の制御周期における無効分電流指令値Ｉｒ＊と前回の制御周期における無効分電流指令値Ｉｒ＊との差に応じて変えてもよい。または、図３の（ａ）や図３の（ｂ）に示したように、負荷が大きい時は無効分電流指令値Ｉｒ＊の可変幅が小さく、負荷が小さい時は無効分電流指令値Ｉｒ＊の可変幅が大きいので、負荷が大きい時には無効分電流指令値Ｉｒ＊の変化量を小さく、負荷が小さい時には無効分電流指令値Ｉｒ＊の変化量を大きくしてもよい。可変幅は各曲線の両端間の無効分電流指令値Ｉｒ＊の範囲で表される。
【００３６】
なお、本実施例では制御周期毎にモータ電流の瞬時値を検出してその大小を比較しているが、無効分電流指令値Ｉｒ＊を変更した時点から次に無効分電流指令値Ｉｒ＊を変更する時点までの時間中のモータ電流の平均値を演算し平均値同士の大小を比較してもよい。無効分電流指令値Ｉｒ＊の変更直後はモータの駆動状態が安定せず無効分電流指令値Ｉｒ＊通りに正確に駆動されていない場合を想定し、無効分電流指令値Ｉｒ＊を変更してから所定時間経過後の時点から次の制御周期の開始時点までの時間中のモータ電流の平均値を演算して平均値同士の大小を比較してもよい。
【００３７】
本実施例では式（１０）により求めたモータ電流の大小を比較する例を説明したが、大小を比較するモータ電流値としては、平方根を取らない二乗和の値（Ｉａ２＋Ｉｒ２）であってもよい。通常は有効分電流検出値Ｉａの方が無効分電流検出値Ｉｒに比べてはるかに大きいので、無効分電流検出値Ｉｒは無視して、近似的に有効分電流検出値Ｉａのみの大小を比較してもよい。
モータ電流Ｉｓの大小を比較する代わりに、モータ３に供給する電力の大小を比較してもよい。電力を演算する方法としては、インバータ制御部５のモータ印加電圧指令値Ｖａとモータ電流Ｉｓとの乗算を行なえばよい。この時には従来から知られている、インバータ回路の上下アームの両スイッチ（図示省略）がオフしている時間（いわゆるデッドタイム）を補償したモータ印加電圧を用いてもよい。モータ電力の検出方法としては、モータ３の端子電圧を検出する検出回路を設けて、実際にモータ３に印加されている電圧を検出し、検出された電圧値とモータ電流Ｉｓとの乗算を行う方法でもよい。
このようにして、指令部１１は無効分電流指令値Ｉｒ＊を逐次更新することで、モータ電流Ｉｓあるいはモータ３に供給する電力が最小となるように無効分電流指令値Ｉｒ＊を設定することができる。
【００３８】
本実施例によれば、インバータ制御部５の指令部１１の制御動作によって、モータ３が常に最高の効率で駆動されるモータ制御装置を提供することができる。検出値が無効分電流Ｉｒ又は力率角φである場合は、その演算にモータ定数を必要としない。従って、モータ定数の異なる種々のモータに対しても特にモータ制御装置を調整することなく直ちに適用できる。
第１実施例では、指令部１１に無効分電流指令値Ｉｒ＊を設定し、無効分電流指令値Ｉｒ＊の設定値をモータ電流Ｉｓが最小になるように変化させることにより、モータ３を最大の効率で駆動できるモータ制御装置が得られた。本実施例で、前記の無効分電流指令値Ｉｒ＊の代わりに、印加電圧指令値Ｖａとモータ電流Ｉｓとの位相差φ、印加電圧指令値Ｖａと誘起電圧Ｖｏとの位相差α、ロータ軸であるｑ軸とモータ電流Ｉｓとの位相差β及びｑ軸と印加電圧指令値Ｖａとの位相差δ等の検出値の内のいずれか１つを用いて、前記無効分電流指令値Ｉｒ＊の場合と同様の制御を行うことができる。この場合には、指令部１１にその検出値を設定し、検出値演算部１０がその検出値の演算を行うように設定すればよい。この場合でも無効分電流指令値Ｉｒ＊を用いる場合と同様の効果が得られる。
【００３９】
《第２実施例》
図５は本発明の第２実施例のモータ制御装置のブロック図である。図５において、直流電源１、インバータ回路２、モータ３及びモータ電流検出部４は第１実施例のものと同じである。図５のインバータ制御部５Ａは、第１実施例の図１のインバータ制御部５と以下の点で異なっている。図１の周波数設定部６の代わりに図５では周波数設定部６Ａが設けられ、指令部１１の代わりに指令部１１Ａが設けられている。図５のインバータ制御部５Ａはさらに記憶部１７を有している。記憶部１７は周波数設定部６Ａ及び指令部１１Ａに接続されている。その他の構成は第１実施例と同様であるので重複する説明は省略する。
【００４０】
記憶部１７はフラッシュメモリやＥＥＰＲＯＭなどの不揮発性メモリで構成されており、モータ制御装置の電源が遮断されても記憶内容が消去されないメモリ装置である。周波数設定部６Ａにはモータ３の回転周波数指令値ωが設定されており、回転周波数指令値ωを記憶部１７に出力する。記憶部１７は周波数設定部６Ａ及び指令部１１Ａの出力を受けて、回転周波数指令値ω、モータ電流Ｉｓ及び無効分電流指令値Ｉｒ＊の関係を記憶する。指令部１１Ａはモータが最高の効率で駆動されているかどうかを判定し、最高の効率で駆動されていると判定した時に、モータ電流Ｉｓと無効分電流指令値Ｉｒ＊を記憶部１７に入力し記憶１７はこれらを記憶する。指令部１１Ａにおいてモータ３が最高効率で駆動されているかどうかを判定する処理を図６のフローチャートを用いて説明する。
【００４１】
指令部１１Ａは、まずステップ３９で図４に示すフローチャートのステップ３１から３８の処理を行う。次にステップ４０に進み、前回の制御周期のモータ電流Ｉｓと今回の制御周期のモータ電流Ｉｓの差（モータ電流差）が電流の所定値よりも小さいかどうかを判定する。モータ電流差が電流の所定値よりも小さい場合はステップ４１に進み指令部１１Ａの内部に設けられたカウンタ１１Ｂの計数値Ｎを１つ増やして（Ｎ＋１）にしてステップ４２に進む。モータ電流差が電流の所定値に等しいか大きいとき、ステップ４４に進みカウンタ１１Ｂの計数値Ｎを零にクリアし、指令部１１Ａの演算処理を終わる。ステップ４２において、カウンタ１１Ｂの計数値が、カウンタ１１Ｂにあらかじめ設定されている所定の計数値以上になると、ステップ４３に進む。ステップ４３において記憶部１７へモータ電流Ｉｓと無効分電流指令値Ｉｒ＊を印加して、指令部１１Ａの演算処理を終了する。
【００４２】
図６に示す処理を行うことによって、モータ電流差が小さい場合のモータ電流Ｉｓと無効分電流指令値Ｉｒ＊を検出することができる。無効分電流指令値Ｉｒ＊を変化させてもモータ電流Ｉｓが大きく変化しない場合は、図３の（ａ）から分かるように、モータ３の駆動状態が最高の効率に近い領域、すなわち山状の曲線の頂上付近の無効分電流指令値Ｉｒ＊に基づいてモータ３が駆動されているといえる。そこで、モータ３を最高の効率で駆動している時のモータ電流Ｉｓと無効分電流指令値Ｉｒ＊を記憶部１７に印加し記憶させる。なお、指令部１１Ａの動作は図６に示した処理法以外であってもよく、モータ３が最高効率で駆動されていることを判定できる検出方法を含む処理方法であればよいことはいうまでもない。図６ではモータ電流Ｉｓを検出して処理をする実施例について説明したが、第１実施例の場合と同様に、モータ電流Ｉｓの平均値やモータ３への供給電力を検出して処理を実施してもよい。
【００４３】
本実施例によれば指令部１１Ａと記憶部１７を設けることによってモータ３の効率が最高になる回転周波数指令値ω、モータ電流Ｉｓ及び無効分電流指令値Ｉｒ＊の関係をモータを駆動しつつ得ることができる。この得られた結果を記憶部１７に記憶し、記憶した結果に基づいて記憶部１７から指令部１１Ａに無効分電流指令値Ｉｒ＊を出力すれば、モータの駆動状態に応じて常に最高の効率でモータを駆動することができる。なお、本実施例は無効分電流指令値Ｉｒ＊を記憶部１７に記憶させる場合の例であるが、力率角φ、α、β、δを用いてもよい。
【００４４】
【発明の効果】
以上の各実施例で詳細に説明したように、本発明によれば、モータ電流からモータの瞬時の無効分電流、力率角、印加電圧と誘起電圧の位相差、ロータ軸と電流の位相差及びロータ軸と印加電圧の位相差のいずれか１つの検出値を求め、検出値が対応する指令値に等しくなるようにインバータ回路を制御する。このとき指令値の設定をモータが最高の効率で駆動されるように設定するので、常に最高の効率でモータを駆動できる。また、モータが最高効率で駆動される時の、モータ電流、回転周波数及び指令値の関係を記憶させることにより、記憶結果を利用して常に最高の効率でモータを駆動できる。無効分電流または力率角を検出するときはモータ定数を使用しないので、モータ定数の異なる他のモータにこのモータ制御装置を適用する場合でも調整が不要であり、利用範囲の広いモータ制御装置を提供することができる。
【図面の簡単な説明】
【図１】本発明の第１実施例におけるモータ制御装置のブロック図
【図２】（ａ）及び（ｂ）は第１実施例における、モータ印加電圧とモータ電流及びそれらの位相差を示すｄ−ｑ軸上のベクトル図
【図３】（ａ）はモータの無効分電流指令値とモータ効率の関係を示すグラフ、
（ｂ）はモータの無効分電流指令値とモータ電流の関係を示すグラフ、
（ｃ）はモータ効率とモータ電流の関係を示すグラフ
【図４】本発明の第１実施例における指令部１１の動作ステップを示すフローチャート
【図５】本発明の第２実施例におけるモータ制御装置のブロック図
【図６】本発明の第２実施例における指令部１１Ａの動作ステップを示すフローチャート
【図７】第１の従来例のモータ制御装置のブロック図
【符号の説明】
１    直流電源
２    インバータ回路
３    モータ
４    モータ電流検出部
５、５Ａ    インバータ制御部
６、６Ａ    周波数設定部
７    波形生成部
８    無効分電流演算部
９    有効分電流演算部
１０  検出値演算部
１１、１１Ａ  指令部
１２  誤差電圧演算部
１３  Ｖ／ｆ変換部
１４  加算部
１５  出力指令演算部
１６  加算部
１７  記憶部
【図１】
0004068392.tif 000012
【図２】
0004068392.tif 000013
【図３】
0004068392.tif 000014
【図４】
0004068392.tif 000015
【図５】
0004068392.tif 000016
【図６】
0004068392.tif 000017
【図７】
0004068392.tif 000018