你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【Nucleo】F072RB DMP移植 ----六轴MPU6050 欧拉角  

[复制链接]
xyc2690 发布时间:2015-1-29 16:52
本帖最后由 xyc2690 于 2015-1-29 17:09 编辑
. a' O( b# G6 J$ A. Q
4 _& G2 c- e! P9 ]# N0 p- n" Q9 B 1422516698921.jpg
0 d, H5 ^% i) z. v" ~5 Q& c! e6 B  O/ h! @! [
功能:DMP读取MPU6050四元数,转换成欧拉角。
. Y- A+ c- F9 _& Z
6 x* ^# ?" f" g! V  t  O, o引脚:
7 n* {. B/ a! Z% h0 z+ |! ?% Q; e) T6 F) B1 A' F3 o' w$ U6 A; o
        MPU6050:
3 Q+ [  T8 L) r- N                SCL-->PB8
1 @0 b. y# E4 Y, V0 G, |6 Z4 d                SDA-->PB9  u1 m9 x) o; r; o3 i
                ADO-->GND
9 g1 K$ m, S3 m; I. f! _
. M5 G7 I( W/ W( ^# Y0 y5 E, f0 T        USART1: Tx PA9: ~1 @  u: ~( U: o0 ?

( w; ]3 ^. X9 O6 ]官方提供的DMP移植到Nucleo F072RB6 R0 s! ]9 O8 G+ a( y& z6 F6 J- I( J1 r& c

4 Q# d9 i( p' V; \5 p: b9 ~4 S欧拉角:Roll Pitch Yaw
' v# M0 r- F* I5 ?: _; X# U5 r! q3 }. O2 t" q) `
2s左右初始化建立时间。' s9 e, M9 I- N9 A' y

" m$ E& t  X; |6 JRoll和Pitch比较稳定。静止时数据没有漂移。& C3 ^9 \7 l4 j  K! `2 y
. R9 d+ m- X) ?7 ?! B
Yaw会漂移,MPU6050,6轴无法校正。需要用磁力传感器。
/ K* k  M0 J) Q6 S+ b; p- E. c
QQ截图20150129170500.jpg
, g- t: u  X7 g' [6 S之前直接去读原始数据,读出三轴加速度和三轴角加速度,但是数据融合一直不好,要做平衡车的话用到俯仰角和一轴角加速度就行了,后来才发现用DMP处理好的数据更方便。网上有许多移植到STM32F103的,但是手头没有103的板子,加上准备学习用新的HAL库,于是折腾了2天移植到活动送的NucleoF072上,IIC比较关键,认真的做好时序之后会很省心。最后读出的四元数是Q30的,要除一下。
: `4 f6 B# B/ Y$ N# J: ~5 D2 v5 ]8 Y QQ截图20150129145351.jpg " Z9 ?& ~9 t  t$ a
IIC驱动那边需要注意一下,6050官方库里的函数返回值,成功返回0,异常返回-1,-2 等。  一般写1表示成功,0表示失败。大家移植的时候注意一下。
+ |  U3 z* _; F; ~/ Z7 C) s& U存在FIFO溢出的问题,具体在dmp_read_fifo()函数里的mpu_read_fifo_stream()的最后
8 G  u' G+ T8 ?& `% M" o
  1. if (tmp[0] & BIT_FIFO_OVERFLOW)
    ; X1 h) f  ~" n3 _0 e
  2. {. B$ e* c) p6 D& y# G8 o
  3.   mpu_reset_fifo();
    ; J& u. U  q# ], x# {
  4.   return -2;
      q7 `, `  `# G7 ^5 L! s
  5. }
复制代码
" h6 c+ F0 D3 [3 U; Y
暂时把它注释掉了,有人知道如何解决吗?
$ e2 m; Y( H, }& c" u
' _# b$ p. ~' y5 S5 j参加活动有NucleoF072rb的板子并且有MPU6050的朋友可以试一下4 p' L( }! ]3 [
程序:
8 h6 g7 I" v" ~! Z3 S Nocleo_soft_i2c_test1 - 移植失败1失败2失败3成功4.zip (4.07 MB, 下载次数: 2995)
赞 收藏 3 评论38 发布时间:2015-1-29 16:52

举报

38个回答
党国特派员 回答时间:2015-1-31 14:04:03
学习了。 nothing.png nothing.png nothing.png nothing.png nothing.png nothing.png nothing.png nothing.png nothing.png nothing.png + q5 v( B) W. I* f
xyc2690 回答时间:2015-1-30 17:23:22
逍遥李 发表于 2015-1-30 07:49: m6 H$ Y$ |* |& H$ r( Q; |* ]
可是我手里只有那种TT电机,楼主选的是什么电机?

$ e& v5 P' E  h: ]+ ]& z7 Y- L; Z也是用的减速电机,
. W' U9 n6 ~& C# i+ E) {电机的话看参数:电流/扭矩常数、电压/转速常数
7 O( w; f9 m1 b  @+ n7 m选力矩大一些的电机就行了。
逍遥李 回答时间:2015-1-31 14:18:28
xyc2690 发表于 2015-1-30 17:230 J1 V$ t0 M/ q* ~) ~: H6 t
也是用的减速电机,
0 x7 {4 \5 A9 E: J  l电机的话看参数:电流/扭矩常数、电压/转速常数% C$ d4 f/ B$ m. {% Y
选力矩大一些的电机就行了。 ...

6 u7 ^8 X% V7 A; A: |# \8 V/ `好的,多谢,回头做了还需要楼主多多指点!
沐紫 回答时间:2015-1-29 17:53:38
谢谢!
逍遥李 回答时间:2015-1-29 18:40:44
果然有人搞MPU6050二轮车了!顶你啊楼主,我也想用nucleo弄一个二轮车,期待下次活动!
qianfan 回答时间:2015-1-29 20:07:46
话说那一坨焊锡挺值钱的。。。
万里-363223 回答时间:2015-1-29 21:31:16
好东西,谢谢分享.......
lkl0305 回答时间:2015-1-29 21:34:44
楼主辛苦
zhangdaijin 回答时间:2015-1-29 21:57:29
moyanming2013 回答时间:2015-1-29 22:31:48
很高大。。。。。。
xyc2690 回答时间:2015-1-29 23:03:31
逍遥李 发表于 2015-1-29 18:40
* z* Y1 J& I  d0 c/ m) c* P/ E果然有人搞MPU6050二轮车了!顶你啊楼主,我也想用nucleo弄一个二轮车,期待下次活动! ...
( i& ^$ f/ w$ I8 D2 }" A; w+ L
电机好好选哈~
xyc2690 回答时间:2015-1-29 23:04:35
沐紫 发表于 2015-1-29 17:53: V/ U- `7 q) I
谢谢!
0 C  I- E' ~- P$ I$ x& p
多谢版主的开发板
MouseCat 回答时间:2015-1-29 23:17:52
MARK围观学习了
小蚂蚁快溜跑 回答时间:2015-1-29 23:47:23
学习。。电脑y400.。
逍遥李 回答时间:2015-1-30 07:49:19
xyc2690 发表于 2015-1-29 23:03
- C2 ?1 A/ I; Z# y' Y- B+ e电机好好选哈~
1 A5 U  f7 V, C+ e/ b5 }
可是我手里只有那种TT电机,楼主选的是什么电机?
埃斯提爱慕 回答时间:2015-1-30 11:50:50
提示: 作者被禁止或删除 内容自动屏蔽
wu1169668869 回答时间:2015-1-30 12:57:36
QianFan 发表于 2015-1-29 20:07! H3 M: i6 X$ T: E& T) Z$ H
话说那一坨焊锡挺值钱的。。。
" }$ \' J  Y6 x' S2 o* D
好诡异的关注点哈哈
123下一页

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版