当前位置:   article > 正文

单片机STM32直连电调控制航模涵道电机的方法总结_stm32 航模电调

stm32 航模电调

单片机STM32直连电调控制航模涵道电机的方法总结


前言

由于项目需要,我需要用单片机来控制涵道电机完成相应动作,这个任务看似简单,但是我在尝试的过程中遇到了很多问题,我将在这里记录我的解决思路和方案。


一、硬件情况

我使用的涵道电机型号为 3S 3900KV,最大电压12.6V,最大电流52A,最大推力1180g,满载功率655W;电调为50A电调;单片机使用的是正点原子探索者STM32开发板。其他的电机和开发板也都能做到,这个影响不大。
电机的淘宝界面图片与参数如下在这里插入图片描述在这里插入图片描述

二、涵道电机两种常见的驱动方式

1.有线控制方式

由于本人没有航模相关经验,对这一方面知之甚少。在咨询淘宝客服后了解到:有线控制是指电池组、电子调速器、风机三者相连,而控制风机的信号由航模卖家赠送的小板子提供。淘宝示意图如下,非常清晰易懂在这里插入图片描述

2.无线控制方案

这也就是最常用的控制方案,这总方案与上一种方案相比,多了一个接收器和遥控器(下面图中未标定)。首先由遥控器向接收器发送信号,由接收器解码后传送给电子调速器,进而控制电机转速。
在这里插入图片描述

如过想直接通过单片机控制电机转动,单片机需要扮演接收机的角色,直接向电调发送合适的信号来控制电机的运动。


解决方案

首先,最重要的一点信息是 航模电调接收50HZ,周期20ms,占空比为5%-10%的PWM信号。
但经过我的实际操作发现,即便是向电调发送该PWM信号,电机依旧无法正常启动,原因就藏在电调说明书里:

  • 油门行程设定:为了让电调适应遥控器的油门行程,在首次使用或更换其他遥控器使用时均需要重新设定油门行程。由于我们使用单片机来模拟接收机来发送信号,我个人建议每次开机都需要完成这个油门行程设定。
  • 具体思路如下:先给电机上电,听到“123”鸣叫提示后,给stm32通电。stm32中编写的程序需要完成以下过程,首先在开机时输出油门最高点信号(50HZ,占空比为10%的PWM信号),通过定时器中断让该信号持续2-3秒(此时电机应该发出“哔-哔-”两声,表示油门最高点确认),紧接着输出油门最低点信号(50HZ,占空比为5%的PWM信号)持续3秒(此时电机应短鸣N声,N表示你当前接入的电池节数,然后一声“哔–”表示油门最低点确认),经过这一过程后,电机的油门行程设置就已经完成了,可以输入一个区间内的信号来控制电机了。
  • 我所输出的PWM信号等配置值供大家参考:
	TIM14_PWM_Init(20000-1,84-1);	//84M/84=1Mhz的计数频率,重装载值设定为20000,频率为1M/20000=50hz.
	TIM_SetCompare1(TIM14,17600);	//最高点油门对应的PWM信号,写在计时器中断函数中,不要写在main函数的while(1)里!!!
	TIM_SetCompare1(TIM14,19000);	//最低点油门对应的PWM信号,写在计时器中断函数中,不要写在main函数的while(1)里!!!
	TIM3_Int_Init(5000-1,8400-1); 	//定时器中断设定周期为0.5S,在定时器中断函数中实现持续几秒这一功能
  • 1
  • 2
  • 3
  • 4
  • 最后,附上空模无刷马达电子调速器ESC的说明书供大家开发时参考,没能找到电子版,用手机拍下来大家将就着看看。在这里插入图片描述在这里插入图片描述如果在这过程中大家还遇到什么问题,欢迎给我留言评论。
声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号