0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

低功耗气压传感器BM1383AGLV

天才小狸花 来源:Sigle_chip 作者:Sigle_chip 2022-09-13 10:40 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

ROHM社区举办活动的时候拿到了评估的传感器,在Arduino上面跑过一次,今天再次拿出来用其他mcu跑一次,顺带总结一下。正品现货可以找ROHM原厂代理代理唯样,新人还有活动。

1、基本特性

  • 压阻式气压传感器
  • 内置温度补偿
  • I2C接口
  • 压力范围:300hPa~1100hPa
  • 平均功耗:3uA
  • 运行温度:-40℃~85℃
  • 小封装:2.50mm 2.50mm1.0mm
  • 相对精度:±0.12hPa
  • 绝对精度:±1hPa
  • 主要应用:智能手机、医疗保健、移动设备等

2、引脚描述

DREG和VSS之间需要接一个旁路电容,大小为0.22uF;

VDD电源供电,VSS接GND,SCL、SDA用于I2C通讯,DRDY引脚一般用于触发mcu外部中断。

3、寄存器描述

4、软件设计
4.1、寄存器定义以及参数设置定义

#define BM1383AGLV_I2C_ADDR 0x5D

#define BM1383AGLV_ID1 0x0F
#define BM1383AGLV_ID2 0x10

#define BM1383AGLV_PWR_DOWN 0x12
//PWR_DOWN[0]
#define POWER_DOWN 0x00
#define ACTIVE 0x01
//Reserved[7:1]

#define BM1383AGLV_RESET 0x13
//RSTB[0]
#define MEASUREMENT_RESET 0x00
#define MEASUREMENT_ACTIVE 0x01
//Reserved[7:1]

#define BM1383AGLV_MODE_CONTROL 0x14
//mode [1:0]
#defineMODE_STAND_BY 0x00
#defineMODE_ONE_SHOT 0x01
#defineMODE_CONTINUOUS 0x02
#defineMODE_PROHIBITION 0x03
//Reserved[2]
//Reserved[3]
#defineDEFAULT_1 0x08
//DRDY pin Enable[4]
#defineDRDY_PIN_ENABLE 0x10
#defineDRDY_PIN_DISABLE 0x00
//Set the average number of measurement data[7:5]
#define AVE_NUM_1 0x00
#defineAVE_NUM_2 0x20
#defineAVE_NUM_4 0x40
#defineAVE_NUM_8 0x60
#defineAVE_NUM_16 0x80
#defineAVE_NUM_32 0xA0
#defineAVE_NUM_64 0xC0
#defineAVE_NUM_INHIBIT 0xE0

#define BM1383AGLV_STATUS 0x19
//Pressure and temperature measurement data ready bit[0]
#define DATA_OUTPUT_AVAILABLE 0x01
#define DATA_OUTPUT_NOT_AVAILABLE 0x00
//Reserved[7:1]

#define BM1383AGLV_PRESSURE_MSB 0x1A
#define BM1383AGLV_PRESSURE_LSB 0x1B
#define BM1383AGLV_PRESSURE_DEC 0x1C
//Pressure data output (decimal extension 6bit)[7:2]
//Reserved[1:0]

#define BM1383AGLV_TEMPERATURE_MSB 0x1D
#define BM1383AGLV_TEMPERATURE_LSB 0x1E

4.2、读取芯片ID

设备ID一般都是一个固定值,芯片出厂的时候已经固化在芯片里面了,只读,可用于检测I2C通信是否正常、检测芯片是否存在。

bool BM1383AGLVCheck(void)
{
uint16 chip_id=0;

chip_id=BM1383AGLV_ReadRegU16(BM1383AGLV_ID1);

if(chip_id==0x32E0)
{
return true;
}
else
{
return false;
}
}

4.3、芯片初始化设置

主要是3个寄存器POWER_DOWN(12h)、RESET(13h)、MODE_CONTROL(14h),其中

POWER_DOWN(12h)主要是设置芯片上电启动:

RESET(13h)主要设置芯片启动测量控制功能:

MODE_CONTROL(14h)主要用于设置芯片测量模式、测量次数、以及是否使用DRDY引脚:

芯片手册中也给了启动流程,先是往寄存器12h中写入0x01,延时至少2ms之后,往寄存器13h中写入0x01即可:

