小马哥stm32f103开源小四轴robofly全部资料大放送 -pg电子直营网

你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

小马哥stm32f103开源小四轴robofly全部资料大放送  

[复制链接]
发布时间:2018-9-12 11:28
robofly是小马哥团队在2018年8月推出的一款完全开源的小四轴。
下面是robofly四轴飞行器的整体框图、原理图、pcb、实物图源代码的截图,先一睹为快,后面详细介绍。

) a, j0 l9 {; i; c6 b
image001.png
图1:robofly四轴飞行器整体框图
; o6 x* }  p( r5 h3 b, h* ~& o

) s( f; h" l/ w9 h# x9 {2 d: z4 t |8 ^9 }: @
image003.png

1 w- b7 \: l2 z7 e: v
图2:robofly四轴飞行器原理图

" p; p" o/ l( w/ ]. ?. r; b
9 q }! c. y" {
image005.png % o  o5 c6 r- e  a
图3:robofly四轴飞行器pcb图
! s  `8 f4 o3 \& ^( l/ f
3 p) y" e8 q  r" _( i" a. @" m

  v k/ g: h; f* f% }. h: @
image007.png 9 e& b5 w: ^3 u* a* y. @3 i% s
图4:robofly四轴飞行器pcb 3d俯图
" k/ u6 w7 r: g
$ u- x( h$ ~2 t9 t/ w o9 h
! q3 m u. \& o w' v! z( o
image008.png
* s! b0 i) w3 }: i5 k. v& d
图5:robofly四轴飞行器pcb 3d侧视图

/ t0 z0 h7 |* l4 |/ w# n4 r; l& m& f8 x* g4 x
3 q3 w& e  g  f: l( l
image010.jpg
0 e% r) l! s, g& c% d
图6:robofly四轴飞行器实物图
$ [/ j$ u/ m% |. p
# c( f' a. r0 x
image012.png
! b j3 q$ q3 u. v
图7:robofly四轴飞行器源代码截图

4 s2 t) b) ~, m
, [5 a, v, g! o7 z: w) ]' r. f' l5 \

3 s5 {: t$ p* p6 s5 w q
制作并开源这套小四轴的初衷有如下几点;
1、 初学者需要一款价格低廉、软硬件资料完备、有pg电子直营网的技术支持的四轴学习平台;
2、 以散件形式发售,电路板布局、元器件封装选型要方便焊接组装;
3、 四轴所需元器件采购方便、靠谱,最好能提供一站式采购,避免过多邮费、采购周期长、采购到不合格元器件导致学习难以进展。
4、 源代码要极其精简、方便入门者能够方便的学习,实现自己的代码;
5、 保留一定扩展接口、方便用户自己进行扩展如定高、航迹、巡线等飞行功能。在学习完四轴飞行器之后,这个开源的四轴板子仍然可以作为一个stm32开发学习板使用;
5 ~5 s6 p0 `7 t; `
5 p3 z0 ~0 e ^! z& f
robofly四轴的基本配置如下:
主控芯片:stm32f103c8t6
姿态检测:mpu6050
气压计: fbm320
无线芯片:si24r1
供电方案:ht7750sa升压 xc6206稳压
灯光指示:1个电源指示led、1个用户编程led、4个单总线全彩rgb灯
电池:600mah 20c 1s锂离子电池
电机:720空心杯
桨叶:55mm桨叶
桨叶保护罩:相邻轴距65mm
机架:pcb一体化机架
续航时间:10分钟
遥控距离:空旷50m

* i n- u9 c- t7 c% b/ h5 r
- }0 h* c- l% _) r% b  {- a
robofly四轴原理图各模块简单说明:

/ h  n. f, ~  u% u* u
image014.png " t& z2 a a  e4 s5 ~$ v
stm32f103c8t6是st在2007年发布的一款mcu,截止目前st已经发布了速度高达400mhz的stm32h7 (这时候一定有人会说600mhz的事,我知道,不用提醒),我自己也是用stm32f1,stm32f4,stn32f7都做过各种各样的四轴,但是这个开源的四轴我还是选择了stm32f103c8t6,主要从三点考虑,一是封装比较大,方便初学者焊接,二是价格低廉,学习成本比较低,三是网上有大量的资料供初学者学习使用。
' r, l5 t# l4 @- n5 w& x/ f4 {
. x- w  d- o" |8 m; t

  ~6 j$ i2 a7 f# b
image016.png 1 ]% ?" }! b: l1 o* g. o5 z
姿态传感器选择mpu6050,主要考虑的也是封装比较大,可以直接使用烙铁焊接,而且价格比较低,资料也很丰富。而且还自带dmp库,可以完成姿态结算后直接把姿态角输出给主控芯片。2016年我们的第一款四轴就是采用dmp库输出姿态角的。
b9 e6 g' ~" `% i
' }, y/ |* \! t3 y% j6 b

