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

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

[复制链接]
xyc2690 发布时间:2015-1-29 16:52
本帖最后由 xyc2690 于 2015-1-29 17:09 编辑 & U" h; X3 F) j; |0 V# V3 Q

& o* A7 F" {0 T2 e: ?1 P  k) t; S 1422516698921.jpg ( {0 [% w0 b, m' p6 }( S9 \- z
" I% h* h' Y0 t+ P. V
功能:DMP读取MPU6050四元数,转换成欧拉角。9 ]0 u! C2 Z, l

+ z" `0 x% t6 `9 _: b' r, [引脚:! G: _! E6 t# c3 G; q
& y# p: ~. o( ]. o1 m
        MPU6050:
$ N, h+ T; Z: S                SCL-->PB8
1 P3 ]  P1 A! l; G% N" H                SDA-->PB9
6 K5 t! j& n( }" p% A                ADO-->GND
. k# S1 P+ j& X  E/ \$ p# X3 ]* C
0 b8 u1 l2 T3 J: v# Y/ J4 B        USART1: Tx PA9
) N1 V6 {* V( }- X5 z) a+ y% [4 ?
0 z4 @" O' C$ y. k官方提供的DMP移植到Nucleo F072RB5 o9 k6 g" S" F# O# u8 d3 H
9 `' z3 ]$ f% q/ M
欧拉角:Roll Pitch Yaw2 I' i1 O; k  x0 p4 y
1 r* G7 h  q, n1 ?+ M7 F$ k! W4 [
2s左右初始化建立时间。- Z( y; Y7 R# M0 U

' b, E, G% V$ M/ q; }: c( cRoll和Pitch比较稳定。静止时数据没有漂移。3 B6 P/ ~1 q' m5 u
$ n- ]( x. T4 _; d5 U2 h1 D! h
Yaw会漂移,MPU6050,6轴无法校正。需要用磁力传感器。
* m8 E% Y5 N3 g) N& D4 J6 }
# D/ b/ j; X( T& J9 \ QQ截图20150129170500.jpg
# G1 |; x5 C" ?8 d之前直接去读原始数据,读出三轴加速度和三轴角加速度,但是数据融合一直不好,要做平衡车的话用到俯仰角和一轴角加速度就行了,后来才发现用DMP处理好的数据更方便。网上有许多移植到STM32F103的,但是手头没有103的板子,加上准备学习用新的HAL库,于是折腾了2天移植到活动送的NucleoF072上,IIC比较关键,认真的做好时序之后会很省心。最后读出的四元数是Q30的,要除一下。
1 g: O1 ]& u7 ^4 |! a" x* k QQ截图20150129145351.jpg
  J% ~! u/ i5 E& R& }8 W# |, d, ZIIC驱动那边需要注意一下,6050官方库里的函数返回值,成功返回0,异常返回-1,-2 等。  一般写1表示成功,0表示失败。大家移植的时候注意一下。
9 k4 w  f0 T5 N" I/ ^存在FIFO溢出的问题,具体在dmp_read_fifo()函数里的mpu_read_fifo_stream()的最后+ U9 f2 r5 t1 g0 G$ ~
  1. if (tmp[0] & BIT_FIFO_OVERFLOW)
    2 N  u; X1 z& s2 E9 v+ K$ r9 A2 c7 u
  2. {+ S1 g/ o. f# M, k' d
  3.   mpu_reset_fifo();: ?$ f. [& T! [9 B( G
  4.   return -2;/ M2 P9 u4 [- L* @* _# C3 G3 T2 I$ e+ A
  5. }
复制代码
0 D5 e" J! `& i1 k, x$ Q  ]  ^
暂时把它注释掉了,有人知道如何解决吗?( P% e# ]$ u/ D2 p: X6 D

8 r0 m- S9 F- ]6 l0 ~; {& l参加活动有NucleoF072rb的板子并且有MPU6050的朋友可以试一下
4 x/ u% D% f- a& ^; Y5 ?4 E' V程序:" G2 a. e' Z* V" U! ~  c7 z9 j
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 : Z: N; L) ]8 c5 p" V  A# T5 I
xyc2690 回答时间:2015-1-30 17:23:22
逍遥李 发表于 2015-1-30 07:49
9 J/ `$ t; h- m5 b/ _$ j可是我手里只有那种TT电机,楼主选的是什么电机?
0 {! K& i* F* q3 A+ l1 i9 T
也是用的减速电机,, }6 `; Y6 K& H& k
电机的话看参数:电流/扭矩常数、电压/转速常数; f6 b! M! \6 N; ?! A
选力矩大一些的电机就行了。
逍遥李 回答时间:2015-1-31 14:18:28
xyc2690 发表于 2015-1-30 17:23
7 ]$ k6 {  i8 Q2 R' ^% ^$ f' M也是用的减速电机,7 N- ], L8 |' f+ f5 a3 h
电机的话看参数:电流/扭矩常数、电压/转速常数
+ [: M+ A4 a8 D  z% u选力矩大一些的电机就行了。 ...

# I7 L1 h3 W! D2 w- {( C; _好的,多谢,回头做了还需要楼主多多指点!
沐紫 回答时间: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' Y( J% Z0 F; c2 ^  z/ _1 L7 y6 |1 D6 U
果然有人搞MPU6050二轮车了!顶你啊楼主,我也想用nucleo弄一个二轮车,期待下次活动! ...
1 B/ h+ {7 L+ t  a
电机好好选哈~
xyc2690 回答时间:2015-1-29 23:04:35
沐紫 发表于 2015-1-29 17:53
6 e6 v) m1 @* U- Z+ z* m/ X谢谢!
. @! l( C7 y8 O+ p1 }5 O5 A+ I, o
多谢版主的开发板
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  i) Q$ ^- t5 g3 r# f8 f" y: u, u2 [
电机好好选哈~
: G; _. H3 R/ D; G# c( g
可是我手里只有那种TT电机,楼主选的是什么电机?
埃斯提爱慕 回答时间:2015-1-30 11:50:50
提示: 作者被禁止或删除 内容自动屏蔽
wu1169668869 回答时间:2015-1-30 12:57:36
QianFan 发表于 2015-1-29 20:07+ v9 t8 g( E8 ?3 B/ X3 Q
话说那一坨焊锡挺值钱的。。。

1 f: [8 x/ R' b好诡异的关注点哈哈
123下一页

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版