zoukankan      html  css  js  c++  java
  • 【雕爷学编程】Arduino动手做(66)---SR501热释电红外模块

    37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手尝试系列实验,不管成功(程序走通)与否,都会记录下来---小小的进步或是搞不掂的问题,希望能够抛砖引玉。

    【Arduino】168种传感器模块系列实验(资料+代码+图形+仿真)

    实验六十六: HC-SR501 热释电人体红外感应传感器模块

    热释电红外探头
    在结构上引入场效应管,其目的在于完成阻抗变换。由于热电元输出的是电荷信号,并不能直接使用,因而需要用电阻将其转换为电压形式。故引入的N沟道结型场效应管应接成共漏形式来完成阻抗变换。热释电红外传感器由传感探测元、干涉滤光片和场效应管匹配器三部分组成。设计时应将高热电材料制成一定厚度的薄片,并在它的两面镀上金属电极,然后加电对其进行极化,这样便制成了热释电探测元。

    热释电效应
    是指极化强度随温度改变而表现出的电荷释放现象,宏观上是温度的改变使在材料的两端出现电压或产生电流。热释电效应与压电效应类似,热释电效应也是晶体的一种自然物理效应。对于具有自发式极化的晶体,当晶体受热或冷却后,由于温度的变化(△T)而导致自发式极化强度变化(△Ps),从而在晶体某一定方向产生表面极化电荷的现象称为热释电效应。具有热释电性质的材料称为热释电体。压电陶瓷属于热释电体。若不考虑温度的不均匀性,热释电体一般具有一级和二级热释电效应。其中二级热释电效应是由于温度变化引起材料形变,再由压电效应产生电荷的二级效应。一般情况下,若温度变化率相同,升降温过程中产生的热释电电荷大小相等,但符号相反  。热释电效应在近10年被用于热释电红外探测器中,广泛地用于辐射和非接触式温度测量、红外光谱测量、激光参数测量、工业自动控制、空间技术、红外摄像中。我国利用ATGSAS晶体制成的红外摄像管已开始出口国外。其温度响应率达到4~5μA/℃,温度分辨率小于0.2℃,信号灵敏度高,图像清晰度和抗强光干扰能力也明显地提高,且滞后较小。此外,由于生物体中也存在热释电现象,故可预期热释电效应将在生物,乃至生命过程中有重要的应用。

    热释电探头结构
    由滤光片、热释电探测元和前置放大器组成,补偿型热释电传感器还带有温度补偿元件。为防止外部环境对传感器输出信号的干扰,上述元件被真空封装在—个金属管内  。
    1、热释电传感器的滤光片为带通滤光片,它封装在传感器壳体的顶端,使特定波长的红外辐射选择性地通过,到达热释电探测元+在其截止范围外的红外辐射则不能通过。
    2、热释电探测元是热释电传感器的核心元件,它是在热释电晶体的两面镀上金属电极后,加电极化制成,相当于一个以热释电晶体为电介质的平板电容器。当它受到非恒定强度的红外光照射时,产生的温度变化导致其表面电极的电荷密度发生改变,从而产生热释电电流。
    3、前置放大器由一个高内阻的场效应管源极跟随器构成,通过阻抗变换,将热释电探测元微弱的电流信号转换为有用的电压信号输出。
    4、前置放大器将微弱的热释电电流转换为有效电压输出。前置放大器必须具备高增益、低噪声、抗干扰能力强的特点,以便从众多的噪声干扰中提取微弱的有用信号。热释电探测元和前置放大器通常集成封装在晶体管内,以避免空气湿度使泄露电流增大。这种结构的前置放大器信噪比高,受温度影响小。

    热释电红外探头的工作原理
    人体都有恒定的体温,一般在37度,所以会发出特定波长10UM左右的红外线,被动式红外探头就是靠探测人体发射的10UM左右的红外线而进行工作的。人体发射的10UM左右的红外线通过菲泥尔滤光片增强后聚集到红外感应源上。红外感应源通常采用热释电元件,这种元件在接收到人体红外辐射温度发生变化时就会失去电荷平衡,向外释放电荷,后续电路经检测处理后就能产生报警信号。

    1)这种探头是以探测人体辐射为目标的。所以热释电元件对波长为10UM左右的红外辐射必须非常敏感。
    2)为了仅仅对人体的红外辐射敏感,在它的辐射照面通常覆盖有特殊的菲泥尔滤光片,使环境的干扰受到明显的控制作用。
    3)被动红外探头,其传感器包含两个互相串联或并联的热释电元。而且制成的两个电极化方向正好相反,环境背景辐射对两个热释元件几乎具有相同的作用,使其产生释电效应相互抵消,于是探测器无信号输出。
    4)一旦人侵入探测区域内,人体红外辐射通过部分镜面聚焦,并被热释电元接收,但是两片热释电元接收到的热量不同,热释电也不同,不能抵消,经信号处理而报警。
    5)菲泥尔滤光片根据性能要求不同,具有不同的焦距(感应距离),从而产生不同的监控视场,视场越多,控制越严密。

    被动式热释电红外探头的优缺点
    优点:本身不发任何类型的辐射,器件功耗很小,隐蔽性好。价格低廉。
    缺点:
    ◆容易受各种热源、光源干扰
    ◆被动红外穿透力差,人体的红外辐射容易被遮挡,不易被探头接收。
    ◆易受射频辐射的干扰。
    ◆环境温度和人体温度接近时,探测和灵敏度明显下降,有时造成短时失灵。

    抗干扰性能:
    1.防小动物干扰---探测器安装在推荐地使用高度,对探测范围内地面上地小动物,一般不产生报警。
    2.抗电磁干扰---探测器的抗电磁波干扰性能符合GB10408中4.6.1要求,一般手机电磁干扰不会引起误报。
    3.抗灯光干扰---探测器在正常灵敏度的范围内,受3米外H4卤素灯透过玻璃照射,不产生报警。

    红外线热释电探头的安装要求
    只能安装在室内,其误报率与安装的位置和方式有极大的关系,正确的安装应满足下列条件---
    1.红外线热释电传感器应离地面2.0-2.2米。
    2.红外线热释电传感器远离空调, 冰箱,火炉等空气温度变化敏感的地方。
    3.红外线热释电传感器探测范围内不得隔屏、家具、大型盆景或其他隔离物。
    4.红外线热释电传感器不要直对窗口,否则窗外的热气流扰动和人员走动会引起误报,有条件的最好把窗帘拉上。红外线热释电传感器也不要安装在有强气流活动的地方。

    红外线热释电探头对人体的敏感程度还和人的运动方向关系很大。红外线热释电传感器对于径向移动反应最不敏感, 而对于横切方向 (即与半径垂直的方向)移动则最为敏感. 在现场选择合适的安装位置是避免红外探头误报、求得最佳检测灵敏度极为重要的一环。

    HC-SR501 热释电人体红外感应传感器模块

    模块技术参数

    1.工作电压:DC5V至20V

    2.静态功耗:小于60微安

    3.电平输出:高3.3V,低0V

    4.延时时间:可调(0.3秒~18秒)

    5.封锁时间:2.5秒

    6.触发方式:L不可重复,H可重复,默认值为H

    7.感应范围:小于120度锥角,7米以内

    8.工作温度:-15~+70度

    9.PCB外形尺寸:32*24mm,螺丝孔距28mm,螺丝孔径2mm

    10.感应透镜尺寸:(直径)23mm(默认)

    模块功能特点

    1、全自动感应:人进入其感应范围则输出高电平, 人离开感应范围则自动延时关闭高电 平,输出低电平。 

    2、光敏控制(可选择,出厂时未设)可设置光敏控制,白天或光线强时不感应。 

    3、温度补偿(可选择,出厂时未设):在夏天当环境温度升高至 30~32℃,探测距离稍变短,温度补偿可作一定的性能补偿。 

    4、 两种触发方式:(可跳线选择) a、不可重复触发方式:即感应输出高电平后,延时时间段一结束,输出将自动从高电 平变成低电平; b、可重复触发方式:即感应输出高电平后,在延时时间段内,如果有人体在其感应 范围活动,其输出将一直保持高电平,直到人离开后才延时将高电平变为低电平(感应模块检 测到人体的每一次活动后会自动顺延一个延时时间段,并且以最后一次活动的时间为延时 时间的起始点)。 

    5、具有感应封锁时间(默认设置:2.5S 封锁时间):感应模块在每一次感应输出后(高电平 变成低电平),可以紧跟着设置一个封锁时间段,在此时间段内感应器不接受任何感应信 号。此功能可以实现“感应输出时间”和“封锁时间”两者的间隔工作,可应用于间隔探测产 品;同时此功能可有效抑制负载切换过程中产生的各种干扰。(此时间可设置在零点几秒 —几十秒钟)。 

    6、 工作电压范围宽:默认工作电压 DC4.5V-20V。

    7、 微功耗:静态电流<50 微安,特别适合干电池供电的自动控制产品。 

    8、 输出高电平信号:可方便与各类电路实现对接。

    模块电原理图

    模块使用说明

    1. 感应模块通电后有一分钟左右的初始化时间,在此期间模块会间隔地输出 0-3 次,一分钟后进入待机状态。 

    2. 应尽量避免灯光等干扰源近距离直射模块表面的透镜,以免引进干扰信号产生误动作; 使用环境尽量避免流动的风,风也会对感应器造成干扰。 

    3. 感应模块采用双元探头,探头的窗口为长方形,双元(A 元 B 元)位于较长方向的两 端,当人体从左到右或从右到左走过时,红外光谱到达双元的时间、距离有差值,差值越 大,感应越灵敏,当人体从正面走向探头或从上到下或从下到上方向走过时,双元检测不 到红外光谱距离的变化,无差值,因此感应不灵敏或不工作;所以安装感应器时应使探头 双元的方向与人体活动最多的方向尽量相平行,保证人体经过时先后被探头双元所感应。 为了增加感应角度范围,本模块采用圆形透镜,也使得探头四面都感应,但左右两侧仍然 比上下两个方向感应范围大、灵敏度强,安装时仍须尽量按以上要求。

    使用注意事项

    1、直流工作电压必须符合我们要求的数值,过高和过低都会影响模块性能,而且要求电源必须经过良好的稳压滤波,例如电脑USB电源、手机充电器电源、比较旧的9V的层叠电池都无法满足模块工作要求,建议客户用变压器的电源并经过三端稳压芯片稳压后再通过220UF和0.1UF的电容滤波后供电。

    2、调试时人体尽量远离感应区域,有时虽然人体不在模块的正前方,但是人体离模块太近时模块也能感应到造成一直有输出,还有调试时人体不要触摸电路部分也会影响模块工作,比较科学的办法是将输出端接一个LED或者是万用表,把模块用报纸盖住,人离开这个房间,等2分钟后看看模块是否还是一直有输出?

    3、模块不接负载时能正常工作,接上负载后工作紊乱,一种原因是因为电源容量很小负载比较耗电,负载工作时引起的电压波动导致模块误动作,另一种原因是负载得电工作时会产生干扰,例如继电器或者电磁铁等感性负载会产生反向电动势,315M发射板工作时会有电磁辐射等都会影响模块。解决办法如下:A、电源部分加电感滤波。B、采用负载和模块使用不同的电压的方法,例如:负载使用24V工作电压,模块使用12V工作电压,其间用三端稳压器隔离。C: 使用更大容量的电源。

    4、人体感应模块只能工作在室内并且工作环境应该避免阳光、强烈灯光直接照射,如果工作环境有强大的射频干扰,可以采用屏蔽措施。若遇有强烈气流干扰,关闭门窗或阻止对流。感应区尽量避免正对着发热电器和物体以及容易被风吹动的杂物和衣物。

    5、人体感应模块建议安装在密封的盒里,否则可能一直会有输出信号。

    6、如果要求人体感应模块的探测角度小于90度时,可以用不透明胶纸遮挡镜片或裁剪缩小镜片来实现。

    7、人体感应模块采用双元探头,人体的手脚和头部运动方向与感应灵敏度有着密切的联系,而且红外模块的特性决定了无法精确控制感应距离。

    8、模块中的探头(PIR)可以装焊在电路板的另一面。也可将探头用双芯屏蔽线延长,长度应在20厘米以内为好。

    实验开源代码

    /*
    
    【Arduino】168种传感器模块系列实验(65)
    
    实验六十六:HC-SR501 热释电人体红外感应传感器模块
    
    程序一,简单测试串口开关量
    
    */
    
     
    
    int Sensor= 7;
    
     
    
    void setup() 
    
    {
    
       Serial.begin(9600);
    
       pinMode(Sensor, INPUT);
    
    }
    
     
    
    void loop() 
    
    {
    
       int SensorState = digitalRead(Sensor);
    
       Serial.println(SensorState);
    
       delay(100);      
    
    }
    

      当有检测到人体运动,输出1,否则输出0。

    实验开源代码

    /*
    
    【Arduino】168种传感器模块系列实验(65)
    
    实验六十六:HC-SR501 热释电人体红外感应传感器模块
    
    程序二,在传感器前移动时,Arduino 上的 LED 灯会亮
    
    */
    
     
    
    int ledPin = 13;
    
    int pirPin = 7;
    
     
    
    int pirValue;
    
    int sec = 0;
    
     
    
    void setup()
    
    {
    
        pinMode(ledPin, OUTPUT);
    
        pinMode(pirPin, INPUT);
    
     
    
        digitalWrite(ledPin, LOW);
    
        Serial.begin(9600);
    
    }
    
     
    
    void loop()
    
    {
    
        pirValue = digitalRead(pirPin);
    
        digitalWrite(ledPin, pirValue);
    
       
    
        sec += 1;
    
        Serial.print("Second: ");
    
        Serial.print(sec);
    
        Serial.print("PIR value: ");
    
        Serial.print(pirValue);
    
        Serial.print('
    ');
    
        delay(1000);
    
    }
    
    
    

      

    注意事项
    1、直流工作电压必须符合我们要求的数值,过高和过低都会影响模块性能,而且要求电源必须经过良好的稳压滤波,例如电脑USB电源、手机充电器电源、比较旧的9V的层叠电池都无法满足模块工作要求,建议客户用变压器的电源并经过三端稳压芯片稳压后再通过220UF和0.1UF的电容滤波后供电。
    2、调试时人体尽量远离感应区域,有时虽然人体不在模块的正前方,但是人体离模块太近时模块也能感应到造成一直有输出,还有调试时人体不要触摸电路部分也会影响模块工作,比较科学的办法是将输出端接一个LED或者是万用表,把模块用报纸盖住,人离开这个房间,等2分钟后看看模块是否还是一直有输出?
    3、模块不接负载时能正常工作,接上负载后工作紊乱,一种原因是因为电源容量很小负载比较耗电,负载工作时引起的电压波动导致模块误动作,另一种原因是负载得电工作时会产生干扰,例如继电器或者电磁铁等感性负载会产生反向电动势,315M发射板工作时会有电磁辐射等都会影响模块。解决办法如下:A、电源部分加电感滤波。B、采用负载和模块使用不同的电压的方法,例如:负载使用24V工作电压,模块使用12V工作电压,其间用三端稳压器隔离。C: 使用更大容量的电源。
    4、人体感应模块只能工作在室内并且工作环境应该避免阳光、强烈灯光直接照射,如果工作环境有强大的射频干扰,可以采用屏蔽措施。若遇有强烈气流干扰,关闭门窗或阻止对流。感应区尽量避免正对着发热电器和物体以及容易被风吹动的杂物和衣物。
    5、人体感应模块建议安装在密封的盒里,否则可能一直会有输出信号。
    6、如果要求人体感应模块的探测角度小于90度时,可以用不透明胶纸遮挡镜片或裁剪缩小镜片来实现。
    7、人体感应模块采用双元探头,人体的手脚和头部运动方向与感应灵敏度有着密切的联系,而且红外模块的特性决定了无法精确控制感应距离。
    8、模块中的探头(PIR)可以装焊在电路板的另一面。也可将探头用双芯屏蔽线延长,长度应在20厘米以内为好。

    实验开源图形编程(Mind+)

    实验开源仿真编程(linkboy3.7)

  • 相关阅读:
    java 下载图片并传输(java自带 BASE64工具进行图片和字符串转换)
    MySQL的日期格式
    eclipse下查看maven下载的源码中文乱码问题
    Linux----部署
    python----logging
    python----pymysql
    vmware15 激活秘钥
    vmware15 激活秘钥
    Ubuntu18.04安装
    msyql45讲 20--幻读是什么,幻读有什么问题?
  • 原文地址:https://www.cnblogs.com/eagler8/p/13151916.html
Copyright © 2011-2022 走看看