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

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

mwc 翻跟斗 附代码和工作原理

[复制链接]
跳转到指定楼层
楼主
发表于 2012-10-8 21:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 端木殿 于 2012-10-9 01:22 编辑

用mwc翻跟斗有两个途径

1. 纯gyro模式,不开加速计只用陀螺仪。 靠的是技术。 跟3d飞直一样
视频
https://vimeo.com/32408610

2. acro trainer

视频先(自行翻墙+看发布日期)
http://www.youtube.com/watch?v=zX6nug_XEyc
http://www.youtube.com/watch?v=7T2Cn-Gj4Sc

实现原理:
在自平衡激活下,当摇杆提升到40%以上时关闭自平衡转入acro 纯陀螺仪模式。在纯acro模式摇杆的推进量越大,角动量越大。由于控制的人在翻转后马上复位摇杆,自平衡重新激活, 所以在270度之后可以自动回到平衡防止失控。

代码添加到multiwii_*_*.ino结尾的位置直用包自查muliwii代码库PatrickE分支
最新dev已加入在config.h末尾可去注解使用
  1. int8_t acroTrainerMode = 0;
  2. if (abs(rcCommand[ROLL]) + abs(rcCommand[PITCH]) >= 200) acroTrainerMode=1;

  3.   //**** PITCH & ROLL & YAW PID ****   
  4.   for(axis=0;axis<3;axis++) {
  5.     if (f.ACC_MODE && axis<2 && !acroTrainerMode) { //LEVEL MODE
  6.       // 50 degrees max inclination
复制代码


附原帖讨论链接
http://www.rcgroups.com/forums/showthread.php?t=1680802

http://www.multiwii.com/forum/viewtopic.php?f=16&t=1944


代码所有权归mwc开源项目PartickE所有,根据开源GPL协议禁止用于任何商业用途


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

沙发
发表于 2012-10-8 23:11 | 只看该作者
不错,收藏
3
 楼主| 发表于 2012-10-9 01:23 | 只看该作者
更新了工作原理
4
发表于 2012-10-9 09:48 | 只看该作者
5
发表于 2012-10-9 10:48 | 只看该作者
6
发表于 2012-10-9 13:36 | 只看该作者
出来牛人了,我要是想入mwc顺便学学,该买那些?楼主方便告诉不?
7
 楼主| 发表于 2012-10-9 13:41 | 只看该作者
为了防止被当作广告。。。 pm过来说吧
8
发表于 2012-10-18 17:15 | 只看该作者
马克一下,感谢分享。
9
发表于 2012-10-29 12:52 | 只看该作者
资源不错,感谢分享
10
发表于 2012-10-29 23:17 | 只看该作者
楼主,求指点啊,也想玩开源
11
发表于 2012-10-31 20:30 | 只看该作者
这个真不错
12
发表于 2012-11-1 09:08 | 只看该作者
我实验了代码..确实可以翻...但是就是想突然打打舵的时候会悲剧...我因为改这个不习惯炸了两次...悲剧
13
发表于 2012-11-1 09:47 | 只看该作者
爵爷 发表于 2012-11-1 09:08
我实验了代码..确实可以翻...但是就是想突然打打舵的时候会悲剧...我因为改这个不习惯炸了两次...悲剧

爵爷哥
可说白些吗
如何加入代码

14
发表于 2012-11-1 09:59 | 只看该作者
小哥哥 发表于 2012-11-1 09:47
爵爷哥
可说白些吗
如何加入代码

你找到multiwii_2_1 文件里的这个注释:  //**** PITCH & ROLL & YAW PID ****    int8_t acroTrainerMode = 0;
if (abs(rcCommand[ROLL]) + abs(rcCommand[PITCH]) >= 200) acroTrainerMode=1;


上面这两句代码加到注释下面 for 前面


然后再把 for 下面的 if (f.ACC_MODE && axis<2) { //LEVEL MODE 这个用if (f.ACC_MODE && axis<2 && !acroTrainerMode) { //LEVEL MODE  这个替代就可以了,但是我劝你还是别轻易玩...真的会死的...
因为自稳模式你打大舵的话四轴角度到一定量的时候就不会变了...但是加了代码你一旦打大舵的时候会一直增加角度...操作上会不习惯..

评分

参与人数 1威望 +1 收起 理由
小哥哥 + 1 很给力!

查看全部评分

15
发表于 2013-1-23 12:08 | 只看该作者
电机倒装
16
发表于 2013-7-30 12:22 | 只看该作者
收藏,学习。
17
发表于 2013-7-30 17:02 | 只看该作者
厉害啊
18
发表于 2014-6-18 16:07 | 只看该作者
不错的一篇介绍。收藏了

您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

关闭

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

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