天天看點

人體紅外傳感器HC-SR501

在學習STM32系列的晶片時,算是第一次和開發闆打交道,是以很多時候不知道如何檢視引腳和相關功能,雖然隻是借助外設進行一些實驗,但開始的時候還是感到很困難。

而且學習的過程中越來越感受到知識的積累是一個十分漫長的過程,可能隻是一些很簡單的知識點,可是如果不加以歸納總結,自己日後還是會忘記,是以希望自己每學一點内容都可以記錄下來,可能剛開始都隻能是轉載和整合其他人的内容,但在不斷的積累中,也自然會有自己的改變,希望這些點點滴滴可以讓我的知識大廈越來越高。

除代碼部分

轉載自:http://www.arduino.cn/thread-2851-1-1.html

(若有侵權,請聯系部落客删除本文,謝謝!)

工作原理

人體都有恒定的體溫,一般在37度,是以會發出特定波長10UM左右的紅外線,被動式紅外探頭就是靠探測人體發射的10UM左右的紅外線而進行工作的。人體發射的10UM左右的紅外線通過菲泥爾濾光片增強後聚集到紅外感應源上。

紅外感應源通常采用熱釋電元件,這種元件在接收到人體紅外輻射溫度發生變化時就會失去電荷平衡,向外釋放電荷,後續電路經檢測處理後就能産生報警信号。

熱釋電效應:

當一些晶體受熱時,在晶體兩端将會産生數量相等而符号相反的電荷。這種由于熱變化而産生的電極化現象稱為熱釋電效應。

菲涅耳透鏡:

根據菲涅耳原理制成,菲涅耳透鏡分為折射式和反射式兩種形式,其作用一是聚焦作用,将熱釋的紅外信号折射(反射)在PIR上;二是将檢測區内分為若幹個明區和暗區,使進入檢測區的移動物體能以溫度變化的形式在PIR上産生變化熱釋紅外信号,這樣PIR就能産生變化電信号。使熱釋電人體紅外傳感器(PIR)靈敏度大大增加。

人體紅外傳感器HC-SR501

子產品參數:

  1. 工作電壓:DC5V至20V
  2. 靜态功耗:65微安
  3. 電平輸出:高3.3V,低0V
  4. 延時時間:可調(0.3秒~18秒)
  5. 封鎖時間:0.2秒
  6. 觸發方式:L不可重複,H可重複,預設值為H(跳帽選擇)
  7. 感應範圍:小于120度錐角,7米以内
  8. 工作溫度:-15~+70度

子產品特性:

1、這種探頭是以探測人體輻射為目标的。是以熱釋電元件對波長為10UM左右的紅外輻射必須非常敏感。

2、為了僅僅對人體的紅外輻射敏感,在它的輻射照面通常覆寫有特殊的菲泥爾濾光片,使環境的幹擾受到明顯的控制作用。

3、被動紅外探頭,其傳感器包含兩個互相串聯或并聯的熱釋電元。而且制成的兩個電極化方向正好相反,環境背景輻射對兩個熱釋元件幾乎具有相同的作用,使其産生釋電效應互相抵消,于是探測器無信号輸出。

4、一旦人侵入探測區域内,人體紅外輻射通過部分鏡面聚焦,并被熱釋電元接收,但是兩片熱釋電元接收到的熱量不同,熱釋電也不同,不能抵消,經信号處理而報警。

5、菲泥爾濾光片根據性能要求不同,具有不同的焦距(感應距離),進而産生不同的監控視場,視場越多,控制越嚴密。

觸發方式:

L不可重複,H可重複。可跳線選擇,預設為H。

A. 不可重複觸發方式:即感應輸出高電平後,延時時間一結束,輸出将自動從高電平變為低電平。

B. 重複觸發方式: 即感應輸出高電平後,在延時時間段内,如果有人體在其感應範圍内活動,其輸出将一直保持高電平,直到人離開後才延時将高電平變為低電平(感應子產品檢測到人體的每一次活動後會自動順延一個延時時間段,并且以最後一次活動的時間為延時時間的起始點)。

人體紅外傳感器HC-SR501

可調封鎖時間及檢測距離調節:

1、 調節檢測距離

2、 封鎖時間:感應子產品在每一次感應輸出後(高電平變為低電平),可以緊跟着設定一個封鎖時間,在此時間段内感應器不接收任何感應信号。此功能可以實作(感應輸出時間和封鎖時間)兩者的間隔工作,可應用于間隔探測産品;同時此功能可有效抑制負載切換過程中産生的各種幹擾。(預設封鎖時間2.5S)

