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

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

MWC为什么老是突然歪向一个电机呢?应该怎么调呢?

[复制链接]
跳转到指定楼层
楼主
发表于 2012-6-7 12:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最新的问题 :
在打开LEVEL后,总是会突然在一个方向沉一下。具体情况见视频,无论我怎么调整PID,都无法解决这个问题。

大家给看一下,可能的原因是什么?是调整PID,哪个参数可以解决这个问题?

在第11秒前后出现此问题。谢谢!





请教PID的调节。
如果参数调成这样

飞行就是能飞起来,但是非常难控制


如果增加P和D,如下图。

那么不但难控制,压根就不太能飞起来了。


后面那个算不算高频振荡?感觉频率很低啊。一振荡,就飞不起来了。
哪位高人给看看,怎么设置呢?跪求答 案,谢谢。有北京的同好,跪求帮助!

[ 本帖最后由 JoshuaShaw 于 2012-6-10 22:07 编辑 ]

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

沙发
发表于 2012-6-7 13:51 | 只看该作者
原帖由 JoshuaShaw 于 2012-6-7 12:58 发表
请教PID的调节。
如果参数调成这样
1065684
飞行就是能飞起来,但是非常难控制
http://player.youku.com/player.php/sid/XNDA5MzQ3MjI0/v.swf

如果增加P和D,如下图。
1065685
那么不但难控制,压根就不太能 ...



你的配置有問題!
     1. GYRO 數值會動嗎?依圖示你沒有選擇三軸陀囉!  
     2. I2C ERROR 不能有數值!
你再檢查一下你的硬體配置及軟體的選擇!

[ 本帖最后由 racoco 于 2012-6-7 13:55 编辑 ]
3
 楼主| 发表于 2012-6-7 14:11 | 只看该作者
噢。谢谢。回家看一下。

但是可以说明的是:


这里的东东会跟随着我手上的东东动起来。
GYRO 的数值我没注意,要晚上去看下了。
I2C ERROR不知道为什么会这样。

我的板子就是用下面这两个东东焊起来的。


不明白,难到是我 I2C总线没焊接对?如果没焊接对的话。为什么软件能感应到我的飞控的姿态呢?

[ 本帖最后由 JoshuaShaw 于 2012-6-7 14:16 编辑 ]
4
 楼主| 发表于 2012-6-7 23:01 | 只看该作者
GYRO会动,我想这应该是角速度的值吧。因为我是放在地上连接USB线的。所以4轴没动。所以GYRO就没有数字了。
现在的问题,就是I2C ERROR有数字。这个比较麻烦。看一下,是否要重新焊。

重新焊了一下,I2C ERROR好象还是有数字。
I2C是多高的高频信号啊?我是用飞线焊的,会有问题吗?

另外,我看
http://bbs.5imx.com/bbs/viewthread.php?tid=606281&page=1#pid7726018
截图中。I2C ERROR 也是有值的,不知道DONGFANG怎么理解这个事。

各位大侠一定要出手救救小弟啊。

拜托了!!!

[ 本帖最后由 JoshuaShaw 于 2012-6-8 12:31 编辑 ]
5
 楼主| 发表于 2012-6-8 12:31 | 只看该作者
自已顶。
6
发表于 2012-6-8 16:25 | 只看该作者

回复 地板 JoshuaShaw 的帖子

參考國外的帖,debug1是氣壓值,所以你的debug1和ALT的值是相同的,基本上沒問題,但你的GUI圖形沒看到氣壓的波動,是不是你的板子沒有氣壓計但源碼裡選了氣壓計的選項了。
7
 楼主| 发表于 2012-6-9 00:24 | 只看该作者
按楼上的意思,我因为不有装气压传感器和数字罗盘所以才出现的I2C ERROR
在把气压和数字指南针在def.h中屏蔽后,I2C 的ERROR终于为0了,参看下图。



