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

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

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

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

嵌入式單片機(jī)MCU開發(fā) ? 來源:嵌入式單片機(jī)MCU開發(fā) ? 作者:嵌入式單片機(jī)MCU開 ? 2024-07-21 09:51 ? 次閱讀

概述

本文將介紹如何使用 ILPS28QSW 傳感器來讀取數(shù)據(jù)。主要步驟包括初始化傳感器接口、驗(yàn)證設(shè)備ID、配置傳感器的數(shù)據(jù)輸出率和濾波器,以及通過輪詢方式持續(xù)讀取氣壓數(shù)據(jù)和溫度數(shù)據(jù)。讀取到的數(shù)據(jù)會(huì)被轉(zhuǎn)換為適當(dāng)?shù)膯挝徊⑼ㄟ^串行通信輸出。

需要樣片的可以加群申請(qǐng):615061293 。

在這里插入圖片描述

視頻教學(xué)

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

樣品申請(qǐng)

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

源碼下載

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

產(chǎn)品特性

ILPS28QSW是一款超緊湊的壓阻式絕對(duì)壓力傳感器,功能類似于數(shù)字輸出氣壓計(jì),支持用戶可選的4060 hPa全量程。該設(shè)備包含一個(gè)傳感元件和一個(gè)IC接口,通過I2C或MIPI I3CSM接口從傳感元件到應(yīng)用進(jìn)行通信。ILPS28QSW在功耗方面表現(xiàn)出色,比其前代產(chǎn)品具有更低的壓力噪聲。它內(nèi)置模擬樞紐傳感功能,能夠連接模擬輸入并將其轉(zhuǎn)換為數(shù)字信號(hào)進(jìn)行嵌入處理。此外,嵌入的Qvar(電荷變化檢測)通道可用于水泄漏檢測、輕拍、雙擊、長按和左右滑動(dòng)等應(yīng)用。

在這里插入圖片描述

硬件準(zhǔn)備

首先需要準(zhǔn)備一個(gè)開發(fā)板,這里我準(zhǔn)備的是自己繪制的開發(fā)板,需要的可以進(jìn)行申請(qǐng)。

主控為STM32H503CB,水壓計(jì)為ILPS28QSW

在這里插入圖片描述

通信模式

對(duì)于ILPS28QSW,可以使用IIC進(jìn)行通訊。 最小系統(tǒng)圖如下所示。

在這里插入圖片描述

本文使用的板子原理圖如下所示。

在這里插入圖片描述

速率

該模塊支持的I2C速度最快位快速模式+(1M)

在這里插入圖片描述

生成STM32CUBEMX

用STM32CUBEMX生成例程,這里使用MCU為STM32H503CB。 配置時(shí)鐘樹,配置時(shí)鐘為250M。

在這里插入圖片描述

串口配置

查看原理圖,PA9和PA10設(shè)置為開發(fā)板的串口。

在這里插入圖片描述

配置串口,速率為2000000。

在這里插入圖片描述

IIC配置

在這里插入圖片描述

配置IIC速度為1M。

在這里插入圖片描述

串口重定向

打開魔術(shù)棒,勾選MicroLIB

在這里插入圖片描述

在main.c中,添加頭文件,若不添加會(huì)出現(xiàn) identifier "FILE" is undefined報(bào)錯(cuò)。

/* USER CODE BEGIN Includes */
#include "stdio.h"
/* USER CODE END Includes */

函數(shù)聲明和串口重定向:

/* USER CODE BEGIN PFP */
int fputc(int ch, FILE *f){
    HAL_UART_Transmit(&huart1 , (uint8_t *)&ch, 1, 0xFFFF);
    return ch;
}
/* USER CODE END PFP */

參考驅(qū)動(dòng)程序

