智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 1261|回复: 6
打印 上一主题 下一主题

K60移植数字陀螺仪出错!有图,还得麻烦各位神哥

[复制链接]

22

主题

167

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1488
威望
751
贡献
411
兑换币
442
注册时间
2015-1-27
在线时间
163 小时
毕业学校
陕西科技大学
跳转到指定楼层
1#
发表于 2015-5-9 20:24:09 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
陀螺仪是L3G4200D   用的硬件IIC   
黄色是陀螺仪积分出的角度,红色是角速度
问题就是 ,现在陀螺仪往正方向,速度就不能快,一快,就如图所示,那段黄色的直线上升区域,本该下去的。
是不是不能用硬件IIC?跪了





本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

0

主题

1

帖子

0

精华

注册会员

Rank: 2

积分
88
威望
54
贡献
22
兑换币
23
注册时间
2016-3-17
在线时间
6 小时
毕业学校
陕西科技大学
7#
发表于 2016-4-12 17:47:31 | 只看该作者
嗨,我也是陕西科技大学
回复 支持 反对

使用道具 举报

0

主题

10

帖子

0

精华

注册会员

Rank: 2

积分
151
威望
83
贡献
40
兑换币
43
注册时间
2015-2-5
在线时间
14 小时
毕业学校
陕西科技大学
6#
发表于 2015-5-10 21:44:52 | 只看该作者
顶顶顶
回复 支持 反对

使用道具 举报

22

主题

167

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1488
威望
751
贡献
411
兑换币
442
注册时间
2015-1-27
在线时间
163 小时
毕业学校
陕西科技大学
5#
 楼主| 发表于 2015-5-10 13:22:05 | 只看该作者

那个应该是好着呢,因为发现是陀螺仪自己溢出了还是怎么的,读出来的数据,角速度快到某个程度时,就会溢出·,翻转到另一边······不知道怎么处理
回复 支持 反对

使用道具 举报

4

主题

134

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2696
威望
1265
贡献
763
兑换币
845
注册时间
2014-2-22
在线时间
334 小时
毕业学校
东大
4#
发表于 2015-5-10 09:25:24 | 只看该作者
采样率对吗
回复 支持 反对

使用道具 举报

22

主题

167

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1488
威望
751
贡献
411
兑换币
442
注册时间
2015-1-27
在线时间
163 小时
毕业学校
陕西科技大学
3#
 楼主| 发表于 2015-5-9 20:42:09 | 只看该作者
顶  人工顶
回复 支持 反对

使用道具 举报

22

主题

167

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1488
威望
751
贡献
411
兑换币
442
注册时间
2015-1-27
在线时间
163 小时
毕业学校
陕西科技大学
2#
 楼主| 发表于 2015-5-9 20:25:15 | 只看该作者
        IIC_Receive[0]=i2c_read_reg(I2C0,L3ADD,0X2A)-150;                         //   Y
        IIC_Receive[1]=i2c_read_reg(I2C0,L3ADD,0X2B)-22;                         //数据合成
    //    IIC_Receive[3]=IIC_Receive[3]+100;
        dis_datay=(IIC_Receive[1]*256)+IIC_Receive[0];     //因为经过了自检,初始后波形更好,但是不在0位

                                                                                                        //需要加修正值,Z轴同理
        IIC_Receive[2]=i2c_read_reg(I2C0,L3ADD,0X2C)-60;                         //    Z
        IIC_Receive[3]=i2c_read_reg(I2C0,L3ADD,0X2D)-227;                          //
        dis_dataz=(IIC_Receive[3]<<8)+IIC_Receive[2];     //      
        
        IIC_Receive[4]=i2c_read_reg(I2C0,L3ADD,0X28)-210;                         //    X
        IIC_Receive[5]=i2c_read_reg(I2C0,L3ADD,0X29)-231;                          //
        dis_datax=(IIC_Receive[5]<<8)+IIC_Receive[4];     //     
        
        

        
        L3_Angy+=dis_datay/350;
        L3_Angx+=dis_datax/350;
        L3_Angz+=dis_dataz/350;
        OutData[0]=dis_datay;
        OutData[1]=L3_Angy;
        OutData[2]=L3_Angz;
        OutData[3]=L3_Angx;
        
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-9-23 01:40 , Processed in 0.048971 second(s), 35 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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