通过Arduino给APM编译下载最新固件
- 格式:doc
- 大小:793.50 KB
- 文档页数:8
介绍需要的部件∙一块ArduPilot Mega 板∙一个带有连接器的ArduPilot Mega IMU 板∙一个MediaTek GPS 模块或uBlox GPS 模块。
(与适配器一起订购,并为ArduPilot编程).∙双母头舵机线,数量为ArduPilot Mega 控制的通道数加1。
基本设置为4通道,但APM 可最多控制8个通道。
其中一个通道用来控制ArduPilot Mega。
∙用来无线遥测的两个Xbee 无线模块和两个适配器。
我们在空中使用这个Xbee,地面使用这个Xbee和这个天线. 可以在空中使用这个XtreamBee 适配器,并地面使用Sparkfun USB 适配器; 或者可以使用两个XtreamBee 适配器,在地面上的那个使用一条FTDI 传输线连到电脑上。
你还需要一个至少5通道的遥控设备,一个烙铁,一条mini USB线,当然还有一个能飞的东西!(我们偏爱EasyStar和SkyFun飞翼).方法仔细阅读说明书!某一天自驾仪将成为一个能在沃尔玛买到的即插即用设备,但可惜不是现在。
飞行器各不相同,而作为一个开源项目我们尽可能支持广泛的硬件配置。
这就意味着在飞行之前你必须配置自驾仪。
一旦你配置好,你还需要根据自己的飞机来调整自驾仪。
采用循序渐进的方法,也就是说,首先处理基本问题,每次只改变一到两个设置,然后测试是否合适,在进行下一项调整。
另外重要一点是只有在理解之后再做尝试。
在还没有良好理解和阅读注意事项之前使用使用默认设置。
反复阅读基本章节。
保留以前的版本,这对排除问题是很有用的,或者也可以恢复到以前正常工作的版本。
如果存在疑问,在飞真机之前使用模拟器!连接到电脑上APM 使用一条miniB USB 数据线。
如下所示插到板子上:当吧你的APM 用USB 数据线连到电脑上时,Windows 7 将识别FTDI USB转串口芯片并安装正确的驱动。
如果没有识别,或者你使用早期版本的Windows,你需要从这里下载和安装正确的驱动。
APM使用Copter(直升机和多轴)固件的中文参数表翻译:风迅电子-冷枫校对:Jothen 命令值单位选项说明ACRO_BAL_PITCH10 -- 3设置ACRO比率飞行模式时俯仰角返回水平的比率ACRO_BAL_ROLL10 -- 3设置ACRO比率飞行模式时横滚角返回水平的比率ACRO_RP_P 4.5 1 -- 10设置ACRO或者SPORT飞行模式时,俯仰与横滚动作的P值,值越高,动作相应越快ACRO_TRAINER20,1,2ACRO_YAW_P 4.5 1 -- 10设置ACRO或者SPORT飞行模式时,偏航动作的P值,值越高,动作相应越快AHRS_COMP_BETA0.10.001 -- 0.5设置AHRS航姿系统融合GPS数据计算地面速度的常数,试用值0.1,值越大,对GPS的依赖越少,会更多依赖空速传感器,值少反之AHRS_GPS_DELAY2AHRS_GPS_GAIN10.0 -- 1.0设置AHRS航姿系统对GPS的依存值,不能为0,一般飞机用默认或者1.0AHRS_GPS_MINSATS60 -- 10AHRS航姿系统中,GPS起作用的最小搜星数量,默认6颗,低于6颗,航姿系统中的GPS不起作用AHRS_GPS-USE10,1AHRS航姿系统的GPS开关,0:关闭,1;开启AHRS_ORIENTATION00 -- 37AHRS航姿系统中,飞快安装方向与标准方向的偏转矫正,0-无,1-偏航45度,2-偏航90度,…………37-横滚90度+偏航270度AHRS_RP_P0.10.1 -- 0.4加速度计对AHRS姿态控制的P值AHRS_TRIM_X0.01度-10 -- 10AHRS系统中,对飞控主板与机架的X轴向(横滚)角度偏差进行补偿AHRS_TRIM_Y-0.005度-10 -- 10AHRS系统中,对飞控主板与机架的Y轴向(俯仰)角度偏差进行补偿AHRS_TRIM_X0度-10 -- 10不用AHRS_WIND-MAX0米/秒0 -- 127设置风速的最大值,即空速与地速的速差,如果为0,则始终以空速作为参考AHRS_YAW_P0.10.1 -- 0.4罗盘或GPS对AHRS航姿系统中航向控制的P值ANGLE_MAX4500限制所有飞行模式中飞机的最大倾斜角ANGLE_RATE_MAX18000限制倾斜角速率ARMING_CHECK10,1解锁前自检开关,包括遥控接收信号检查、加速度计检查、罗盘检查。
基于USBASP给AVR单片机烧写Arduino bootloader和application固件 Arduino 微控制器的数字端口和模拟端口与 ATMEGA 328 芯片引脚的对应关系图如下。
其中,标有 0~13 标号的引脚对应的是数字端口;在 0~13 前面有符号“~”的引脚对应的端口具有 PWM 输出功能;标有 A0~A5 标号的是模拟端口。
Arduino板由于操作不当导致固件损坏,或者想把自己开发的板子用到Arduino 生态中去,这里介绍一下基于外购的USBASP烧录器通过USB转SPI接口将Arduino 的bootloader烧写进目标MCU的FLASH,就之后就可以用Arduino IDE通过UART 下载APP到目标MCU了。
首先确保手上有一个USBASP下载器,淘宝上一搜一大堆。
一、准备工作:1)给USBASP板子装驱动程序注意选择好驱动程序所在名所以拒绝安装驱动程序,此名信息》一文,设置window 然后再尝试安装驱动程序。
电子”淘宝店买的下载板,但实太老了,结果智峰固件下载下载板到目标板连线错误,USBasp-win-driver-x86-文件到目标MCU。
下图是2)连接USBASP 到Ard注意USBASP 下载接口是插针,需要按下图的管脚定义序所在目录之后,win10可能会弹窗报错,说INF 序,此刻请参考《解决Win10安装驱动时,INF ndows 系统有条件重启,需选择“禁用驱动程序强序。
注意USBasp 的驱动程序也讲究版本,我图便宜板,但店家提供的驱动程序libusb0.dll 的版本是下载软件PROGISP V1.72运行时会报错说没有找误,我只得将驱动程序换成其他店家提供的V1.2.4-x64-ia64-v1.2.4,这之后才能成功下载bootlo 图是安装好驱动程序之后的“设备管理器”截屏:Arduino UNO 接口是10PIN 插针,而Arduino UNO 板载的下载脚定义用杜邦线飞线连接。
一、介绍ArduPilotMega 自动驾驶仪(简称APM 自驾仪)是一款非常优秀而且完全开源的自动驾驶控制器,可应用于固定翼、直升机、多旋翼、地面车辆等,同时还可以搭配多款功能强大的地面控制站使用。
地面站中可以在线升级固件、调参,使用一套全双工的无线数据传输系统在地面站与自驾仪之间建立起一条数据链,即可组成一套无人机自动控制系统,非常适合个人组建自己的无人机驾驶系统。
二、性能特点•免费的开源程序,支持多种载机。
ArduPlane 模式支持固定翼飞机,Arducoper 模式支持直升机与多旋翼(包括三轴、四轴、六轴、八轴等),ArduRover 模式支持地面车辆;•人性化的图形地面站控制软件,通过一根Micro_USB 线或者一套无线数传连接,鼠标点击操作就可以进行设置和下载程序到控制板的MCU 中,无需编程知识和下载线等其它硬件设备。
但如果你想更深入的了解APM 的代码的话,你仍旧可以使用Arduino 来手动编程下载;•地面站的任务规划器支持上百个三维航点的自主飞行设置,并且只需要通过鼠标在地图上点击操作就行;•基于强大的MAVLink 协议,支持双向遥测和实时传输命令;•多种免费地面站可选,包括Mission Planner ,HK GCS 等,还可以使用手机上的地面站软件,地面站中可实现任务规划,空中参数调整,视频显示,语音合成和查看飞行记录等;•可实现自动起飞,自动降落,航点航线飞行,自动返航等多种自驾仪性能;•完整支持Xplane 和Flight Gear 半硬件仿真三、硬件构成o核心MCU采用ATMEL的8bit ATMEGA2560o 整合三轴陀螺仪与三轴加速度的六轴MEMS传感器MPU6000 o 高度测量采用高精度数字空气压力传感器MS-5611o 板载16MB的AT45DB161D存储器o 三轴磁力计HMC5883o8路PWM控制输入o 11路模拟传感器输入o 11路PWM输出(8路电调电机+3路云台增稳)o GPS 模块可选MTK 3329及支持ublox输出的NEO-6M、7M、LEA-6H等o 可屏蔽板载PPM解码功能,外接PPM解码板或者外接PPM接收机o 可屏蔽板载罗盘通过I2C接口使用外置扩展罗盘o (可选)OSD模块,将无人机姿态、模式、速度、位置等重要数据叠加到图像上实时回传o (可选)空速传感器o (可选)电流电压传感器o (可选)超声波测距传感器o (可选)光流定点传感器o(可扩展)其它UART、I2C、SPI 设备四、硬件方框图五、飞控板概览正面图1、数传接口2、模拟传感器接口3、增稳云台输出接口4、ATMEGA2560 SPI 在线编程接口(可用于光流传感器)5、USB 接口6、遥控输入7、功能选择跳线8、GPS 接口9、I2C 外接罗盘接口10、ATMEGA32U2 SPI 在线编程接口11、多功能可配置MUX 接口(默认为OSD 输出)12、电流电压接口13、电调供电选择跳线14、电调输出接口背面图1、SPI 的MISO 电压选择2、PPM 输入选择3、MUX 接口功能选择六、硬件安装在APM 主板拿到手后,首先应明确自己的用途,并且熟悉了上述功能和接口再进行后续的硬件安装和连接。
Arduino学习笔记A5 - Arduino常用的代码编写工具Arduino常用的代码编写工具大家在使用Arduino IDE编写程序的时候,都会觉得Arduino的IDE会有很多不足的地方,比如打开缓慢,不能显示中文,高亮不清晰,Auto Format自动格式化工具不够智能等。
下面我分享一下我自己使用的Arduino代码编写工具,或者不一定是最好的,权当抛砖引玉,欢迎大家多提意见。
代码编写器:Notepad2 MOD我先说一下我选代码编写器的要求:1、有语法高亮功能,这是必须的。
2、软件要轻量,界面要简洁,可以一下子打开很多个窗口方便编辑。
好像UltraEdit这样的界面太复杂了,很多时候功能用不到,而vc++又打开极其缓慢,浪费时间。
3、兼容中文注释,其实这个要求不是重点,只是Arduino的IDE竟然不支持,所以才作为要求。
4、可以把语法高亮方案导出为 HTML、UBB 代码,便于论坛或者网站分享。
5、字体清晰可见,必须是等宽字体,中文必须方正,选择时候不能像一些兼容中文的外国软件,因为字体没选好,选择文本时候会选到半个中文字这样。
最后选择了Notepad2 MOD,下载地址:/software/12201.html。
软件不到1M大,速度跟Windows自带记事本差不多。
但是能满足上面四个要求。
但是Notepad2 MOD默认不识别Arduino和Processing的pde格式高亮。
必须要在软件主菜单-工具-自定义语法高亮方案,选“C/C++源代码”加上pde格式即可。
软件可以关联Windows大部分的文本格式,或者添加右键菜单。
并且都有语法高亮显示。
软件放到一个不会移动的位置,设置好上面的“自定义语法高亮方案”后,在软件主菜单-工具-文件关联设置,即可设置所有支持格式的关联。
我一般直接按“全选”就行了,完全可以替代Windows记事本。
代码格式整理:CoolFormat源代码格式化相信大家都用过Arduino IDE的Auto Format功能。
arduinoIDE编译GRBLV1.1实际操作这个操作过程没有成功过,总是显⽰项⽬⽂件过⼤,导致写⼊失败注意:在开始之前,从ArduinoIDE中删除先前的Grbl库安装。
否则,将有编译问题!在Linux上路径 /root/Arduino/libraries。
1. 下载Grbl源代码. 解压下载的⽂件,得到grbl-XXX的⽂件夹,其中XXX是发⾏版。
2. 启动Arduino IDE. 确保使⽤最新版本的ArduinoIDE!3. 将Grbl作为库加载到ArduinoIDE中. 单击 sketch下拉菜单,导航到加载库(Include Library)并选择添加⼀个.ZIP库..。
. 选择Grbl-XXX⽂件夹中的名为Grbl⽂件夹重要信息:该⽂件夹仅包含源⽂件和⽰例⽬录。
如果您不⼩⼼选择.zip⽂件或错误的⽂件夹,您将需要导航到您的Arduino库,删除错误,然后重新执⾏步骤3。
4.打开Grbl Upload Arduino⽰例. 单击⽂件(File)下拉菜单,导航到⽰例(Examples)Examples->第三⽅库⽰例(下拉最下⽅)Grbl,然后选择GrblUpload。
5.确定您的Arduino COM端⼝· 您的Arduino将是USB串⾏端⼝6.将Grbl编译并上传到您的Arduino。
· 将您的Arduino Uno/Mega2560连接到您的计算机。
· 确保您的电路板已在Tool->Board菜单中设置为Arduino Uno/Mega2560,并在Tool->SerialPort中正确选择了串⾏端⼝。
· 点击上传(upload),Grbl应该编译并刷进到你的Arduino!(使⽤UploadUsing Programmer菜单命令刷程序。
)⾼级⽤户:⼤多数⽤户使⽤Grbl的默认程序就⾜够了,但您可以通过编辑Arduino库(⽽不是下载)⽂件夹中的config.h⽂件来⾃定义Grbl。
DIY APM2之刷新MEGA 2560 Bootloader 及Atmega32U2 DFU模式固件和PPM编码固件MEGA 2560 Bootloader刷新比较简单刷新前的准备:一、USBtinyISP编程器(没有的可以淘宝下)二、APM2主板一块并焊好ISP插针三、链接好APM2主板,编程器安装好相应的驱动四、替换arduino默认引导文件(stk500boot_v2_mega2560.hex),文件见附件(路径:你的arduino文件夹\hardware\arduino\bootloaders\stk500v2)刷新方法:文件替换完毕后打开arduino 编译软件选择Tools--->Programmer选择刷机线为USBtinyISP然后点击BurnBooatloader(刷新需要几分钟时间请耐心等待)至此MEGA2560 bootloader 刷新完毕。
刷新Atmega32U2过程相对MEGA2560稍繁琐一些。
首先把USBtinyISP编程器链接上32U2的ISP接口复制Arduino-usbdfu.hex到以下目录你的arduino目录\hardware\arduino\firmwares(注:尽量放在磁盘的根目录,那样可以避免出错和进入太多的目录)打开开始菜单--->运行(或者按windows微标键+R)--->输入CMD回车在命令符下切换你的路径为Arduino-usbdfu.hex文件所在路径(例如:我的目录为D: 命令符下我输入D:回车意思就是切换当前目录为D盘进入下一级目录的命令为CD 目录名基本的DOS操作不太懂的可以自己百度或者发帖询问)切换到Arduino-usbdfu.hex目录后执行以下红色部分语句:avrdude -p atmega32u2 -F -P usb -c usbtiny -v -U flash:w:Arduino-usbdfu.hex -U efuse:w:0xF4:m -U hfuse:w:0xD9:m -Ulfuse:w:0xFF:m -U lock:w:0x0F:m等待刷新完毕,断开编程器,使用USB连接电脑(至此已经可以对照官方说明更新PPM固件了)stk500boot_v2_mega2560.hex (6.94 KB)Arduino-usbdfu.hex (8.95 KB)Drivers.rar (212.86 KB)DFU模式驱。
1. 编译海盗3.0.1 固件①从ArduPilot下载ArduPilot-Arduino-1.0.3(约95Mb),解压IDE 到任何文件夹中。
(如C:\QuadCopter)②下载最新的海盗源码,解压到任何一个文件夹中。
(如C:\QuadCopter)③重要!从MPNG源码文件夹中的lib里面复制pde.jar到Arduino IDE中,替换原有文件。
④打开Arduino IDE选择目标平台为MegaPirateNG⑤打开偏好设置,将程序库位置改为解压海盗源码的文件夹。
(如c:\quadcopter\ardupilot-mpng)⑥选择飞控的com口⑦重要!重启Arduino IDE!⑧现在可以打开并且编译MPNG了。
2. 配置软件(修改板子类型,遥控输入类型等)①将飞控板类型改为AIOP V1(Hobbyking V2)重要!默认是AIOP V2重要!Hobbyking V2和AIOP V2不同将飞控板类型改为V1仅需在config.h关闭LOG功能.1.#define LOGGING_ENABLED DISABLED复制代码②将遥控PPM输入改为PL1脚重要!默认PPM是A8脚输入要开启PL1脚输入PPM(仅支持AIOP V2),打开ardupilot-mpng\libraries\AP_HAL_MPNG\RCInput_MPNG.cpp(用记事本)将1.#define SERIAL_PPM SERIAL_PPM_ENABLED复制代码替换为1.#define SERIAL_PPM SERIAL_PPM_ENABLED_PL1复制代码③将遥控输入设置为A8-A15普通PWM输入重要!默认PPM是A8脚输入要关闭A8的PPM输入,改为A8-A15的PWM输入,打开ardupilot-mpng\libraries\AP_HAL_MPNG\RCInput_MPNG.cpp将1.#define SERIAL_PPM SERIAL_PPM_ENABLED复制代码替换为1.#define SERIAL_PPM SERIAL_PPM_DISABLED复制代码④怎样更改遥控输入顺序MPNG有些预定义好的可供选择的遥控顺序,可以在ardupilot-mpng\libraries\AP_HAL_MPNG\RCInput_MPNG.cpp里面修改注:一次只取消一个注释1.// To change pinmapping, uncomment ONE line starting with 'staticunit8_t...'2.3.// Graupner/Spektrum4.// PITCH,YAW,THROTTLE,ROLL,AUX1,AUX2,CAMPITCH,CAMROLL5.//static uint8_t pinRcChannel[8] = {1, 3, 2, 0, 4, 5, 6, 7};6.7.// Standard (Default)8.// ROLL,PITCH,THROTTLE,YAW,MODE,AUX2,CAMPITCH,CAMROLL9.static uint8_t pinRcChannel[8] = {0, 1, 2, 3, 4, 5, 6, 7};10.11.// some Hitec/Sanwa/others12.// PITCH,ROLL,THROTTLE,YAW,AUX1,AUX2,CAMPITCH,CAMROLL13.//static uint8_t pinRcChannel[8] = {1, 0, 2, 3, 4, 5, 6, 7};14.15.// Multiwii16.// ROLL,THROTTLE,PITCH,YAW,AUX1,AUX2,CAMPITCH,CAMROLL17.//static uint8_t pinRcChannel[8] = {1, 2, 0, 3, 4, 5, 6, 7};18.19.// JR20.// FLAPS:MODE, GEAR:SAVE TRIMM = apm ch721.//static uint8_t pinRcChannel[8] = {1, 2, 0, 3, 5, 6, 4, 7};22.复制代码。
APM2.5中文快速入门指南-第一篇硬件连接和常用软件ArduPilotMega(APM)是市面上最强大的基于惯性导航的开源自驾仪(并且是最便宜的之一!)特性包括:∙免费开源固件,支持飞机(“ArduPlane”),多旋翼(四旋翼,六旋翼,八旋翼,十旋翼等),直升机(的“ArduCopter”)和地面车辆(的“ArduRover”)!∙arduino∙通过点击式的桌面程序完全的规划任务脚本∙可以支持上百个三维航点∙使用强大的MAVLink协议,支持双向遥测站和飞行大全-宜配网控制命令ţ∙多种免费地面站,包括APM PLANNER,HK HCS,∙跨平台,支持在Windows,Mac,甚至手机安卓系统,和Linux。
在的Windows下使用图形任务规划设定工具(苹果下可用模拟器)Arduino的编程环境,也是完全跨系统的。
∙自动起飞,降落和特殊的动作命令,例如视频和照相控制∙完整支持Xplane和飞行齿轮半硬件仿真∙包括继电器,可以触发任何设备,可以根据任务脚本控制∙硬件包括:o三轴陀螺仪o三轴加速度计∙Digital-output of6or9-axis MotionFusion data in rotation matrix,quaternion,Euler Angle,or raw data format ∙Tri-Axis angular rate sensor(gyro)with a sensitivity up to131LSBs/dps and a full-scale range of±250,±500,±1000,and±2000dps∙Tri-Axis accelerometer with a programmable full scale range of±2g,±4g,±8g and±16goo测量高度的空气压力传感器o为10Hz的GPS模块雷迅科技 o监视电池状态的电压传感器o16MB板上数据记录存储器,任务数据自动记录,并可以导出为KML的格式o三轴磁力计o(可选)空速传感器o(可选)电流传感器APM对于玩家的要求较深的航模知识玩飞控的想法符合实际有一定的电子基础略懂英文及编程硬件技术参数如下:六轴数字传感器MPU6000三轴数字磁阻5883L数字气压计MS561110HZ MTK3329GPS16M TF CARD雷迅科技 11路模拟输入端(每一路都带ADC转换)11路PWM输出8路PWM输入1路PPM输入3路UART可接数传GPS OSD扩展拥有目前开源项目上最完善的直升机固定翼多旋翼车船软件系统构成1.APM2.5主板2.GPS(推荐mtk3329或者UBLOX LEA-6H/NEO6M,其他nmea GPS无法识别,需要改动代码)3.5路以上的遥控系统,推荐6通以上4.数传遥测系统,推荐xbee pro900,3D RADIO或者空中速率可以达到57600的数传5.载机(直升机固定翼多旋翼车或船)首次安装雷迅科技 雷迅科技 雷迅科技 根据上图了解好飞控的接线定义,当然,不一定马上都要把飞控连接线都插好,前期我们只需要把接收机接上APM ,连接上USB 到电脑把飞控功能熟悉好,再进行装机安装APM 2的USB 驱动程序首先我们要下载MissionPlanner地面站程序,并完成安装后,就会自动安装好驱动,如果你没有安装软件的话,插上APM 会无法找到驱动的,就会如下面显示的一样但是实际会找不到驱动,我们从WIKI 上面找到MissionPlanner/p/ardupilot-mega/downloads/版本号越大越新,下载一个最新的即可MissionPlanner-X.X.X.msi如果是XP 用户,请先安装 Framework v3.5,百度一下即可找到下载地址安装过程不再讲述,很简单,均是下一步,下一步的操作打开后的界面雷迅科技 从左到右功能如下遥测数据–任务规划–参数设置–模拟器–固件升级–CLI 命令窗口–帮助和升级软件下载你需要的载机固件请先把APM 用usb 连接到电脑,并确认驱动已经安装成功(设备管理器可以看到这样的端口)然后打开地面站选择firmware 固件雷迅科技 在地面站右上方选择好端口,在下拉框,很容易就可以识别哪个是apm 端口,apm 的端口会以COM **Arduino mega 2560显示不需要点CONNECT直接选好串口号即可,请注意然后根据自己的飞行器硬件选择对应的图标即可下载最新的固件如是固定翼,就点即可提示是否确定升级固件点YES,提示是否APM2+硬件,点YES ,如果出厂前的固件与你烧录的固件不同,也会提示是否擦除eepROM 之类提示,也点YES等大概2分钟,几次进度条完成后,会提示左下角,新版本可能会提示一个确认对话框雷迅科技 1.如果你是从一个以前的版本更新固件,请确认你的参数对这个版本都是准确的2.请确认你的加速计在更新固件后已经校准或已重新校准按OK ,完成烧录LED 指示说明LED:行为:Power通电时亮TX指示数据从USB/FTDI 口输入RX指示数据向USB/FTDI 口输出A C陀螺仪校准时快速闪烁,然后暂停,然后循环闪烁(总共约45秒)B闪烁=正在校准.常亮=可以起飞CGPS 锁定-C 在等待GPS 锁定时闪烁;锁定后常亮。
APM_V2.8.0自驾仪入门手册一、介绍ArduPilotMega自动驾驶仪(简称APM自驾仪)是一款非常优秀而且完全开源的自动驾驶控制器,可应用于固定翼、直升机、多旋翼、地面车辆等,同时还可以搭配多款功能强大的地面控制站使用。
地面站中可以在线升级固件、调参,使用一套全双工的无线数据传输系统在地面站与自驾仪之间建立起一条数据链,即可组成一套无人机自动控制系统,非常适合个人组建自己的无人机驾驶系统。
二、性能特点•免费的开源程序,支持多种载机。
ArduPlane模式支持固定翼飞机,Arducoper模式支持直升机与多旋翼(包括三轴、四轴、六轴、八轴等),ArduRover模式支持地面车辆;•人性化的图形地面站控制软件,通过一根Micro_USB线或者一套无线数传连接,鼠标点击操作就可以进行设置和下载程序到控制板的MCU中,无需编程知识和下载线等其它硬件设备。
但如果你想更深入的了解APM的代码的话,你仍旧可以使用Arduino来手动编程下载;•地面站的任务规划器支持上百个三维航点的自主飞行设置,并且只需要通过鼠标在地图上点击操作就行;•基于强大的 MAVLink 协议,支持双向遥测和实时传输命令;•多种免费地面站可选,包括Mission Planner ,HK GCS等,还可以使用手机上的地面站软件,地面站中可实现任务规划,空中参数调整,视频显示,语音合成和查看飞行记录等;•可实现自动起飞,自动降落,航点航线飞行,自动返航等多种自驾仪性能;•完整支持 Xplane 和 Flight Gear 半硬件仿真三、硬件构成o 核心MCU采用ATMEL的8bit ATMEGA2560o 整合三轴陀螺仪与三轴加速度的六轴MEMS传感器MPU6000o 高度测量采用高精度数字空气压力传感器MS-5611o 板载16MB的AT45DB161D存储器o 三轴磁力计HMC5883o 8路PWM控制输入o 11路模拟传感器输入o 11路PWM输出(8路电调电机+3路云台增稳)o GPS 模块可选MTK 3329及支持ublox输出的NEO-6M、7M、LEA-6H等o 可屏蔽板载PPM解码功能,外接PPM解码板或者外接PPM接收机o 可屏蔽板载罗盘通过I2C接口使用外置扩展罗盘o (可选)OSD模块,将无人机姿态、模式、速度、位置等重要数据叠加到图像上实时回传o (可选)空速传感器o (可选)电流电压传感器o (可选)超声波测距传感器o (可选)光流定点传感器o (可扩展)其它UART、I2C、SPI设备四、硬件方框图五、飞控板概览正面图1、数传接口2、模拟传感器接口3、增稳云台输出接口4、ATMEGA2560 SPI在线编程接口(可用于光流传感器)5、USB接口6、遥控输入7、功能选择跳线8、GPS接口9、I2C外接罗盘接口10、ATMEGA32U2 SPI在线编程接口11、多功能可配置MUX接口(默认为OSD输出)12、电流电压接口13、电调供电选择跳线14、电调输出接口背面图1、SPI的MISO电压选择2、PPM输入选择3、MUX接口功能选择六、硬件安装在APM主板拿到手后,首先应明确自己的用途,并且熟悉了上述功能和接口再进行后续的硬件安装和连接。
第一步,安装GIT,下载连接
https:///files/Git-1.8.4-preview20130916.exe 安装步骤请按下图一步一步NEXT
注意选择run git from the windows command prompt
剩下的继续一步一步next直至安装完成
第二步:安装完成后打开电脑本地磁盘C盘,在根目录下新建一个文件夹,命名为GIT,然后打开GIT文件夹,空白处右键选择Git Bash
点击后会跳出一个命令行窗口
输入以下命令回车:git clone git:///diydrones/ardupilot.git
程序会自动在GIT文件夹内创建一个ardupilot项目,并从网站上下载ardupilot源代码,请保持网络畅通
下载完成后提示如下
第三步:安装MHV_A VR_TOOLS下载连接
/Tools/Arduino/MHV_A VR_Tools_20121007.exe
这个安装直接下一步下一步就行了,没什么要注意的
第四步:安装最新版内嵌4.7.2版GCC的Ardupilot 专用Arduino IDE 下载地址
/Tools/Arduino/ArduPilot-Arduino-1.0.3-gcc-4.7.2-windows.zip
下载完成后请解压到C盘根目录
然后打开ArduPilot-Arduino-1.0.3-gcc-4.7.2-windows文件夹,找到arduino应用程序图标,鼠标右键选择发送快捷方式到桌面,方便使用
第五步:配置Arduino
打开Arduino,点击文件,参数设置
按下图将程序库指定到C:\GIT\ardupilot文件夹下,其它按下图勾选,注意不要勾选检查更新,这是个专用版本,务必不要更新,设置好后重启一次
第六步:连接APM到电脑,打开Arduino,点击文件——程序库——选择Arducopter,这
样就装入了APM固件直升机模式的源代码,当然你也可以选择APMrover(地面车辆)代码或者Arduplane(固定翼飞机)
然后点击Ardupilot——HAL Board——Ardupilot Mega 2.X
接着点工具,板卡选择Arduino Mega2560 or Mega ADK,并选择对应的com口,如果不知道com口,打开我的计算机属性——设备管理器查看(前提你已经安装了APM的USB驱动),做好这些配置后,你现在就可以点击左上角的进行编
译看能不能通过编译了,或者直接点击将程序写入APM板。
备注:如果你是一步一步按以上步骤操作的,一般都可以通过编译;
如果你不是通过以上步骤下载的源代码,那么请把代码覆盖到GIT—ardupilot目录下,注意library文件夹的目录,否则可能无法通过编译;
如果你之前已经通过GIT下过一次代码或者GIT下的ardupilot目录不是空的,那重新下载时需要把原来的文件删除,否则会提示ardupilot文件夹不是空的,无法下载注意。