概述
InfraredPD 主要作用是通過(guò)與 STHS34PF80 紅外傳感器配合,提供對(duì)存在感應(yīng)和運(yùn)動(dòng)檢測(cè)的支持,同時(shí)對(duì)傳感器獲取的物體溫度數(shù)據(jù)進(jìn)行環(huán)境溫度變化補(bǔ)償。InfraredPD庫(kù)通過(guò)從 STHS34PF80 傳感器采集紅外數(shù)據(jù),實(shí)時(shí)檢測(cè)視野中的人或物體的存在和運(yùn)動(dòng)情況。它可以判斷目標(biāo)是否在移動(dòng),并提供一個(gè)精確的輸出信號(hào)來(lái)標(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 庫(kù)中的算法可以替代 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è)開(kāi)發(fā)板,這里我準(zhǔn)備的是自己繪制的開(kāi)發(fā)板,需要的可以進(jìn)行申請(qǐng)。
主控為STM32H503CB,TMOS為STHS34PF80。
開(kāi)啟CRC
串口設(shè)置
設(shè)置串口速率為2000000。
開(kāi)啟X-CUBE-MEMS1
InfraredPD文件
使用 InfraredPD 庫(kù)對(duì)傳感器數(shù)據(jù)的實(shí)時(shí)處理和存在檢測(cè)的功能。
● MX_MEMS_Init() 和 MX_MEMS_Process() 是與 InfraredPD 庫(kù)交互的核心函數(shù)。
○ MX_MEMS_Init() 負(fù)責(zé)初始化 InfraredPD 庫(kù)的參數(shù),并調(diào)用 InfraredPD_manager_init() 初始化庫(kù)實(shí)例(main)。
○ MX_MEMS_Process() 調(diào)用了存在和運(yùn)動(dòng)檢測(cè)算法,并輸出相應(yīng)的結(jié)果(main)。
InfraredPD算法庫(kù)
傳感器數(shù)據(jù)采樣頻率在 1 Hz 到 30 Hz 之間。 對(duì)于不同架構(gòu)的 Cortex-M 微控制器,庫(kù)的代碼和數(shù)據(jù)內(nèi)存需求略有不同 ,主流內(nèi)核都是支持的。
庫(kù)的三個(gè)主要部分:
- 物體溫度的環(huán)境補(bǔ)償:算法會(huì)對(duì)物體溫度進(jìn)行補(bǔ)償,以減少環(huán)境溫度變化對(duì)測(cè)量結(jié)果的影響。該補(bǔ)償是基于傳感器的環(huán)境溫度數(shù)據(jù)。
- 運(yùn)動(dòng)檢測(cè):通過(guò)對(duì)補(bǔ)償后的物體溫度數(shù)據(jù)的變化率進(jìn)行分析,檢測(cè)視野中的物體是否移動(dòng)。
- 存在檢測(cè):根據(jù)補(bǔ)償后的物體溫度數(shù)據(jù)來(lái)判斷是否有物體存在。
● 獨(dú)立運(yùn)行的算法:這三個(gè)功能(溫度補(bǔ)償、運(yùn)動(dòng)檢測(cè)、存在檢測(cè))是通過(guò)三個(gè)獨(dú)立的算法在庫(kù)的每次迭代中依次執(zhí)行的。
● 寬模式支持:即使在傳感器啟用了增益減少模式(“寬模式”),導(dǎo)致嵌入式算法不能使用時(shí),庫(kù)仍然能夠執(zhí)行補(bǔ)償和運(yùn)動(dòng)、存在檢測(cè)。
● 庫(kù)僅支持 STHS34PF80 傳感器:該庫(kù)專(zhuān)為 STHS34PF80 傳感器設(shè)計(jì),不能保證在其他傳感器上有相同的性能或功能表現(xiàn)。
注意事項(xiàng)
在使用 InfraredPD 庫(kù)進(jìn)行存在檢測(cè)時(shí),開(kāi)機(jī)后的10秒內(nèi)視野內(nèi)不能有人或物體。這是因?yàn)榇嬖跈z測(cè)算法在初始化時(shí)默認(rèn)視野是空的,也就是說(shuō)它假定初始化時(shí)傳感器前沒(méi)有任何人或物體。如果在這段時(shí)間內(nèi)有物體存在,算法可能會(huì)錯(cuò)誤地檢測(cè)到“存在”狀態(tài),并在后續(xù)檢測(cè)中卡在這個(gè)狀態(tài),導(dǎo)致無(wú)法準(zhǔn)確反映實(shí)際情況。
同時(shí),該庫(kù)允許在初始化后通過(guò)重置補(bǔ)償算法來(lái)重新校準(zhǔn)環(huán)境溫度。因此,如果在開(kāi)機(jī)時(shí)發(fā)生了溫度變化,建議在溫度穩(wěn)定后重新初始化算法,以確保更準(zhǔn)確的檢測(cè)結(jié)果。
10分鐘內(nèi)傳感器再次檢測(cè)到運(yùn)動(dòng),存在狀態(tài)會(huì)被恢復(fù);但如果超過(guò)10分鐘沒(méi)有任何運(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 庫(kù)進(jìn)行存在檢測(cè)時(shí),開(kāi)機(jī)后的10秒內(nèi)視野內(nèi)不能有人或物體。這是因?yàn)榇嬖跈z測(cè)算法在初始化時(shí)默認(rèn)視野是空的,也就是說(shuō)它假定初始化時(shí)傳感器前沒(méi)有任何人或物體。如果在這段時(shí)間內(nèi)有物體存在,算法可能會(huì)錯(cuò)誤地檢測(cè)到“存在”狀態(tài),并在后續(xù)檢測(cè)中卡在這個(gè)狀態(tài),導(dǎo)致無(wú)法準(zhǔn)確反映實(shí)際情況。
同時(shí),該庫(kù)允許在初始化后通過(guò)重置補(bǔ)償算法來(lái)重新校準(zhǔn)環(huán)境溫度。因此,如果在開(kāi)機(jī)時(shí)發(fā)生了溫度變化,建議在溫度穩(wěn)定后重新初始化算法,以確保更準(zhǔn)確的檢測(cè)結(jié)果。
10分鐘內(nèi)傳感器再次檢測(cè)到運(yùn)動(dòng),存在狀態(tài)會(huì)被恢復(fù);但如果超過(guò)10分鐘沒(méi)有任何運(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ù),并通過(guò) InfraredPD 庫(kù)對(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 庫(kù)中進(jìn)行分析(app_mems)。
庫(kù)的算法會(huì)根據(jù)輸入數(shù)據(jù),判斷是否有物體存在(通過(guò) pres_flag)以及是否有運(yùn)動(dòng)(通過(guò) mot_flag),然后輸出相應(yīng)的檢測(cè)結(jié)果(app_mems)。
t_obj_comp(補(bǔ)償后的物體溫度)
● 定義:t_obj_comp 表示經(jīng)過(guò)環(huán)境溫度補(bǔ)償后的物體溫度數(shù)據(jù)。
● 作用:由于環(huán)境溫度變化可能影響物體溫度的測(cè)量結(jié)果,t_obj_comp 是通過(guò)對(duì)原始物體溫度 (t_obj) 進(jìn)行補(bǔ)償后得到的溫度數(shù)據(jù),能夠更準(zhǔn)確地反映真實(shí)的物體溫度。補(bǔ)償算法可以是線性或非線性的,取決于你選擇的補(bǔ)償類(lèi)型(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ā)生。通過(guò)這個(gè)數(shù)據(jù),系統(tǒng)可以更精確地識(shí)別溫度變化是否源于物體的移動(dòng)(UM3169)。
測(cè)試結(jié)果
當(dāng)開(kāi)機(jī)時(shí)候,檢測(cè)范圍內(nèi)盡量不要出現(xiàn)人體之類(lèi)的熱源。
當(dāng)出現(xiàn)人體的時(shí)候,算法庫(kù)可以很好的識(shí)別到熱源。
審核編輯 黃宇
-
mems
+關(guān)注
關(guān)注
129文章
3930瀏覽量
190612 -
紅外感應(yīng)器
+關(guān)注
關(guān)注
0文章
11瀏覽量
8362
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論