名爵996R舵机Raspberry pi角度控制

MG 996R servo Raspberry pi angle control

我正在使用连接到 raspberry pi 和外部电源的 MG 996R 伺服。我正在使用此代码:

import RPi.GPIO as GPIO
import time

servoPIN = 17
GPIO.setmode(GPIO.BCM)
GPIO.setup(servoPIN, GPIO.OUT)

p = GPIO.PWM(servoPIN, 50) # GPIO 17 for PWM with 50Hz
p.start(2.5) # Initialization
try:
  while True:
    p.ChangeDutyCycle(5)
    time.sleep(0.5)
    p.ChangeDutyCycle(7.5)
    time.sleep(0.5)
    p.ChangeDutyCycle(10)
    time.sleep(0.5)
    p.ChangeDutyCycle(12.5)
    time.sleep(0.5)
    p.ChangeDutyCycle(10)
    time.sleep(0.5)
    p.ChangeDutyCycle(7.5)
    time.sleep(0.5)
    p.ChangeDutyCycle(5)
    time.sleep(0.5)
    p.ChangeDutyCycle(2.5)
    time.sleep(0.5)
except KeyboardInterrupt:
  p.stop()
  GPIO.cleanup()

但我得到的只是一个持续的旋转,伴随着一些随机的减速。 我的目标是能够旋转 +90 度和 -90 度。

此致。

Some MG996R servos 已修改为 连续旋转 。这意味着你发送的不是设置角度,而是设置旋转的方向和速度。

我怀疑你有一个修改过的舵机。

奇怪的是,here's a post 有人对相同类型的舵机有相反的问题。