5iMX.com 我爱模型 玩家论坛 ——专业遥控模型和无人机玩家论坛(玩模型就上我爱模型,创始于2003年)

标题: 新手打造mwc2560飞控,自己刷bootloader,欢迎新手交流高手指点。增加avrdude-GUI下载 [打印本页]

作者: haujj    时间: 2013-5-23 12:36
标题: 新手打造mwc2560飞控,自己刷bootloader,欢迎新手交流高手指点。增加avrdude-GUI下载
本帖最后由 haujj 于 2013-5-31 23:21 编辑

      本人喜欢模型多年,平时都在关注论坛,做个资深潜水员。其实自己一直都在玩直升机,家里大大小小的都快十来架了,可自己很少飞,到目前为止还是只能悬停,勉勉强强飞个航线
       近年来开始流行四轴,自己也曾经有过想玩的念头,在大约2年前也在论坛收了一套kk的飞控回来,当时手头没有KK刷机线,买回来也没多大心思想玩,买回来后一直扔在某个角落里。直到今年4月份自己工作比较轻松,对四轴再次产生想玩的念头。买现成的飞控还是自己组一个呢,本着自己是喜欢动手的那一类人,加上自己认为焊功还是比较了得(当时没有接触过此类传感器,不知传感器大小,现在看来有点不知天高地厚的感觉)认为自己能轻松搞定,逐决定自己组一个,就是这个决定才有了这遍帖子的产生。希望自己的一点经验,能够给后续的模友有个交流的地方。
     先来一张成果照片,把接收机整合焊接接在一块,这样简洁很多
(, 下载次数: 62)
下面这张照片大家能看出亮点在哪里吗,有什么好处,有人知道不???
(, 下载次数: 66)
多人回帖的话我就公开,哈哈哈.........
     言归正传:
     通过论坛及网上的一番收索,目前比较流行的飞控是MWC,属于国外的一个开源项目,目前玩的模友比较多,比较容易查阅相关资讯,逐决定采用ATM2560+MS5611 HMC5883L MPU6050这一配置,目前算是比较好的一种,容易扩展其他功能象GPS什么的,价格便宜等优点。目标锁定后马上上网进行采购,在网上我就买了这几样东西,其他那些零碎电子零件都是在当地电子市场配齐。
(, 下载次数: 59) (, 下载次数: 56) (, 下载次数: 63)
主要是空飞控板、FT232读写器、和MS5611 、HMC5883L、 MPU6050这三个传感器,ISP下载器是之前需要用买的。说实在话,在组这个飞控板的过程中自己有后悔过,为什么不去买一个现成的呢,难道就为了省下那一百多元,自己也不至于差那点钱啊,现在往回看,自己蛮开心的,因为自己学到了不少单片机的知识,这是后话。因为在组的过程中,没有留下照片,自己只能将我在制作的过程中遇上那些难题及需要注意的事项,一一讲出来,希望对大家有点启发。
     零配件到齐后,第一时间是准备焊接,没错,是焊接,当时我太高估了自己的焊接能了,不过也得佩服自己的折腾能力,过程我就不说了,在这里主要讲讲焊接的顺序。
     首先要焊接的是2560这个大芯片和其他周边的小零件,MS5611、 HMC5883L、 MPU6050这三个暂不要焊接,原因很简单,如焊接某块芯片出现短路或虚焊,你就很难查出问题所在,我在这里吃了一个大亏,一次性焊好,结果通电无反应,自己刚接触单片机小白一个,结果到处问到处找资料,白白的花了几天时间去查找故障原因。
    言归正传,2560及周边焊好后,检查各引脚无短路虚焊,有万能表的模友可以测量一下正电源焊脚与地是否相通,如不幸真的相通就及时排查一下,没问题就可以接上FT232读写器或ISP下载器通电,看看电源指示灯亮不亮,芯片有没有发烫现象,如过指示灯不亮或芯片发烫,应马上断电检查。如指示灯亮了,那就好办,下一步就准备刷2560的bootloader了
    一般新买的2560芯片里面都是空的,需要刷bootloader,其实我也不是很懂什么是bootloader,只知道如果不刷bootloader,那你就不能刷如程序,好吧,那就刷吧,怎么刷呢,对于单片机小白的我来说,又是一个难题,论坛找资料,发短信问前辈,能做的都做了,在这感谢曾经帮助过我的模有,借用论坛宝贵资源,对你们说声:谢谢!
    其实刷bootloader搞明白了并不是很难,前提是你要选对刷机软件和设置好熔丝,刷bootloader只能用ISP下载器,先安装ISP的驱动程序,一般安装好在电脑设备管理器中能看到“USBasp”设备就说明安装成功了。记住:飞控板的MISO 连接ISP下载器的MISO,VCC 、SCK 、MOSI、RESET、GND一样,把飞控板的接口与ISP下载器一一对应接上,连接电脑,一般ISP下载器是使
