新闻中心

EEPW首页 > 物联网与传感器 > 设计应用 > 基础知识之气压传感器

基础知识之气压传感器

作者:时间:2024-03-14来源:电子森林收藏

是一种测量周围环境中气体压力的传感器。这些传感器通常包括一个压敏元件,例如挠性金属薄片、半导体材料或陶瓷材料。当受到气体压力作用后,压敏元件会发生微小的形变,并且这种形变会被转换成与压力成正比的电信号输出。是一种非常常见的传感器类型,在各个领域都有重要作用。

本文引用地址:http://www.eepw.com.cn/article/202403/456311.htm

气压传感器的原理基于压电效应或压阻效应。挠性金属薄片传感器通常采用压电效应,当受到气体压力作用时,金属薄片会产生形变,并且这种形变会引起其表面电荷分布的改变。通过测量这个电荷分布的变化,可以得出与压力成正比的电信号输出。而半导体材料则使用压阻效应,即在不同的压力下产生不同的电阻值。现在的气压传感器作为使用MEMS技术的产品被广泛普及。

MEMS气压传感器主要有两种类型:压电电阻式和静电电容式。

压电电阻式传感器:这种传感器使用了压电材料作为感应元件,使用Si单晶板作为隔膜(压力接收元件),通过在其表面上扩散杂质形成电阻桥电路,将施加压力时产生的变形作为电阻值变化,来计算压力(气压)。当外界压力变化作用于传感器时,压电材料会产生电荷分布的变化,从而导致电阻值发生变化。通过测量电阻的变化可以获得与压力相关的信号。压电电阻式传感器具有快速响应、较高的灵敏度和稳定性,被广泛应用于气压测量、气体流量测量等领域。

压电电阻式气压传感器具有以下几个特点:

  • 高灵敏度:压电材料对于微小的压力变化非常敏感,能够快速响应气压的变化。
  • 宽测量范围:这种类型的传感器通常具有较大的测量范围,可以适应不同的气压条件。
  • 高稳定性:压电材料的性能相对稳定,具有较低的温度漂移和长期稳定性,能够提供可靠的气压测量结果。
  • 快速响应时间:由于压电材料的优异特性,压电电阻式气压传感器具有快速的响应时间,可以实时监测气压变化。
  • 宽工作温度范围:这种传感器通常能够在较宽的温度范围内正常工作,适用于不同环境下的气压测量。
  • 小型化和集成化:压电电阻式气压传感器可以制造成小型化和集成化的封装形式,方便安装和集成到各种设备和系统中。
  • 低功耗:这种传感器通常具有低功耗的特点,适用于电池供电或对能源消耗敏感的应用场景。

图1:压阻电阻式气压传感器结构

静电电容式传感器:这种传感器利用了静电电容效应。传感器内部有一个微小的空气腔体,当外界压力变化时,腔体的体积会发生微小变化,进而改变了电容值。通过测量电容的变化可以得到与压力相关的信号。静电电容式传感器具有较高的灵敏度和精度,适用于气压测量、液位测量等应用。

静电电容式气压传感器具有以下几个优点:

  • 高精度和灵敏度:静电电容式气压传感器可以提供高精度的气压测量结果。它们能够感知微小的气压变化,并将其转化为电容变化的信号。由于电容变化与压力变化之间存在线性关系,传感器能够提供准确的气压读数。
  • 宽测量范围:静电电容式气压传感器通常具有较宽的测量范围。它们可以在大气压力的不同范围内进行准确测量,从低气压到高气压都具备可靠性。
  • 快速响应时间:这类传感器具有快速的响应时间。它们能够迅速感知并转换气压变化,提供即时的测量结果。这对于实时应用,如气象观测、控制系统和自动化系统等非常重要。
  • 低功耗:静电电容式气压传感器通常具有低功耗特性。它们能够在持续运行的情况下消耗较少的能量,适用于需要长时间使用的应用和电池供电设备。
  • 小型化和集成化:这种类型的传感器通常具有小型化的设计。它们占用空间较小,适用于对尺寸要求严格的应用场景。此外,静电电容式气压传感器也可以与其他传感器或电路集成在一起,以实现更多功能的综合系统。

图2:静电电容式气压传感器结构

这两种传感器各有优势,选择取决于具体应用需求。压电电阻式传感器在快速响应和稳定性方面较好,适用于对动态压力变化敏感的应用;静电电容式传感器具有高灵敏度和较高的分辨率,适用于对静态和微小压力变化的测量。

气压传感器是一种用于测量大气压力的传感器,它在许多领域都有广泛的应用。以下是一些气压传感器的常见应用:

