john800422 发表于 2013-10-11 23:56:10

【Open Source & Hardware】STM32F4 飛控板 QCopterFC v2.0

本帖最后由 john800422 于 2013-10-12 00:10 编辑

繼之前的 "開源 DIY 自己設計的飛控板&攝像板 使用STM32F4" http://www.amobbs.com/thread-5542278-1-1.html

因為板子還蠻大的,所以做了改版

飛控板 QCopter Flight Control v2.0
.控制器 STM32F405RG 64Pin 168MHz DSP FPU
.感測器 IMU_10-DOF (MPU-9150 + MS5611)
.無線傳輸 nRF24L01P + PA + LNA
.儲存紀錄 SD卡,使用SDIO操作
.3個LED與1個KEY
.1個SPI接口 與攝像板連接、外擴其他裝置
.1個USB接口 與電腦連接
.2個ADC通道 測量電量
.12個PWM通道 連接電調、LED、PPM
.1個UART接口 可擴充GPS模組、藍芽模組、RS232

相較於之前的版本:
.可以從 Micro USB 供電
.大烏龜按鍵改上下放置,減少占用空間
.大幅減小面積,元件更密集 → PCB Size : 52 * 35mm (Screws M3: 30 * 30mm)

*** 架構示意圖



*** 焊接實體圖












*** 空 PCB 圖



*** PCB Layout








*** PCB 3D View





*** BOM


*** 【Open Source】飛控程序 use MDK 5


*** 【Open Source Hardware】use Altium Designer 13


更多資料都放在 My GitHub → https://github.com/Hom19910422/QCopterFlightControl

john800422 发表于 2013-10-14 10:11:34

微調了一下飛控程序
修改之前感測器的寄存器值轉物理量時的轉換問題

john800422 发表于 2013-10-14 10:19:12

補一下電路圖


















john800422 发表于 2013-10-22 08:13:31

上傳下 MPU-9150 測試的 Code

john800422 发表于 2013-11-2 14:32:13

更新 I2C 的代碼

預設是I2C1
現在直接修改 #define 就可以換其他的 I2C 了
方便移植到其他的板子上

john800422 发表于 2013-11-21 20:58:54

ipaner 发表于 2013-11-21 20:22 static/image/common/back.gif
太赞了,完全符合所有的需求,如果再添加上去备份寄存器电池仓或加上一块NAND Flash的话就更完美了 ...

電池和 NAND FLASH 應該是放不上去,沒什麼空間了
若是想要 FLASH 的話,片上的 FLASH 應該就夠用了

這是 STM32F4 FLASH 的 EXAMPLE

john800422 发表于 2013-10-12 00:02:19

IMU_10-DOF 的資料

USE MPU-9150 + MS5611








PCB FILE

lxl_lw 发表于 2013-10-12 02:25:43

楼主持续给力啊,现在玩得怎么样了啊?{:3_48:}

wangjt1988 发表于 2013-10-12 07:56:04

支持!我们的飞控也马上好,厂家贴片呢{:biggrin:}

john800422 发表于 2013-10-12 09:23:23

lxl_lw 发表于 2013-10-12 02:25 static/image/common/back.gif
楼主持续给力啊,现在玩得怎么样了啊?

目前都在做四軸的硬件
把之前自製的遙控器 Layout 成 PCB

wangjt1988 发表于 2013-10-12 09:25:17

john800422 发表于 2013-10-12 09:23
目前都在做四軸的硬件
把之前自製的遙控器 Layout 成 PCB

看了楼主的程序,有很多值的学习的,写的很舒服,看起来,支持!

john800422 发表于 2013-10-12 09:25:53

wangjt1988 发表于 2013-10-12 07:56 static/image/common/back.gif
支持!我们的飞控也马上好,厂家贴片呢

期待喔
不知道規格如何?

目前都是自己焊的
之後也想試試送外面做呢

john800422 发表于 2013-10-12 09:26:12

guojihongwhpu 发表于 2013-10-12 08:32 static/image/common/back.gif
台湾的硬币吗??

是阿
一塊錢

john800422 发表于 2013-10-12 09:27:53

wangjt1988 发表于 2013-10-12 09:25 static/image/common/back.gif
看了楼主的程序,有很多值的学习的,写的很舒服,看起来,支持!

會有點強迫症
想要把他整理排好{:biggrin:}

mcuprogram 发表于 2013-10-12 09:29:08

这个不错         