注:

1、調節距離電位器順時針旋轉,感應距離增大(約 7 米),反之,感應距離減小(約 3 米)。

2、調節延時電位器順時針旋轉,感應延時加長(約300S),反之,感應延時減短(約 0.5S)。

人體紅外傳感器HC-SR501

光敏控制:

子產品預留有位置,可設定光敏控制,白天或光線強時不感應。光敏控制為可選功能,出廠時未安裝光敏電阻。

人體紅外傳感器HC-SR501

子產品優缺點:

優點:

本身不發任何類型的輻射,器件功耗很小,隐蔽性好。價格低廉。

缺點:

容易受各種熱源、光源幹擾

被動紅外穿透力差,人體的紅外輻射容易被遮擋,不易被探頭接收。

易受射頻輻射的幹擾。

環境溫度和人體溫度接近時,探測和靈敏度明顯下降,有時造成短時失靈。

子產品抗幹擾:

1、 防小動物幹擾

2、 防電磁幹擾

3、 防強燈光幹擾

安裝:

紅外線熱釋電人體傳感器隻能安裝在室内,其誤報率與安裝的位置和方式有極大的關系,正确的安裝應滿足下列條件:

1. 紅外線熱釋電傳感器應離地面2.0-2.2米。

2. 紅外線熱釋電傳感器遠離空調, 冰箱,火爐等空氣溫度變化敏感的地方。

3. 紅外線熱釋電傳感器探測範圍内不得隔屏、家具、大型盆景或其他隔離物。

4. 紅外線熱釋電傳感器不要直對視窗,否則窗外的熱氣流擾動和人員走動會引起誤報,有條件的最好把窗簾拉上。紅外線熱釋電傳感器也不要安裝在有強氣流活動的地方。

紅外線熱釋電傳感器對人體的敏感程度還和人的運動方向關系很大。熱釋電紅外傳感器對于徑向移動反應最不敏感, 而對于橫切方向 (即與半徑垂直的方向)移動則最為敏感. 在現場選擇合适的安裝位置是避免紅外探頭誤報、求得最佳檢測靈敏度極為重要的一環。

STMF103RCT6 執行個體代碼

**main.c關鍵代碼**
if(GPIO_ReadInputDataBit(HC_GPIO_PORT,HC_GPIO_PIN))
{   
    SysTick_Delay_ms(3000);  //為了觀察實驗現象時有一個間隔時間
    if(GPIO_ReadInputDataBit(HC_GPIO_PORT,HC_GPIO_PIN))
    {
        BEEP(BEEP_ON);
        LED2_TOGGLE;
        SysTick_Delay_ms(3000);
        BEEP(BEEP_OFF);  
        LED2_TOGGLE;
    }
}

**bsp_HCSR501.h**
#ifndef __BSP_HCSR501_H
#define __BSP_HCSR501_H

#include "stm32f10x.h"

#define HC_GPIO_CLK      RCC_APB2Periph_GPIOA
#define HC_GPIO_PORT     GPIOA
#define HC_GPIO_PIN      GPIO_Pin_2

#define HC_ON    1
#define HC_OFF   0

#define HC_REV 
PIO_WriteBit(HC_GPIO_PORT,HC_GPIO_PIN,(BitAction)(1-GPIO_ReadOutputDataBit(HC_GPIO_PORT, HC_GPIO_PIN))))

void HC_GPIO_Config(void);

#endif  /* __BSP_HC-SR501_H */

**bsp_HCSR501.h**
#ifndef __BSP_HCSR501_H
#define __BSP_HCSR501_H

#include "stm32f10x.h"

#define HC_GPIO_CLK      RCC_APB2Periph_GPIOA
#define HC_GPIO_PORT     GPIOA
#define HC_GPIO_PIN      GPIO_Pin_2

#define HC_ON    1
#define HC_OFF   0

#define HC_REV 
PIO_WriteBit(HC_GPIO_PORT,HC_GPIO_PIN,(BitAction)(1-GPIO_ReadOutputDataBit(HC_GPIO_PORT, HC_GPIO_PIN))))

void HC_GPIO_Config(void);
#endif  /* __BSP_HC-SR501_H */
           

繼續閱讀