衡阳派盒市场营销有限公司

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

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

3天內不再提示

水壓計ILPS28QSW開發(1)----輪詢獲取水壓計數據

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

概述

本文將介紹如何使用 ILPS28QSW 傳感器來讀取數據。主要步驟包括初始化傳感器接口、驗證設備ID、配置傳感器的數據輸出率和濾波器,以及通過輪詢方式持續讀取氣壓數據和溫度數據。讀取到的數據會被轉換為適當的單位并通過串行通信輸出。

需要樣片的可以加群申請:615061293 。

在這里插入圖片描述

視頻教學

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

樣品申請

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

源碼下載

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

產品特性

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

在這里插入圖片描述

硬件準備

首先需要準備一個開發板,這里我準備的是自己繪制的開發板,需要的可以進行申請。

主控為STM32H503CB,水壓計為ILPS28QSW

在這里插入圖片描述

通信模式

對于ILPS28QSW,可以使用IIC進行通訊。 最小系統圖如下所示。

在這里插入圖片描述

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

在這里插入圖片描述

速率

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

在這里插入圖片描述

生成STM32CUBEMX

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

在這里插入圖片描述

串口配置

查看原理圖,PA9和PA10設置為開發板的串口。

在這里插入圖片描述

配置串口,速率為2000000。

在這里插入圖片描述

IIC配置

在這里插入圖片描述

配置IIC速度為1M。

在這里插入圖片描述

串口重定向

打開魔術棒,勾選MicroLIB

在這里插入圖片描述

在main.c中,添加頭文件,若不添加會出現 identifier "FILE" is undefined報錯。

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

函數聲明和串口重定向:

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

參考驅動程序

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

獲取ID

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

在這里插入圖片描述

ilps28qsw_id_get為獲取函數。

在這里插入圖片描述

對應的獲取ID驅動程序,如下所示。

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

復位操作

ilps28qsw_init_set為重置函數。

在這里插入圖片描述

對應的驅動程序,如下所示。

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

關閉QVAR

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

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

在這里插入圖片描述

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

BDU設置

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

在這里插入圖片描述

對應的驅動程序,如下所示。

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

設置總線接口

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

設置速率

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

在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

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

輪詢讀取數據

對于壓強和溫度數據是否準備好,可以查看STATUS (27h)的T_DA和P_DA位,判斷是否有新數據到達。

在這里插入圖片描述

對于壓強數據,主要在PRESS_OUT_XL (28h)-PRESS_OUT_H (2Ah)。

在這里插入圖片描述

對于溫度數據,數據在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之間。

在這里插入圖片描述

審核編輯 黃宇

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

    關注

    2552

    文章

    51249

    瀏覽量

    754957
  • 接口
    +關注

    關注

    33

    文章

    8652

    瀏覽量

    151458
  • 氣壓計
    +關注

    關注

    1

    文章

    55

    瀏覽量

    18276
收藏 人收藏

    評論

    相關推薦

    e2studio開發LPS28DFW氣壓(1)----輪詢獲取氣壓計數據

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

    室內熱水供暖系統的水壓圖問題

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

    【HiKey申請】OpenRov

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

    用膠粘計數修復水壓機的核心部件

    用膠粘計數修復水壓機的核心部件
    發表于 05-23 14:15 ?14次下載

    基于XTR105的水壓測量電路設計

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

    ST首款MEMS防水/防液絕對壓力傳感器,賦能工業物聯網

    意法半導體新推出的ILPS28QSW傳感器采用密封的圓柱形表面貼裝封裝。該封裝采用防液體滲透性很高的陶瓷基板和堅固的車用灌封膠保護內部電路。
    發表于 06-15 11:45 ?591次閱讀
    ST首款MEMS防水/防液絕對壓力傳感器,賦能工業物聯網

    水壓傳感器選型和介紹

    水壓傳感器是一種用于測量液體或氣體中壓力的設備,廣泛應用于工業控制、環境監測、醫療儀器等領域。在選擇水壓傳感器時,需要考慮一些關鍵參數以確保其適應特定應用需求。以下是水壓傳感器選型和參數的一些具體內容。
    的頭像 發表于 06-18 11:28 ?2571次閱讀

    氣壓LPS28DFW開發(1)----輪詢獲取氣壓計數據

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

    水壓監控物聯網有什么應用場景和功能作用

    多種應用場景的智能管理與控制。 功能作用 1、實時監測:在平臺上可以實時監測各個站點的水壓數據,為相關部門提供及時、準確的水壓信息,為供水系統的運行管理提供有力支持。 2、預警報警:通
    的頭像 發表于 01-05 16:09 ?393次閱讀

    e2studio開發LPS28DFW氣壓(1)----輪詢獲取氣壓計數據

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

    水壓計ILPS28QSW開發(2)----水壓檢測

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

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

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

    孔隙水壓力計現場埋設_滲壓埋設安裝方法有幾種?

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

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

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

    峟思振弦式滲壓三大核心問題解析

    ?孔隙水壓力測量裝置,亦被業界稱為滲壓或孔隙水壓計,在其埋設、安裝及應用過程中,諸多疑問常常困擾著使用者。例如,孔隙水壓力呈現負值意味著什么?如何正確安裝孔隙
    的頭像 發表于 12-19 13:06 ?143次閱讀
    峟思振弦式滲壓<b class='flag-5'>計</b>三大核心問題解析
    真钱娱乐场游戏| 太阳城正网| 百家乐官网怎么下可以赢| 百家乐博娱乐场开户注册| 百家乐官网最大的赌局| 太阳城巧克力社区怎么样| 优博娱乐网址| 至尊百家乐年代| 新澳博百家乐官网娱乐城| 梁河县| 一直对百家乐很感兴趣.zibo太阳城娱乐城 | 开店做生意的风水| 河间市| 威尼斯人娱乐城会员开户| 至尊百家乐奇热网| 百家乐官网1个人| 满城县| 大发娱乐城开户| 大发888有银钱的吗| 大家旺百家乐官网的玩法技巧和规则 | 澳门百家乐必胜看路| 温州市百家乐官网鞋业| 金湖县| 大发888真钱游戏注册| 网上百家乐赌城| 百家乐黄金城游戏大厅| 百家乐是多少个庄闲| 民乐县| 皇冠足球网| 济州岛娱乐场cns| 大发888娱乐城破解软件| 百家乐开过的路纸| 线上百家乐官网信誉| 百家乐官网上分器定位器| 百家乐官网仿水晶筹码| 博客| 网上百家乐官网有没有假| 娱乐城代理| 大发888娱乐城英皇国际| 网上百家乐必赢玩| 百家乐中的概率|