Servo Shield¶
Servo Shield (v3) ohjaa jopa neljää tavallista harraste-servoa suoraan OpenMV Camista. Sen sisäänrakennettu säädin hyväksyy 6–36 V tulon riviliittimessä ja tuottaa 5,6 V jopa 5 A:lla — riittävästi syöttämään virtaa sekä kameralle että servoille yhdestä lähteestä.
Täydellinen datalehti, kuvat ja tilaustiedot löytyvät Servo Shield -tuotesivulta.
Kohokohdat¶
Ohjaa jopa neljää harraste-servoa nastojen P7 / P8 / P9 / P10 kautta
6–36 V tulo riviliittimessä (käänteisjännitesietoinen)
5,6 V jopa 5 A VIN:ssä — syöttää virtaa kameralle ja servoille
0–5 V ADC-tulo ylijännitesuojauksella ±36 V:iin asti
Kaksisuuntainen 0–5 V digitaalinen I/O 3,3 V:n ja 5 V:n välisellä tasonsiirrolla
Nastajärjestys¶
Nastaviite¶
Nasta |
Toiminto |
|---|---|
P6 |
Tasonsiirretty AIN-takaisinluku (0–3,3 V P6:ssa) |
P7 |
Servo 1 — kaksisuuntainen 3,3 V ↔ 5 V GPIO |
P8 |
Servo 2 — kaksisuuntainen 3,3 V ↔ 5 V GPIO |
P9 |
Servo 3 — kaksisuuntainen 3,3 V ↔ 5 V GPIO |
P10 |
Servo 4 — kaksisuuntainen 3,3 V ↔ 5 V GPIO |
PWR sisään |
6–36 V laaja tulo riviliittimessä (käänteisjännitesietoinen) |
AIN sisään |
Analoginen tulo riviliittimessä |
VIN ulos |
5,6 V säädelty, jopa 5 A yhteensä servoille ja kameralle |
3,3 V kisko |
Syöttää virtaa shieldin sisäänrakennetulle elektroniikalle |
GND-kisko |
Yhteinen maa |
Muista
AIN on ylijännitesuojattu ±36 V:iin asti ja on oletuksena 0–5 V jännitetulo, joka skaalataan alas 0–3,3 V:iin P6:ssa. Silloita shieldin takapuolella oleva 4–20 mA -tilan shuntti vaihtaaksesi AIN:n 4–20 mA virtasilmukkatuloon.
Muista
Kukin nastoista P6–P10 on kytketty kameraan 0 ohmin vastuksen kautta shieldin takapuolella. Poista vastus siltä nastalta, jonka haluat ottaa muuhun käyttöön.
Muista
Shieldin v2-versiossa P6–P9 ovat yksisuuntaisia 3,3 V → 5 V tasonsiirtimiä (vain lähtö). P10 on avo-nielu digitaalinen linja, ylösvedetty 3,3 V:iin kameran puolella ja 5 V:iin servonastan puolella. Oletuksena se on tulo — shield siirtää servonastan 0–5 V tason alas 0–3,3 V:iin P10:ssa. Vaihda sisäänrakennettu juotossilta kääntääksesi P10:n lähdöksi, jolloin P10:n 0–3,3 V siirretään ylös 0–5 V:iin servonastassa.
Käyttö¶
Ohjaa harraste-servoa miltä tahansa nastoista P7–P10 50 Hz PWM-signaalilla. Pulssinleveysalue vaihtelee servojen välillä, joten viritä MIN_US ja MAX_US vastaamaan omiasi — tyypilliset arvot ovat noin 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)
Lue AIN-riviliittimen tulo (tasonsiirretty tulos näkyy P6:ssa):
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)