今天尝试了使用无刷电调来驱动无刷电机,但是刚开始遇到点问题,没理解网上的博文,还好板子没被烧掉💦
连线
刚开始了卡在了连线这里,电调有两根电源线,连接12V电源,其中三根线连接树莓派,如果树莓派独立供电的话,电调只需要将信号控制线和地线连接到树莓派的GPIO口和GND口。
我刚开始连错了,树莓派独立供电的同时,将电调的5V输出端和GND线都连接到了树莓派上,板子突然自己开机了,才意识到接错了。后来想着不需要电调输出的电压,所以只接了信号控制线,5V输出和GND都没接,程序跑了但是电机没转动,也没信号声音。看了 折腾了2个晚上无刷电调(ESC),电机终于转起来了,特此记录一下 才意识到电调的GND线是一定要接到树莓派的GND口的,然后电机就动了。
连接图:
上面的图中电调的输入电压应该是12V,可以用4节5号电池串联。
测试代码
连接好之后,给树莓派通电,接通电调连接的电源,然后用RPi.GPIO.PWM()控制电机的转速。
测试代码:
# !/usr/bin/env python
# _*_ coding:utf-8 _*_
import RPi.GPIO as GPIO
import time
pin = 18
GPIO.setmode(GPIO.BCM)
GPIO.setup(pin, GPIO.OUT)
# 频率400Hz
p = GPIO.PWM(pin, 400)
p.start(0)
dc = 10
try:
for i in range(40):
dc += 2
print 'dc:', dc
p.ChangeDutyCycle(dc)
time.sleep(0.3)
finally:
p.stop()
GPIO.cleanup()