Raspberry Pi のPWM出力の周波数

先日作ったモータードライブ基板ではドライバICとして東芝TA7291Pを用いている。このICはマブチモータークラスを駆動するのにちょうど良い電圧範囲なので、以前、赤外線リモコン戦車を作った時にも使用しており馴染みがある。 そしてまた使う事もあるかと思い買っておいたのがパーツ箱に4個程入っていたのだ。
で、このIC、モーターに加える電圧を制御する端子があるので、今回の基板ではRaspberryPiのPWM出力を与えてみる事にした。  そこでまずはPWMの周波数がどの程度か、資料が見当たらなかったので実測してみた。

PWM値=512(Duty=50%)のとき・・・半周期1.6μSなので312.5KHz

RaspiPWM=512

PWM=512(Duty=50%)

PWM値=256(Duty=25%)のとき・・・H側はほぼ1.6μSのままでL側だけ時間が伸び、150KHzとなっている。

RaspiPWM=256

PWM=256(Duty=25%)

PWM値=789(Duty=75%)のとき・・・今度はL側が1.6μSでH側が伸び、周波数はやはり150KHzとなっている。

RaspiPWM=768

PWM値=768(Duty75%)

どうやらHもLも最小幅は1.6μSで、あとはどちらかが伸びていくという動きをする様だ。という事は最大周波数は約313KHzで、最小は1/(16μS×1024)=610Hzという計算になり、実測するとほぼその通りであった。結構幅が広く、周波数が低いときには綺麗にリプルをとるのは難しい気がする。
とりあえず手持ちのL=330μHとC=10μFでフィルタを組んでみた。カットオフ周波数は約2.8KHz。これでもモーターの回転数はそれなりに制御できている。

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です


*