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

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

3天內不再提示

基于STM32CUBEMX驅動TMOS模塊STHS34PF80(1)----獲取ID

嵌入式單片機MCU開發(fā) ? 來源:嵌入式單片機MCU開發(fā) ? 作者:嵌入式單片機MCU開 ? 2023-12-01 15:28 ? 次閱讀

概述

STHS34PF80 是一款非冷卻、工廠校準的紅外運動和存在檢測傳感器,工作波長在 5 μm 至 20 μm 之間。
STHS34PF80 傳感器設計用于測量視野內物體發(fā)出的紅外輻射量。該信息ASIC 進行數字處理,可以對其進行編程以監(jiān)控運動、存在或過熱狀況。
憑借其卓越的靈敏度,STHS34PF80 可以在最遠 4 米的距離內檢測到人體的存在,而無需光學鏡頭。
STHS34PF80 采用小型 3.2 x 4.2 x 1.455(最大)mm 10 引腳 LGA 封裝。

最近在弄ST和瑞薩RA的課程,需要樣片的可以加群申請:615061293 。
在這里插入圖片描述
STHS34PF80是一種紅外傳感器,可用于檢測靜止和移動物體的存在,以及過溫條件。它使用獨特的TMOS技術測量物體的紅外輻射,以便在物體位于視場內時檢測其存在或運動。
在傳感器上沉積了一個光學帶通濾波器,將其工作范圍限制在5微米到20微米的波長范圍內,使其不對可見光和其他頻段敏感。
傳感器基于一組連接在一起并作為單個感應元件運作的浮動真空熱晶體管MOS(TMOS)矩陣。得益于ST獨特的MEMS制造技術,實現了先進的熱隔離,使傳感器能夠將最小的溫度變化轉化為電信號,然后將這些信號饋送給ASIC。
傳感器分為兩個部分,一個暴露于紅外輻射,另一個被屏蔽。通過在兩個部分之間進行差分讀數,可以消除傳感器自加熱的影響。
STHS34PF80集成了高精度溫度傳感器,用于測量環(huán)境溫度并測量物體的精確紅外輻射。
ASIC還實現了專門的智能處理,以檢測/區(qū)分靜止和移動物體,并可以斷言專用中斷。
可用不同的輸出數據速率(ODR),范圍從0.25赫茲到30赫茲,以及單次測量模式。
STHS34PF80配備了I2C / 3線SPI接口,并采用了與SMD安裝兼容的OLGA 3.2 x 4.2 x 1.455 mm 10L封裝。
封裝所保證的視場為80°。
在這里插入圖片描述

樣品申請

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

視頻教程

https://www.bilibili.com/video/BV11u4y1X7JY/

完整代碼下載

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

所有功能

● 主要特性
○ 高靈敏度紅外存在和運動檢測傳感器
○ 對于尺寸為 70 x 25 cm2 的物體,在不使用鏡頭的情況下可達 4 米
○ 集成硅紅外濾光片
○ SMD 友好
○ 能夠檢測靜止物體
○ 能夠區(qū)分靜止和移動的物體
○ 80° 視野
○ 工廠校準
○ 低電量
○ 用于存在/運動檢測的嵌入式智能算法
電氣規(guī)格
電源電壓:1.7V 至 3.6V
○ 電源電流:10μA
○ 2 線 I2C / 3 線 SPI 串行接口
○ 可編程 ODR(0.25 Hz 至 30 Hz)
○ 一擊模式
● 傳感規(guī)格
○ 紅外靈敏度:2000 LSB/°C
RMS 噪聲:25 LSB rms
○ 工作波長:5 μm 至 20 μm
○ 本地溫度傳感器精度:±0.3℃
● 包裝規(guī)格
○ LGA 10 引線,3.2 x 4.2 x 1.455(最大)毫米
○ 符合 ECOPACK 和 RoHS 標準
在這里插入圖片描述

接口

STHS34PF80模塊接口的示意圖如下所示,支持IIC或者SPI通訊。
在這里插入圖片描述

最小系統(tǒng)圖

在這里插入圖片描述

生成STM32CUBEMX

串口配置

查看原理圖,PA9和PA10設置為開發(fā)板的串口。
在這里插入圖片描述

配置串口。
在這里插入圖片描述

IIC配置

