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

STWINKT1B评测】4.测试板载ISM330DHCX(6轴)

[复制链接]
jundao721 发布时间:2024-8-10 22:42
      过节吃完饭,回来继续测试板载传感器。本次测试ISM330DHCX,3轴加速度+3轴陀螺仪传感器,读Datasheet发现,是带嵌入式机器学习内核的,这部分还没有测试,趁这会先把基本功能测试一下。读完datasheet,了解个大概,看原理图,如图1所示:0 z& ?  a; x) J' p$ S1 \8 j7 ]
4-2.JPG   t3 \& C+ T, `+ C5 N

) M' v3 n- i1 V0 b5 \7 l图1' j/ ~7 s; C5 Q8 ^# z" }! M0 e
依然使用的SPI接口,根据前面的IC测试,思路搬过来使用。依然使用CubeMx现把框架搭一下,引脚定义如图2所示:" w6 p# h5 ~  `2 h1 r
4-3.JPG
3 W3 J2 V8 m5 E: o! s

, @' d2 u3 B8 D$ |5 Q1 R% X. m图2
+ M+ s, O8 @  l下面就是添加所需要的初始化代码,IC初始化如下:' }9 j( A" p3 W  Q. ]9 o; a
  1. /* Start device configuration. */8 t/ P, W- M7 T- a" x4 U
  2.   ism330dhcx_device_conf_set(&dev_ctx, PROPERTY_ENABLE);) n7 j* t8 @. }9 J5 z5 u6 e4 \
  3.   /* Enable Block Data Update */
    9 }5 m4 v' w; x4 R
  4.   ism330dhcx_block_data_update_set(&dev_ctx, PROPERTY_ENABLE);7 f3 [+ V, O. [8 X2 r; i
  5.   /* Set Output Data Rate */3 u! Z1 ?8 b' g- C3 S( w
  6.   ism330dhcx_xl_data_rate_set(&dev_ctx, ISM330DHCX_XL_ODR_12Hz5);) y6 ]) w) _; d, r5 M2 ?# G
  7.   ism330dhcx_gy_data_rate_set(&dev_ctx, ISM330DHCX_GY_ODR_12Hz5);
    ; x5 K8 D% R4 I* r+ E9 N- H% Z  G8 C
  8.   /* Set full scale */
    ( h3 w; T3 X) ?, B1 d% m( W
  9.   ism330dhcx_xl_full_scale_set(&dev_ctx, ISM330DHCX_2g);
      w7 U1 r2 O) U  I, R0 ?
  10.   ism330dhcx_gy_full_scale_set(&dev_ctx, ISM330DHCX_2000dps);
    8 _& ~9 _; A8 e8 s4 p3 F% c, ^$ K
  11.   /* Configure filtering chain(No aux interface)
    ( r$ g2 P% N3 ~  C4 ^) A0 a
  12.    *: W% d* M$ L) d0 E: z/ M  w
  13.    * Accelerometer - LPF1 + LPF2 path$ g& |& Q( E  ?
  14.    */6 [/ D; T1 |/ |6 M  M
  15.   ism330dhcx_xl_hp_path_on_out_set(&dev_ctx, ISM330DHCX_LP_ODR_DIV_100);- i% I6 q7 N5 j" N: S7 m
  16.   ism330dhcx_xl_filter_lp2_set(&dev_ctx, PROPERTY_ENABLE);
复制代码
2 M* o- p/ ?2 s2 }
在while中添加读取数据的code,如下所示:# |. n6 S3 s: @, L% S
  1. ism330dhcx_xl_flag_data_ready_get(&dev_ctx, &dreg);2 T: m. C5 I# Z; r+ `+ I: J+ M* z
  2.                 if(dreg)( e, \- ]- k7 ?6 k% o$ b& W+ z) G
  3.                 {
      A3 N. x/ D& y6 t0 ~0 @
  4.                          /* Read acceleration field data */
    " a) k( m. T- T# r1 ^! [: Y
  5.       memset(data_raw_acceleration, 0x00, 3 * sizeof(int16_t));3 F, h  |8 M* z; x% y9 j% W3 o
  6.       ism330dhcx_acceleration_raw_get(&dev_ctx, data_raw_acceleration);
    & a7 e( r3 t1 k
  7.       acceleration_mg[0] =' Y& B( Z+ a* I3 \+ Y
  8.         ism330dhcx_from_fs2g_to_mg(data_raw_acceleration[0]);
    0 L& U9 o# v* M+ u5 ]! K
  9.       acceleration_mg[1] =
    - }' a7 N" X7 M( V9 D2 c
  10.         ism330dhcx_from_fs2g_to_mg(data_raw_acceleration[1]);
    0 z* b% @* U" D  g  C5 j
  11.       acceleration_mg[2] =& C- D* N5 N* \" I( @: t- ^
  12.         ism330dhcx_from_fs2g_to_mg(data_raw_acceleration[2]);
    - s. Y3 b# s4 I: {8 X. _
  13.                 }' x. i. W* [' _9 l' q$ B, A1 H
  14.                  ism330dhcx_gy_flag_data_ready_get(&dev_ctx, &dreg);
    * [; H$ ?. }! l- @$ r* N" q
  15.   H" h3 P: J) l$ N6 `
  16.     if (dreg) {7 G  m5 U% J) v1 A6 u
  17.       /* Read angular rate field data */, l$ u' x# Z1 l" w: `5 K( V
  18.       memset(data_raw_angular_rate, 0x00, 3 * sizeof(int16_t));, i) B9 L3 z8 X/ F& o, J
  19.       ism330dhcx_angular_rate_raw_get(&dev_ctx, data_raw_angular_rate);: d" q0 l. y# t: c0 L
  20.       angular_rate_mdps[0] =
    6 F8 O; d, ?0 H) ]
  21.         ism330dhcx_from_fs2000dps_to_mdps(data_raw_angular_rate[0]);
    ( y1 b- Z# Q& f  l
  22.       angular_rate_mdps[1] =
    , s) v) ~5 u% z7 p' B6 `
  23.         ism330dhcx_from_fs2000dps_to_mdps(data_raw_angular_rate[1]);
    6 p: A; `; f3 n( @5 M
  24.       angular_rate_mdps[2] =* ]: c( I" n8 N& P' u
  25.         ism330dhcx_from_fs2000dps_to_mdps(data_raw_angular_rate[2]);2 a* i" w( N% m( M4 u/ w. p- I4 [
  26.   
    9 X% u$ e! I/ C, b6 p9 o/ v
  27.     }/ u! x* W, J% M- L& u  [& [

  28.   |  t! E- l1 W' d. f  p2 X" T  b
  29.     ism330dhcx_temp_flag_data_ready_get(&dev_ctx, &dreg);
    & f/ S* K  ~( v' j3 U
  30. ; U& Y8 E: w+ W% Q( ]% W6 h
  31.     if (dreg) {' F( g# L9 \, J
  32.       /* Read temperature data */  k/ y9 x, ]0 O% o
  33.       memset(&data_raw_temperature, 0x00, sizeof(int16_t));
    7 U, I& n% B. Q' u
  34.       ism330dhcx_temperature_raw_get(&dev_ctx, &data_raw_temperature);, ]5 Y+ Q; O. {/ ~9 N
  35.       temperature_degC = ism330dhcx_from_lsb_to_celsius(
    1 D0 V3 p2 K4 J1 c* ^, S( d
  36.                            data_raw_temperature);5 Q0 |2 |  k* g" ?- G

  37. " h) e  C8 `4 S1 a; x( r& G
  38.     }
