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

【STM32F3探索套件开发】——神奇的MEM传感器初探(更新到第3篇:指北针)

[复制链接]
sacq12 发布时间:2013-3-31 23:14
神奇的MEM传感器初探
7 j5 Q* R) ^* V ! F7 h: ~0 F1 y/ K( K
STM32F3 DISCOVERY的主芯片是 STM32F303,与F1系列相比,增加了浮点DSP功能;  p! y1 F3 i; A+ r0 c( k
STM32F3 DISCOVERY这块板的最大特色,那就是板载了2颗MEM传感器:- m9 K, D. u- r  w5 Y
3轴数字输出陀螺仪L3GD20(在板上位于主芯片与8个LED之间)、: G7 ~1 Q0 ]! ]: O
3轴数字输出的加速传感器和磁传感器模块LSM303DLHC(在板上位于旁边一个USB口的下侧)。
8 J' N, ?, N. e# ~1 B" D: ~3 e 
( r9 @5 H+ _5 q/ z从出厂时内置的演示程序里便已初步领略了这几个传感器的神奇的魅力。$ t7 l" E7 u2 b  _7 y+ X( p2 j
 
. Y; M! ?1 A8 n5 O$ W从官网下载的例程中找到了这个演示程序的原代码。例程压缩包文件名:stm32f3discovery_fw.zip
7 C7 r+ K# W2 } & Z$ M; ~# f$ V, z4 ^
当拿到板子激动得手足无措时,不妨多看看原代码,相信会有不少收获的——0 q8 k2 ^2 K& W- g- k) F
 
) o  y' `- T9 }, g1) 节录几个 陀螺仪 ( Gyroscope)的片断:
# M6 \9 O! |! Q    
1 ^: K6 H" C8 \8 b$ L    /* Demo Gyroscope */
8 S' u" q4 Y1 x    Demo_GyroConfig();
) w/ s. o: D( s 9 B" A8 Y3 Z' k1 y& i
         0 a6 o% p; b/ Y
      /* Read Gyro Angular data */
6 ?6 n2 ^( v) Q+ F3 Z) S      Demo_GyroReadAngRate(Buffer);3 y- c, Q& D/ h2 N& h" ^$ @% A
         $ ~  }- v. P6 f3 q& J
      /* Update autoreload and capture compare registers value*/
, z" j9 K* z  q, s      Xval = ABS((int8_t)(Buffer[0]));
- l' H) B% Z: L9 v; \! U# p      Yval = ABS((int8_t)(Buffer[1])); 6 h5 v) L  o0 i" v8 ?0 ]" _" W! D
      Zval = ABS((int8_t)(Buffer[2]));   //         + Z  [这是我仿照上面2行增加的Z轴] 
" r7 P! f; _* u1 F8 }9 n9 N 
' D- S# t+ I1 |" d: F            printf("\n\r X=%i  Y=%i  Z=%i \n\r",(int8_t)(Buffer[0]),(int8_t)(Buffer[1]),(int8_t)(Buffer[2]));         // 从串口输出 
' S7 C# N0 i' F* O3 ?" X$ O 
) u0 Z3 Q' z8 w 
- ]+ R) V' c6 \8 q+ q1 q- r+ `; J ! G9 c% t$ p- @- W7 l9 s9 D
2) 从3轴加速度计算出板子的倾斜角度
/ P' a. O$ s9 \; J% h - C, W  ], ]5 e+ r' ?
在演示的第3段的指北针的演示中已经看出,当板子倾斜到一定角度时,8个LED是闪烁的,不再指示方向。从原代码里可以找到这一段看起来有点复杂的计算角度的程序,确实值得好好学习的。
/ ~  i0 b) z* @' Y8 q( Y4 W 
1 R3 z  W- M7 A: j6 y& z- ~当然 ,现成的算好的角度不用白不用,不妨显示一下:* L2 b( q& v9 `! A/ h; t" e
 - r( ^6 _3 g& \$ f
板子倾斜时
1 I: i7 v5 e8 D& _ DSC09781-斜放-.jpg
) U* x3 y+ ~: N5 y 
3 J% V! P  A* t$ O) }板子直立! c7 v& w  f9 u% ?% V
DSC09779-竖立-.jpg ' j6 l% P" p' D3 I2 P+ {
 
# m) v. O& w" \- V* W: O5 }板子平放 + A& H4 _# X; E3 O9 h
DSC09780-平放-.jpg
) U2 A7 g1 F9 L9 p 
. o, p0 |. t  q" `+ Y0 T 
; t1 U4 v' x- Z' W* l/ d( P另外,板子有现成的USB口(用起来有点难度,尤其在PC端需要个类似的“USB助手”才好),没有现成的串口(实在需要自己外搭简单的电平转换)。
+ l) a0 K- C1 s8 z+ V# wLCD驱动问题,已有“枫叶”等先驱者开路在前,并也已运行了GUI的DEMO,值得参考学习,受益很多。9 T- O9 e' m; {+ O
 $ A) c7 ~; C0 w8 ?2 E
 
