5iMX宗旨:分享遥控模型兴趣爱好

5iMX.com 我爱模型 玩家论坛 ——专业遥控模型和无人机玩家论坛(玩模型就上我爱模型,创始于2003年)
查看: 12836|回复: 38
打印 上一主题 下一主题

【测试】尝试用STM32F4Discovery开发板和10dof模块(GY-86)组Paparazzi飞控

[复制链接]
跳转到指定楼层
发表于 2015-2-1 15:05 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式
点击查看详情
2013年的时候,我用模块组了一个mwc飞控,因为i2c接口相同,mega2560的rom也够大,该硬件也可以刷apm海盗的程序。
尝试用arduino 2560开发板和10dof(GY-86)组MWC飞控
当时引用了两个很火的帖子
发点大家喜闻乐见的东西,同时把arduino 2560开发板和10dof(GY-86)组mwc连线图法上来
新人DIY四轴分享点经验,避免其他人重复走我走过的弯路
  今年我原本是打算用模块和洞洞板组个pix飞控的,于是买了STM32F4Discovery开发板,STM32F103开发板,还有一些arduino pro mini用来做PPM编码。年初时候下载好各种原理图和线路图,收集好芯片资料,准备学习之余大干一场。不料今年学业特别的忙,各种CFD的计算,各种后处理,写论文,等到正事办完也到寒假了,于是只好降低难度,先组个芯片少一些的。我观察了Paparazzi和CC3d飞控,硬件上把传感器的SPI和I2C接口跟微处理器的I2C接上就能用了,然后源代码都是可以修改的
  Paparazzi官网上已经有神人用STM32F4Discovery开发板DIY了飞控板,还做了一个分线板发布在github上(分线板工程文件  源代码链接 )。我参(chao)考(xi)了他的原理图,然后又优(tou)化(lan)了一下,有些不常用的接口没接。因为有组mwc飞控的经验(关键原因还是不想浪费GY-86模块),所以我把gy86的i2c接到了PB10和PB11上,主要是为了方便连线(原理上接到PB8和PB7也是可以的)。我没有使用PB6和PB9,因为F4Discovery开发板上CS43L22音频芯片的I2C接口已经把这两个端口用了。PA*至PE*端口的接线可以参考头文件里的配置,如下图

LINUX下开发飞控有很多坑,我踩了一路的地雷,各种报错,等到程序调通,脑细胞也已经死伤惨重。这里有个注意点(很关键),官网wiki上没有提到,编译stlink后,把编译得到的st-flash、st-info等4个程序复制到bin目录下去,复制完后把权限改成775(我就是因为忘改执行权限,能生成elf程序,但下载的时候会报错,反复调试了很多次才想到这个问题,st-flash忘给权限了)。github上的stm32F4discovery例程的AirFrame配置是有问题的,编译会报错,其他配置参数都可以删掉重写,除了关键的这句board="stm32f4_discovery“定义,它可以使程序支持ST-Link方式下载。我的这个stm32f4_discovery_test.xml文件已经改得面目全非了,抄袭了quadshot模型的部分配置。

  如上图所示,STM32F4discovery.h文件里的LED部分默认是注释掉的,所以AirFrame的配置也要跟着修改一下,去掉LED闪光功能(不去掉调试报错)。最后保证语法没错能调通的基础上,把lisa2.0板的定义去掉,把stm32f4Discovery板的定义加进去,这样下载按钮就有STLink选项了。代码调通后,通过STlink上传至STM32F4Discovery开发板,如下图所示。





评分

参与人数 1威望 +4 收起 理由
surebo + 4 赞一个!

查看全部评分

欢迎继续阅读楼主其他信息

38
发表于 2016-1-8 20:38 | 只看该作者
tufeii 发表于 2015-2-1 15:20
另外STM32F4 自带的bootloader 也可以直接通过usb 写入配置文件到飞控而省去了stlink 吧?使用DFU-UTIL就可 ...

是的

37
 楼主| 发表于 2015-12-29 15:09 | 只看该作者
sheng136long 发表于 2015-10-24 10:08
哥,你好,我正在用MEGA2560+GY-86做APM,有些针脚的定义不清楚,请教一下,能告诉我您的QQ号吗,或是电话 ...

