差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
后一修订版
前一修订版
barometersensors [2023/07/14 11:26]
huangyuan
barometersensors [2023/07/25 12:07] (当前版本)
huangyuan
行 28: 行 28:
  
   *  低功耗:这种传感器通常具有低功耗的特点,适用于电池供电或对能源消耗敏感的应用场景。   *  低功耗:这种传感器通常具有低功耗的特点,适用于电池供电或对能源消耗敏感的应用场景。
- +  
-{{:​压电电阻式气压传感器.png?​500|}} ​+{{ :​压电电阻式气压传感器.png?​500 |}}
  
 图1:压阻电阻式气压传感器结构 图1:压阻电阻式气压传感器结构
行 35: 行 35:
 静电电容式传感器:这种传感器利用了静电电容效应。传感器内部有一个微小的空气腔体,当外界压力变化时,腔体的体积会发生微小变化,进而改变了电容值。通过测量电容的变化可以得到与压力相关的信号。静电电容式传感器具有较高的灵敏度和精度,适用于气压测量、液位测量等应用。 静电电容式传感器:这种传感器利用了静电电容效应。传感器内部有一个微小的空气腔体,当外界压力变化时,腔体的体积会发生微小变化,进而改变了电容值。通过测量电容的变化可以得到与压力相关的信号。静电电容式传感器具有较高的灵敏度和精度,适用于气压测量、液位测量等应用。
  
-{{:​静电电容式气压传感器结构.png?​500|}}+静电电容式气压传感器具有以下几个优点: 
 + 
 +  *  高精度和灵敏度:静电电容式气压传感器可以提供高精度的气压测量结果。它们能够感知微小的气压变化,并将其转化为电容变化的信号。由于电容变化与压力变化之间存在线性关系,传感器能够提供准确的气压读数。 
 + 
 +  *  宽测量范围:静电电容式气压传感器通常具有较宽的测量范围。它们可以在大气压力的不同范围内进行准确测量,从低气压到高气压都具备可靠性。 
 + 
 +  *  快速响应时间:这类传感器具有快速的响应时间。它们能够迅速感知并转换气压变化,提供即时的测量结果。这对于实时应用,如气象观测、控制系统和自动化系统等非常重要。 
 + 
 +  *  低功耗:静电电容式气压传感器通常具有低功耗特性。它们能够在持续运行的情况下消耗较少的能量,适用于需要长时间使用的应用和电池供电设备。 
 + 
 +  *  小型化和集成化:这种类型的传感器通常具有小型化的设计。它们占用空间较小,适用于对尺寸要求严格的应用场景。此外,静电电容式气压传感器也可以与其他传感器或电路集成在一起,以实现更多功能的综合系统。 
 + 
 +{{ :​静电电容式气压传感器结构.png?​500 |}}
  
 图2:静电电容式气压传感器结构 图2:静电电容式气压传感器结构