( e  _* f" e% ?) c4 _
image018.png # \2 v; b, a- u5 e  l0 a
气压计使用的是fbm320,对于这款气压计,个人认为性能一般。但是优点就是这个封装和bmp280、spl06的引脚都是兼容的,方便更换。但是小四轴上放气压计,有一个比较麻烦的地方就是要想办法排除桨叶的风对它的干扰。可以使用海绵等其他东西进行隔离。
1 [' i' h$ v, s' l8 c

, g2 o! h, i. j% [# ?1 t( \/ j- j! w3 b& r7 s
image020.png
) b( l. p/ g. e5 ?& p
无线芯片用的是si24r1,国产的,之所以用这个而不用nrf2401,是因为这个经过我测试,性能也是可以的,引脚完全兼容nrf2401,无线发射可以做到7db,在发射和接收端都采用陶瓷天线的前提下,可以达到50m的通讯距离。如果加上ap,那达到100米应该没有问题。通过两个低成本的0欧姆电阻对电源进行了单点接地,防止电机回路的电流波动串进射频回路对射频造成干扰。
0 j- `0 _6 r/ w  j k! b
0 p! ?) r& y5 y

6 x: z# g( q. z1 `
image022.png image024.png 6 x! l. a$ j9 b- f

' [" l" q' ?, y& ]$ ]: j
对于供电方案中的先升压再降压的方案,这是我做第一款四轴飞行器的时候发现的,这种1s的锂离子电池,在四个空心杯进行供电的时候,如果四个空心杯电机不带桨叶,也就是说没有负载,那启动是没有问题的。但是如果四个空心杯都带上负载,瞬间提速到满速,就会瞬间把电池输出电压拉低到3v以下,经过我测试甚至低到了2.8v,这时候如果不升压,直接用电池给ldo供电,那ldo就会失效。所以通过升压再降压后给单片机系统供电是一个可行的方案。另一个方案就是在电机启动的时候采用缓慢启动的方式,这样电池的电压就不会瞬间被拉低,但是这样的一个不足之处就是无法让这个小四轴非常暴力,飞起来不够爽快。
1 i( {% k$ r# {9 v( z' g# x( p d
' v# n1 z8 `7 e8 r
, z0 x4 a. [/ ]/ ]8 ^
image027.png image025.png 2 [) i* d* ` u/ l: k

6 u2 e1 _, y- f. c8 m* r8 ^
四个机臂上采用的rgbled是串行单总线全彩灯,也就意味着只需要占用单片机的一个io端口,就可以控制这四个灯发出各种各样的颜色。这个灯类似与ws2811,也是通过零一码来实现数据通讯,进而控制灯的颜色的。对于初学者而言,时序往往难以理解,而这个灯可以作为学习时序最简单的一个例程,虽然简单,但是却非常有趣。
3 o/ g0 c4 t$ }8 \. h8 d
因为小四轴的尺寸、重量等限制,这版四轴飞行器的电池最好不要超过600mah,否则电池自身的重量就会成为最大的包袱。而太小的电池则不能提供较长时间的续航。总之我经过测试认为600 mah容量应该是一个拐点。电池最好带保护板、有一定的安全性能。否则胀饱、失效事小,严重点在炸机的时候可能会爆炸。
2 a8 b# y$ v) \) u: }. s

d. _* y: d7 }& t6 t& h2 d2 t' v) x2 w5 p/ o1 b$ i7 z7 j: e8 a3 b  i
image028.png 2 p n5 a' g0 f% v! s
对于这个四轴最关键的一个组建—空心杯,说出来都是泪啊,做四轴两年,有一年的时间都在寻找合格的空心杯电机。2017年有一款四轴飞行器因为采购的电机侧向震动太大,导致桨叶转动之后产生很大的侧向震动、严重干扰了加速度计,使角度偏差很大,基本不能垂直飞行。一开始把问题锁定在mos管上、陀螺仪上、原理图与pcb设计上都未能解决问题,后来对原始数据进行fft变换后发现了干扰的频率点,这才确定是电机的侧向震动引起的。还有一种情况就是同一批次的电机性能差异很大,导致pid调节的输出差异很大,最终会影响mos管的寿命、电机寿命。空心杯电机使用si2302这款mos管进行驱动,这是非常常见的一款mos管,便宜又好用。但是市面上这个管子假货也比较多。很多人在电机驱动电路上加不加电容、加不加二极管有很大的争议,我经过测试发现,加上电容之后效果很好,而加上二极管的效果则一般。也可能是测试方式不够严谨,回头可以一起讨论这个问题。

( w9 _5 d e) w0 j( o! [' n- g
: y/ {8 p# d  e" \% l
4 m5 ]; f' |1 l) l9 r; b8 h4 i) k
桨叶选型一定要注意选择平衡性好的桨叶、做工有瑕疵的可能会影响平衡性,在飞行的时候,如果不平衡就会导致侧向震动。

5 e6 a1 y( n. }/ ~
初学者在调试四轴的时候,摔下来、失控是很常见的,所以加上桨叶保护罩之后,可以很大程度上减小桨叶、电机报废的概率。

0 a9 \, h e' s4 n; f: p1 \: n; e, h6 q8 f" t; z
) m9 o o2 ?* j! a! d b( o0 \. k
image030.jpg
! d. `8 x* u8 t/ y
如果采用飞控板和机架隔离的方式,就能从一定程度上降低震动的影响,但是这样或许会增加重量及成本,所以我选择了pcb机架,这也是初学者最容易实现的一个方案,但不是唯一的方案。

@: }# |: o d. d9 k- ]5 v8 @/ \2 [
3 i: n7 j" ]3 e1 ^2 o: t
四轴源码采用keil mdk v5.20
stm32库使用的是标准库
' e* j2 _9 \2 h" e& t a$ f
四轴源代码工程创建方法可以参考我们最小系统板的课程,课程视频可以在公众号观看,下面分享的资料中也提供了工程创建的pdf文件。
2 y0 l g0 p/ r( `5 \
4 w4 t. ~. q  v9 |% `
image032.png 7 t( ~  m& h* x6 y6 ~4 ^0 p, ~0 c

! _$ @- i( {, x$ c
链接中包括以下6个文件(回复帖子可下载):
1、robofly_releasev1.1.zip(pcb工程,使用ad09创建)
2、roboflydemo.zip(源代码工程,使用keil mdk v5.20创建)
3、robofly四轴飞行器元件3d模型.zip(3d模型,使用solidworks2013创建)
4、keil中stm32f1工程模板的搭建.pdf
5、robofly开源四轴交流群二维码.jpg
6、电子开发学习公众号二维码.jpg
8 a" \0 n1 i1 r. f
(12.75 mb, 下载次数: 3775)
5、robofly开源四轴交流群二维码.jpg
6、电子开发学习公众号二维码.jpg
发布时间:2018-9-12 11:28
298个回答
回答时间:2018-9-12 12:47:09
下载来看看
回答时间:2018-9-13 08:10:53
see see                                                
回答时间:2020-3-8 10:43:42
用anotc匿名地面站v5查看姿态,yaw角度会从-327度左右直接跳到327度左右,是什么原因?
% g1 k$ q: |. o; n$ k5 myaw角度范围不是从-180度到180度吗?
回答时间:2018-9-12 11:44:46
收藏起来学习一下
回答时间:2018-9-12 12:09:56
收藏学习。
回答时间:2018-9-12 12:12:38
了解学习
回答时间:2018-9-12 12:27:49
谢谢分享。
回答时间:2018-9-12 12:39:45
感謝分享
回答时间:2018-9-12 13:13:45
谢谢开源的分享
回答时间:2018-9-12 13:46:09
不错不错,支持开源的东西
回答时间:2018-9-12 14:17:40
好资料,谢谢,学习啦
回答时间:2018-9-12 16:00:59
谢谢分享
回答时间:2018-9-12 20:44:38
串行彩色灯,这个很有趣呀。
回答时间:2018-9-12 21:42:22
谢谢分享。
feixiang20 回答时间:2018-9-12 22:08:49
必须是经典啊
1
关于意法半导体
联系pg电子有官方网站吗试玩
隐私策略
关注pg电子直营网
微信公众号
手机版
网站地图