打印
[产品供应]

国外微型开源四轴Crazyflie介绍

[复制链接]
1448|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xjf_hz|  楼主 | 2015-6-4 09:43 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 xjf_hz 于 2015-6-5 14:02 编辑

资料:
CF1原理图   CF1原理图.rar (209.38 KB)
CF2原理图 CF2原理图.rar (190.26 KB)
CF源代码 CF_源代码.zip (627.04 KB)
CF PC端源代码 CF-clients-源代码.zip (285.99 KB)
CF 安卓源代码 CF_android-client源代码.zip (576.15 KB)
CF IOS源代码 CF2_IOS源代码.zip (116.19 KB)

    本文详细介绍了CrazyflieCrazyflie2。欢迎大家交流,2319960053@qq.com。欢迎加入Crazyflie QQ336324321(群里严禁广告,如果做广告请不要加入),转载文本请注明出处(a mo bbs论坛)和作者xjf,由于工作关系写本文的时间比较长,内部有些重复请谅解,本文如果内容错误的地方请与我联系,我会及时订正,再次感谢。
    Crazyflie(以后简称CF)最早开始于2011年由Bitcraze AB Arnaud Taffanel Marcus Eliasson Tobias Antonsson完成的,最早的版本如图一所示,现在的版本为CF1.0和最新版本的CF2.0图二和图三所示。最早版本(下图一)的CF没有流行,目前用户比较多的是CF1.0CF2.0为最新版本上市的时间为201412月,目前用户还比较少),下面将硬件和软件部分详细介绍CF1.0CF2.0。

图一
图二
图三

