DSPを利用してACモータを制御する

はじめに

高性能のサーボ・モータは、次のような特徴を備えている必要があります。まず、ストールが発生しない限り、滑らかな回転を実現しなければなりません。また、ストール・トルクを完全に制御する必要があります。更に、迅速な加減速を実現できるものでなければなりません。従来、可変速ドライブには、主として制御性に優れるDCモータが使われていました。しかし、最新かつ高性能のモータ・ドライブ・システムは、3相ACモータをベースにしているはずです。その種のモータの例としては、AC誘導モータ(ACIM:AC Induction Motor)や永久磁石同期モータ(PMSM:Permanentmagnet Synchronous Motor)などが挙げられます。3相ACモータは、シンプルで堅牢な構造、慣性の低さ、重量比で見た場合の大きな出力、優れた高速回転性能といった特徴を備えています。この種のモータは、要求の厳しいサーボ・モータ・アプリケーションに最適なものとして、DCモータに取って代わる存在になっています。

そうしたACモータの制御方法としてはベクトル制御が使用されます。既に、その原理は十分に確立されています。また、最新かつ高性能のドライブのほとんどは、デジタル方式のクローズドループ電流制御の手法を採用しています。そうしたシステムにおいて達成可能なクローズドループの帯域幅は、演算負荷の大きいベクトル制御のアルゴリズムや、それに関連するベクトル回転をリアルタイムで実行する速度に直接的に依存します。そうした演算負荷の問題から、現在、多くの高性能ドライブはDSPを採用しています。DSPを利用することにより、モータとベクトルの制御方式が組み込み型で実装されているということです。DSPが本質的に備える演算能力により、非常に短いサイクル時間が実現されます。また、クローズドループの電流制御において、2kHz~4kHzの帯域幅を実現することが可能になります。

上述したようなモータの完全な電流制御を実現するには、高精度のPWM(Pulse Width Modulation:パルス幅変調)制御による電圧の生成方式と、モータの電流測定に使用する高分解能のA/Dコンバータ(ADC)が必要になります。最新のベクトル・コントローラには、ロータの位置をフィードバックする仕組みが不可欠です。その目的は、速度がゼロになるまでトルクを滑らかに制御できるようにすることです。それに向けて、多くのシステムは、レゾルバやインクリメンタル・エンコーダといったロータ位置向けのトランスデューサを搭載しています。アナログ・デバイセズは、3相ACモータ向けの高性能コントローラとして「ADMC401」などの製品を提供しています。本稿では、そうした製品のベースとなる基本原理について説明します。ADMC401は、強力なDSPコア、柔軟性の高いPWM発生器、高分解能のADC、エンコーダ・インターフェース・ユニットを備えるモータ・コントローラICです。

ACモータの可変速制御

3相ACモータの可変速制御を効率的に行うには、周波数が可変でバランスのとれた3相の可変電圧を生成する必要があります。通常、可変周波数の電源は、DC電圧を基にMOSFETやIGBTなどのスイッチ(以下、パワー・スイッチ)を使用した変換処理によって生成します。図1aは、一般的なパワー・コンバータの構成を示したものです。この回路は2段構成で実現されています。まず1段目では、固定周波数(50Hz/60Hz)のAC電源を整流し、DCリンク電圧VDを生成します。この電圧により、DCリンク・コンデンサが充電されます。次に、その電圧を2段目に相当するインバータ回路に供給します。それにより、モータ向けの可変周波数のAC電力を生成します。インバータ回路のパワー・スイッチは、モータの端子をVDまたはグラウンドに接続する役割を果たします。このような動作により、高い効率を得ることができます。なぜなら、それらのスイッチによる損失は、理想的にはオン/オフどちらの状態でもゼロに抑えられるからです。

6個のスイッチを順次高速に開閉することにより、平均すると正弦波出力が得られる3相のAC電圧を生成することができます。実際の出力電圧は、図1bに示すような高周波のPWM波形となります。パワー・スイッチ(IC)を使用した実用的なインバータ回路では、約20kHzという高速なスイッチングを実現できます。また、すべての電圧の高調波成分が非常に高い周波数に現れる高度な手法によってPWM波形を生成することが可能です。それらの成分の周波数は、公称0Hz~250Hzの範囲にある基本周波数を十分に上回ります。

モータの誘導性リアクタンスは周波数と共に増加します。そのため、高次の高調波の電流は非常に少なくなり、正弦波に近い電流がステータの巻線に流れます。インバータの基本電圧と出力周波数は、図1bに示すように、適切なコントローラを使用してPWM波形を変化させることで調整することが可能です。基本出力電圧を制御する際には、PWM処理によって出力電圧波形の高調波成分が変化することは避けられません。重要なのは、変調に関する適切な戦略を確立することです。それにより、高調波の電圧と、それに関連してモータに及ぶ影響や高周波の損失を最小限に抑えることが可能になります。