天气预报:气压是天气变化的重要指标之一。气压传感器可以用于测量大气压力的变化,并根据这些数据来预测天气的变化。通过监测气压的趋势,可以预测是否有即将来临的降雨、气温变化等天气情况。

导航和高度测量:气压传感器可以用于测量高度和海拔高度。它们可用于飞机、导航系统、高空气球等应用中,帮助确定物体或载具相对于地面的高度位置。例如,在航空中,气压传感器配合其他传感器(如加速度计、陀螺仪等)使用,可提供精确的高度测量数据。

环境监测:气压传感器可用于环境监测和气候研究。它们可以测量大气压力的变化,帮助科学家了解和研究气候模式、气象现象以及大气层的变化。这些传感器广泛应用于气象站、环境监测设备和气候研究项目中。

气压补偿:气压传感器可以用于补偿其他传感器的测量误差。在某些应用中,如液位测量、气体流量测量等,气压传感器可以测量环境大气压力的变化,并将其应用于修正其他传感器的输出,以提供更准确的测量结果。

总之,气压传感器在天气预报、导航和高度测量、环境监测以及补偿其他传感器等方面发挥着重要作用。它们帮助我们获得关于大气压力的信息,从而推断气候变化、确定高度位置和改进其他测量系统的准确性

honeywell:(霍尼韦尔)- Honeywell 是一家知名的传感器制造商,提供各种类型的气压传感器,包括绝对压力传感器和差压传感器。

bosch-sensortec:(博世传感器技术) - Bosch Sensortec 专注于MEMS(微机电系统)传感器技术,其产品线包括气压传感器,广泛应用于手机、智能手表和其他移动设备中。

sensirion:(森赛龙)- Sensirion 是一家瑞士公司,专注于各种环境传感器,包括气压传感器。他们提供高精度的数字式气压传感器,适用于工业、医疗和消费电子等领域。

TE Connectivity:(泰科电子)- TE Connectivity 是一家综合性电子元器件制造商,他们提供气压传感器解决方案,用于航空航天、汽车、医疗和工业等领域。

from machine import I2C, Pin
import time
i2c = I2C(0, scl=Pin(21), sda=Pin(20), freq=400_000)
ms5611_c = [0, 0, 0, 0, 0, 0, 0, 0]
GY63_ADDRESS = 0x77
print(i2c.scan())
def reset():
   i2c.writeto(GY63_ADDRESS, bytearray([0x1E]))
   time.sleep(0.01)
def init():
   reset()
   for i in range(8):
       ms5611_c[i] = prom(i)
def prom(coef_num):
   rxbuff = i2c.readfrom_mem(GY63_ADDRESS, 0XA0+coef_num*2, 3)
   return rxbuff[0] << 8 | rxbuff[1]    
def read_pressure():  
   i2c.writeto(GY63_ADDRESS, bytearray([0x48]))  
   time.sleep(0.02)    
   data = i2c.readfrom_mem(GY63_ADDRESS, 0, 3)    
   pressure = (data[0] << 16) + (data[1] << 8) + data[2]    
   return pressure
def read_temperature():
   i2c.writeto(GY63_ADDRESS, bytearray([0x58]))  
   time.sleep(0.02)    
   data = i2c.readfrom_mem(GY63_ADDRESS, 0, 3)    
   temperature = (data[0] << 16) + (data[1] << 8) + data[2]  
   return temperature
def calculate(ut, up):
   dT = ut - (ms5611_c[5] << 8)
   off = (ms5611_c[2] << 16) + ((ms5611_c[4]*dT) >> 7)
   sens = (ms5611_c[1] << 15) + ((ms5611_c[3]*dT) >> 8)
   temp = 2000 + ((dT*ms5611_c[6]) >> 23)  
   if (temp < 2000):
       delt = temp - 2000
       delt = 5 * delt *delt
       off = off - (delt >> 1)
       sens = sens - (delt >> 2)  
   if (temp < -1500):
       delt = temp + 1500
       delt = delt * delt
       off = off - (7 * delt)
       sens = sens - ((11 * delt) >> 1)  
   temp = temp - ((dT*dT) >> 31)
   press = (((int(up)*sens) >> 21) - off) >> 15
   return press, temp  
init()
while True:
   up = read_pressure()
   ut = read_temperature()
   pressure, temperature = calculate(ut, up)
   print("Pressure:", pressure)
   print("Temperature:", temperature)    
   time.sleep(1)  

结果显示:



关键词: 气压传感器

评论


相关推荐

技术专区

关闭