赞
踩
由于项目需要,我需要用单片机来控制涵道电机完成相应动作,这个任务看似简单,但是我在尝试的过程中遇到了很多问题,我将在这里记录我的解决思路和方案。
我使用的涵道电机型号为 3S 3900KV,最大电压12.6V,最大电流52A,最大推力1180g,满载功率655W;电调为50A电调;单片机使用的是正点原子探索者STM32开发板。其他的电机和开发板也都能做到,这个影响不大。
电机的淘宝界面图片与参数如下
由于本人没有航模相关经验,对这一方面知之甚少。在咨询淘宝客服后了解到:有线控制是指电池组、电子调速器、风机三者相连,而控制风机的信号由航模卖家赠送的小板子提供。淘宝示意图如下,非常清晰易懂
这也就是最常用的控制方案,这总方案与上一种方案相比,多了一个接收器和遥控器(下面图中未标定)。首先由遥控器向接收器发送信号,由接收器解码后传送给电子调速器,进而控制电机转速。
如过想直接通过单片机控制电机转动,单片机需要扮演接收机的角色,直接向电调发送合适的信号来控制电机的运动。
首先,最重要的一点信息是 航模电调接收50HZ,周期20ms,占空比为5%-10%的PWM信号。
但经过我的实际操作发现,即便是向电调发送该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,在定时器中断函数中实现持续几秒这一功能
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。