5iMX宗旨:分享遥控模型兴趣爱好

5iMX.com 我爱模型 玩家论坛 ——专业遥控模型和无人机玩家论坛(玩模型就上我爱模型,创始于2003年)
查看: 17114|回复: 40
打印 上一主题 下一主题

阶段性报告,纯DIY的MWC飞控

[复制链接]
跳转到指定楼层
楼主
发表于 2012-1-22 08:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
阶段性报告,纯DIY的MWC飞控
断断续续忙了不少时间的四轴有了阶段性的进展。首先来汇报一下MWC飞控。

这个飞控使用Arduino Nano和各个传感器测试模块(HMC5883L,BMP085,L3G4200D,MMA7455)做的。
虽然是自己焊的,因为是模块,可以单独调试,成品率较高,费用也比完成品低得多了。按现在的淘宝价,所有传感器加测试版也就100元的上下,Arduino Nano 70元,再加邮费。
当然缺点是焊接费时间,有废品,还有成品的体积较大6.5cm*6.5cm。
不过自己做的感觉不一样,尤其是为什么选用MWC,这都体现了DIY的需求:想怎么弄就怎么弄。类似让飞控的加锁(dis-arm)快一些这类的工作,改一句代码就能实现。超声波定高不是MWC的标配,计划改代码搞定。MWC的CF模式则已经有人搞出来了。最终,要是哪天不玩四轴了,除了线路板,这些部件也都是100%可回收的。

IMG_0919_web1.jpg (245.06 KB, 下载次数: 241)

IMG_0919_web1.jpg

欢迎继续阅读楼主其他信息

沙发
 楼主| 发表于 2012-1-22 08:58 | 只看该作者
接完线和接收器之后,就是这个样子了。

个人比较偷懒,不愿意接很多线去接受器,那就把接受器当元件插在线路板上吧。

IMG_0920_web.jpg (185.41 KB, 下载次数: 200)

IMG_0920_web.jpg
3
发表于 2012-1-22 09:42 | 只看该作者
厉害
4
发表于 2012-1-22 10:07 | 只看该作者
厉害 飞起来了吗?
5
发表于 2012-1-22 10:40 | 只看该作者
不错,支持一个!
6
发表于 2012-1-22 13:09 | 只看该作者
接收器直接插在板上好办法哦
7
 楼主| 发表于 2012-1-22 22:42 | 只看该作者
回四楼,在室内已经飞起来了,感觉方向操控的反应幅度较大,四轴不敢离手很久。
8
发表于 2012-1-23 12:56 | 只看该作者
:em15:
9
发表于 2012-1-23 15:40 | 只看该作者
牛逼
10
发表于 2012-1-23 17:12 | 只看该作者
请教一下:
图上几个传感器的电路板上的xyz方向好像不一样啊。
淘宝上有一种9dof的集成板,是否可以用?
11
 楼主| 发表于 2012-1-23 17:35 | 只看该作者
原帖由 tedeum 于 2012-1-23 17:12 发表
请教一下:
图上几个传感器的电路板上的xyz方向好像不一样啊。
淘宝上有一种9dof的集成板,是否可以用?


方向不是问题,在代码中本来就是要调整的,像我的:
#define GYRO_ORIENTATION(X, Y, Z) {gyroADC[ROLL] =  Y; gyroADC[PITCH] = -X; gyroADC[YAW] = Z;}
#define ACC_ORIENTATION(X, Y, Z)  {accADC[ROLL]  =  Y; accADC[PITCH]  = -X; accADC[YAW]  = Z;}
#define MAG_ORIENTATION(X, Y, Z)  {magADC[ROLL]  =  Y; magADC[PITCH]  = -X; magADC[YAW]  = Z;}

你得看一下9dof的传感器是不是在mwc支持的列表中,建议你先下一份MWC的源码,看一下Sensors这个文件,里面是所有支持的传感器的读写程序。

我的MMA7455,没有现成的代码,就得自己写代码实现。不过也很好写了,有arduino的例程的话。
12
发表于 2012-1-23 17:37 | 只看该作者
集成9DOF的真贵……真贵……真贵……:em17:
13
 楼主| 发表于 2012-1-23 17:50 | 只看该作者
