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

小马哥STM32F103开源小四轴RoboFly全部资料大放送  

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

9 ]7 u0 R( x7 f" d3 B
image001.png
图1:RoboFly四轴飞行器整体框图

" q, w7 s( R" m2 Z
! A" v: {$ p! g+ K* d; C# ^( z: K
$ a1 w' q  @2 d2 A: U) z
image003.png
/ z2 |9 A' Q6 _/ a
图2:RoboFly四轴飞行器原理图
' b. A8 O; p6 v' K9 o- K
4 I5 s% z$ K4 b  p) a0 d$ `& b+ e
image005.png
+ f* U7 r) \  p0 `
图3:RoboFly四轴飞行器PCB图
- g4 B/ l! f: Y) T
$ ]; H5 C! A. L2 T9 a& O  x
% b* X+ Z- w- J
image007.png " E7 z, J) q6 V6 n" ]" s! @
图4:RoboFly四轴飞行器PCB 3D俯图

% e6 i0 w7 R+ H9 y4 O4 `& Q; e# k* \: r. j

! Q/ `5 G; U; h: X
image008.png
9 L( X6 C" O: s& A: X8 {* {5 E
图5:RoboFly四轴飞行器PCB 3D侧视图

* R, U4 `2 l# V
1 t9 u6 Y6 H7 @. |. i* U( E
' @; K& e8 m9 ^) N8 B0 j
image010.jpg $ @1 A! s& \# z3 ?+ x4 C
图6:RoboFly四轴飞行器实物图
* d& L# o* z4 n
- O- m: R- b/ }
image012.png
0 R' g. t# S/ f+ ?' J# f
图7:RoboFly四轴飞行器源代码截图
; D/ B2 s" {; u! q2 p
3 G$ c" C3 s# g- R- T! n
5 f/ {6 \1 a5 ^6 P

9 h9 c1 h9 I3 z
制作并开源这套小四轴的初衷有如下几点;
1、 初学者需要一款价格低廉、软硬件资料完备、有技术支持的四轴学习平台;
2、 以散件形式发售,电路板布局、元器件封装选型要方便焊接组装;
3、 四轴所需元器件采购方便、靠谱,最好能提供一站式采购,避免过多邮费、采购周期长、采购到不合格元器件导致学习难以进展。
4、 源代码要极其精简、方便入门者能够方便的学习,实现自己的代码;
5、 保留一定扩展接口、方便用户自己进行扩展如定高、航迹、巡线等飞行功能。在学习完四轴飞行器之后,这个开源的四轴板子仍然可以作为一个STM32开发学习板使用;
5 S  C2 `' R5 t0 H" w/ \- I

$ R# D$ S+ I" k
RoboFly四轴的基本配置如下:
主控芯片:STM32F103C8T6
姿态检测:MPU6050
气压计: FBM320
无线芯片:SI24R1
供电方案:HT7750SA升压+XC6206稳压
灯光指示:1个电源指示LED、1个用户编程LED、4个单总线全彩RGB灯
电池:600mAh 20C 1S锂离子电池
电机:720空心杯
桨叶:55mm桨叶
桨叶保护罩:相邻轴距65mm
机架:PCB一体化机架
续航时间:10分钟
遥控距离:空旷50m

7 t& |$ D1 J: v& [
* _) u% n0 b5 N( x
RoboFly四轴原理图各模块简单说明:

# x4 j. U4 D  b% h  w  ?! b
image014.png
: U* w8 \6 }2 O9 L1 h& {2 U
STM32F103C8T6是ST在2007年发布的一款MCU,截止目前ST已经发布了速度高达400MHz的STM32H7 (这时候一定有人会说600MHz的事,我知道,不用提醒),我自己也是用STM32F1,STM32F4,STN32F7都做过各种各样的四轴,但是这个开源的四轴我还是选择了STM32F103C8T6,主要从三点考虑,一是封装比较大,方便初学者焊接,二是价格低廉,学习成本比较低,三是网上有大量的资料供初学者学习使用。
: m& O2 y4 S5 T3 L" ?# t, H6 K
% d, z* v0 D& f+ m

  r: e+ h' S6 t- Z( f# Z+ I
image016.png
) R& L8 R& J* k8 S. v3 G$ e3 P
姿态传感器选择MPU6050,主要考虑的也是封装比较大,可以直接使用烙铁焊接,而且价格比较低,资料也很丰富。而且还自带DMP库,可以完成姿态结算后直接把姿态角输出给主控芯片。2016年我们的第一款四轴就是采用DMP库输出姿态角的。

' L# `2 q+ P4 P  S# P6 S( h5 @7 z( X/ M5 n

9 S1 ~' ]# S- Z  L
image018.png
& w* V3 _: ?% q' ?3 I9 [* f
气压计使用的是FBM320,对于这款气压计,个人认为性能一般。但是优点就是这个封装和BMP280、SPL06的引脚都是兼容的,方便更换。但是小四轴上放气压计,有一个比较麻烦的地方就是要想办法排除桨叶的风对它的干扰。可以使用海绵等其他东西进行隔离。

0 N0 @: o$ l7 `; {- |2 i9 s. L( x; f+ ~/ {. z0 o& L& T

, K. M# V+ N! g6 m% x9 B6 i
image020.png
' M2 A3 l# |% N, i7 f9 G6 X
无线芯片用的是SI24R1,国产的,之所以用这个而不用NRF2401,是因为这个经过我测试,性能也是可以的,引脚完全兼容NRF2401,无线发射可以做到7dB,在发射和接收端都采用陶瓷天线的前提下,可以达到50m的通讯距离。如果加上AP,那达到100米应该没有问题。通过两个低成本的0欧姆电阻对电源进行了单点接地,防止电机回路的电流波动串进射频回路对射频造成干扰。
! u$ {# M' \7 H
9 R3 a5 Y6 V/ Y% l2 @4 x4 r* `
" O4 J8 w. h8 p
image022.png image024.png
8 k3 d3 L. j, F" e- I

* Q" I) |* w) z9 ]: a0 l0 j
对于供电方案中的先升压再降压的方案,这是我做第一款四轴飞行器的时候发现的,这种1S的锂离子电池,在四个空心杯进行供电的时候,如果四个空心杯电机不带桨叶,也就是说没有负载,那启动是没有问题的。但是如果四个空心杯都带上负载,瞬间提速到满速,就会瞬间把电池输出电压拉低到3V以下,经过我测试甚至低到了2.8V,这时候如果不升压,直接用电池给LDO供电,那LDO就会失效。所以通过升压再降压后给单片机系统供电是一个可行的方案。另一个方案就是在电机启动的时候采用缓慢启动的方式,这样电池的电压就不会瞬间被拉低,但是这样的一个不足之处就是无法让这个小四轴非常暴力,飞起来不够爽快。
0 y6 b( l7 ?$ s: X* A

9 [) n" @0 o0 M8 E  n" r
4 M& i/ d, C3 x# h6 @- K2 |$ d" D$ Z
image027.png image025.png + r* c5 N1 Z1 L) ]0 Z
; _( b  K$ t0 a, \: O
四个机臂上采用的RGBLED是串行单总线全彩灯,也就意味着只需要占用单片机的一个IO端口,就可以控制这四个灯发出各种各样的颜色。这个灯类似与WS2811,也是通过零一码来实现数据通讯,进而控制灯的颜色的。对于初学者而言,时序往往难以理解,而这个灯可以作为学习时序最简单的一个例程,虽然简单,但是却非常有趣。
' O& f9 ]. W6 x' Z7 l
因为小四轴的尺寸、重量等限制,这版四轴飞行器的电池最好不要超过600mAh,否则电池自身的重量就会成为最大的包袱。而太小的电池则不能提供较长时间的续航。总之我经过测试认为600 mAh容量应该是一个拐点。电池最好带保护板、有一定的安全性能。否则胀饱、失效事小,严重点在炸机的时候可能会爆炸。
7 W: J: n* p6 B& M$ Y! ]2 L