mahengyu 发表于 2013-10-12 09:45:57

自己焊的?芯片那么小,管脚那么密,怎么焊啊

wangjt1988 发表于 2013-10-12 09:46:24

john800422 发表于 2013-10-12 09:27
會有點強迫症
想要把他整理排好

这样很好,自己看着舒服,别人看着也舒服,而且模块化的不错,学习了

wangjt1988 发表于 2013-10-12 09:48:35

我写的有点牵一发,动全身的感觉

john800422 发表于 2013-10-12 10:21:26

mahengyu 发表于 2013-10-12 09:45 static/image/common/back.gif
自己焊的?芯片那么小,管脚那么密,怎么焊啊

除了 MPU-9150 是用吹的
無線模塊是買現成的
其他都是自己用焊槍焊
用 TQ-95 最細的頭焊的

john800422 发表于 2013-10-12 10:32:10

guojihongwhpu 发表于 2013-10-12 10:28 static/image/common/back.gif
你是台湾的???

是阿{:smile:}

lynx19890808 发表于 2013-10-12 10:51:16

楼主给力 借您的上一版工程文件做的wifi小四轴已经调通各硬件 特地来帮顶 哈哈

lidongxin 发表于 2013-10-12 11:19:32

mark      

lrzxc 发表于 2013-10-12 11:25:27

先用手机上网标记着,回家用电脑仔细看。还是台湾的朋友。

sunnydragon 发表于 2013-10-12 12:15:02

mark,此贴必火啊~

reAper07 发表于 2013-10-12 12:46:20

来学来了{:lol:}

kmani 发表于 2013-10-12 13:03:26

楼主 你的程序是通过USB下载到F4里面的吗?
这个USB可以用于仿真调试吗?

john800422 发表于 2013-10-12 13:46:56

guojihongwhpu 发表于 2013-10-12 11:05 static/image/common/back.gif
台湾的也可以上阿莫啊????

可以的, 沒有問題

john800422 发表于 2013-10-12 13:48:21

kmani 发表于 2013-10-12 13:03 static/image/common/back.gif
楼主 你的程序是通过USB下载到F4里面的吗?
这个USB可以用于仿真调试吗?

是透過 SW 燒錄的

USB 還沒有測試過
想測但是一直沒有時間

fhqiplj 发表于 2013-10-12 14:23:55

记下来,回家慢慢看

keyxyh 发表于 2013-10-12 15:14:22

帮顶一个啊,请问楼主的那个摄像头的板子是准备怎么用呢?是做图传还是作为光流模块还是录像呢

janeanndavid 发表于 2013-10-12 22:32:03

mark........

laber_1912 发表于 2013-10-13 10:29:27

感谢分享,有空业余学习下

john800422 发表于 2013-10-14 03:31:23

keyxyh 发表于 2013-10-12 15:14 static/image/common/back.gif
帮顶一个啊,请问楼主的那个摄像头的板子是准备怎么用呢?是做图传还是作为光流模块还是录像呢 ...

打算做影像辨識

ghostxdy 发表于 2013-10-14 03:40:49

LZ这么晚还没睡呀?
请问LZ您的IMU模块独立做一块PCB是什么原因吗?

请叫我全名 发表于 2013-10-14 07:01:37

功能强啊!

plc_avr 发表于 2013-10-14 08:46:53

真是给力,精品!佩服! 

john800422 发表于 2013-10-14 09:39:13

ghostxdy 发表于 2013-10-14 03:40 static/image/common/back.gif
LZ这么晚还没睡呀?
请问LZ您的IMU模块独立做一块PCB是什么原因吗?

一部分是怕焊壞
另一部分則是這樣移植比較方便
其他裝置也可以用

cctsao1008 发表于 2013-10-14 10:31:46

非常棒{:smile:}

1259899030 发表于 2013-10-14 14:49:01

考虑要外接遥控接收器没,怎么解码PPM、PCM信号?

mage99 发表于 2013-10-14 15:19:19

mark先。。。。。。。。。。。。。。。。

qufuta 发表于 2013-10-14 17:42:55

顶啊,感觉楼主是个高手,我也想做个四周,但是感觉无从下手,呵呵,以后有问题再来问楼主

john800422 发表于 2013-10-14 18:40:48

1259899030 发表于 2013-10-14 14:49 static/image/common/back.gif
考虑要外接遥控接收器没,怎么解码PPM、PCM信号?

