DIY四旋翼(穿越机)软硬件设计

今天教教大家怎么真正意义上的DIY四旋翼飞行器,我将从机架入手DIY穿越机。
下面是我的步骤:
1、设计机架三维图纸;
2、导出机架的二维图纸并做修改;
3、设计飞控板;
4、试飞。
step 1. 我们先设计穿越机的三维图纸,我这里使用的是solidworks软件设计的,有很多学机械的学生画了这么多年的图纸却也没有运用过。计算机辅助设计,设计出来的图纸是可以用于实际的生产的。设计小零件,在装配图上看装配效果。莫问如何就能设计出这个形状,飞机看多了,胸中自有丘壑。工具软件在学校多学学,艺多不压身。这个世界上没有什么困难能阻挡勤劳的脑子和勤劳的双手。首先还是要确定使用材料的,使用的2mm厚的层板。
DIY四旋翼(穿越机)软硬件设计_第1张图片
当然,在画图前要先确定飞机的轴距,用多大的螺旋桨(桨长了会打到中间的电池和控制板的),鄙人设计的参数是对角轴距是280mm,选用的是6040的桨。所以主要设计的还是底下的那块主要的板,其余的都是一些为了放置电池飞控板的构件和加强筋。下面这张图给出了我的设计思路,可供参考。打辅助线是为了更好的设计。
DIY四旋翼(穿越机)软硬件设计_第2张图片
然后设计出加强筋,打孔是最后设计的,在起不到加强的地方镂空减少机架的质量。最后使用软件设计出来的效果如下图:
DIY四旋翼(穿越机)软硬件设计_第3张图片
step 2. 接下来的工作比较简单,把三维图纸中每一个零件转化成二维的CDA图纸,由于我们使用的是2mm的层板,所以打孔时要主要对接的地方要用2mm的孔。下面是CAD图纸,如果想要CAD图纸的朋友可以给我留言,我看到便会给你发。
DIY四旋翼(穿越机)软硬件设计_第4张图片
材料的加工是通过激光切割机的。面积比较大,激光切割机切割时最好夺走几遍,确保切透。当然如果没有相应的设备可以去网络上找人加工。鄙人运气比较好,鄙人学校有多台工业级的激光切割机。只要是做科技创新相关的项目,自己去打通关系都是可以使用的。下面是切割出来的零件拼装好的图片:
DIY四旋翼(穿越机)软硬件设计_第5张图片
切割好的层板零件使用环氧树脂粘贴。
step 3.设计飞控板这个是一个技术活,不过没有关系也不是想象种的那么难。只要功夫深再加上脑子好使,技术道路上是没有困难的。学习是一个比较痛苦的过程,但是不自己学习做伸手党的话就会失去探索世界的真理的快乐,并且是永远的失去。飞控板的原理非常简单,无非就是使用MCU获得传感器的数据,解算出自身姿态然后控制电机就好了(博主是过来人,实事就是这么简单,对于懒人来说是很难的)。做一个勤劳的人,哪怕花上几个月半年总能学好的。下面制作飞控的硬件。使用的MCU是STM32F103芯片,传感器选用mpu6050。这里还需要学习一款软件,AD用于设计PCB电路图纸,只要用得到就去学习,这个才是作为工科生应该具有的素养。一个要往工程师方向发展的人如果不会以下的这些技能别说在不要在社会上混,就是大学也别呆了,丢不起那人(不过很多学校还是丢得起那人的)。1、熟悉使用工程上经常用到的一些软件,比如CAD和一些三维软件;2、至少熟悉掌握一门或者多门计算机语言;3、基本的物理知识过关,基本原理都能知道,至少知道怎么查书和手册力学定律(F=ma或者换成力矩的形式在控制中几乎无处不在);4、基本的高等数学知识,尤其是微积分原理(控制工程上经常用到)。5、有主动学习的意向和能力。一句话说明就是你不要太懒!言归正传,飞控实用STM32F103芯片,通过查找其数据手册和淘宝上各种最小系统板和开发板设计出最小系统板是一点问题都没有的。MPU6050的资源也是非常之多的,有个条件就是把英语学好。把需要用到的信号线引出来作为接口,遥控器接口和电机接口,下面这个是多年前设计的PCB:
DIY四旋翼(穿越机)软硬件设计_第6张图片
焊接好芯片的PCB板,当年博主出手还是比较阔绰的
DIY四旋翼(穿越机)软硬件设计_第7张图片
陀螺仪加速度计芯片MPU6050使用的通信方式是I2C,这个通信方式都是很简单的,稍微看看文档就能掌握其时序。仔细阅读数据数据手册就可以知道怎么设置其内部寄存器(电子工程师所具备的基本素养)。姿态决算比较复杂一点,要想实实在在的理解需要学习四元数,不过也不难,专心看看秦永元老师的《惯性导航》就好了,捡需要的用到的看,我这里有一句话比较靠谱,凡是用角速度来获得角度的都是在做积分处理,其余的都是在滤波和规范化角度,姿态解算最重要的一环还是使用加速度矫正角度。说到滤波,最有效的滤波基本都还是在取均值,取均值的方法不一样而已(这里就有很多比较靠谱的滤波方法了比如:卡尔曼滤波、均值滤波、互补滤波),处理均值滤波其余的两个滤波基本做的就是根据之前的状态估计当前的数据,然后加入当前采集到的数据加权获得比较好的估计值,简单列一下kalman滤波的一个公式吧,有此基础学习也比较容易理解,X’ = x(k-1)+kg*(x(k)-x(k-1)),kg是kalman增益,这是一个0到1的数字如果等于0代表相信数据是一成不变的永远是一个数,这是不可能的,等于1代表的是直接取当前数据估计也就没有效果,所以kalman滤波主要的就是确定这个增益kg,kg通过空间状态来获得,具体的可以去各种网站查找资料查找论文。飞控系统的编程是一个工程量比较大的软件工程,可以参考各大开源的飞控代码,在国内就有很多的开源飞控。这些组织都开源了代码,而且通俗易懂。使用天地飞7通道遥控器作为飞行器的遥控,天地飞7遥控和许多其他遥控提供的接收信号都是PWM脉冲,使用MCU捕获其脉宽来获得数据。天地飞信号的脉宽数据为周期是2020us的信号,高电平占空为1020到2020,对于油门信号1020时代表为油门为零,2020时满油门,对于其他通道常值为中间值1520us,使用TIM定时器设置时基单位为1us。用下面一幅图讲解一下串级PID
DIY四旋翼(穿越机)软硬件设计_第8张图片
好好理解一下图中内容理解飞行器控制的串级PID控制一点都不难。串级PID使用的是角度外环加角速度内环,内环的输出是直接用于生成控制电机的PWM信号,外环的输入直接用于内环的目标输入。一般而言外环只用到了比例控制,内环有比例(P),积分(I),微分(D)控制。很多人的理解是积分应该放在外环,这里不做太多的解释,积分放在内环可以对陀螺仪获得的角速度零点漂移在控制器中的矫正。外环的输出就是内环的输入也就是说外环的输出就是期望的角速度。如此理解便可以调好串级PID的参数。对于航向角来说,航向角的值就是通过积分获得的,难免有误差,在控制上我们就不用再做积分为角度拿来做外环。所以对内环的控制就直接使用角速度环控制。试想,我期望的角速度为零不就是控制期望航向角稳定吗。如果叫上罗盘获得绝对角度就可以增加航向角的角度外环,此时由于罗盘的矫正没有累计误差。下图是机架加上控制板组装好的整机。
DIY四旋翼(穿越机)软硬件设计_第9张图片
step 4.调试
调试最后飞行的视频:http://v.youku.com/v_show/id_XMjk1OTk1OTIyNA==.html?spm=a2h3j.8428770.3416059.1
拍摄的姿势不对,见笑了。
由于机架是层板做的,在强度上跟碳纤维差远了。不算加工费(我是借用了学校的切割机)这个机架也就是10块钱不到。飞机被折腾一遍之后下场自然大家都能想象,下面是我失手撞树上掉下来后的样子(如果保证不撞东西,不坠机还是能玩些时日的)。
DIY四旋翼(穿越机)软硬件设计_第10张图片

工作量比较大,过程中问题比较多,感谢所有帮助过我的,南昌航空大学的老师学生。这里着重感谢昌航缪老师,为我提供了极好的实验室环境,让我能够安静的完成所有的工作,同时还帮我解答各种疑难问题。使我的整个制作过程极其的顺利。有这么多的好老师好同学帮助,没白来大学走一朝。

                                           --山东大学某硕士

你可能感兴趣的:(飞控)