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

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

環境

ハードウェア

ラズパイ:Raspberry Pi 5

サーボモータ:GDS-0812

ソフトウェア

言語:Python

プログラム:gpiozero

事象

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

原因

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

対処

諦めるニャン。

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

どうやら「rpi-hardware-pwm」というライブラリを使用するとラズパイ5単体で動作可能なようです。

詳細は下記記事に記載されています。

ラズパイ5のサーボモーターのジッター問題に対処した話

 

また、「PCA9685」というサーボモータのドライバを使用することでも震えることなく動作しました。

下記に詳細を記載します。

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

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

参考文献

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

コメント

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