一、CF1.0的硬件介绍




  上面两个是CF1.0正面和反面电路板图片。
  主要特点如下:
        体积小而轻,大小为9cm(电机到电机距离)和手掌差不多大,重量大约19克。
       官方采用的是170mAh锂电池,大约连续飞行7分钟,充电时间20分钟左右。
       板上自带一个标准的Mrcio_usb接口可用通过USB线给电池充电。
        板载一个Nordic半导体公司的NRF24L01P芯片,与CrazyradioUSB通信,在空旷地带通信距离80米。
        板载的微处理器自带bootloader引导程序,可通过无线模块更新固件。
        采用ST公司的STM32F103CB32ARM处理器,主频72MHz,内部RAM容量20KFLASH容量128K
    采用Invensense公司的MPU6050三轴陀螺仪和三轴加速度传感器。
    采用Honeywell公司的HMC5883L三轴磁阻传感器
    采用MeasurementSpecialties公司的MS5611高精度气压传感器芯片。(官方提供的cf1.0有两个版本6DOF10DOF,这两个版本的区别是6DOF没有焊接HMC5883LMS5611.
        板载一个2×10 1.27mm的孔(需要可以焊接一个排针)外扩展UART SPI IICJTAG调试接口。

电路分析
电气系统框图
1.电源部分:
    电池控制芯片采用TI公司的BQ24075,BQ24075开关控制脚SYSOFF有两种控制方式,USB插上时SYSOFF拉低有输出电压,此时对电池充电;另外通过MAX16054接了一个开关,按下开关MAX16054输出反转一次,MCU的一个管脚也接到MAX16054上也可以通过MAX16054自己关闭电源。多说一句的是BQ24075还有BQ24075T,两种芯片完全不同(TS引脚不同)。
图 BQ24075应用电路

图 BQ24075T应用电路
    CF1.0内部的电源有两路:一路给三个传感器(模拟部分)供电;另一路是MCU通信(数字部分)供电。两路电源的地分别通过0欧姆的电阻接到外部的电池地上。两路的稳压电源是使用TI公司的TPS79301,TPS79301是超低噪声200mA的线性稳压模块,可以通过修改电阻设置输出电压。传感器供电的TPS79301输出电压为2.8V,MCU等供电的电压为2.8V(USB插上充电时为3.3V)。
    CF1.0官方版本使用(现在官方更换了)的是Fullriver公司的671723HS25C锂电池。该电池电压3.7V,容量 170mAh 连续放电率25C,重量<5克。官方对电池的说法是测试了100mAH-400mAH的锂电池,发现150mAH到250mAH是最佳飞行性能的容量范围。
2. MCU
    CF1.0使用的MCU是ST公司的STM32F103CB,主频72MHz,内部128KFlash和20K ram,CF1.0的程序中使用了FreeRTOS的操作系统,该系统对对Flash和RAM的消耗比较大,目前固件在62K左右的Flash和16K 的RAM(不包括对磁阻传感器的采样处理)。目前的处理能力使用了52%左右。该MCU有足够的空间和运算能力编写更多的算法和一些外部扩展。
3.传感器
    CF1.0采用了三颗传感器芯片MPU6050、HMC5883L和MS5611.MPU6050是一个包括了三轴陀螺仪和三轴加速度计的芯片,可以保持CF 稳定飞行。MPU6050、MS5611和MCU采用IIC总线链接,MPU6050外部IIC接到HMC5883L。截至2014年10月为止飞控的算法没有使用HMC5883L。MS5611气压传感器在定高的功能中使用到了。
在开机时软件会检测是否焊接HMC5883L和MS5611只有其中一片焊接就认为是10DOF,可以通过修改固件将HMC5883L去掉。


4.无线通信部分
    通信部分芯片采用Nordic半导体公司的NRF24L01P芯片,该芯片外部使用一个0.5db的天线,可以增加通信距离。nRF24L01P的时钟使用的是MCU输出时钟。


5.扩展接口
    扩展口位于Crazyflie的左侧,它是一个未焊接排针的10*2针1.27mm间距的过孔。我们是想通过这些过孔来连接上面或者两侧的扩展板。它甚至可以堆叠多个扩展板。
    扩展口分为两部分。pin1到pin10是JTAG部分,pin11到pin20是总线/电源部分。UART的RX/TX位于JTAG部分,因为很多基于JTAG的FTDI可以用作串口通讯,这在调试的时候非常方便。
接口描述 接口名字描述
1 VCC 数字电源
2 TMS 测试模式使能
3 EXT_I2C_SCL/TX I2C_SCL 或 UART TX
4 TCK 测试时钟
5 EXT_I2C_SDA/RX I2C_SDA 或UART RX
6 TDO 测试数据输出
7 N/A 未使用
8 TDI 测试数据输入
9 DGND 数字地
10 SNRST 系统复位
11 EXT_SPI_CS/AIN4 SPI 片选或4管脚模拟输入
12 EXT_SPI_MOSI/AIN5 SPI 片上主机输出从机输入或5管脚模拟输入
13 EXT_SPI_SCK/AIN6 SPI 时钟或6管脚模拟输入
14 EXT_SPI_MISO/AIN7 SPI 片上主机输入从机输出或7管脚模拟输入
15 VCC 数字电源
16 VCOM 电池/USB 电源
17 DGND 数字地
18 DGND 数字地
19 AGND 模拟地
20 VCCA 模拟电源


6.电机驱动

图  CF1的电机驱动电路

    CF1.0使用的有刷电机驱动是一个简单的模式管驱动,如左侧原理图所示。还有一个续流二极管来分流由电机在PWM工作模式下产生的反电动势尖峰。选择的是NXP公司的SOT-23封装的PMV31XN场效应管,它能很好的处理至少3A的大电流。MOSFET最重要的属性是能够影响电机可用电能的导通电阻(Rdson)。PMV31XN在VGS=2.5V ID =1A 时的导通电阻为44毫欧(最大53毫欧),VGS=4.5V ID =1.5A时的导通电阻约为31毫欧(最大37毫欧)。




     这种微型四轴目前多数采用这种空心杯电机,空心杯电机属于有刷电机,驱动的方式是MCU的PWM输出经过MOS管后直接驱动电机,MCU的PWM输出占空比改变时加在电机两端的电压发生变化达到调速的目的。为什么微型四轴不使用无刷电机?无刷电机相比有刷效率高,但无刷驱动需要电调,有刷驱动简单,在微型四轴上现在流行使用空心杯电机。
7.电机和螺旋桨规格
    额定电压4.2 V Max
    适用电压3.7 V
    空载转速45000 ±15% RPM
    空载电流80 mA Max
    启动电压0.8 V Max
    额定负载转速21000 ±15% RPM
    额定负载电流810 mA Max
    电阻2.3 ±20% Ω
    轴径0.8 mm
    电机直径6 ± 0.05 mm
    电机长度15 mm
    质量1.7 g approx.
    螺旋桨为46mm  0.8mm的正反桨两对。
二、CF2的硬件介绍
电气系统框图



1.电源部分


CF2电源部分原理图

    CF2电池管理芯片还是BQ24075,和CF1一样的,从电路上看CF2不在使用CF中的开关芯片(美信的这个芯片价格太高了)。CF2也有两路电源输出,一个是NCP702SN30,一个LP2985-30;这个两路输出分别是给NRF51822供电,一个是给MCU等供电。两路的输出电压固定3.0V,为什么使用不同的LDO,从图中上可以看出NRF51822的电源是一直有电的,使用的是低静态功耗的电源调节器。另一路是在通过NRF51822控制的,使用的不是低静态功耗的电源调节器。另外一个SiP32431的开关芯片电源输出到了外部扩展接口上,功能可以给外部的扩展模块(像LED环扩展模块)提供电源。上面提到了给NRF51822部分是一直有点的,相比CF1 CF2的静态功耗会大,建议在不飞的时候将电池拔下,以防止电池过放。电路上当USB线接通时VEN_D置高,VCC部分电源也会有输出,CF2开始工作(没有电池也能工作)。图上是标注了VCC数字电源和VCCA模拟电源之间有一个1uH的磁珠隔离的。VCC给MCU供电,VCCA给传感器供电。
3. MCU
    CF2.0使用的MCU是ST公司的STM32F405RG和NRF51822。STM32F405RG内核为Cortex-M4,主频168MHz,内部1MFlash和192K sram 。NRF51822内核Cortex-M0,主频32MHz,128KB Flash 16KB sram。相比CF1.0 CF2.0的系统资源大大提高,更快的MCU,更大的存储空间。用户可以增加自己所需要的一些其他功能。CF2中使用了两颗MCU,NRF51822主要负责无线通信、电源管理和bootloader的辅助功能。STM32F405RG为主控制芯片负责采集和处理传感器信号,飞行姿态控制,电机驱动等等。
3.传感器

CF2 传感器部分原理图

    CF2采用了MPU9250和LPS25H,MPU9250是一颗集成了三轴陀螺仪、三轴加速度和三轴磁阻的传感器的传感器,相比MPU6050集成度更高,性能更好些。LPS25H是ST公司的一颗气压传感器芯片。在硬件布局上LPS25H放在了电路板底层,可以有效防止螺旋桨在旋转过程中引起气流变化而引起的气压变化。从飞行的稳定性和cfclient上的RPY数据上看CF2更稳定。
4.无线通信部分

CF2 无线通信部分原理图

    CF2无线通信使用了一个Cortex-M0内核的NRF51822,这个芯片功耗低,可以和手机之间蓝牙通信也兼容NRF24L01P这种的2.4G无线通信。CF2中最大的亮点是可以与IOS苹果或安卓系统之间进行蓝牙通信,可以通过蓝牙设备控制CF2的飞行。

5.扩展口


CF2 外部扩展接口

    CF2的外部扩展接口包括VCC(3.0V 100mA)、VCOM(MAX 1A)、1×I2C(400khz)、SPI、2×UART 、4×GPIO、单总线外部扩展识别和2×GPIO(接到NRF51822)。
相比CF1 CF2有两排对外部扩展接口为贴片插座,可以用来固定电池,也能接到外部的扩展板上。
6.电机驱动
    CF2的电机驱动电路和CF1相同使用PMV31XN。
7.电机和螺旋桨参数
    额定电压4.2 V Max
    适用电压3.7 V
    额定负载转速21000 ±15% RPM
    额定负载电流1000 mA Max
    轴径0.8 mm
    电机直径7 ± 0.05 mm
    电机长度16 mm
    质量2.7 g approx.
8.内部EEPROM
   CF2增加了一颗8K的EEPROM,用来存储一些配置信息(8K容量太大了)。
三、CF和CF2的硬件对比
    1.更换更强的MCU,CF2使用了192K的SRAM,CF1的SRAM只有20K,在软件部分CF1没有增加对磁阻传感器的数据处理,如果对磁阻传感器数据和对陀螺仪 加速度传感器采用相同的处理时,20K就不够用了(编译报错),需要修改FreeRTOS的堆栈的大小才能通过编译。
    2.更换了无线通信芯片,CF2采用了nRF51822芯片可以兼容以前的nRF24LU1P的通信(和CrazyRadio通信)也能和蓝牙手机通信。CF1可以在PC上安装一个CFClients软件使用游戏手柄控制,也可用安卓手机(需要安装Crazyflie Android client 并使用USBOTG线接一个Crazyradio)控制,无法使用IOS的系统控制;CF2除了上面两种控制方式可以使用安装了Crazyflie iOS client的iPhone或iPad控制。
CF2无线部分还采用了一颗RFX2401C的无线射频放大器,这个芯片可以大大的增加通信的距离,官网数据使用Crazyradio PA可以达到1KM的通信距离。
    3.更换更大的电机和电池。CF1使用的是6×14的空心杯电机、170mAh的锂电池,CF2使用了7×16、240mAh的锂电池;CF1的机体重量19克,CF2重量27克。对比看CF2更重些,但是电池容量和电机更大,可以载重了增加了。CF2的外部扩展口更丰富,可以非常方便对外扩展。官方已经推出了LED 和无线qi充电的扩展板,官方网站说明今年还将推出更多的扩展板。由于更大的电池和电机也允许CF2增加更多扩展。
    4.电机连接方式更改。CF1的电机是在飞控板上预留了8个孔电机需要焊接,CF2板上预留了四个插座电机直接插上即可。这样做优点:方便组装,不在需要烙铁就能完成。缺点:增加了重量。两相比较还是优点多。
    5.编程调试接口对比。CF1预留了JTAG的调试接口,不过也是几个孔,可以和JLINK或ST-LINK2等调试工具连接,但是孔过于小而且是非标准排列,需要使用连接线。CF2有两颗芯片STM32F405和nRF51822,STM32F405的调试接口引出了一个插座可以直接接到调试板上。nRF51822调试稍微复杂,还需要一块小的接口固定到飞控板上。

CF2调试接口板
  
CF2 nRF51822调试接线图
相比较CF2的调试接线方便许多。
    6.传感器比较。CF1使用了三颗传感器芯片MPU6050、HMC5883L和MS5611。CF2使用了两颗传感器芯片 MPU9250和LPS25H。性能上CF2的使用的传感器更高,无论从软件上看到的飞控板的姿态数据还是从飞行的稳定性上CF2都更好些。安装上CF2的气压传感器放在飞控板的底层,这样大大较小了螺旋桨旋转产生的气压波动。CF1官方提供了两种版本6DOF和10DOF ,CF2只有一种版本10DOF。
    7.使用阻容感器件比较。CF1采用0603的器件为主,CF2使用0402器件为主。两种比较CF2手工焊接会复杂些。


四、CF开发环境及其相关设置


    图片明天传 未完...
   



相关帖子

沙发
xjf_hz|  楼主 | 2015-6-4 09:43 | 只看该作者
精彩内容请关注。本帖最早在a mo bbs 发布,重新在21ic发布。

使用特权

评论回复
板凳
GilbertLiang| | 2015-6-4 11:46 | 只看该作者
大赞!这么详细,必须珍藏

使用特权

评论回复
地板
xjf_hz|  楼主 | 2015-6-4 14:18 | 只看该作者
莫名的由四轴飞行器到了供需广告了,既然21ic不允许这种介绍剩下的不打算发了。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

4

帖子

0

粉丝