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);
}

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

    关注

    2551

    文章

    51077

    浏览量

    753369
  • 单片机
    +关注

    关注

    6036

    文章

    44555

    浏览量

    635052
收藏 人收藏

    评论

    相关推荐

    气压传感器的分类与应用

      传感器技术已成为现代工业、科研及日常生活中不可或缺的重要部分。其中,气压传感器作为能够精确测量大气压力的设备,其应用广泛且日益重要。本文将深入探讨
    的头像 发表于 12-20 09:22 116次阅读
    <b class='flag-5'>气压</b><b class='flag-5'>传感器</b>的分类与应用

    气压传感器的工作原理和主要类型

    在当今科技飞速发展的时代,传感器技术在各个领域都发挥着至关重要的作用。其中,气压传感器作为一种能够测量大气压力的设备,其发展与应用也日益广泛。从航空航天到气象预报,从智能手机到医疗设备
    的头像 发表于 12-16 14:24 336次阅读

    气压传感器与物联网的结合

    随着物联网(IoT)技术的快速发展,越来越多的物理设备被连接到互联网上,实现了智能化和远程监控。气压传感器作为监测大气压力变化的关键设备,在物联网的推动下,正变得越来越智能和高效。 一、气压
    的头像 发表于 11-28 14:12 194次阅读

    气压传感器的校准方法 无线气压传感器的使用优势

    气压传感器的校准方法 1. 校准前的准备 在进行校准之前,需要确保传感器处于稳定状态,并且环境条件(如温度、湿度)符合校准要求。此外,需要准备校准设备,如标准气压计、校准软件和连接线。
    的头像 发表于 11-28 14:09 248次阅读

    气压传感器如何提高测量精度

    气压传感器作为环境监测的重要工具,其测量精度直接影响到气象预报、气候研究、航空安全等多个领域。随着技术的发展,对气压传感器的精度要求也越来越高。 1. 选择合适的
    的头像 发表于 11-28 14:02 270次阅读

    气压传感器在气象预测中的应用

    气压传感器在气象预测中发挥着至关重要的作用。以下是对其在气象预测中应用的介绍: 一、气压传感器的基本功能与原理 气压
    的头像 发表于 11-28 13:54 231次阅读

    小型气压传感器的应用 工业气压传感器的选购技巧

    小型气压传感器的应用 气压传感器是一种能够将大气压力转换为电信号的装置,它们在现代工业和日常生活中扮演着越来越重要的角色。小型
    的头像 发表于 11-28 13:52 162次阅读

    气压传感器选型指南 精密气压传感器的优势

    气压传感器选型指南 1. 确定应用场景 在选型之前,首先要明确气压传感器的应用场景。不同的应用场景对传感器的精度、响应速度、稳定性、环境适应
    的头像 发表于 11-28 13:46 266次阅读

    气压传感器工作原理详解 气压传感器在汽车中的应用

    气压传感器工作原理 气压传感器的工作原理主要基于两种技术:绝对压力测量和相对压力测量。 绝对压力测量 :绝对压力传感器测量的是相对于完全真空
    的头像 发表于 11-28 13:45 444次阅读

    气压传感器与温度传感器的区别

    1. 定义与工作原理 气压传感器气压传感器是一种能够检测和测量大气压力的设备。大气压力是指
    的头像 发表于 11-28 13:43 237次阅读

    气压传感器应用领域分析 如何选择气压传感器

    气压传感器作为现代科技中不可或缺的一部分,其精确测量大气压力的能力对于许多行业至关重要。 一、气压传感器的应用领域 气象监测 气象站使用
    的头像 发表于 11-28 13:40 318次阅读

    使用霍尔效应传感器低功耗设计

    电子发烧友网站提供《使用霍尔效应传感器低功耗设计.pdf》资料免费下载
    发表于 08-28 09:32 0次下载
    使用霍尔效应<b class='flag-5'>传感器</b>的<b class='flag-5'>低功耗</b>设计

    NAS-NF102乙醇:低功耗气传感器和酒精检测新选择

    乙醇气体传感器是近年来市场上备受关注的新品,它在各个领域都有着广泛的应用。无论是工业生产中的安全监测,还是家庭生活中的可燃气体检测,乙醇气体传感器都发挥着重要作用。尤其是在车载酒精气体报警、工业用
    的头像 发表于 05-21 08:35 755次阅读
    NAS-NF102乙醇:<b class='flag-5'>低功耗气</b>体<b class='flag-5'>传感器</b>和酒精检测新选择

    安信可雷达系列的超低功耗人体存在毫米波传感器—Rd-03L

    Rd-03L是安信可雷达系列的超低功耗人体存在毫米波传感器,包含极简化24 GHz雷达传感器硬件和低功耗人体存在感应智能算法固件。
    的头像 发表于 03-25 15:38 904次阅读
    安信可雷达系列的超<b class='flag-5'>低功耗</b>人体存在毫米波<b class='flag-5'>传感器</b>—Rd-03L

    传感器低功耗方案助力碳中和

    使用低功耗产品替换遍布于制造现场的通用传感器,实现设备设施的能耗降低。根据预期用途确定需要使用的不同机型,例如使用通用传感器取代用于简单有无检测应用的高性能传感器,在不改变安装和配线规
    发表于 01-04 10:50 443次阅读
    <b class='flag-5'>传感器</b><b class='flag-5'>低功耗</b>方案助力碳中和