树莓派通过无刷电调驱动无刷电机

今天尝试了使用无刷电调来驱动无刷电机,但是刚开始遇到点问题,没理解网上的博文,还好板子没被烧掉💦

树莓派pwm控制无刷电机

连线

刚开始了卡在了连线这里,电调有两根电源线,连接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()