用STM32自制APM四轴飞行器
2017-04-02 10:03
113 查看
Maple Lite User manual
基于flymaple项目修改而来,重新设计原理图,陀螺仪更换为mpu6050,完全兼容上位机Mission Planner,功能与APM完全保持一致,主控芯片采用stm32f103rct6,256k flash、64k ram,无外扩flash,移植后的代码、原理图、pcb原件,BOM完全托管于Github,欢迎关注我的github
2. 获取源码
3. 编译固件
4. 使用J-flash通过jtag口烧写固件
5. 使用串口工具测试硬件
6. 串口连接Mission Planner
7. 使用Mission Planner设置飞行参数
8. 连接接收机、电调动力装置进行试飞
1. 安装虚拟机(VMware + ubuntu)
2. 配置交叉编译工具(arm-none-eabi-)
3. 安装git版本控制器
关于上述详细步骤可以在谷歌度娘上寻找详细教程
2. 克隆该项目到本地
将github上的工程克隆到本地
克隆完成后的目录文件
2. 到ardupilot/ ArduCopter/目录下运行make flymaple
3. 编译完成后将在/tmp/ArduCopter.build/目录下生成
ArduCopter.elf
ArduCopter.eep
ArduCopter.hex(可以直接烧写)
关于编译,可以直接运行./make_sh.sh 将自动完成上述步骤,并且生成ArdCopte.bin到当前目录,ArdCopre.bin文件是纯二进制文件不含带地址信息,在烧时需要手动添加地址
1. 将maple-lite与jlink使用SW模
4000
式连接,并且供电
2. 打开并且配置J-Flash为SW下载模式
3. 烧写固件(将编译生成的ArduCopter.hex或者ArduCopter.bin拖入J-Flash工具)
4. 输入F7工具自动下载固件
5. 固件下载成功,断开连接
2. 使用串口工具连接maple-lite
上图是由于进入了正常启动流程,通信内容为Mavlink的非ASCII码的输出,所以显示为乱码,对maple-lite重新上电,并且在5s内输长按空格键,将进入命令行模式:
3. 在命令行模式下输入test,进入test
4. 选择相应的测试项目进行测试(主要测试项为:baro、compass、ins)
这里以ins为例:
可以看到首先进行初始化,然后输出对应的值,晃动maple-lite值会随之变化,表示Gyro传感器工作正常,其他硬件测试方法类似,测试完成后进行MissionPlanner连接前需要重新上电
1. 打开Mission Planner,选择串口号、设置波特率
2. 点击CONNECT连接maple-lite
连接过程中的读取参数,在连接完成后,可以看到参数显示、ins输出
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
基于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_ardupilot2. 克隆该项目到本地
将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模
4000
式连接,并且供电
2. 打开并且配置J-Flash为SW下载模式
3. 烧写固件(将编译生成的ArduCopter.hex或者ArduCopter.bin拖入J-Flash工具)
4. 输入F7工具自动下载固件
5. 固件下载成功,断开连接
使用串口工具测试硬件
1. 将maple-lite通过串口连接到PC2. 使用串口工具连接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
相关文章推荐
- 用STM32自制APM四轴飞行器
- STM32控制APM飞控(五)MAVLINK的C源码的解释及MAVLINK心跳包
- 自制平衡小车:从入门到放弃——基于stm32的平衡小车系列(三)
- 基于STM32的四轴飞行器项目总结
- 自制小四轴:从入门到放弃——基于stm32的小四轴系列(二)
- 自制平衡小车:从入门到放弃——基于stm32的平衡小车系列(一)
- 用STM32自制鼠标
- STM32控制APM飞控(一)研究目的及思路
- STM32控制APM飞控(二)MAVLINK源码集成到stm32工程中
- 基于STM32的开源微型四轴飞行器
- 四轴飞行器-stm32开发环境mdk5的搭建
- .NET APM之自制异步调用组件
- STM32控制APM飞控(四)MAVLINK协议深入理解之数据结构
- 自制小四轴:从入门到放弃——基于stm32的小四轴系列(一)
- 自制平衡小车:从入门到放弃——基于stm32的平衡小车系列(二)
- MyChatRoom——C#自制聊天室
- STM32串口设定流程总结
- STM32的SPI学习(SPI芯片为SST25VF016B)
- STM32 USB mutidevice 实现 CDC串口 + Mass内存盘 (一)
- STM32 KEIL不能输入仿真引脚端口error 65: access violation at 0x40021000 : no 'read' permission