[https://github.com/STMicroelectronics/ilps28qsw-pid]

獲取ID

可以向WHO_AM_I (0Fh)獲取固定值,判斷是否為0xB4

在這里插入圖片描述

ilps28qsw_id_get為獲取函數(shù)。

在這里插入圖片描述

對(duì)應(yīng)的獲取ID驅(qū)動(dòng)程序,如下所示。

/* Check device ID */
  ilps28qsw_id_get(&dev_ctx, &id);
    printf("ILPS28QSW_ID=0x%x,id.whoami=0x%xn",ILPS28QSW_ID,id.whoami);    
  if (id.whoami != ILPS28QSW_ID)
    while(1);

復(fù)位操作

ilps28qsw_init_set為重置函數(shù)。

在這里插入圖片描述

對(duì)應(yīng)的驅(qū)動(dòng)程序,如下所示。

/* Restore default configuration */
  ilps28qsw_init_set(&dev_ctx, ILPS28QSW_RESET);
  do {
    ilps28qsw_status_get(&dev_ctx, &status);
  } while (status.sw_reset);

關(guān)閉QVAR

通過禁用(AH)/ Qvar功能來節(jié)省壓力傳感器的電力消耗。

這種做法可以確保在不需要AH/Qvar功能時(shí),設(shè)備能夠以更低的能耗進(jìn)行工作,延長電池壽命或降低總體能耗。

在這里插入圖片描述

/* Disable AH/QVAR to save power consumption */
  ilps28qsw_ah_qvar_disable(&dev_ctx);

BDU設(shè)置

在很多傳感器中,數(shù)據(jù)通常被存儲(chǔ)在輸出寄存器中,這些寄存器分為兩部分:MSB和LSB。這兩部分共同表示一個(gè)完整的數(shù)據(jù)值。例如,在一個(gè)加速度計(jì)中,MSB和LSB可能共同表示一個(gè)加速度的測量值。
連續(xù)更新模式(BDU = ‘0’):在默認(rèn)模式下,輸出寄存器的值會(huì)持續(xù)不斷地被更新。這意味著在你讀取MSB和LSB的時(shí)候,寄存器中的數(shù)據(jù)可能會(huì)因?yàn)樾碌臏y量數(shù)據(jù)而更新。這可能導(dǎo)致一個(gè)問題:當(dāng)你讀取MSB時(shí),如果寄存器更新了,接下來讀取的LSB可能就是新的測量值的一部分,而不是與MSB相對(duì)應(yīng)的值。這樣,你得到的就是一個(gè)“拼湊”的數(shù)據(jù),它可能無法準(zhǔn)確代表任何實(shí)際的測量時(shí)刻。
塊數(shù)據(jù)更新(BDU)模式(BDU = ‘1’):當(dāng)激活BDU功能時(shí),輸出寄存器中的內(nèi)容不會(huì)在讀取MSB和LSB之間更新。這就意味著一旦開始讀取數(shù)據(jù)(無論是先讀MSB還是LSB),寄存器中的那一組數(shù)據(jù)就被“鎖定”,直到兩部分都被讀取完畢。這樣可以確保你讀取的MSB和LSB是同一測量時(shí)刻的數(shù)據(jù),避免了讀取到代表不同采樣時(shí)刻的數(shù)據(jù)。
簡而言之,BDU位的作用是確保在讀取數(shù)據(jù)時(shí),輸出寄存器的內(nèi)容保持穩(wěn)定,從而避免讀取到拼湊或錯(cuò)誤的數(shù)據(jù)。這對(duì)于需要高精度和穩(wěn)定性的應(yīng)用尤為重要。
可以向CTRL_REG2 (11h)的BDU寄存器寫入1進(jìn)行開啟。

在這里插入圖片描述

對(duì)應(yīng)的驅(qū)動(dòng)程序,如下所示。

/* Set bdu and if_inc recommended for driver usage */
  ilps28qsw_init_set(&dev_ctx, ILPS28QSW_DRV_RDY);

設(shè)置總線接口

/* Select bus interface */
  bus_mode.filter = ILPS28QSW_AUTO;
  ilps28qsw_bus_mode_set(&dev_ctx, &bus_mode);

設(shè)置速率

設(shè)置速率和量程可以通過CTRL_REG1 (10h)和CTRL_REG2 (11h)進(jìn)行設(shè)置。

在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

/* Set Output Data Rate */
  md.odr = ILPS28QSW_4Hz;
  md.avg = ILPS28QSW_16_AVG;
  md.lpf = ILPS28QSW_LPF_ODR_DIV_4;
  md.fs = ILPS28QSW_1260hPa;
  ilps28qsw_mode_set(&dev_ctx, &md);

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

對(duì)于壓強(qiáng)和溫度數(shù)據(jù)是否準(zhǔn)備好,可以查看STATUS (27h)的T_DA和P_DA位,判斷是否有新數(shù)據(jù)到達(dá)。

在這里插入圖片描述

對(duì)于壓強(qiáng)數(shù)據(jù),主要在PRESS_OUT_XL (28h)-PRESS_OUT_H (2Ah)。

在這里插入圖片描述

對(duì)于溫度數(shù)據(jù),數(shù)據(jù)在TEMP_OUT_L (2Bh)-TEMP_OUT_H (2Ch)。

在這里插入圖片描述

