每天一点单片机知识单片机学习

MicroPython pyboard 控制 无刷电调

2019-04-24  本文已影响5人  头发旺盛的玮儿

最近实验室需要开始准备国赛,我们组选的飞行控制类的方向。
然后准备提前做一个自己的飞控出来。
但是国赛的芯片必须要使用Ti芯片,看了下micropython支持的TI芯片发现了一款MSP-EXP432P401R是可以烧录micropython固件的,然后就立即买了一快,在没到货的时候先用手头的pyboard先做着。

首先 无刷电机的转速是由PWM控制的,然后pyb里面的Timer正好已经为我们准备了PWM波的方式,所以就很方便了。

然后我们再来了解以下什么是 电调。

由于电池电压过高(四轴无人机电压14.1V,电动漂移板28.8V),若是直接连接单片机,会烧坏。这个时候便需要连接电调(speed controler)作为中转桥梁。

目前网上单片机对电调的控制资料还是很少的,尤其micropython对电调的文章几乎没有,所以这篇文章的目的就是,解决micropython如何连接电调控制电机。

# main.py -- put your code here!
from pyb import Pin,Timer
import time
tm = Timer(2,freq=50)# 频率50Hz
t = tm.channel(1,Timer.PWM,pin=Pin('A0'))
def init():#初始化
    t.pulse_width_percent(10)
    time.sleep(2)
    t.pulse_width_percent(5)
def stop():#停止
    t.pulse_width_percent(5)
def set(n):#设置速度 n是百分比值 0-100%
    for i in range(n):
        t.pulse_width_percent(5 + i*5/100)
        time.sleep(0.1)
    time.sleep(5)
    stop()

设置好了之后,电机终于转起来了!若是正常使用,以后就不需要再次校准了。
以上代码可以在REPL里面使用

import main
main.init()
main.set(30)

此时电机应该转起来了。

上一篇 下一篇

猜你喜欢

热点阅读