【Raspberry Pi 5】Pythonのgpiozeroでサーボモータが震える件について

スポンサーリンク
スポンサーリンク

環境

ハードウェア

ラズパイ:Raspberry Pi 5

サーボモータ:GDS-0812

ソフトウェア

言語:Python

プログラム:gpiozero

事象

サーボモータにパルスが入力されている状態で止まってる時に「ジジジジ」とか言って微妙に動いてる。

原因

gpiozeroだとハードウェアPWMが使えず、CPUへの割り込み処理とかでPWMの幅が変わっちゃうのが原因。

対処

諦めるニャン。

pigpioが使えれば望み有りだったんですが、ラズパイ5からGPIOの制御方法が変わってしまったのでpigpioは使えません。

なので代案として「PCA9685」というサーボモータのドライバを使用しましょう。

自分は下記のコードで震えることなく動作しました。

(SG-90じゃなくて特殊なサーボを使っているので普通の人はこれじゃ動かないかもしれません)

(SG-90とか使っている方は参考文献を参照してみてください)

参考文献

ラズパイでサーボモータを制御(PCA9685)

コメント

タイトルとURLをコピーしました