Servo Shield

Servo Shield (v3) управляет до четырёх стандартных любительских сервоприводов напрямую от камеры OpenMV Cam. Его встроенный регулятор принимает вход 6–36 В на клеммной колодке и выдаёт 5,6 В при токе до 5 А — достаточно, чтобы питать и камеру, и сервоприводы от одного источника.

Servo Shield

Полный datasheet, фотографии и информацию о заказе см. на странице продукта Servo Shield.

Ключевые особенности

  • Управление до четырёх любительских сервоприводов через P7 / P8 / P9 / P10

  • Вход 6–36 В на клеммной колодке (устойчив к обратному напряжению)

  • 5,6 В при токе до 5 А на VIN — питает камеру и сервоприводы

  • Вход ADC 0–5 В с защитой от перенапряжения до ±36 В

  • Двунаправленный цифровой ввод-вывод 0–5 В с преобразованием уровня 3,3 В в 5 В

Распиновка

Распиновка Servo Shield

Справочник по выводам

Вывод

Назначение

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)