図1a. 3相ACモータを駆動するために使用するパワー・コンバータの一般的な構成
図1b. モータの駆動用に可変電圧/可変周波数の電源を生成する際の代表的なPWM波形
図1. パワー・コンバータの構成、生成されるPWM波形

a. 3相ACモータを駆動するために使用するパワー・コンバータの一般的な構成

b. モータの駆動用に可変電圧/可変周波数の電源を生成する際の代表的なPWM波形

PWM信号の生成

ACモータ用のコントローラの一般的な設計では、PWM信号の生成処理を実現するためのハードウェアとソフトウェアについて考慮する必要があります。生成したPWM信号は、最終的に3相インバータ内のパワー・スイッチをオン/オフするために使用されます。一般的なデジタル制御において、コントローラはPWMのスイッチング周波数(公称10kHz~20kHz)に応じた定期的なタイミングで割り込みを発生させます。割り込みサービス・ルーチンでは、コントローラのソフトウェアにより、インバータの3つのレグを個々に駆動するためのPWM信号の新たなデューティ・サイクルの値が計算されます。その値は、測定されたモータの状態(トルクや速度)と目標とする動作状態の両方に応じて決定します。デューティ・サイクルは、モータの実際の動作状態が、目標とする軌跡をたどるようサイクルごとに調整されます。

プロセッサによってデューティ・サイクルの値を算出したら、次のPWM/コントローラのサイクルにわたってPWM信号を確実に発生させるために、専用ハードウェアとして構成したPWM発生器を使用します。一般に、PWM発生器は、非常に正確なタイミングの信号を発生させるために、適切な数のタイマーとコンパレータを使って構成されます。一般的には、PWM用のタイミング波形の生成には10~12ビット・レベルの性能が望まれます。ADMC401のPWM発生器の場合、38.5ナノ秒のエッジ分解能を備えています。これは、スイッチング周波数が10kHzの場合で約11.3ビットの分解能に相当します。図2に示したのは、ADMC401の専用PWM発生器によって発生させた標準的なPWM信号です。ここではインバータのレグAに対応する信号を例にとっています。図中のAHは、インバータのレグAにおけるハイサイドのパワー・スイッチの駆動に使用します。一方、ALはローサイドのパワー・スイッチの駆動に使用されます。デューティ・サイクルを変化させ、モータに印加する平均電圧をサイクルごとに効果的に調整することにより、目標とする制御を実現することが可能になります。

一般に、一方のパワー・スイッチ(例えばAL)がターン・オフしてからもう一方のパワー・スイッチ(AH)がターン・オンするまでには、わずかな遅延時間を確保する必要があります。このデッド・タイムが必要になるのは、一方のスイッチがターン・オンするまでに、ターン・オフする側のデバイスが電圧/電流を阻止する能力を回復するための十分な時間を確保しなければならないからです。このデッド・タイムが存在しなければ、DC電圧の短絡が発生する可能性があります。ADMC401のPWM発生器は、PWM信号に自動的にデッド・タイムを挿入するためのハードウェアを備えています。

図2. インバータの1つのレグに対応する標準的なPWM波形
図2. インバータの1つのレグに対応する標準的なPWM波形

3相ACモータ用のコントローラの一般的な構造

モータを適切に駆動するために必要なことは、端的に言えば、そのトルクと速度の両方を正確に制御することです。一般に、モータの速度は、適切なトランスデューサを使用して速度そのものまたは位置を測定することによって直接制御します。一方、トルクは、モータの相電流を適切に調整することによって間接的に制御します。図3に示したのは、3相モータ用のコントローラの構成例です。これは、標準的な同期式の座標電流コントローラに相当します。この図には、ADMC401のようなモータ・コントローラのソフトウェア・コード・モジュールや、モータ制御に専用のペリフェラルにおけるタスクの配分も示しています。このコントローラは、全体としては2つのPID(比例‐積分‐微分)電流レギュレータによって構成されています。PID電流レギュレータは、測定されたロータの位置情報に同期して回転する基準座標系をベースとし、モータの電流ベクトルを制御するために使用されます。

場合によっては、電圧と速度を分離し、速度に関する依存性を排除すると共に、関連する軸のクロス・カップリングを制御ループから排除することが望ましいケースもあります。基準電圧の成分は、SVM(Space Vector Modulation:空間ベクトル変調)をはじめとする適切なPWMの戦略に基づき、インバータで合成します。また、インバータのスイッチングにおけるデッド・タイム、インバータにおけるオンの状態の有限電圧、DCリンク電圧のリップルによる歪みの影響を回避するための補償機構を組み込むことも可能です。

