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

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

[复制链接]
xyc2690 发布时间:2015-1-29 16:52
本帖最后由 xyc2690 于 2015-1-29 17:09 编辑
7 O4 a( g8 f- @5 A8 ^5 T; [6 H* o) b2 A+ Y) u
1422516698921.jpg
! X7 r+ ~* H' b" ?& T; L+ L" s1 t( v- Y% R! U% u4 w& i  [/ Y5 A
功能:DMP读取MPU6050四元数,转换成欧拉角。' c3 |& e4 g) U* g3 R- _
/ V3 G! G; t. M( v+ s- M
引脚:
# j0 T0 Q, E/ [- f: b" O9 }5 E% g: T# ^3 a  D$ v1 j5 r: d
        MPU6050:" z/ ?+ o4 n+ U& a
                SCL-->PB8: p( H/ R" A/ p* E& O/ R1 u7 L
                SDA-->PB9  g. U( v* C% }7 \6 p! w( [' v. i
                ADO-->GND$ [9 D3 I" L. @' ~0 C0 H

& u  c2 {6 N5 q        USART1: Tx PA9
: A$ z% p* b  S. g/ t* w" |
9 N' m, D: M/ t8 _5 x. {官方提供的DMP移植到Nucleo F072RB/ V' C$ o! `7 {: Q

: u$ d3 v  p8 K* @' O  e% N欧拉角:Roll Pitch Yaw$ Q4 g6 Y( l+ Y* J
! @1 d: j' T- o; P+ P! W7 q* o
2s左右初始化建立时间。" a9 O* U4 L# ~. B9 Y7 F
! B4 n: F+ ?3 m$ D8 m* k" m
Roll和Pitch比较稳定。静止时数据没有漂移。% f! i5 ?3 j8 ?, Y, f7 v
9 [5 [% |  k; \  q
Yaw会漂移,MPU6050,6轴无法校正。需要用磁力传感器。: G/ q- b2 a5 W( O+ X% d$ K7 E' g

8 e: v- {+ A* _7 P0 T( z  F QQ截图20150129170500.jpg 0 n; O5 }- O+ [8 t1 h
之前直接去读原始数据,读出三轴加速度和三轴角加速度,但是数据融合一直不好,要做平衡车的话用到俯仰角和一轴角加速度就行了,后来才发现用DMP处理好的数据更方便。网上有许多移植到STM32F103的,但是手头没有103的板子,加上准备学习用新的HAL库,于是折腾了2天移植到活动送的NucleoF072上,IIC比较关键,认真的做好时序之后会很省心。最后读出的四元数是Q30的,要除一下。" q, D- j  ]7 X0 j% @8 [" X" U8 Q7 F
QQ截图20150129145351.jpg
4 m# ~) C# w. n  D4 CIIC驱动那边需要注意一下,6050官方库里的函数返回值,成功返回0,异常返回-1,-2 等。  一般写1表示成功,0表示失败。大家移植的时候注意一下。. Y) X: |9 ]6 |" M3 E2 B" }
存在FIFO溢出的问题,具体在dmp_read_fifo()函数里的mpu_read_fifo_stream()的最后
' W+ o& G" Q9 z9 F7 l1 K5 E: g3 `! P
  1. if (tmp[0] & BIT_FIFO_OVERFLOW) . f7 B6 p& ^% ]* ~& t5 K
  2. {
    + w# t8 ]9 _- z. Z  M. `2 [5 w( n
  3.   mpu_reset_fifo();
    : R5 D6 X/ l! ]4 u- n7 N
  4.   return -2;
    ; T7 E2 ?- ?+ S9 `* s3 f
  5. }
复制代码

6 j8 S0 I" `0 U1 w5 F; c暂时把它注释掉了,有人知道如何解决吗?9 Z! z! h7 d$ r
# ]- h; w( q; D. @+ D5 ^
参加活动有NucleoF072rb的板子并且有MPU6050的朋友可以试一下' K- N8 B$ i9 i9 h5 ~  V; ^" P
程序:
) ~5 l: y! O6 K 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 ' x7 \- k% j+ S* N
xyc2690 回答时间:2015-1-30 17:23:22
逍遥李 发表于 2015-1-30 07:49
' b1 P% y+ A+ Y/ q可是我手里只有那种TT电机,楼主选的是什么电机?
; G9 m/ U# _) ], C- c- Z1 n+ S
也是用的减速电机,/ q1 S4 O* x6 x) T$ `
电机的话看参数:电流/扭矩常数、电压/转速常数
& U3 J. J- n% G3 b- B选力矩大一些的电机就行了。
逍遥李 回答时间:2015-1-31 14:18:28
xyc2690 发表于 2015-1-30 17:23- r+ l  k6 P. z8 E5 _, V
也是用的减速电机,
0 }& s0 A. ~) H- I% ]电机的话看参数:电流/扭矩常数、电压/转速常数
6 {, P6 A8 Q# I& }选力矩大一些的电机就行了。 ...
4 x6 r1 ^! }. W6 |
好的,多谢,回头做了还需要楼主多多指点!
沐紫 回答时间: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; B7 Z+ N: p- [* g9 [6 M: A
果然有人搞MPU6050二轮车了!顶你啊楼主,我也想用nucleo弄一个二轮车,期待下次活动! ...
; I4 A  [3 u5 g& [$ x, `1 g1 t
电机好好选哈~
xyc2690 回答时间:2015-1-29 23:04:35
沐紫 发表于 2015-1-29 17:53
$ ?" `0 I$ ?% c. N谢谢!

3 _- J9 x5 U- W' E& ]5 E# E多谢版主的开发板
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:030 W- `# |9 L: u- Z; @
电机好好选哈~
$ H1 i5 b# k7 T: g. B# K3 G/ U1 k
可是我手里只有那种TT电机,楼主选的是什么电机?
埃斯提爱慕 回答时间:2015-1-30 11:50:50
提示: 作者被禁止或删除 内容自动屏蔽
wu1169668869 回答时间:2015-1-30 12:57:36
QianFan 发表于 2015-1-29 20:07: D8 g$ J' H$ I( m& T0 I  r# |
话说那一坨焊锡挺值钱的。。。

6 h. c6 L0 W. R, w3 C+ S好诡异的关注点哈哈
123下一页

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版