我看到ourdev上的http://www.ourdev.cn/bbs/bbs_con ... 006&bbs_id=1025
这个人的东西很便宜啊。
14
发表于 2012-1-23 19:58 | 只看该作者
多谢楼主
官网上是Pro Mini的控制板,你用的是Nano,有区别吗?
我看淘宝上有9dof的200左右,好像比单买还便宜,楼主传感器花了多少钱啊。
15
 楼主| 发表于 2012-1-23 22:27 | 只看该作者
原帖由 tedeum 于 2012-1-23 19:58 发表
多谢楼主
官网上是Pro Mini的控制板,你用的是Nano,有区别吗?
我看淘宝上有9dof的200左右,好像比单买还便宜,楼主传感器花了多少钱啊。


不是说了么,按现在的行情,所有传感器也就100元左右了,但我的L3G4200D是5月买的,那时爆贵,光芯片就要115元,现在才19元了。
16
发表于 2012-1-23 22:48 | 只看该作者
:em26:
17
发表于 2012-1-23 23:43 | 只看该作者
原帖由 dongfang 于 2012-1-23 17:35 发表


方向不是问题,在代码中本来就是要调整的,像我的:
#define GYRO_ORIENTATION(X, Y, Z) {gyroADC[ROLL] =  Y; gyroADC[PITCH] = -X; gyroADC[YAW] = Z;}
#define ACC_ORIENTATION(X, Y, Z)  {accADC[ROLL]  = ...

#define GYRO_ORIENTATION(X, Y, Z) {gyroADC[ROLL] =  Y; gyroADC[PITCH] = -X; gyroADC[YAW] = Z;}
#define ACC_ORIENTATION(X, Y, Z)  {accADC[ROLL]  =  Y; accADC[PITCH]  = -X; accADC[YAW]  = Z;}
#define MAG_ORIENTATION(X, Y, Z)  {magADC[ROLL]  =  Y; magADC[PITCH]  = -X; magADC[YAW]  = Z;}
以上在預設時是不開啟的, 要在什麼情況下, 才開啟使用?
使用後, 對四軸有何變化?
18
发表于 2012-1-23 23:46 | 只看该作者
原帖由 dongfang 于 2012-1-23 17:35 发表


方向不是问题,在代码中本来就是要调整的,像我的:
#define GYRO_ORIENTATION(X, Y, Z) {gyroADC[ROLL] =  Y; gyroADC[PITCH] = -X; gyroADC[YAW] = Z;}
#define ACC_ORIENTATION(X, Y, Z)  {accADC[ROLL]  = ...


#define GYRO_ORIENTATION(X, Y, Z) {gyroADC[ROLL] =  Y; gyroADC[PITCH] = -X; gyroADC[YAW] = Z;}
#define ACC_ORIENTATION(X, Y, Z)  {accADC[ROLL]  =  Y; accADC[PITCH]  = -X; accADC[YAW]  = Z;}
#define MAG_ORIENTATION(X, Y, Z)  {magADC[ROLL]  =  Y; magADC[PITCH]  = -X; magADC[YAW]  = Z;}
以上預設是關閉的, 在什麼情況下才開啟使用?
使用後, 對四軸有什麼好處及改變?
19
 楼主| 发表于 2012-1-24 09:28 | 只看该作者
原帖由 superbig123 于 2012-1-23 23:46 发表


#define GYRO_ORIENTATION(X, Y, Z) {gyroADC[ROLL] =  Y; gyroADC[PITCH] = -X; gyroADC[YAW] = Z;}
#define ACC_ORIENTATION(X, Y, Z)  {accADC[ROLL]  =  Y; accADC[PITCH]  = -X; accADC[YAW]  = Z;}
#def ...

这些都是必须要做的修改,不同的PCB、不同的传感器以及安装方式决定了传感器的方位是各式各样的,这3个函数就是用来纠正方向问题的。你可以参照FAQ来设定这些参数,最终的结果应该是,你在MultiWiiConf看到的姿态和实际姿态一致,否则就要改了重新编译上传。
20
发表于 2012-1-28 03:03 | 只看该作者
mwc调好了还是相当好飞的。。。嘿嘿
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

关闭

【站内推荐】上一条 /2 下一条

快速回复 返回顶部 返回列表