首页 > 评测 > 你需要的传感器这板子都有——ST X-NUCLEO-IKS01A1 扩展板评测

你需要的传感器这板子都有——ST X-NUCLEO-IKS01A1 扩展板评测

  • 作者:风子
  • 来源:21ic
  • [导读]
  • 近年,以某疆为代表的无人机的崛起,掀起了一股无人机的热潮,自己DIY一个小四轴无人机,更是作为电子工程师人人想做的香饽饽。

X-NUCLEO-IKS01A12002.jpg

如上图,完美的将扩展板插到Nucleo地板上,再找一根MINI B接口的USB线,硬件环境就准备好了。

2 软件

硬件准备好了,再看软件。前面提到了,ST提供了官方固件包和例程:X-CUBE-MEMS1,可到官网下载(见附录),解压后可得以下文件:

X-NUCLEO-IKS01A12128.jpg

-Documentation 文档,里面是对固件包函数的说明

-Drivers 驱动程序,包含了扩展板板卡驱动程序和所支持开发板芯片的HAL库

-Projcet 工程,里面有很多例子,每一个例子都根据不同开发板有四个不同的工程

-Utilities PC端使用的软件,是一个图形和数据显示的软件,后面会用到

X-NUCLEO-IKS01A12284.jpg

软件方面,除了需要这个固件包,还需要安装一个IDE开发环境以及对应芯片的Pack,不过都是做电子的,这一步就默认已经有了,不介绍怎么安装了,直接选择一种工具测试,笔者这里选择ARM-MDK编译器。

例程测试

测试环境准备好了,开始测试,选择一个例程,考虑到演示的方便性和完整性,这里选择DataLog这个工程,打开\STM32CubeExpansion_MEMS1_V2.0.0\Projects\Multi\Examples\DataLog\MDK-ARM\STM32L476RG-Nucleo文件夹里面的MDK工程文件,编译之,正常的话没错误没警告

3.png

然后点击下载按钮下载到开发板上,当然编译的时候还生成了.bin文件,可以使用st-link utility等其他工具下载,下载完成按下复位键,程序就开始运行了,可以看到开发板上的绿灯闪烁,当然,不要把USB线拔掉,后面会用它传数据到电脑。

当然,只是一个灯,肯定是看不出来什么的,所以就要用到下面这个软件了,前面提到的,固件包里包含一个PC端软件,就可以用于这个实验,打开\STM32CubeExpansion_MEMS1_V2.0.0\Utilities\PC_software\Sensors_DataLog\Sensors_DataLog.exe文件,如图

4.png

1. Nucleo开发板有个虚拟串口功能,此实验使用虚拟串口传输数据到电脑,所以需要选择连接的串口号,一般默认就是,可在设备管理器查看。

2. 选择数据更新速度,可任意值,这里选择100ms一次,也就是10Hz。

3. 选择需要查看的数据,默认全选。

4. 点击start按钮,就可以在右边看到数据了。

5.png

上图左边小框中,会显示传感器的初始化状态,右边就是各项数据,具体如图所示,可以看到气压,温度,湿度,加速度,陀螺仪,磁场强度各项数据,下面大概解释一下这些数据:

Timestamp:时间

P:大气压,单位 mbar(从左边可以看到,下同),

1 bar = 1000 mbar = 100 kPa

1 标准大气压 = 101.325 kPa,

上图中气压约为 1040 mbar = 104 kPa,接近标准大气压

T:温度,单位摄氏度,显示温度约106度,此时手机实时显示温度为6度,室内温度略高一点,且芯片运行还会产生一定热量,笔者把开发板放到室外连续运行10分钟后,显示温度为6.5度,可见测量进度还是很高的。

H:相对湿度,是一个百分比,此时湿度约为64%,室内,手机显示为70%,室外阴天。

AccX, AccY ,AccZ:加速度的x,y,z,轴,单位 mg,1 mg = 10^-3 g(重力加速度),由于开发板是平放的,Z轴数据为1001,也就是说1.001 g,约等于重力加速度,x,y轴约等于零。

GyrX, GyrY , GyrZ:角速度的x,y,z,轴,单位 mdps,1 mdps = 10^-3 dps,即 度/秒。

MagX, MagY , MagZ:磁场x,y,z,轴,单位mgauss ,1 mgauss = 10^-3 gauss = 10^-7 T

清楚了上面这些,再看数据就能看懂了。为了更直观的显示,软件还做了图形显示窗口,点击上方的Plot复选框,可以打开图形显示窗口,可以看到各种数据以折线图的方式显示出来。

6.png

温度湿度气压前面已经分析过来,再来看看加速度。我们知道物体在静止的时候只受重力加速度的作用,所以加速度应该约等于 1 g = 1000mg,那么我们将不同的方向向下,该方向就会受重力加速度作用,输出的数据应该约为1000,下面图中显示的测试结果可以证实:

X-NUCLEO-IKS01A13809.jpg
  • 本文系21ic原创,未经许可禁止转载!

网友评论