最初に「PWM」とは何かを理解します。
PWMとは
PWMとは「Pulse Width Modulation」の略で、変調方式の一つです。。。。。。。
って感じで説明を始めてもさっぱり…って感じですよね。ということで、「PWM」とは何か?、簡単な例から説明してみます。
基礎編の第8回で、マイコンを使った製作に入る前に、LEDと抵抗、電池だけを使ってLEDを点灯しました。
ブレッドボードに組み立てるとこんな感じになりましたよね。
この回路で使用している電池ボックスにはスイッチが付いています。当然ですが、スイッチをOFFにするとLEDは消灯、ONにすると点灯します。最近のLEDは発光効率がいいので、このような回路で点灯させるとかなり明るく光ります。
では、この回路で、LEDの明るさをちょっと暗くするにはどうしたらいいでしょうか。
すぐに思いつくのは、抵抗を変える、という方法です。例えば上の画像の回路で使用している抵抗は330Ωです。抵抗の値が大きくなると電流が流れにくくなりますので、例えば10kΩの抵抗に入れ替えると暗くなります。
また、この回路では電池を4本使用していますが、本数を減らして電圧を下げても暗く点灯することができます。
では、抵抗や電池を変えない、つまり、上の画像の回路のままでLEDの明るさを変更するにはどうしたらよいでしょうか。
そんな方法絶対になさそうですよね。
でも一つ方法があるんです。実は上の画像の回路ではなかなか難しいのですが、思いっきり早くスイッチをバチバチしてOFF/ONを繰り返すんです。
小さい頃、部屋の照明のスイッチをバチバチやって怒られた経験がある方もいらっしゃるかもしれませんが、照明器具のスイッチをバチバチやっても明かりが点滅するだけでしたよね。
でも、このバチバチをものすごく早くやると点滅していないように見えるんです。この点滅を1秒間にだいたい100〜200回以上行うと、人間の目には早すぎて点滅として認識できなくなります。
このバチバチですが、横軸に時間軸をとって点滅の状態を図示すると以下のようになります。
この図では、LEDをONにする時間とOFFにする時間は同じにしています。ON/OFFの繰り返し1回分のうち、50%をON、50%をOFFにしています。つまり、LEDをずっとONにした状態に比べると、半分の時間しか点灯していません。このような点滅制御をしているLEDを人間が見ると、LEDは半分ぐらいの明るさで光って見えるようになります。
ONとOFFの時間を同じにすると、半分の時間しか点灯しなくなって半分ぐらいの明るさに見える、ということは、ONの時間をOFFの時間より短くするとどうなるのでしょうか。例えばこんな感じでLEDの点滅を制御します。
この場合、先ほどのONの時間が50%の場合より、さらにLEDが点灯している時間が20%と短くなるわけですから、より暗く光っているように見えます。当然ながら、以下のようにONの時間をOFFの時間より長くすると、ON/OFFの時間が同じ場合より明るく見えます。
このように、スイッチをバチバチやる時にONの時間とOFFの時間の比率を変えると明るさが調整できる、ということになります。
これが「PWM」制御です。
「PWM」とは「Pulse Width Modulation」の略です。日本語に無理やり訳すと「パルスの幅の調整」という感じです。なぜこのように呼ばれるかもう少し補足します。
上の図のような、ある一定時間だけONになる信号は「パルス信号(Pulse Signal)」と呼ばれています。
「Pulse」とは「鼓動」などの意味です。
ちょっと話がそれますが、宇宙には面白い星があります。基礎編で作ったタイマー回路のLEDのように、周期的にピカッ、ピカッ、と光る星があります。このような星のことをパルス状の光を発する、ということで「パルサー(Pulsar)」と呼ばれています。
LEDをバチバチ制御する際に、このパルス(Pulse)の時間幅(Width)を変えることにより制御しました。
LEDの明るさをアナログ制御するときに、パルス幅を変えたON/OFFの信号で制御する、などのように、アナログ値を電気信号に変換することを、一般に「変調」と呼ばれていて、英語では「Modulation」と呼ばれています。
ということでこのような制御方法を「PWM制御」と呼んでいます。
ここまでの説明で、PWM制御、というのはどのようなものか概要はつかめたでしょうか。
なお、LEDをPWM制御すると明るさを変えることができますが、モーターの場合は回転速度の制御ができます。このように、PWM制御の場合、一つの電圧でアナログ的な制御ができるのでいろいろな場面で使われています。
それではこれから、マイコンでプログラム制御することによりLEDをPWM制御して明るさを調整してみます。
マイコンでPWM制御する際、いろいろな言葉が出てきますので、実際の制御方法を考える前にPWM制御ついてもうちょっと詳しく説明します。
PWM制御で出てくる用語
PWM制御では、普段聞き慣れない用語が出てきますので、確認しておきましょう。
PWM制御をする場合、何が決まれば信号のパターンが決まるでしょうか?
信号のパターンは2種類の時間を決めるとパターンが決まります。
ひとつは「1回分のON/OFFの時間」、もうひとつは「ONを継続する時間」です。これらが決まるとPWM制御信号が生成できます。
この2つは、PWMの信号パターンを決める重要な値ですので、名前が付けられています。
PWM制御では、「1回分のON/OFFの時間」を「周期」と呼んでいます。単位は「秒」です。
また、「1秒間に繰り返すON/OFFの回数」を「周波数」と呼んでいます。単位は「Hz(ヘルツ)」です。
次に、「ONの時間」は「パルス幅」と呼んでいます。単に「ON時間」と呼ぶこともあるようです。
なんだかいろいろ出てきてお腹いっぱいという感じですが、これで最後です。
「周期に対するパルス幅の割合」は「デューティー比」や「デューティサイクル」と呼ばれています。
「デューティ」って普段あまり使わないので、イメージしづらい言葉ですよね。「デューティー(Duty)」には「仕事」とか「任務」などという意味があります。
「デューティー比」を無理やり日本語にしてみると「仕事をしている割合」という感じでしょうかね。
PWM制御では、ONというのはなんとなく働いている、という感じがしませんか?
そう考えると「ON時間の割合」というのは、「仕事をしている割合」=「デューティー比」と考えるとイメージしやすいかもしれません。
それでは、具体例で確認しましょう。
このようにLEDをPWM制御する場合、「周期」は10ms、「パルス幅」は7msです。また、デューティー比は、7ms ÷ 10ms = 0.7 = 70%ということになります。
周波数は、1回のON/OFFが10msですので、1秒 ÷ 10ms = 1000ms ÷ 10ms = 100Hzになります。
このように、デューティー比というのは仕事をしている割合、というような意味ですので、日常の会話でも「今日はちょっと勉強をサボろうかな」という代わりに「今日はちょっとデューティ比を低くしようかな」なんて言い方をしたほうがサボってる感がなくなります。
次回は基礎編で作ったブレッドボードを使用して、LEDのPWM制御をしてみます。
更新履歴
日付 | 内容 |
---|---|
2016.12.18 | 新規投稿 |
2024.7.26 | 「デューティーサイクル」の説明が間違っていたため修正。 |
お久しぶりです。
先生のお陰で、PWMの方、大分理解が進みました。
一つリクエストがあります。
多分、自分以外にも要望される方はいると思います。
DACについて、講義をお願いします。
コメントどうもありがとうございます。
DACの説明もしたいところですが、なかなか時間がないので解説記事を書くのがなかなか難しいところが悩みです。
シリーズ記事ですと書くのに時間がかかるので、単発記事で電子部品の使い方などを書こうかな、と思っています。その中でDACも取り上げることを検討してみようと思います。
すごいくわかりやすいです
コメントどうもありがとうございます。
これから先はちょっと難しくなりますので、不明点ありましたらご質問ください。