OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3937|回复: 0

疯壳AI开源无人机SPI(气压计数据获取)

[复制链接]

98

主题

124

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
437
金钱
437
注册时间
2017-2-27
在线时间
53 小时
发表于 2020-4-14 09:40:00 | 显示全部楼层 |阅读模式
一、SPL06简介
  SPL06是歌尔公司最新推出新款气压传感器,最新推出新款气压传感器SPL06-001,歌尔是全球领先的MEMS厂家,SPL06利用歌尔多年积累的MEMS开发技术,通过搭载高精度的检测用MEMS(MicroElectroMechanicalSystems)即微机电系统和低功耗的集成电路,实现了业界最高级别别的精度±5cmSPL06是一种具有高精度和低电流消耗的小型化的数字式气压传感器,兼具压力和温度测量两种特点。压力传感器元件基于电容传感器原理,保证温度变化过程中的高精度测量。小型封装结构适合移动应用和可穿戴设备等。SPL06的内部信号处理器将压力和温度传感器元件的输出转换为24位数据。每个压力传感器已被单独校准并包含校准系数。在应用中使用系数将测量结果转换成真实的压力和温度值。
SPL06的实物图如下所示。
图片1.jpg
二、气压计数据获取实验
气压计数据获取实验使用STM32的硬件SPI与气压计SPL06相连接,串口1UART1,通过USB转串口模块连接电脑,把SPI获取到的SPL06的原始压力值以及原始温度值数据通过串口1传输到电脑端的串口调试助手显示出来。做该实验的时候需要把视觉模组暂时取下,并且把USB转串口的线接到视觉模组接口处。气压计SPL06在无人机顶部的白色RGB彩灯盒里,通过软排把SPI及供电口接出,如下图所示。
图片2.jpg
根据原理图,可以看到SPL06的的SPI接口分别是:PB15PA5PA6PA7,如下图所示。
图片3.jpg 图片4.jpg
串口1的配置可以参考《串口(基础收发),配置代码(通过调用官方库)。
获取SPL06的数据代码编写的思路如下:
1
管脚配置
1、定义结构体
2、使能时钟
3、填充结构体
4、装载结构体
2
SPI配置
1、定义结构体
2、使能时钟
3、填充结构体
4、装载结构体
5、使能SPI
3
SPI读写逻辑
1、读一个字节
2、写一个字节
4
SPL06驱动
1、从传感器读
2、从传感器写
3、ICM20602初始化
SPI初始化代码如下:
图片5.jpg
SPI的读写代码如下。
图片6.jpg
SPL06的初始化代码如下。
图片7.jpg
SPL06的读写代码如下。
图片8.jpg
查看手册发现压力、温度的24位原始值在地址0x00~0x05上。
图片9.jpg
读取该寄存器数据,并发送到串口上。代码如下所示。
图片10.jpg
这里注意要把串口的发送也配置好,这样才能把数据发送到电脑。串口1通过USB转串口模块接到电脑,保存、编译、下载代码,可以看到USB转串口模块在不断地打印SPL063个字节原始压力值数据以及3个字节的原始温度数据,数据如下图所示:
图片11.jpg

2.飞控开发基础-【7】SPI(气压计数据获取).pdf

1.05 MB, 下载次数: 24

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-25 21:59

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表