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

【STEVAL-STWINKT1B评测】第3辑:运动数据读取测试

[复制链接]
qintian0303 发布时间:2026-3-7 12:14



        我们在上一章已经实现了实时数据的读取,这一章节对其进行一下系统的测试,我们将从硬件方面到,软件测试看一下具体的变化情况。
        基本连接如下:
1.jpg


        我们先来看一下本次测试的数据类型,我们这里主要读取的运动数据包括ACC/GYRO/MAG。
        板子上的传感器原理图如下:
    2.jpg
一、ACC
        ACC(Accelerometer,加速度计)‌:测量设备在三个正交轴上的‌线性加速度‌,包括重力加速度。可用于判断设备姿态(如俯仰、翻滚)、检测运动状态(如静止、加速、自由落体)等 ‌,也就是说这个传感器测量的主要是动态数据加速度数据,静止和匀速应该是没有变化的,开发板中包括一个三轴(IIS2DH)和六轴(ISM330DHCX)都支持ACC的输出,在来到工程里面,我们可以看到ACC数据来自于三轴:
  1. #ifdef USE_IIS2DH
  2.   
  3.   if ( BSP_MOTION_SENSOR_GetAxes( IIS2DH_0, MOTION_ACCELERO, &mptr->acc ) == BSP_ERROR_COMPONENT_FAILURE )
  4.   {
  5.     mptr->acc.x = 0;
  6.     mptr->acc.y = 0;
  7.     mptr->acc.z = 0;
  8.     ret = BSP_ERROR_COMPONENT_FAILURE;
  9.   }
复制代码


        我们在串口看一下不同状态的输出:
  1. 静止状态:
  2. Acc_X: -46, Acc_Y: -15, Acc_Z :1078

  3. 加速运动状态:
  4. Acc_X: -93, Acc_Y: 203, Acc_Z :812
复制代码


二、GYRO
        GYRO(Gyroscope,陀螺仪)‌:陀螺仪用于测量物体的角速度,即绕X、Y、Z三轴的旋转速率,单位为弧度/秒(radians/second)。其原理基于角动量守恒或科里奥利力效应,通过检测内部振动元件的位移变化换算角速度。这里的数据从开发板上来看来源于六轴(ISM330DHCX),从源码中可以看到:
  1. if ( BSP_MOTION_SENSOR_GetAxes(ISM330DHCX_0, MOTION_GYRO, &mptr->gyro ) == BSP_ERROR_COMPONENT_FAILURE )
  2.   {
  3.     mptr->gyro.x = 0;
  4.     mptr->gyro.y = 0;
  5.     mptr->gyro.z = 0;
  6.     ret = BSP_ERROR_COMPONENT_FAILURE;
  7.   }
复制代码


        我们简单测试一下,主要通过移动和旋转看一下串口的输出差异:
  1. 平放桌面:
  2. Gyro_X:140, Gyro_Y:-560, Gyro_Z:-140
  3. 平面水平移动:
  4. Gyro_X:-770, Gyro_Y:-140, Gyro_Z:7000
  5. 平面水平转动:
  6. Gyro_X:59570, Gyro_Y:10220, Gyro_Z:-2450
  7. 平面垂直转动:
  8. Gyro_X:6720, Gyro_Y:112280, Gyro_Z:7280
复制代码


        有上面的测试输出数去可以看出来,不同的动作会影响GYRO的输出。
三、MAG
        MAG(Magnetometer,磁力计)‌:测量环境磁场强度,通常用于确定设备相对于‌地磁北极的方向‌(即航向角 Yaw),相当于电子罗盘 。也就是对于地球这个大磁场的角度。这里用到的磁力计是U13IIS2MDC,源码中采集代码如下:
  1. if ( BSP_MOTION_SENSOR_GetAxes(IIS2MDC_0, MOTION_MAGNETO, &mptr->mag ) == BSP_ERROR_COMPONENT_FAILURE )
  2.   {
  3.     mptr->mag.x = 0;
  4.     mptr->mag.y = 0;
  5.     mptr->mag.z = 0;
  6.     ret = BSP_ERROR_COMPONENT_FAILURE;
  7.   }
复制代码


        我们测试一下:
  1. 水平放置:
  2. Magn_X:-202, Magn_Y:82, Magn_Z:-300
  3. 水平90°:
  4. Magn_X:-196, Magn_Y:615, Magn_Z:34
  5. 垂直90°:
  6. Magn_X:79, Magn_Y:100, Magn_Z:271
复制代码


        因为我家的朝向不是正南正北的,不过也可以看出来基本变化。



收藏 评论0 发布时间:2026-3-7 12:14

举报

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