用AVR
(, 下载次数: 53)
或progisp
(, 下载次数: 53)
这两个软件,如果对熔丝设置不是很熟悉的模友,我不建议使用AVR或progisp这两个软件刷bootloader,使用avrdude-GUI相当简单方便,点下面可以下载
(, 下载次数: 316)

(, 下载次数: 377)


两个一起下载后解压缩就行了
(, 下载次数: 59)
这个软件设置熔丝很简单直观
打开软件第一步,选择avrdude-5.6应用程序位置,当然是你已下载好啦
(, 下载次数: 61)
第2、3步选对应你自己的isp,我是用这个
(, 下载次数: 57)
第4步,选择芯片型号,这不用说当然是选择2560啦
(, 下载次数: 71)
第5步读取芯片熔丝位
(, 下载次数: 62)
这个步骤要强调说说,如果熔丝位设置不对,是不能刷进bootloader的,更有可能导致芯片锁住,所以要认真看清楚,还有一个注意点是Lock Bit这个熔丝位,每次刷完bootloader,再次读取这个熔丝位,它是会自己改变为3F,如需要再次刷bootloader,必须将它改回0F才能正常刷。
(, 下载次数: 70)
这是arduino里面提供的各型号的熔丝位说明截图,有需要的模友可自己去打开看看,在你下载的arduino里面arduino-1.0.4/hardware/arduino/boards这个文档
第6步是选择bootloader文件位置,一般是在arduino里面arduino-1.0.4/hardware/bootloaders/stk500v2/stk500boot_v2_mega2560.hex
(, 下载次数: 73)
选好bootloader就可以开刷啦
(, 下载次数: 57)
洗刷刷洗刷刷,咦,怎么卡在哪里不动了
(, 下载次数: 53)
如果那个绿色进度条停在半途不动,请不要慌张,不要以为死机了刷不进去,那是正常,因为2560内存大,所以刷起来有点慢,不像其他芯片,1、2、3、4、5搞掂,没这么快,大概要个6、7分钟才能搞掂,所以耐心等待一下,刷好了会跳出一个提示框框,一大堆的English,大概是这内容
avrdude.exe: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.02s
avrdude.exe: Device signature = 0x1e9801
avrdude.exe: erasing chip
avrdude.exe: warning: cannot set sck period. please check for usbasp firmware update.
avrdude.exe: reading input file "C:\Users\Administrator\Desktop\arduino-1[1].0.4-windows\arduino-1.0.4\hardware\arduino\bootloaders\stk500v2\stk500boot_v2_mega2560.hex"
avrdude.exe: input file C:\Users\Administrator\Desktop\arduino-1[1].0.4-windows\arduino-1.0.4\hardware\arduino\bootloaders\stk500v2\stk500boot_v2_mega2560.hex auto detected as Intel Hex
avrdude.exe: writing flash (261406 bytes):
Writing | ################################################## | 100% 80.98s
avrdude.exe: 261406 bytes of flash written
avrdude.exe: verifying flash memory against C:\Users\Administrator\Desktop\arduino-1[1].0.4-windows\arduino-1.0.4\hardware\arduino\bootloaders\stk500v2\stk500boot_v2_mega2560.hex:
avrdude.exe: load data flash data from input file C:\Users\Administrator\Desktop\arduino-1[1].0.4-windows\arduino-1.0.4\hardware\arduino\bootloaders\stk500v2\stk500boot_v2_mega2560.hex:
avrdude.exe: input file C:\Users\Administrator\Desktop\arduino-1[1].0.4-windows\arduino-1.0.4\hardware\arduino\bootloaders\stk500v2\stk500boot_v2_mega2560.hex auto detected as Intel Hex
avrdude.exe: input file C:\Users\Administrator\Desktop\arduino-1[1].0.4-windows\arduino-1.0.4\hardware\arduino\bootloaders\stk500v2\stk500boot_v2_mega2560.hex contains 261406 bytes
avrdude.exe: reading on-chip flash data:
Reading | ################################################## | 100% 75.96s
avrdude.exe: verifying ...
avrdude.exe: verification error, first mismatch at byte 0x1e000
              0xff != 0x0d