在這個應用中,STS34PF80模塊通過I2C(IIC)接口與主控器通信。具體來說,STS34PF80模塊的I2C引腳連接到主控器的PB6(引腳B6)和PB7(引腳B7)兩個IO口。

在這里插入圖片描述

配置IIC為普通模式,速度為100k。
在這里插入圖片描述

IO口設置

STS34PF80IO設置如下所示。
在IIC模式下CS需要給個高電平。
在這里插入圖片描述
官方提供IIC接線如下所示。
在這里插入圖片描述
在這里插入圖片描述

需要把PA8配置為輸出模式,默認高電平,配置PA7為輸入模式。

在這里插入圖片描述

串口重定向

打開魔術棒,勾選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 */

模塊地址

STHS34PF80模塊的默認設備地址為1011010(0x5A)。設備地址是用來識別和通信特定設備的標識符。通過將VL6180模塊的設備地址設置為1011010(0x5A),您可以確保與該模塊進行正常的通信和控制。
在這里插入圖片描述

參考demo

這里參考ST在GITHUB上發(fā)布的案例來進行修改。
https://github.com/STMicroelectronics/sths34pf80-pid/blob/master/sths34pf80_reg.c
物體存在檢測demo。
https://github.com/STMicroelectronics/STMems_Standard_C_drivers/blob/master/sths34pf80_STdC/examples/sths34pf80_tmos_presence_detection.c

IIC寫函數

參考例程序中對應的驅動程序為sths34pf80_write_reg(),如下所示。
在這里插入圖片描述
由上面表格可以得知,地址為101 1010(0x5A),如果是寫操作,那么具體的地址為1011 0100(0xB4)。

/**
  * @brief  讀取數據
  *
  * @param  add   模塊地址
  * @param  reg   寄存器地址
  * @param  data  buffer 緩沖區(qū)
  * @param  len   讀取長度
  * @retval ret   正常返回HAL_OK
  *
  */
uint8_t sths34pf80_read_reg(uint8_t add,uint8_t reg,  uint8_t * data, uint8_t len)
{
	uint8_t ret;
	ret=HAL_I2C_Mem_Read(&hi2c1 ,(add< < 1)|1,reg,I2C_MEMADD_SIZE_8BIT,data,len,0xffff);

	return ret;
}

IIC讀函數

參考例程序中對應的驅動程序為sths34pf80_read_reg(),如下所示。
在這里插入圖片描述

由上面表格可以得知,地址為101 1010(0x5A),如果是讀操作,那么具體的地址為1011 0101(0xB5)。

/**
  * @brief  寫入數據
  *
  * @param  add   模塊地址
  * @param  reg   寄存器地址
  * @param  data  buffer 緩沖區(qū)
  * @param  len   寫入長度
  * @retval ret   正常返回HAL_OK
  *
  */
uint8_t sths34pf80_write_reg(uint8_t add,uint8_t reg, uint8_t * data, uint8_t len)
{
		uint8_t ret;
		HAL_I2C_Mem_Write(&hi2c1 ,(add< < 1)|0,reg,I2C_MEMADD_SIZE_8BIT,data,len,0xffff);
	return ret;

}

參考程序初始化

在這里插入圖片描述

獲取ID

參考例程序中對應的獲取ID驅動程序,如下所示。
在這里插入圖片描述

獲取ID可以查看0x0F,讀出來的值應該為0xD3。
在這里插入圖片描述

讀取函數如下所示。

/**
  * @brief  獲取設備ID
  *
  * @param  add      設備地址
  * @param  val      設備ID.
  * @retval ret   		正常返回HAL_OK
  *
  */

uint8_t STHS34PF80_getChipID(uint8_t add)
{
  uint8_t temp[1]={0};
	sths34pf80_read_reg(add,STHS34PF80_WHO_AM_I,temp,1);
  return temp[0];
}

主函數

/* USER CODE BEGIN 2 */

	uint8_t STHS34PF80_ID =STHS34PF80_getChipID(STHS34PF80_ADDRESS);
	printf("STHS34PF80_ID=0x%xn",STHS34PF80_ID);	
	
  /* USER CODE END 2 */

