我是一个非常新鲜的覆盆子皮和硬件。我试着用ESC旋转一个无刷电机。下面是代码(摘自youtube视频),旋转到9,然后减速到4。但我想运行电机没有回路,不改变占空比。意思是当我运行程序时,电机应该旋转,当我停止程序时,电机应该停止旋转。请更新以下代码。
对不起我的英语不好。我希望我清楚我需要什么。
下面是我从视频中提取的代码。
代码:
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
发布于 2021-01-21 16:48:34
我假设你想要控制的电机是一个刷直流电机,而不是无刷,否则你将需要一个驱动器之间的RPI和电机。对于刷过的直流电机,您可以通过改变PWM输出的占空比来控制电机的速度。如果您不想改变速度,只需设置一个任务周期,并停留在它。基于https://sourceforge.net/p/raspberry-gpio-python/wiki/PWM/检查此示例
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%。调整值以适应您的需要。
https://stackoverflow.com/questions/65830844
复制相似问题