目前主要是透過 nRF24L01 控制的
或是也可以從 PWM IO 讀取接收機
但目前並沒有寫讀取 PWM 的程式碼

苦行僧 发表于 2013-10-14 19:28:56

不惜成本啊,哈哈,支持

john800422 发表于 2013-10-14 20:03:53

苦行僧 发表于 2013-10-14 19:28 static/image/common/back.gif
不惜成本啊,哈哈,支持

想到就早點做
不然想久顧慮多,就不會做了

venus5712 发表于 2013-10-14 20:22:58

东西做好了 就是艺术!{:lol:}

ufokkkk 发表于 2013-10-15 23:34:21

mark~~多谢分享,下载中

john800422 发表于 2013-10-16 01:53:38

venus5712 发表于 2013-10-14 20:22 static/image/common/back.gif
东西做好了 就是艺术!

謝謝
這句話帶給我很大的動力{:smile:}

岗本科技 发表于 2013-10-16 03:06:13

http://paparazzi.enac.fr/wiki/Lisa/M_v20

venus5712 发表于 2013-10-16 15:48:00

john800422 发表于 2013-10-16 01:53 static/image/common/back.gif
謝謝
這句話帶給我很大的動力

{:handshake:} {:handshake:}

john800422 发表于 2013-10-17 10:54:36

岗本科技 发表于 2013-10-16 03:06 static/image/common/back.gif
http://paparazzi.enac.fr/wiki/Lisa/M_v20

這也是 Open Source 的飛控板?
感覺功能很強大

岗本科技 发表于 2013-10-17 11:29:17

john800422 发表于 2013-10-17 10:54 static/image/common/back.gif
這也是 Open Source 的飛控板?
感覺功能很強大

是的啊,而且全部开源,飞控工作站也好牛

neozoic 发表于 2013-10-17 14:36:48

厉害,沉金板,太炫了!

yue621 发表于 2013-10-22 20:29:36

很好啊~!支持帮顶~!

杨大侠 发表于 2013-10-23 10:49:48

欢迎台湾的朋友,支持!

b951011 发表于 2013-10-24 00:57:53

高手,高手

sunliezhi 发表于 2013-10-24 10:57:57

很不错,值得参考!

li3p 发表于 2013-10-24 11:42:44

john800422 发表于 2013-10-22 08:13 static/image/common/back.gif
上傳下 MPU-9150 測試的 Code

感谢!从你代码中学了I2C的DMA用法;)

爱-自由 发表于 2013-10-24 11:58:16

感谢楼主分享!值得学习。

canopen 发表于 2013-10-24 12:01:01

顶顶顶顶顶顶顶

AIHHLI 发表于 2013-10-24 12:37:04

LZ做的东西都很漂亮啊。

li3p 发表于 2013-10-24 15:00:20

john800422 发表于 2013-10-22 08:13 static/image/common/back.gif
上傳下 MPU-9150 測試的 Code

请问一下,IMU和NRF是购买的成品模块吗?还是自行制作的?

john800422 发表于 2013-10-24 15:16:34

li3p 发表于 2013-10-24 15:00 static/image/common/back.gif
请问一下,IMU和NRF是购买的成品模块吗?还是自行制作的?

IMU是自己做的
NRF是買現成的

mhw 发表于 2013-10-24 15:25:25

顶一下解放区的同志……

junjiedz 发表于 2013-10-24 15:44:56

楼主的地面站软件是啥?没看到哦{:smile:}

zhaozhi0810 发表于 2013-10-24 16:34:40

mark mark

li3p 发表于 2013-10-24 17:03:30

john800422 发表于 2013-10-24 15:16 static/image/common/back.gif
IMU是自己做的
NRF是買現成的

IMU 很小巧啊,有它的PCBDoc吗?

john800422 发表于 2013-10-24 17:14:24

li3p 发表于 2013-10-24 17:03 static/image/common/back.gif
IMU 很小巧啊,有它的PCBDoc吗?

不就在2樓?

john800422 发表于 2013-10-24 17:15:08

junjiedz 发表于 2013-10-24 15:44 static/image/common/back.gif
楼主的地面站软件是啥?没看到哦

直接用遙控器操作的
沒有另外寫 PC 的軟件

li3p 发表于 2013-10-24 17:33:29

john800422 发表于 2013-10-24 17:14 static/image/common/back.gif
不就在2樓?

{:sweat:} 从一楼直接跳到github去了。

