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

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

[复制链接]
jundao721 发布时间:2024-8-10 22:42
      过节吃完饭,回来继续测试板载传感器。本次测试ISM330DHCX,3轴加速度+3轴陀螺仪传感器,读Datasheet发现,是带嵌入式机器学习内核的,这部分还没有测试,趁这会先把基本功能测试一下。读完datasheet,了解个大概,看原理图,如图1所示:
2 f1 c8 v3 b) K% H% ?3 D1 ? 4-2.JPG , Q6 ^- s7 F( K: l( |* W. n
" y9 X( v, P& F
图1) C1 {) [: a) ]6 @8 \( ~
依然使用的SPI接口,根据前面的IC测试,思路搬过来使用。依然使用CubeMx现把框架搭一下,引脚定义如图2所示:
) `& D4 s  i; O, D! x  z# _+ F! K5 A 4-3.JPG 7 j, Q$ y3 Z' t
! Q/ a0 w# E+ ?
图2: A$ f; ?* G2 k* W- j
下面就是添加所需要的初始化代码,IC初始化如下:) K, s9 Q3 [$ ~/ U# {
  1. /* Start device configuration. */
    8 q: T/ |: ?9 M* l
  2.   ism330dhcx_device_conf_set(&dev_ctx, PROPERTY_ENABLE);; d! {) {* R: W
  3.   /* Enable Block Data Update */5 M  z0 ~/ l$ v9 _1 I
  4.   ism330dhcx_block_data_update_set(&dev_ctx, PROPERTY_ENABLE);9 B! k" s0 D9 _) \3 m  \9 g
  5.   /* Set Output Data Rate */
      ~! ~8 ]6 l, h+ D+ H# e$ _
  6.   ism330dhcx_xl_data_rate_set(&dev_ctx, ISM330DHCX_XL_ODR_12Hz5);/ ^' j2 T5 p7 B2 t# \
  7.   ism330dhcx_gy_data_rate_set(&dev_ctx, ISM330DHCX_GY_ODR_12Hz5);
    . x! y, S* h3 F2 j. y3 I# F
  8.   /* Set full scale */
    , v* X  i- E# o* Y
  9.   ism330dhcx_xl_full_scale_set(&dev_ctx, ISM330DHCX_2g);
    * w) n" v$ o. A# a4 \0 o$ d
  10.   ism330dhcx_gy_full_scale_set(&dev_ctx, ISM330DHCX_2000dps);
    9 i+ L  R& Q: P! n* t, Y
  11.   /* Configure filtering chain(No aux interface)
    + n8 u4 ?; E$ |2 H
  12.    *
    0 @% b. g0 o4 ]' u  h$ V2 Q
  13.    * Accelerometer - LPF1 + LPF2 path
    ) T7 z6 o2 J) ~0 o4 E- I; P; M
  14.    */6 O, `7 |) \4 R/ x3 U8 p& k- U
  15.   ism330dhcx_xl_hp_path_on_out_set(&dev_ctx, ISM330DHCX_LP_ODR_DIV_100);% J) P$ Y5 k& k' H! ?; h+ N
  16.   ism330dhcx_xl_filter_lp2_set(&dev_ctx, PROPERTY_ENABLE);
复制代码

