PWMって何?
こんにちは、システム設計課の安田です。
PWM(pulse-width modulation)とは、パルス変調の一種で、文字通りパルスの幅を変化させることにより、変調を行う方式です。
変調とは、何らかの信号により、基本となる別の信号(「搬送波」)を変化させることを言います。
ラジオ放送なら、音声信号により搬送波を変化させて、電波として送り出すことになります。
余談ですが、変調がかかった信号から元の信号を取り出すことは、復調と呼ばれます。
パルス変調は、搬送波にパルスを用いる方式で、パルスとは矩形波を指します。簡単に言えば、信号のOn/Offで示す波形(図 1 波形参照)です。
図1 波形PWMでは、パルス幅=Onの時間の長さが変調時に変化させる対象になります。
なお、周期(周波数)は一定にしますので、On時間を延ばせば、その分Off時間が減ります。
一般に、周期に対するOn時間の割合をデューティ比(図 2 周期/デューティ比参照)と呼び、PWM制御の基本となります。
図2 周期/デューティ比PWMは、On時間を変化させるという方式から、電源制御、モーター制御、輝度制御などに応用されることが多いです。そのような場合変調の意味合いは薄れ、希望のデューティ比に設定して動作させるケースが大半です。
RL78マイコンによる2つのタイマを使用したPWMの作り方
早速、RL78マイコンによる、e² studio(マイコン用統合開発環境)を使用したPWMの作り方を実際に見ていきましょう。
※画面はイメージになります。設定は簡単にすることができ、RL78マイコンのタイマ・アレイ・ユニット設定で行う事ができ、GUIの画面でソースコードが自動生成されるので便利です。
ただし、今回紹介する方法では、一定のPWM出力しかできないことに注意してください。
実際の画面(図 3 チャネル設定参照)を見てみましょう。
図3 チャネル設定図では、一般設定のチャネル0、チャネル1を使用した形になります。
「PWM出力(マスタ)」を設定すると対応するチャネルが自動的に「PWM出力(スレーブ)」となります。
余談ですが、RL78マイコンでは種類により、使用できるタイマ・アレイ・ユニットのチャネル数、チャネルに使用できる機能に違いがありますが、各チャネルは対応した機能しか割り振ることができないため、間違ったタイマ機能の割り振りをしないようにできています。続いて、PWMの設定を変更していきましょう。
まずは、チャネル0(マスタ)の設定を変更して、PWMの周期を設定していきます。
実際の画面(図 4 周期設定参照)を見てみましょう。
図4 周期設定図の様に周期と時間の単位を設定します。
続いて、チャネル1(スレーブ)の設置絵を変更して、ディーティの設定をしていきます。
実際の画面(図 5 デューティ設定参照)を見てみましょう。
図5 デューティ設定図ではデューティ75%の設定を行っています。
RL78マイコンから出力するPWM出力波形で実際の波形のイメージが見ることができます。ここまでで設定が完了しますので、コード生成を実行していただくことでソースコードが自動生成されます。
実際にPWMの開始と停止を行うにはどうすれば良いかというと、以下の関数を呼び出すだけでPWMの開始、停止ができます。
void R_TAU0_Channel0_Start(void)
void R_TAU0_Channel0_Stop(void)以上で、RL78マイコンでのPWMの作り方のご紹介になります。
あとはRL78マイコンに書き込みを行い実際に出力させて見てください。今回は、RL78マイコンでのPWMの作り方を紹介させていただきましたが、RL78マイコンを使用した、試作、開発で何かお困りの方がおられましたらお気軽にお問い合わせください。
<関連リンク>
<WTIブログ>
- ハードウェア、ソフトウェアの組み込み開発はお任せください
- Infineon社車載マイコン評価ボード AURIX™ TC375 Lite kit V2 を使ってLIN通信にチャレンジ!(前編)
- Infineon社車載マイコン評価ボード AURIX™ TC375 Lite kit V2 を使ってLIN通信にチャレンジ!(後編)
- 初心者のマイコン制御とプログラミング ~動作編~
- Infineon社製AURIX2Gマイコン「TC397」を搭載した評価ボード「TriBoard」を使用してCAN FD通信をやってみた!
- マイコンに搭載されているA/Dコンバータと入力ノイズについて
- マイコンなのかFPGAなのか ~システム設計のポイント~
- ESP32マイコンでOTA! Wi-Fiでプログラムを書き込む
- 無線モジュール搭載IoT機器の開発には幅広い知見と技術が必要です
【採用】
- 人材採用(インターンシップ・新卒・中途)
- 技術者不足の時代 ~単純作業を自動化しよう~