審核編輯:湯梓紅

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

    關注

    2551

    文章

    51097

    瀏覽量

    753524
  • 模塊
    +關注

    關注

    7

    文章

    2706

    瀏覽量

    47468
  • 函數
    +關注

    關注

    3

    文章

    4331

    瀏覽量

    62604
  • stm32cubemx
    +關注

    關注

    5

    文章

    283

    瀏覽量

    14807
收藏 人收藏

    評論

    相關推薦

    基于STM32CUBEMX驅動TMOS模塊STHS34PF80(2)----驅動STHS34PF80進行人體檢測

    ASIC 進行數字處理,可以對其進行編程以監(jiān)控運動、存在或過熱狀況。 本章主要驅動STHS34PF80,進行人體檢測。
    的頭像 發(fā)表于 12-01 15:29 ?768次閱讀
    基于<b class='flag-5'>STM32CUBEMX</b><b class='flag-5'>驅動</b><b class='flag-5'>TMOS</b><b class='flag-5'>模塊</b><b class='flag-5'>STHS34PF80</b>(2)----<b class='flag-5'>驅動</b><b class='flag-5'>STHS34PF80</b>進行人體檢測

    基于STM32CUBEMX驅動TMOS模塊STHS34PF80(3)----修改檢測閾值

    用于配置和設置 STHS34PF80 傳感器的一些參數,以便進行存在檢測和運動檢測。
    的頭像 發(fā)表于 12-01 15:30 ?702次閱讀
    基于<b class='flag-5'>STM32CUBEMX</b><b class='flag-5'>驅動</b><b class='flag-5'>TMOS</b><b class='flag-5'>模塊</b><b class='flag-5'>STHS34PF80</b>(3)----修改檢測閾值

    基于STM32CUBEMX驅動TMOS模塊STHS34PF80(4)----中斷獲取信號

    SHS34PF80的數據準備信號提供了一種機制,允許設備在新的測量數據可讀取時通知系統(tǒng),并觸發(fā)同步操作,通過正確配置相關寄存器,可以確保系統(tǒng)及時捕獲和處理來自設備的新數據,從而提高整體性能和響應能力。
    的頭像 發(fā)表于 12-01 15:31 ?6315次閱讀
    基于<b class='flag-5'>STM32CUBEMX</b><b class='flag-5'>驅動</b><b class='flag-5'>TMOS</b><b class='flag-5'>模塊</b><b class='flag-5'>STHS34PF80</b>(4)----中斷<b class='flag-5'>獲取</b>信號

    基于STM32CUBEMX驅動TMOS模塊STHS34PF80(5)----配置嵌入式函數

    STHS34PF80傳感器項目種修改 Arduino 腳本,重新移植到STM32的MCU中。
    的頭像 發(fā)表于 12-01 15:33 ?779次閱讀
    基于<b class='flag-5'>STM32CUBEMX</b><b class='flag-5'>驅動</b><b class='flag-5'>TMOS</b><b class='flag-5'>模塊</b><b class='flag-5'>STHS34PF80</b>(5)----配置嵌入式函數

    基于STM32CUBEMX驅動TMOS模塊STHS34PF80(6)----獲取狀態(tài)數據

    STHS34PF80傳感器項目種修改 Arduino 腳本,重新移植到STM32的MCU中。 該項目基于STHS34PF80 IR溫度傳感器,能夠檢測環(huán)境和物體溫度,并且在最大4米范圍內檢測存在
    的頭像 發(fā)表于 12-01 15:39 ?632次閱讀
    基于<b class='flag-5'>STM32CUBEMX</b><b class='flag-5'>驅動</b><b class='flag-5'>TMOS</b><b class='flag-5'>模塊</b><b class='flag-5'>STHS34PF80</b>(6)----<b class='flag-5'>獲取</b>狀態(tài)數據

    STHS34PF80高靈敏度紅外感應器(2)----InfraredPD存在感應檢測

    InfraredPD 主要作用是通過與 STHS34PF80 紅外傳感器配合,提供對存在感應和運動檢測的支持,同時對傳感器獲取的物體溫度數據進行環(huán)境溫度變化補償。InfraredPD庫通過
    的頭像 發(fā)表于 10-14 11:10 ?981次閱讀
    <b class='flag-5'>STHS34PF80</b>高靈敏度紅外感應器(2)----InfraredPD存在感應檢測

    通過STEVAL-MKI109V3在unico上識別不到STHS34PF80是為什么?怎么處理?

    TMOS測試:通過STEVAL-MKI109V3在unico上識別不到STHS34PF80。
    發(fā)表于 03-26 08:31

    STM32CubeMX 窗口及工具介紹

    STM32CubeMX 系列教程之 STM32CubeMX 窗口及 STM32PackCreator 工具介紹,內附詳細圖文介紹。
    發(fā)表于 12-14 18:51 ?27次下載
    <b class='flag-5'>STM32CubeMX</b> 窗口及工具介紹

    使用stm32cubemx的usb-host-cdc庫驅動EC20模塊

    使用stm32cubemx的usb-host-cdc庫驅動EC20模塊開發(fā)環(huán)境:實現功能:開始1、使用STM32CubeMX配置工程,生成基
    發(fā)表于 12-28 19:48 ?43次下載
    使用<b class='flag-5'>stm32cubemx</b>的usb-host-cdc庫<b class='flag-5'>驅動</b>EC20<b class='flag-5'>模塊</b>

    STM32CUBEMX(1)--PWM

    本篇文章主要介紹如何使用STM32CubeMX輸出PWM,并制作呼吸燈效果。
    的頭像 發(fā)表于 11-14 15:29 ?2517次閱讀
    <b class='flag-5'>STM32CUBEMX</b>(<b class='flag-5'>1</b>)--PWM

    意法半導發(fā)布了新型人體存在和移動檢測芯片:STHS34PF80

    近期,意法半導發(fā)布了新型人體存在和移動檢測芯片:STHS34PF80,它是一款帶有微加工熱敏晶體管(TMOS)的高集成度、超低功耗的紅外(IR)傳感器,可取代傳統(tǒng)的被動紅外(PIR)傳感技術,提升安保監(jiān)視系統(tǒng)、家庭自動化設備和物聯網設備等場景的的監(jiān)測性能。
    的頭像 發(fā)表于 07-30 09:47 ?1730次閱讀

    ST TMOS熱敏紅外傳感器: 精準檢測人員存在和移動

    意法半導發(fā)布新型人體存在和移動檢測芯片。STHS34PF80是一款帶有微加工熱敏晶體管(TMOS)的高集成度、超低功耗的紅外(IR)傳感器,可取代傳統(tǒng)的被動紅外(PIR)傳感技術,提升安保監(jiān)視系統(tǒng)、家庭自動化設備和物聯網設備等場景的的監(jiān)測性能。
    發(fā)表于 08-08 14:48 ?680次閱讀

    STHS34PF80人體存在傳感器(1)----獲取人體存在狀態(tài)

    STHS34PF80是一款高性能的紅外(IR)傳感器,特別適用于檢測存在感和運動。其主要特點是高靈敏度,能在沒有透鏡的情況下探測到4米遠的物體(尺寸為70 x 25厘米),并配有集成的硅紅外濾波器
    的頭像 發(fā)表于 01-09 15:51 ?622次閱讀
    <b class='flag-5'>STHS34PF80</b>人體存在傳感器(<b class='flag-5'>1</b>)----<b class='flag-5'>獲取</b>人體存在狀態(tài)

    基于ST 紅外傳感器STHS34PF80 搭配菲涅爾透鏡針對投影機應用方案

    STHS34PF80 是一款紅外線感測器,可用于偵測靜止和移動物體的存及超溫條件。它采用獨特的 TMOS 技術測量物體的紅外線輻射,當物體位于視野內時檢測其存在或移動。
    的頭像 發(fā)表于 01-30 14:16 ?970次閱讀
    基于ST 紅外傳感器<b class='flag-5'>STHS34PF80</b> 搭配菲涅爾透鏡針對投影機應用方案

    STHS34PF80高靈敏度紅外感應器(1)----獲取人體存在狀態(tài)

    STHS34PF80是一款高性能的紅外(IR)傳感器,特別適用于檢測存在感和運動。其主要特點是高靈敏度,能在沒有透鏡的情況下探測到4米遠的物體(尺寸為70 x 25厘米),并配有集成的硅紅外濾波器
    的頭像 發(fā)表于 10-14 10:36 ?390次閱讀
    <b class='flag-5'>STHS34PF80</b>高靈敏度紅外感應器(<b class='flag-5'>1</b>)----<b class='flag-5'>獲取</b>人體存在狀態(tài)