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

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

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

3天內不再提示

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

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

概述

Qvar,全稱為電荷變化檢測(Qvar stands for “Quasi-static VARiation”),是一種用于檢測電荷變化的技術。這種技術通常用于傳感器和其他電子設備中,特別是在慣性測量單元(IMU)和微機電系統(MEMS)技術中。Qvar 技術可以用于檢測微小的電荷變化,這些變化可能是由于物理運動、環境變化或其他因素導致的。
在 ILPS28QSW 這類先進的 MEMS 中,Qvar 技術用于增強用戶界面功能,如輕觸、雙擊、三擊、長按或滑動手勢。它通過檢測和解析與這些手勢相關的微小電荷變化,來實現高度精準和靈敏的用戶交互。
需要樣片的可以加群申請:615061293 。

在這里插入圖片描述

視頻教學

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

樣品申請

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

完整代碼下載

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

Qvar功能

Qvar(電荷變化檢測)功能可以通過外部電極實現,用于用戶接口,例如:
水泄漏檢測
輕拍檢測
雙擊檢測
長按檢測
左/右滑動檢測
這些功能為傳感器在智能設備和工業應用中提供了更多可能性。

生成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);

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_200Hz;
  md.avg = ILPS28QSW_4_AVG;
  ilps28qsw_mode_set(&dev_ctx, &md);

開啟QVAR

通過配置CTRL_REG3 (12h)寄存器,可以根據需要啟用(AH)/ Qvar功能。

在這里插入圖片描述

/* Enable AH/QVAR function */
  ilps28qsw_ah_qvar_en_set(&dev_ctx, 1);

QVAR外部電路

下圖可以了解如何配置和使用ILPS28QSW傳感器的模擬樞紐和Qvar功能,包括其外部連接、寄存器配置及操作模式,從而有效地利用該傳感器的多功能特性。

在這里插入圖片描述

初始化代碼

/* USER CODE BEGIN 2 */
  ilps28qsw_all_sources_t all_sources;
  ilps28qsw_bus_mode_t bus_mode;
  ilps28qsw_stat_t status;
  stmdev_ctx_t dev_ctx;
  ilps28qsw_id_t id;
  ilps28qsw_md_t md;

  /* Initialize mems driver interface */
  dev_ctx.write_reg = platform_write;
  dev_ctx.read_reg = platform_read;
  dev_ctx.mdelay = platform_delay;
  dev_ctx.handle = &SENSOR_BUS;

  /* Init test platform */
//  platform_init(dev_ctx.handle);
  /* Wait sensor boot time */
  platform_delay(BOOT_TIME);

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

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

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

  /* Set Output Data Rate */
  md.odr = ILPS28QSW_200Hz;
  md.avg = ILPS28QSW_4_AVG;
  ilps28qsw_mode_set(&dev_ctx, &md);

  /* Enable AH/QVAR function */
  ilps28qsw_ah_qvar_en_set(&dev_ctx, 1);
  /* USER CODE END 2 */

獲取Qvar數據

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

在這里插入圖片描述

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

在這里插入圖片描述

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

      printf("QVAR [mV]:%6.2f [LSB]:%drn", data.mv, data.lsb);

    }        

    /* USER CODE END WHILE */

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

測試結果

未觸摸。

在這里插入圖片描述

觸摸上按鍵。

在這里插入圖片描述

觸摸下按鍵。

在這里插入圖片描述

審核編輯 黃宇

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

    關注

    100

    文章

    6072

    瀏覽量

    150636
  • mems
    +關注

    關注

    129

    文章

    3949

    瀏覽量

    190849
  • 氣壓計
    +關注

    關注

    1

    文章

    55

    瀏覽量

    18277