7 F- E- I+ V0 J- a
0 E0 C8 v# ~- i  O3 M' O8 i. a. L
image028.png
  V/ x3 x7 z: e/ R1 j' s
对于这个四轴最关键的一个组建—空心杯,说出来都是泪啊,做四轴两年,有一年的时间都在寻找合格的空心杯电机。2017年有一款四轴飞行器因为采购的电机侧向震动太大,导致桨叶转动之后产生很大的侧向震动、严重干扰了加速度计,使角度偏差很大,基本不能垂直飞行。一开始把问题锁定在MOS管上、陀螺仪上、原理图与PCB设计上都未能解决问题,后来对原始数据进行FFT变换后发现了干扰的频率点,这才确定是电机的侧向震动引起的。还有一种情况就是同一批次的电机性能差异很大,导致PID调节的输出差异很大,最终会影响MOS管的寿命、电机寿命。空心杯电机使用SI2302这款MOS管进行驱动,这是非常常见的一款MOS管,便宜又好用。但是市面上这个管子假货也比较多。很多人在电机驱动电路上加不加电容、加不加二极管有很大的争议,我经过测试发现,加上电容之后效果很好,而加上二极管的效果则一般。也可能是测试方式不够严谨,回头可以一起讨论这个问题。
* H3 ^* i, W2 y- m  s( l- M

* a9 k! ?; Y5 O9 h4 j$ t: _- a; m! L# s3 M( e
桨叶选型一定要注意选择平衡性好的桨叶、做工有瑕疵的可能会影响平衡性,在飞行的时候,如果不平衡就会导致侧向震动。

* O/ t. v) \6 R+ `
初学者在调试四轴的时候,摔下来、失控是很常见的,所以加上桨叶保护罩之后,可以很大程度上减小桨叶、电机报废的概率。

8 c5 r, e2 L; Z& Q) u
. [/ f- h( V6 i5 |* w; V2 o) U
. s% ~  t8 k- k' B
image030.jpg * A, j% W" W$ K6 {) g% a$ Z6 o
如果采用飞控板和机架隔离的方式,就能从一定程度上降低震动的影响,但是这样或许会增加重量及成本,所以我选择了PCB机架,这也是初学者最容易实现的一个方案,但不是唯一的方案。

* X* @) g! ?# `$ o* B; C* B" P
四轴源码采用Keil MDK V5.20
STM32库使用的是标准库

