Arduino サーボモーターを制御する

この前、DCモーターを確認しましたので今度は「サーボモーター」について動かしてみる。

用意するもの


いつものセット

  1. Arduino nano
  2. PC(Windows 10)
  3. Arduino IDE
  4. USBケーブル(Aオス-ミニBオス)
  5. その他部品は前回の流用

サーボモーター周辺の部品は以下

  1. サーボモーター(SG90)2個
    DSC_0887
    今回は2軸に出来るキットがあったのでそれに。
    SG90サーボ用 2軸 カメラマウント 2軸アングル FPV 空撮にも (マウント+2個SG90) 
    ◆注意◆:モーター自体は動きますが取り付け穴の寸法が間違っているので加工が必要です!!
  2. 外部電源(乾電池 2本)
  3. あると便利2軸ジョイスティック
    HiLetgo ジョイスティック (5個セット)
    DSC_0891
  4. ジョイスティック用抵抗器10kΩ

回路構成を考える


まずは、どんな動きをするかモーター1個で確認しましょう。

毎回のことですが、前回の回路を流用して使っていきます。

可変抵抗はモーターの回転制御に使用します。

回路

サーボモーターの配線の信号は以下の通り

DSC_0885

  1. 橙色:信号線
  2. 赤色:電源+
  3. 茶色:電源-

接続して回路は完成です。

サーボモーターについて


サーボモーターはDCモーターとは違い電圧を送るだけでは制御できません。

一定周期(50Hz)のパルスを送ることで回転角度を指定し制御します。

  • 90度(前方向き)

2017-12-31 (1)

  • 0度(左回転)

2017-12-31 (4)

  • 180度(右回転)

2017-12-31 (5)

プログラミングをする


サーボ制御には標準ライブラリがあります。
それを使うことで簡単に制御が出来ます。

参考:Arduinoリファレンス

完成したプログラムはここに置いておきます。
(2軸ジョイスティック対応)

追加回路


特に大きな変更点はありませんが、2個目のサーボモーターとジョイスティックが追加です。

回路2

サーボモーターはD9に新たに追加。

ジョイスティックはシルクでピンの信号が分かります。
アナログが2つありますのでA1、A2に追加。
電源は+5VとGND。
SWは通常オープンの為、プルアップ抵抗で+5V入れてます。
SWをオンにするとGNDになります。

後はプログラムを走らせて確認するだけ!

スポンサーリンク