fusion 发表于 2012-4-12 00:44:59

最近问题不断啊 又是陀螺仪!

在不开电机的时候,水平时陀螺仪X和Y轴都保持0度,可一开电机X轴就不停的飘啊飘啊,以每秒0.5度的往下递减,这可能是什么情况?电机干扰了?可为什么Y轴不漂呢? 求指教!

MrLCL 发表于 2012-4-12 08:24:23

我测试L3G4200D的时候,z是最稳的,Y次之,X是最操蛋的,不知道为什么,焊接的3个传感器都是如此。你还是在电机运行的条件下,检测一下数据吧

fusion 发表于 2012-4-12 09:22:54

MrLCL 发表于 2012-4-12 08:24 static/image/common/back.gif
我测试L3G4200D的时候,z是最稳的,Y次之,X是最操蛋的,不知道为什么,焊接的3个传感器都是如此。你还是在 ...

我也是焊了两个都一样 电机转的时候怎么检查呢?减的太厉害了 都不知道是哪里问题

MrLCL 发表于 2012-4-12 09:52:47

fusion 发表于 2012-4-12 09:22 static/image/common/back.gif
我也是焊了两个都一样 电机转的时候怎么检查呢?减的太厉害了 都不知道是哪里问题 ...

要是我,我会直接检查寄存器直接读取的数据的变化。从源头做滤波。

Name_006 发表于 2012-4-12 10:19:45

fusion 发表于 2012-4-12 09:22 static/image/common/back.gif
我也是焊了两个都一样 电机转的时候怎么检查呢?减的太厉害了 都不知道是哪里问题 ...

不是有一个 串口示波器吗用那个看看数据波形什么样 ~~   应该能找出来问题

fusion 发表于 2012-4-12 19:01:46

MrLCL 发表于 2012-4-12 09:52 static/image/common/back.gif
要是我,我会直接检查寄存器直接读取的数据的变化。从源头做滤波。

嗯 基准值算的有问题

MrLCL 发表于 2012-4-12 20:22:58

fusion 发表于 2012-4-12 19:01 static/image/common/back.gif
嗯 基准值算的有问题

我的L3G现在还没整好呢,寄存器读取的数据特别不稳定

htjgdw 发表于 2012-4-12 22:06:59

fusion 发表于 2012-4-12 19:01 static/image/common/back.gif
嗯 基准值算的有问题

最好每次使用陀螺仪前先做校准。去掉偏差值

fusion 发表于 2012-4-12 22:33:56

MrLCL 发表于 2012-4-12 20:22 static/image/common/back.gif
我的L3G现在还没整好呢,寄存器读取的数据特别不稳定

我现在弄好了   陀螺仪对电机的调节量不知道该设多少现在就是一飞起来 四旋翼就左偏 遥控器微调设了很大了都不顶用

fusion 发表于 2012-4-12 23:13:18

htjgdw 发表于 2012-4-12 22:06 static/image/common/back.gif
最好每次使用陀螺仪前先做校准。去掉偏差值

嗯 那肯定的

MrLCL 发表于 2012-4-13 08:09:03

fusion 发表于 2012-4-12 22:33 static/image/common/back.gif
我现在弄好了   陀螺仪对电机的调节量不知道该设多少现在就是一飞起来 四旋翼就左偏 遥控器微调设了很 ...

要么你采用差补的方法,要么你就比较复杂的PID,顺便提醒你,你得找个基准,作为水平的参考。能发一个L3GD 的寄存器配置吗

fusion 发表于 2012-4-13 10:30:47

MrLCL 发表于 2012-4-13 08:09 static/image/common/back.gif
要么你采用差补的方法,要么你就比较复杂的PID,顺便提醒你,你得找个基准,作为水平的参考。能发一个L3G ...

初始化的时候采集一组数据作为基准的 ,下面是初始化

        IIC_WriteReg(L3G4200D_ADDR,CTRL_REG1,0x1F);        // CTRL_REG1           100Hz,带宽25,三轴都使能
        IIC_WriteReg(L3G4200D_ADDR,CTRL_REG2,0x00);           // CTRL_REG2           正常模式,高通滤波器截止频率为8HZ
        IIC_WriteReg(L3G4200D_ADDR,CTRL_REG3,0x00);        // CTRL_REG3           禁止Int1与Int2上的所有中断。这两个管脚此处没用
        IIC_WriteReg(L3G4200D_ADDR,CTRL_REG4,0x20);               // CTRL_REG4           输出范围2000dps,自测试关
        IIC_WriteReg(L3G4200D_ADDR,CTRL_REG5,0x50);        // CTRL_REG5           FIFO使能,高通滤波器使能
        GyroFIFOMode(FIFO_STREAM_MODE);

MrLCL 发表于 2012-4-13 10:34:51

fusion 发表于 2012-4-13 10:30 static/image/common/back.gif
初始化的时候采集一组数据作为基准的 ,下面是初始化

        IIC_WriteReg(L3G4200D_ADDR,CTRL_REG1,0x1F);       ...

好的,我有时间按照你的配置试试。我现在一般都得200多吧,寄存器里直接读取的数据值

fusion 发表于 2012-4-13 15:02:29

MrLCL 发表于 2012-4-13 10:34 static/image/common/back.gif
好的,我有时间按照你的配置试试。我现在一般都得200多吧,寄存器里直接读取的数据值 ...

静止的时候吗? 我的好像顶多几十

MrLCL 发表于 2012-4-13 21:54:28

fusion 发表于 2012-4-13 15:02 static/image/common/back.gif
静止的时候吗? 我的好像顶多几十

所以我就觉得这东西不行
页: [1]
查看完整版本: 最近问题不断啊 又是陀螺仪!