lantaobs 发表于 2013-10-24 19:55:21

非常好,我也想弄个

啥都不懂小白痴 发表于 2013-11-2 20:06:29

新帖留名mark。。。。表示这个在准备购买飞控板中

nnnkey 发表于 2013-11-4 12:16:10

john800422 发表于 2013-11-2 14:32
更新 I2C 的代碼

預設是I2C1


楼主,这个板子的boot接法是两个电阻都焊吗?正在学习stm32,看到这个接法不是很明白

li3p 发表于 2013-11-4 12:19:56

nnnkey 发表于 2013-11-4 12:16 static/image/common/back.gif
楼主,这个板子的boot接法是两个电阻都焊吗?正在学习stm32,看到这个接法不是很明白 ...

焊接地的那个就可以了

nnnkey 发表于 2013-11-4 22:26:53

li3p 发表于 2013-11-4 12:19 static/image/common/back.gif
焊接地的那个就可以了

谢谢,明白怎么回事了。

nnnkey 发表于 2013-11-9 12:37:34

john800422 发表于 2013-11-2 14:32 static/image/common/back.gif
更新 I2C 的代碼

預設是I2C1


又来麻烦楼主了,请教一个现在遇到的问题:我在调试9150时6050部分工作正常,AK8975部分始终没有反应,用主控和旁通模式都试过,读不出8975的ID来,我的9150AD0接在VCC上了,看DATASHEET上有一个描述8975工作在bypass模式时各引脚配置情况,上面AD0要求接GND,这就比较纳闷了,难道AD0接VCC就不能用AK8975了吗?9150主控模式的驱动可以正常工作,5611就是挂在slave i2c上的,能读出5611寄存器的值而且是对的。

john800422 发表于 2013-11-9 12:46:26

nnnkey 发表于 2013-11-9 12:37 static/image/common/back.gif
又来麻烦楼主了,请教一个现在遇到的问题:我在调试9150时6050部分工作正常,AK8975部分始终没有反应,用 ...

試試附件看裡面的 MPU9150 的讀取
或是 53 樓的 code
可以正常讀出資料 & ID
但還沒做近一步的確定和校正

john800422 发表于 2013-11-9 12:48:58

nnnkey 发表于 2013-11-9 12:37 static/image/common/back.gif
又来麻烦楼主了,请教一个现在遇到的问题:我在调试9150时6050部分工作正常,AK8975部分始终没有反应,用 ...

至於AD0 接 VCC 是否可行我就不知道了
我 AD0 都是接 GND 的

https://lh5.googleusercontent.com/-RJA1JljuKEo/UmWbONErBOI/AAAAAAAAEh0/BDLJh1AI2H4/s800/IMU_10DOF_Sch.png

gy810986741 发表于 2013-11-9 20:09:27

这个厉害!!必须顶一个

gy810986741 发表于 2013-11-9 20:10:27

想问一下楼主的3D封装怎么弄的?

john800422 发表于 2013-11-10 13:43:40

gy810986741 发表于 2013-11-9 20:10 static/image/common/back.gif
想问一下楼主的3D封装怎么弄的?

下載 3D model, 自行加進去的

gy810986741 发表于 2013-11-10 14:11:44

john800422 发表于 2013-11-10 13:43 static/image/common/back.gif
下載 3D model, 自行加進去的

能再弱弱的问一句在哪下的吗{:lol:}

john800422 发表于 2013-11-10 16:01:01

gy810986741 发表于 2013-11-10 14:11 static/image/common/back.gif
能再弱弱的问一句在哪下的吗

Soildwork 的 3D model 網站

gy810986741 发表于 2013-11-10 16:06:48

john800422 发表于 2013-11-10 16:01 static/image/common/back.gif
Soildwork 的 3D model 網站

多谢LZ{:lol:}

lukefan2008 发表于 2013-11-15 20:54:10

台湾兄,你用F4拿下了MPU9150的硬件IIC了吗?不知方不方便给我们发一份啊,感激不尽

john800422 发表于 2013-11-15 22:55:04

lukefan2008 发表于 2013-11-15 20:54 static/image/common/back.gif
台湾兄,你用F4拿下了MPU9150的硬件IIC了吗?不知方不方便给我们发一份啊,感激不尽 ...

53 樓有 code
請自行下載

lukefan2008 发表于 2013-11-16 18:53:34

