忍者ブログ

Fグループ電子工作講座

秋月電子SH7125ボードで始めるマイコン開発

PWMとは

PWMとは

Pulse Width Modulation(パルス幅変調)の略
パルスの周期は変化させず、パルスのON時間とOFF時間の比率を変えて出力を行う方式です。

※通信として用いる事もありますが、以降は出力制御についてのみの解説します。
出力制御の場合アナログ出力の様なものでアナログ入力と対になります。

PWMの動作(原理)

0Vを出力し続けると0Vが、5Vを出力し続けると5Vが出力されます。
これは当然。

一定(例えば100ms)の周期の間で周期の50%の時間(50ms間)だけ5Vを出力し、50%の時間(50ms間)だけ0Vを出力し、これを繰り返す。各瞬間では5Vか0Vが出力されるものの、平均値としては5Vの50%である2.5Vが出力されることになります。


ON時間を25%、OFF時間を75%とすると平均出力25%(1.25V)となります。


ON時間を75%、OFF時間を25%とすると平均出力75%(3.75V)となります。


この様にON-OFFを高速で時間制御することによって疑似的アナログの様な出力が可能になります。この様にパルスの発生する周期(100ms)を固定したままでON時間OFF時間比率を変えてパルスの幅を変化させる制御方法がPWMです。
ラジコン等で使用するサーボモータの指令値の入力にもPWMが使用されています。

ここで1周期におけるON時間の占める割合デューティー比と呼びます。
私はPMWの周期を1msから100ms程度に設定して使用しています。


なぜPWMを使うのか

と言うよりなぜD/A変換を使わないのか。
要因1:トランジスタの特性
要因2:マイコン(デジタル)制御の特性
要因3:モータの特性
の3つについて考えてみます。

要因1:トランジスタの特性

アナログ信号に対してモータを動かす際にトランジスタを使った出力制御を行う事を考えます。
このとき、トランジスタは信号によって抵抗値が変わる可変抵抗の様なものと考える事ができます。

条件1:トランジスタに信号を全く加えていない場合、抵抗値は無限大でモータには全く電圧がかかりません電流も流れません

条件2:トランジスタに信号を100%加えた場合、抵抗値はほぼ0でモータには電源電圧がそのまま加わります。電流はモータと電源を直結したときと同程度流れます

条件3:トランジスタに50%の信号を加えた場合、ある程度の抵抗値になりモータには電源電圧より少し低下した電圧値が加わります電流も一定量流れます

とりあえずアナログ信号に応じたモータの回転数コントロールを行うことができます。
問題はここからです。
条件1の場合、特に何も起きません。
条件2の場合、トランジスタが少し発熱します。
条件3の場合、トランジスタが一気に発熱します。すこしモータを回しただけで指で触れないぐらいの温度にまで上昇します。
これはトランジスタが電力を消費していることを意味します。
消費電力は「トランジスタで低下した電圧×トランジスタに流れた電流」で計算します。
モータを回転させるためには数百mA(0.1A以上)の電流が必要になります。とりあえず100mA流れたとしましょう。
トランジスタで低下した電圧は電源電圧からモータに加わった電圧を引いたものです。
5Vを加えて3Vまで低下していたとするとトランジスタには2V加わっていることになります。
トランジスタで消費した電力は200mWとなります。一見小さな電力にも思えますが、モータでの消費電力が300mAなので、トランジスタで消費された電力結構な大きさであることが分かります。供給した電力のうち40%をトランジスタで消費(捨てている)ことになるので、あまり良い使い方ではありません。
トランジスタを効率よく使用する場合は条件1条件2のみ使用した方が良いのです。

要因2:マイコン(デジタル)制御の特性

これは話がとても簡単です。
マイコンは一般的にD/A変換機能を標準では搭載していません
アナログ電圧出力を行う場合は抵抗を沢山並べたラダー型の変換回路等を作成する必要があります。
これに対してPWMON-OFFのみを行えば良いので追加で周辺回路を作成する必要はありませんON-OFFを一定周期で繰り返すプログラムが必要ですが、多くのマイコンでPWMのON-OFF波形を生成する機能が搭載されています

要因3:モータの特性

