Servo Shield¶
Servo Shield (v3) điều khiển tối đa bốn servo hobby tiêu chuẩn trực tiếp từ OpenMV Cam. Bộ điều chỉnh điện áp tích hợp trên bo mạch chấp nhận đầu vào 6–36 V trên khối đầu nối và cung cấp 5,6 V ở mức tối đa 5 A — đủ để cấp nguồn cho cả camera và các servo từ một nguồn duy nhất.
Để xem datasheet đầy đủ, ảnh và đặt hàng, hãy xem trang sản phẩm Servo Shield.
Tính năng nổi bật¶
Điều khiển tối đa bốn servo hobby qua P7 / P8 / P9 / P10
Đầu vào 6–36 V trên khối đầu nối (chịu được điện áp ngược)
5,6 V ở mức tối đa 5 A trên VIN — cấp nguồn cho camera và servo
Đầu vào ADC 0–5 V với bảo vệ quá áp lên đến ±36 V
I/O số hai chiều 0–5 V với chuyển mức 3,3 V sang 5 V
Sơ đồ chân¶
Tham chiếu chân (pin)¶
Chân (Pin) |
Chức năng |
|---|---|
P6 |
Đọc lại AIN qua chuyển mức (0–3,3 V trên P6) |
P7 |
Servo 1 — GPIO hai chiều 3,3 V ↔ 5 V |
P8 |
Servo 2 — GPIO hai chiều 3,3 V ↔ 5 V |
P9 |
Servo 3 — GPIO hai chiều 3,3 V ↔ 5 V |
P10 |
Servo 4 — GPIO hai chiều 3,3 V ↔ 5 V |
PWR in |
Đầu vào rộng 6–36 V trên khối đầu nối (chịu được điện áp ngược) |
AIN in |
Đầu vào tương tự trên khối đầu nối |
VIN out |
5,6 V đã điều chỉnh, tối đa 5 A kết hợp cho servo và camera |
3.3V rail |
Cấp nguồn cho các mạch điện tử tích hợp trên shield |
GND rail |
Đất chung |
Ghi chú
AIN được bảo vệ quá áp lên đến ±36 V và mặc định là đầu vào điện áp 0–5 V, được giảm xuống 0–3,3 V trên P6. Bắc cầu shunt chế độ 4–20 mA ở mặt sau shield để chuyển AIN sang đầu vào vòng dòng điện 4–20 mA.
Ghi chú
Mỗi chân từ P6–P10 được kết nối với camera qua một điện trở 0 ohm ở mặt sau shield. Gỡ bỏ điện trở trên bất kỳ chân nào bạn muốn sử dụng cho mục đích khác.
Ghi chú
Trên phiên bản v2 của shield, P6–P9 là các bộ chuyển mức một chiều 3,3 V → 5 V (chỉ đầu ra). P10 là đường tín hiệu số cực máng hở, được kéo lên 3,3 V ở phía camera và 5 V ở phía chân servo. Mặc định nó là đầu vào — shield chuyển mức 0–5 V trên chân servo xuống 0–3,3 V trên P10. Thay đổi jumper hàn trên bo mạch để chuyển P10 thành đầu ra, chuyển mức 0–3,3 V trên P10 lên 0–5 V trên chân servo.
Cách sử dụng¶
Điều khiển servo hobby từ bất kỳ chân nào trong P7–P10 bằng tín hiệu PWM 50 Hz. Dải độ rộng xung thay đổi tùy theo servo, vì vậy hãy điều chỉnh MIN_US và MAX_US cho phù hợp — giá trị điển hình khoảng 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)
Đọc đầu vào khối đầu nối AIN (kết quả sau chuyển mức xuất hiện trên 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)