首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用树莓派和Python控制连续伺服电机

用树莓派和Python控制连续伺服电机
EN

Stack Overflow用户
提问于 2017-07-18 02:04:25
回答 2查看 952关注 0票数 1

我正在尝试使用以下代码来控制我的连续伺服电机:

代码语言:javascript
复制
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
GPIO.setup(17, GPIO.OUT)
p = GPIO.PWM(17, 50)
p.start(7.5)
try:
        while True:
                p.ChangeDutyCycle(7.5)
                time.sleep(1)
                p.ChangeDutyCycle(12.5)
                time.sleep(1)
                p.ChangeDutyCycle(2.5)
                time.sleep(1)

except KeyboardInterrupt:
        GPIO.cleanup()

伺服有时作为代码正确运行,而另一些则随机地为相同的代码工作。我用另一个电源来驱动马达。

我不认为马达是损坏的,因为我使用Arduino来控制伺服,它工作得很好。

EN

回答 2

Stack Overflow用户

发布于 2017-07-18 03:20:15

如果“随机工作”的意思是“它大致移动到正确的位置,但摆动很多”,那么问题就出在树莓派的软件脉宽调制(PWM)上。

伺服需要一致的脉冲才能表现一致,比Pi的软件所能提供的更精确。因此,脉冲略有不一致,表现为“抖动”(在连续伺服中,这是在正确速度附近随机改变速度)。

票数 1
EN

Stack Overflow用户

发布于 2017-07-18 09:47:20

除了@JeffUK上面的回答--我知道这不是软件的问题,但仍然是germain --确保你的伺服系统(即使你说它由另一个电源供电)和Pi 共享一个公共的接地连接。浮动的地面会导致各种不可预知的行为。对于我们软件人员来说,忘记这一点是很常见的:)在连接外部设备时没有太多细节。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45150825

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档