RaspberryPi PicoでSG90 サーボモータを動した

コンピュータ、組み込み

電子工作の定番サーボモータを使いました。
強いトルクで高速な位置決めをすることができます。

今回紹介するもの

サーボモータ SG90

特徴
電源電圧5V
回転角度90, 180, 360°
購入時によく確認して選択します
制御方式PWM (50Hz周期)

PWM信号を入力することで任意の角度への回転ができます。
ライブラリを使用することでより簡単に制御できます。

ピン配置

茶 GND
赤 電源(5V)
橙 信号(PWM)

外観


購入したサーボモータは、OSOYOOの電子工作セットに含まれていたものです。
サーボモータを調べていくとSG90のコピー品があるようですが、これもコピー品の気がします。

手で羽を回すと180°強の回転しました。

使用感

電子工作で動きのあるものを作るときの基本モータです。
制御自体はライブラリを使用することで簡単に制御することができました。

今回使用したサーボとサンプルスケッチでは、90°回転しました。
またスイープ動作のリニアリティも若干悪く感じます。
ライブラリやパラメータで調整ができるものかはこれから確認していきます。

これまでDCモータステッピングモータも紹介してきました。
DCモータは手軽に高速回転できますが、位置決めには向きません。
ステッピングモータは強いトルクで位置決め精度がありますが、制御が複雑で原点センサが必要です。
サーボモータは強いトルクで手軽に位置決めできますが、回転角度が少ないです。

それぞれの特徴を理解することで幅広い電子工作ができそうです。

なお、サーボモータはメカノイズが大きめで気になりますが、個人的にはメカメカしい音が動いている感があり個人的には好感です。

準備

ライブラリ

ボードライブラリ

RaspberryPi Picoを使用します。
Arduino IDEのボードマネージャからRP2040ボード用ライブラリのインストールとボードの選択をします。

追加のボードマネージャのURLhttps://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json
検索RP2040
ボードライブラリRaspberry Pi RP2040 Boards(x.x.x)※
選択するボードRaspberry Pi RP2040 Boards(x.x.x) >
※動作確認はバージョン 3.3.2です

使うもの

画像名称、型番用途
SG90
サーボモータ
動いてもらいます
RP2040-ASG90を制御します。

RaspberryPi Picoの互換ボードです。
RaspberryPi Picoも共通のスケッチで動作します。
ブレッドボード配線します
ジャンパワイヤ数本
オス-オス
オス-メス
配線します

動作

スイープ動作

説明

回転動作を繰り返します。

今回Raspberry Pi Pico/RP2040 Earle F. Philhowerのサンプルプログラム「Servo(rp2040) > Sweep」を使用しました。

配線

サーボモータからは赤、茶、橙のワイヤーにメスコネクタが取り付けられています。
ブレッドボードに挿すために、ジャンパワイヤ(オス-オス)を中継します。

RP2040-A配線SG90
5V5V
GND黒-茶GND
GPIO2黄-橙Signal
スケッチ

RP2040のサンプルプログラムを使用しました。
ファイル > スケッチ例 > Servo(rp2040) > Sweep

結果

サーボモータが回転しました。
スケッチ上は180°回転の繰り返しですが、90°程度の回転を繰り返しています。

コメント

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