代码如入下(def.h的403行开始)
#if defined(FREEIMUv04)
  #define MPU6050
  #define HMC5883
  #define MS561101BA
  #define ACC_ORIENTATION(X, Y, Z)  {accADC[ROLL]  = -X; accADC[PITCH]  = -Y; accADC[YAW]  =  Z;}
  #define GYRO_ORIENTATION(X, Y, Z) {gyroADC[ROLL] =  Y; gyroADC[PITCH] = -X; gyroADC[YAW] = -Z;}
  #define MAG_ORIENTATION(X, Y, Z)  {magADC[ROLL]  =  X; magADC[PITCH]  =  Y; magADC[YAW]  = -Z;}
  #define MPU6050_EN_I2C_BYPASS // MAG connected to the AUX I2C bus of MPU6050
  #undef INTERNAL_I2C_PULLUPS
#endif

修改成
#if defined(FREEIMUv04)
  #define MPU6050
//  #define HMC5883
//  #define MS561101BA
  #define ACC_ORIENTATION(X, Y, Z)  {accADC[ROLL]  = -X; accADC[PITCH]  = -Y; accADC[YAW]  =  Z;}
  #define GYRO_ORIENTATION(X, Y, Z) {gyroADC[ROLL] =  Y; gyroADC[PITCH] = -X; gyroADC[YAW] = -Z;}//
//  #define MAG_ORIENTATION(X, Y, Z)  {magADC[ROLL]  =  X; magADC[PITCH]  =  Y; magADC[YAW]  = -Z;}
//  #define MPU6050_EN_I2C_BYPASS // MAG connected to the AUX I2C bus of MPU6050
  #undef INTERNAL_I2C_PULLUPS
#endif

但是在P=10;D=50时,四轴依然晃动,但不是高频震动。但是在改P=3.4;D=9;的时候,感觉相对之前稍微控制稳定一点点,但依然是不稳定,控制不住。

同样再咨询一个问题。为什么 我的Z值,总是512左右呢?这个是因为地球重力吗?我即便按CALIB_ACC后,Z短暂规0后,依然会落在512左右的数值上。

请教楼上的大侠,你说的debug1到debug4,具体是怎么会事?我没理解。为什么 你一下就能找到我的I2C ERROR不为零的问题 所在呢?

[ 本帖最后由 JoshuaShaw 于 2012-6-9 00:39 编辑 ]
8
发表于 2012-6-9 09:04 | 只看该作者
基本上您要的答 案都在這裡
http://www.rcgroups.com/forums/s ... ;highlight=divide+6
善用關鍵字尋找功能,應該都可以找到解答
ACC_Z為512的值不用理它,不同的ACC傳感器有不同的值
排除其它如震動等等會影響飛控的因素,PID值愈高則機子應該愈穩定,但反應會變呆
一架機子其實您可以試著用不同的PID值飛看看,找到一組最適合您自己的手感來飛就可以了
網路上可以找到很多調整PID的方法,多試一下應該可以找到您最適合的
我個人的調法是,不開自穩,YAW不動,先把ROLL和PITCH的PID全設0,然後把兩者的P開始加大到開始不穩時在稍減小一點,再來調D,一樣慢慢加方法跟P一樣,最後再調I,覺的可以穩定飛行了,再去調YAW,等都調好後再測試自穩的值,方法都是一樣的,多試幾次應該就會有所體會了。
9
发表于 2012-6-9 09:06 | 只看该作者
之前我的MWC有自旋的问题,后有人提示将I,D都改到0后先调P,现在P调到6左右基本平稳,I=0.03,D=0
参数因机而异,仅供参考

另外可以先拿在手上试试,感觉LZ就这么放地上飞有点危险。
10
发表于 2012-6-9 11:14 | 只看该作者
呵呵,是这样的。以前mpu6050是工程测试版本,要设置成freeimu040现在是正式版本的mpu6050,要设置成freeimu043。设置玩默认就能飞的很稳~
11
发表于 2012-6-9 11:21 | 只看该作者

标题