図3. 3相ACモータ用の一般的な制御システム
図3. 3相ACモータ用の一般的な制御システム

ステータにおける電流ベクトルの2つの成分は、d軸(direct-axis)成分とq軸(quadrature-axis)成分として知られています。これらのうち、d軸の電流はモータの磁束を制御します。通常、永久磁石モータでは磁束がゼロになるように制御されます。モータのトルクは、q軸の成分を調整することによって直接制御することが可能です。急加速、急減速、あるいはあらゆる荷重条件の下で速度がゼロになるまで滑らかな回転を維持するためには、高性能のドライブによって高速かつ正確なトルク制御を行うことが不可欠です。

実際のd軸とq軸の電流成分は、電流検出用の適切なトランスデューサによってモータの相電流を検出し、それをシステムが備えるADCによってデジタル値に変換することによって取得します。通常は、モータの線電流のうち2つを同時にサンプリングするだけで十分です。なぜなら、3つの電流の合計値はゼロなので、3つ目の電流の値が必要であれば、他の2つの電流の値から導出すことが可能だからです。

コントローラのソフトウェアでは、数学的なベクトル変換を使用することができます。パーク(Park)変換を使用すれば、あらゆる動作条件の下でモータに印加される3相の電流を実際のモータの軸の回転に同期させることが可能です。この同期処理により、モータは電流に対して常に最適なトルクを生成することができます。つまり、最適な効率で動作することが可能になります。ベクトルの回転には、測定したロータ角の正弦関数と余弦関数をリアルタイムに計算する処理に加え、多くの積和演算が必要になります。制御ループ全体の帯域幅は、クローズドループ制御に必要な演算の実行速度と、それに応じて新しいデューティ・サイクルの値を算出する速度に依存します。26MIPS、16ビットの固定小数点DSPコアであれば、これに対応可能な高速演算能力を備えていると言えます。言い換えれば、この種の組み込みモータ制御のアプリケーションに理想的な演算用のエンジンとして利用できるということです。

A/D変換の要件

高性能のACサーボ・ドライブを制御するためには、電流の同時サンプリングを行い、得られた値を高速かつ高精度にA/D変換する必要があります。サーボ・ドライブには、定格動作範囲が定義されています。これは、モータとパワー・コンバータの温度上昇が許容範囲内にある場合に、連続して維持できる特定の出力レベルのことを指します。また、サーボ・ドライブにはピーク定格も定義されています。これは、定格電流をはるかに超える電流に短時間だけ対応する能力のことです。例えば、短時間のバースト電流については、定格電流の6倍まで対応できるといった具合です。それにより、一時的に大きなトルクを加えたり、ドライブを非常に素早く加減速したり、その後、通常動作の連続的な範囲に戻したりすることが可能になります。言い換えると、ドライブの通常の動作モードでは、全入力範囲のうちごく一部しか使用されないということになります。

その一方で、高性能のモータに求められる滑らかで正確な回転を実現するためには、わずかなオフセットや非直線性も補正すべきです。電流センサーを使用する回路では、アナログ信号処理においてゲイン誤差とオフセット誤差が生じることがよくあります。例えば、異なる巻線を対象とする電流測定システムの間でゲインが一致していないといったことが起こり得ます。そうした影響が重なると、トルクに望ましくない振動が生じます。これら相反する分解能の要件を同時に満たすために、最新のサーボ・ドライブでは、アプリケーションに必要とされるコストと性能のトレードオフに応じ、12~14ビットのADCが使用されます。

基本的に、システムの帯域幅は、情報を入力してから演算が完了するまでにかかる時間によって制限されます。何マイクロ秒もの変換時間を要するADCを使用すると、システムが許容できないレベルの遅延が生じる可能性があります。クローズドループ・システムで遅延が生じると、システムが達成可能な帯域幅が狭くなります。ここで、帯域幅は高性能のドライブにおける最も重要な性能指標の1つです。したがって、こうしたアプリケーションには、高速なADCが必要不可欠です。

この種のアプリケーションで使用されるADCは、もう1つ重要な特性を備えている必要があります。それは、タイミングに関する性能です。分解能が高く変換が高速であることに加え、同時サンプリングに対応できる必要があるからです。3相モータでは、ある瞬間におけるモータのトルクのスナップショットを取得する必要があります。そのためには、モータの3つの巻線の電流を正確かつ同時に測定しなければなりません。時間スキュー(各電流測定の間に生じる遅延時間)は、測定方法が原因で追加される誤差要因になります。このような理想的ではない特性は、トルクのリップルという問題に直結します。つまり、非常に望ましくない特性だと言えます。

