完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
四轴飞行器,又称四旋翼飞行器,简称四轴、四旋翼。四轴飞行器的四个螺旋桨与电机直接相连,通过改变电机转速获得旋转机身的力,从而调整自身姿态。
我做四轴的主要目的是为了学习飞控算法,这个过程肯定少不了调试,为了安全,我选择做一个小一点的,手掌那么大的四轴,叶片的威力比较小,价格也便宜,即使摔坏也不心疼。 选择零件 四轴上最重要的就是飞控,所以第一步:选择飞控。 市面上有许多现成飞控,也可以自己用电子元件做一个分控。有很多有名的开源飞控,例如KK,QQ,匿名,MultiWii/MWC,APM/PIX等。 KK、QQ飞控功能较少,只有基本的四轴飞行功能,甚至不支持GPS。 匿名飞控是国内新出现的飞控,功能比以上两个要多,价格也要贵很多。 MultiWii/MWC飞控是基于arduino的,支持GPS,能路线规划,在线调试。 APM也是基于arduino的,功能更为齐全,硬件也更为复杂,飞控中有两块单片机,分别执行不同功能。APM已将arduino的性能开发到极限,于是有了升级版PIX,从arduino转到了STM32,处理速度提升了10倍,同样用了两块不同型号的STM32协同运作,是目前已知的最好的开源飞控。 · 我打算自制飞控,选用我比较熟悉的arduino作为主控芯片。APM硬件结构太复杂,因此选择了MWC飞控。 这里说一句后话,如果打算学习飞控算法,还是选择简单的开源飞控比较好,MWC和APM/PIX都太复杂了,初学者并不能看懂这些代码,另外推荐用STM32芯片,arduino的标准库中并没有时间中断,要实现飞控的功能需要了解arduino更底层的知识,不会比想象中更简单。 搜索各种MWC的资料,查找需要的零件: 我选用了arduino nano作为主控,体型还是有点偏大,用arduino mini更好。选择nano是因为其带自身带有USB接口,可以直接用USB接口下程序,而mini要用下载器。 事后发现更好的选择是mini Leonardo,nano和mini的芯片型号都是ATMEGA328P,只有一个串口,nano的USB是用另一块芯片转串口,不能跟串口同时使用,下载程序时要把跟串口相接的元件断开,而Leonardo的芯片型号是ATMEGA32U4,自身带有USB和串口,互不干扰。官方的Leonardo板型是跟UNO一样的,国内的厂家则把Leonardo做成了mini的板型,而且带有USB接口。值得注意的是,不确定飞控是否支持Leonardo,因为Leonardo的串口名是Serial1,而nano的串口名是Serial,可能需要修改代码。 HC-05 与 HC-06的区别是 HC-05 可以做主机,也就是可以用 HC-05 连接其他的蓝牙模块,而 HC-06 只能作从机。四轴上的蓝牙只做从机,HC-05 和 HC-06都可以用。 机架用的是淘宝已经做好的PCB,上面不能贴元件。 电机是7mm*20mm的空心杯电机: 选完零件后,MWC如何用呢?MWC不仅支持四轴,还支持六轴,还支持三轴,该如何把MWC配置成四轴模式,并且是空心杯四轴? 这是MWC的官网:http://www.multiwii.com/ 这是MWC的中文网:http://www.multiwii.cn/ 然而把这个网站看完之后,并不非常明白如何使用,胡乱摸索之后总结如下: 首先去googlecode下载源代码:https://code.google.com/p/multiwii/ (需要***) 或者去github下载源代码:https://github.com/multiwii/multiwii-firmware 在googlecode下载的文件里除了源代码还有电脑端的上位机,github只有源代码。 下完源代码之后,会看到一堆文件,初学者肯定会被吓一跳,其实,只需看config.h这个文件,通过注释或取消注释其中的代码配置飞控的模式。 这里面的代码也非常多,如果只做空心杯小四轴的话就看我提取的关键点吧。(行数是原配置文件的行数)。
电路测试 各元件与arduino nano的连接:
在面包板上连接电路测试: 如何用手机遥控四轴? 下载手机端软件,MWC只有安卓端的软件,从这个网站下载:http://www.multiwii.com/wiki/index.php?title=Mods 用安卓遥控需要用到的软件是MultiWii EZ-GUI ,要android4.4以上的系统,这个软件要到google play storm下载,一般国产手机没有google play storm,如何下载google play storm自行百度。 EZ-GUI如何用? 打开软件后第一页是四轴的仪表盘,能检测四轴的各项数据 之后就可以遥控起飞了。到第三页,进入高级设置,进入【MODEL CONTROL】 我把各种元件插在面包板上,用LED代替电机测试,解锁后,LED由灭变成亮,通过控制油门或方向,可以看到LED的亮度会发生变化。 硬件制作 这些是要用到的元件,以洞洞板作为基板固定所有的元件,然后用螺钉把洞洞板与机架连接。(当然洞洞板需要裁剪,只用一小块) 场效应管是用电压控制电流,作用跟三级管类似(三极管是用电流控制电流),相比于三极管,场效应管体积更小功率更大。 肖吉特二极管的作用是续流。电机是电感元件,有阻碍电流变化的特性,控制电机转速的方法是用PWM信号控制场效应管的通断,当场效应管断开时,电机两端会产生极高的感应电压击穿场效应管,加上二极管后,电机的电流会通过二极管保持流通,防止电机产生过高的感应电压。 为了防止电机引起的电流波动干扰到arduino,我在arduino的电源处接了一个220uF的钽电容。(其实没什么卵用!) 下图是焊接完后的背面,白色的是控制线,黑色和红色的是接电机的线。电机驱动电源部分要接一个拨动开关,防止arduino nano上电时不受控制的转,也用于失控时给电机断电。 这时还不能飞,因为MPU6050的方向不是正确方向,需要修正方向。 取消config.h中204~206行的注释,将程序上传到arduino,打开MultiWiiConf.exe看陀螺仪和加速度的值,然后根据情况替换ROLL、PITCH、YAW或改变正负。左下角的ACC是加速度,GYRO是陀螺仪,MAG是指南针。 使四轴的前方与你的前方一致; 当四轴水平放置,ACC的Z值最大; 当四轴向右翻滚90度,右侧朝下,ACC的ROLL最大; 当四轴向前翻滚90度,头朝下,ACC的PITCH最大; 当四轴水平顺时针旋转,GYRO的YAW为正数; 当四轴向右翻滚,GYRO的ROLL为正数; 当四轴向前翻滚,GYRO的PITCH为正数; 指南针我没用,所以不调。 每调整一次,重新上传一次程序,再观察是否正确。全部调完后,看MultiWiiConf中右下的四轴仿真图,如果仿真图的转动方向跟实际方向一致并反应迅速,则全部正确;如果转动方向跟实际方向不同,则GYRO的调整存在错误;如果转动方向跟实际方向一致,但是四轴静止时,仿真图仍在缓慢转动,则ACC调整错误。 试飞 终于,将要迎来起飞的时刻! 但是,把四轴解锁,电机开始转,提高油门后四轴就失控了,电机一直狂转,跟手机的连接也断开了,还好加了开关和失控保护,电机转了一会就自动停了。 也许是电机干扰了蓝牙通信,不得而知。 而且感觉四轴有点太重了,用称不太精确的测了测重量,总重量70克。不知道这个重量是否能飞,比淘宝买的四轴要重很多。 总结: 桨的颜色是用来区分四轴的前后的,所以要红色各一正桨反桨,黑色各一正桨反桨。 一定要注意电源滤波,只加一个钽电容并没什么卵用,要学学电源滤波的知识。 要注意电池的重量,加大电池容量不一定会提升续航,毕竟电池重量也增加了,而且有可能飞不起来。 arduino最好选用leonardo的mini版型,leonardo自带USB接口,所以有两个串口,蓝牙和上传程序互不干扰。 arduino要选用3.3v的版型。 用洞洞板做四轴不太靠谱,太难焊接,而且焊锡走线增加了太多重量。洞洞板与机架固定用的螺丝也占了很大重量,不如直接做成机架与飞控一体的。 评分 |
||
相关推荐
3 个讨论
|
||
【社区之星】宿晶亮——一个人的爱好,足以点燃不设限的学习热情
1170 浏览 0 评论
改造小萝卜机器人第二天——Visual Studio Code 解决ESP-IDF报错问题
2401 浏览 0 评论
3186 浏览 1 评论
6850 浏览 0 评论
3820 浏览 0 评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-12 09:12 , Processed in 2.809040 second(s), Total 47, Slave 37 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
25183