在X-NUCLEO-IKS01A1功能板上,同时具有传感器LSM6DS0和LIS3MDL。
该功能板的外观见图1所示,其接口见图2所示。

图1 X-NUCLEO-IKS01A1功能板

图2 扩展接口
为了便于测试,这里是用Arduino UNO开发板与它配合使用,其器件连接见图3所示。
在使用时,只需为其提供3.3V电源,并通过Arduino UNO开发板的A4、A5分别与功能板的SDA、SCL连接即可。

图3 器件连接
有了以上的基础,下面就来实现这两款传感器的功能检测。
1. LSM6DSO传感器
LSM6DSO 是 ST 公司出品的一款六轴传感器,它集成三轴加速度计和三轴陀螺仪。
其传感器特性有:
· 具有数字I2C、SPI 和 MIPI I3C 串口标准输出,组合工作在高性能模式下的功耗只有 0.55 mA。
· 满量程加速度范围为:±2/±4/±8/±16 g,且角速率范围为:±125/±250/±500/±1000/±2000 dps。
· 通过配置,LSM6DSO 可利用硬件识别出的自由落体事件、6D 方向、单击和双击感应、活动或不活动、唤醒事件等以生成中断信号。
· 支持 1.71V 到 3.6V 供电。
· LSM6DSO 从机地址是 110101x ,最后一位 x 和一个 PIN 的状态有关系。 如果 SDO/SA0 是高,从机地址是 1101011。 如果 SDO/SA0 是低,从机地址是 1101010。这个方案可以使一路 I2C 总线 挂两个LSM6DSO同时使用。

图4 典型应用电路
在X-NUCLEO-IKS01A1功能板上,LSM6DSO的电路见图5所示。

图5 LSM6DSO电路
在Arduino IDE的开发环境下,通过相关支持库的添加,用例程就可达到功能检查的目的,其检测程序和结果见图6和图7所示。

图6 检测程序

图7 检测结果
2.LIS3MDL传感器
LIS3MDL则是 ST 公司出品的一款高精度、低功耗三轴磁力计,并具有多种满量程选择,专为电子罗盘、姿态检测、位置跟踪等应用设计。
其传感器特性有:
· 内部集成三个正交布置的霍尔效应磁敏元件,每个通道均配备16位Σ-Δ模数转换器。
· 配有数字I2C及SPI串口标准接口,其中I2C接口支持标准和快速2种模式(100KHz和400KHz)。
· 支持±4/±8/±12/±16高斯(Gauss)四档可编程满量程(FS)。
· 连续测量模式下仅0.8 mA(10 Hz ODR),待机模式低至1 μA。
· 支持 1.71V 到 3.6V 供电。
· I²C读取多字节时,地址自动递增(Auto-increment),故读取XYZ需发送起始地址 0x28 后连续读6字节。
· SPI读取需在地址字节最高位置1(Read=1),如读 0x28 发送 0xA8 ( 0x28 | 0x80 )。
· 所有写操作地址字节最高位为0(Write=0),如写 0x01 发送 0x01。

图8 典型应用电路
在X-NUCLEO-IKS01A1功能板上,LIS3MDL的电路见图5所示。

图9 LSM6DSO电路
在Arduino IDE的开发环境下,通过相关支持库的添加,用例程就可达到功能检查的目的,其检测程序和结果见图10和图11所示。

图10 检测程序

图11 检测结果
我要赚赏金