! M# `8 k2 N7 J& z: l) |) }: q在while中添加读取数据的code,如下所示:
/ @. v* h! j: V4 e
  1. ism330dhcx_xl_flag_data_ready_get(&dev_ctx, &dreg);" D8 h) T3 X! D# w/ b, q
  2.                 if(dreg)
    8 S' C  B, G$ _/ F: p  l' g
  3.                 {3 d# T! Y: l5 S, l4 d! I# N# ]
  4.                          /* Read acceleration field data */
    + ]7 D) s& G6 @( \( C- n
  5.       memset(data_raw_acceleration, 0x00, 3 * sizeof(int16_t));
    # o  Q$ c" m1 [6 \
  6.       ism330dhcx_acceleration_raw_get(&dev_ctx, data_raw_acceleration);
    # u* x/ g  V! ^# q( u
  7.       acceleration_mg[0] =3 }3 C; M& p" E8 M: }
  8.         ism330dhcx_from_fs2g_to_mg(data_raw_acceleration[0]);* F; O6 P/ X9 K
  9.       acceleration_mg[1] =  I' Q9 o) F; m
  10.         ism330dhcx_from_fs2g_to_mg(data_raw_acceleration[1]);
    6 T  {$ \( O" X5 }7 E8 n
  11.       acceleration_mg[2] =! h- m8 R9 s$ A& n. Z
  12.         ism330dhcx_from_fs2g_to_mg(data_raw_acceleration[2]);! M0 B! e8 A' s4 |* u' x3 J
  13.                 }* v  y0 q+ b) _( n( u' A' [" l
  14.                  ism330dhcx_gy_flag_data_ready_get(&dev_ctx, &dreg);
    2 k, }5 }' J2 T; a: Q* R, C# @

  15. 4 N: @3 Z' h+ R! u# @1 N* \
  16.     if (dreg) {
    1 ?/ N' k3 u: k, k- `0 n
  17.       /* Read angular rate field data */0 ~) s+ ~( q/ }2 l" P
  18.       memset(data_raw_angular_rate, 0x00, 3 * sizeof(int16_t));& G: @. P( @7 r0 k) H( o( Y) C! V
  19.       ism330dhcx_angular_rate_raw_get(&dev_ctx, data_raw_angular_rate);
    6 ]1 R; s. M3 K  u; G
  20.       angular_rate_mdps[0] =+ H5 h. K8 }# ~3 C( |0 p
  21.         ism330dhcx_from_fs2000dps_to_mdps(data_raw_angular_rate[0]);& f% L- w* U* S, p3 ^# z
  22.       angular_rate_mdps[1] =
    # M8 F1 [$ e" v9 Z( ~
  23.         ism330dhcx_from_fs2000dps_to_mdps(data_raw_angular_rate[1]);
    4 a7 d' ^# |1 \# C- J. j$ E" d
  24.       angular_rate_mdps[2] =" ~+ M* N! w, w+ J5 L# {1 y# L. G; Z
  25.         ism330dhcx_from_fs2000dps_to_mdps(data_raw_angular_rate[2]);
    % `2 E+ x. h5 W, J; w
  26.   
    9 G) t: S( H) e- O; y
  27.     }3 v* s& l: J, y& |# R/ Y! k+ p

  28. / X4 u. g2 V) y2 P- b
  29.     ism330dhcx_temp_flag_data_ready_get(&dev_ctx, &dreg);
    . J0 N# Q( p+ _' [

  30. 4 ?9 r* h+ Y- \4 H: G
  31.     if (dreg) {: \6 M  Z; L+ n' Q  Z$ F! o
  32.       /* Read temperature data */4 K7 @- Z  j& ]0 }$ k) g
  33.       memset(&data_raw_temperature, 0x00, sizeof(int16_t));* T" t$ H; F! u
  34.       ism330dhcx_temperature_raw_get(&dev_ctx, &data_raw_temperature);
    # N# M; j% X: S" q; B
  35.       temperature_degC = ism330dhcx_from_lsb_to_celsius(
    2 P* m" K, ?6 o$ R
  36.                            data_raw_temperature);
    % k  e2 r; }! v0 `0 q4 n! s" f

  37. 3 l4 D- D7 v. u1 y
  38.     }
复制代码
# }" I/ \6 e5 K6 K( h' M- O5 A% x

" S$ o) a& O% l8 F$ r9 r/ k2 D9 W

) s& H' N  n% T3 V测试失败,显示hardware_fault,硬件错误。想了想,是晚上有点恍惚,把时钟配置错了,板载的外部时钟是16M,而cubemx中的默认时钟是8M,修改过来,重新生成项目,debug,测试结果如下;
: f. _. S) H: D+ I, u4 P& |2 E 4-1.JPG
9 ~, a+ F  c0 G( h) [, A7 ^+ ]5 g

$ `! v9 E# I6 I! [8 A图3
/ t5 K  Y9 ?- x% v0 A. }5 \8 Y% P# }% d- f6 t
: E9 s/ C; }3 W) f- Y% D
这段时间总是感觉知识浮于基础,得往深处继续挖掘学习。下次试一试Nano edge AI。
0 O" J* F2 g. \
& K2 L1 a' U& R+ K; L
收藏 评论7 发布时间:2024-8-10 22:42

举报

7个回答
y369369 回答时间:2024-10-18 10:01:12
Nano edge AI有得一搞啊楼主
0 E8 X/ p6 b7 @
你也是双下巴 回答时间:2024-10-18 10:04:42
y369369 发表于 2024-10-18 10:01
- T  ^/ a6 U" b. b8 Q* v8 X+ b( ONano edge AI有得一搞啊楼主
% T* A; z" `2 A
属实可以,等楼主5 P- b5 I4 J0 v& x0 f0 Y+ b8 s) v' j+ u
STMCU-管管 回答时间:2024-10-18 10:07:28
你也是双下巴 发表于 2024-10-18 10:04
0 E: J& ~$ F4 i0 e2 U属实可以,等楼主

7 {* D9 C& S. m- d4 J. H论坛有分享Nano edge AI 使用教程的可参考,https://shequ.stmicroelectronics.cn/thread-636670-1-1.html
5 s3 T! s; c, F5 ?0 r, H* j
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管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版