收藏 人收藏

    評論

    相關推薦

    瑞薩e2studio(24)----電容觸摸配置(1)

    瑞薩e2studio(24)----電容觸摸配置(1)
    的頭像 發表于 08-21 15:47 ?1118次閱讀
    瑞薩e2studio(24)----<b class='flag-5'>電容</b><b class='flag-5'>觸摸</b><b class='flag-5'>配置</b>(1)

    瑞薩e2studio(25)----電容觸摸配置(2)

    瑞薩e2studio(25)----電容觸摸配置(2)
    的頭像 發表于 08-21 15:50 ?955次閱讀
    瑞薩e2studio(25)----<b class='flag-5'>電容</b><b class='flag-5'>觸摸</b><b class='flag-5'>配置</b>(2)

    陀螺儀LSM6DSV16X與AI集成(4)----Qvar觸摸電容配置

    Qvar,全稱為電荷變化檢測(Qvar stands for "Quasi-static VARiation"),是一種用于檢測電荷變化的技術。這種技術通常用于傳感器和其他
    的頭像 發表于 12-18 10:55 ?1174次閱讀
    陀螺儀LSM6DSV16X與AI集成(4)----<b class='flag-5'>Qvar</b><b class='flag-5'>觸摸</b><b class='flag-5'>電容</b><b class='flag-5'>配置</b>

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

    本文將介紹如何使用 ILPS28QSW 傳感器來讀取數據。主要步驟包括初始化傳感器接口、驗證設備ID、配置傳感器的數據輸出率和濾波器,以及通過輪詢方式持續讀取氣壓數據和溫度數據。讀取到的數據會被轉換為適當的單位并通過串行通信輸出。
    的頭像 發表于 07-21 09:51 ?1139次閱讀
    <b class='flag-5'>水壓計</b><b class='flag-5'>ILPS28QSW</b><b class='flag-5'>開發</b>(1)----輪詢獲取<b class='flag-5'>水壓計</b>數據

    在CTRL_REG3數據表中QVAR_AUTO_EN不起作用如何解決呢

    Qvar 數據的 ODR 都減半(在單次模式下,輸出一次用壓力填充,一次用 Qvar 填充)。 我在 CTRL_REG3 數據表描述中沒有看到 QVAR_AUTO_EN,當我嘗試這
    發表于 12-23 07:59

    CapTIvate電容觸摸解決方案(3

    TI MSP430 CapTIvate Lite: 成本優化的電容觸摸微控制器 (3)
    的頭像 發表于 08-06 00:19 ?3812次閱讀
    CapTIvate<b class='flag-5'>電容</b><b class='flag-5'>觸摸</b>解決方案(<b class='flag-5'>3</b>)

    配置多個電容觸摸傳感按鈕

    本應用筆記將說明在使用超過 4 個電容觸摸傳感按鈕時,如何掃描和檢測按鈕是否按下。本應用筆記針對PIC16F616系列、PIC16F690系列以及PIC16F887系列單片機。建議在閱讀本應用筆記之前先了解電容
    發表于 04-20 10:17 ?5次下載

    電容觸摸按鍵實驗”實例解析

    目錄電容觸摸按鍵實驗電容觸摸按鍵的基本原理(原理圖層面)新電容的產生與作用充放電性能的變化脈沖如何被捕獲原理圖層面的連接硬件
    發表于 11-30 11:36 ?15次下載
    “<b class='flag-5'>電容</b><b class='flag-5'>觸摸</b>按鍵實驗”實例解析

    QE和FSP開發電容觸摸應用指南

    QE和FSP開發電容觸摸應用指南
    發表于 11-07 19:50 ?2次下載
    QE和FSP<b class='flag-5'>開發電容</b><b class='flag-5'>觸摸</b>應用指南

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

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

    Qvar感應通道的配置和操作指南

    AN5755 ?Qvar 是意法半導體推出的一款靜電傳感器,適用于人體存在檢測和運動檢測、觸摸檢測和用戶界面 (UI) 應用。本應用筆記涵蓋 Qvar 感應通道的配置和操作指南。在塑料
    發表于 09-12 09:35 ?0次下載

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

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

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

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

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

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

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

    ?孔隙水壓力測量裝置,亦被業界稱為滲壓或孔隙水壓計,在其埋設、安裝及應用過程中,諸多疑問常常困擾著使用者。例如,孔隙水壓力呈現負值意味著什么?如何正確安裝孔隙
    的頭像 發表于 12-19 13:06 ?145次閱讀
    峟思振弦式滲壓<b class='flag-5'>計</b>三大核心問題解析
    大发888 方管下载| 金濠国际娱乐城| 百家乐赌术揭秘| 玩百家乐官网技巧博客| 百家乐皇室百家乐的玩法技巧和规则 | 南京百家乐赌博现场被| 百家乐官网娱乐软件| 抚顺县| 大发888王博| 百家乐路有几家| 澳门百家乐官网官方网站| 保单机百家乐官网破解方法| 必发娱乐| 大发888体育真人| 布加迪百家乐的玩法技巧和规则| 澳门百家乐皇冠网| 东营区百家乐官网艺术团| 古丈县| 大发888官网游| 网上百家乐试| 百家乐玩的技巧| 澳门百家乐现场游戏| 综合百家乐官网博彩论坛| 澳门百家乐官网棋牌游戏| 百家乐官网如何玩法| 潞西市| 一起游乐棋牌下载| 大发888官网 df888ylcxz46| 华硕百家乐的玩法技巧和规则| 百家乐注册优惠平台| 百家乐心得分享| 2024年九运| 百家乐官网筹码| 免费百家乐官网计划工具| 百家乐官网真人荷官网| 成人百家乐官网的玩法技巧和规则 | 全讯网开奖结果| 金钱豹百家乐的玩法技巧和规则 | 百家乐破解的办法| 金世豪百家乐官网的玩法技巧和规则 | 大发888怎么玩不了|