avrdude.exe: verification error; content mismatch
avrdude.exe done.  Thank you.
   不懂English不再惊慌了,这回我有经验了,这是校验错误,是使用usbtinyisp下载时,可以正常下载,只是会出现校验错误,不影响正常使用。这问题要再次感谢某论坛里的一位高手,一位名叫弘毅 的高手是他的帖子及及时解答我的疑问,为我排除了bootloader一直刷不进去这个难题。谢谢!嘿嘿不知他有没有在这个论坛转。
    好了,bootloader刷好了,就可以测试一下,连接上FT232读写器看看在arduino 能不能刷mwc的程序,先安装好FT232的驱动,安装好在电脑设备管理器里可以看到其相应端口
(, 下载次数: 63)
FT232有5个接口。借用一下商家的照片,自己懒得去拍了
(, 下载次数: 57)
除了3.3V这个不用接,其他5个接口都要接,FT232的+5V与飞控板的vcc接收,GND对GND,DTR对DTR,需要注意的是RX和TX这两根线,FT232的RX与飞控板TX对接,FT232的TX与飞控板RX对接,接好后可以尝试打开arduino 软件了
打开菜单默认是英文的
(, 下载次数: 57)
可以改为中文菜单,点菜单File下拉菜单Preferences,在Editor Languages这个菜单里选择简体中文,按0k,然后退出再重新打开就会变为中文菜单了
(, 下载次数: 61)
首先选择芯片型号
(, 下载次数: 56)
然后选择端口
(, 下载次数: 53)
选择mwc程序文件,我的是2.2版本,在你下载的MultiWii_2_2里面的/MultiWii/MultiWii.ino这个就是了
(, 下载次数: 51)
(, 下载次数: 49)
打开后跳出这个页面
(, 下载次数: 63)
然后点写入
(, 下载次数: 56)
这是烧写过程
(, 下载次数: 55)
如果没有烧写成功是这个样子
(, 下载次数: 32)
如果没什么意外的话应该是一次成功写入的
(, 下载次数: 27)
。如能刷进MWC程序,那证明2560已经可以正常工作,那下一步就是焊接MS5611 、HMC5883L、 MPU6050这三个芯片,如果没有热风台的话,只有一把电烙铁,那还是听从论坛高手们的建议,拿到外面请修手机的师傅帮忙焊一下吧,一般外面修手机师傅的技术还是可以的,基本一次焊好是没多大问题,不过还是有朋友遇上失败的案例。没有热风台自己单靠一支电烙铁焊这三块芯片难度相当大,焊接时间过长,容易热坏芯片,所以焊接温度和时间要掌握好。
    自己焊我建议先焊MPU6050这一块芯片,还是那句话,如果你一次将三块芯片焊好,哪怕有一只信号输入脚短接或没有焊好,在GUI里面是会出现一大堆的I2C错误,一般你还真不好测量是哪个芯片没焊好还是焊坏了。焊接前最好先测量一下芯片供电电压,正常情况应该是3.3v。







