0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

氣壓計(jì)LPS28DFW開(kāi)發(fā)(2)----水壓檢測(cè)

嵌入式單片機(jī)MCU開(kāi)發(fā) ? 來(lái)源:嵌入式單片機(jī)MCU開(kāi)發(fā) ? 作者:嵌入式單片機(jī)MCU開(kāi) ? 2023-12-28 10:01 ? 次閱讀

概述

本文將介紹如何使用 LPS28DFW 傳感器來(lái)讀取的壓強(qiáng)數(shù)據(jù),來(lái)估算水下深度,可以利用液體靜壓的原理。 最近在弄ST和瑞薩RA的課程,需要樣片的可以加群申請(qǐng):615061293 。

視頻教學(xué)

[https://www.bilibili.com/video/BV1Je411B7jV/]

樣品申請(qǐng)

[https://www.wjx.top/vm/OhcKxJk.aspx#]

完整代碼下載

[https://download.csdn.net/download/qq_24312945/88656283]

水壓計(jì)算

對(duì)于水平地面的固體對(duì)地面產(chǎn)生的壓強(qiáng),由于壓力大小等于重力,計(jì)算固體壓力時(shí)一般都會(huì)先計(jì)算壓力后計(jì)算壓強(qiáng),所以 F=G 在固體中經(jīng)常用到,但同時(shí)我們又要明確知道壓力與重力的不同。對(duì)于液體計(jì)算公式的由來(lái),同一深度朝各個(gè)方向都有壓強(qiáng)且相等;密度相同時(shí),深度越深壓強(qiáng)越大;深度相同
時(shí),密度越大壓強(qiáng)越大。這只是定性的關(guān)系,對(duì)于定量關(guān)系則是建立了一個(gè)規(guī)則形狀的液柱,設(shè)想
液柱下方平面的壓強(qiáng)就是該位置的液體壓強(qiáng)大小。如下圖所示,液柱對(duì)平面的壓力等于液柱所受
的重力,借助于公式的變形 F=G=mg=ρVg=ρgSh ,從而推出 P=F/S=ρgh 。由于液體同一深度朝各個(gè)方向都有壓強(qiáng)且相等,所以這個(gè)公式就可以普遍計(jì)算同一深度其他位置的液體壓強(qiáng)大小。
其中:
● P 是液體的壓力(即氣壓計(jì)測(cè)得的壓力值),
● ρ 是液體的密度(通常在20°C下水密度為1000 kg/m3)
● g 是重力加速度(通常取9.8 m/s2),
● h 是液體的深度。

設(shè)置速率和分辨率

對(duì)于 LPS28DFW 氣壓傳感器,CTRL_REG1(10h)和 CTRL_REG2(11h)的主要設(shè)置如下:
CTRL_REG1(10h)
● ODR[3:0]:輸出數(shù)據(jù)速率選擇。默認(rèn)值:0000。具體的配置值見(jiàn)數(shù)據(jù)表 19。
● AVG[2:0]:平均值選擇。默認(rèn)值:000。具體的配置值見(jiàn)數(shù)據(jù)表 20。
CTRL_REG2(11h)
● BOOT:重新啟動(dòng)內(nèi)存內(nèi)容。默認(rèn)值:0(0:正常模式;1:重新啟動(dòng)內(nèi)存內(nèi)容)。
● FS_MODE:全量程選擇。默認(rèn)值:0(0:模式1,全量程高達(dá)1260 hPa;1:模式2,全量程高達(dá)4060 hPa)。
● LFPF_CFG:低通濾波器配置。默認(rèn)值:0(0:ODR/4;1:ODR/9)。
● EN_LPFP:?jiǎn)⒂脡毫?shù)據(jù)上的低通濾波器。默認(rèn)值:0(0:禁用;1:?jiǎn)⒂茫?br /> ● BDU:塊數(shù)據(jù)更新。默認(rèn)值:0(0:連續(xù)更新;1:直到讀取了 MSB 和 LSB 之前,輸出寄存器不更新)。
● SWRESET:軟件復(fù)位。默認(rèn)值:0(0:正常模式;1:軟件復(fù)位)。復(fù)位完成時(shí)位自動(dòng)清零。
● ONESHOT:?jiǎn)⒂靡淮涡阅J?。默認(rèn)值:0(0:空閑模式;1:獲取新的數(shù)據(jù)集)。


