黄工无刷电机学习
直播中

艾玛

12年用户 812经验值
擅长:模拟技术 EDA/IC设计 RF/无线
私信 关注
[问答]

如何使用STM32单片机去驱动无刷电调

什么是无刷电调?
如何使用STM32单片机去驱动无刷电调?

回帖(1)

石正厚

2021-8-2 16:42:17
单片机(STM32)驱动无刷电调
本文为记录个人学习过程中的心得,方便未来复习,同时也是为其他小伙伴学习提供便利,本人由于精力有限,留言不回复,请见谅。如有侵权,联系本人进行删除。
做过一个小的课题,需要用到单片机驱动无刷电调,对无刷电机进行调速。目前手头上材料为新西达30A电调+新西达A2212电机+STM32F103。
硬件
无刷电调
电调又叫电子调速器,输入是直流(两线,红正,黑负),可以接稳压电源,或者锂电池。一般的供电都在2-6节锂电池左右。输出是三相脉动直流,直接与电机的三相输入端相连。
如果上电后你的电机反转,你只需要把这三根线中间的任意两根对换位置即可。
电调还有一根信号线连出,用来与接收机连接,控制电机的运转,连接信号线得共地。红线接5V,棕色线接GND,橙色线接信号线,PWM信号周期20ms即50HZ。

我用的此款电调商家给的介绍输入4-16V,输入电压超过18伏不予启动,自动保护,同时发出急促的“哔哔”告警音。
软件
使用的是STM32单片机,用STM32cube MX生成的PWM信号,这里有个小细节,用定时器生成PWM信号时用PWM1方式,极性高。确保当定时器开始生成PWM波时先出现高电平。


因为生成50HZ(20ms)方波信号。定时器PSC为71,ARR为20000-1,向上计数,详情见上图。
在MAIN函数进行定时器初始化完成后,使用下面代码进行电调解锁



开启PWM,产生信号,设置PWM高电平时间为2MS(占空比10%,2000 X 10%=2000),此处为电调检测油门最大的地方。等待4S,给电调读取接收信号的时间,延时过短的话,电调不能正常的接收信号,不能解锁。然后设置PWM高电平时间为1MS(占空比5%,20000 X 5%=1000),延时4s,此时电调BBB响,这时候电调就解锁了,占空比不要设太大,很危险,亲身体会,我实验发现我设为1049,占空比1049/20000,电机才转动。

总结一下,信号周期20ms,高电平2ms,BB响,延时4S,高电平1ms,延时4S,BBB,解锁起飞,设置1049电机才开始转动。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分