ADMC401が内蔵するADCコアは、高い分解能(12ビット)と高速性能(6MSPS)の両方を備えています。それだけでなく、2つの入力信号を同時にサンプリングできるように、2つのサンプル&ホールド・アンプが統合されています(そのため、先述したように同じタイミングにおける3つ目の電流値も算出できます)。このADCコアは、フラッシュ型を利用するパイプライン型のアーキテクチャを採用しています。計8系統のアナログ入力チャンネルを備えており、制御アルゴリズムで使用する追加のシステム信号やフィードバック信号の取得/変換を実現できます。このレベルの総合的な性能は、DSPをベースとする組み込みモータ・コントローラで使用されるものとしては最高水準にあると言えます。

位置の検出とエンコーダ・インターフェース・ユニット

通常、モータの位置は、ロータの軸に取り付けられたエンコーダを使用して測定します。インクリメンタル・エンコーダを使用した場合、一対の直交出力(AとB)が生成されます。それぞれの出力には、モータの軸が1回転する間に多数のパルスが現れます。1024ラインを備える一般的なエンコーダでは、両方の信号として1回転あたり1024のパルスが生成されます。専用の直交カウンタを使用すれば、出力信号A、Bの両方の立上がりエッジと立下がりエッジをカウントすることが可能です。その結果、ロータの軸の1回転が4096種の値に分割されることになります。つまり、1024ラインのエンコーダを使えば、ロータの位置を12ビットの分解能で測定できるということです。直交信号A、Bの相対的な位相を基に、回転方向を推測することも可能です。

通常、モータ・コントローラは専用のエンコーダ・インターフェース・ユニット(EIU:Encoder Interface Unit)を搭載しています。それにより、デュアル直交エンコーダの出力信号の変換を管理すると共に、常に実際のロータの位置を表すパラレルのデジタル・ワードが生成されます。そのため、DSPの制御用ソフトウェアは、アルゴリズムが必要とするときにだけ実際のロータの位置を読み取ればよいということになります。

上記のようなシステム構成を採用すれば、多くのメリットを享受できます。しかし、ロータ位置に対応するトランスデューサにコストをかけたり、スペースを割いたりする余裕がないシステムも少なくありません。実際、コストを重視するために、性能に対する要求を下げたサーボ・モータ・ドライブのアプリケーションが増えています。そのような場合、ロータの位置の測定値ではなく推定値を使用することにより、モータ制御のアルゴリズムを実行するということが行われます。

DSPコアは、ロータの位置を推定するために高度なアルゴリズムを使用します。例えば、モータの電圧と電流の測定値からロータの位置の推定値を抽出する拡張カルマン推定器などが使用されます。それにより、ロータの位置の算出に向けた十分な能力を提供します。そうした推定器は、DSPが備える十分に正確なモータのモデルを使ってリアルタイムに演算を行うことを基盤にしています。一般に、そうしたセンサーレスのアルゴリズムは、中速から高速の回転速度に対しては、センサーをベースとするアルゴリズムと同等の性能を発揮します。しかし、モータの速度が低下すると、電圧/電流の測定値から速度に基づいた信頼性の高い情報を抽出することが難しくなります。一般に、センサーレスのモータ制御は、コンプレッサ、ファン、ポンプなど、速度がゼロで維持されたり、低速での連続動作が求められたりすることのないアプリケーションに適用することができます。

まとめ

DSPをベースとして3相ACモータを制御する手法は広く使われています。既存の産業用オートメーションの市場でも、家電、オフィス・オートメーション、車載システムといった新興市場でも、そうした手法が用いられています。モータを効率的かつ高い費用対効果で制御するには、ハードウェアとソフトウェアのバランスを最適化することが不可欠です。例えば、PWM信号の発生器やロータ位置に対応するトランスデューサ向けのリアルタイム・インターフェースなど、タイミングが非常に重要な部分については、専用のハードウェア・ユニットで管理するとよいでしょう。一方、制御アルゴリズム全般、あるいはモータ向けに電圧に関するコマンドを生成するための演算は、DSPコアの高速演算によってソフトウェアで処理するべきです。制御ソリューションの中でソフトウェアを適切に活用することにより、旧来のハードウェア・ベースのソリューションと比べてアップグレードが容易になります。また、再現性と保守性が高まります。こうしたあらゆるメリットを享受できるということです。モータ制御のソリューションには、モータからのフィードバック情報を高速かつ正確に測定するために、適切なADCシステムを組み込む必要があります。また、ADCシステムについては、分解能、変換速度、入力サンプリング構造の面で、特定のアプリケーションの要件に対して最適なものを選択しなければなりません。

著者

Generic_Author_image

Finbarr Moynihan