Servo Shield

Servo Shield(v3)は、OpenMV Camから直接最大4個の標準ホビーサーボを駆動します。オンボードのレギュレータは端子台上で6~36 Vの入力を受け付け、5.6 Vを最大5 Aで供給します。これは単一の電源からカメラとサーボの両方に給電するのに十分です。

Servo Shield

完全なデータシート、写真、注文については Servo Shield製品ページ を参照してください。

ハイライト

  • P7/P8/P9/P10経由で最大4個のホビーサーボを駆動

  • 端子台上の6~36 V入力(逆電圧耐性あり)

  • VIN上で5.6 V、最大5 A — カメラとサーボへ給電

  • ±36 Vまでの過電圧保護付き0~5 V ADC入力

  • 3.3 V~5 Vレベルシフト付きの双方向0~5 VデジタルI/O

ピン配置

Servo Shieldのピン配置

ピンリファレンス

ピン

機能

P6

レベルシフトされたAINの読み戻し(P6上で0~3.3 V)

P7

サーボ1 — 双方向3.3 V ↔ 5 V GPIO

P8

サーボ2 — 双方向3.3 V ↔ 5 V GPIO

P9

サーボ3 — 双方向3.3 V ↔ 5 V GPIO

P10

サーボ4 — 双方向3.3 V ↔ 5 V GPIO

PWR入力

端子台上の6~36 Vワイド入力(逆電圧耐性あり)

AIN入力

端子台上のアナログ入力

VIN出力

5.6 Vレギュレート、サーボとカメラ合計で最大5 A

3.3Vレール

シールドのオンボード電子回路へ給電

GNDレール

共通グランド

注釈

AINは±36 Vまで過電圧保護されており、デフォルトでは0~5 Vの電圧入力で、P6上では0~3.3 Vにスケールダウンされます。シールド裏面の4~20 mAモードシャントをブリッジすると、AINを4~20 mAのカレントループ入力に切り替えられます。

注釈

P6~P10はそれぞれシールド裏面の0オーム抵抗を通じてカメラに接続されています。無関係な用途に再利用したいピンの抵抗を取り外してください。

注釈

v2バージョンのシールドでは、P6~P9は単方向の3.3 V → 5 Vレベルシフタ(出力のみ)です。P10はオープンドレインのデジタルラインで、カメラ側は3.3 V、サーボピン側は5 Vにプルアップされています。デフォルトでは入力で、シールドがサーボピン上の0~5 VをP10上の0~3.3 Vにレベルシフトします。オンボードのはんだジャンパを変更するとP10を出力に切り替えられ、P10上の0~3.3 Vをサーボピン上の0~5 Vにレベルシフトします。

使い方

P7~P10のいずれかから50 Hz PWM信号でホビーサーボを駆動します。パルス幅の範囲はサーボによって異なるため、お使いのサーボに合わせて MIN_USMAX_US を調整してください。一般的な値はおよそ1000~2000 µsです:

from machine import Pin, PWM
import time

MIN_US = 1000  # full-left pulse width (microseconds)
MAX_US = 2000  # full-right pulse width

servo = PWM(Pin("P7"), freq=50)

def angle(deg):
    pulse_us = MIN_US + (deg * (MAX_US - MIN_US)) // 180
    servo.duty_ns(pulse_us * 1000)

while True:
    angle(0)
    time.sleep(1)
    angle(90)
    time.sleep(1)
    angle(180)
    time.sleep(1)

AIN端子台入力を読み取ります(レベルシフトされた結果がP6に現れます):

from machine import ADC
import time

ain = ADC("P6")

while True:
    # 0–5 V on the AIN terminal scaled to 0–3.3 V on P6
    v = ain.read_u16() * 3.3 / 65535
    print("AIN:", v * (5.0 / 3.3), "V")
    time.sleep_ms(100)