作者: stardust    时间: 2013-5-23 13:15
好贴,顶起!

作者: wcj3445    时间: 2013-5-23 13:33
有意思,顶一下

作者: ka.abbe    时间: 2013-5-23 13:36
马克一下 看看

作者: yangshichang110    时间: 2013-5-23 13:58
楼主写的很详细,如果早一年发就好了。。。。当时做了很大很大的一圈!!!

作者: haujj    时间: 2013-5-23 14:03
yangshichang110 发表于 2013-5-23 13:58
楼主写的很详细,如果早一年发就好了。。。。当时做了很大很大的一圈!!!

呵呵!我是今年4月份才开始接触四轴,应该是你早写就好了,我也不用兜那么大一个圈。

作者: yangshichang110    时间: 2013-5-23 14:09
haujj 发表于 2013-5-23 14:03
呵呵!我是今年4月份才开始接触四轴,应该是你早写就好了,我也不用兜那么大一个圈。

我是这个帐号注册时开始接触的。

别说了,焊功太差,没玩过航模。导致一开始出错太久,唉。

一开始,焊错了,以为是程序的问题,后来弄了快一个星期,又重新买了传感器重新焊。

焊完后能飞,但是炸了几次,只是因为接收机线没接好。

炸的没桨了,又花一个星期学航模,玩模拟器。

然后又去飞,这次直接撞树了,以为是机架问题。

多加了些东西。

来来去去。弄了很久。。。一把幸酸泪,就不多说了。

后来买了什么MMC10感受下,才大概知道飞控的功能,还有控制的感觉,才有了目标。。

所以你能成功做完,并且还写了这么多,厉害~给赞,哈哈。


作者: yangshichang110    时间: 2013-5-23 14:10
haujj 发表于 2013-5-23 14:03
呵呵!我是今年4月份才开始接触四轴,应该是你早写就好了,我也不用兜那么大一个圈。

其实也想写过很多经验。
可是有时自己都不知道怎么调好的。

记的一开始很多i2c error 。一开始以为是线没焊好。

后来又觉得是传感器没弄好。

后来又调程序什么的。

结果就好了。。。。

所以我都不敢说是什么问题。。。。


作者: BG5CKP    时间: 2013-5-23 14:16
论坛上的都是好人,有成果能和大家分享,虽然我还没玩到这一步,但是毫不犹豫的顶起。

作者: giantwjt    时间: 2013-5-23 15:10
不错的资料

作者: 飞驰天下    时间: 2013-5-23 15:20
来学习一下,看完就走。

作者: giantwjt    时间: 2013-5-23 15:25
整个板子调通了吗

作者: giantwjt    时间: 2013-5-23 15:29
本帖最后由 giantwjt 于 2013-5-23 15:32 编辑

用usbasp最新版+arduino IDE下载boot1oad没有校验错误问题,也不用管熔丝设置。推荐新人用,本人亲试的


作者: haujj    时间: 2013-5-23 15:29
yangshichang110 发表于 2013-5-23 14:10
其实也想写过很多经验。
可是有时自己都不知道怎么调好的。

你过去的经历就是我之前的经历,基本遇上的问题都差不多,我也是一路跌跌碰碰的走过来,有辛酸,有快乐,当自己亲手做的飞控飞起来,是那么的稳,心中喜悦只有自己才知道,确实一路过来学到不少东西,买商品飞控板回来不一定能够学到这么多东西

作者: haujj    时间: 2013-5-23 15:31
giantwjt 发表于 2013-5-23 15:25
整个板子调通了吗

