用STM32自制APM四轴飞行器
版权声明:本文为博主原创文章,未经博主允许不得转载。
Maple Lite User manual
基于flymaple项目修改而来,重新设计原理图,陀螺仪更换为mpu6050,完全兼容上位机Mission Planner,功能与APM完全保持一致,主控芯片采用stm32f103rct6,256k flash、64k ram,无外扩flash,移植后的代码、原理图、pcb原件,BOM完全托管于Github,欢迎关注我的github
Overview
1. 搭建编译环境
2. 获取源码
3. 编译固件
4. 使用J-flash通过jtag口烧写固件
5. 使用串口工具测试硬件
6. 串口连接Mission Planner
7. 使用Mission Planner设置飞行参数
8. 连接接收机、电调动力装置进行试飞
搭建编译环境
关于环境的搭建这里不做详细描述,大致可以分为以下步骤:
1. 安装虚拟机(VMware + ubuntu)
2. 配置交叉编译工具(arm-none-eabi-)
3. 安装git版本控制器
关于上述详细步骤可以在谷歌度娘上寻找详细教程
获取源码
1. 使用网页打开https://github.com/ShilinGuo520/flystm32_ardupilot
2. 克隆该项目到本地
将github上的工程克隆到本地
克隆完成后的目录文件
编译固件
1. 到libmaple/目录下运行make jtag生成maple的库文件
2. 到ardupilot/ ArduCopter/目录下运行make flymaple
3. 编译完成后将在/tmp/ArduCopter.build/目录下生成
ArduCopter.elf
ArduCopter.eep
ArduCopter.hex(可以直接烧写)
关于编译,可以直接运行./make_sh.sh 将自动完成上述步骤,并且生成ArdCopte.bin到当前目录,ArdCopre.bin文件是纯二进制文件不含带地址信息,在烧时需要手动添加地址
使用J-flash通过jtag口烧写固件
关于J-Flash如何安装这里不做详细描述,可以在谷歌百度上寻找详细答案
1. 将maple-lite与jlink使用SW模式连接,并且供电
2. 打开并且配置J-Flash为SW下载模式
3. 烧写固件(将编译生成的ArduCopter.hex或者ArduCopter.bin拖入J-Flash工具)
4. 输入F7工具自动下载固件
5. 固件下载成功,断开连接
使用串口工具测试硬件
1. 将maple-lite通过串口连接到PC
2. 使用串口工具连接maple-lite
上图是由于进入了正常启动流程,通信内容为Mavlink的非ASCII码的输出,所以显示为乱码,对maple-lite重新上电,并且在5s内输长按空格键,将进入命令行模式:
3. 在命令行模式下输入test,进入test
4. 选择相应的测试项目进行测试(主要测试项为:baro、compass、ins)
这里以ins为例:
可以看到首先进行初始化,然后输出对应的值,晃动maple-lite值会随之变化,表示Gyro传感器工作正常,其他硬件测试方法类似,测试完成后进行MissionPlanner连接前需要重新上电
串口连接Mission Planner
硬件测试完成后,接下来使用Mission Planner连接maple-lite,硬件连接和上述方法一样
1. 打开Mission Planner,选择串口号、设置波特率
2. 点击CONNECT连接maple-lite
连接过程中的读取参数,在连接完成后,可以看到参数显示、ins输出
使用Mission Planner设置飞行参数
上述连接完成后,即可进行飞行参数设置、compass校准、ins校准(目前还存在bug)、遥控器校准等,使用方法和APM完全一样
连接接收机、电调动力装置进行试飞
1. 接线说明(参考下图):
2. SW调试下载接口(参考下图):
附:装机图
配置:
机架:F550机架
GPS:ublox-7M
电机:飓风2212 980Kv
电调:好赢 10A 无EBC输出
电池:5200mA 3S
视频链接:
http://v.youku.com/v_show/id_XMjY4MzAwNjk3Ng==?spm=a2h3j.8428770.3416059.1
http://v.youku.com/v_show/id_XMjY4MzAwNjU0OA==?spm=a2h3j.8428770.3416059.1
- 顶
- 1
- 踩
- 0
- 上一篇BLE(低功耗蓝牙)中ATT协议简介
- 下一篇操作系统DIY
- 3楼 qq_21333483 2017-08-17 16:36发表 [回复] [引用] [举报]
- 可以用stlink的SW模式烧写吗,我在烧完BootLoader后测试时没有任何反应,还有你的晶振时16M还是12M,为啥照片上的看着像12M原理图是16M?
- 2楼 qq_21333483 2017-08-16 16:29发表 [回复] [引用] [举报]
- 有没有做成功的?
- 1楼 ccbfu 2017-05-11 21:51发表 [回复] [引用] [举报]
- 请问可以转载么?
- 用STM32自制APM四轴飞行器(2306)
- 将ardupilot运行在stm32f103(1311)
- BLE蓝牙中的安全连接(Secure Connections)(936)
- 安卓HAL层 so库文件加载原理(634)
- BLE(低功耗蓝牙)中ATT协议简介(315)
- 操作系统DIY(75)
- 用STM32自制APM四轴飞行器
qq_21333483:可以用stlink的SW模式烧写吗,我在烧完BootLoader后测试时没有任何反应,还有你的晶振时...
- 用STM32自制APM四轴飞行器
qq_21333483:有没有做成功的?
- 用STM32自制APM四轴飞行器
ccbfu:请问可以转载么?
- 将ardupilot运行在stm32f103
guodaye5200:@oJunLinTianXia1234:需要安装的DFU的,在下载的时候记得加sudo提升权限,如果...
- 将ardupilot运行在stm32f103
konety:关注很久了 希望能出新文章
- 将ardupilot运行在stm32f103
AUTOMAV:LZ你好,Linux下要装DFU驱动吗,你有编译好的固件吗?