概述
InfraredPD 主要作用是通過與 STHS34PF80 紅外傳感器配合,提供對(duì)存在感應(yīng)和運(yùn)動(dòng)檢測(cè)的支持,同時(shí)對(duì)傳感器獲取的物體溫度數(shù)據(jù)進(jìn)行環(huán)境溫度變化補(bǔ)償。InfraredPD庫通過從 STHS34PF80 傳感器采集紅外數(shù)據(jù),實(shí)時(shí)檢測(cè)視野中的人或物體的存在和運(yùn)動(dòng)情況。它可以判斷目標(biāo)是否在移動(dòng),并提供一個(gè)精確的輸出信號(hào)來標(biāo)識(shí)存在或運(yùn)動(dòng)狀態(tài)。 使用特定算法補(bǔ)償環(huán)境溫度的變化對(duì)物體溫度測(cè)量的影響,確保在環(huán)境溫度波動(dòng)時(shí),傳感器輸出的物體溫度依然準(zhǔn)確。補(bǔ)償算法可以根據(jù)應(yīng)用場(chǎng)景選擇線性或非線性補(bǔ)償。
InfraredPD 庫中的算法可以替代 STHS34PF80 傳感器內(nèi)置的智能算法,特別是在傳感器工作于低增益模式(寬溫度范圍)時(shí)。它增強(qiáng)了傳感器的檢測(cè)性能,尤其是在溫度漂移和視野內(nèi)物體移動(dòng)的場(chǎng)景下。
最近在弄ST的課程,需要樣片的可以加群申請(qǐng):615061293 。
視頻教學(xué)
[https://www.bilibili.com/video/BV16MtYe9Erx/]
樣品申請(qǐng)
[https://www.wjx.top/vm/OhcKxJk.aspx#]
完整代碼下載
[https://download.csdn.net/download/qq_24312945/89781469]
硬件準(zhǔn)備
首先需要準(zhǔn)備一個(gè)開發(fā)板,這里我準(zhǔn)備的是自己繪制的開發(fā)板,需要的可以進(jìn)行申請(qǐng)。
主控為STM32H503CB,TMOS為STHS34PF80。

開啟CRC

串口設(shè)置
設(shè)置串口速率為2000000。

開啟X-CUBE-MEMS1

InfraredPD文件
使用 InfraredPD 庫對(duì)傳感器數(shù)據(jù)的實(shí)時(shí)處理和存在檢測(cè)的功能。
● MX_MEMS_Init() 和 MX_MEMS_Process() 是與 InfraredPD 庫交互的核心函數(shù)。
○ MX_MEMS_Init() 負(fù)責(zé)初始化 InfraredPD 庫的參數(shù),并調(diào)用 InfraredPD_manager_init() 初始化庫實(shí)例(main)。
○ MX_MEMS_Process() 調(diào)用了存在和運(yùn)動(dòng)檢測(cè)算法,并輸出相應(yīng)的結(jié)果(main)。
InfraredPD算法庫
傳感器數(shù)據(jù)采樣頻率在 1 Hz 到 30 Hz 之間。 對(duì)于不同架構(gòu)的 Cortex-M 微控制器,庫的代碼和數(shù)據(jù)內(nèi)存需求略有不同 ,主流內(nèi)核都是支持的。

庫的三個(gè)主要部分:
- 物體溫度的環(huán)境補(bǔ)償:算法會(huì)對(duì)物體溫度進(jìn)行補(bǔ)償,以減少環(huán)境溫度變化對(duì)測(cè)量結(jié)果的影響。該補(bǔ)償是基于傳感器的環(huán)境溫度數(shù)據(jù)。
- 運(yùn)動(dòng)檢測(cè):通過對(duì)補(bǔ)償后的物體溫度數(shù)據(jù)的變化率進(jìn)行分析,檢測(cè)視野中的物體是否移動(dòng)。
- 存在檢測(cè):根據(jù)補(bǔ)償后的物體溫度數(shù)據(jù)來判斷是否有物體存在。
● 獨(dú)立運(yùn)行的算法:這三個(gè)功能(溫度補(bǔ)償、運(yùn)動(dòng)檢測(cè)、存在檢測(cè))是通過三個(gè)獨(dú)立的算法在庫的每次迭代中依次執(zhí)行的。
● 寬模式支持:即使在傳感器啟用了增益減少模式(“寬模式”),導(dǎo)致嵌入式算法不能使用時(shí),庫仍然能夠執(zhí)行補(bǔ)償和運(yùn)動(dòng)、存在檢測(cè)。
● 庫僅支持 STHS34PF80 傳感器:該庫專為 STHS34PF80 傳感器設(shè)計(jì),不能保證在其他傳感器上有相同的性能或功能表現(xiàn)。

注意事項(xiàng)
在使用 InfraredPD 庫進(jìn)行存在檢測(cè)時(shí),開機(jī)后的10秒內(nèi)視野內(nèi)不能有人或物體。這是因?yàn)榇嬖跈z測(cè)算法在初始化時(shí)默認(rèn)視野是空的,也就是說它假定初始化時(shí)傳感器前沒有任何人或物體。如果在這段時(shí)間內(nèi)有物體存在,算法可能會(huì)錯(cuò)誤地檢測(cè)到“存在”狀態(tài),并在后續(xù)檢測(cè)中卡在這個(gè)狀態(tài),導(dǎo)致無法準(zhǔn)確反映實(shí)際情況。
同時(shí),該庫允許在初始化后通過重置補(bǔ)償算法來重新校準(zhǔn)環(huán)境溫度。因此,如果在開機(jī)時(shí)發(fā)生了溫度變化,建議在溫度穩(wěn)定后重新初始化算法,以確保更準(zhǔn)確的檢測(cè)結(jié)果。
10分鐘內(nèi)傳感器再次檢測(cè)到運(yùn)動(dòng),存在狀態(tài)會(huì)被恢復(fù);但如果超過10分鐘沒有任何運(yùn)動(dòng)檢測(cè)到,傳感器將保持在缺席狀態(tài),即使之后檢測(cè)到運(yùn)動(dòng)也不會(huì)自動(dòng)恢復(fù)存在狀態(tài)。這一機(jī)制幫助系統(tǒng)處理長(zhǎng)時(shí)間靜止的情景,并避免誤判。

對(duì)應(yīng)DEMO

MX_MEMS_Init
在使用 InfraredPD 庫進(jìn)行存在檢測(cè)時(shí),開機(jī)后的10秒內(nèi)視野內(nèi)不能有人或物體。這是因?yàn)榇嬖跈z測(cè)算法在初始化時(shí)默認(rèn)視野是空的,也就是說它假定初始化時(shí)傳感器前沒有任何人或物體。如果在這段時(shí)間內(nèi)有物體存在,算法可能會(huì)錯(cuò)誤地檢測(cè)到“存在”狀態(tài),并在后續(xù)檢測(cè)中卡在這個(gè)狀態(tài),導(dǎo)致無法準(zhǔn)確反映實(shí)際情況。
同時(shí),該庫允許在初始化后通過重置補(bǔ)償算法來重新校準(zhǔn)環(huán)境溫度。因此,如果在開機(jī)時(shí)發(fā)生了溫度變化,建議在溫度穩(wěn)定后重新初始化算法,以確保更準(zhǔn)確的檢測(cè)結(jié)果。
10分鐘內(nèi)傳感器再次檢測(cè)到運(yùn)動(dòng),存在狀態(tài)會(huì)被恢復(fù);但如果超過10分鐘沒有任何運(yùn)動(dòng)檢測(cè)到,傳感器將保持在缺席狀態(tài),即使之后檢測(cè)到運(yùn)動(dòng)也不會(huì)自動(dòng)恢復(fù)存在狀態(tài)。這一機(jī)制幫助系統(tǒng)處理長(zhǎng)時(shí)間靜止的情景,并避免誤判。

MX_MEMS_Process
MX_MEMS_Process() 函數(shù)的核心是調(diào)用 MX_PresenceDetection_Process(),該函數(shù)負(fù)責(zé)從傳感器獲取數(shù)據(jù),并通過 InfraredPD 庫對(duì)這些數(shù)據(jù)進(jìn)行處理和分析(app_mems)。
在 MX_PresenceDetection_Process() 中,調(diào)用了 PD_Data_Handler() 函數(shù),這個(gè)函數(shù)負(fù)責(zé)處理傳感器的溫度數(shù)據(jù)(如環(huán)境溫度和物體溫度),并將這些數(shù)據(jù)輸入到 InfraredPD 庫中進(jìn)行分析(app_mems)。
庫的算法會(huì)根據(jù)輸入數(shù)據(jù),判斷是否有物體存在(通過 pres_flag)以及是否有運(yùn)動(dòng)(通過 mot_flag),然后輸出相應(yīng)的檢測(cè)結(jié)果(app_mems)。
t_obj_comp(補(bǔ)償后的物體溫度)
● 定義:t_obj_comp 表示經(jīng)過環(huán)境溫度補(bǔ)償后的物體溫度數(shù)據(jù)。
● 作用:由于環(huán)境溫度變化可能影響物體溫度的測(cè)量結(jié)果,t_obj_comp 是通過對(duì)原始物體溫度 (t_obj) 進(jìn)行補(bǔ)償后得到的溫度數(shù)據(jù),能夠更準(zhǔn)確地反映真實(shí)的物體溫度。補(bǔ)償算法可以是線性或非線性的,取決于你選擇的補(bǔ)償類型(UM3169)。

t_obj_change(物體溫度變化率)
● 定義:t_obj_change 是補(bǔ)償后物體溫度的變化率。
● 作用:t_obj_change 用于檢測(cè)物體溫度的變化情況,特別是在進(jìn)行運(yùn)動(dòng)檢測(cè)時(shí),它可以幫助算法判斷物體是否正在移動(dòng)。一般情況下,快速的溫度變化通常意味著有運(yùn)動(dòng)發(fā)生。通過這個(gè)數(shù)據(jù),系統(tǒng)可以更精確地識(shí)別溫度變化是否源于物體的移動(dòng)(UM3169)。

測(cè)試結(jié)果
當(dāng)開機(jī)時(shí)候,檢測(cè)范圍內(nèi)盡量不要出現(xiàn)人體之類的熱源。

當(dāng)出現(xiàn)人體的時(shí)候,算法庫可以很好的識(shí)別到熱源。

審核編輯 黃宇
-
mems
+關(guān)注
關(guān)注
129文章
4355瀏覽量
197490 -
紅外感應(yīng)器
+關(guān)注
關(guān)注
0文章
11瀏覽量
8617
發(fā)布評(píng)論請(qǐng)先 登錄
基于STM32CUBEMX驅(qū)動(dòng)TMOS模塊STHS34PF80(1)----獲取ID
基于STM32CUBEMX驅(qū)動(dòng)TMOS模塊STHS34PF80(2)----驅(qū)動(dòng)STHS34PF80進(jìn)行人體檢測(cè)
基于STM32CUBEMX驅(qū)動(dòng)TMOS模塊STHS34PF80(3)----修改檢測(cè)閾值
基于STM32CUBEMX驅(qū)動(dòng)TMOS模塊STHS34PF80(5)----配置嵌入式函數(shù)
紅外感應(yīng)技術(shù)的工作原理
如何干擾紅外感應(yīng)器?
影響紅外感應(yīng)器靈敏度的,是這些因素!
意法半導(dǎo)發(fā)布了新型人體存在和移動(dòng)檢測(cè)芯片:STHS34PF80
ST最新一代高靈敏度 STHS34PF80人體感應(yīng)檢測(cè)方案
STHS34PF80人體存在傳感器(1)----獲取人體存在狀態(tài)
e2studio開發(fā)STHS34PF80人體存在傳感器(1)----獲取人體存在狀態(tài)
基于ST 紅外傳感器STHS34PF80 搭配菲涅爾透鏡針對(duì)投影機(jī)應(yīng)用方案
STHS34PF80高靈敏度紅外感應(yīng)器(1)----獲取人體存在狀態(tài)
電容感應(yīng)器感應(yīng)對(duì)高度的靈敏度有影響嗎
?STHS34PF80紅外傳感器技術(shù)解析與應(yīng)用指南

STHS34PF80高靈敏度紅外感應(yīng)器(2)----InfraredPD存在感應(yīng)檢測(cè)
評(píng)論