复制代码
2 h+ c( y0 g9 L( j3 `0 J" R

% B/ v: W4 N0 }% n0 H: Y3 _. n. m9 @

7 s' `' d) U) v9 s测试失败,显示hardware_fault,硬件错误。想了想,是晚上有点恍惚,把时钟配置错了,板载的外部时钟是16M,而cubemx中的默认时钟是8M,修改过来,重新生成项目,debug,测试结果如下;4 q# o' _$ K7 J) ?9 g* |: u9 n
4-1.JPG , `1 a8 S3 `1 t) \$ ?" }8 K

5 t- r- _& ^% v% z9 t图3
+ H6 q4 k% [$ B4 m! q( R4 d! y+ y# ~7 {7 H

4 T0 b, `6 o3 ^- `/ I: Z0 X5 x# q这段时间总是感觉知识浮于基础,得往深处继续挖掘学习。下次试一试Nano edge AI。) a- U& d8 b2 V

/ e0 o/ Z0 m% _/ |' o* ^
收藏 评论7 发布时间:2024-8-10 22:42

举报

7个回答
y369369 回答时间:2024-10-18 10:01:12
Nano edge AI有得一搞啊楼主$ `9 Y, U* U; \  I3 b, y& O
你也是双下巴 回答时间:2024-10-18 10:04:42
y369369 发表于 2024-10-18 10:01
& I9 D: y0 v5 H2 H, zNano edge AI有得一搞啊楼主
+ f) H7 n4 T1 L$ o4 Z- x
属实可以,等楼主4 t, K+ ^- g# l, s. d# T
STMCU-管管 回答时间:2024-10-18 10:07:28
你也是双下巴 发表于 2024-10-18 10:04$ X* x5 j: v" a
属实可以,等楼主
. {9 S0 k4 H' Z5 v
论坛有分享Nano edge AI 使用教程的可参考,https://shequ.stmicroelectronics.cn/thread-636670-1-1.html
5 u) K9 @8 D" g7 j; `( [2 I' X
embiied 回答时间:2024-10-18 10:32:11

STMCU-管管 发表于 2024-10-18 10:07
论坛有分享Nano edge AI 使用教程的可参考,<a href="https://shequ.stmicroelectronics.cn/thread-636670-1-1.htm">https://shequ.stmicroelectronics.cn/thread-636670-1-1.htm</a> ...

这个帖子之前看过,写的不错

ghost110 回答时间:2024-10-18 10:37:44

加油

jundao721 回答时间:2024-10-18 13:26:23

y369369 发表于 2024-10-18 10:01
Nano edge AI有得一搞啊楼主

哈哈,稍等片刻。

jundao721 回答时间:2024-10-18 13:26:51

你也是双下巴 发表于 2024-10-18 10:04
属实可以,等楼主

必须更新!

所属标签

相似分享

官网相关资源

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