用GY86可以用ArduCopterNG的代码。针脚定义无非是一些I2C,SPI,TXRX什么的,接线参考下图

引用的地址http://bbs.5imx.com/bbs/forum.php?mod=viewthread&tid=736706

36
发表于 2015-10-24 10:08 | 只看该作者
哥,你好,我正在用MEGA2560+GY-86做APM,有些针脚的定义不清楚,请教一下,能告诉我您的QQ号吗,或是电话?谢谢啊

35
发表于 2015-5-27 15:54 | 只看该作者
谢谢分享。。。。。顶贴走人!~~

34
发表于 2015-5-16 09:04 | 只看该作者
我看有人用这个开发版刷入pixhawk  bootloader  这样是不是能直接写apm固件了?
来自苹果客户端来自苹果客户端
33
发表于 2015-5-12 12:35 | 只看该作者
MARK
32
发表于 2015-5-9 01:56 | 只看该作者
赞一个!
31
发表于 2015-5-5 11:24 | 只看该作者
高手,高手,佩服
30
发表于 2015-4-24 14:09 | 只看该作者
discovery的传感器已经够飞啦
29
发表于 2015-4-15 11:53 | 只看该作者
看不懂
都是高手
我就默默的看着
28
发表于 2015-4-15 11:53 | 只看该作者
看不懂
都是高手
27
发表于 2015-4-15 09:14 | 只看该作者
MARK
26
 楼主| 发表于 2015-4-15 08:16 | 只看该作者
fufang001 发表于 2015-4-14 21:13
楼主对paparazzi很有研究么?

嗯,是的。imu部分的配置应该按我给的方式写。

25
 楼主| 发表于 2015-4-15 08:09 | 只看该作者
fufang001 发表于 2015-4-14 20:58
估计和谷歌地图墙了有关,换个地图源就可以了,bing选项试一下

好的,谢谢

24
发表于 2015-4-14 21:13 | 只看该作者
xukejing 发表于 2015-4-11 23:06
吐槽一下paparazzi开发团队尽把一些代码半成品发网上,复制黏贴完还要修改,山寨起来太不方便了。
...

楼主对paparazzi很有研究么?

23
发表于 2015-4-14 20:58 | 只看该作者
xukejing 发表于 2015-4-11 22:24
差点烂尾楼了,原来以为寒假能宅在屋里研究点业余爱好,结果各种访亲逛街和旅游到开学,然后开学 ...

估计和谷歌地图墙了有关,换个地图源就可以了,bing选项试一下
22
 楼主| 发表于 2015-4-11 22:40 | 只看该作者
用stm32f4discovery和gy86组ppz飞控,写代码和飞控接线时有几个要点,下面我列举以下
1 gy86接到i2c2上(PB11-SDA,PB10-SCL),不用做上拉
2 mpu6050的地址是0xD0,我们可以观察一下GY86的原理图,mpu6050的AD0被接地了,所以地址是0xD0。AHRS失败的原因都是i2c号接错或者地址写错了导致的。
3 数传接到串口6上(PC6-tx,PC7-rx)
4 GPS接到串口3上(PD8-tx,PD9-rx)
5 gy86板载气压计的使用通过飞机xml配置文件中的  <define name="USE_BARO_MS5611"/> 来开启,并连接到I2C2

21
 楼主| 发表于 2015-4-11 22:24 | 只看该作者

差点烂尾楼了,原来以为寒假能宅在屋里研究点业余爱好,结果各种访亲逛街和旅游到开学,然后开学又带着几个做毕设的小师弟搞项目。师弟赶着要毕业答辩,时间很紧,忙得一塌糊涂。
今晚逛论坛,抽空赶紧写点组飞控的经验。paparazzi飞控用开发板和模块组起来很容易,组块ppz飞控板的成本基本跟mwc一样,很便宜的,希望大伙儿能推广起来。当然,ppz飞控的局限性也是有的,比如上图那个地面站,习惯性下不到地图。

20
发表于 2015-4-6 23:31 | 只看该作者
进展到什么地步了?
来自苹果客户端来自苹果客户端
19
发表于 2015-3-22 22:44 | 只看该作者
关注中,很想自己研究这些开源飞控,可惜对硬件有欠缺呀
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

关闭

【站内推荐】上一条 /1 下一条

快速回复 返回顶部 返回列表