RoboFly是小马哥团队在2018年8月推出的一款完全开源的小四轴。

这款四轴面向的人群是电子相关专业(包括自动化、电气自动化、电子信息工程、计算机、测控等专业)的大学生,通过一个完整的四轴项目来学习贴片元器件的焊接、PCB设计软件AD的使用、电路基本知识、旋翼型无人机的基本原理、STM32单片机编程与基本使用、飞控算法的实现等。

据了解,目前大多数高校的电子专业的课程实训依然是焊接收音机等,单片机课程教的也是单片机,这已经不能满足学生的学习了,学生毕业之后进入企业,大多接触的是贴片元器件(功率器件除外),做产品的时候,硬件工程师必须要具备一定的调试能力,这就对焊接贴片元件的能力提出了要求,所以我们设计了这款四轴飞行器,使用0603、0805这样贴片元件,是练习焊接的好帮手,而且好处在于,焊接练习完了,还可以继续学习STM32,四轴原理,直到把这个四轴飞行器飞起来,在这个过程中,我们也有交流群和学习资料,供大家学习使用。

下面是RoboFly四轴飞行器的整体框图、原理图、pcb、实物图源代码的截图,先一睹为快,后面详细介绍。

图1:RoboFly四轴飞行器整体框图

图2:RoboFly四轴飞行器原理图

图3:RoboFly四轴飞行器PCB图

图4:RoboFly四轴飞行器PCB 3D俯图

图5:RoboFly四轴飞行器PCB 3D侧视图

图6:RoboFly四轴飞行器实物图

图7:RoboFly四轴飞行器源代码截图

制作并开源这套小四轴的初衷有如下几点;

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

RoboFly四轴的基本配置如下:

主控芯片:STM32F103C8T6

姿态检测:MPU6050

气压计:  FBM320

无线芯片:SI24R1

供电方案:HT7750SA升压+XC6206稳压

灯光指示:1个电源指示LED、1个用户编程LED、4个单总线全彩RGB灯

电池:600mAh 20C 1S锂离子电池

电机:720空心杯

桨叶:55mm桨叶

桨叶保护罩:相邻轴距65mm

机架:PCB一体化机架

续航时间:10分钟

遥控距离:空旷50m

RoboFly四轴原理图各模块简单说明:

STM32F103C8T6是ST在2007年发布的一款MCU,截止目前ST已经发布了速度高达400MHz的STM32H7 (这时候一定有人会说600MHz的事,我知道,不用提醒),我自己也是用STM32F1,STM32F4,STN32F7都做过各种各样的四轴,但是这个开源的四轴我还是选择了STM32F103C8T6,主要从三点考虑,一是封装比较大,方便初学者焊接,二是价格低廉,学习成本比较低,三是网上有大量的资料供初学者学习使用。

姿态传感器选择MPU6050,主要考虑的也是封装比较大,可以直接使用烙铁焊接,而且价格比较低,资料也很丰富。而且还自带DMP库,可以完成姿态结算后直接把姿态角输出给主控芯片。2016年我们的第一款四轴就是采用DMP库输出姿态角的。

气压计使用的是FBM320,对于这款气压计,个人认为性能一般。但是优点就是这个封装和BMP280、SPL06的引脚都是兼容的,方便更换。但是小四轴上放气压计,有一个比较麻烦的地方就是要想办法排除桨叶的风对它的干扰。可以使用海绵等其他东西进行隔离。

无线芯片用的是SI24R1,国产的,之所以用这个而不用NRF2401,是因为这个经过我测试,性能也是可以的,引脚完全兼容NRF2401,无线发射可以做到7dB,在发射和接收端都采用陶瓷天线的前提下,可以达到50m的通讯距离。如果加上AP,那达到100米应该没有问题。通过两个低成本的0欧姆电阻对电源进行了单点接地,防止电机回路的电流波动串进射频回路对射频造成干扰。

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

四个机臂上采用的RGBLED是串行单总线全彩灯,也就意味着只需要占用单片机的一个IO端口,就可以控制这四个灯发出各种各样的颜色。这个灯类似与WS2811,也是通过零一码来实现数据通讯,进而控制灯的颜色的。对于初学者而言,时序往往难以理解,而这个灯可以作为学习时序最简单的一个例程,虽然简单,但是却非常有趣。

因为小四轴的尺寸、重量等限制,这版四轴飞行器的电池最好不要超过600mAh,否则电池自身的重量就会成为最大的包袱。而太小的电池则不能提供较长时间的续航。总之我经过测试认为600 mAh容量应该是一个拐点。电池最好带保护板、有一定的安全性能。否则胀饱、失效事小,严重点在炸机的时候可能会爆炸。

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

桨叶选型一定要注意选择平衡性好的桨叶、做工有瑕疵的可能会影响平衡性,在飞行的时候,如果不平衡就会导致侧向震动。

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