' _# }5 q2 \' {7 x3 p # Y& I7 I1 v7 S+ p
 4 x  v% W8 q* k! K  ?# g2 ?
 . S( q7 q7 N; ^, |6 \
 
赞 收藏 1 评论4 发布时间:2013-3-31 23:14

举报

4个回答
sacq12 回答时间:2013-3-31 23:33:02

RE:【STM32F3探索套件开发】——神奇的MEM传感器初探

官方例程压缩包文件:stm32f3discovery_fw.zip
+ E+ f3 }/ U, e/ W3 }& _* _
5 G5 K- M8 \/ \1 r, A在百度盘里放着,32M; i5 j4 V  d# W! {
7 _; S0 {& A/ r4 e0 s8 ^" d) P
https://pan.baidu.com/share/link?shareid=422868&uk=7060361439 ~2 ?2 o. K4 L( _. x
/ k& q, N% P( t4 x8 f' w
说明文档在这里找,那个AN4157的就是:, d5 H6 x: Z4 B: j& c+ G; w5 ^1 o
* Q. x4 I$ G1 C# i8 I- ~0 V" X" h
https://www.stmcu.org.cn/download/index.php?act=ziliao&id=149
sacq12 回答时间:2013-4-11 22:59:21

RE:【STM32F3探索套件开发】——神奇的MEM传感器初探

 
& g4 S3 _8 A* ?7 T* Y. e8 A( j3轴加速度的实时曲线显示
$ g3 f: z0 m3 _* ?. M
/ k, a4 r. [9 C1 u9 H$ `* \2 ^& L前面(1楼)已经对开发板的角度进行显示,角度是通过对不同轴向的加速度值计算出来的。5 j# N) h+ n9 O( a( t1 Y
这里再对这3个轴向的加速度值的实时变化已曲线形式显示出来。/ t: u+ f" o: r
按数据手册的定义,XYZ 的3轴方向如下所示:  z5 f7 a, }$ T: z1 B
 0 ?9 D, N3 r; n- V. V
 
. t; Z- m2 E. L6 R- [. j9 Z XYZ.jpg # Z: r$ M! V  x- [, p/ u
(图 XYZ.jpg)
8 d; }8 A1 J0 z) @2 q / A6 n% N' n; A- W% o! v: m6 |
对应于开发板:
) \4 Z5 B% a% y( H9 i5 o6 B( N) d+ e 板XYZ.jpg
3 x) P# [; i. E9 I(图 板XYZ.jpg)
5 K7 Y6 ]8 r8 N5 L0 C! r . B' p. h- {4 `+ z
好了,3个轴的加速度方向就是图中红线所标的;下面再说数据的范围:
8 D4 G/ m9 F! ~$ O9 j- q" O
1 d$ e0 o/ j+ j0 H( s% }如果,不加以其它“暴力”,3个轴向的加速度值是+/-1G(1个重力加速度嘛),图中显示数值的范围大约是:-1000~1000,单位是mG。3 T! ]; M: H! K2 P4 w5 f4 l/ y; p
 
$ Q$ L4 z( a5 R7 P% N$ h0 U: j来点真相吧:3 r* k+ q# J  S/ ?  q) Q
 
' E# Z8 T4 e2 s' K& d: i. ]$ i1 I- R GEDC0605-1.JPG ! J! u9 X7 \  e
 5 t0 F5 Y# G/ w
GEDC0607-2.JPG ( I1 j  [) @- w/ g4 U9 k; c
 % W2 R: X2 Y9 i
GEDC0610-3.JPG ! R1 s) W2 G. m# `
 5 Q2 |& Z6 B- W* L* I4 C# v# [+ A
板子倾斜角度,也在屏中不起眼的地方显示,作为参考。
sacq12 回答时间:2013-4-16 00:04:59

RE:【STM32F3探索套件开发】——神奇的MEM传感器初探(3楼更新了加速度曲线显示)

(第3篇)“指北针”来了0 ]6 Q' ~2 T8 c$ I

+ Y* g2 |1 q  u6 r9 |! b2 N如果仅用板上的8个LED来指示方向,当然是很粗糙的,也浪费了磁力计传感器的精度。0 q$ d4 F/ w5 B
+ k/ H; i* E2 B% S; @: h" g
下面就是在前面的基础上加的“指北”功能。
1 N7 k' S9 `  k9 `+ R 
/ }8 g) j9 R! X, m' A" I直接上图:
" G; d! D7 |6 _ 
6 l5 w: H0 G7 b+ g DSC09821-1-.jpg * P7 h# y" @# ], J
 , ?! j+ Y. E; t1 e
DSC09823-3-.jpg
* w) b6 O5 g" E! D8 z 
3 @6 C) h  x5 E5 A/ W! G$ \  t0 A# R DSC09822-2-.jpg 9 O4 n: _: p/ o% P
 
/ y4 s5 Y2 t3 s' S DSC09825-4-.jpg - Z& O! [! m& s
 
YELLOW TAO 回答时间:2018-6-6 16:38:20
楼主stm32f3discovery_fw.zip这个能否重新上链接

所属标签

相似技术帖

官网相关资源

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