查看: 40816|回复: 47

[项目] 蓝牙控制的小四轴飞行器

[复制链接]

该用户从未签到

发表于 2016-3-3 21:41 | 显示全部楼层 |阅读模式
本帖最后由 龙梦中华 于 2016-5-6 23:41 编辑

*****************************************************更新中

本项目是在http://tieba.baidu.com/p/3729754719
http://tieba.baidu.com/p/3453053221
http://www.coollabs.cn/course/70
个帖子的启发下进行的。是通过手机蓝牙控制近来非常流行的四轴飞行器,由于不用专门的遥控器,可以节约成本,控制起来又更加小巧方便。虽然本项目最开始是 根据最上边百度帖吧的基础上做的,但是不得不说,也正是这个帖子很大 地误导了我两次,浪费了大量的时间。一处是材料,在MOS两脚之间焊接10k的贴片电阻最为适宜,但是在帖子中材料单里写的是20k ;一处是程序,下载百度帖吧里所给出的配置后的开源程序后编译仍然出错。(下文有详细说明)。在此,希望在我们写自己的帖子的时候能够更加认真一点,否则 会给别人带来意想不到的麻烦。

/**********************************************     
正文    *************************************************************************************/

1.
四旋翼的基本知识可以参考
http://blog.csdn.net/jbb0523/article/details/24198505