如果采用飞控板和机架隔离的方式,就能从一定程度上降低震动的影响,但是这样或许会增加重量及成本,所以我选择了PCB机架,这也是初学者最容易实现的一个方案,但不是唯一的方案。


[m1]小马哥RoboFly开源STM32F103四轴全套资料

小马哥RoboFly开源STM32F103四轴简介相关推荐

  1. 基于STM32的开源微型四轴飞行器

    [匿名开源微型四轴] 电机直径        7mm 高20mm 轴径1mm 传感器           MPU6050 3轴加速度 3轴陀螺仪 主控MCU      STM32F103 72M 调试 ...

  2. Java开源项目EZMorph简介

    http://hi.baidu.com/glfbin/blog/item/1302747e8722852e0cd7daaf.html Java开源项目EZMorph简介 2011-04-30 9:40 ...

  3. NodeJS开源系统Mili简介

    NodeJS开源系统Mili简介 mili是一个开源的社区系统,界面优雅,功能丰富. 已在米粒网 得到应用,你完全可以用它来搭建自己的社区.mili的前端使用vue.iview等技术来开发,后端使用t ...

  4. VEGA:诺亚AutoML高性能开源算法集简介

    摘要:VEGA是华为诺亚方舟实验室自研的全流程AutoML算法集合,提供架构搜索.超参优化.数据增强.模型压缩等全流程机器学习自动化基础能力. 本文分享自华为云社区<VEGA:诺亚AutoML高 ...

  5. 瑞芯微RK PX30中文详解(带开源资料)简介

    瑞芯微RK PX30中文详解(带开源资料)简介 非常感谢您选择九鼎创展PX30开发平台,本文档讲述PX30开发平台的硬件资源,电路原理以及支持的接口等. PX30开发板是基于瑞芯微PX30的一款高端开 ...

  6. 开源框架ePump简介

    开源框架ePump简介 开发通信系统的程序员对OS系统提供的Socket参数配置.系统调用等接口,普遍都有不胜其烦的感觉,作为通信服务器(TCP.UDP.HTTP等)还需要考虑支撑大并发.大吞吐能力所 ...

  7. LBM开源软件---openlb简介

    LBM开源软件-openlb简介 openlb提供了一个C++软件包,该软件包只是提供了一个非常通用的程序框架来供研究者与工程师进行流体力学模拟. 使用者可以通过对程序包进行修改,来开发自己的程序. ...

  8. LLMs:ColossalChat相关的开源训练数据集简介(SFT指令微调数据集+奖励模型排序数据集+RLHF数据集)、RLHF算法实现的三个阶段(监督指令微调→训练奖励模型→RLHF训练模型→​​​

    LLMs:ColossalChat相关的开源训练数据集简介(SFT指令微调数据集+奖励模型排序数据集+RLHF数据集).RLHF算法实现的三个阶段(监督指令微调→训练奖励模型→RLHF训练模型→推理量 ...

  9. 小马哥robofly四轴气压计定高的不完全解读

    我看过正点原子的定高算法,好像是直接用气压计测量得到的高度作为反馈进行,而小马哥的robofly是结合气压计获得的高度和运动情况下获得Z轴的位移2者结合来获取高度,但是2者结合的过程看得一知半解,下面 ...

最新文章

  1. 使用深度神经网络进行自动呼叫评分(一)
  2. aMSN 0.97问题解决一则
  3. kafka 在阿里云部署
  4. sort函数——利用函数实现快速排序c++
  5. Mybatis-typeAliases的作用
  6. 后台开发人员面试内容——Redis非关系数据库(三)
  7. boost::mpl::inherit_linearly相关用法的测试程序
  8. Java FileDescriptor sync()方法与示例
  9. 动态分区分配_关于硬盘的磁盘分区,干货分享!
  10. sql以什么开头怎么写_如果让你给自己的人生写一个开头,你会怎么写?
  11. mfc 固定编辑框输入上限和下限_S7200smart的模拟量输入输出
  12. javascript中隐藏显示的样式表属性
  13. 读取UYVY格式的YUV图片,并转为RGB格式
  14. [软件发布]2007考研倒计时软件(完整版+绿色版)
  15. 转换函数(Transfer Function)设计
  16. mysql数据库用sql进行增删改操作
  17. gtx1050ti安装win10和ubuntu16.04双系统
  18. Python 文件的读写模式
  19. 西门子simens电脑模拟 828D840D 仿真
  20. 云时代,有必要了解的华为云计算解决方案

热门文章

  1. 查询数据库中的中文数据
  2. leetcode-帕斯卡三角形
  3. 搜狗云输入法的安装和使用
  4. java的container_Java中的container是什么意思
  5. Windows安装Java 11
  6. linux centos7 安装beanstalk
  7. 猫猫分享 iOS 适配iPhoneXS Max,iPhoneXS,iPhoneXR
  8. Ubuntu ISO制作和安装
  9. 实现Linux中低配版王者荣耀点将系统
  10. Unity分辨率适配方案设置