关于apm飞控烧bootloader

最近一直由于学校大创申请的的四轴,一直在做这玩意,哎,无奈这货实在不像想象的那样简单,自己写了N久飞控,也没把飞机飞起来,只能先用开源的apm飞控练练手呗,备份下apm烧bootloader的方法,以备查用!

原文地址:http://bbs.diywrj.com/thread-21628-1-1.html

所需工具材料:

1、一个AVRusbasp编程器以及相应的烧写软件,推荐progisp1.72

2、AVR的USB自编程软件Flip,下载链接http://www.atmel.com/tools/FLIP.aspx,电脑中如果已经装过java,选择小的那个,如果没有,选择大的那个含jave的进行下载

3、准备三个hex文件,分别是Atmega2560的bootloader文件、32u2的bootloader文件和32u2的ppm程序文件

烧写过程基本概述:先给Atmega2560烧写bootloader,然后给Atmega32u2烧写bootloader,最后给32u2写入PPM解码通讯程序

一、烧写Atmega2560的bootloader:

1、Atmega2560的SPI接口在APM板靠近USB接口位置,为双排6PIN排针,如果你的usbasp是10PIN接口,你还需要一根10PIN转6PIN的转接线。连接好下载线后打开progisp,select chip选择Atmega2560,然后RD一下ID识别字是否对应,没有错误的话继续下一步

2、点击预写熔丝或者编程熔丝右边的数字框进行Atmega2560的熔丝位配置

3、Atmega2560的熔丝位如下配置:低FF,高D8,扩展FD,配置好后点击写入执行熔丝位的写入,写入完成后可以点击读出熔丝位验证熔丝位是否已经写入,写入成功即可关闭熔丝位配置界面

4、配置好熔丝位后点击“调入flash”载入Atmega2560的bootloader的hex文件,在主界面上勾选芯片擦除、编程flash、校验flash,然后点击自动开始写入bootloader程序,2560写入时间较长,需耐心等待

5、烧写成功后会出现校验错误,这是因为progisp对于2560的bootloader校验功能不是很完善,校验不了,所以才会出现这样的校验错误。其实bootloader已经下载完毕了。这时候可以看到B、C指示灯在闪烁。

二、烧写Atmega32U2的bootloader

Atmega32u2的SPI接口在APM板的GPS插座位置附近,很多APM板子出厂的时候,32U2

的SPI接口排针并没有焊上,如果没有的话你需要先把排针焊上。Atmega32u2的bootloader烧写步骤参考上面的Atmega2560烧写步骤,首先选择芯片32u2,然后配置熔丝位,Atmega32u2的熔丝位为低FF,高D9,扩展F4,最后调入Arduino-usbdfu.hex文件执行烧写

三、写入Atmega32u2的PPM解码通讯程序

1、mega2560和mega32U2的bootloader都烧写完毕后,连接APM飞控板的USB口到电脑上,电脑提示发现新硬件

此驱动在APM固件的ardupilot\Tools\ArduPPM\ATMega32U2\Drivers目录下,如果没有的话请自行去APM的wike网站上下载一个固件。驱动装好后在设备管理器中会出现一个ATMEL的DFU设备(注:本部可能会出现找不到文件的提示,在xp上会提示libusb0_x86.dll,可下一个libusb0_x86.dll放入system32中,在xp测试通过!)

2、驱动好后打开FLIP软件,点击红色箭头所指的图示或到主选单选择「Device->Select」,也可以使用快捷键「Ctrl+S」,选择Atmega32U2,然后点击确定。

3、点击红色箭头所指的地方或到主选单选择「Settings->Communications->USB」,也可以使用快捷键「Ctrl+U」,然后点击「Open」打开USB。

4、如果以上步骤都正确的话,你会看到Signature bytes信息,如下图所示:

5、现在我们点击红色箭头所指的图示加载HEX或到主选单选择「File->Load HEX」,也可以使用快捷键「Ctrl+L」选择事先准备好的PPM解码hex文件。需要注意的是,FLIP载入的hex文件不能放在中文目录下,否则会提示载入不成功

6、现在确认一下是否已经勾选了所有的「Operations Flow」的选项,如下图所示,红色箭头所指的地方都要打勾,然后点击左下角的RUN执行写入。软件会弹出一个烧写进度条提示,正常的话很快,几秒钟就可以完成,最后左下角提示veripass校验通过,整块板子的基本bootloader即刷写完成,重新插拔一次USB,电脑发现新设备,装好APM的USB驱动后就可以打开Mission Planner更新APM固件了

时间: 2024-10-17 08:10:34

关于apm飞控烧bootloader的相关文章

SKYE无人机改装APM飞控(最经济实惠 预算200元)

声明:说是200元,实际不到200元 ,点击文中下划线链接可到达 清单已列完,细节未完待续... 工具: 热熔胶枪.拆机套件(薄片.镙丝刀套装).尖嘴钳.镊子.烙铁/有条件的可以上热风枪.焊硒丝. 助焊剂.杜邦线/连接线若干(越细越软越好但不能用裸线).热缩管若干 一.机身改装(128元) 物料清单 1.APM飞控板APM2.8 * 1   120元左右(带内置罗盘)  2.8弯针内置罗盘单飞控 2.降压模块 12V转5V * 1   5元   12转5V降压模块   5V转3.3V降压模块 3

