スポンサーリンク

wiringpiのハードウェアPWMでサーボモータ(MG996R)を動かす

今回はRaspberryPiに「wiringpi」をインポートしてサーボモータ(MG996R)を動かしてみましたので、そのときの情報を記載しておきます。

「wiringpi」のソフトウェアPWMを使用するとサーボがかなりガタガタしてしまいましたので、今回はハードウェアPWMを使用して揺れを無くすようにしてみました。

使用しているサーボはMG996Rです。今回は下記の範囲で設定していきます。
***************************************
・周期:20[ms]、周波数:50[Hz]

・パルス幅:0.5~2.4[ms]

・Duty:2.5~12[%](パルス幅/周期×100)
***************************************

今回はこちらの記事で紹介されていたものを少し変更して実行してみたいと思います。

ただいまシステムの中身③ GPIOを使ったサーボモータ制御

以下のようなPythonファイルを作成してサーボを動かすことができました。

「set_degree = 60」のところに角度を指定して実行するとその角度にサーボが回転することが分かります。

また、今回はハードウェアPWMを使用していますので、PINはGPIO12、18もしくは、GPIO13、19のどれかに接続してやらないと動かすことができません。

このハードウェアPWMを出力できるPINさえ増えれば、たくさんのサーボで正確なPWM制御ができるようになるんですけどね。。