目的
今回は、パルス幅変調(PWM:Pulse Width Modulation)について説明します。PWMの動作を実現するいくつかの回路を実際に構築し、それぞれの動作を確認しましょう。
PWMとは、アナログ信号を1ビットのデジタル信号にエンコードする手法のことです。
例えば、何らかのメッセージをパルス信号にエンコードし、そのパルス信号によって情報を伝達するといったことが行われます。この手法を利用すれば、モータなどの電子デバイスの電力を制御することができます。また、太陽光発電システムで使われるバッテリ・チャージャにおいても主要なアルゴリズムとして活用されています。
PWM信号の振る舞いは、2つの主要な要素によって決まります。1つはデューティ・サイクル、もう1つは周波数です。デューティ・サイクルは、パルスの1サイクルを完了するのにかかる時間(周期)のうち、信号がハイ(オン)の状態にある時間の割合をパーセンテージで表したものです(図1)。
例として、図2にデューティ・サイクルが0%、25%、100%のパルス列を示しました。
周波数は、PWM信号の1サイクルの速度を決める要素です。パルス信号の周期の逆数が周波数です。
PWMの用途の例としては、オーディオ用のスピーカ、電気モータ、ソレノイド・アクチュエータに対する電力供給が挙げられます。これらの例では、PWM信号の周波数よりはるかに応答が遅いデバイスに電力を供給することになります。そうしたデバイスからは、一定のデューティ・サイクルでデジタル信号を十分に高速にオン/オフすれば、PWM信号は一定の電圧のアナログ信号であるかのように見えます。
準備するもの
- アクティブ・ラーニング・モジュール「ADALM2000」
- ソルダーレス・ブレッドボード
- ジャンパ線キット
- オペアンプ:「OP97」(1個)
- 抵抗:1kΩ(1個)
- ポテンショメータ:10kΩ(1個)
PWMの動作原理
PWMは、周波数の高いパルス信号から周波数の低い出力信号を生成する手法だと説明することもできます。例えば、インバータ・レグの出力電圧を上側と下側のDCレール電圧の間で高速に切り替えるケースを考えます。そのパルス信号を基にして周波数の低い出力信号を生成することで、スイッチング周期における平均電圧を表現することが可能になります。
PWM信号を生成する簡単な方法の1つは、2つの制御信号を比較することです。2つの制御信号は、それぞれキャリア信号、変調信号と呼ばれます。そのため、この手法はキャリアベースのPWMと呼ばれています。キャリア信号としては周波数(スイッチング周波数)の高い三角波が使われます。変調信号としては任意の形状のものを使用できます。この手法を使用すれば、任意の形状の変調信号を基にして、PWM表現の出力信号を得ることが可能です。機械のアプリケーションでは、変調信号として正弦波や台形波が一般的に使用されます。
ここで、図3に示す回路について考えてみましょう。この回路では、PWM信号を生成するためにキャリア信号と変調信号を使用します。キャリア信号はオペアンプの反転入力に、変調信号はオペアンプの非反転入力に印加します。そうすると、変調信号の電圧レベルが高いほど、PWMの周期のうちハイ・レベルが出力される期間が長くなります。
なお、PWM信号は、上記のものとは異なるアナログ技術や、シグマ・デルタ(ΣΔ)変調、ダイレクト・デジタル・シンセシスといったいくつかの方法で生成することができます。
ハードウェアの設定
図3の回路をソルダーレス・ブレッドボード上に実装してください。つまり、図4のような回路を構築します。
手順
この例では、ADALM2000の任意波形ジェネレータ(AWG)を信号源として使用します。まず、AWGの1つ目の出力(W1)をキャリア信号として使用することにしましょう。具体的には、ピークtoピークの振幅が4V、オフセットが2.5V、周波数が1kHzの三角波を回路に印加します。また、AWGの2つ目の出力(W2)は変調信号として使用します。ここでは、ピークtoピークの振幅が3V、オフセットが2.5V、周波数が50Hzの正弦波を生成するように設定してください。
オペアンプにはADALM2000から5Vの電源電圧を供給します。オシロスコープ機能については、入力信号がチャンネル1に、出力信号がチャンネル2に表示されるように設定してください。
図5に示したのは、AWGの2つのチャンネルによって生成された2つの入力信号です。オレンジ色の三角波はキャリア信号、紫色の正弦波は変調信号を表しています。
図6に示したのが、この回路によって得られるPWM信号です。このプロットはオシロスコープのチャンネル2で取得しました。
ある瞬間に変調信号の振幅がキャリア信号よりも大きければ、出力(PWM信号)はハイになります。変調信号の振幅がキャリア信号より小さければ、出力はローになります。
変調信号のピークがキャリア信号のピークより低い場合、出力は変調信号に忠実なPWM表現になります。
DC電圧によるパルス幅の制御
続いて、DC電圧を変調信号として使用してPWM信号のパルス幅を制御する方法を紹介します。
背景
ここで紹介する方法では、単純なオペアンプをスイッチング動作させます。そして、DC電圧を変調信号として使用することによりPWM信号のパルス幅を制御します。オペアンプのスイッチング動作については「Activity: Op Amp as Comparator, For ADALM2000」(ADALM2000による実習:オペアンプをコンパレータとして使用する)を参照してください。
ここで取り上げるのは、図7に示す回路です。
この回路において、オペアンプは単純なコンパレータとして機能します。オペアンプの反転入力にはキャリア信号を入力し、非反転入力には閾値電圧(変調に使用するDC電圧)を入力します。この閾値電圧によって、電圧出力がハイとローの間で遷移するタイミングが決まります。ポテンショメータは、固定値の入力電圧に対する分圧器として機能します。それにより、閾値電圧の値を調整します。これは、出力信号のデューティ・サイクルを調整することに相当します。
ハードウェアの設定
DC電圧を使用してパルス幅を制御する回路を構築します。図7に示したようにブレッドボードに回路を実装してください。
手順
この例では、AWGのW1によってキャリア信号を生成します。具体的には、ピークtoピークの振幅が5V、周波数が1kHzの三角波を生成して回路に印加します。一方、AWGのW2はピークtoピークの振幅が5Vの定電圧源として使用します。オペアンプには、ADALM2000から5Vの電源電圧を供給してください。オシロスコープ機能については、入力信号がチャンネル1に、出力信号がチャンネル2に表示されるように設定します。
上記のような構成により、図9に示すような波形が得られるはずです。
この出力信号は、入力電圧のPWM表現になっています。なお、ポテンショメータの値を変更すると、信号のデューティ・サイクルが変化します。その場合にも、周波数は一定のままです。
非安定マルチバイブレータを使用したPWM回路
続いて、非安定マルチバイブレータを使用したPWM回路を紹介します。その回路では、デューティ・サイクルが50%の固定値になります。
背景
ここで例にとるのは図10に示す回路です。
ここで例にとるのは図10に示す回路です。ご覧のように、オペアンプを1個使用して非安定マルチバイブレータを構成しています。その機能は、シュミット・トリガの動作原理に基づけば容易に理解できます。ヒステリシスを備えるコンパレータについては、上でも紹介した「Activity: Op Amp as Comparator, For ADALM2000」を参考にしてください。この回路では、シュミット・トリガの入力(オペアンプの反転入力)が、抵抗やコンデンサから成る回路を介して出力に接続されていることになります。コンデンサの電圧(シュミット・トリガの入力でもある)が下側の閾値よりも低い間、出力電圧は回路の正の電源電圧と等しくなります。すると、抵抗R3を介してコンデンサが充電され、シュミット・トリガの上側の閾値まで電圧が上昇していきます。そして閾値に達すると、オペアンプの出力電圧は負の電源電圧と等しくなります。そうすると、今度はR3を介してコンデンサの放電が始まり、シュミット・トリガの下側の閾値まで電圧が低下していきます。閾値に達したら、オペアンプの出力電圧が正の電源電圧に等しくなり、全体のプロセスが再び開始されます。
この回路には、キャリア信号を生成するための仕組み(例えばADALM2000)を必要としないという長所があります。但し、デューティ・サイクルは50%に固定されます。
ハードウェアの設定
図10の回路をブレッドボード上に実装してください(図11)。
手順
図10の回路には、ADALM2000から±5Vの電源電圧を供給します。オシロスコープ機能については、出力信号がチャンネル1に表示されるように設定してください。
それにより、図12のような波形が得られるはずです。
出力信号のデューティ・サイクルは約50%であり、ハイとローの信号は正と負の電源電圧に近い値になります。
デューティ・サイクルの調整が可能な回路
上述したように、図10の回路では、非安定マルチバイブレータの機能によってデューティ・サイクルが50%のPWM信号を生成できます。では、デューティ・サイクルを調整できるようにするにはどうすればよいのでしょうか。そのためには、回路を少し変更する必要があります。
例えば、図13に示すような回路に変更することになります。
図13の回路では、図10の抵抗R3をポテンショメータVR1に置き換え、2個のダイオードを追加しています。それにより、コンデンサを充電する電流がダイオードD1を流れ、放電する電流がダイオードD2を流れるようになります。ここで、ポテンショメータVR1の値を変更すると、D1側のパスとD2側のパスの抵抗値が異なる状態になります。つまり、充電電流と放電電流はそれぞれ値の異なる抵抗が配置されたパスに流れることになります。
ハードウェアの設定
図13の回路をブレッドボード上に実装します(図14)。
手順
実装した回路には、ADALM2000から±5Vの電源電圧を供給します。オシロスコープ機能については、出力信号がチャンネル1に、コンデンサの電圧(オペアンプの反転入力の電圧)がチャンネル2に表示されるように設定してください。
得られる波形の例を図15に示しました。
これは、デューティ・サイクルを約25%に設定した場合の結果です。ポテンショメータの設定を変更すると、デューティ・サイクルが変化することを確認してください。なお、デューティ・サイクルを変化させた場合、オペアンプの両入力に対応する2つの結合ネットワークがオペアンプの出力に接続されていることに起因して、スイッチング周波数も多少異なる値になります。
問題
PWMが効果的に使用されているアプリケーションの例をいくつか挙げてください。
答えはStudentZoneで確認できます。