Servo Shield¶
Servo Shield (v3) управляет до четырёх стандартных любительских сервоприводов напрямую от камеры OpenMV Cam. Его встроенный регулятор принимает вход 6–36 В на клеммной колодке и выдаёт 5,6 В при токе до 5 А — достаточно, чтобы питать и камеру, и сервоприводы от одного источника.
Полный datasheet, фотографии и информацию о заказе см. на странице продукта Servo Shield.
Ключевые особенности¶
Управление до четырёх любительских сервоприводов через P7 / P8 / P9 / P10
Вход 6–36 В на клеммной колодке (устойчив к обратному напряжению)
5,6 В при токе до 5 А на VIN — питает камеру и сервоприводы
Вход ADC 0–5 В с защитой от перенапряжения до ±36 В
Двунаправленный цифровой ввод-вывод 0–5 В с преобразованием уровня 3,3 В в 5 В
Распиновка¶
Справочник по выводам¶
Вывод |
Назначение |
|---|---|
P6 |
Считывание AIN после преобразования уровня (0–3,3 В на P6) |
P7 |
Сервопривод 1 — двунаправленный GPIO 3,3 В ↔ 5 В |
P8 |
Сервопривод 2 — двунаправленный GPIO 3,3 В ↔ 5 В |
P9 |
Сервопривод 3 — двунаправленный GPIO 3,3 В ↔ 5 В |
P10 |
Сервопривод 4 — двунаправленный GPIO 3,3 В ↔ 5 В |
PWR in |
Широкий вход 6–36 В на клеммной колодке (устойчив к обратному напряжению) |
AIN in |
Аналоговый вход на клеммной колодке |
VIN out |
5,6 В стабилизированного напряжения, до 5 А суммарно для сервоприводов и камеры |
Шина 3.3V |
Питает встроенную электронику шилда |
Шина GND |
Общая земля |
Примечание
AIN защищён от перенапряжения до ±36 В и по умолчанию работает как вход напряжения 0–5 В, масштабируемый до 0–3,3 В на P6. Замкните перемычку режима 4–20 мА на обратной стороне шилда, чтобы переключить AIN на токовый вход 4–20 мА.
Примечание
Каждый из выводов P6–P10 подключён к камере через резистор 0 Ом на обратной стороне шилда. Удалите резистор на любом выводе, который хотите вернуть для использования в других целях.
Примечание
В версии шилда v2 выводы P6–P9 являются однонаправленными преобразователями уровня 3,3 В → 5 В (только выход). P10 — это цифровая линия с открытым стоком, подтянутая к 3,3 В со стороны камеры и к 5 В со стороны вывода сервопривода. По умолчанию это вход — шилд преобразует уровень 0–5 В на выводе сервопривода до 0–3,3 В на P10. Измените встроенную паяную перемычку, чтобы перевести P10 в режим выхода, преобразуя уровень 0–3,3 В на P10 до 0–5 В на выводе сервопривода.
Использование¶
Управление любительским сервоприводом с любого из выводов P7–P10 с помощью сигнала PWM 50 Гц. Диапазон длительности импульса различается у разных сервоприводов, поэтому настройте MIN_US и MAX_US под свои — типичные значения составляют около 1000–2000 мкс:
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)