名爵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 有人对相同类型的舵机有相反的问题。
我正在使用连接到 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 有人对相同类型的舵机有相反的问题。