void BM1383AGLVInit(void)
{
BM1383AGLV_WriteRegU8(BM1383AGLV_PWR_DOWN,ACTIVE);
//设置芯片上电
_delay_ms(5);//延时必须大于2ms
BM1383AGLV_WriteRegU8(BM1383AGLV_RESET,MEASUREMENT_ACTIVE);
//启动测量功能
BM1383AGLV_WriteRegU8(BM1383AGLV_MODE_CONTROL,MODE_CONTINUOUS|DEFAULT_1|
DRDY_PIN_DISABLE|AVE_NUM_8);
//持续测量模式、每次测量8次、不使能DRDY引脚
}

4.4、读取数据

读取数据之前,我们要先判断一下是否采样完成,涉及到寄存器STATUS(19h),当bit[0]为1的时候,表示采样完成,可以读取数据:

寄存器PRESSURE_MSB(1Ah)、PRESSURE_LSB(1Bh)、PRESSURE_LSB(Least 6bit) ( 1Ch )就是采样出的压力值,需要转换为实际的压力值:

寄存器TEMPERATURE_MSB(1Dh)、TEMPERATURE_LSB(1Eh)是采样出的温度值,同样的需要转化为实际温度:

void BM1383AGLVRead(void)
{
uint32 pressure_count=0;
uint8 pressure_m, pressure_l,pressure_d;
float pressure;

uint32 temperture_count=0;
uint8 temperture_m, temperture_l;
float temperture;


while(BM1383AGLV_ReadRegU8(BM1383AGLV_STATUS)&DATA_OUTPUT_AVAILABLE
!=DATA_OUTPUT_AVAILABLE);//等待当前测量完成

pressure_m=BM1383AGLV_ReadRegU8(BM1383AGLV_PRESSURE_MSB);
pressure_l=BM1383AGLV_ReadRegU8(BM1383AGLV_PRESSURE_LSB);
pressure_d=BM1383AGLV_ReadRegU8(BM1383AGLV_PRESSURE_DEC);

pressure_d=pressure_d>>2;//高6位有效

pressure_count=pressure_m<<14; 
pressure_count+=pressure_l<<6; 
pressure_count+=pressure_d;

pressure=pressure_count/2048.0;

printf(“Pressure:%.2f hPa\r\n”,pressure);

temperture_m=BM1383AGLV_ReadRegU8(BM1383AGLV_TEMPERATURE_MSB);
temperture_l=BM1383AGLV_ReadRegU8(BM1383AGLV_TEMPERATURE_LSB);

temperture_count=temperture_m<<8; 
temperture_count+=temperture_l;

temperture=temperture_count/32.0;

printf(“Temperture:%f ℃\r\n”,temperture);
}

4.5、测试读取数据

4.6、进入休眠

