(57)【特許請求の範囲】
【請求項１】
複数相のモータコイルを備えた同期モータを駆動・制御するモータ制御装置であって、
回転数の設定のための指令が与えられたことに応じて、前記同期モータを駆動するための駆動波データを前記複数相の各相ごとに作成する駆動波データ作成手段と、
前記複数相のうちのいずれかの特定相のモータ電流を検出してモータ電流信号を出力するモータ電流検出手段と、
前記駆動波データ作成手段によって作成された駆動波データから前記特定相のモータ駆動電圧位相を検出し、前記モータ電流検出手段から出力されたモータ電流信号との位相差を検出して位相差情報を出力する位相差検出手段と、
前記位相差検出手段から出力される位相差情報を目標の値に制御するためのデューティ基準値を算出する位相差制御手段と、
前記駆動波データ作成手段から出力される各相の駆動波データと前記位相差制御手段から出力されるデューティ基準値とを乗算して、各相ごとの出力デューティを算出するデューティ算出手段と、
複数のスイッチング素子を含み、前記デューティ算出手段によって算出された各相ごとの出力デューティに従ってパルス幅変調信号を生成して各スイッチング素子の導通を制御し、各モータコイルに通電を行なうインバータ手段とを備え、前記位相差検出手段は、前記特定相のモータ駆動電圧位相を基準とした２個所の位相期間中のモータ電流信号面積をそれぞれの位相期間で求め、２個所の位相期間中のモータ電流信号面積の面積比を算出して、これを位相差情報とすることを特徴とする、モータ制御装置。
【請求項２】
前記位相差検出手段は、前記モータ駆動電圧を基準とした２個所の位相期間中に、１位相期間当り流れるモータ電流信号をｎ回（ｎは１以上の整数）サンプリングし、サンプリングされた各電流サンプリングデータを積算して前記モータ電流信号面積として出力することを特徴とする、請求項１に記載のモータ制御装置。
【請求項３】
前記位相差検出手段は、前記モータ駆動電圧位相を基準とした位相期間中に同間隔で前記サンプリングを行ない、回転数に対応してサンプリング間隔を設定することを特徴とする、請求項２に記載のモータ制御装置。
【請求項４】
前記サンプリング回数ｎは、回転数に基づいて設定することを特徴とする、請求項２または３に記載のモータ制御装置。
【請求項５】
前記モータ駆動電圧位相を基準とした２個所の位相期間は、第１の期間をモータ駆動電圧位相の０〜９０°の期間に選び、第２の期間を９０〜１８０°の期間に選ぶことを特徴とする、請求項１から４のいずれかに記載のモータ制御装置。
【請求項６】
前記モータ駆動電圧位相を基準とした２個所の位相期間は、第１の期間をモータ駆動電圧位相の１８０〜２７０°の期間に選び、第２の期間を２７０〜３６０°の期間に選ぶことを特徴とする、請求項１から４のいずれかに記載のモータ制御装置。
【請求項７】
前記モータ駆動電圧位相を基準とした２個所の位相期間の開始後、１回目のモータ電流のサンプリング開始タイミングは、該特定相の駆動波データの基準位相を超えた駆動波データ量を補正して設定することを特徴とする、請求項２から６のいずれかに記載のモータ制御装置。
【請求項８】
前記位相差情報は、前記モータ電流信号面積の面積比をｍ回分（ｍは１以上の整数）平均化して求めることを特徴とする、請求項１から７のいずれかに記載のモータ制御装置。
【請求項９】
前記位相差情報の平均化回数ｍは回転数に基づいて設定することを特徴とする、請求項８に記載のモータ制御装置。
【請求項１０】
前記位相差制御手段は、前記位相差情報と目標位相差情報との誤差データに対する比例積分制御演算で構成されることを特徴とする、請求項１に記載のモータ制御装置。
【請求項１１】
前記位相差制御手段で設定される制御ゲインは回転条件あるいは目標位相差情報に応じて設定されることを特徴とする、請求項１に記載のモータ制御装置。
【請求項１２】
前記目標位相差情報は、回転条件によって最適な値に設定することを特徴とする、請求項１０に記載のモータ制御装置。
【請求項１３】
１回の前記モータ駆動電圧位相を基準とした２個所の位相期間終了後は、前記モータ電流信号面積の面積比演算と位相差情報平均化の時間を設け、この間一連の位相差検出処理を行なわないことを特徴とする、請求項１から１２のいずれかに記載のモータ制御装置。
【請求項１４】
少なくとも前記位相差検出手段の処理は、制御マイクロコンピュータの処理ルーチンのメインループ内で行なうことを特徴とする、請求項１から１３のいずれかに記載のモータ制御装置。
【請求項１５】
前記駆動波は正弦波であることを特徴とする、請求項１に記載のモータ制御装置。
【請求項１６】
前記駆動波は、電流波形とロータ磁石磁束波形がほぼ同波形となるように設定することを特徴とする、請求項１に記載のモータ制御装置。
【請求項１７】
前記位相差制御手段で設定される制御ゲインは、前記モータ電流検出手段で設定されるオフセット値に応じて設定されることを特徴とする、請求項１から１６のいずれかに記載のモータ制御装置。
【請求項１８】
前記位相差制御手段で設定される制御ゲインは、前記モータ電流信号の振幅値に応じて設定されることを特徴とする、請求項１から１６のいずれかに記載のモータ制御装置。
【請求項１９】
前記モータ電流検出手段で設定されるモータ電流の増幅率は、前記モータ電流信号の振幅が常に一定になるような値に設定されることを特徴とする、請求項１から１８のいずれかに記載のモータ制御装置。
【請求項２０】
前記位相差制御手段における位相差の目標値である目標位相差情報は、位相差情報の検出点に応じて設定されることを特徴とする、請求項１から１９のいずれかに記載のモータ制御装置。
【請求項２１】
前記位相差検出手段における位相差情報の演算方法も、前記目標位相差情報の設定と同様にして、位相差情報の検出点に応じて設定されることを特徴とする、請求項２０に記載のモータ制御装置。
【請求項２２】
前記位相差制御手段において、モータ電流位相変動に対する位相差情報変化量が小さい検出点におけるデューティ基準値の算出をキャンセルすることを特徴とする、請求項２０に記載のモータ制御装置。
【請求項２３】
さらに、複数相のモータ電流信号を検出し、位相差情報の検出点によって参照するモータ電流信号を選択することを特徴とする、請求項２０に記載のモータ制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明はモータ制御装置に関し、特に、空気調和機の圧縮機などに用いられ、複数相のコイルを備えた同期モータをセンサを用いることなく駆動できるようなモータ制御装置に関する。
【０００２】
【従来の技術】
従来、複数相のコイルを備えた同期モータを駆動する場合、モータロータに対して適切なタイミングでモータ電流を流すことおよびコイル端子に電圧を印加することのいわゆる通電タイミングの最適化が重要となっていた。この通電タイミングの基準を検出するために、逆起電圧を検出する方法や、ゼロクロス電流位相を検出する方法が存在する。
【０００３】
たとえば、モータロータ位置センサを用いずにモータを制御・駆動するいわゆるセンサレス駆動においては、モータコイルへの通電を行なう際に、一定期間の通電休止期間を設け、その間にモータの回転によってモータコイルに発生する逆起電圧をモータコイル端子から検出し、この逆起電圧からモータへの通電タイミングを決定する、いわゆる矩形波１２０°通電などの間欠駆動であり、現在のセンサレス駆動においては、この駆動方法は一般的に行なわれている。以後、この従来技術を従来例１と称する。
【０００４】
また、従来例２として、特開昭６１−８８７８４号公報に示されている制御装置では、三相のモータコイル中性点と該三相コイルと並列に抵抗を接続し、この中性点と抵抗中性点との電圧を比較することでモータ逆起電圧を検出し、これからモータへの通電タイミングを決定する方法があり、この場合は通電に際しての休止期間を特に設ける必要がなく、正弦波通電をはじめとするいわゆる１８０°通電が可能である。
【０００５】
さらに、従来例３として、特開平５−２３６７８９号公報に示される駆動装置出は、モータ電流ゼロクロス時におけるモータ電圧位相を検出し、この電圧位相を基準とするモータ電流位相を検出して、このモータ電流位相が所望の電流位相となるように電圧指令、あるいは周波数指令を演算する方式が示されている。この場合も通電に際しての休止期間を特に設ける必要がなく、正弦波通電をはじめとするいわゆる１８０°通電が可能である。
【０００６】
【発明が解決しようとする課題】
上述の従来例１による方法は、間欠駆動であるのでモータ電流を滑らかに流すことができない。このために振動，騒音が大きく発生してしまうという課題がある。また、通電休止期間が存在するということは、ロータに磁石を配したモータの場合、磁石磁束をすべての期間で利用することができないので、モータ効率が低下してしまうという問題もある。
【０００７】
従来例２および従来例３による方法では、正弦波通電をはじめとする１８０°通電が可能である。この１８０°通電は、通電休止期間を設けずに各モータコイル端子に正弦波などの電圧を連続的に印加するものであるので、上記従来例１のような振動，騒音，モータ効率低下といった問題は存在せず、低騒音で効率のよいモータ駆動が可能である。また、正弦波通電は滑らかな回転磁界の発生が可能であり、さらに磁束波形と同波形となる電流が通電できるような波形を通電すれば効率のよいトルクの発生が可能となる。
【０００８】
しかしながら、従来例２では、スター結線されているモータコイルの中性点から検出線を引出さなければならず、これは本来駆動用コイル巻線として巻かれている領域を割いて引出す必要がある。また、この引出線の取回しによっては、引出線そのものにさらに逆起電圧の影響が現われてしまうことも考えられ、コイル巻線の配置を再設計する必要がある。さらに、一般に圧縮機に内蔵されているモータでは、密閉された圧縮機内からこの中性点引出線を引出すための専用の端子を追加しなければならず、コネクタなどのコストアップの面でも問題があった。
【０００９】
一方、従来例３の方式は、モータ電流センサとこれに付随するアンプ回路を搭載するだけであり、従来例２のようにモータ内部から専用線を引出す必要もなく、正弦波通電をはじめとする１８０°通電が可能である点で効果的な方法である。
【００１０】
しかしながら、従来例３では、モータコイル電流のゼロクロスを検出するような構成であるので、モータコイル電流にノイズが混入した場合には電流位相の誤検出となり、正確な位相制御ができない。このような誤検出でのモータ駆動は、モータ端子電圧と逆起電圧との位相が合っていないため、効率のよい通電タイミングでの駆動ができないだけでなく、最悪の場合にはモータが急停止してしまうことが考えられ、また過大なモータ電流が流れてしまうため、駆動素子が破壊されてしまうことも懸念される。
【００１１】
また、従来例３ではこのモータ電流のチャタリングによる誤検出防止のため、抵抗ＲとコンデンサＣからなるローパスフィルタを付加するような構成であるが、従来例３に示されているような定数を用いた一次フィルタでは、キャリア周波数成分は２０ｄＢ（約１／１０）程度しか除去できない。このため、完全にノイズ，キャリア周波数成分を除去することは困難であり、誤検出を防止することは困難である。また、フィルタをさらに高次のものにするのは、回路の規模の増大，回路定数設計の手間などから採用し難く、たとえ高次フィルタを構成しても誤検出に対する懸念をなくすことはできない。さらに、ゼロクロス検出部にヒステリシスを設けるなどの対策も考えられるが、この場合、ヒステリシスで設定されたゼロクロス幅として検出されるため、正確なゼロクロスポイントの検出は困難となってしまう。
【００１２】
また、実際に正弦波１８０°通電を行なったときの、ある１相の電流波形を図２９および図２８に示し、これをもとに従来例３の課題について詳細に説明する。
【００１３】
図２４および図２５ともに空気調和機用圧縮機モータを駆動させたものであり、図２４は６５０ｒｐｍの低速回転を行なった場合を示し、図１８は５４００ｒｐｍの高速回転を行なった場合について示している。
【００１４】
まず、図２４は純粋な正弦波電圧をＰＷＭ変調して印加していても、モータ電流波形は純粋な正弦波とはならず、ゼロクロスによる位相差検出が困難であることを示すモータ電流波形である。
【００１５】
ここで、注目すべき点は、図２４の→部分で示した電流ゼロクロス付近の電流波形である。このようにゼロクロス付近の電流波形が平坦に近い波形となってしまうことがある。これには、回転条件（回転数，トルク）、使用するモータの逆起電圧波形（磁束分布波形）の影響、通電タイミング、キャリア周波数の影響、駆動素子デッドタイムの影響などの原因が考えられ、特に回転数が低く（すなわち、電流周波数が低い）、負荷トルクが小さい（すなわち、電流振幅が小さい）ときに顕著に現れる。
【００１６】
この平坦な波形をもとにゼロクロスするのは、ノイズなどの影響で誤検出しやすいのは言うまでもない。また、フィルタで平滑化してもモータ電流の傾斜が緩やかで誤検出の頻度が高いことには変わりない。
【００１７】
次に、図２５は、図２４と同じく純粋な正弦波電圧をＰＷＭ変調して印加していても、モータ電流に他の周波数成分が重畳されて電流クロスが振られてしまっていることを示す波形である。これには、ＡＣ電源の負荷変動や、ＡＣ／ＤＣコンバータ後のＤＣ電圧の変動や、電流センサ出力への電源電流あるいは他相のコイル電流の混入や、電流センサ電源の変動や、負荷変動などの原因が考えられる。特に、大電流が流れる高速高トルク時に顕著に現れる。このような波形をもとに、図２５の０レベルでの位相検出を行なっても、実際の位相情報とは異なり、誤検出してしまうことは言うまでもない。このような電流波形において、正確な電流ゼロクロスを検出するためには、この重畳された周波数成分に合せてゼロクロスポイントを変更していく必要があり、その実現は非常に困難であり、実現するためには該低周波成分の検出部が必要となり、コストアップは増大なものとなってしまう。
【００１８】
このように、従来例３の電流ゼロクロス割込による位相検出では、電流エッジのみしか検出していないため、種々の誤検出が生じてしまい、正確な位相差制御やモータ駆動が困難となる。
【００１９】
それゆえに、この発明の主たる目的は、位相差情報を簡単かつ正確に検出することができ、同期モータを低騒音，低振動，高効率で駆動できるようなモータ制御装置を提供することである。
【００２０】
この発明の他の目的は、モータ電流面積の検出を簡略化し低コスト化できるとともに、高精度で行なうことができるようなモータ制御装置を提供することである。
【００２１】
【課題を解決するための手段】
請求項１の発明は、複数相のモータコイルを備えた同期モータを駆動・制御するモータ制御装置であって、回転数の設定のための指令が与えられたことに応じて、同期モータを駆動するための駆動波データを複数相の各相ごとに作成する駆動波データ作成手段と、複数相のうちのいずれかの特定相のモータ電流を検出してモータ電流信号を出力するモータ電流検出手段と、駆動波データ作成手段によって作成された駆動波データから特定相のモータ駆動電圧位相を検出し、モータ電流検出手段から出力されたモータ電流信号との位相差を検出して位相差情報を出力する位相差検出手段と、位相差検出手段から出力される位相差情報を目標の値に制御するためのデューティ基準値を算出する位相差制御手段と、駆動波データ作成手段から出力される各相の駆動波データと位相差制御手段から出力されるデューティ基準値とを乗算して、各相ごとの出力デューティを算出するデューティ算出手段と、複数のスイッチング素子を含み、算出された各相ごとの出力デューティに従ってパルス幅変調信号を生成して各スイッチング素子の導通を制御し、各モータコイルに通電を行なうインバータ手段とを備え、位相差検出手段は、特定相のモータ駆動電圧位相を基準とした２個所の位相期間中のモータ電流信号面積をそれぞれの位相期間で求め、２個所の位相期間中のモータ電流信号面積の面積比を算出してこれを位相差情報とするようにしたものである。
【００２２】
請求項２の発明では、第１発明の位相差検出手段は、モータ駆動電圧を基準とした２個所の位相期間中に、１位相期間当り流れるモータ電流信号をｎ回（ｎは１以上の整数）サンプリングし、サンプリングされた各電流サンプリングデータを積算してモータ電流信号面積として出力する。
【００２３】
請求項３の発明では、第１発明の位相差検出手段は、モータ駆動電圧位相を基準とした位相期間中に同間隔でサンプリングを行ない、回転数に対応してサンプリング間隔を設定する。
【００２４】
請求項４の発明では、第２または第３発明のサンプリング回数ｎを回転数に基づいて設定する。
【００２５】
請求項５の発明では、第１から第４発明におけるモータ駆動電圧位相を基準とした２個所の位相期間は、第１の期間をモータ駆動電圧位相の０〜９０°の期間に選び、第２の期間を９０〜１８０°の期間に選ぶ。
【００２６】
請求項６の発明では、モータ駆動電圧位相を基準とした２個所の位相期間は、第１の期間をモータ駆動電圧位相の１８０〜２７０°の期間に選び、第２の期間を２７０〜３６０°の期間に選ぶ。
【００２７】
請求項７の発明では、モータ駆動電圧位相を基準とした２個所の位相期間の開始後、１回目のモータ電流のサンプリング開始タイミングは、特定相の駆動波データの基準位相を超えた駆動波データ量を補正して設定する。
【００２８】
請求項８の発明では、位相差情報はモータ電流信号面積の面積比をｍ回分（ｍは１以上の整数）平均化して求める。
【００２９】
請求項９の発明では、位相差情報の平均化回数ｍは回転数に基づいて設定する。
【００３０】
請求項１０の発明では、位相差制御手段は、位相差情報と目標位相差情報との誤差データに対する比例積分制御演算で構成される。
【００３１】
請求項１１の発明では、位相差制御手段で設定される制御ゲインは回転条件あるいは目標位相差情報に応じて設定される。
【００３２】
請求項１２の発明では、目標位相差情報は、回転条件によって最適な値に設定する。
【００３３】
請求項１３の発明では、１回のモータ駆動電圧位相を基準とした２個所の位相期間終了後は、モータ電流信号面積の面積比演算と位相差情報平均化の時間を設け、この間一連の位相差検出処理を行なわない。
【００３４】
請求項１４の発明では、少なくとも位相差検出手段の処理は、制御マイクロコンピュータの処理ルーチンのメインループ内で行なう。
【００３５】
請求項１５の発明では、駆動波は正弦波である。
請求項１６の発明では、駆動波は電流波形とロータ磁石磁束波形がほぼ同波形となるように設定する。
【００３６】
請求項１７の発明では、請求項１から１６の位相差制御手段で設定される制御ゲインは、モータ電流検出手段で設定されるオフセット値に応じて設定されることを特徴とする。
【００３７】
請求項１８の発明では、請求項１から１６の位相差制御手段で設定される制御ゲインは、モータ電流信号の振幅値に応じて設定されることを特徴とする。
【００３８】
請求項１９の発明では、請求項１から１８のモータ電流検出手段で設定されるモータ電流の増幅率は、モータ電流信号の振幅が常に一定になるような値に設定されることを特徴とする。
【００３９】
請求項２０の発明では、請求項１から１９の位相差制御手段における位相差の目標値である目標位相差情報は、位相差情報の検出点に応じて設定されることを特徴とする。
【００４０】
請求項２１の発明では、請求項２０の位相差制御手段における位相差情報の演算方法も目標位相差情報の設定と同様に位相差情報の検出点に応じて設定されることを特徴とする。
【００４１】
請求項２２の発明では、請求項２０の位相差制御手段において、モータ電流位相変動に対する位相差情報変化量が小さい検出点におけるデューティ基準値の算出をキャンセルすることを特徴とする。
【００４２】
請求項２３の発明では、請求項２０において複数相のモータ電流信号を検出し、位相差情報の検出点によって参照するモータ電流信号を選択することを特徴とする。
【００４３】
【発明の実施の形態】
図１はこの発明の一実施の形態のモータ制御装置のブロック図である。図１において、ステータに複数相（３相）のコイル，ロータに永久磁石を備えた同期モータ１を駆動するために、インバータ部２とコンバータ回路３とＡＣ電源４と電流センサ５とモータ電流検出アンプ部６とマイクロコンピュータ（以下、マイコンと称する）とから構成されている。同期モータ１はインバータ２によって駆動され、インバータ２にはコンバータ回路３からＡＣ電源４を直流に変換して与えられる。電流センサ５はモータコイル端子Ｕ，Ｖ，Ｗ各相の中で特定相（図１ではＵ相）に流れるモータ電流ａを検出する。電流センサ５で検出されたモータ電流はモータ電流検出アンプ部６に与えられ、所定量増幅およびオフセット加算してモータ電流信号ｂがマイコン７に与えられる。
【００４４】
マイコン７は位相差検出部８と目標位相差情報格納部９と加算器１０とＰＩ演算部１１と回転数設定部１２と正弦波データテーブル１３と、正弦波データ作成部１４とＰＷＭ作成部１５の各処理をソフト的に行なう。位相差検出部８はモータ電流検出アンプ部６から与えられたモータ電流信号を所定のタイミングでＡ／Ｄ変換して取込み、２個所のモータ駆動電圧位相期間ごとにサンプリングした各電流サンプリングデータを積算してモータ電流信号面積とし、両モータ電流信号面積の面積比を位相差情報として出力する。目標とする位相差情報は目標位相差情報格納部９に格納される。目標位相差情報と位相差情報との誤差データは加算器１０によって算出される。ＰＩ演算部１１は算出された誤差データに対して比例誤差データおよび積分誤差データを算出してデューティ基準値を出力する。なお、加算部１０とＰＩ演算部１１とによって位相差制御部が構成される。
【００４５】
回転数設定部１２は同期モータ１の回転数指令を設定し、正弦波データテーブル１３は所定のデータ個数のテーブルを含む。正弦波データ作成部１４は回転数指令と時間経過に従って正弦波データテーブル１３からモータコイルＵ，Ｖ，Ｗ各相に対応した正弦波データを読出すとともに、Ｕ相の正弦波データからＵ相のモータ駆動電圧位相情報ｃを出力する。ＰＷＭ作成部１５は正弦波データとデューティ基準値とから各相ごとにインバータ２の駆動素子にＰＷＭ波形を出力する。
【００４６】
なお、電流センサ５はコイルとホール素子で構成されたいわゆる電流センサでもよく、カレントトランスでもよい。また、１相だけでなく各相のモータ電流を検出するとさらに高精度にすることができる。さらに、正弦波データの作成は正弦波データテーブル１３をもとに作成せずに、演算によって作成してもかまわない。さらに、エレメント８〜１５の構成要素はマイコン７で処理されるようにしたが、特にこれに限ることなく同様の処理をしていればハード構成で構成してもよい。
【００４７】
なお、モータの駆動波形は正弦波とした場合についての構成であるが、正弦波形にすることで滑らかなモータ電流の供給が可能となるために振動，騒音が少なくできる。しかしながら、これに限らず、モータロータの磁束に合せたモータ電流が得られるような駆動波形を通電すれば、より高効率な駆動が可能となる。
【００４８】
２個所のモータ駆動電圧位相期間で検出された２つのモータ電流信号面積は、位相差検出部８で面積比が計算され、この結果が位相差情報とされる。この位相差情報と目標位相差情報との誤差量に対してＰＩ演算部１１でＰＩ演算が行なわれ、ＰＷＭ作成部１５はその出力であるデューティ基準値と別途回転指令から求まる正弦波データとから、その都度の出力デューティ比を計算してＰＷＭ信号を作成し、インバータ２を介してモータコイルに印加することで同期モータ１が駆動される。
【００４９】
すなわち、モータ駆動電圧（出力デューティ）に対するモータ電流位相差を一定に制御するための位相差制御フィードバックループによって駆動電圧の大きさ（ＰＷＭデューティのデューティ幅）を決定し、同期モータ１を所望の回転数で回転させるために所望の周波数で出力される正弦波データによって回転数を決定する。これによって、所望の位相差，所望の回転数でモータを駆動・制御することができる。
【００５０】
なお、モータ起動時は各相に強制的に通電し、回転磁界を与えていき、強制励磁で行ない、通常駆動時に上記方法で制御を行なえばよい。
【００５１】
ここで、この発明の一実施形態による位相差制御によって同期モータが駆動・制御できることを、ＩＰＭ（Interior Permanent Magnet）モータでの実験結果をもとに説明する。周知のように、永久磁石をロータ内部に埋込んだ形状のいわゆるＩＰＭモータの場合、磁石磁束とコイル電流に伴って発生するフレミングトルク（磁石トルクと呼ばれることもある）と、ロータ形状によってモータコイルのインダクタンスが変化することを利用したリラクタンストルクとを併用することが行なわれており、このフレミングトルクとリラクタンストルクとの和が最大となるロータとステータの相対位置は回転条件によって変化することが知られている。
【００５２】
ここで、このＩＰＭモータを高効率に駆動させるためには、前記ロータとステータの相対位置を検出し、最適な位置関係でモータコイルに通電を行なうために、通電タイミングの最適化が必要となる。また、同期モータの場合、効率を考えずに単に駆動させる場合であっても、通電タイミングをある範囲の値にしておかなければ、ブレーキトルクが発生してモータが停止してしまうことがある。前述の従来例１および２では、このロータとステータの相対位置を検出するために逆起電圧を利用していた。
【００５３】
図２はこの発明の一実施形態の位相差制御でモータを駆動したときの実験結果として、前記位相差情報と、エンコーダで測定したロータとステータの相対位置の関係を示す。ただし、回転条件は、回転数１０００ｒｐｍ／トルク１５ｋｇｆｃｍとした。
【００５４】
この発明の一実施形態の位相差制御は、直接ロータとステータの相対位置を検出するものではない。しかしながら、図２に示すように、位相差情報と、ロータステータの相対位置は、ほぼ比例関係であることがわかる。したがって、位相差情報を所定の値に制御することで、間接的にロータとステータの相対位置を制御できることになり、目標とする位相差情報を最適化することで最高の効率が得られる通電タイミングでモータを駆動することができる。
【００５５】
また、図３は駆動電圧（デューティ基準値）に対する位相差情報の関係を、図２と同様の条件で実際にモータを駆動させて測定した実験結果である。このように駆動電圧（デューティ基準値）を増減することによって位相差情報を制御できることがわかる。
【００５６】
つまり、一定の回転数時に駆動電圧（デューティ基準値）を増減させると電流／電圧位相差（位相差情報）が変化することであり、この実施形態の構成の位相差情報によって駆動電圧（デューティ基準値）を増減させる位相差制御フィードバックループが有効であることがわかる。
【００５７】
また、上記実験結果から、実際のモータ電流は純粋な正弦波ではなく、ロータ磁束に関する歪み成分などが重畳されているが、それでもこの発明の実施形態の位相差制御が可能となる。この位相差検出方法である面積比による位相差情報の検出精度は十分であることがわかるし、ゼロクロスなどモータ電流のある一点を検出するような位相差検出方法に比べて上述の課題を解消でき、検出精度を高めることができる。
【００５８】
なお、これら実験結果の各特性はほぼ比例すると見られるが、厳密には完全な直線ではない。これは測定誤差の他に、モータ電流の歪みが原因と考えられる。このため、位相差制御形の制御系ゲインが位相差の値によって変化してしまうが、この非線型性を見越して制御系としてのゲインを設定すればよいし、さらに位相差の値によって制御系のゲインを変更すればさらに高精度の制御系が構成できる。
【００５９】
また、回転条件によっても各特性の傾きが変化することも考えられるが、回転条件による制御系ゲインの変化量を見越して制御系を構成すればよいし、さらに回転条件によって制御系の増幅度を変更すればさらに高精度な制御を構成できる。
【００６０】
なお、この実験においては、モータ電流検出アンプ部には反転増幅器を使用した。
【００６１】
次に、回転数の設定について正弦波データテーブルを使用して設定する方法およびＰＷＭ出力について説明する。
【００６２】
この発明の一実施形態の位相差制御方式は、逆起電圧パルスなどを検出して速度制御を行なう従来方式とは異なり、モータ回転数はモータコイルに通電する正弦波電圧（ＰＷＭ）の周波数で決定される、いわゆる強制励磁駆動である。
【００６３】
正弦波データテーブル１３は不揮発性メモリに記憶されたＬＵＴ（ルック・アップ・テーブル）であり、それには連続的にＤ／Ａ変換すると正弦波波形が出力されるデータ列が格納されている。たとえば、１周期分の正弦波データ個数が３６０個の正弦波データで構成されていたとすると、それぞれ正弦波データは電気角で１°ごとに対応する値となる。
【００６４】
以下、１周期分３６０個の正弦波データ列で構成された正弦波データテーブルについて説明し、ＰＷＭキャリア周波数ｆは３ｋＨｚとし、また１組について正弦波２周期で同期モータが１回転するものとする。
【００６５】
正弦波１８０°通電の場合、モータ駆動電圧（出力デューティ）を正弦波波形にする必要があるため、ＰＷＭキャリア周期ごとに正弦波データを更新する必要がある。また、同期モータ１回転分には３６０×２＝７２０回の更新が必要である。
【００６６】
ここで、ＰＷＭキャリア周期ごとに正弦波データテーブルの参照データを１つずつ更新していくとすれば、ＰＷＭキャリア周期Ｔは
１／３０００［Ｈｚ］＝０．３３３［ｍｓｅｃ］
になるので、１回転には
７２０×０．３３３［ｍｓｅｃ］＝０．２４［ｓｅｃ］
が必要であり、約２５０ｒｐｍの回転数で回転することとなる。つまり、モータ回転数はモータの構造的なものを除外すると、ＰＷＭキャリア周波数と正弦波データテーブル１３の参照データの更新間隔で決まる。また、たとえばコイル相数が３相であれば、それぞれの相のデータは、電気角で１２０°ずつずらした正弦波データを参照すればよい。なお、その都度正弦波演算を行なって正弦波データを作成してもよい。
【００６７】
これら求められた各相ごとの正弦波データは、位相差制御によって算出されたデューティ基準値と乗算され、いわゆるＰＷＭ波形発生器などのＰＷＭ作成部１５に入力されてＰＷＭ波形が出力される。このＰＷＭ波形発生器の概要は、たとえばＰＷＭキャリア周期で三角波を作成し、この三角波の波高値と前記乗算された値とを比較し、比較結果に基づいて「Ｈ」レベル／「Ｌ」レベルの信号を出力する。
【００６８】
ＰＷＭ波形発生器は専用のＩＣで構成され、あるいは制御用マイコンの機能として設けられることが多く、これらを利用することで各駆動素子に対応したＰＷＭ波形を簡単に得ることができる。続いて、この発明の特徴となる位相差情報の検出からデューティ基準値の算出までの処理および構成について説明する。
【００６９】
図４は位相差情報検出の原理を説明するための波形図である。Ｕ相のモータ電流ａは０レベルを中心としたほぼ正弦波状の波形とする。このモータ電流ａをモータ電流検出アンプ部６によって増幅し、オフセット設定してモータ電流信号ｂを作成する。これはモータ電流ａをマイコン７に内蔵されているＡ／Ｄ変換器の変換可能電圧範囲（たとえば０〜＋５Ｖ）に合せるために行なわれる。
【００７０】
また、Ｕ相のモータ駆動電圧位相情報ｃは正弦波データ作成部１４でＵ相の正弦波データから作成される。なお、モータ駆動電圧位相情報ｃは、実際には正弦波波形とする必要はなく、位相情報だけがわかっていればよい。
【００７１】
位相差検出部８には図４（ｂ）に示すようなモータ電流信号ｂと図４（ｃ）に示すモータ駆動電圧位相情報ｃが入力される。位相差検出部８では、モータ駆動電圧位相情報ｃから予め決められた所定の位相期間θ０，θ１においてモータ電流信号ｂのサンプリングを所定のサンプリング位相（サンプリングタイミング）ｓ０〜ｓ３で１位相期間当りｎ回（図４の場合２回）行ない、各位相期間θ０およびθ１でのモータ電流信号面積をそれぞれＩＳ０およびＩＳ１として、各々サンプリングされて電流サンプリングデータを積算する。
【００７２】
すなわち、
Ｉｓ０＝Ｉ０＋Ｉ１
Ｉｓ１＝Ｉ２＋Ｉ３
そして、各モータ電流信号面積Ｉｓ０，Ｉｓ１の比を計算してこれを位相差情報とする。この処理について図５に示すフローチャートを参照して説明する。
【００７３】
図５（ａ）は位相差情報を検出する位相差検出ルーチンであり、図５（ｂ）はサンプリングタイミングが到来したかをタイマの値などで検出して、サンプリングを開始させるサンプリング開始ルーチン（タイマ割込ルーチン）である。なお、特にこのような処理構成でなくても同様の考え方で処理を行なっていればよい。
【００７４】
図５（ａ）に示すステップ（図示ではＳＰと略する）ＳＰ１において、サンプリング位相ｓ０のサンプリングタイミングを、モータの回転数とタイマのカウント周期から、サンプリング開始ルーチンの割込値として設定し、サンプリング回数ｎなどの各変数を初期化する。これはモータ回転開始直後、あるいは位相期間θ０の直後または位相期間θ０の前に１度だけ行なわれ、それ以降のサンプリングタイミング設定はサンプリング開始ルーチンで行なわれる。
【００７５】
ステップＳＰ２以降はループ処理であり、ステップＳＰ１が行なわれた後は、位相差情報の検出が終了するまでこのループ処理が繰返され、次回の位相期間θ０で再度ループ処理が行なわれる。ステップＳＰ２では、サンプリング開始ルーチンで開始指令されたサンプリングが終了したかを検出する。終了していればステップＳＰ３に進み、終了していなければ以下の処理が行なわれるが、ループ処理中なので結果的にサンプリングが終了したかを検出し続けることとなる。
【００７６】
ステップＳＰ４においてサンプリング回数が１回更新される。ステップ５では、現在の位相期間がθ０あるいはθ１かが判断され、判断結果によってステップＳＰ６またはＳＰ７の処理を行なう。この判断はサンプリング回数ｎで行なえばよい。
【００７７】
ステップＳＰ６あるいはＳＰ７では、サンプリング回数が所定回数（２回あるいは４回）になったかを判断し、所定回数（２回あるいは４回）であれば、ステップＳＰ８あるいはＳＰ９の処理を行なう。ステップＳＰ８あるいはＳＰ９では、それぞれの位相期間でのサンプリングが終了したものとして、電流サンプリングデータの積算（Ｉ０＋Ｉ１，Ｉ２＋Ｉ３）を行ない、モータ電流信号面積Ｉｓ０あるいはＩｓ１を計算する。ステップＳＰ１０では、モータ電流信号面積Ｉｓ０およびＩｓ１両方の計算が終了したかを判断し、終了していなければループ処理に戻る。
【００７８】
ステップＳＰ１１においては、モータ電流信号面積Ｉｓ０およびＩｓ１の計算が終了していたとして、両面積データの比（Ｉｓ０／Ｉｓ１）を計算して、これを位相差情報とする。そして、一連の位相差検出ルーチン（ループ処理）が終了する。
【００７９】
また、図５（ｂ）に示すサンプリング開始ルーチン（タイマ割込ルーチン）は、タイマ割込が設定されたサンプリングタイミングで処理が開始され、ステップＳＰ１２では次回のサンプリングタイミングを予め決めておいたサンプリング位相に従ってサンプリング開始ルーチンの割込値として設定される。ステップＳＰ１３では、Ａ／Ｄ変換器に電流サンプリング開始を指示して終了する。
【００８０】
このように、サンプリング開始ルーチンの処理の中で次回のサンプリングタイミングの設定を行なうのは、現在のタイマカウント値がわかっている（≒今回のタイマ割込値）、現在のモータ電圧位相がわかっている（≒今回のサンプリング位相）ためであり、このようにすることで改めてタイマカウント値、モータ電圧位相を参照する必要がなくなり、効率的な処理が可能となる。しかしながら、厳密には今回のタイマ割込値、今回のサンプリング位相は、割込が発生した時点での値であり、ステップＳＰ１２を行なう時点でのタイマカウント値、モータ電圧位相とはわずかながら異なってしまう。したがって、厳密なサンプリングタイミングの設定が必要であれば、その都度タイマカウント値およびモータ電圧位相を参照するのが望ましい。
【００８１】
ここで、モータ電流のサンプリングタイミングは、予め決めておいたサンプリング位相に従って、モータ回転数とタイマ周期とから、その都度所定の値にタイマ割込値を設定することで任意に決めることができる。この設定方法は具体的にはたとえば前記と同じく正弦波２周期でモータが１回転するとし、モータ回転数が３０００ｒｐｍのときにモータ電圧位相３０°のときにサンプリングを開始するとして、モータ電圧位相０°のときに設定を行ない、また電流サンプリングタイマのカウント分解能は１μｓｅｃとすると、モータ電圧位相が０°から３０°になるまでの時間は、正弦波１周期の時間が１０ｍｓｅｃなので、
０．０１［ｓ］＊３０［°］／３６０［°］＝８３３［μｓｅｃ］
であり、電流サンプリングタイマのカウントとしては、
８３３［μｓｅｃ］／１［μｓｅｃ／カウント］＝８３３［カウント］
となる。つまり、モータ電圧位相０°のときのタイマのカウント値に８３３を加算し、これをタイマ割込値とすれば、モータ電圧位相３０°でタイマ割込が発生して電流のサンプリングが開始される。なお、前述のようにモータ回転数は正弦波データの周期によって決まる、つまりマイコン７側で決まるものであるので、正確なモータ電圧位相でのサンプリングが可能となる。
【００８２】
また２個所の位相期間でのサンプリングタイミングをどのように設定するかについては、各サンプリングタイミングは常にモータ電圧の同じ位相にサンプリングされ、また図２および図３に示す特性のように、ほぼ比例関係が保たれ、かつ１つの位相差情報に対しては１つのロータステータ相対位置あるいは駆動電圧（出力デューティ）が得られるようなタイミングであれば問題はない。しかしながら、図４に示すように、モータ電圧位相９０°を中心として線対称となる位相で（位相９０°地点からの各サンプリングタイミングまでの位相が、それぞれの位相期間のサンプリングタイミングで同じとなる位相で、また言い換えれば実際の位相差が０のときには両モータ電流信号面積が同値として検出されるような位相で）、各位相期間における電流サンプリングを行なえば、位相差制御設計が容易となる。
【００８３】
さらに、モータ電圧位相の各位相期間はまとまっている必要もなく、たとえば図４においてＩ０とＩ５の積算値は第１の位相期間のモータ電流信号面積とし、Ｉ２とＩ７の積算値を第２の位相期間のモータ電流信号面積と分割してもよく、これらは制御系の処理時間の余裕度などから決めればよい。
【００８４】
また、位相期間θ０とθ１における位相差情報（Ｉｓ０／Ｉｓ１）検出後の位相差検出は、位相期間θ１とθ２を利用して、位相差情報（Ｉｓ２／Ｉｓ１）の計算を行なうことでより高速な位相差情報の検出が可能となる。
【００８５】
ここで、モータ電流のサンプリングタイミングの設定、すなわちタイマ割込値の設定を簡略化する方法について説明する。
【００８６】
図６はモータ電流信号ｂとモータ駆動電圧位相情報ｃの波形図である。図６において、モータ駆動電圧位相情報ｃに基づく所定の位相期間θ０，θ１間でのサンプリング回数はそれぞれ３回としている。ここで注目すべきは、各位相期間内での電流サンプリングタイミングを同じ値のサンプリング期間θｓ＝ａにしている、つまり同じ間隔でサンプリングを行なうことである。
【００８７】
前述のサンプリングタイミングの設定方法に従って、各位相期間の最初にθｓを計算した後は、以降のタイマ割込値では現在のタイマカウント値θｓを加算するだけでよい。このように一定のタイミングとすることで、図５（ａ）のステップＳＰ１２でのサンプリングタイミング設定、すなわちタイマ割込値の計算を軽減することができる。さらに、このサンプリングタイミングの設定および２個所の位相期間の設定について有効な方法について説明する。
【００８８】
図７（ａ）はモータ電圧位相における第１の位相期間をモータ電圧位相０〜９０°，第２の位相期間を９０〜１８０°としたときの波形図である。また、各サンプリングタイミングはすべてθｓ＝ａという等間隔の位相間隔でｎ回（図７（ａ）の場合５回ずつ計１０回）サンプリングするように設定している。そして、位相差情報はθ０でのモータ電流信号面積Ｉｓ０として、
Ｉ０＋Ｉ１＋Ｉ２＋Ｉ３＋Ｉ４
を積算し、θ１でのモータ電流信号面積Ｉｓ１として、
Ｉ５＋Ｉ６＋Ｉ７＋Ｉ８＋Ｉ９
を積算し、両モータ電流信号面積の比（Ｉｓ０／Ｉｓ１）を計算して算出する。これらの処理は図５（ａ），（ｂ）に示すとおりである。
【００８９】
このようにすることで、前述のごとく、各位相期間におけるサンプリングタイミングを、モータ電圧位相９０°を中心として対称となる位相にできるので、制御設計が容易になるとともに、２個所の位相期間にわたって等間隔なサンプリングタイミングでモータ電流のサンプリングを行なうことができるので、タイマ割込値の設定は上記にも増して軽減することができる。
【００９０】
また、図７（ｂ）にはもう１個所の対象となる位相である、モータ電圧位相２７０°を中心として第１の位相期間をモータ電圧位相１８０〜２７０°，第２の位相期間を２７０〜３６０°に設定したときのサンプリングタイミングを示している。この場合も、図６（ａ）の説明と同様の効果が得られることは言うまでもない。
【００９１】
さらに、これら図７（ａ），（ｂ）の処理を組合せ、常に同一の位相間隔θｓ＝ａ（°）でサンプリングを行ない、図７（ａ）で求められる位相差情報および図７（ｂ）で求められる位相差情報の両方を検出して制御を行なう方法も、位相差情報検出時間の短縮に繋がり制御性能を高めることができる。
【００９２】
ただし、図７（ａ）は０〜１８０°の期間での位相差情報と、図７（ｂ）１８０〜３６０°の期間での位相差情報とを比べると、両者の位相差情報の極性は逆転するので、どちらかの位相差情報を反転して使用する必要がある。このときのサンプリング間隔θｓの計算方法を、前記と同様に正弦波２周期でモータが１回転するとし、モータ回転数は３０００ｒｐｍ，電流サンプリングタイマのカウント分解能は１μｓｅとし、サンプリング回数はｎは２個所の位相期間の合計で１０回として説明する。
【００９３】
モータ電圧の正弦波周期Ｔは１００Ｈｚなので、位相期間０〜１８０°期間に要する時間は５ｍｓｅｃであり、この期間内に１０回のサンプリングを行なうが、サンプリングの間隔数は９なので、１回ごとのサンプリング間隔は、
５［ｍｓｅｃ］／９＝０．５５［ｍｓｅｃ］
となる。したがって、タイマ割込の割込値としては、
０．５５［ｍｓｅｃ］／１［μｓｅｃ］＝５５５
となり、割込値設定時には現在のタイマ値に５５５ずつ加算していけばよい。
【００９４】
なお、第１の位相期間の１回目のサンプリングｓ０は、第１の位相期間の開始と同時にサンプリングを行なうようにする。これは、どの時刻で第１の位相期間が始まるかを、現在の回転数指令から計算して行なえばよいし、また後述するように実際の正弦波出力が遅れることを利用してもよい。
【００９５】
次に、各位相期間におけるサンプリング回数ｎの設定方法について述べる。
図８は図４などと同様に位相差検出の様子を示す図である。ここで、サンプリング間隔θｓはマイコン７の処理時間ｔｃより大きな値としている。この処理時間ｔｃは図５に示す処理および位相差制御にかかるＰＩ制御、ＰＷＭ作成などの処理時間である。
【００９６】
このＰＩ制御，ＰＷＭ作成などの処理はＰＷＭキャリア周期ごとに割込ルーチン（以下、制御割込ルーチンと称する）として行なわれることが多く、この制御割込ルーチン中には位相差検出などの処理が中断されてしまう。このため、図５における位相差検出ルーチンならびに制御割込ルーチンなどの処理時間よりも短い周期でサンプリングを行なった場合には、電流サンプリングされたサンプリングデータをすべて読取れないという不備が起こってしまい、位相差検出が正確に行なえず、モータが停止してしまうなどの不具合の生じることが考えられる。これを防ぐためには、制御処理時間ｔｃを把握し、この時間よりサンプリング間隔θｓが短くなってしまうときには、サンプリング回数ｎを減らして位相差を検出する方法が有効である。
【００９７】
この制御処理時間ｔｃは予め実験室レベルあるいは工場出荷時に各処理における処理時間を測定して求めておき、メモリなどに記憶させておいてもよいし、あるいは装置起動時において、各処理における処理時間を測定して求めてもよく、さらには、各処理中に、処理開始時と終了時にタイマカウント値を読出してこの差を検出することでも求められる。
【００９８】
そして、前述のようなサンプリング間隔θｓを計算する際に、この制御処理時間ｔｃよりも短い間隔となってしまうときには、サンプリング回数ｎを減らして制御処理時間ｔｃよりも大きくなるように計算すればよい。さらには、このサンプリング間隔θｓは回転数に比例しているものなので、回転数に応じてサンプリング間隔θｓが制御処理時間ｔｃよりも大きくなるようなサンプリング回数を予め格納しておき、回転数に応じたサンプリング回数を呼出してサンプリングタイミングを設定すればよい。なお、回転数に対するサンプリング回数は各回転数ごとに厳密に決めておかなくても、たとえば３０００ｒｐｍ以下は１０回、３０００ｒｐｍ〜５０００ｒｐｍまでは８回などというように大まかな値でもよい。この処理は図５のステップＳＰ１で行なわれる。これにより安価な制御用のマイコンであっても、処理オーバフローを起こしてモータが停止してしまうような不具合が生じず、安定した動作が確保される。
【００９９】
次に、モータ電圧位相をより高分解能で検出して位相差検出精度を高める方法について説明する。
【０１００】
図９はモータ電圧波形（正弦波ＰＷＭデータを正弦波形として示した）と、各ＰＷＭキャリア周期ごとに更新される正弦波データテーブルの参照アドレス値を示す。図９に示すように、ＰＷＭデューティの設定はＰＷＭキャリア周期ｔｐｗｍごとに行なわれるが、その更新は回転数指令によっては位相０となるべき正弦波データテーブル１３の値を読飛ばすこともある。制御マイコン７内でのモータ電圧位相の基準位相検出は、自身で設定している正弦波データテーブル１３の参照アドレス値が０を通過することで検出しており、この参照アドレス値が０を読飛ばすと正確なモータ電圧位相が得られないということが生じてしまい、位相差検出においての誤差となってしまう。
【０１０１】
これを防ぐためには、正弦波データテーブル１３の参照アドレス値が０を超えていたときには、０を超えたときの参照アドレス値（図９では３）から実際にモータ電圧位相が０となった時間を計算して、モータ電圧位相の基準位相を補正する方法が有効である。
【０１０２】
これには、ＰＷＭ波形デューティ設定後にその周期に従ったＰＷＭ波形が出力されるまでにＰＷＭ発生器で時間が必要なこと、またＰＷＭ波形自体が出力したい電圧を、Ｈｉｇｈ／Ｌｏｗ時間幅（デューティ幅）として時間的に分割していることによって、図９に示すように実際のＰＷＭ出力を正弦波形として見ると、正弦波データテーブル１３の参照時刻（図９では正弦波データ参照ポイント）に対して、実際の正弦波出力波形（図９ではモータ駆動電圧出力ポイント）はＰＷＭキャリア周期１周期分遅れていることが補正可能条件となる。具体的には、前記補正可能条件によると、参照アドレス値が０を超えた値が検出されても、実際のＰＷＭ出力を正弦波波形として見ると、その後に０位相を通過するので、既に参照アドレス値が０を超えた時点でも、実際のモータ電圧位相の基準位相０°の検出が可能であり、これを利用して正確なモータ電圧位相の基準位相の設定および補正を行なうものである。
【０１０３】
具体的な設定，補正方法は、ＰＷＭキャリア周期ごとに正弦波データテーブルの参照アドレス値の更新値（加算値）をｎｔ，参照アドレス値が０以上となったときに値をｎ０，ＰＷＭキャリア周期をｔｐｗｍとする。
【０１０４】
また、参照アドレス値が０以上となったときの参照アドレス値が０であれば、実際の出力はちょうどＰＷＭキャリア１周期分を超えるので、参照アドレス値０からＰＷＭキャリア周期ｔｐｗｍ経過後に、モータ電圧位相の基準位相が０となるので補正の必要はない。
【０１０５】
参照アドレス値が０以上となったときの参照アドレス値が０以外であれば、図９に示すように、実際のモータ電圧位相の基準位相０°は、参照アドレス値０以上となってからＰＷＭキャリア周期ｔｐｗｍ経過後より早く到来する。このようなときには
ｔｐｗｍ−（ｎ０／ｎｔ＊ｔｐｗｍ）
という補正計算を行ない、参照アドレス値０以上となってからｔｐｗｍ−（ｎ０／ｎｔ＊ｔｐｗｍ）経過後に、モータ電圧位相の基準位相０°の設定をすれば、ＰＷＭキャリア周期によるモータ電圧位相分解能の低下を抑えられ、高精度な位相差情報の検出，位相差制御を行なうことができる。
【０１０６】
また、もう１つの方法としては、参照アドレス値が０以上となるポイントが現在の回転数指令からわかっていることであり、このことを利用して参照アドレス値が０になる前に、ｎｔ，ｎ０を見積もり、参照アドレス値が０を超える１つ前の参照アドレス値のときに上記補正を行ない、正確なモータ電圧基準位相０を得る方法がある。この方法はモータ回転数の変更時に再度補正をやり直す必要があるが、これによっても上記同様の効果を得ることができる。なお、このときには上記の補正可能条件に関わらず、出力に遅れがないかなどの、どのようなＰＷＭ出力部であっても補正を行なうことができる。
【０１０７】
続いて、位相差情報の検出をさらに高精度に行なう方法について説明する。これは検出された位相差情報をｍ回平均化して、これを真の位相差情報とすることで、位相差情報の検出誤差を低減するものである。
【０１０８】
図１０にはその処理内容として、位相差検出ルーチンのフローチャートを示す。図１０において、ステップＳＰ１〜ＳＰ１１は図５と同様の処理を行なっているので、その説明を省略する。ただし、ステップＳＰ１における変数初期化では、変数ｍが０にリセットされる。
【０１０９】
ステップＳＰ１４において、検出された位相差情報をＰ（ｍ）に格納する。ステップＳＰ１５は、平均化回数ｍを＋１にする。ステップＳＰ１６において、平均化回数が所定の回数となったかを判断し、所定回数より少なければ一旦ループ処理を終了するが、ｍが所定回数になるまで同様の処理を繰返す。ステップＳＰ１７において、平均化回数が所定の値であったとして、各位相差情報ｐ０，ｐ１…ｐ（ｍ）の平均化を行ない、平均化した位相差情報ｐａｖｅの算出を終了して、一連の処理を終了する。
【０１１０】
図１１は実際にモータを駆動させ、平均化した位相差情報でこの発明の実施形態の位相差制御を行なったときの、エンコーダで測定したロータとステータの相対位置に対する位相差情報の特性を示しており、実験のためにモータ電流信号にはＤＣ〜３ｋＨｚまでのノイズを重畳している。
【０１１１】
図１１の特性中、○ポイントのものは上記の手法で平均化した位相差情報（平均化回数１０回）の特性を示しており、□ポイントのものは該１０回の位相差情報の中で最大の位相差情報の特性を示しており、△ポイントのものは該１０回の位相差情報の中で最小の位相差情報の特性を示す。なお、このときの回転条件は回転数１０００ｒｐｍ，トルク１５ｋｇｆｃｍである。
【０１１２】
このように、いかにノイズに強い位相差制御方法であっても、ノイズが大きい環境下においては、□−△までのような幅をもって位相差情報が検出されてしまうことがわかる。ここで、この発明の位相差情報の平均化を行なうと、図１１の○ポイントの特性に示すように、ノイズの影響を受けず、正確な位相差情報を検出できる。これによって、耐ノイズ性をさらに高めることができ、位相差情報の高精度検出，位相差制御の高精度化，ひいてはモータの高効率化を実現できる。また、モータ電流の歪みによる誤検出も除去することができ、高精度な位相差検出が実現できる。
【０１１３】
この平均化はノイズあるいはモータ電流歪みなどで位相差情報が誤検出してしまうのを防止する目的であり、誤検出量が所望のスペック内に収まるように平均化回数ｍを設定すればよい。また、平均化回数ｍは次のように求めると効果的である。
【０１１４】
図１２はモータ回転数が高いときおよび低いときの位相差情報の検出を示した図である。
【０１１５】
回転数に関わらず、平均化回数ｍを固定（図１２の例では３回）すると、回転数が低いときには１回の位相差情報検出までに長時間を要してしまうことがわかる。つまり、回転数が低いときには、位相差変動の検出間隔が長くなってしまうのであり、たとえば早い位相差変動成分が検出できないこととなる。これは、早い位相差変動成分に対して、位相差制御で抑制することができないことを意味しており、位相差変動が生じてしまい、高効率駆動が実現できなくなってしまう。また、モータ制御においては、外部からの負荷変動（以下、外乱）に対して、この外乱による制御誤差を、所定値以下に抑えなければならないという、製品，装置の仕様があり、位相差変動の検出周期が長くなってしまうと、外乱の抑制率も下がり、仕様を満たせなくなってしまう不具合も生じてしまう。
【０１１６】
さらに、位相差情報検出周期の長時間化は、目標とする位相差に収束させる時間も長時間を要してしまうことともなる。これにも目標仕様が存在していることもあり、目標時間内に所定の位相差に収束できなくなってしまう。
【０１１７】
したがって、この発明では、回転数が高く、位相差情報検出周期が短く、位相差変動成分を十分検出できるときには、位相差情報の平均化回数ｍを多くとり（図１２では３回）、逆に回転数が低く、位相差情報検出周期が長くなり、位相差変動成分が検出できないときには平均化回数ｍを少なくして（たとえば２回）、低速回転時での位相差検出周期の長時間化を防止している。
【０１１８】
これらの平均化回数ｍの設定は、抑制したい変動成分（圧縮機の場合であれば、サイクル周期で発生する負荷変動成分など）が、十分検出でき、また抑制できるような値とすればよいし、さらに目標位相差への収束時間が所定時間内に抑えられるような値にすればよい。なお、この平均化回数ｍは回転数に対応したテーブルを持ち、参照していくのが簡単な方法である。
【０１１９】
続いて、位相差制御のＰＩ演算部１１について説明する。
図１３（ａ）はＰＩ演算によるデューティ基準値計算の構成を示すブロック図であり、図１３（ｂ）は通常のＰ制御のみの構成を示すブロック図である。
【０１２０】
ここで、Ｐ制御とは比例制御のことであり、目標と比較された誤差データに対して所定の増幅を行ない制御するものであり、Ｉ制御とは積分制御のことで誤差データを積算して積分誤差データを作成し、これに対して所定の増幅を行なって制御するものである。
【０１２１】
ＰＩ制御とはＰ制御とＩ制御とを並列で行ない、加算する。図１３（ａ），（ｂ）に示すように、通常はこれら制御演算結果にオフセット値が加算されデューティ基準値が出力される。
【０１２２】
図１３（ｂ）に示されるＰ制御の特徴は、構成要素は少なく簡単に構成できることにあるが、問題点としては、原理的に目標とする値（本位相差制御の場合、目標位相差情報）に収束することはあり得ないということである。Ｐ制御やＰＩ制御の詳細については、既に各種文献に説明されているので、ここではこれを概念的にわかりやすく、具体的数値で説明する。
【０１２３】
目標位相差情報に収束させるためのデューティ基準値が１００であり、オフセット値（１１１）は８０であり、また比例増幅器１１０のゲインが１０であった場合を考えると、所望のデューティ基準値１００からオフセット値８０を引いた、残りの２０は誤差データを増幅して得られる比例誤差データで作成されなければならないこととなる。このためには、比例増幅器ゲインを考慮すると２の誤差データが必要となってしまう。誤差データは実際の位相差情報と、目標位相差情報との差であるから、目標値に収束すると０になるが、０になってしまうと所望のデューティ基準値１００を出力することができなくなってしまう。したがって、Ｐ制御のみでは位相差の残留分を０とすることができない。
【０１２４】
一方、図１３（ａ）に示すＰＩ制御は、Ｐ制御では上記と同様のその都度の誤差データに対する比例誤差データを作成し、Ｉ制御では誤差データの積分値を積分器１１２で計算（デジタル的にはその都度の誤差データを積算）して、積分誤差データを作成している。ここで、積分誤差データは、誤差データの定常的なずれ量（上記数値では２）を積分増幅器１１３で増幅した２０となる。この積分誤差データは、積分によって求めているので、誤差データが０に収束後も保たれるため、誤差データを０にできる。すなわち目標位相差情報に収束させることができる。
【０１２５】
ここで、従来例１，２のような逆起電圧によるモータ駆動においては、モータの回転数を逆起電圧パルスから求めて制御する速度制御が行なわれている。一方、通電タイミングは逆起電圧から検出できるので、回転数に関わらずほぼ一定の通電タイミングが得られる。このため、速度制御をＰ制御だけで行なったとしても、モータ回転数が精密に制御できないだけであり、高効率化に関する通電タイミングは、逆起電圧は一義的に決められる。
【０１２６】
しかしながら、この発明における位相差制御の場合には、図１３（ｂ）のように位相差制御をＰ制御のみで行なうと、位相差の誤差データが残留してしまい、最悪の場合には前述のごとくブレーキトルク領域で通電を行なってしまい、モータが停止してしまうことがある。
【０１２７】
これを防止するために、図１３（ａ）に示す構成のように、ＰＩ制御によってＰＩ制御することが必要であり、位相制御にあってはＰＩ制御演算を行なうことが望ましい。これによって、高精度な位相差制御が可能となり、位相差情報を正確に目標位相情報に収束させることができる。したがって、高効率なモータ駆動を実現できる。
【０１２８】
次に、目標位相差情報の最適な設定について説明する。
前述のごとく、位相差情報とロータ相対値の関係はほぼ比例している。また、モータ効率はステータロータ相対位置に対する通電のタイミングによって変化し、モータの回転条件によって最適な通電タイミングが存在し、この通電タイミングを外れると効率が低下してしまう。そして、この最高の効率が得られる通電タイミングは回転条件によって変化する。
【０１２９】
さらに、前述のごとく、この発明における位相差制御はステータロータ相対位置をモータ電圧位相に対するモータ電流の位相差情報によって間接的に検出するものであるので、モータの回転条件によって最適位相差情報が存在し、この位相差情報を外れると効率が低下してしまう。
【０１３０】
図１４は実験結果としてこの発明による位相差制御でモータを駆動・制御したときの、位相差情報に対する効率の関係を示す。なお、このときの回転条件は、回転数３０００ｒｐｍ，トルク１５ｋｇｆｃｍである。
【０１３１】
このように、効率はある位相差情報を頂点として、位相差情報は左右にずれると、低下してしまう特性となる。この効率が頂点となる位相差情報の値は、前述のごとく、モータ回転条件によって変化する。
【０１３２】
さらに、この発明では、モータ電流面積を検出するものであるが、回転条件によってはモータ電流波形が歪んでいることもあり、たとえ実際の位相差が０であっても、２個所の位相期間におけるモータ電流面積比が１にならないことが考えられる。このため、モータを高効率駆動させるためには、目標位相差情報は最高の効率が得られる位相差情報となるように回転条件によって設定する必要がある。この発明ではモータの回転数に従って目標位相差情報を設定するものであり、これによってさまざまな回転条件でも常に最高の効率でモータを駆動することができる。
【０１３３】
なお、回転数ごとの目標位相差情報は、回転数をパラメータとするテーブルとして予め格納しておけば、処理が簡素化できる。
【０１３４】
以上述べてきたこの発明による位相差制御は、位相差情報の計算は両モータ電流信号面積の比であるので除算を行なう必要がある。あるいは位相差情報を平均化する演算が必要となる。最近のマイコンは処理時間が短縮されているので問題にならないこともあるが、安価な低能力マイコンを用いた場合には、この除算にかかる演算時間が大きな負担となることもあり、マイコン全体の処理がオーバフローしてしまい、制御不能に陥ってしまうことが考えられる。これを防ぐためには、図１５に示すようにモータ電流のサンプリング、つまり２個所の位相期間での所定回数のサンプリング終了後に位相差情報検出（面積比算出）のための時間および位相差情報の平均化演算の時間を意図的に設けて、この間に新たな位相差検出処理を行なわないようにすることが有効な方法である。
【０１３５】
このように演算のための時間を設けることで、安価な低能力マイコンでも、この発明による位相差制御を構成することが可能となり、制御系のコストダウンを実現できる。また、この発明による位相差制御全体の構成は以下のようにすることで効果的に行なえる。
【０１３６】
図１６は、この発明の位相差制御の主となる部分の制御マイコンで処理される制御プログラムの処理項目を表に示した図である。
【０１３７】
図１６において、メインループは各割込処理がないときに処理されるループであり、モータ回転の停止／駆動指令確認の他、図５（ａ）および図１０で示したような位相差情報の検出を行なう。また、ＰＷＭ割込は、ＰＷＭキャリア周期ごとに処理されるもので、その都度正弦波データの参照，モータ電圧位相の基準位相検出，電流サンプリングタイミングの計算，ＰＩ演算，出力デューティの設定を行なう。
【０１３８】
さらに、タイマ割込は、電流サンプリングタイミングで設定された割込値とタイマ値とのコンペアマッチで処理が開始され、図４（ｂ）に示すようなサンプリング開始を指示し、次回のサンプリングタイミングを設定する。ここで、注目すべきは、この発明では位相差検出の処理をメインループ内で行なっていることである。
【０１３９】
前述のごとく、位相差検出においては、除算など処理時間が長い演算を行なう必要がある。したがって、割込ルーチン内でこの位相差検出処理を行なうと、その他の割込処理が待たされてしまい、正確なデューティ設定，正確なサンプリング開始タイミングがなされず、制御性能が低下してしまい、安定なモータ駆動が困難となってしまう。
【０１４０】
そこで、この発明の実施形態では、図１６に示すように、演算時間の長い操作検出部の処理をメインループ内で行なうことによって、制御性能を損なわない正確な位相差制御を実現する。
【０１４１】
ところで、位相制御部のＰＩ演算器１１における各増幅器の制御ゲインの設定を次のように設定すると、より精度の高い位相差制御を実現できる。
【０１４２】
図１７はモータ電流信号に重畳されているオフセット量の違いによる、位相差情報とモータステータとモータロータとの相対位置、すなわち通電タイミングの関係を示す図である。図１７に示すように、オフセット量を変更するだけで特性の傾きが変化してしまうことがわかる。これは、同じ量だけモータ駆動電圧（ＰＷＭデューティ基準値）を変更して通電タイミングを変更しても、検出される位相差情報に現われる変化量はモータ電流信号に重畳するオフセット量によって異なってしまうことである。
【０１４３】
これは、この発明の実施形態の位相差検出が電流面積を利用しており、オフセット量は電流面積に関して位相差に関係のない定常的な値であり、これによってモータ電流面積の位相差変動による感度が変化するために発生してしまう。たとえば、このオフセット量が大きいと本来の位相差変動によるモータ電流面積の変化が現われにくく、結果として位相差情報の変化は少なく検出されてしまう。
【０１４４】
このことは、位相差制御の制御系のゲインは、モータ電流信号に重畳するオフセット量によって変化してしまうことを意味しており、制御系の発振によるモータ停止や制御ゲイン不足による位相差変動の増大が懸念される。
【０１４５】
このため、適切な制御ゲインで高精度な制御や安定なモータ駆動を実現するためには、オフセット量に応じて、制御ゲインを可変して設定することが望ましく、この発明の実施形態では、このようにオフセット量に応じて制御ゲインを可変して設定する。
【０１４６】
なお、オフセット量の検出には、１周期分のモータ電流信号サンプリング値を平均化して求めてよいし、モータ電流検出アンプ部６のオフセット設定値から求めてもよい。実際に可変設定する制御ゲインは、オフセット量をパラメータとして実験的に求めた値をメモリに格納しておき、現行のオフセット量に最も近い値を設定する方法を用いてもよく、あるいはオフセット量を変数とするゲイン式をその都度計算して設定してもよい。
【０１４７】
なお、このオフセット量は初期の設定以降、変更されることは少ないので、初回のみに検出して設定するだけでもよい場合もある。
【０１４８】
これによって、適切な制御ゲインで、高精度な制御および安定なモータ駆動を実現することができる。
【０１４９】
図１８はモータ電流信号の振幅の違いによる、位相差情報とモータステータとモータロータとの絶対値、すなわち通電タイミングの関係を示す図である。図１８に示すように、振幅が変化するだけで特性の傾きが変化してしまうことがわかる。これは、同じ量だけモータ駆動電圧（ＰＷＭデューティ基準値）を変更して通電タイミングを変更しても、検出される位相差情報に現われる変化量はモータ電流信号の振幅によって異なってしまうということである。
【０１５０】
これは、この実施形態の位相差検出が電流面積を利用しており、この振幅は電流面積に関して位相差の変化量を決定する値であり、これによってモータ電流面積の位相差変動による感度が変化するために発生してしまう。たとえば、この振幅が大きいと本来の位相差変動によるモータ電流面積の変化量が増幅されて現われ、結果して位相差情報の変化が大きく検出されてしまう。
【０１５１】
このことは、位相差制御の制御系のゲインは、モータ電流信号の振幅によって変化してしまうことを意味しており、制御系の発振によるモータ停止や制御ゲイン不足による位相差変動の増大が懸念される。このため、適切な制御ゲインで高精度な制御および安定なモータ駆動を実現するためには、この振幅に応じて制御ゲインを可変して設定することが望ましく、この実施形態では振幅に応じて制御ゲインを可変して設定する。
【０１５２】
振幅の検出には、使用する回転条件によってモータ電流が変化するため、１周期分のモータ電流信号サンプリング値で最大値と最小値の差から求めるのがよいが、モータ電流検出アンプ部６のゲイン設定値から求めてもよい。
【０１５３】
実際に可変設定する制御ゲインは、振幅をパラメータとして実験的に求めた値をメモリに格納しておき、現行の振幅に最も近い値を設定する方法でもよく、振幅を変数とするゲイン式をその都度計算して設定してもよい。また、この例においても振幅は初期の設定以降変更されることは少ないので、初回のみに検出して設定するだけでもよい場合もある。
【０１５４】
これによって、適切な制御ゲインで高精度な制御および安定なモータ駆動を実現することができる。
【０１５５】
このようなモータ電流信号の振幅による制御系ゲインの変化は、その振幅が一定になるように制御することにより、制御ゲインを変更しない方法も有効である。
【０１５６】
図１９はそのようなモータ電流検出アンプ部の構成を示す図である。図１９において、オフセット設定部２０３でオフセットを設定し、モータ電流信号ｂの振幅を振幅検出器２０１で検出し、これが一定となるように可変ゲイン設定部２０２において適切なゲインを設定する。このような構成によっても適切な制御ゲインで、高精度な制御および安定なモータ駆動を実現できる。
【０１５７】
次に、上述の位相差制御の位相差情報の検出タイミングを短縮し、モータ１回転における位相差情報の検出回数を増やし、位相差情報検出の高分解能化による精密な制御を実現する方法について説明する。
【０１５８】
図２０はモータ電流信号ｂの振幅およびオフセットを任意の値に設定したときのモータ駆動電圧位相に対する、各モータ駆動電圧位相において位相差を０にするための目標位相差情報の特性を示す図である。
【０１５９】
このように、回転磁界を発生させるためにモータ駆動電圧位相を変更していくが、その都度のモータ駆動電圧位相において適切な目標位相差情報を設定することで、より短い間隔での位相差情報の検出を実現できる。たとえば、図２０の各ポイントは、電気角で２０°に相当するものであり、この場合、正弦波１周期中に１８回もの位相差情報の検出が実現できる。実際には、各モータ駆動電圧位相における目標位相差情報をメモリに格納しておき、その都度対応する値を呼出して設定するのが簡単な方法であるが、これに限らない。
【０１６０】
なお、図２０において、目標位相差情報が上限ピークあるいは下限ピークとなるモータ駆動電圧位相も存在しているのがわかる。このモータ駆動電圧位相のときには、検出される位相差情報も位相差０を中心として山型の特性となってしまう。つまり、位相差が遅れても進んでも、位相差情報としては同じ方向に変化してしまう。したがって、このモータ駆動電圧位相およびその近辺のモータ駆動位相における位相差検出は正確ではなく、位相差制御も前述のＰＩ制御などは不可能となってしまう。
【０１６１】
そこで、この発明の実施形態では、このことに鑑み、目標位相差情報が上限ピークあるいは下限ピークとなってしまい、位相差情報が正確に得られないなどといった位相の変化情報量が小さい特定のモータ駆動電圧位相での位相差検出あるいは位相差制御を行なわないようにマスク処理する。このマスク処理は、検出回数を増大させた構成において、たかだか１〜３回程度の位相差情報検出のマスク処理にすぎないので、制御性能に与える影響は少ない。
【０１６２】
図２１は位相差検出演算方法を変更したときの、モータ駆動電圧位相に対する、各モータ駆動電圧位相において位相差を０にするための目標位相差情報の特性を示す図であり、図２２は位相差検出演算方法の一例を説明するための図である。
【０１６３】
図２１は図２０と同様にして、モータ電流信号ｂの振幅，オフセットは任意に設定している。ここで、図２１における位相差検出演算方法を図２２をもとにして説明する。図２２で示す演算方法の変更は演算に使用するパラメータを変更したものである。
【０１６４】
位相差情報の検出点が図２１に示すとおりであるとき、目標▲１▼はθｂとθａの期間のモータ電流面積比Ｉｓｂ／Ｉｓａの演算で位相差情報を算出するとき、すなわち１つの位相期間を電気角９０°とすれば、隣り合う位相期間同士のモータ電流面積比で位相差情報を算出するときの各モータ駆動電圧位相における目標位相差情報を示している。目標▲２▼はθｃとθａの期間のモータ電流面積比Ｉｓｃ／Ｉｓａの演算で位相差情報を算出するとき、すなわち１つの位相期間を電気角９０°とすれば、１回分の位相期間を経て隔てた位相期間同士のモータ電流面積比で位相差情報を算出するときの各モータ駆動電圧位相における目標位相差情報を示している。さらに、目標▲３▼はθｄとθａの期間のモータ電流面積比Ｉｓｄ／Ｉｓａの演算で位相差情報を算出するとき、すなわち１つの位相期間を電気角９０°とすれば、２回分の位相期間を隔てた位相期間同士のモータ電流面積比で位相差情報を算出するときの各モータ駆動電圧位相における目標位相差情報を示している。
【０１６５】
このように演算方法を変更することで、図２１に示すように目標位相差情報を変化させることができ、各目標特性において正確な位相差情報の検出が可能な目標特性をその都度切換えて選択し、さらに演算方法を変更することで目標位相差情報が上限ピークあるいは下限ピークとなり、制御不能に陥ることもなくなり、いかなるモータ駆動電圧位相でも正確な位相差情報を検出することができる。
【０１６６】
なお、各位相期間におけるモータ電流面積の算出は、前述してきたサンプリングの積算で行なうと容易である。また、各目標ごとにゲインが異なっているため、目標切換ごとにゲインを設定していくのが望ましい。
【０１６７】
また、当然ながら目標数は前述のごとく３個とする必要がなく、正確な位相差検出が可能であれば２個でもよいし、さらなる高精度を目指すのであれば４個以上として最適目標を選択すればよい。
【０１６８】
なお、演算方法は、上述の説明に限らず、１つの位相期間を９０°としない構成など、いかなる方法であってもよい。
【０１６９】
図２３は電流センサ５をモータコイル端子の複数相に取付け、それぞれに対して位相差情報を算出するときの各相におけるモータ駆動電圧位相と、各モータ駆動電圧位相において位相差を０にするための目標位相差情報の特性である。
【０１７０】
なお、この例においても図２０と同様にして、モータ電流信号ｂの振幅，オフセットは任意に設定している。図２３から明らかなように、目標位相差情報は１２０°位相のずれた値となっている。したがって、図２３に示すように、各相の位相差情報のうち、正確な位相差情報が得られるコイル端子相を選択して、位相差制御を行なうことで高分解能な位相差情報を検出でき、精度の良い位相差制御を実現することができる。
【０１７１】
上述のごとく、この実施形態では、位相差情報の検出周期を短縮することができるため、モータ挙動の細やかな検出が実現できるとともに、精密な位相差制御を実現でき、モータ駆動の安定性および信頼性が格段に向上する。
【０１７２】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【０１７３】
【発明の効果】
以上のように、請求項１，２，１５および１６の発明によれば、モータ駆動電圧を位相とモータ電流との位相差を、２個所の位相期間でのモータ電流面積比で検出し、この位相差情報を目標位相差情報に制御するように、通電休止期間を必要としない正弦波通電をはじめとする１８０°通電などでモータを駆動するようにしたので、同期モータの駆動において正弦波１８０°通電の特徴である低騒音，低振動，高効率，省電力化という効果を奏することができる。
【０１７４】
また、モータ電流をロータ磁束波形と同波形になるように駆動波形を設定することで、より効果的にトルクを発生することができるので、高効率化を実現できる。あるいは、通電休止期間を少なくすることができる。また、位置検出センサを不要としているので、コストダウンを実現できる。
【０１７５】
さらに、この発明による位相差情報検出によれば、ノイズなどの影響による位相差情報の誤検出を低減した正確な位相差情報が得られ、さらに本来ゼロクロスでは検出が困難である０位相の電流波形が平坦であっても、正確な位相差情報が得られ、さらにモータ電流に重畳される低い周波数成分の変動による位相差情報の誤検出もなくすことができ、正確な位相差情報が得られる。
【０１７６】
したがって、ノイズなどが多い悪環境下であっても、またさまざまな回転数であっても高精度な位相差制御が可能となる。なお、電流検出に用いる電流センサはモータ内部に特別に設ける必要がなく、モータ制御基板内に収めることができるので、配線の取り回し、回路設計を容易にできる。また、この発明は、モータ電流位相をゼロクロスのようなエッジからではなく、モータ電流の各サンプリング結果の積算による面積から求めているので正確な位相差情報を検出できる。
【０１７７】
さらに、請求項３の発明によれば、モータ電流のサンプリングタイミングの設計計算を簡略化することができるので、制御マイコンでの処理時間の短縮化を実現できる。よって、高速で高精度な位相差制御が可能となる。また、安価な制御マイコンの使用が可能となるので、コストダウンを実現できる。
【０１７８】
また、請求項４の発明によれば、モータ電流のサンプリング回数を回転数に基づいて設定することにより制御マイコンの処理速度に合せて位相差検出が行なえる。したがって、いかなる制御マイコンでもそのマイコンの能力に合せて最高の性能を引出すことができる。さらに安価な制御マイコンを使用しても正確な位相差制御を行なえるので、コストダウンを実現できる。また、制御マイコンの処理がオーバフローしないので、高精度な位相差制御が実現できる。
【０１７９】
さらに、請求項５，６の発明によれば、２個所の位相期間が対象となる位相であるので、位相差は１を中心とした値となる。したがって、制御設計が容易になり、制御マイコンでの処理が軽減できる。よって、高速で高精度な位相差制御が可能となる。また、安価な制御マイコンの使用が可能となるので、コストダウンを実現できる。
【０１８０】
また、請求項７の発明によれば、モータ電圧位相の基準位相を正確な値に補正することができるので、正確なモータ電圧位相を求めることができる。したがって、正確な位相差情報を検出でき、高精度な位相差制御を実現できる。
【０１８１】
請求項８の発明によれば、位相差情報を平均化するようにしたので、正確な位相差情報を求めることができる。したがって、ノイズが多いなどの悪環境下、モータ電流波形の歪みおよび変動が大きい回転数においても、高精度な位相差制御を実現できる。
【０１８２】
請求項９の発明によれば、位相差情報の平均化回数を回転数に基づいて設定することができるので、必要とする制御帯域，所望の位相差情報誤差に合せて位相差情報の検出が行なえる。したがって、所望の制御帯域，位相差情報誤差を確保した安定な位相差制御を実現できる。
【０１８３】
請求項１０の発明によれば、位相差制御をＰＩ制御演算で行なうようにしたので、位相差情報に内在する残留誤差データを０に収束させることができる。したがって、目標位相差に合せる高精度な位相差制御が可能となる。また、高効率な位相差制御が実現できる。
【０１８４】
請求項１１の発明によれば、位相差制御ゲインを回転数あるいは目標位相差情報に応じて設定することができるので、回転条件によって位相差特性に差があっても、また多少位相差特性に非線型性が生じていても、これらを補償することができる。したがって、いかなる状況でも最適な位相差制御を実現でき、効率のよいモータ駆動を実現でき、省電力化が実現できる。
【０１８５】
請求項１２の発明によれば、目標位相差情報を回転数によって設定することができるので、回転数によって変化する、最高効率が得られる位相差に常に追従することができる。また、モータ電流波形の歪みの影響による２個所のモータ電圧位相期間での両モータ電流信号面積の誤差も除去することができる。したがって、いかなる回転条件でも最高効率でのモータ駆動を実現でき、省電力化が実現できる。
【０１８６】
請求項１３の発明によれば、位相差情報検出のための演算時間を設けているため、目標位相差情報を回転数によって設定することができ、回転数によって変化する最高効率が得られる位相差に常に追従することができる。したがって、いかなる回転条件でも最高効率でのモータ駆動を実現でき、省電力化が実現できる。
【０１８７】
請求項１４の発明によれば、位相差情報の検出をメインループ内で行なうようにしているので、割込時間に左右されない処理を行なうことができる。したがって、処理速度の遅い安価な制御マイコンを用いた場合でも、正確な位相差制御を行なうことができる。また、コストダウンが実現できる。
【０１８８】
請求項１７，１８および１９の発明によれば、位相差制御の制御ゲインを常に最適値に設定することができ、高精度な制御特性を得ることができ、安定なモータ駆動を実現することができる。
【０１８９】
さらに、請求項２０，２１，２２および２３の発明によれば、目標位相差情報あるいは位相差情報算出方法をモータ駆動電圧位相によって設定するようにしたので、位相差情報の検出周期を短縮することができ、モータ挙動の細やかな検出が実現できるとともに、精密な位相差制御を実現でき、モータ駆動の安定性および信頼性が格段に向上する。
【図面の簡単な説明】
【図１】  この発明の一実施形態のブロック図である。
【図２】  この発明の一実施形態による実験結果を示し、ロータ−ステータ相対位相−位相差情報特性である。
【図３】  この発明の一実施形態による実験結果を示し、モータ駆動電圧−位相差情報特性を示す。
【図４】  この発明の一実施形態を示すモータ電流波形およびサンプリングタイミング図である。
【図５】  この発明の一実施形態の動作を説明するためのフローチャートである。
【図６】  この発明の一実施形態を示すモータ電流波形およびサンプリングタイミング図である。
【図７】  この発明の一実施形態を示すモータ電流波形およびサンプリングタイミング図である。
【図８】  この発明の一実施形態を示すモータ電流波形およびサンプリングタイミング図である。
【図９】  この発明の一実施形態を示すサンプリングタイミング図である。
【図１０】  この発明の他の実施形態の動作を説明するためのフローチャートである。
【図１１】  この発明の他の実施形態による実験結果を示し、ロータ−ステータ相対位相−位相差情報特性である。
【図１２】  この発明の他の実施形態を示すサンプリングタイミング図である。
【図１３】  この発明の他の実施形態を示すＰＩ演算部の構成を示すブロック図である。
【図１４】  この発明の他の実施形態による実験結果を示し、位相差情報−効率特性を示す。
【図１５】  この発明の他の実施形態を示すサンプリングタイミング図である。
【図１６】  この発明の他の実施形態を示す処理構成図である。
【図１７】  この発明のさらに他の実施形態における位相差情報とモータステータとモータロータとの相対位置の特性を示す図である。
【図１８】  この発明のさらにその他の実施形態における位相差情報とモータステータとモータロータとの相対位置の特性図である。
【図１９】  この発明のその他の実施形態におけるモータ電流検出アンプ部の構成を示す図である。
【図２０】  この発明のさらに他の実施形態におけるモータ駆動電圧位相に対する目標位相差情報の特性図である。
【図２１】  モータ駆動電圧位相に対する目標位相差情報の特性を示す図である。
【図２２】  この発明のさらに他の実施形態における位相差検出演算方法の一例を説明するための図である。
【図２３】  モータ駆動電圧位相に対する目標位相差情報の特性を示す図である。
【図２４】  従来の正弦波１８０°通電におけるモータ電流波形を示す図である。
【図２５】  従来の正弦波１８０°通電におけるモータ電流波形を示す図である。
【符号の説明】
１  モータ、２  インバータ回路、３  コンバータ回路、４  ＡＣ電源、５  電流センサ、６  モータ電流検出アンプ部、７  制御マイコン、８  位相差検出部、９  目標位相差情報格納部、１０  加算器、１１  ＰＩ演算部、１２  回転数設定部、１３  正弦波データテーブル、１４  正弦波データ作成部、１５  ＰＷＭ作成部、２０１  振幅検出器、２０２  可変ゲイン設定部、２０３  オフセット設定器、２０４  アンプ。
【図１】
0003649985.tif 000002
【図２】
0003649985.tif 000003
【図３】
0003649985.tif 000004
【図４】
0003649985.tif 000005
【図５】
0003649985.tif 000006
【図６】
0003649985.tif 000007
【図７】
0003649985.tif 000008
【図８】
0003649985.tif 000009
【図９】
0003649985.tif 000010
【図１０】
0003649985.tif 000011
【図１１】
0003649985.tif 000012
【図１２】
0003649985.tif 000013
【図１３】
0003649985.tif 000014
【図１４】
0003649985.tif 000015
【図１５】
0003649985.tif 000016
【図１６】
0003649985.tif 000017
【図１７】
0003649985.tif 000018
【図１８】
0003649985.tif 000019
【図１９】
0003649985.tif 000020
【図２０】
0003649985.tif 000021
【図２１】
0003649985.tif 000022
【図２２】
0003649985.tif 000023
【図２３】
0003649985.tif 000024
【図２４】
0003649985.tif 000025
【図２５】
0003649985.tif 000026