john800422 发表于 2013-11-15 22:55 static/image/common/back.gif
53 樓有 code
請自行下載

谢谢兄弟,这个我有看到,也下载了,但是我看你的程序里面,把AK8975部分注释了,这是什么原因呢?这部分是不能用还是?

四轴飞行器 发表于 2013-11-16 18:55:55

好厉害的说    哈哈

john800422 发表于 2013-11-16 19:12:29

lukefan2008 发表于 2013-11-16 18:53 static/image/common/back.gif
谢谢兄弟,这个我有看到,也下载了,但是我看你的程序里面,把AK8975部分注释了,这是什么原因呢?这部分 ...

53 樓的 Code 哪裡把 AK8975 註解了???????

lukefan2008 发表于 2013-11-16 20:20:16

In the file named "module_mpu9150.c" where the function is "void MPU9150_Read(u8* ReadBuf)". 3ks very much

john800422 发表于 2013-11-16 21:09:26

lukefan2008 发表于 2013-11-16 20:20 static/image/common/back.gif
In the file named "module_mpu9150.c" where the function is "void MPU9150_Read(u8* ReadBuf)". 3ks ver ...

***第一步
請先到第二頁的53樓
下載" STM32F4_QFC_TestIMU_20131022 "


***第二步

等他下載完後會看到一個壓縮檔


打開壓縮檔會看到以下內容


***第三步
解壓縮
會出現一個資料夾


點兩下資料夾會出現以下畫面


***第四步
點兩下ProjectFC資料夾

並開啟project


***第五步
點兩下 module_mpu9150.c



我並沒有看到把它被註解起來

lukefan2008 发表于 2013-11-16 21:30:08

3Q very much, I just decompressed your FC Project and did not do as your instructions and download the file on the 53th floor. 3ks. How is your quadrotor going? By the way, would pls provide any other ways of contact such as Tecent , 3Q!

john800422 发表于 2013-11-16 22:18:14

lukefan2008 发表于 2013-11-16 21:30 static/image/common/back.gif
3Q very much, I just decompressed your FC Project and did not do as your instructions and download t ...

四軸已經可以平衡了,
但無法達到定點懸停,
目前在設計四軸的遙控器

有問題的話,
可以直接在論壇上提出來或是寄 email
github 裡可以找的到

lukefan2008 发表于 2013-11-17 21:04:33

john800422 发表于 2013-11-16 22:18
四軸已經可以平衡了,
但無法達到定點懸停,
目前在設計四軸的遙控器


嗯,好的,昨天系统中文有问题,看了老兄的代码,也谢谢分享,另外楼主你的硬件IIC函数里的行参NumByte是什么意思啊?

lukefan2008 发表于 2013-11-17 21:32:11

john800422 发表于 2013-11-16 22:18
四軸已經可以平衡了,
但無法達到定點懸停,
目前在設計四軸的遙控器


嗯,好的,昨天系统中文有问题,看了老兄的代码,也谢谢分享,另外楼主你的硬件IIC函数里的行参NumByte是什么意思啊?

john800422 发表于 2013-11-18 01:04:46

lukefan2008 发表于 2013-11-17 21:32 static/image/common/back.gif
嗯,好的,昨天系统中文有问题,看了老兄的代码,也谢谢分享,另外楼主你的硬件IIC函数里的行参NumByte是 ...

IIC 主要是參考官方的 EXAMPLE
NumByte 是用來計算剩餘傳輸的資料

ipaner 发表于 2013-11-21 20:22:05

太赞了,完全符合所有的需求,如果再添加上去备份寄存器电池仓或加上一块NAND Flash的话就更完美了

ipaner 发表于 2013-11-21 20:33:18

不会自己画板子,更加不熟悉焊接这些。但是在学习之中,向楼主的程度迈进

ipaner 发表于 2013-11-21 21:01:54

john800422 发表于 2013-11-21 20:58 static/image/common/back.gif
電池和 NAND FLASH 應該是放不上去,沒什麼空間了
若是想要 FLASH 的話,片上的 FLASH 應該就夠用了



非常感激LZ的无私分享,让我觉得拥有自己的四轴是如此的简单

wqearth 发表于 2013-11-24 19:38:08

mark下。。。。

liubins715 发表于 2013-11-26 10:20:48

标记一下,以后认真看,谢谢分享!
页: [1] 2
查看完整版本: 【Open Source & Hardware】STM32F4 飛控板 QCopterFC v2.0