Crazepony2硬件经验总结

作者: 球深

系统电源

  • 市面上所有的航模动力电池,都是3.7V的标称值,比此电压高的电池,都是几个3.7V的电池串联起来的
  • Crazepony2代采用了一节动力电池,电池电压是3.7V,而系统所有芯片都要求是3.3v供电。3.7V到3.3V只有0.4v的压差,我们考虑过采用低压差的LDO稳压芯片输出,但是要知道,四个空心杯电机转起来以后,瞬间电流能达到3A,此时电池电压会被拉低到一个LDO无法正常工作的值,于是我们后来放弃了直接将电池接到LDO稳压芯片上,而是在中间采用一个过渡的电路:一个DC-DC的升压电路,首先将电池电源升到5V左右,再接入LDO芯片

锂电池充电管理

  • 锂电池充电这一块,采用的是 LTC4054,外部电路简单,一个电阻R1作为充电限流电阻,充电电流最大可达600mA,充电电流计算公式:IBAT =(VPROG /RPROG)*1000。
  • R3作为充电指示灯的限流电阻,选择几百欧姆就行了。当充电进行中,引脚STR常低,充电结束时,STR拉高。对应的状态就是:充电时,CHG灯常亮,充电完成,CHG 灯灭。

电机

  • 无刷电机的操作相对来说是比较麻烦的,而有刷电机就是我们小时候玩的四驱车上的那种电机,接上电就能猛转,反着接它就反着猛转,就是这么简单。
  • Crazepony2代使用的是有刷空心杯电机,所以电机的控制属于有刷直流电机控制。相对于无刷电调来说要简单很多,所以电调我们就默认指无刷电机的电调,而这里只用电机驱动来代替。Crazepony2代采用的是有刷空心杯高速电机,转速在3W转/分钟左右。要驱动有刷电机,很简单,只需要将信号的驱动能力增大,就能驱动有刷电机了。在这里,我们选择的是场效应管,即MOSFET。通常的场效应管完全导通时,源漏极电阻都是mΩ级别的,即它自身的耗散非常小。用它做为驱动管再合适不过了。最终选择了一个SOT23封装的,导通电压Vgs<4v的场管(SI2302),结果表现出了很好的驱动性能。
  • 每个场效应管接一个大电阻下拉,目的是为了防止在单片机没接手电机的控制权时,电机由于PWM信号不稳定开始猛转。接一个下拉电阻,保证了场管输入信号要么是高,要么是低,没有不确定的第三种状态。那么电机也只有两种状态,要么转,要么不转。主控输出的是PWM波形,用于控制场效应管的关闭和导通,从而控制电机的转动速度。这就是crazepony电机驱动的原理。

2.4G

  • Crazepony2代在选择通信芯片上,继续延用了Crazepony原有的通讯模块— NRF24L01+。
  • 在天线方面的选择上,我们将原有的陶瓷天线换成板载天线布局在机身上,使得整体看起来更干净更美观。

USB串口模块

  • 使用USB串口芯片CP2102实现,使用该USB接口实现4个功能:固件下载,充电,串口调试信息,上位机通信。
  • 这里重点介绍通过USB接口进行固件下载,这涉及到STM32的三种启动模式,可以下面的表格给出:
BOOT1 BOOT0 启动模式 描述
x 0 从用户闪存启动 正常工作模式
0 1 从系统存储器启动 厂家设置用
1 0 从内置SRAM启动 这种模式用于调试
  • BOOT0=0,从用户闪存启动,就是指从用户烧入STM32的Flash的固件启动。
  • BOOT0=1,BOOT1=0,从系统存储器启动。系统存储器是指STM32出厂时就带有的一小段程序,相当于出厂时内置的Bootloader。这段程序可以从串口接收数据,并且烧入到用户闪存中。这就是从USB接口进行固件下载的原理。这种下载固件方式一般叫做串口ISP下载。
  • BOOT0=1,BOOT1=0,从内置SRAM启动。暂时不清楚该启动模式的原理。

  • Crazepony2代使用的STM32F303CCT6型号芯片,BOOT0为第44号引脚,BOOT1为第20号引脚(该引脚被复用为普通GPIO口PB2)。
  • ISP是在系统编程的英文缩写(In-System Programming)。简单的说,可以不用插拔芯片,也不需要编程器,就可以在你的目标应用板(有单片机的电路板)上直接编程,作程序改动调试。
  • Crazepony2代支持SWD在线程序调试接口和串口ISP程序下载两种方式。SWD调试接口可以使用编译调试器(也就是JLink或者STLink)在线对程序进行仿真、调试、下载,这对开发人员来说是很方便的,缺点就是需要额外的调试器(JLink或者STLink)以及PC端软件(Keil)来支撑。串口ISP下载方式,只需要STM32的UART1的两个数据线,就能将编译生成固件(如HEX或者bin文件)烧写进单片机,不足之处是不能仿真调试程序。
  • 那么在机身上集成一个USB串口协议转换芯片,那么就能够直接用一根Micro USB的数据线(就是现在统一的安卓手机数据/充电线)对飞机进行固件(HEX)升级了,这种方式真是太棒了。
  • 有了USB串口转换,那么我们的飞机和PC之间通信就有了必要的硬件基础。机身和外部的有线接口就只要一根安卓手机的标配数据线micro USB线。它既是充电线,也是调参、烧写固件的数据线。

WIFI图传模块

  • 为了让Crazepony2代能跟上智能机泛滥的步伐,同时也是为了增加它的适应性,我们决定将原来的蓝牙模块更换成WIFI图传模块,板子上预留接口供WIFI模块焊接,通讯方式为串口通讯。
  • 有了WIFI图传模块,用户就可以用手机控制我们的Crazepony2代了,还能实时看到图传画面,增加了不少可玩性。同时我们的APP集成了大多数航模应有的功能,详细见APP介绍。
  • Crazepony2代的主要硬件介绍到这里就告一段落了,大部分硬件原理跟Crazepony1相同,也已经详细介绍过了,有兴趣的同学可以自行前往查看。硬件设计过程中肯如有不足和漏洞,希望广大读者指正,我们一定会积极接受意见并作出修订,希望把Crazepony这个系列做得更加完善,更加稳定,给这片土地上的广大爱好者提供丰富的资料和开发经验。