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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

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

e2studio開發(fā)LPS28DFW氣壓計(2)----水壓檢測

嵌入式單片機MCU開發(fā) ? 來源:嵌入式單片機MCU開發(fā) ? 作者:嵌入式單片機MCU開 ? 2024-01-09 16:09 ? 次閱讀

概述

本文將介紹如何使用 LPS28DFW 傳感器來讀取的壓強數(shù)據(jù),來估算水下深度,可以利用液體靜壓的原理。

最近在弄ST和瑞薩RA的課程,需要樣片的可以加群申請:615061293 。

視頻教學

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

樣品申請

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

完整代碼下載

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

水壓計算

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

設置速率和分辨率

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

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

/* 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ù)

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

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

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("first pressure:%6.2fhPa,temperature:%6.2frn",open_h,data.heat.deg_c);
                    i++;
                    }
                else
                {
                    float h;
                    h=(data.pressure.hpa-open_h)/(1000*9.8);//水深=壓強/(水密度*重力加速度)
                    //1百帕 (hPa)= 100 Pa = 1 mbar1千帕 (kPa)= 1000 Pa = 10 hPa
                    printf("pressure:%6.2fhPa,h:%6.2f cm,temperature:%6.2frn",data.pressure.hpa,h*100*100,data.heat.deg_c);
                }
            }
        }

測試結(jié)果

10cm測試情況如下。

15cm測試情況如下。

20cm測試情況如下。

25cm測試情況如下。

審核編輯 黃宇

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

    關注

    2551

    文章

    51097

    瀏覽量

    753525
  • 檢測
    +關注

    關注

    5

    文章

    4488

    瀏覽量

    91469
  • 氣壓計
    +關注

    關注

    1

    文章

    55

    瀏覽量

    18257
收藏 人收藏

    評論

    相關推薦

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

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

    e2studio開發(fā)LPS28DFW氣壓計(2)----水壓檢測

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

    ST LPS28DFW器件相關的使用信息和應用提示

    本文檔提供 ST LPS28DFW 器件相關的使用信息和應用提示。LPS28DFW 是一款超緊湊型壓阻絕對氣壓傳感器,可用作數(shù)字輸出氣壓計,具有數(shù)字 I2C / MIPI I3CSM
    發(fā)表于 09-07 07:17

    MS5611氣壓計 I2C驅(qū)動代碼 STM32

    MS5611氣壓計 I2C驅(qū)動代碼 STM32
    發(fā)表于 11-15 11:51 ?23次下載
    MS5611<b class='flag-5'>氣壓計</b> I<b class='flag-5'>2</b>C驅(qū)動代碼 STM32

    瑞薩e2studio(3)----GPIO輸入檢測

    ()函數(shù)原型R_IOPORT_PinRead()函數(shù)原型代碼演示效果最后概述本篇文章主要介紹如何使用e2studio對瑞薩單片機進行GPIO輸出,并以LED顯示。硬件準備首先需要準備一個開發(fā)板,這里我準備的是芯片型號R7FA2L1AB2
    發(fā)表于 12-20 19:00 ?6次下載
    瑞薩<b class='flag-5'>e2studio</b>(3)----GPIO輸入<b class='flag-5'>檢測</b>

    瑞薩e2studio(2)----GPIO輸出

    本篇文章主要介紹如何使用e2studio對瑞薩單片機進行GPIO輸出,并以LED顯示。
    的頭像 發(fā)表于 11-14 17:11 ?1294次閱讀
    瑞薩<b class='flag-5'>e2studio</b>(<b class='flag-5'>2</b>)----GPIO輸出

    瑞薩e2studio(3)----GPIO輸入檢測

    本篇文章主要介紹如何使用e2studio對瑞薩單片機進行GPIO輸出,并以LED顯示。
    的頭像 發(fā)表于 11-14 20:15 ?2794次閱讀
    瑞薩<b class='flag-5'>e2studio</b>(3)----GPIO輸入<b class='flag-5'>檢測</b>

    瑞薩e2studio(8)----PWM

    本篇文章主要介紹如何使用e2studio對瑞薩單片機進行PWM輸出。
    的頭像 發(fā)表于 11-15 10:43 ?1183次閱讀
    瑞薩<b class='flag-5'>e2studio</b>(8)----PWM

    瑞薩e2studio(9)----EXIT

    本篇文章主要介紹如何使用e2studio對瑞薩單片機進行EXIT檢測,之后通過按鍵形式以及燈的亮滅形式進行演示。
    的頭像 發(fā)表于 11-15 10:53 ?1077次閱讀
    瑞薩<b class='flag-5'>e2studio</b>(9)----EXIT

    瑞薩e2studio(10)----DAC

    本篇文章主要介紹如何使用e2studio對瑞薩單片機進行DAC輸出。
    的頭像 發(fā)表于 11-15 10:59 ?1004次閱讀
    瑞薩<b class='flag-5'>e2studio</b>(10)----DAC

    LPS28DFW緊湊型壓阻絕對氣壓傳感器應用筆記

    電子發(fā)燒友網(wǎng)站提供《LPS28DFW緊湊型壓阻絕對氣壓傳感器應用筆記.pdf》資料免費下載
    發(fā)表于 08-01 09:19 ?0次下載
    <b class='flag-5'>LPS28DFW</b>緊湊型壓阻絕對<b class='flag-5'>氣壓</b>傳感器應用筆記

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

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

    氣壓計LPS28DFW開發(fā)(2)----水壓檢測

    本文將介紹如何使用 LPS28DFW 傳感器來讀取的壓強數(shù)據(jù),來估算水下深度,可以利用液體靜壓的原理。
    的頭像 發(fā)表于 12-28 10:01 ?897次閱讀
    <b class='flag-5'>氣壓計</b><b class='flag-5'>LPS28DFW</b><b class='flag-5'>開發(fā)</b>(<b class='flag-5'>2</b>)----<b class='flag-5'>水壓</b><b class='flag-5'>檢測</b>

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

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

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

    本文將介紹如何使用 LPS22DF 傳感器來讀取數(shù)據(jù)。LPS22DF是一款超緊湊型壓阻絕對壓力傳感器,可用作數(shù)字輸出氣壓計。LPS22DF相比前代產(chǎn)品具有更低的功耗和更小的壓力噪聲。
    的頭像 發(fā)表于 11-27 09:59 ?209次閱讀
    <b class='flag-5'>氣壓計</b><b class='flag-5'>LPS</b>22DF<b class='flag-5'>開發(fā)</b>(1)----輪詢獲取<b class='flag-5'>氣壓計</b>數(shù)據(jù)