apm飞控飞行模式详解

1.稳定模式Stabilize稳定模式是使用得最多的飞行模式,也是最基本的飞行模式,起飞和降落都应该使用此模式.此模式下,飞控会让飞行器保持稳定,是初学者进行一般飞行的首选,也是FPV第一视角飞行的最佳模式.一定要确保遥控器上的开关能很方便无误地拨到该模式,这对抢救紧急情况十分重要! 2.定高模式ALT_HOLD初次试飞之后就可以尝试定高模式,此模式不需要GPS支持,APM会根据气压传感器的数据保持当前高度.定高时如果不会定点,因此飞行器依然会漂移.可以遥控来移动或保持位置.定高时就是APM控制

apm飞控多线程源码阅读笔记

1.定时回调 每个飞控平台都提供一个1khz的定时器,通过"注册"一个定时器来获取1khz的定时功能.所有注册的定时器将被顺序调用.调用形式: hal.scheduler->register_timer_process((AP_HAL::MemberProc)(&AP_Baro_MS5611::_update)); AP_HAL::MemberProc()宏,主要作用是将一个C++成员函数包装起来,作为一个回调函数.其定义如下: typedef void(*Proc)(v

APM四轴组装调试记录

我们计划周末下几个周末野外吃火锅,并且进行航拍,吃着火锅开着飞机唱着歌.这里就组装一台可以航拍的四轴飞行器做一个记录: 阿木社区 http://www.amovauto.com/?p=631 QQ群:526221258 器件选择机架:因为450的机架携带不方便,而250的穿越机太小不方便采用运动相机,所以我们采用一体成型的机架,外观是经典的大疆精灵2 ,如果要说是山寨精灵2,那我也没有办法,F450机架电线裸露在外面实在受不了,打算好好上漆喷涂,做一个帅气的四轴.如图: 图1.1 经典外壳套件

开源飞控介绍

所谓开源飞控就是建立在开源思想基础上的飞行自主控制器项目(Open Source AutoPilot),同时包含开源软件和开源硬件,而软件则包含飞控硬件中的固件和地面站软件. 一  开源飞控发展 第一代开源飞控系统使用Arduino或其他类似开源电子平台为基础,扩展连接各种MEMS传感器,能够让无人机能平稳地飞起来. 主要特点是模块化和可扩展能力. 第二代开源飞控系统大多拥有自己的开源硬件.开发环境和社区,采用全集成的硬件架构. 主要特点是高度集成.高可靠,其功能已经接近商业自动驾驶仪 第三代开

002.光流传感器(ADNS0380版)使用说明

先放广告,以下是光流传感器购买地址(全网最低价并且唯一提供代码支持的): https://item.taobao.com/item.htm?spm=a230r.1.14.63.j2eDn3&id=541014211123&ns=1&abbucket=12#detail 如果模块直接使用在APM飞控上请看下文标题一内容,如果使用传感器作为二次开发请看下文标题二内容. 一.APM2.5与传感器模块连接图 二.提供的代码请按以下连线使用,传感器与stm32连接: GND    ---- 

APM2.8 Rover 自动巡航车设计(固件安装和设置)

1.2 APM2.8软件安装与固件下载 下载Mission Planner这个地面基站软件,这里介绍的是windoews平台下的,在MAC或者linux下可以使用QGroundCont基于QT编写的地面站软件,他们大部分功能是一样的. 安装好了Mission Planner1.3.3,建议使用安装版的MissionPlanner,也就是msi后缀名的,这样可以自动安装驱动,免去手动安装的麻烦.用USB线连接你的APM2.5到你的PC,选择正确的COM口,确保串口波特率是115200(具体咨询商家

??px4原生源码学习(1/3)-----为什么没main函数!!!!!

本文转自px4原生源码学习-(2)--实时操作系统篇 * 为什么我要谈到实时操作系统? 如果你只是开发一个简简单单的单片机程序,不用考虑以后对于程序的升级与修改,那么你简简单单写个main函数的while循环其实没什么不好.但你要遇到那种开发周期长,系统复杂的产品或者项目,那最好是基于实时操作系统开发.因为这对于代码重用和添加新功能或者新设备来说会方便挺很多,代码的编写程度也会简单很多.像早期的apm飞控也是基于板子的main函数,导致其代码复杂,冗余,后面直接被弃,因为可能每添加一个功能或者设

无人机开发之一:Pixhawk与Arduino简述

1. Pixhawk发展历史 发展历程:APM-->PX4FMU/IO-->Pixhawk: 1.1. Arduino简介 Arduino就是主要以以AVR单片机为核心控制器的单片机应用开发板(当然也有其他核心的例如STM32版本的但是不是官方的,还有intel的伽利略),或者是学习板啥的,Arduino开发人员开发了简单的函数,还有许多应用库,这样就不用直接去操作寄存器了,使得没有很好的单片机基础的人员也可以使用Arduino做出自己想要的东西.Arduino的开发人员还开发了一个简洁的ID