PIC12F675单片机在人体探测器的设计与应用
扫描二维码
随时随地手机看文章
引 言
现在,很多实验室出于保密性、安全性等原因考虑,常常将实验室从内到外隔成多个小实验室,当相关人员都在聚精会神地工作时,可能出现外面实验室门敞开而实验室内没人的情况,这可能导致不可预料的后果。为避免上述问题,需要在类似场合安装能检测人员进出的探测器,当有人进门或者出门时候能够发出不同的语音信号,以提示相关人员。
现在用于检测人员进出的探测器主要采用热释红外传感器。人体能够发射10μm左右的红外线,热释红外传感器就是靠接收这种红外线而进行工作的。这种探测器功耗小,隐蔽性好,价格低廉,但也具有以下缺点:①不能判断人员流动方向;②探测器穿透力差,人体的红外辐射容易被遮挡,不易被探头接收;③探测器容易受热源、光源、射频辐射等干扰;④环境温度和人体温度接近时,探测器灵敏度明显下降,可能造成探测器短时失灵。 针对上述探测器的缺点和应用场所的特殊性,本文提出采用红外线技术,用PIC12F675作为检测和控制核心,设计了一款新型的人体探测系统。
设计思想
办公室中人们通常的进出门方向如图1所示。沿着进门的方向,安置两组红外线发射接收装置:第一组红外线发射管x与红外线接收管x',第二组红外线发射管y与红外线接收管y',其中红外线接收管x'和y'要分别正对发射管x和y。正常情况下,红外接收管不间断地接收来自红外发射管的红外光。当有人通过发射管及接收管所构成的警戒线,挡住了红外线发射管,从而使接收管中断接收发射管的红外线信号,引起进入CPU的电平变化,CPU检测到此变化引起中断,将平时处于睡眠状态的CPU唤醒,并对中断进行判断,产生相应的动作。
本系统通过检测x'、y'的电平变化时序实现进门和出门时发出不同的提示信号,如图2所示。当进门时,x'先变化,y'后变化,如图2进门时序①所示;出门时,y'先变化,x'后变化,如时序③所示。CPU通过检测x'和y'的变化时序就可以区别是进门还是出门,从而使语音芯片发出不同的声音,起到提示作用。
硬件设计
发射部分
由于红外发射管的发射功率一般较小,为约10mW,这导致红外接收头信号微弱。根据红外发射管的物理特性,本系统用PIC12F675的7脚和6脚产生信号,通过Q1和Q2两个三极管,驱动红外线发射管(D3和D4)发射出红外线常用的载波频率(38kHz红外信号),从而提高发射性能和发射距离,且使抗干扰能力大大加强。本文使用的38kHz载波频率的占空比为50%。发射部分电路如图3所示。
接收部分
如图4所示,该系统接收部分利用红外线一体化接收头(SM0038),它能自动完成对红外信号的接收、放大、检波、整形,然后输出相应的脉冲信号至PIC12F675的7脚和6脚,其中PIC12F675的7脚接收红外线发射管D3的信号,PIC12F675的6脚接收红外线D4的信号。
当没人进出时,红外线接收管连续不断地接收红外线发射管发射的38kHz信号,使PIC12F675的7脚和6脚保持低电平;当有人进入时,第一组红外线接受管x'首先接收不到38kHz的信号,PIC12F675的7脚先变为高电平,接着第二组红外线接收管y'也无法接收到38kHz信号,6脚随后变为高电平。反之,出门时,6脚先变为高电平,7脚后变为高电平。利用PIC12F675的引脚电平变化中断功能,PIC12F675的6脚和7脚上电平发生变化产生中断,CPU判断7脚和6脚的波形以及时序,就能判断出有人进或出门,通过5脚(GP2)发送不同频率的信号,驱动语音芯片发出不同的语音信号。D7是指示灯,当系统上电时,D7亮1s,然后熄灭,表示系统已正常工作。
软件设计
红外线发射部分的主要功能是产生38kHz的方波,驱动红外线发射管发射红外信号。为使系统准确可靠,发射部分的CPU必须连续不断地工作。
对接收部分,由于接收端CPU大部分时间处于闲置状态,只有在有人进出时才进行相应判断,为了节约能量,平时CPU一直处于睡眠状态,当有人进出时,红外线接收管被唤醒并进入中断,中断程序流程图如图5所示。
程序首先清空相应的中断标志及其WDT,然后判断是进门时序还是出门时序。为了使判断准确无误,防止干扰,每次进行相应判断为真后必须加一定的延时,然后重新判断,如果经过判断确认是干扰信号,则直接开中断返回。
为了防止接收端CPU由于干扰信号导致程序执行路线脱离正常轨道,从而使执行过程发生混乱,系统中采用WDT监视定时器时刻监视CPU的运行状态。当CPU发生混乱时,看门狗会将CPU及时"拉回"到正确运行路线的起点,重新开始运行。
调试及结论
该探测器经过软硬件的反复调试与实验,现在已经在实验室、办公室以及商店安装使用3个月,能够准确及时地检测人员进出,发出不同的语音信号,达到预想的结果。