4.1 PWM(Pulse Width Modulation)パルス幅変調
PWM (Pulse Width Modulation)とはパルス幅変調のことで,下図のように一定周期,一定振幅のパルスの,ONとOFFの時間比(「デューティ比」)を変化させることを言います.このような波形でモータを動かすと,デューティ比が高い(ONの時間が長い)ときはモータが速く,デューティ比が低い(ONの時間が短い)ときはモータが遅く回転します. |
![]() |
H8でこのような矩形波を作り,デューティ比を変化させるためには,出力をONにしておく時間とOFFにしておく時間を測定する必要があります. |
そこで,H8の機能のひとつであるタイマ機能を使用します.タイマとは,指定した時間がきたら知らせるという機能です. タイマ機能は,内蔵されたカウンタが一定時間間隔ごとにカウントアップされていき,カウンタ値があらかじめ設定された値に達したら何か動作を行うことで実現されます. 今回の場合,タイマをPWMモードと設定すると,カウンタ値TCNTは,初期値H'0000から始まって一定時間間隔ごとに値を1ずつ増加されていきます.このとき, パルス幅を設定するジェネラルレジスタGRAおよび周期を設定するジェネラルレジスタGRBに, |
![]() |
すると,カウンタTCNTの値とGRAの設定値が一致したときにパルスの出力TIOCAがOFFからONに切り替わり,カウンタTCNTの値とGRBの設定値が一致したときにパルスの出力TIOCAがONからOFFに切り替わって,カウンタの内容がクリア(TCNTがH'0000になる)されます.カウンタ値TCNTクリア後は再びH'0000からカウントが開始され,以下同様の動作が繰り返されます. この動作により,出力波形を作り出すことができます.GRBの値(とカウンタ動作周波数)により出力波形の周波数を定めることができ,また,GRA,GRBの設定値の比でデューティ比を定めることができます. |
PWMモードの具体的な設定方法は,H8のタイマ機能ITUの具体的な説明をする際に説明します. |