PIR全稱為Passive Infra-Red,稱作被動(dòng)紅外傳感器(又被稱為Pyroelectric Infrared——熱釋電紅外線傳感器)是近年來發(fā)展起來的一種新型高靈敏度探測(cè)元件,是一種能檢測(cè)人體發(fā)射的紅外線而輸出電信號(hào)的傳感器。它能組成防入侵報(bào)警器或各種自動(dòng)化節(jié)能裝置。它能以非接觸形式檢測(cè)出人體輻射的紅外線能量的變化,并將其轉(zhuǎn)換成電壓信號(hào)輸出。將這個(gè)電壓信號(hào)加以放大,便可驅(qū)動(dòng)各種控制電路,如作電源開關(guān)控制、防盜防火報(bào)警等。
紅外線傳感器是將紅外輻射能轉(zhuǎn)換成電能的一種光敏元件,通常將紅外線傳感器分為熱型和光子型兩種。熱釋電紅外傳感器是利用紅外輻射的熱輻射作用引起元件本身的溫度變化,其探測(cè)率、響應(yīng)速度都不如光子型傳感器。但由于熱釋電型傳感器可在室溫下使用,靈敏度與波長(zhǎng)無關(guān),所以應(yīng)用領(lǐng)域廣。通用性好的熱型傳感器有熱電堆、熱敏電阻測(cè)輻射熱計(jì)、高萊管等。其中,利用鐵電體熱釋電效應(yīng)的熱釋電型紅外傳感器(PIR)靈敏度高,可以廣泛地用于民用領(lǐng)域。
2. 無源紅外傳感器是如何工作的?
PIR傳感器的工作原理是熱釋電效應(yīng)。當(dāng)一些晶體受熱時(shí),在晶體兩端將會(huì)產(chǎn)生數(shù)量相等而符號(hào)相反的電荷,這種由于熱變化產(chǎn)生的電極化現(xiàn)象,被稱為熱釋電效應(yīng)。通常,晶體自發(fā)極化所產(chǎn)生的束縛電荷被來自空氣中附著在晶體表面的自由電子所中和,其自發(fā)極化電矩不能表現(xiàn)出來。當(dāng)溫度變化時(shí),晶體結(jié)構(gòu)中的正負(fù)電荷重心相對(duì)移位,自發(fā)極化發(fā)生變化,晶體表面就會(huì)產(chǎn)生電荷耗盡,電荷耗盡的狀況正比于極化程度。下圖表示了熱釋電效應(yīng)形成的原理。
熱釋電傳感器利用的正是熱釋電效應(yīng),是一種溫度敏感傳感器。它由陶瓷氧化物或壓電晶體元件組成,元件兩個(gè)表面做成電極,當(dāng)傳感器監(jiān)測(cè)范圍內(nèi)溫度有ΔT的變化時(shí),熱釋電效應(yīng)會(huì)在兩個(gè)電極上會(huì)產(chǎn)生電荷ΔQ,即在兩電極之間產(chǎn)生一微弱電壓ΔV。由于它的輸出阻抗極高,所以傳感器中有一個(gè)場(chǎng)效應(yīng)管進(jìn)行阻抗變換。熱釋電效應(yīng)所產(chǎn)生的電荷ΔQ會(huì)跟空氣中的離子所結(jié)合而消失,當(dāng)環(huán)境溫度穩(wěn)定不變時(shí),ΔT=0,傳感器無輸出。當(dāng)人體進(jìn)入檢測(cè)區(qū)時(shí),因人體溫度與環(huán)境溫度有差別,產(chǎn)生ΔT,則有信號(hào)輸出;若人體進(jìn)入檢測(cè)區(qū)后不動(dòng),則溫度沒有變化,傳感器也沒有輸出,所以這種傳感器能檢測(cè)人體或者動(dòng)物的活動(dòng)。
人體溫度大約為36°-37°,輻射出的波長(zhǎng)在一定范圍。濾光片可以只讓這個(gè)波長(zhǎng)范圍的紅外線通過,使得 PIR傳感器只對(duì)人體敏感,而不受太陽、燈光等其它熱源影響,上圖2為PIR傳感器結(jié)構(gòu)與簡(jiǎn)易內(nèi)部電路。
由于PIR只能檢測(cè)到距離有限。如果在外面加上一個(gè)菲涅爾透鏡(下圖),把外部的光線會(huì)聚到 PIR 上,增加進(jìn)光量,則可大大增加 PIR 的檢測(cè)距離和角度。同時(shí),通過控制菲涅耳透鏡內(nèi)部的角度,可以控制焦距,制作出檢測(cè)距離不同.的 PIR。做完這些工作之后,有了一定的檢測(cè)距離和角度。但是人體必須經(jīng)過整個(gè)檢測(cè)區(qū)域才能產(chǎn)生兩次變化(進(jìn)入檢測(cè)區(qū)和離開檢測(cè)區(qū))。我們希望能夠檢測(cè)到更小幅度的移動(dòng),捕獲更多的變化信號(hào)。在菲涅爾透鏡上做點(diǎn)變化,把檢測(cè)區(qū)分成若干個(gè)小格,間隔的區(qū)域會(huì)把光反射出去。這樣整個(gè)檢測(cè)區(qū)就變成若干個(gè)相鄰的靈敏區(qū)和盲區(qū)。當(dāng)人體移動(dòng)時(shí),會(huì)經(jīng)過一個(gè)靈敏區(qū),又進(jìn)入一個(gè)盲區(qū)…… 最后產(chǎn)生連續(xù)的脈沖信號(hào)。
菲涅爾透鏡可以聚光,為傳感器提供更大范圍的紅外光。
好了,現(xiàn)在我們有了一個(gè)更大的范圍。但是實(shí)際上我們有兩個(gè)傳感器,更重要的是,我們不需要兩個(gè)非常大的感應(yīng)區(qū)域矩形,而是需要分散的多個(gè)小區(qū)域。因此,我們要做的是將透鏡分成多個(gè)部分,每個(gè)部分都是菲涅爾透鏡。
上面這張微距照片展示了每個(gè)切面上不同的菲涅爾透鏡;
由上文可知,人體都有恒定的體溫,一般在37°C左右,會(huì)發(fā)出10 um左右特定波長(zhǎng)的紅外線,被動(dòng)式紅外探頭就是靠探測(cè)人體發(fā)射的紅外線而進(jìn)行工作的。紅外線通過菲涅耳濾光片增強(qiáng)后聚集到熱釋電元件,這種元件在接收到人體紅外輻射變化時(shí)就會(huì)失去電荷平衡,向外釋放電荷,后經(jīng)檢測(cè)處理后就能產(chǎn)生報(bào)警信號(hào)。被動(dòng)紅外探頭,其傳感器包含兩個(gè)互相串聯(lián)或并聯(lián)的熱釋電元件,而且制成的兩個(gè)電極化方向正好相反(如下圖所示),環(huán)境背景輻射對(duì)兩個(gè)熱釋元件幾乎具有相同的作用,使其產(chǎn)生釋電效應(yīng)相互抵消,于是探測(cè)器無信號(hào)輸出。
3. 如何應(yīng)用無源紅外傳感器?
由于PIR傳感器收集到的數(shù)據(jù)經(jīng)過電路的輸出的電壓信號(hào)太微弱,需經(jīng)過放大電路,過濾掉噪聲干擾,提取有用的信號(hào)放大。后級(jí)放大電路包括:帶通濾波、兩級(jí)高增益放大、比較電路。下圖為PIR前置放大電路設(shè)計(jì)圖
上圖中熱釋電傳感器D端和5V電源間串聯(lián)10kΩ電阻,用于降低射頻干擾,G端接地,S端接47 kΩ負(fù)載電阻,偏置電壓約為1 V。傳感器輸出直接耦合到低噪聲運(yùn)放(LM324構(gòu)成的帶通濾波和第一級(jí)放大電路的反向輸入端,再由電阻R6、電容C8耦合到第二級(jí)反向放大電路進(jìn)行進(jìn)一步濾波、放大。 熱釋電紅外傳感器的應(yīng)用很廣,大體可分為定性測(cè)量和定量測(cè)量?jī)深悺?定量測(cè)量是測(cè)量紅外光源的溫度T,是一種非接觸的測(cè)定溫度的方法。它的基本依據(jù)如下,首先輻射能流密度ωλ可表示為:
式中, ωλ為輻射率,相當(dāng)于對(duì)絕對(duì)黑體的修正,是一個(gè)小于等于1的數(shù);h為普朗克常數(shù);λ為波長(zhǎng),c為光速;k為波爾茲曼常數(shù);T為絕對(duì)溫度。
由上圖可知,無源紅外報(bào)警器裝置的工作流程是:物體射出的紅外線先通過菲涅爾透鏡,然后到達(dá)熱釋電紅外探測(cè)器。這時(shí),熱釋電紅外探測(cè)器將輸出脈沖信號(hào),脈沖信號(hào)經(jīng)放大和濾波后,由電壓比較器將其與基準(zhǔn)值進(jìn)行比較,當(dāng)輸出信號(hào)達(dá)到一定值時(shí),報(bào)警電路發(fā)出警報(bào)。 熱釋電紅外傳感器和少量外接元器件構(gòu)成被動(dòng)式的熱釋電紅外開關(guān)。在民用領(lǐng)域中可廣泛應(yīng)用??勺鰹榘谉霟?、熒光燈、蜂鳴器、自動(dòng)門、電風(fēng)扇、烘干機(jī)和自動(dòng)洗手池等裝置的自動(dòng)快速開啟的自動(dòng)感應(yīng)開關(guān),特別適用于企業(yè)、賓館、商場(chǎng)、庫房及家庭的過道、走廊等敏感區(qū)域,或用于安全區(qū)域的自動(dòng)燈光、照明和報(bào)警系統(tǒng)。
TCRT1000是一種常見的紅外反射傳感器,它由發(fā)射裝置和接收裝置組成。以下是TCRT1000傳感器的具體介紹:
工作原理: 當(dāng)發(fā)射裝置發(fā)送紅外光束時(shí),如果有物體遮擋在傳感器前方,紅外光束會(huì)被物體反射回傳感器的接收裝置。接收裝置接收到反射的紅外光信號(hào)后會(huì)產(chǎn)生電信號(hào)輸出。
功能特點(diǎn):
普通列表項(xiàng)目適用于檢測(cè)物體是否存在、計(jì)數(shù)和跟蹤物體等應(yīng)用場(chǎng)景;
普通列表項(xiàng)目靈敏度調(diào)節(jié):通過調(diào)整傳感器上的靈敏度調(diào)節(jié)旋鈕,可以根據(jù)需要調(diào)整靈敏度;
普通列表項(xiàng)目可以在室內(nèi)和室外環(huán)境中使用;
普通列表項(xiàng)目采用數(shù)字輸出方式,方便與其他電路連接和集成。
技術(shù)參數(shù):
普通列表項(xiàng)目工作電壓:3.3V - 5V;
普通列表項(xiàng)目工作電流:≤25mA;
普通列表項(xiàng)目工作溫度:-25℃ to +85℃;
普通列表項(xiàng)目探測(cè)范圍:最大可達(dá)10mm。
目前PIR傳感器有以下的用處:
安防系統(tǒng):PIR傳感器常用于安防系統(tǒng),例如家庭安全系統(tǒng)或辦公室安全系統(tǒng)。當(dāng)有人進(jìn)入被監(jiān)控的區(qū)域時(shí),PIR傳感器會(huì)檢測(cè)到其體溫所產(chǎn)生的紅外輻射變化,并觸發(fā)警報(bào)或其他相應(yīng)的安全措施。
照明控制:PIR傳感器可用于自動(dòng)控制照明系統(tǒng)。通過檢測(cè)房間內(nèi)是否有人活動(dòng),PIR傳感器可以向控制器發(fā)送信號(hào),從而控制燈光的開關(guān)和亮度,實(shí)現(xiàn)智能節(jié)能的照明系統(tǒng)。
自動(dòng)化系統(tǒng):PIR傳感器也廣泛應(yīng)用于建筑自動(dòng)化系統(tǒng),如自動(dòng)門、自動(dòng)電梯和自動(dòng)洗手間等。當(dāng)有人接近時(shí),PIR傳感器可以檢測(cè)到并觸發(fā)相應(yīng)的自動(dòng)化操作,提供方便性和舒適性。
能源管理:PIR傳感器可用于能源管理系統(tǒng),例如管理辦公室或商店中的空調(diào)和供暖系統(tǒng)。當(dāng)檢測(cè)到?jīng)]有人活動(dòng)時(shí),傳感器可以自動(dòng)降低或關(guān)閉能源消耗較高的設(shè)備,以節(jié)省能源。
應(yīng)用于健康監(jiān)測(cè):在醫(yī)療領(lǐng)域,PIR傳感器可用于監(jiān)測(cè)人體的運(yùn)動(dòng)和活動(dòng),例如睡眠監(jiān)測(cè)、老年人護(hù)理等。通過檢測(cè)身體的微小運(yùn)動(dòng),傳感器可以提供有關(guān)人體活動(dòng)模式和健康狀況的信息。
4. 主要的無源紅外傳感器供應(yīng)商
意法半導(dǎo)體(STMicroelectronics):作為全球領(lǐng)先的半導(dǎo)體公司之一,意法半導(dǎo)體提供了多種無源紅外傳感器產(chǎn)品,包括接近傳感器、手勢(shì)識(shí)別傳感器和紅外遙控解碼器。
美國(guó)電氣(Vishay):美國(guó)電氣是一家專注于電子元件制造的公司,其產(chǎn)品線包括多種無源紅外傳感器,如紅外接收器、紅外發(fā)射器和紅外光柵。
希捷科技(Seagate Technology):希捷科技是一家專注于硬盤驅(qū)動(dòng)器和存儲(chǔ)解決方案的公司,其產(chǎn)品中也包含無源紅外傳感器,用于硬盤驅(qū)動(dòng)器的故障診斷和校準(zhǔn)等功能。
森霸傳感:森霸傳感科技是國(guó)內(nèi)熱釋電紅外傳感器龍頭廠商,有19年傳感器自主研發(fā)經(jīng)驗(yàn),是國(guó)產(chǎn)中紅外傳感器廠商的中流砥柱。
5. 參考案列
針對(duì)與本次無源紅外傳感器,我們采用了GY——906無源紅外溫度傳感器(基本原理與PIR傳感器沒有太大差別)與基于RP2040的邏輯/協(xié)議/信號(hào)調(diào)試助手——十二指神探進(jìn)行聯(lián)接,通過micropython語言來
編譯相關(guān)代碼,實(shí)現(xiàn)其功能:
代碼如下:
from machine import Pin, I2C import time
i2c = I2C(1, scl=Pin(23), sda=Pin(22)) address = 0x5A
while True:
i2c.writeto(address, bytearray([0x07]) time.sleep_ms(500) # 讀取溫度數(shù)據(jù) data = i2c.readfrom(address, 3) temp_raw = (data[0] << 8) + data[1] temp_celsius = (temp_raw * 0.02) - 273.15 temp_fahrenheit = (temp_celsius * 9 / 5) + 32 print("Temperature: {:.2f}°C / {:.2f}°F".format(temp_celsius, temp_fahrenheit)) time.sleep(1)