行 46: 行 58:
  
 天气预报:气压是天气变化的重要指标之一。气压传感器可以用于测量大气压力的变化,并根据这些数据来预测天气的变化。通过监测气压的趋势,可以预测是否有即将来临的降雨、气温变化等天气情况。 天气预报:气压是天气变化的重要指标之一。气压传感器可以用于测量大气压力的变化,并根据这些数据来预测天气的变化。通过监测气压的趋势,可以预测是否有即将来临的降雨、气温变化等天气情况。
 +
 +{{ ::​气压传感器在天气预报中的应用.jpg?​500 |}}
  
 导航和高度测量:气压传感器可以用于测量高度和海拔高度。它们可用于飞机、导航系统、高空气球等应用中,帮助确定物体或载具相对于地面的高度位置。例如,在航空中,气压传感器配合其他传感器(如加速度计、陀螺仪等)使用,可提供精确的高度测量数据。 导航和高度测量:气压传感器可以用于测量高度和海拔高度。它们可用于飞机、导航系统、高空气球等应用中,帮助确定物体或载具相对于地面的高度位置。例如,在航空中,气压传感器配合其他传感器(如加速度计、陀螺仪等)使用,可提供精确的高度测量数据。
 +
 +{{ ::​气压计.jpg?​500 |}}
  
 环境监测:气压传感器可用于环境监测和气候研究。它们可以测量大气压力的变化,帮助科学家了解和研究气候模式、气象现象以及大气层的变化。这些传感器广泛应用于气象站、环境监测设备和气候研究项目中。 环境监测:气压传感器可用于环境监测和气候研究。它们可以测量大气压力的变化,帮助科学家了解和研究气候模式、气象现象以及大气层的变化。这些传感器广泛应用于气象站、环境监测设备和气候研究项目中。
 +
 +{{ :​wiki:​环境监测.jpg?​500 |}}
  
 气压补偿:气压传感器可以用于补偿其他传感器的测量误差。在某些应用中,如液位测量、气体流量测量等,气压传感器可以测量环境大气压力的变化,并将其应用于修正其他传感器的输出,以提供更准确的测量结果。 气压补偿:气压传感器可以用于补偿其他传感器的测量误差。在某些应用中,如液位测量、气体流量测量等,气压传感器可以测量环境大气压力的变化,并将其应用于修正其他传感器的输出,以提供更准确的测量结果。
  
-总之,气压传感器在天气预报、导航和高度测量、环境监测以及补偿其他传感器等方面发挥着重要作用。它们帮助我们获得关于大气压力的信息,从而推断气候变化、确定高度位置和改进其他测量系统的准确性+{{ :wiki:气压补偿.jpg?500 |}}
  
-### 4. 主要的气压传感器供应商+总之,气压传感器在天气预报、导航和高度测量、环境监测以及补偿其他传感器等方面发挥着重要作用。它们帮助我们获得关于大气压力的信息,从而推断气候变化、确定高度位置和改进其他测量系统的准确性
  
-Honeywell(霍尼韦尔)- Honeywell 是一家知名的传感器制造商,提供各种类型的气压传感器,包括绝对压力传感器和差压传感器。+### 4. 主要的气压传感器供应商[[http://​example.com|外部链接]]
  
-Bosch Sensortec(博世传感器技术) - Bosch Sensortec 专注于MEMS(微机电系统)传感器技术其产品线包括压传感器,广泛应用于手机、智能手表其他移动设备中+[[http://​www.honeywell.com|honeywell]]:(霍尼韦尔)- Honeywell 是一家知名的传感器制造商,提供各种类型的气压传感器,包括绝对传感器和差压传感器
  
-Sensirion(森赛龙)- Sensirion 是一家瑞士公司,专注于各种环境传感器,包括气压传感器。他们提供高精度的数字式气压传感器,用于工业医疗消费电子等领域+[[http://​bosch-sensortec.com|bosch-sensortec]]:(博世传感器技术) - Bosch Sensortec ​专注于MEMS(微机电系统)传感器技术其产品线包括气压传感器,广泛应用于手机智能手表其他移动设备中
  
-Freescale Semiconductor ​(飞思卡尔半导体)- Freescale Semiconductor ​是一家全球领先的半导体制造商,他们提供各种型号和规格的气压传感器,可应用于汽车、工业和消费电子等领域。+[[http://​sensirion.com|sensirion]]:(森赛龙)- Sensirion ​是一家瑞士公司专注于各种环境传感器,包括气压传感器。他们提供高精度数字式气压传感器,用于工业、医疗和消费电子等领域。
  
-TE Connectivity(泰科电子)- TE Connectivity 是一家综合性电子元器件制造商,他们提供气压传感器解决方案,用于航空航天、汽车、医疗和工业等领域。+[[http://​te.com|TE Connectivity]]:(泰科电子)- TE Connectivity 是一家综合性电子元器件制造商,他们提供气压传感器解决方案,用于航空航天、汽车、医疗和工业等领域。
  
 ### 5. 参考案例 ### 5. 参考案例
  
 +  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)
 +    ​
 +结果显示:
 +     
 +{{ ::​qiya.png?​500 |}}