2013/06/19

PWM出力を使う

BeagleBone Blackには8つのPWM出力があります。
PWMを使うと、モーターの回転速度を変更したり、LEDの輝度を変えることができます。
フルカラーLEDに接続すれば、好きな色を表現することもできます。

BeagleBoneではeCAPとeHRPWMという2種類のPWMが使用できます。
どちらも同じように使えるので、違いは気にしないでおきます。

eCAP2 P9-28 Mode=4
eCAP0 P9-42 Mode=0
eHRPWM0A P9-22 Mode=3
eHRPWM0B P9-21 Mode=3
eHRPWM1A P9-14 Mode=7
eHRPWM1B P9-16 Mode=7
eHRPWM2A P8-45 Mode=3 または  P8-13 Mode=4
eHRPWM2B P8-46 Mode=3 または  P8-19 Mode=4

BeagleBone BlackではeHRPWM2用のピンは内蔵eMMCとHDMI出力用に使用されているので、通常のBeagleBone Blackで使えるPWM出力は最大6つとなります。


使い方

まずはピンのMux modeを指定します。
今回はecap2を使います。

sudo -s
echo 4 > /sys/kernel/debug/omap/mcasp0_ahclkr

PWMの周波数とデューティ比を設定します。

cd /sys/class/pwm/ecap.2

echo 1 > request
echo 100 > period_freq
echo 50 > duty_percent
echo 1 > polarity

周波数とデューティ比を設定したので、あとはPWM出力を開始するだけです。

echo 1 > run

止める場合は

echo 0 > run

後片付け

echo 0 > request

PWMの周波数は100Hzまでは動作しますが、それ以上の周波数になると設定できないようです。


0 件のコメント:

コメントを投稿