+ j- ?$ v+ \  n3 o$ ~; N
四轴源代码工程创建方法可以参考我们最小系统板的课程,课程视频可以在公众号观看,下面分享的资料中也提供了工程创建的PDF文件。

0 f+ O! D, j% R4 j2 `3 p) M0 J9 e) D
image032.png 6 \* A& w- @# {( e9 [

) C* {, n3 u9 d+ L5 v) K
链接中包括以下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 t5 G( A2 c( `) }2 o$ Z
1、RoboFly_release V1.1.zip (12.75 MB, 下载次数: 4077)
5、RoboFly开源四轴交流群二维码.jpg
6、电子开发学习公众号二维码.jpg

点评

感谢分享  发表于 2024-12-10 10:59
9 收藏 40 评论307 发布时间:2018-9-12 11:28

举报

307个回答
kuanglf 回答时间:2020-3-8 10:43:42
用ANOTC匿名地面站V5查看姿态,YAW角度会从-327度左右直接跳到327度左右,是什么原因?/ }/ r* o: G& R" }$ X
YAW角度范围不是从-180度到180度吗?
西点钟灵毓秀 回答时间:2018-9-12 12:47:09
下载来看看
陈... 回答时间:2024-12-22 20:23:03

下载来看看

电子星辰 回答时间:2018-9-12 11:44:46
收藏起来学习一下
lisingch 回答时间:2018-9-12 12:09:56
收藏学习。
七哥 回答时间:2018-9-12 12:12:38
了解学习
wlpuah 回答时间:2018-9-12 12:27:49
谢谢分享。
joelai 回答时间:2018-9-12 12:39:45
感謝分享
tyhjrwx2011 回答时间:2018-9-12 13:13:45
谢谢开源的分享
shenxiaolin_mai 回答时间:2018-9-12 13:46:09
不错不错,支持开源的东西
Hackerpro 回答时间:2018-9-12 14:17:40
好资料,谢谢,学习啦
吃煎饼的松鼠 回答时间:2018-9-12 16:00:59
谢谢分享
toddchen 回答时间:2018-9-12 20:44:38
串行彩色灯,这个很有趣呀。
kunchen 回答时间:2018-9-12 21:42:22
谢谢分享。
feixiang20 回答时间:2018-9-12 22:08:49
必须是经典啊
han@han 回答时间:2018-9-13 08:10:53
see see                                                

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版