モータをゆっくり回すにはモータが回るか回らないかのギリギリの電圧を加えれば良いのですが、モータの個体差摩擦などの外的要因により同じ電圧をかけても回ったり回らなかったりします。これに対してモータを定格電圧で動かしている間は少し外力を加えた程度では回り続けます
PWMで動作させると定格回転停止繰り返している様な動きとなります。
力強く一瞬回ってから停止を繰り返すのでモータが回るか回らないかのギリギリの電圧を加えた場合より外力に強くなります


PWMが使えない条件

PWM自体は制御で都合が良いのですが、万能ではありません

リレーを接続している場合

マイコンの端子で直接LEDを制御している場合やトランジスタを介してモータを制御している場合は問題はありません。
問題となるのはリレーを経由してランプやモータを制御している場合。
ランプやモータ自体がPWM動作可能な物であってもリレーを介して制御している場合はPWM制御をすることができません。これはリレーの構造にに起因します。
リレー自体をPWM制御で動かす事は一応可能です。リレーの中の電極が物理的に動く時間は確保する必要がありますがとりあえず動きはします
問題なのは電極側で、電圧をかけたまま電極の接触と離脱を繰り返すことになります。
電圧をかけたまま電極の接触と離脱を行うとその瞬間にスパーク(火花)が発生します。
スパークの発生により電極の接触面が焼けたり溶けたりして電気が流れなくなります
リレー自体はこのスパークが発生することは想定しており、数万回程度のON-OFFではトラブルが起きないように設計されています。何回までON-OFFしても大丈夫かは「電気的耐久性」という項目で規定されています。
しかし、PWMは1ms程度の周期でON-OFFを繰り返すため、10秒動かしただけでも1万回ON-OFFを繰り返すことになります。このペースでON-OFFを繰り返すと数分動かしただけで電気的耐久性の耐久値を超えて壊れてしまいます

アナログ波形を扱いたい場合

モータ制御の場合、PWM出力はアナログ出力と同じような物と考える事ができます。
ただ、実際に出力される波形はON-OFFを繰り返した矩形波です。
この出力にコンデンサをかませることでアナログ出力の様な値にすることはできます。
モータドライバへの基準電圧入力用途ではこれでも問題ありません。
しかし、オーディオの様な高速波の形が重要になる用途では目的の動作になりません。
コンデンサを追加することで波形に遅れが出てしまいます。また、1つの値を出力するのに最低でも1周期(1ms)必要で、矩形波を平滑化して正確な値を出そうと思うと数周期必要となります。
PWMの周期を小さくすればある程度までは対応できるのですが、オーディオだと20kHzでD/A出力を変化させないといけないためPWMより抵抗を沢山並べたラダー型の変換回路等で対応することが多いようです。


信号伝送としてのPWM

ここでは出力制御としてのPWMを解説しましたが、信号伝送としてのPWMにも少し触れておきます。
アナログ0-5V信号を伝送したい場合を考えてみます。
信号の送信側受信側非常に近い場合は問題が出ることは少ないでしょう。
問題は距離が離れた場合です。
電線の抵抗値は0でないため、電線が長くなると電線の抵抗により信号の電圧値が低下します。
またコネクタの接触抵抗により電圧値が低下する可能性もあります。

ON-OFF制御の場合、多少電圧が低下しても受信側ONとOFFの判別は可能です。
PWMを用いると、情報はON時間とOFF時間の比率として転送されます。
時間の比率電圧が低下しても変化することはありません
したがって、受信側ON時間とOFF時間の比率から元の情報を正確に復元することができます。

余談ですが、パルスの幅で情報電圧を行う方式の他には伝送波の振幅周波数で伝送を行う方法もあります。
伝送波の振幅を変えることで情報伝送を行う方式をAmplitude Modulation
伝送波の周波数を変えることで情報伝送を行う方式をFrequency Modulation
と言います。
ラジオのAMFMがこれです。
PR

コメント

プロフィール

HN:
ぼんどF博士
性別:
男性

最新コメント

[02/26 とし]
[02/25 ぼんどF博士]
[02/25 とし]
[10/25 ぼんどF博士]
[10/18 ss400]