/* Infinite loop */
  /* USER CODE BEGIN WHILE */
  while (1)
  {
    /* Read output only if new values are available */
    ilps28qsw_all_sources_get(&dev_ctx, &all_sources);
    if ( all_sources.drdy_pres | all_sources.drdy_temp ) {
      ilps28qsw_data_get(&dev_ctx, &md, &data);

      printf("pressure [hPa]:%6.2f temperature [degC]:%6.2frn",
              data.pressure.hpa, data.heat.deg_c);

    }        


    /* USER CODE END WHILE */

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

演示

在這里插入圖片描述

正常氣壓為950hPa到1050hPa之間。

在這里插入圖片描述

審核編輯 黃宇

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

    關(guān)注

    2551

    文章

    51097

    瀏覽量

    753524
  • 接口
    +關(guān)注

    關(guān)注

    33

    文章

    8596

    瀏覽量

    151145
  • 氣壓計(jì)
    +關(guān)注

    關(guān)注

    1

    文章

    55

    瀏覽量

    18257
收藏 人收藏

    評(píng)論

    相關(guān)推薦

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

    本文將介紹如何使用 LPS28DFW 傳感器來讀取數(shù)據(jù)。主要步驟包括初始化傳感器接口、驗(yàn)證設(shè)備ID、配置傳感器的數(shù)據(jù)輸出率和濾波器,以及通過輪詢方式持續(xù)讀取氣壓
    的頭像 發(fā)表于 08-09 14:24 ?1430次閱讀
    e2studio<b class='flag-5'>開發(fā)</b>LPS<b class='flag-5'>28</b>DFW氣壓<b class='flag-5'>計(jì)</b>(<b class='flag-5'>1</b>)----<b class='flag-5'>輪詢</b><b class='flag-5'>獲取</b>氣壓<b class='flag-5'>計(jì)數(shù)據(jù)</b>

    室內(nèi)熱水供暖系統(tǒng)的水壓圖問題

    的壓力。以下就繪制水壓圖的方法作一簡述。設(shè)熱水流過某一管段如圖1 所示,根據(jù)流體力學(xué)中伯努利能量方程式,列出斷面1 和斷面2 之間的能量方程為:[hide][/hide]
    發(fā)表于 03-18 22:17

    【HiKey申請(qǐng)】OpenRov

    。項(xiàng)目描述:初涉方案:用HiKey來根據(jù)MPU6050傳過來的數(shù)據(jù)進(jìn)行計(jì)算,從而算出合適的PWM來控制電機(jī)以達(dá)到平衡,并且通過路由進(jìn)行圖像實(shí)時(shí)回傳。項(xiàng)目后面還可以加各種傳感器,如水壓計(jì)等等。設(shè)計(jì)原理:利用陀螺儀MPU6050來進(jìn)行平衡,攝像頭采集圖像,路由傳輸
    發(fā)表于 04-20 10:44

    用膠粘計(jì)數(shù)修復(fù)水壓機(jī)的核心部件

    用膠粘計(jì)數(shù)修復(fù)水壓機(jī)的核心部件
    發(fā)表于 05-23 14:15 ?14次下載

    基于XTR105的水壓測量電路設(shè)計(jì)

    基于XTR105的水壓測量電路設(shè)計(jì)介紹了基于 XTR105 芯片的信號(hào)處理電路測試流動(dòng)中的水壓,所得數(shù)據(jù)精確到1,零度漂移誤差小,可靠性高。并對(duì)傳感器的靜態(tài)特性進(jìn)行了標(biāo)定,線性度高,靜
    發(fā)表于 07-25 14:51 ?246次下載
    基于XTR105的<b class='flag-5'>水壓</b>測量電路設(shè)計(jì)

    ST首款MEMS防水/防液絕對(duì)壓力傳感器,賦能工業(yè)物聯(lián)網(wǎng)

    意法半導(dǎo)體新推出的ILPS28QSW傳感器采用密封的圓柱形表面貼裝封裝。該封裝采用防液體滲透性很高的陶瓷基板和堅(jiān)固的車用灌封膠保護(hù)內(nèi)部電路。
    發(fā)表于 06-15 11:45 ?573次閱讀
    ST首款MEMS防水/防液絕對(duì)壓力傳感器,賦能工業(yè)物聯(lián)網(wǎng)

    水壓傳感器選型和介紹

    水壓傳感器是一種用于測量液體或氣體中壓力的設(shè)備,廣泛應(yīng)用于工業(yè)控制、環(huán)境監(jiān)測、醫(yī)療儀器等領(lǐng)域。在選擇水壓傳感器時(shí),需要考慮一些關(guān)鍵參數(shù)以確保其適應(yīng)特定應(yīng)用需求。以下是水壓傳感器選型和參數(shù)的一些具體內(nèi)容。
    的頭像 發(fā)表于 06-18 11:28 ?2531次閱讀

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

    本文將介紹如何使用 LPS28DFW 傳感器來讀取數(shù)據(jù)。主要步驟包括初始化傳感器接口、驗(yàn)證設(shè)備ID、配置傳感器的數(shù)據(jù)輸出率和濾波器,以及通過輪詢方式持續(xù)讀取氣壓
    的頭像 發(fā)表于 12-28 09:58 ?557次閱讀
    氣壓<b class='flag-5'>計(jì)</b>LPS<b class='flag-5'>28</b>DFW<b class='flag-5'>開發(fā)</b>(<b class='flag-5'>1</b>)----<b class='flag-5'>輪詢</b><b class='flag-5'>獲取</b>氣壓<b class='flag-5'>計(jì)數(shù)據(jù)</b>

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

    多種應(yīng)用場景的智能管理與控制。 功能作用 1、實(shí)時(shí)監(jiān)測:在平臺(tái)上可以實(shí)時(shí)監(jiān)測各個(gè)站點(diǎn)的水壓數(shù)據(jù),為相關(guān)部門提供及時(shí)、準(zhǔn)確的水壓信息,為供水系統(tǒng)的運(yùn)行管理提供有力支持。 2、預(yù)警報(bào)警:通
    的頭像 發(fā)表于 01-05 16:09 ?376次閱讀

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

    本文將介紹如何使用 LPS28DFW 傳感器來讀取數(shù)據(jù)。主要步驟包括初始化傳感器接口、驗(yàn)證設(shè)備ID、配置傳感器的數(shù)據(jù)輸出率和濾波器,以及通過輪詢方式持續(xù)讀取氣壓
    的頭像 發(fā)表于 01-09 16:05 ?448次閱讀
    e2studio<b class='flag-5'>開發(fā)</b>LPS<b class='flag-5'>28</b>DFW氣壓<b class='flag-5'>計(jì)</b>(<b class='flag-5'>1</b>)----<b class='flag-5'>輪詢</b><b class='flag-5'>獲取</b>氣壓<b class='flag-5'>計(jì)數(shù)據(jù)</b>

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

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

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

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

    孔隙水壓力計(jì)現(xiàn)場埋設(shè)_滲壓計(jì)埋設(shè)安裝方法有幾種?

    ?工程監(jiān)測領(lǐng)域,孔隙水壓力計(jì)的現(xiàn)場埋設(shè)方法一直是眾多監(jiān)測人員關(guān)注的重點(diǎn)。常常有監(jiān)測朋友在網(wǎng)上詢問相關(guān)問題,此前南京峟思雖已闡述過滲壓計(jì)孔隙水壓力計(jì)埋設(shè)安裝的注意要點(diǎn),使得大家能夠較為熟練地運(yùn)用滲壓
    的頭像 發(fā)表于 12-18 11:01 ?88次閱讀
    孔隙<b class='flag-5'>水壓力計(jì)</b>現(xiàn)場埋設(shè)_滲壓<b class='flag-5'>計(jì)</b>埋設(shè)安裝方法有幾種?

    振弦式孔隙水壓力計(jì)原理與公式你了解嗎

    ?振弦式孔隙水壓力計(jì)作為工程監(jiān)測領(lǐng)域的重要儀器,主要由金屬外殼、透水石、傳感器以及信號(hào)傳輸電纜等部件組成,它亦被稱為孔隙水壓計(jì)或滲壓計(jì)。在當(dāng)今自動(dòng)化監(jiān)測技術(shù)不斷成熟并大規(guī)模推廣應(yīng)用的時(shí)代背景下,除了
    的頭像 發(fā)表于 12-18 11:16 ?94次閱讀
    振弦式孔隙<b class='flag-5'>水壓力計(jì)</b>原理與公式你了解嗎

    峟思振弦式滲壓計(jì)三大核心問題解析

    ?孔隙水壓力測量裝置,亦被業(yè)界稱為滲壓計(jì)或孔隙水壓計(jì),在其埋設(shè)、安裝及應(yīng)用過程中,諸多疑問常常困擾著使用者。例如,孔隙水壓力呈現(xiàn)負(fù)值意味著什么?如何正確安裝孔隙
    的頭像 發(fā)表于 12-19 13:06 ?107次閱讀
    峟思振弦式滲壓<b class='flag-5'>計(jì)</b>三大核心問題解析