iic有错误也不一定是硬件问题,如果iic错误匀速增长,传感器却正常,就是设置问题,比如你定义了气压计,却没有链接气压,iic就会显示有错误~
12
 楼主| 发表于 2012-6-10 21:56 | 只看该作者
在打开LEVEL后,总是会突然在一个方向沉一下。具体情况见视频,无论我怎么调整PID,都无法解决这个问题。

大家给看一下,可能的原因是什么?是调整PID,哪个参数可以解决这个问题?

在第11秒前后出现此问题。谢谢!



[ 本帖最后由 JoshuaShaw 于 2012-6-10 21:57 编辑 ]
13
发表于 2012-6-11 09:50 | 只看该作者
你先确定不是电机电调的问题,方法就是换位。

另外I2C的错误我这里也是一大把,我看过代码,没看出端倪(网上也没说明),但不妨碍使用,我认为是I2C编程的细节问题。

公司没法看视频。
14
 楼主| 发表于 2012-6-11 10:33 | 只看该作者
DONGFANG大侠,I2C ERROR的问题 已经解决。原因是在2.0MWC中,我选择的是FreeIMGv043的传感器,在这个传感器中,还包含了相关的气压和罗盘的代码。所以导致I2C 出现ERROR。后来在def.h中403行的代码中,注释掉相关代码就好了。可以看我这一帖的上面几楼了解具体情况。

关于电机往一头沉的问题,我昨天试着对调了电调。发现这个和电调没有关系。今天晚上再试一下对调电机看一下。也请您在百忙之中看一下视频,看看能不能帮着小弟我找到问题所在。非常感谢!
15
发表于 2012-6-11 16:13 | 只看该作者
建議在沒自穩下,先把PID調好,讓機子可以順利水平飛起,再來調自穩,會比較容易些
會往某一邊跑,機子放地上時把那邊墊高一些,再做一下陀螺和ACC校準後再試飛看看有沒有改善。
16
发表于 2012-6-12 07:20 | 只看该作者
看了视频,有几个可能:
1. 你的硬件连接可能有问题,我看到有一只电调很晚才开始转动,这是不应该的。
2. 抖动类似于D太大,你先置零I和D,不要开level再试一下。如果仍旧抖,用长一点的USB线接在电脑上,手持启动,同时检查GUI上的各传感器输出。
17
 楼主| 发表于 2012-6-12 09:51 | 只看该作者
现在的问题是。D已经是0了。这种时候是不是保持D是0,把I往上调呀?感觉I和功能和D的功能是相反的。
是挺奇怪的,有一个螺旋浆总是启动的晚很多。但是在非LEVEL模式下就不会晚那么多。

我感觉是因为要保持LEVEL所以正好我手拿的方向不对,所有启动的晚?但是我也在桌子上校准过ACC。要说是硬件连接问题,用万用表也都查过。查不出什么问题。对调过电调,还是那个样子。无解中。。。。。。
18
发表于 2012-6-12 11:11 | 只看该作者
建議您還是不要拿手上試,危險而且也試不太出來結果,直接放地上起飛看看,還有MWC對震動很敏感的,檢查一下電機和槳的平衡是否震動太大造成飛控不安定。
19
发表于 2012-6-12 17:40 | 只看该作者
电机延时启动的问题很大,要知道MWC是以490HZ的通信速度向电调发命令的。只要解锁四个电机绝对是一起转起来的。

你确认一下你的电源线路,是不是每一路电调的电压有问题?
20
发表于 2012-7-4 00:21 | 只看该作者

回复 17楼 JoshuaShaw 的帖子

1、acc要校准,桌子也未必水平,即便桌子水平机架也未必水平,可以用水平尺测测。2、电调的油门行程应当设定一下。3、飞行中向一边偏,要做加速计微调,举例如果向左偏,调整方法是加锁状态下 油门最高 升降杆下拉几次,直到偏航不明显。4、提高怠速值也有效果。

[ 本帖最后由 donaldshp 于 2012-7-4 00:22 编辑 ]
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

关闭

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

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