2.
所需材料
arduino pro min
X1
GY-521
陀螺仪模块X1
SI2302
场效应管X4,
10K
电阻X4
720
空心杯电机(轴径1mmX4
55mm
正反桨(孔径1mm2对,
迷你接收机X1
3.7v380
毫安时锂电池X1
电池插头X2
双面万能板,
CP2012
下载器(其他可用于arduino板的亦可),
塑料外壳(比如蜂鸟,金星达,最好有护圈)





在arduino板上焊接排针,用下载器连接pro mini和电脑下载程序,连接方式看下图。下载方法是用编程器打开程序中的MultiWii文件,点击Tools——Board——arduino pro min(5V 16MHZ)ATmega328,再点击Tools——Serial port——COM?(问号为下载器的端口号码),先点击左上角的勾进行检测,完成后再点击向右的箭头开始下载,左下角显示Done uploading后下载完成。
注:1.arduino pro mini的下载很容易出错。如果程序编译通过而下载出错,那就要检查自己的下载方法。我也是在网上搜索然后尝试网友介绍的各种方法,在一次次失败之后才下载成功的。我用的下载器是CP2012,接线是:
pro mini    CP2012
VCC  ———5V
GND ———GND
TXD  ———RXD
RXD ——— TXD
DTR  ———DTR
如果你的CP2012还带要带有CTS端口,那么就更好了,再将CP2012的CTS端口接到pro mini的GND端口,如下所示


如果你的CP2012DTR端口也不带,那么就尝试在下载的时候多按几下pro miniRESET
2.如果CP2012本身带有DTR端口或CTS端口,那么就不用再按pro miniRESET,否则反而会出错。
3.注意串口的选择,我的电脑插上CP2012Arduino IDE都会显示出COM5口,在一个串口一直下载 不成功,后来换了另一个串口就成功了。4.在下载程序的时候尽量不要给pro mini连接外设,即先给pro mini下载程序,然后连接蓝牙、MPU6050等外部设备至相应IO口。
外下载过程失败也可能是程序错误导致的,所以在下载之前最好先编译一下看程序本身是否有语法错误。我用上边百度帖吧所发帖子的程序(链接可以在帖吧里找到 http://jump.bdimg.com/safecheck/ ... WqUAplSdj2oeHoEzTI=), config.h下,开启#define RCSERIAL蓝牙控制语句后点击编译,但是一直出错,起先以为是我不小心修改了程序又重复下载了好多次程序但是仍然报错,

到帖吧里吧主给了自己的QQ号,我就给吧主发消息,然后这位吧主说自己也不记得了,至于是否有错也不确定,,,,。我才意识到,是上传程序本来就有错误! 自己也是较好的C语言基础,我就根据错误提示找到错误源是GPS.h里的一变量没有声明,在本项目中并未用到GPS模块,全部注释掉GPS.h里的语句再 次编译后,通过!

3.
焊接MPU6050并试验
MPU6050
pro mini的接线如下:
pro mini      MPU6050
5v                      VCC
GND                   GND
A4                     SDA
A5                       SCL

4.
根据电路图进行焊接MOS管和贴片电阻等其他器件
这一步主要见http://www.coollabs.cn/course/70这个帖子,原理图及焊接图如下
1.jpg

2.jpg
我们用到的是蓝牙控制,所以不用焊接接收机,一切焊好组装完成后用杜邦线连接pro mini和蓝牙模块进行通信,我用到的蓝牙模块式hc-06,接线如下:
pro mini     hc-06
5v                 vcc
GND             GND
TXD               RXD
RXD               TXD
还有,万能板并不好切割,我试过刀片、小锯子、剪刀,效果都不好,最后是买的勾刀才把慢慢切好。
IMG_20151217_222333.jpg.JPG

将切好的洞洞板固定到pro mini上
IMG_20151218_033040.jpg(1).JPG

最后,效果图
5.jpg



4.jpg


5.飞行效果
等我传上去就分享飞行视频,不过目前来看,飞行器动力不足(或质量过重)、飞行不稳等问题还需解决。

*****************************************************更新中





该用户从未签到

发表于 2018-10-24 13:30 | 显示全部楼层
回复这个贴算挖坟吗?

这个4轴我做过一个,见下图 TIM图片20181024095423.jpg

清单:
Arduino nano *1;
716电机 *4;
HC-05蓝牙主从一体模块 *1
MPU-6050 *1;
SI2302场效应管 *4;
3.5v 350mah电池 *1;
电阻 *4(忘了是多少欧的了,应该是按照贴吧帖子的数值选的)
正反桨 *2对;(尺寸和孔径忘了)
升压模块 *1;
连接线若干;
模块插座一片;(剪开正好插两个模块)
洞洞板一片;
电源接口一枚;


结构上做了最大限度的优化和减重,整机重量忘记了,机身使用最便宜的单面洞洞板切割,本身重量非常轻,电机座用泡沫+胶布固定,机身下方焊接走线,制作前经过仔细设计,尽可能精简焊锡的重量和走线的复杂度,蓝牙HC-05和六轴MPU-6050使用插槽式设计,可以方便插拔到别的项目上使用。

Arduino nano默认只有16MHz版本,标称最低电压好像是5V,制作之前我进行了测试,发现3.7v下面也能开机运行,所以最初是没有设计使用升压模块的,但是整机调试的时候发现,电机高功率输出的时候,电池掉压特别厉害,只有3v左右,有时还不到3v,油门一解锁,Arduino就掉电重启了,所以使用了一块升压模块。后来想把固件刷到8Mhz的低压版本,以减掉这个模块的重量,但是通过调整升压模块的电路位置,发现其实蓝牙也会因为掉电停止工作,反映在控制软件上就是失去通讯,另外MPU-6050貌似也会因为低压停止工作,所以还是保留了升压模块。
测试电池,发现内阻特别高,所以大电流掉压很厉害,不知道换一个好一点的动力电池是否能够稳定电压,没有测试过。

总结一下最终飞行情况:

最终能够起飞,蓝牙控制有效,油门操作有效,但是方向控制困难,也无法做到悬停,起飞高度在离地1米左右,由于无法自稳,最终会随着持续偏移撞墙摔机,应该是动力不足引起的,
但总算是飞起来了,证明设计和制作有效,剩下的就是更换高质量配件和调整PID设置了。(一开始玩,心里也没底,所有配件都选择了最便宜的)
(升压模块应该有电流上线,没有经过测试,所以不知道是不是因为模块的电流限制,导致动力不足)

改进方向:换成720空心杯,替换内阻更低的动力电池,调整整机的重心位置,加强各部件的连接刚性,想办法去掉升压模块。

需要注意的地方:

1.电池非常重要,应选用低内阻的电池;

2.整机重量要严格控制,不能有任何多余的重量,四个电机的升力总和相对于整机重量要有一定余量,不然就算飞起来也很难维持自稳;

3.整机的重心一定要尽可能居中,尽可能下移,因为重心偏移会对某一个(对)电机造成额外负担,为了维持平稳,需要额外增加某一个(对)电机的输出功率,同时减少其他电机的电流,在电池放电功率和螺旋桨升力有限的前提下,相当于限制了整机的升力。
而重心太高也会导致单片机需要更频繁的功率调节以维持平稳,对四个电机的升力和电池放电能力的要求也更严格;

4.整机的电池、电机、各模块的安装应该保持一定的刚性连接,四轴运行的时候部件的连接出现晃动会造成不稳定,特别是电机和机架的连接,以及6轴模块的稳定性。

5.蓝牙模块本身比较耗电,尽量选择传统的无线模块;

6.螺旋桨一定要调平衡,不平衡会导致电机运行时候产生振动,造成功率浪费,我手上的任意一对正反桨因为做工问题,一定有一个是不平衡的,所以在背面贴了透明胶来调整平衡性。

7.空心杯电机的连接线特别容易断,主要是连接线从电机底部引出的位置,接起来特别麻烦。

8.多买几对正反桨,调试阶段特别容易摔断。

9.尽量用720电机,目前的机身已经很轻了,印象中应该在49g-55g之间,716电机对于这几个必要部件来说显得吃力了。

  • TA的每日心情
    开心
    2016-3-4 16:12
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2016-3-4 22:56 | 显示全部楼层
    加的东西太多了,减重
  • TA的每日心情
    开心
    2016-3-4 16:12
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2016-3-4 23:02 | 显示全部楼层
    翻阅未来 发表于 2016-3-4 22:56
    加的东西太多了,减重

    我个人感觉你把壳子去掉再减点重试试,或者先把壳子拿掉试试

    该用户从未签到

     楼主| 发表于 2016-3-5 11:13 | 显示全部楼层
    最开始我用的是3.7v 250mah锂电池,,现在换成了3.7v 380mah的锂电池,从动力上已经能够起飞了,但是现在最大的问题是起飞阶段不是一直向上飞而是一直打转。
  • TA的每日心情
    开心
    2016-6-8 10:36
  • 签到天数: 12 天

    [LV.3]偶尔看看II

    发表于 2016-4-13 18:29 | 显示全部楼层
    能发一份编译好的multiwii文件给我吗?邮箱:1556284669@qq.com,万分感谢!!!!

    该用户从未签到

     楼主| 发表于 2016-4-13 19:26 | 显示全部楼层
    WiiDIY 发表于 2016-4-13 18:29
    能发一份编译好的multiwii文件给我吗?邮箱:,万分感谢!!!!

    已发,配置参考下http://www.cnblogs.com/Tranquilty/p/4848853.html
  • TA的每日心情
    开心
    2016-6-8 10:36
  • 签到天数: 12 天

    [LV.3]偶尔看看II

    发表于 2016-4-15 20:57 | 显示全部楼层
    龙梦中华 发表于 2016-4-13 19:26
    已发,配置参考下http://www.cnblogs.com/Tranquilty/p/4848853.html

    谢谢,很受启发。
  • TA的每日心情
    开心
    2016-6-8 10:36
  • 签到天数: 12 天

    [LV.3]偶尔看看II

    发表于 2016-4-21 21:16 | 显示全部楼层
    龙梦中华 发表于 2016-4-13 19:26
    已发,配置参考下http://www.cnblogs.com/Tranquilty/p/4848853.html

    我已接好线和下载好程序,但运行不到两分钟就停了,而且电源部分非常烫,不知是哪个部分出错了,如果是线路短路,应该不会启动。查了一边线路没有发现短路的。请指教,谢谢!

    该用户从未签到

     楼主| 发表于 2016-4-21 21:37 | 显示全部楼层
    WiiDIY 发表于 2016-4-21 21:16
    我已接好线和下载好程序,但运行不到两分钟就停了,而且电源部分非常烫,不知是哪个部分出错了,如果是线 ...

    你用的多大容量的锂电池,很有可能是锂电池没电了
  • TA的每日心情
    开心
    2016-6-8 10:36
  • 签到天数: 12 天

    [LV.3]偶尔看看II

    发表于 2016-4-22 20:13 | 显示全部楼层
    我是用5v电源模块做测试的,还没有正式上电池
    您需要登录后才可以回帖 登录 | 立即注册  

    本版积分规则

    热门推荐

    学习记录2,Blinker读取温湿度
    学习记录2,Blinker读取温
    开关现在是使用得很6了,准备进行下一步,读取数据。 找了下官方的例程,发现用的是w
    学生智能打卡系统(接入blinker)
    学生智能打卡系统(接入bl
    【项目名称】学生智能打卡系统(接入blinker) 一.感谢各位大佬 首先感谢社区的管理员
    关于红外控制空调的模块选型
    关于红外控制空调的模块选
    想问问这中模块能支持arduino吗
    LCD1602只亮 不显示
    LCD1602只亮 不显示
    #include // initialize the library by associating any needed LCD interface pin
    18脚的8x8LED点阵如何使用??
    18脚的8x8LED点阵如何使用
    本帖最后由 Creeper666 于 2018-8-14 12:24 编辑 这个点阵模块上面一排有12个脚,
    Copyright   ©2015-2016  Arduino中文社区  Powered by©Discuz!   ( 蜀ICP备14017632号-3 )
    快速回复 返回顶部 返回列表