Servo Shield¶
Servo Shield(v3)는 OpenMV Cam에서 직접 최대 4개의 표준 취미용 서보를 구동합니다. 온보드 레귤레이터는 터미널 블록에서 6–36 V 입력을 받아 최대 5 A로 5.6 V를 공급하므로, 단일 전원으로 카메라와 서보 모두에 전원을 공급하기에 충분합니다.
전체 데이터시트, 사진, 주문 정보는 Servo Shield 제품 페이지 를 참고하세요.
주요 특징¶
P7 / P8 / P9 / P10을 통해 최대 4개의 취미용 서보 구동
터미널 블록의 6–36 V 입력(역전압 내성)
VIN에서 최대 5 A로 5.6 V — 카메라와 서보에 전원 공급
±36 V까지 과전압 보호를 갖춘 0–5 V ADC 입력
3.3 V에서 5 V로 레벨 시프트되는 양방향 0–5 V 디지털 I/O
핀아웃¶
핀 참조¶
핀 |
기능 |
|---|---|
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_US 와 MAX_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)