設(shè)置輸出數(shù)據(jù)速率 (md.odr = LPS28DFW_1Hz):將輸出數(shù)據(jù)速率設(shè)置為每秒 1 次(1Hz)。較低的數(shù)據(jù)速率通??梢詼p少噪聲,從而提高測(cè)量的準(zhǔn)確性。
設(shè)置平均值 (md.avg = LPS28DFW_512_AVG):選擇 512 次平均。這意味著傳感器將獲取 512 個(gè)樣本并計(jì)算它們的平均值作為最終輸出。平均更多的樣本可以顯著減少隨機(jī)噪聲,從而提高數(shù)據(jù)的穩(wěn)定性和準(zhǔn)確性。
設(shè)置低通濾波器 (md.lpf = LPS28DFW_LPF_ODR_DIV_9):低通濾波器設(shè)置為 ODR/9,這將進(jìn)一步平滑輸出數(shù)據(jù),消除高頻噪聲。
設(shè)置全量程 (md.fs = LPS28DFW_1260hPa):選擇全量程為 1260hPa。這種較低的全量程可能更適合于測(cè)量較小的壓力變化,進(jìn)一步提高測(cè)量精度。
應(yīng)用這些設(shè)置 (lps28dfw_mode_set(&dev_ctx, &md)):最后,這些配置通過(guò) lps28dfw_mode_set 函數(shù)應(yīng)用于傳感器。
這樣的設(shè)置組合有助于提高 LPS28DFW 傳感器的精度,特別是通過(guò)降低噪聲和增加測(cè)量穩(wěn)定性。這些設(shè)置對(duì)于需要高精度測(cè)量的應(yīng)用場(chǎng)景特別有用。

/* Set Output Data Rate */
  md.odr = LPS28DFW_1Hz;
  md.avg = LPS28DFW_512_AVG;
  md.lpf = LPS28DFW_LPF_ODR_DIV_9;
  md.fs = LPS28DFW_1260hPa;
  lps28dfw_mode_set(&dev_ctx, &md);

輪詢讀取數(shù)據(jù)

水下每增加一定深度,水的壓力就會(huì)增加。這個(gè)增加的壓力與水的深度成正比。公式中減去的 氣壓值 是為了將傳感器讀數(shù)調(diào)整為相對(duì)于大氣壓的壓力。這是因?yàn)閭鞲衅鳒y(cè)得的是絕對(duì)壓力,包括了大氣壓在內(nèi)。

公式中的密度和重力加速度用的是標(biāo)準(zhǔn)單位(千克每立方米和米每平方秒),而壓強(qiáng)用的是百帕。因此,計(jì)算出的水深是以米為單位的。最后,為了將結(jié)果以更易讀的形式(厘米)展示,乘以了 100*100。

/* Infinite loop */
  /* USER CODE BEGIN WHILE */
  while (1)
  {    
  /* Read output only if new values are available */
    lps28dfw_all_sources_get(&dev_ctx, &all_sources);
    if ( all_sources.drdy_pres | all_sources.drdy_temp ) {
      lps28dfw_data_get(&dev_ctx, &md, &data);
            if(i==0)
            {
                open_h    =data.pressure.hpa;
                printf("初始化壓強(qiáng):%6.2fhPa,溫度:%6.2frn",open_h,data.heat.deg_c);
                i++;
            }
            else
            {
                float h;
                h=(data.pressure.hpa-open_h)/(1000*9.8);//水深=壓強(qiáng)/(水密度*重力加速度)
                //1百帕 (hPa)= 100 Pa = 1 mbar1千帕 (kPa)= 1000 Pa = 10 hPa
                printf("壓強(qiáng):%6.2fhPa,水深:%6.2f cm,溫度:%6.2frn",data.pressure.hpa,h*100*100,data.heat.deg_c);
            }
    }            
    /* USER CODE END WHILE */

    /* USER CODE BEGIN 3 */
  }
  /* USER CODE END 3 */

