自己DIY做无人机是快速掌握各项技能的最佳方式
今天看到小马哥发的文章,勾起了自己的回忆,其实每个对电子设计痴迷的学生、工程师都有一个美丽的开始,我们这些上了岁数的老工程师,多数都是从拆晶体管收音机开始的,不过由于我当年家境不好,并且周围也没有影响我入门的“老爸”或者“大爷”,所以第一次面对我准岳母扔给我一个不响的录放机让我修的时候,我是彻底懵逼的。第一次自己购买元器件、动手画图调试的电子产品是源于一篇“无线电”杂志上的一位发烧友写的如何制作“立体声功放”的文章,有电路图、PCB板图、还有如何自己动手做双声道喇叭的过程,于是在实验室的XT机器上安装了当时还是DOS版本的PCB设计软件Tango(后来进化到了Protel,也就是今天AD的前身)。没有任何教材,在实验室同学的指导下,自己琢磨,从建库开始一直到PCB设计完成,最后找制板厂打板、到西四的“音响器材一条街”买了几颗最经典的核心音频功放器件TDA2030、俩50W的喇叭,借木工的锯子等工具按照杂志上的尺寸做了俩音箱。。。很丑,音质也不怎么样,但毕竟第一次能让它工作还是异常兴奋的。。。
个人体会,DIY一个好玩的作品是最快速掌握多项技能的最佳方式,就现在来讲小四轴无人机其实是个非常完美的入手作品,如果你能够自己动手做一个真的能飞起来的小无人机,相信会一下子让你的技能提升好几个Level,别看它看起来很不起眼,但包含的技术内容却非常全面:
PCB设计
MCU编程
算法
传感器
无线通信
电源管理
更重要的是你可以往前继续延伸的空间很大,比如沿着大疆的方向努力。
因此当看到小马哥的这篇文章的时候,我情不自禁要分享给大家,希望对电子设计非常热爱的朋友不妨参考小马哥的作品也自己动手做一个,你获得的惊喜和成就感一定是从你现在的学习和工作中体会不到的。
顺便提一下 -- 虽然小马哥在无人机方面的探索已经很厉害,但按照我对规范化设计的要求,小马哥的电路设计风格是需要再提高的,所以你们在参照小马哥的设计的同时还要学习我的PCB设计课程。另外他的电源设计方案是很糟糕的,可以直接通过开关稳压的方式从电池上得到3.3V的直流电压,他的方案中效率白白浪费了30%以上,小飞机每次充电后少飞30%以上的时间。
以下是他的文章:
RoboFly是小马哥团队在2018年8月推出的一款完全开源的小四轴。本文提供该小四轴的全套资料。
下面是RoboFly四轴飞行器的整体框图、原理图、pcb、实物图源代码的截图,先一睹为快,后面详细介绍
▲图1:RoboFly四轴飞行器整体框图
▲图2:RoboFly四轴飞行器原理图
▲图3:RoboFly四轴飞行器PCB图
▲图4:RoboFly四轴飞行器PCB 3D俯视图
▲图5:RoboFly四轴飞行器PCB 3D正视图
▲图6:RoboFly四轴飞行器实物图
▲图7:RoboFly四轴飞行器源代码截图
制作并开源这套小四轴的初衷有如下几点:
初学者需要一款价格低廉、软硬件资料完备、有技术支持的四轴学习平台;
以散件形式发售,电路板布局、元器件封装选型要方便焊接组装;
四轴所需元器件采购方便、靠谱,最好能提供一站式采购,避免过多邮费、采购周期长、采购到不合格元器件导致学习难以进展。
源代码要极其精简、方便入门者能够方便的学习,实现自己的代码;
保留一定扩展接口、方便用户自己进行扩展如定高、航迹、巡线等飞行功能。在学习完四轴飞行器之后,这个开源的四轴板子仍然可以作为一个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机架,这也是初学者最容易实现的一个方案,但不是唯一的方案。为了方便初学者焊接调试,打板的时候没有采用黑色油墨,而是采用了绿色哑光油墨并做了沉金工艺,方便焊接、调试。
四轴源码采用Keil MDK V5.20;
STM32库使用的是标准库;
四轴源代码工程创建方法可以参考我们最小系统板的课程,课程视频可以在公众号观看STM32最小系统板教程第二章第2讲|工程模板的搭建,同时下面的百度云链接中也提供了工程创建的PDF文件。
链接(需手动复制到浏览器进行下载,为方便复制,前后空行。密码第三位为L的小写,不是i或者1):
https://pan.baidu.com/s/1lfUtSoQNWWocv4pBKpecmg密码:bels
链接中包括以下五个文件:
RoboFly_release V1.1.zip(PCB工程,使用AD09创建)
RoboFlyDEMO.zip(源代码工程,使用Keil MDK V5.20创建)
RoboFly四轴飞行器元件3D模型.zip(3D模型,使用Solidworks 2013创建)
Keil中STM32F1工程模板的搭建.pdf
RoboFly开源四轴交流群二维码.jpg
电子开发学习公众号二维码.jpg
以上是RoboFly四轴的说明。我们分享开源四轴资料既不诱导分享也不设置条件,大家直接复制链接到浏览器下载即可。如果大家有不同的想法,欢迎在公众号下面留言交流,在留言的时候如果能顺手点击一下文末的广告,就是对我们最大的肯定。
关于如何制作漂亮的PCB板元器件3D视图,简而言之就是一句话——“在Solidworks等类似的3D建模软件中创建好模型之后,保存为step格式,然后打开AD的元器件库,然后放置器件体,在弹出的对话框中设置好参数之后关闭对话框,按数字键3切换到3D视图下就可以看到创建好的3D效果图了。”如果这句话不够清楚,可以查看如何制作炫酷的PCB板3D效果图。
小马哥的这篇文章来自他的公众号“电子开发学习”,如果你对小马哥的作品有兴趣想了解更多,或者持续关注他的文章,你可以扫描下面的二维码,或者搜索公众号:electricstudy进行关注。
此外,也欢迎更多的工程师朋友通过我们的渠道将有价值的产品和技术分享出来,随时跟我联系。
页:
[1]