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

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

[复制链接]
jundao721 发布时间:2024-8-10 22:42
      过节吃完饭,回来继续测试板载传感器。本次测试ISM330DHCX,3轴加速度+3轴陀螺仪传感器,读Datasheet发现,是带嵌入式机器学习内核的,这部分还没有测试,趁这会先把基本功能测试一下。读完datasheet,了解个大概,看原理图,如图1所示:
2 |: [, m8 |: U7 z 4-2.JPG
: l% Z5 E) s  }9 w1 g/ {- ]. C6 A

: W2 M" j/ ]1 K图1
9 G. @) `1 t& C8 c依然使用的SPI接口,根据前面的IC测试,思路搬过来使用。依然使用CubeMx现把框架搭一下,引脚定义如图2所示:3 S$ U( s* t/ T+ P# P
4-3.JPG # f' [6 |6 k1 F$ q" Z  T- L9 a
, E3 ~& A3 Z0 X+ |
图2
4 k2 y" {' o1 d1 Q1 ?# f下面就是添加所需要的初始化代码,IC初始化如下:
8 C7 h% s2 A" }) [
  1. /* Start device configuration. */+ y2 X0 s7 q8 w
  2.   ism330dhcx_device_conf_set(&dev_ctx, PROPERTY_ENABLE);# V1 O. M9 e! P" C
  3.   /* Enable Block Data Update */
    2 r3 R2 L" E0 e8 S' Y( p
  4.   ism330dhcx_block_data_update_set(&dev_ctx, PROPERTY_ENABLE);, U! @" V8 M* x1 D  _1 h5 O. G4 c: w; i
  5.   /* Set Output Data Rate */
    0 c4 p4 R5 B6 j; w  r# \( k5 j
  6.   ism330dhcx_xl_data_rate_set(&dev_ctx, ISM330DHCX_XL_ODR_12Hz5);' P7 A% R$ G# I  F* ~7 `4 y$ ]
  7.   ism330dhcx_gy_data_rate_set(&dev_ctx, ISM330DHCX_GY_ODR_12Hz5);
    9 q  I# ]9 V! P% @
  8.   /* Set full scale */# a; u; k& v( ~8 ?; @- z' K0 \% k
  9.   ism330dhcx_xl_full_scale_set(&dev_ctx, ISM330DHCX_2g);8 F/ l' \( W0 p! H
  10.   ism330dhcx_gy_full_scale_set(&dev_ctx, ISM330DHCX_2000dps);
    3 u3 _$ t9 d4 d6 L' o" D
  11.   /* Configure filtering chain(No aux interface)9 p: b* Z: E% X  o4 R) T2 Y+ g
  12.    *# m8 I6 U* a& v4 r+ F
  13.    * Accelerometer - LPF1 + LPF2 path
    2 c2 D; C  Y4 b2 K% C' {
  14.    */
    4 |1 e' Y& D$ A
  15.   ism330dhcx_xl_hp_path_on_out_set(&dev_ctx, ISM330DHCX_LP_ODR_DIV_100);
    1 X6 ~. @; `' S' L: ]
  16.   ism330dhcx_xl_filter_lp2_set(&dev_ctx, PROPERTY_ENABLE);
复制代码

( X$ k% V5 f+ l! w. s9 e& C在while中添加读取数据的code,如下所示:# V: n2 X( f% ], c
  1. ism330dhcx_xl_flag_data_ready_get(&dev_ctx, &dreg);2 w- }% M) K, P/ g; x/ X
  2.                 if(dreg)! \5 i9 N8 X6 r! n" B4 V
  3.                 {
    3 V2 {& J: m4 g: D) z0 L; m* c
  4.                          /* Read acceleration field data */
    / ]! Y+ l* F; |) ?$ W) s4 m
  5.       memset(data_raw_acceleration, 0x00, 3 * sizeof(int16_t));3 s6 P# V5 A, z2 u
  6.       ism330dhcx_acceleration_raw_get(&dev_ctx, data_raw_acceleration);
    / F3 c/ D$ ^, Q( I) Q7 ?" s
  7.       acceleration_mg[0] =
    - E6 f$ [) R# X) T  M1 a
  8.         ism330dhcx_from_fs2g_to_mg(data_raw_acceleration[0]);
    ( F5 }0 k, S1 ^' j+ F; r
  9.       acceleration_mg[1] =; w2 ]1 ~( B" z! U5 E
  10.         ism330dhcx_from_fs2g_to_mg(data_raw_acceleration[1]);' i9 W8 L+ c0 d( ?8 V; f
  11.       acceleration_mg[2] =8 a, S% k* W+ ]9 L+ J& b4 t, O
  12.         ism330dhcx_from_fs2g_to_mg(data_raw_acceleration[2]);5 X( a7 A1 O! P$ _4 D6 J5 Z, Y
  13.                 }& ~" P8 K* o( ^$ k
  14.                  ism330dhcx_gy_flag_data_ready_get(&dev_ctx, &dreg);
    * I1 l4 M6 X2 I1 V- Z( |' Y8 ?* p" R4 Y+ V
  15. * b, C2 \/ P1 n  a, P1 V
  16.     if (dreg) {$ E' ~) ~! y) d* j% j8 U
  17.       /* Read angular rate field data */9 s7 j1 a5 v5 h& J7 ?
  18.       memset(data_raw_angular_rate, 0x00, 3 * sizeof(int16_t));
    : U; V- |& A; N/ O
  19.       ism330dhcx_angular_rate_raw_get(&dev_ctx, data_raw_angular_rate);
    9 }0 M/ n, x6 U6 E& y/ X! d/ A+ Q7 M
  20.       angular_rate_mdps[0] =
    2 f, N+ a6 |7 a/ S1 t+ ~$ ?/ n
  21.         ism330dhcx_from_fs2000dps_to_mdps(data_raw_angular_rate[0]);
    1 ~) g: t* C2 t' }6 [5 c$ B) E
  22.       angular_rate_mdps[1] =
    ) \/ U: U* }$ b
  23.         ism330dhcx_from_fs2000dps_to_mdps(data_raw_angular_rate[1]);- q% H$ s+ b9 G5 S
  24.       angular_rate_mdps[2] =
    $ O' y$ l; D, w: P: S! V" L
  25.         ism330dhcx_from_fs2000dps_to_mdps(data_raw_angular_rate[2]);
    6 d6 P1 m+ w9 w" s& {, ^4 {
  26.   / Z4 K8 ?6 T1 @1 o
  27.     }
    : M1 t  v" p5 z& Y' G1 J

  28. 5 Z+ G+ P! k: k" d% \4 M* h
  29.     ism330dhcx_temp_flag_data_ready_get(&dev_ctx, &dreg);, ]+ \3 ~4 W) g( v) c% i5 Z$ Z
  30. . g8 ~) {+ W* l/ t
  31.     if (dreg) {4 C: u) h: _/ S; C
  32.       /* Read temperature data */( X% Z7 }* D9 B3 F
  33.       memset(&data_raw_temperature, 0x00, sizeof(int16_t));; M, a5 c8 E, P2 w8 L1 |$ ~
  34.       ism330dhcx_temperature_raw_get(&dev_ctx, &data_raw_temperature);
    # ?0 z6 L5 L# F  l
  35.       temperature_degC = ism330dhcx_from_lsb_to_celsius(9 |0 N/ k: l" F0 g+ L" F
  36.                            data_raw_temperature);
    8 {: y- f5 I9 u6 \" r; n' w) `

  37. ( P( r4 L3 ~6 D5 L+ e* p/ F2 G
  38.     }
复制代码

4 j0 D; F6 g3 `, w: W+ n6 [7 r/ L8 X( ~% A; M9 Q

1 y* f. l+ `0 ^. A- S. v1 S. F测试失败,显示hardware_fault,硬件错误。想了想,是晚上有点恍惚,把时钟配置错了,板载的外部时钟是16M,而cubemx中的默认时钟是8M,修改过来,重新生成项目,debug,测试结果如下;: t& o7 g4 z. m: \- |
4-1.JPG 7 \9 x4 @. \" d0 E% @8 e
! T% ?: f3 Q/ {1 V% _
图3
, p3 ^* R/ Y8 W2 x( U2 j5 K6 ]! S9 w

' R0 v# a8 O) J: B- A+ Y' L5 j这段时间总是感觉知识浮于基础,得往深处继续挖掘学习。下次试一试Nano edge AI。
) t% c$ W; I. ~9 |! L8 m9 F% W1 W+ [' T3 U$ x4 o% ]( b6 O0 e
收藏 评论7 发布时间:2024-8-10 22:42

举报

7个回答
y369369 回答时间:2024-10-18 10:01:12
Nano edge AI有得一搞啊楼主
9 a% A* i' m. Q+ Z$ h" Y6 x
你也是双下巴 回答时间:2024-10-18 10:04:42
y369369 发表于 2024-10-18 10:01
, W2 Z; M- ^& ]! h+ s, D  gNano edge AI有得一搞啊楼主
: P; e4 f; E! B( D" x, B
属实可以,等楼主- A/ b  U! T8 c. h, U
STMCU-管管 回答时间:2024-10-18 10:07:28
你也是双下巴 发表于 2024-10-18 10:04
$ {4 R  k  E5 f& a6 M" L0 I属实可以,等楼主
& c; Y0 H9 |; x* m* n/ S: A
论坛有分享Nano edge AI 使用教程的可参考,https://shequ.stmicroelectronics.cn/thread-636670-1-1.html
- V* E6 g# ]2 s% M1 ?/ r
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 手机版