測(cè)試結(jié)果

10cm測(cè)試情況如下。

15cm測(cè)試情況如下。

20cm測(cè)試情況如下。

25cm測(cè)試情況如下。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 氣壓計(jì)
    +關(guān)注

    關(guān)注

    1

    文章

    43

    瀏覽量

    18220
  • stm32cubemx
    +關(guān)注

    關(guān)注

    5

    文章

    278

    瀏覽量

    14618
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    歌爾氣壓計(jì)在無(wú)人機(jī)上的應(yīng)用

    歌爾氣壓傳感器SPA06-003的應(yīng)用
    的頭像 發(fā)表于 08-19 10:13 ?184次閱讀

    e2studio開(kāi)發(fā)LPS28DFW氣壓計(jì)(2)----水壓檢測(cè)

    本文將介紹如何使用 LPS28DFW 傳感器來(lái)讀取的壓強(qiáng)數(shù)據(jù),來(lái)估算水下深度,可以利用液體靜壓的原理。
    的頭像 發(fā)表于 08-09 14:32 ?1263次閱讀
    e<b class='flag-5'>2</b>studio<b class='flag-5'>開(kāi)發(fā)</b><b class='flag-5'>LPS28DFW</b><b class='flag-5'>氣壓計(jì)</b>(<b class='flag-5'>2</b>)----<b class='flag-5'>水壓</b><b class='flag-5'>檢測(cè)</b>

    e2studio開(kāi)發(fā)LPS28DFW氣壓計(jì)(1)----輪詢獲取氣壓計(jì)數(shù)據(jù)

    本文將介紹如何使用 LPS28DFW 傳感器來(lái)讀取數(shù)據(jù)。主要步驟包括初始化傳感器接口、驗(yàn)證設(shè)備ID、配置傳感器的數(shù)據(jù)輸出率和濾波器,以及通過(guò)輪詢方式持續(xù)讀取氣壓數(shù)據(jù)和溫度數(shù)據(jù)。讀取到的數(shù)據(jù)會(huì)被轉(zhuǎn)換為適當(dāng)?shù)膯挝徊⑼ㄟ^(guò)串行通信輸出。
    的頭像 發(fā)表于 08-09 14:24 ?1189次閱讀
    e<b class='flag-5'>2</b>studio<b class='flag-5'>開(kāi)發(fā)</b><b class='flag-5'>LPS28DFW</b><b class='flag-5'>氣壓計(jì)</b>(1)----輪詢獲取<b class='flag-5'>氣壓計(jì)</b>數(shù)據(jù)

    水壓計(jì)ILPS28QSW開(kāi)發(fā)(3)----Qvar觸摸電容配置

    測(cè)量單元(IMU)和微機(jī)電系統(tǒng)(MEMS)技術(shù)中。Qvar 技術(shù)可以用于檢測(cè)微小的電荷變化,這些變化可能是由于物理運(yùn)動(dòng)、環(huán)境變化或其他因素導(dǎo)致的。 在 ILPS28QSW 這類(lèi)先進(jìn)的 MEMS 中
    的頭像 發(fā)表于 07-21 17:10 ?427次閱讀
    <b class='flag-5'>水壓計(jì)</b>ILPS<b class='flag-5'>28</b>QSW<b class='flag-5'>開(kāi)發(fā)</b>(3)----Qvar觸摸電容配置

    水壓計(jì)ILPS28QSW開(kāi)發(fā)(2)----水壓檢測(cè)

    本文將介紹如何使用 ILPS28QSW 傳感器來(lái)讀取的壓強(qiáng)數(shù)據(jù),來(lái)估算水下深度,可以利用液體靜壓的原理。對(duì)于水平地面的固體對(duì)地面產(chǎn)生的壓強(qiáng),由于壓力大小等于重力,計(jì)算固體壓力時(shí)一般都會(huì)先計(jì)算壓力后計(jì)
    的頭像 發(fā)表于 07-21 17:05 ?414次閱讀
    <b class='flag-5'>水壓計(jì)</b>ILPS<b class='flag-5'>28</b>QSW<b class='flag-5'>開(kāi)發(fā)</b>(<b class='flag-5'>2</b>)----<b class='flag-5'>水壓</b><b class='flag-5'>檢測(cè)</b>

    水壓計(jì)ILPS28QSW開(kāi)發(fā)(1)----輪詢獲取水壓計(jì)數(shù)據(jù)

    本文將介紹如何使用 ILPS28QSW 傳感器來(lái)讀取數(shù)據(jù)。主要步驟包括初始化傳感器接口、驗(yàn)證設(shè)備ID、配置傳感器的數(shù)據(jù)輸出率和濾波器,以及通過(guò)輪詢方式持續(xù)讀取氣壓數(shù)據(jù)和溫度數(shù)據(jù)。讀取到的數(shù)據(jù)會(huì)被轉(zhuǎn)換為適當(dāng)?shù)膯挝徊⑼ㄟ^(guò)串行通信輸出。
    的頭像 發(fā)表于 07-21 09:51 ?952次閱讀
    <b class='flag-5'>水壓計(jì)</b>ILPS<b class='flag-5'>28</b>QSW<b class='flag-5'>開(kāi)發(fā)</b>(1)----輪詢獲取<b class='flag-5'>水壓</b>計(jì)數(shù)據(jù)

    氣壓計(jì)LPS22HB開(kāi)發(fā)(1)----輪詢獲取氣壓計(jì)數(shù)據(jù)

    本文將介紹如何使用 LPS22HB 傳感器來(lái)讀取數(shù)據(jù)。主要步驟包括初始化傳感器接口、驗(yàn)證設(shè)備ID、配置傳感器的數(shù)據(jù)輸出率和濾波器,以及通過(guò)輪詢方式持續(xù)讀取氣壓數(shù)據(jù)和溫度數(shù)據(jù)。讀取到的數(shù)據(jù)會(huì)被轉(zhuǎn)換為適當(dāng)?shù)膯挝徊⑼ㄟ^(guò)串行通信輸出。
    的頭像 發(fā)表于 05-17 15:31 ?1164次閱讀
    <b class='flag-5'>氣壓計(jì)</b><b class='flag-5'>LPS</b>22HB<b class='flag-5'>開(kāi)發(fā)</b>(1)----輪詢獲取<b class='flag-5'>氣壓計(jì)</b>數(shù)據(jù)

    氣壓計(jì)LPS25HB開(kāi)發(fā)(1)----輪詢獲取氣壓計(jì)數(shù)據(jù)

    本文將介紹如何使用 LPS25HB 傳感器來(lái)讀取數(shù)據(jù)。主要步驟包括初始化傳感器接口、驗(yàn)證設(shè)備ID、配置傳感器的數(shù)據(jù)輸出率和濾波器,以及通過(guò)輪詢方式持續(xù)讀取氣壓數(shù)據(jù)和溫度數(shù)據(jù)。讀取到的數(shù)據(jù)會(huì)被轉(zhuǎn)換為適當(dāng)?shù)膯挝徊⑼ㄟ^(guò)串行通信輸出。
    的頭像 發(fā)表于 05-17 15:19 ?949次閱讀
    <b class='flag-5'>氣壓計(jì)</b><b class='flag-5'>LPS</b>25HB<b class='flag-5'>開(kāi)發(fā)</b>(1)----輪詢獲取<b class='flag-5'>氣壓計(jì)</b>數(shù)據(jù)

    MS4525DO-SS3BJ015AS氣壓計(jì)怎么換算高度

    使用MS4525DO-SS3BJ015AS氣壓計(jì)進(jìn)行高度換算需要按照以下步驟進(jìn)行:1. 首先,確保氣壓計(jì)已經(jīng)校準(zhǔn)并處于正常工作狀態(tài)??梢酝ㄟ^(guò)與已知準(zhǔn)確高度的地點(diǎn)進(jìn)行比較,來(lái)驗(yàn)證氣壓計(jì)的準(zhǔn)確性。
    的頭像 發(fā)表于 01-23 16:43 ?488次閱讀
    MS4525DO-SS3BJ015AS<b class='flag-5'>氣壓計(jì)</b>怎么換算高度

    e2studio開(kāi)發(fā)LPS28DFW氣壓計(jì)(2)----水壓檢測(cè)

    本文將介紹如何使用 LPS28DFW 傳感器來(lái)讀取的壓強(qiáng)數(shù)據(jù),來(lái)估算水下深度,可以利用液體靜壓的原理。
    的頭像 發(fā)表于 01-09 16:09 ?439次閱讀
    e<b class='flag-5'>2</b>studio<b class='flag-5'>開(kāi)發(fā)</b><b class='flag-5'>LPS28DFW</b><b class='flag-5'>氣壓計(jì)</b>(<b class='flag-5'>2</b>)----<b class='flag-5'>水壓</b><b class='flag-5'>檢測(cè)</b>

    e2studio開(kāi)發(fā)LPS28DFW氣壓計(jì)(1)----輪詢獲取氣壓計(jì)數(shù)據(jù)

    本文將介紹如何使用 LPS28DFW 傳感器來(lái)讀取數(shù)據(jù)。主要步驟包括初始化傳感器接口、驗(yàn)證設(shè)備ID、配置傳感器的數(shù)據(jù)輸出率和濾波器,以及通過(guò)輪詢方式持續(xù)讀取氣壓數(shù)據(jù)和溫度數(shù)據(jù)。讀取到的數(shù)據(jù)會(huì)被轉(zhuǎn)換為適當(dāng)?shù)膯挝徊⑼ㄟ^(guò)串行通信輸出。
    的頭像 發(fā)表于 01-09 16:05 ?355次閱讀
    e<b class='flag-5'>2</b>studio<b class='flag-5'>開(kāi)發(fā)</b><b class='flag-5'>LPS28DFW</b><b class='flag-5'>氣壓計(jì)</b>(1)----輪詢獲取<b class='flag-5'>氣壓計(jì)</b>數(shù)據(jù)

    水壓監(jiān)控物聯(lián)網(wǎng)有什么應(yīng)用場(chǎng)景和功能作用

    隨著科技的飛速發(fā)展,物聯(lián)網(wǎng)技術(shù)已經(jīng)滲透到我們生活的方方面面。其中,水壓監(jiān)控物聯(lián)網(wǎng)作為一種高效管理供水系統(tǒng)的手段,正逐漸受到廣泛關(guān)注。對(duì)此,數(shù)之能提供接入壓力計(jì)進(jìn)行可視化遠(yuǎn)程監(jiān)控的物聯(lián)網(wǎng)解決方案,實(shí)現(xiàn)
    的頭像 發(fā)表于 01-05 16:09 ?259次閱讀

    氣壓計(jì)LPS28DFW開(kāi)發(fā)(1)----輪詢獲取氣壓計(jì)數(shù)據(jù)

    本文將介紹如何使用 LPS28DFW 傳感器來(lái)讀取數(shù)據(jù)。主要步驟包括初始化傳感器接口、驗(yàn)證設(shè)備ID、配置傳感器的數(shù)據(jù)輸出率和濾波器,以及通過(guò)輪詢方式持續(xù)讀取氣壓數(shù)據(jù)和溫度數(shù)據(jù)。讀取到的數(shù)據(jù)會(huì)被轉(zhuǎn)換為適當(dāng)?shù)膯挝徊⑼ㄟ^(guò)串行通信輸出。
    的頭像 發(fā)表于 12-28 09:58 ?464次閱讀
    <b class='flag-5'>氣壓計(jì)</b><b class='flag-5'>LPS28DFW</b><b class='flag-5'>開(kāi)發(fā)</b>(1)----輪詢獲取<b class='flag-5'>氣壓計(jì)</b>數(shù)據(jù)

    LPS音頻功放選型及其在IPC的應(yīng)用

    LPS音頻功放選型及其在IPC的應(yīng)用
    的頭像 發(fā)表于 12-05 15:54 ?700次閱讀
    <b class='flag-5'>LPS</b>音頻功放選型及其在IPC的應(yīng)用

    氣壓計(jì)MS5611讀出來(lái)的數(shù)據(jù)不準(zhǔn)是為什么?

    氣壓計(jì)MS5611讀出來(lái)的數(shù)據(jù)不準(zhǔn)
    發(fā)表于 11-02 07:55