2025 Make Blocks阶段2 - 多轴传感器 LSM6DSO16IS拓展板调试
该项目使用了ST的LSM6DSO16IS芯片,实现了多轴加速度、陀螺仪功能的扩展板的设计,它的主要功能为:通过I2C或SPI接口输出加速度、陀螺仪角度等数值。
标签
嵌入式系统
陀螺仪
加速度计
LSM6DSO16IS
zhjlmt
更新2025-10-21
122
KiCad文件
全屏

模块介绍

根据2025 Make Blocks第三期任务4,来设计一款IMU模块扩展板,IMU芯片选择ST的LSM6DSO16IS,内置三轴数字加速度计和三轴数字陀螺仪,还包括温度传感器。LSM6DSO16IS内嵌意法半导体的一款新型处理器件ISPU(智能传感器处理单元),支持依赖传感器数据的实时应用。image.png

模块框图


LSM6DSO16ISTR得捷链接

LSM6DSO16IS芯片一共有14个引脚,其中包含供电和GND,I2C和SPI通信引脚,还包括数字电压、模式选择等外部配置引脚,有INT1和INT2,一个内部中断输出,一个外部中断输入引脚。

使用一个6p2.54mm间距的排针,可兼容4针的OLED屏幕引脚,进行快速连接。使用一个4p2.54mm间距的排针,方便在使用SPI通信时的连接。

image.png


模块设计思路

image.png

H1为6p的2.54mm排针,H2为4p的2.54mm排针,H1兼容OLED屏幕四针插座,H2方便SPI输出时的连接

U1是IMU模块,ST的LSM6DSO16IS,VDD引脚采用10uF和100nF的电容进行滤波

为方便兼容不同的板卡,I2C可通过0603跳线电阻进行连接,更改SDA和SCL方向

所有的数据引脚,均连接到上下拉电阻中,实现三个焊盘选两个,可进行上拉或者下拉的操作


PCB设计选用2层板,进行大面积铺铜

PCB中绘制2025 Make Blocks的文本

image.png

debug过程

STM32CubeMX V6.14.1

STM32Cube FW_H5 V1.5.0

MDK-ARM V536

板卡:STM32H503RB-nucleo


ST对于自家传感器的软件适配做的十分优秀,传感器的驱动代码在GitHub上,通过弱定义的收发函数,来方便用户驱动起来传感器。

LSM6DSO传感器驱动

在MDK-ARM中新建IMU文件夹,添加文件包含路径

image.pngimage.png

局部定义一个写函数和一个读函数

image.png

stmdev_ctx_t是结构体,包含传感器驱动所需的相关参数image.png

最后在while循环中添加一个闪烁LED灯的

image.png

本工程从H503的flash读写工程上新建的,上电后会完成一次flash的擦写

之后打印LSM6DSO_WHO_AM_I的值和传感器的ID

image.png


心得体会(包括意见或建议)

IMU小传感器 焊接还是比较有挑战性的

附件下载
D-02-IMU-KICAD.zip
ProPrj_D-02-IMU扩展板_2025-08-12.kicad_pcb
ProPrj_D-02-IMU扩展板_2025-08-12.kicad_sch
H503Nu_LSM6DSO16IS.zip
团队介绍
本作品由zhjlmt完成
评论
0 / 100
查看更多
硬禾服务号
关注最新动态
0512-67862536
info@eetree.cn
江苏省苏州市苏州工业园区新平街388号腾飞创新园A2幢815室
苏州硬禾信息科技有限公司
Copyright © 2024 苏州硬禾信息科技有限公司 All Rights Reserved 苏ICP备19040198号