首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用Python在raspberry Pi上运行ESC无刷电机?

如何使用Python在raspberry Pi上运行ESC无刷电机?
EN

Stack Overflow用户
提问于 2021-01-21 15:43:34
回答 1查看 1.4K关注 0票数 0

我是一个非常新鲜的覆盆子皮和硬件。我试着用ESC旋转一个无刷电机。下面是代码(摘自youtube视频),旋转到9,然后减速到4。但我想运行电机没有回路,不改变占空比。意思是当我运行程序时,电机应该旋转,当我停止程序时,电机应该停止旋转。请更新以下代码。

对不起我的英语不好。我希望我清楚我需要什么。

下面是我从视频中提取的代码。

代码:

代码语言:javascript
运行
复制
p = GPIO.PWM(7, 50)

p.start(0)
print ("starting 0")
time.sleep(3)

p.ChangeDutyCycle(3)
print("start")
time.sleep(5)



while True:
    i = 4
    while i<10:
        
        print(i)
        p.ChangeDutyCycle(i)
        time.sleep(.05)
        i +=.02
    
    while i>4:
        print(i)
        p.ChangeDutyCycle(i)
        time.sleep(.05)
        i -=.05
EN

回答 1

Stack Overflow用户

发布于 2021-01-21 16:48:34

我假设你想要控制的电机是一个刷直流电机,而不是无刷,否则你将需要一个驱动器之间的RPI和电机。对于刷过的直流电机,您可以通过改变PWM输出的占空比来控制电机的速度。如果您不想改变速度,只需设置一个任务周期,并停留在它。基于https://sourceforge.net/p/raspberry-gpio-python/wiki/PWM/检查此示例

代码语言:javascript
运行
复制
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BOARD)
GPIO.setup(7, GPIO.OUT)

p = GPIO.PWM(7, 50)
p.start(10)
input('Press return to stop:') 
p.stop()
GPIO.cleanup()

这里我们使用的是GPIO 7,开关频率为50 of,占工作周期的10%。调整值以适应您的需要。

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

https://stackoverflow.com/questions/65830844

复制
相关文章

相似问题

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