板子已调好了,刷2.2飞起来很稳,现在开始折腾gps和蓝牙

作者: zhangfeng669    时间: 2013-5-23 15:38
不懂,路过

作者: xianglei6619    时间: 2013-5-23 15:48
有见地,学习

作者: 飘扬布鲁斯    时间: 2013-5-23 17:13
向院士级人物致敬!

作者: Red.John    时间: 2013-5-23 17:20
楼主真够心思啊

作者: ptlin    时间: 2013-5-23 17:29
路过,学习一下!

作者: ptlin    时间: 2013-5-23 17:38
路过,学习一下!
感謝分享

作者: andbot    时间: 2013-5-23 17:50
求arduino的config.h的选择与设置

作者: 波卡尼    时间: 2013-5-23 18:46
真是好文章啊,加精吧。。。。。

作者: siasdanny    时间: 2013-5-23 19:08
MARKMARKMARKMARKMARKMARKMARK这个不算灌水?

作者: 实用的飞行器    时间: 2013-5-24 19:27



   技术贴!动手焊接能力真强,羡慕啊!有相同的感受,没有相同的能力,家里也是大小各类飞机十几架,也是仅仅悬停,航线的,也没玩出个啥名堂。


作者: CharlesXiong    时间: 2013-5-24 20:07
俺是完全不懂啊!!仰慕!敬佩!嫉妒!向楼主致敬!

作者: lee3327    时间: 2013-5-24 23:07
好,留个记号

作者: 刘博    时间: 2013-5-24 23:08
哈哈,弘毅。。。。极客工坊啊。。。

作者: 天地无极    时间: 2013-5-29 19:31
报告楼主,我做了,但是第二遍下载程序又不可以了,还得再次下载引导,是什么情况呢

作者: 天地无极    时间: 2013-5-29 19:32
就出现这个了

作者: 孤侠独影    时间: 2013-5-29 20:23
动手能力强,技术知识储备扎实,向你学习,今后有问题希望得到你的帮助。

作者: 457961223    时间: 2013-5-29 21:47
楼主有心了  帮顶

作者: uery    时间: 2013-5-30 00:48
怎么这么多能人啊,强大!

作者: 静落无声    时间: 2013-5-30 07:53
FT232大概要30元和usbasp大概10,两者都是给板子下载程序用的,有什么区别


作者: dongfang    时间: 2013-5-30 09:22
LZ不错,全都手工焊接起家,最终能成功,心情应当是相当不错的了。

作者: haujj    时间: 2013-5-31 23:23
静落无声 发表于 2013-5-30 07:53
FT232大概要30元和usbasp大概10,两者都是给板子下载程序用的,有什么区别

FT232是刷固件用的,usbasp是刷bootloader,不同用处

作者: 静落无声    时间: 2013-6-1 12:04
haujj 发表于 2013-5-31 23:23
FT232是刷固件用的,usbasp是刷bootloader,不同用处

usbasp是刷不了程序到mega2560吗?我以前就用usbasp刷51单片机的程序的。有没有刷bootloader用起来有什么不一样,就只买一个usbasp行不行,能通过bootloader刷程序到mega2560吗,我需要节约成本。


作者: ivanwcs    时间: 2013-6-6 17:52
静落无声 发表于 2013-6-1 12:04
usbasp是刷不了程序到mega2560吗?我以前就用usbasp刷51单片机的程序的。有没有刷bootloader用起来有什么 ...

没有刷bootloader的2560是运作不了的,平常我们修改里面的代码的时候不用usbasp的,mega2560那个成品板已经带有usb串口了
usbasp就用在自己手动焊接的2560版上,成品2560开发版已经刷好了,就刷那么一次。

作者: 归巢雁    时间: 2013-6-6 20:41
谢谢楼主!顶
作者: 静落无声    时间: 2013-6-7 19:52
ivanwcs 发表于 2013-6-6 17:52
没有刷bootloader的2560是运作不了的,平常我们修改里面的代码的时候不用usbasp的,mega2560那个成品板已 ...

