マイコンのPWM制御とは【現役エンジニアが教える電子工作】

どうも、なかしー(@nakac_work)です。
自動車や家電製品にプログラミングをする組み込みエンジニアとして働いています。

電子工作でマイコンを勉強し始めた人が疑問に思うのがPWM制御だと思います。PWM制御を理解できれば、2足歩行ロボットの関節やLEDの明るさを調整することができるようになります。

PWM制御はRaspberry PiやArduinoといったマイコンに標準で付いている便利な機能です。

この記事では「PWM制御」について紹介します。

PWM制御で覚えるポイントは3つです。

  1. 周期
  2. パルス幅
  3. デューティー比

PWM制御とは

ONとOFFを繰り返す電気信号をパルス波と呼びます。

ON→OFF→ONになるまでの時間を周期、ON→OFFまでの時間をパルス幅と呼びます。PWM制御は一定の周期におけるパルス幅を変化させる制御方法です。

周期に対するパルス幅の割合をデューティ―比と呼んでいます。
デューティー比が大きいほど、パルス幅は長くなります。

デューティー比[%]の計算はこんな感じです。

PWM制御で3色LEDの色を変化させる

3色LEDは1つの部品で赤色・青色・緑色に光ります。そして、マイコンのI/Oピンで制御すると各色+白色に光らせることができますが、PWM制御を使うと他の色を細かく調整できます。

まずは赤色だけでパルス幅をだんだん短くしてみました。

最初と最後の写真を比べると明るさの違いが分かりますよね。

緑色も光らせると橙色や黄色に光らせることもできます。

PWM制御でサーボモーターの角度を制御する

サーボモーターはPWM制御のデューティー比で角度を調整します。

格安のサーボモーターSG-90を使って解説をします。

周期は20msでパルス幅は0.5msでサーボモーターは-90°に、2.4msでサーボモーターは+90°になります。

サーボモーター:-90°
サーボモーター:0°

PWM制御のまとめ

この記事では「PWM制御」について紹介しました。

PWM制御で、サーボモーターの角度制御やLEDの明るさ調整などが実現可能です。

覚えておきたポイントはこちらです。

  1. 周期
  2. パルス幅
  3. デューティー比