void BM1383AGLVSleep(void)
{
BM1383AGLV_WriteRegU8(BM1383AGLV_RESET,MEASUREMENT_RESET);
_delay_ms(5);
BM1383AGLV_WriteRegU8(BM1383AGLV_PWR_DOWN,POWER_DOWN);
}

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 传感器
    +关注

    关注

    2578

    文章

    55771

    浏览量

    795102
  • 单片机
    +关注

    关注

    6078

    文章

    45624

    浏览量

    675094
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    ADNK - 3040超低功耗光学鼠标传感器套件介绍

    ADNK - 3040超低功耗光学鼠标传感器套件介绍 在电子设备设计领域,鼠标作为常见的输入设备,其核心部件光学鼠标传感器的性能至关重要。今天就来详细介绍一下ADNK - 3040超低功耗
    的头像 发表于 05-10 14:15 297次阅读

    探秘ADNS - 3000低功耗光学鼠标传感器:设计与应用的全面解析

    探秘ADNS - 3000低功耗光学鼠标传感器:设计与应用的全面解析 在电子设备飞速发展的今天,低功耗、高性能的传感器成为了众多设备的核心组件。ADNS - 3000
    的头像 发表于 05-10 14:15 258次阅读

    ADNS - 2080低功耗光学鼠标传感器:设计与应用全解析

    ADNS - 2080低功耗光学鼠标传感器:设计与应用全解析 在电子设备的设计领域,鼠标作为常见的输入设备,其核心的传感器性能至关重要。Avago Technologies的ADNS - 2080
    的头像 发表于 05-10 14:15 293次阅读

    低功耗采集传感器联网,对接物联网平台

    自动化等。 一、核心构成 - 前端采集:温湿度、气压、加速度、霍尔、电流/电压等传感器/信号接口(模拟量/RS485等)。 - 主控与处理:低功耗MCU/SoC,含ADC、数据预处理、阈值触发与边缘智能。 - 通信模组:LoRa
    的头像 发表于 04-17 16:35 153次阅读

    HDC1010数字湿度与温度传感器:精确、低功耗的环境感知利器

    HDC1010数字湿度与温度传感器:精确、低功耗的环境感知利器 在环境监测和控制应用领域,精确测量湿度和温度是实现高效、智能系统的关键。德州仪器(TI)的 HDC1010 数字湿度传感器集成了温度
    的头像 发表于 02-12 15:50 1182次阅读

    TMP116:高精度、低功耗数字温度传感器的卓越之选

    TMP116:高精度、低功耗数字温度传感器的卓越之选 在电子设备设计中,温度传感器是一个不可或缺的组件,它能够实时监测设备的温度变化,确保设备在安全的温度范围内运行。今天,我们就来深入了解一下
    的头像 发表于 02-12 13:40 421次阅读

    低功耗线性霍尔效应传感器TMAG5253:设计与应用全解析

    低功耗线性霍尔效应传感器TMAG5253:设计与应用全解析 在当今的电子设备设计中,低功耗、高精度的传感器需求日益增长。TI推出的TMAG5253
    的头像 发表于 02-11 10:50 416次阅读

    BMP390L 气压传感器:赋能无人机垂速指示与气压定高

    飞得更稳、更准的核心部件。 什么是BMP390L气压传感器? BMP390L 是博世工业级数字气压传感器,灵敏度高,能准确感知气压细微变化,
    的头像 发表于 01-29 10:12 471次阅读
    BMP390L <b class='flag-5'>气压</b><b class='flag-5'>传感器</b>:赋能无人机垂速指示与<b class='flag-5'>气压</b>定高

    防水型气压传感器

    何谓气压传感器气压传感器是指检测大气压值及高度变化的传感器,被用于智能手机、智能手表及无人机等
    的头像 发表于 01-14 12:02 704次阅读
    防水型<b class='flag-5'>气压</b><b class='flag-5'>传感器</b>

    AR0830图像传感器低功耗高性能之选

    在当今的电子设备中,图像传感器的性能和功耗是工程师们关注的重点。onsemi的AR0830图像传感器,作为Hyperlux LP产品家族的一员,凭借其出色的性能和低功耗特性,在众多应用
    的头像 发表于 11-28 09:24 748次阅读

    onsemi AR2020图像传感器低功耗高性能的理想之选

    在当今的图像传感领域,对高分辨率、低功耗且具备出色性能的传感器需求愈发迫切。onsemi的AR2020图像传感器,作为Hyperlux LP产品家族的一员,凭借其先进的技术和卓越的特性
    的头像 发表于 11-27 14:10 782次阅读

    数字气压传感器,如何精准感知看不见的压力参数?

    数字气压传感器连接物理与数字,提升工业与民生智能化水平,6862i具备高精度、低功耗、防水等特性,广泛应用于各类场景。
    的头像 发表于 10-09 13:56 525次阅读
    数字<b class='flag-5'>气压</b><b class='flag-5'>传感器</b>,如何精准感知看不见的压力参数?

    数字气压传感器,如何用“触觉” 丈量气压的安全边界?

    本文主要介绍了数字气压传感器的特性与应用,包括其精准、实时的数字化气压测量能力,以及在消费电子、气象监测、辅助导航与工业表计等多个行业的广泛应用。
    的头像 发表于 07-01 08:00 1129次阅读
    数字<b class='flag-5'>气压</b><b class='flag-5'>传感器</b>,如何用“触觉” 丈量<b class='flag-5'>气压</b>的安全边界?

    HPS27W高精度气压与温度传感器:特性、应用及接口设计

    内容概要:HPS27W是一款高精度数字气压传感器,具有低功耗和小尺寸的特点,适用于多种移动设备和可穿戴应用。它支持I2C和SPI接口,能够在-40到85℃的工作温度范围内运行,供电电压为1.7V到
    发表于 06-30 16:27 5次下载