Servo Shield

O Servo Shield (v3) aciona até quatro servos de modelismo padrão diretamente a partir da OpenMV Cam. Seu regulador embarcado aceita uma entrada de 6–36 V no bloco de terminais e fornece 5,6 V a até 5 A — o suficiente para alimentar tanto a câmera quanto os servos a partir de uma única fonte.

Servo Shield

Para o datasheet completo, fotos e informações de compra, consulte a página do produto Servo Shield.

Destaques

  • Acione até quatro servos de modelismo via P7 / P8 / P9 / P10

  • Entrada de 6–36 V no bloco de terminais (tolerante a tensão reversa)

  • 5,6 V a até 5 A em VIN — alimenta a câmera e os servos

  • Entrada ADC de 0–5 V com proteção contra sobretensão até ±36 V

  • I/O digital bidirecional de 0–5 V com ajuste de nível de 3,3 V para 5 V

Pinagem

Pinagem do Servo Shield

Referência de pinos

Pino

Função

P6

Leitura de AIN com nível ajustado (0–3,3 V em P6)

P7

Servo 1 — GPIO bidirecional 3,3 V ↔ 5 V

P8

Servo 2 — GPIO bidirecional 3,3 V ↔ 5 V

P9

Servo 3 — GPIO bidirecional 3,3 V ↔ 5 V

P10

Servo 4 — GPIO bidirecional 3,3 V ↔ 5 V

PWR in

Entrada ampla de 6–36 V no bloco de terminais (tolerante a tensão reversa)

AIN in

Entrada analógica no bloco de terminais

VIN out

5,6 V regulados, até 5 A combinados para os servos e a câmera

Trilho 3.3V

Alimenta a eletrônica embarcada do shield

Trilho GND

Terra comum

Nota

O AIN é protegido contra sobretensão até ±36 V e, por padrão, é uma entrada de tensão de 0–5 V, reduzida para 0–3,3 V em P6. Faça a ponte do shunt do modo 4–20 mA na parte traseira do shield para alternar o AIN para uma entrada de loop de corrente de 4–20 mA.

Nota

Cada um dos pinos P6–P10 é ligado à câmera através de um resistor de 0 ohm na parte traseira do shield. Remova o resistor de qualquer pino que você queira reaproveitar para uso não relacionado.

Nota

Na versão v2 do shield, P6–P9 são ajustadores de nível unidirecionais de 3,3 V → 5 V (apenas saída). P10 é uma linha digital open-drain, com pull-up de 3,3 V no lado da câmera e 5 V no lado do pino do servo. Por padrão, é uma entrada — o shield ajusta o nível de 0–5 V no pino do servo para 0–3,3 V em P10. Altere o jumper de solda embarcado para inverter P10 em uma saída, ajustando o nível de 0–3,3 V em P10 para 0–5 V no pino do servo.

Uso

Acione um servo de modelismo a partir de qualquer um dos pinos P7–P10 com um sinal PWM de 50 Hz. A faixa de largura de pulso varia entre servos, então ajuste MIN_US e MAX_US para corresponder aos seus — valores típicos ficam em torno de 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)

Leia a entrada AIN do bloco de terminais (o resultado com nível ajustado aparece em 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)