视频讲解
一、实物图
二、原理图
引脚定义
1.VCC: 电源正极输入口
2.GND: 电源负极输入口
3.SCL: I2C时钟端口
4.SDA: I2C数据端口
三、简介
BMP180 是一款数字式温度、压力传感器,是博世公司旗下Bosch Sensortec推出的新一代气压传感器系列产品之一。它采用了高精度、低功耗的设计,可实现高精度、长期稳定的温度和压力测量,并通过标准的I2C/SPI接口进行通讯和数据交换。
BMP180 测量范围为0.1 - 1.0atm,分辨率可以达到0.01hPa(0.1米),可以满足很多应用中对大气压力的精度要求。同时,它还能够提供温度补偿、串行字节流输出模式、软件可编程控制等特性,进一步增强了其广泛的应用性。
BMP180 通常被应用于智能手机、平板电脑、笔记本电脑、手持设备等领域,也适用于气象站、工业自动化、无人机等需要精确温度和气压测量的场合。
基本原理
BMP180的工作原理基于压电效应,其内部包含一个微机械结构(MEMS)传感器(压阻传感器)、一个高精度模拟-数字转换芯片和一个带 E2PROM和串行I2 c接口的控制单元。在传感器内部,有一个薄膜弹性体受到外界压力的作用而产生形变,这种形变会导致传感器内部气体压力变化。
当外部气压发生变化时,传感器内的气压也随之改变,压力变化引起薄膜弹性体的位移量发生微小改变,微机械结构传感器将这个微小的形变转换成输出电信号。然后,经过PLL电路、ADC等处理电路进行放大和转换,最终通过I2C/SPI接口向外输出数字信号,提供给上层系统进行数据处理和分析。
此外,为了提高测量精度,BMP180还包含了一个温度传感器,可以测量传感器本身的温度,并利用温度补偿技术来消除温度对气压测量带来的误差,从而提高测量精度和稳定性。其带有E2PROM里也存储了176位单独校准数据,用于补偿传感器的偏移等其他参数。
主要特点:
压力范围:300~1100hPa(海拔9000米~-500米)
电源电压:1.8V~3.6V(VDDA),1.62V~3.6V(VDDD)
LCC8封装:无铅陶瓷载体封装(LCC)
尺寸:3.6mmx3.8x0.93mm
低功耗:5μA,在标准模式
高精度:低功耗模式下,分辨率为0.06hPa(0.5米)高线性模式下,分辨率为0.03hPa(0.25米)
含温度输出,可进行温度补偿
I2C接口
无铅,符合RoHS规范
MSL 1反应时间:7.5ms
待机电流:0.1μA
无需外部时钟电路
典型应用:
GPS精确导航(航位推算,上下桥检测等)
室内室外导航
休闲、体育和医疗健康等监测
天气预报
垂直速度指示(上升/下沉速度)
风扇功率控制
特性曲线
I2C接口
I2C是一种数字双线接口,时钟频率高达3.4M bit/sec。支持I2C标准、快速和高速模式。
SCL和SDA需要一个上拉电阻,典型值是4.7K,板载模块是10K。
I2C总线用于控制传感器,从E2PROM读取校准数据,并在A/D转换完成时读取测量数据。SDA(串行数据)和SCL(串行时钟)具有开漏输出。
I2C协议
I2 c接口协议有特殊的总线信号条件。开始(S)、停止(P)和二进制数据 条件如下图所示。在起始条件下,SCL为高电平,SDA具有下降沿。然后发送从机地址。在7个地址位之后,方向控制位R/W选择读或写操作。当从机识别到它正在被寻址时,应该在第九个SCL (ACK)周期拉低SDA进行应答。 在停止条件下,SCL也为高电平,但SDA有一个上升沿。当SCL为高电平时数据必须在SDA中保持稳定。只有当SCL为低电平时,数据才能在SDA上改变值。
开始温度和压力测量
UP = 压力数据 (16至19 bit)
UT = 温度数据(16位)
开始测量温度值UT和压力值UP的时序图如下所示。起始条件后,主机发送器件地址写、寄存器地址和控制寄存器数据。当接收到数据时,BMP180每8个数据发送一次确认(ack) 数据位,在最后一个ACK之后,主机发送一个停止条件。
读温度和压力测量值
读取温度数据字UT (16位)、压力数据字UP (16至19位)和 E2PROM数据: 起始条件后,主机发送模块地址写命令和寄存器地址。 寄存器地址选择读寄存器: E2 PROM数据寄存器0xAA至0xBF 温度或压力值UT或以上0xF6 (MSB),0xF7 (LSB),可选0xF8 (XLSB) ,然后,主机发送重启条件,随后是模块地址读取,由BMP180确认(ack)。BMP180首先发送8个MSB,由主机(ACKM)应答,然后是8 LSB。主机发送一个“不应答”(NACKM),最后是一个停止条件。 对于超高分辨率,可以读取地址为0xF8的XLSB寄存器,将16位扩展到19位。
四、结构尺寸
五、注意:
- BMP180设计为通过I2直接连接到移动设备的微控制器 。压力和温度数据必须通过BMP180的E2PROM的校准数据进行补偿 。