Arduino MEGA2560 R3 开发板(2012新版本,ATMEGA16U2,官方版本) 这样的开发板是不是只要一根USB线就可以下载程序了?还是要用到FT232?
作者: ue0505    时间: 2013-6-7 22:18
学习了,好贴啊

作者: ivanwcs    时间: 2013-6-7 22:35
静落无声 发表于 2013-6-7 19:52
Arduino MEGA2560 R3 开发板(2012新版本,ATMEGA16U2,官方版本) 这样的开发板是不是只要一根USB线就可以 ...

ft232就是板上面usb模块的名字,
用一条usb线就可以了~

作者: lee3327    时间: 2013-9-16 12:37
路过,学习一下!


作者: lee3327    时间: 2013-9-16 17:26
FT232读写器有ISP的接口可以刷吗

作者: giantwjt    时间: 2013-9-16 18:18
不错。谢谢

作者: 驭风者    时间: 2013-11-16 12:44
先赞一个,我也准备做,还在看帖学习中

作者: zhaokeke    时间: 2013-11-16 15:14
强大的单片机理论····膜拜

作者: 加国飞手    时间: 2013-11-16 15:44
绝对的好贴!
收藏了!

作者: 宇浩轩杰    时间: 2013-11-16 19:00
真的是高手啊

作者: wenziheni    时间: 2013-12-12 10:48
好东西呀,编程器选什么?

作者: wenziheni    时间: 2013-12-12 10:53
是不是可以用Arduino烧bootloader

作者: xiahaisheng    时间: 2013-12-12 12:11
好东西啊,写的细,对我们菜鸟有大帮助啊

作者: zgchen    时间: 2014-2-15 14:01
mark 不错的教程!!亲自体验是很不一样的!会遇到意想不到的问题的

作者: qrwjay123    时间: 2014-4-3 21:41
楼主,看了你的帖,感觉你非常厉害,想学习一下,能加个QQ吗?请问传感器针脚如何选,我用的mega2560大板。蓝白的那个。传感器也买的GY 86.想知道程序代码如何更改,还有就是输入输出信号针脚如何更改。

作者: 我是恩阳人    时间: 2014-4-3 23:19
顶,我玩过MWC,不过是成平品,听说还有人拿MWC搞商业航拍呢

作者: JammyYoung    时间: 2014-5-22 21:15
天地无极 发表于 2013-5-29 19:32
就出现这个了

出现这个超时算刷入成功吗???

作者: 快乐之神    时间: 2014-9-9 21:41
很牛B谢谢  分享经验

作者: davilong    时间: 2014-9-12 21:38
本帖最后由 davilong 于 2014-9-12 21:43 编辑



我的一块 MWC MEGA2560飞控就出现bootloder丢失的现象,用USBasp下载器按你说的方法刷写时出现错误提示如图: (, 下载次数: 3) 如何解决?还请帮助。谢谢!

另外,你提供的软件(压缩文件)有PART01和PART02。我下载后分别解压会被覆盖,这正常吗?


作者: haujj    时间: 2014-9-12 23:00
davilong 发表于 2014-9-12 21:38
我的一块 MWC MEGA2560飞控就出现bootloder丢失的现象,用USBasp下载器按你说的方法刷写时出现错误提示 ...

呵呵!我也很久没搞这玩意了,你那情况,估计是熔丝位没有设置好,你重新读一下熔丝位看看是否正确
至于下载那两个压缩文件会合并为一个是正常的,原来就是一个软件为缩小文件大小分割成2个压缩文件而已。你解压后能打开软件就代表正常啦。






欢迎光临 5iMX.com 我爱模型 玩家论坛 ——专业遥控模型和无人机玩家论坛(玩模型就上我爱模型,创始于2003年) (http://wz.5imx.com/) Powered by Discuz! X3.3