MG 996R伺服树莓派角度控制

时间:2020-10-31 12:37:17

标签: python raspberry-pi microcontroller pwm servo

我正在使用连接到树莓派和外部电源的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度。

最好的问候。

1 个答案:

答案 0 :(得分:1)

enter image description here已被修改为连续旋转。这意味着您发送的不是设置角度,而是设置旋转的方向和速度。

我怀疑您拥有这些改装的舵机之一。

奇怪的是,Some MG996R servos的某人在使用相同类型的伺服器时遇到了相反的问题。