ラズパイ 連続回転サーボ (speed)


20160505_raspi_servo

ラズパイ 連続回転サーボ (duty) に続いて、ラズパイで連続回転サーボを制御します。

ServoSpeed クラス
RPi.GPIO の PWM モードでは、PWMのパルス幅を、デューティ比 で指定します。
デューティ比の範囲は、5.0 から 10.0 です。

これでは使い難いので、速度で指定するクラスを作成しました。
速度の範囲は、−100 から 100 です。
duty のときの確認でわかったように、停止の指定が、計算値よりも少しずれています。
そこで、オフセットを設定して、速度 0 を指定した時に、停止するようにしました。

ソースは、github で公開しています。
rpi_servo_speed.py

確認
試してみたことろ、オフセット=0、速度=0 のときは、微速で回転して、停止しませんでした。
速度 -10 から -26 で、停止しました

オフセットを−18に設定して、速度を -100、-10、0、10、100 と変化させます。
時計周り(高速)、時計周り(低速)、停止、反時計周り(低速)、 反時計周り(高速) となることを確認しました。

課題
停止を指定しても、クリッと音がして、サーボが微動することがあります。
これは、パルスがジッタを持ってるためと思われます。
今回の用途では、割り切って、このままで使用します。


コメントを残す

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