0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于单片机和DSl8B20单总线实现温度传感系统的设计

电子设计 来源:山西电子技术 作者:史洪宇 2021-03-28 10:05 次阅读

目前绝大多数楼宇风扇和电灯在使用时都是由人员手动操作,当天气闷热时由楼宇内的人员手动开启风扇和选调风速,当灯光不足或在上楼梯时手动开启电灯,常常会由于人员的疏忽在人离开之后忘记关闭设备而导致用电的浪费。在本系统设计中,考虑采用单片机控制器,以热释人体红外和温度传感系统来检测室内有无人员以及室内温度,设计一个智能温控风扇及照明控制系统,可以实时调节和控制室内的风扇和灯光的照明,从而达到智能控制和节能的目的。

1 系统总体设计

系统方框图如图l所示。通过51单片机和热释人体红外来检测区域内是否有人,如有人再检测其温度和光度是否需开启风扇和灯光并且实现该调在哪个档位,并由指示灯显示档位。用数码管显示室温。最后用蜂鸣器作为报警源,如果启动报警模式,当检测到其区域内有人就会发出报警信号,当温度超过一定范围内也启动长鸣报警声。

基于单片机和DSl8B20单总线实现温度传感系统的设计

2 系统硬件设计

2.1 热释人体红外模块

人体红外感应模块电路主要由人体被动红外探头、菲涅尔透镜、专用芯片BISS0001组成。当有人出现在它的探测区,传感器便能探测到信号并把信号传给单片机,单片机再根据实际情况是否该开启器件设备或让房间的电器设备处于一种可开启状态。关于走廊及洗手问用灯情况,当晚上有人经过时,人体红外感应到人便开启走廊用灯或者洗手间用灯。热释人体红外模块电路如图2所示。

电路中运用了热释红外专用芯片BISS0001。BISS0001是由运算放大器、电压比较器、状态控制器、延迟时间定时器以及封锁时间定时器等构成的数模混合专用集成电路。如图2所示,当人体辐射的红外线通过菲涅尔透镜被聚焦在热释电红外传感器的探测元上时,电路中的传感器将输出电压信号,然后使该信号先通过一个由C1、C2、R1、R2组成的带通滤波器,该滤波器的上限截止频率为16 Hz,下限截止频率为O.16 Hz。

由于热释电红外传感器输出的探测信号电压十分微弱(通常仅有1 mV左右),而且是一个变化的信号,同时菲涅尔透镜的作用又使输出信号电压呈脉冲形式(脉冲电压的频率由被测物体的移动速度决定,通常为O.1 Hz~10 Hz左右),所以应对热释红外传感器输出的电压信号通过运算放大器OP1和OP2进行二级放大。再经由电压比较器COP1和COP2构成的双向鉴幅器处理后,检出有效触发信号Vs去启动延迟时间定时器。

输出信号Vo接单片机以便检测,当有人时便输出5 V高电平,当人离开之后延时一段时间后便复位为O V以便主控制电路的控制。电路设计让芯片处于可重复触发状态以便适合教室的实际情况。重复触发其工作过程:可重复触发工作方式下在Vc=“1”、 A=“1”时,Vs可重复触发Vo为有效状态,并可促使Vo在Tx周期内一直保持有效状态。在Tx时间内,只要Vs发生上跳变,则%将从Vs上跳变时刻起继续延长—个Tx周期;若Vs保持为“1”状态,则Vo一直保持有效状态;若Vs保持为“0”状态,则在Tx周期结束后Vo恢复为无效状态,并且,同样在封锁时间T1时间内,任何Vs的变化都不能触发Vo为有效状态。

2.2 可调光光管控制模块

本模块主要由光敏传感电路、数模转换模块及室内LED灯几部分组成。利用一个光敏二极管和一个100 k的电阻。共五组并联连接接入5 V电压,分别引出五条线路接至ADC0809芯片的IN3~IN7通道(见图3),通过光敏二极管检测教室的光照亮度,根据光敏二极管特性,遇光照时,阻值会明显减少,随着光度的减少,光敏二极管的阻值会逐渐增大的原理,那么每个光敏二极管分压得到的不同电压值(即模拟量),通过ADC0809模数转换检测到它们输出的模拟量。通过ADC0809芯片的IN3~IN7端口,转化成数字量,D0~D7作为数据输出端口,连接至单片机的P0口进行数据的处理。

灯管亮度分为四个档位(以最佳光度为准,不影响人的眼睛为前提):

1档:检测到室内光线充足时,开启中间一盏LED灯,此时房间灯管亮度为最低。

2档:检测到室内光线不充足时,同时开启中间一排三盏LED灯管,此时教室灯管亮度为适中。

3档:此时检测到室内光线明显不足,同时开启四盏LED灯管,此时教室灯管亮度为较大。

4档:此时检测到教室内光线很暗,同时开启五盏LED灯管,此时教室灯管亮度为最大。

2.3 温度控制风扇转速(及空调制冷温度)模块

利用单片机的P1.3口控制DSl8B20,将实时采集到的温度与单片机软件设置的数值做对比,并用P1.7口控制三极管8550的导通和截止,实现了用删控制电机的转速,让风扇在不同的温度下有不同的档位的变化,系统中LED1,LED2,LED3分别是第一档、第二档、第三档风速的显示标志。

2.4 温度显示模块

本模块使用74HC595作为数码的段选驱动,用两个P3.2、P3.1口作为数码管的位选,74HC595使移位寄存器具有串行输入、并行输出的作用,只要三个I/O口就可以控制它。通过P1.4作为数据串行输入控制端,P1.5作为串行输入时钟控制端,P1.6作为并行输出锁存控制端。整个模块用了五个I/O来控制其温度传感器的温度显示。

2.5 报警模块

本模块用一个8550三极管PNP作为蜂鸣器的驱动,当b极低电平时三极管导通蜂鸣器的负极接到地,蜂鸣器工作发出声音。当b极为高电平时三极管不导通,蜂鸣器不工作。b极连接一个开关作为报警模式的启动与关闭切换。通过单片机的P2.7口控制其发出报警声音,当有小偷入侵时蜂鸣器发出连续的报警声,当温度太高或发生火灾时蜂鸣器长鸣以提醒楼宇人员。

3 系统软件设计

本软件系统分为光度采集模块、人体感应模块和温控风扇模块三部分,流程图如图4所示。

3.1 光度采集模块的软件设计

通过ADC0809的芯片引脚介绍可以知道ADC0809的CLK时钟端口,需要由外界提供,使用频率为500 kHz的一个时钟信号。单片机晶振频率为12MHz,那么单片机的ALE端口输出脉冲为它的1/6为2 MHz,同时利用74LSll2触发器,可将2 MHz四分频得到一个输出约为500 kHz的频率,提供给ADC0809的CLK端口。由ADC0809的EOC端口知道,EOC=0,正在进行转换;EOC=1,转换结束,所以使用查询方式,等待查询EOC端口一旦转换结束,通知单片机,倘若转换结束,ADC0809的D7~D0数据输出信号至单片机的PO的I/0口。

3.2 人体感应模块的软件设计

由于人体感应模块的硬件电路设计的接口只有一个跟单片机通讯,当有触发时为高电平,不触发的时候为低电平,所以在软件设计中可以用两种方法,第一种是中断方式,需加反相器处理,因为单片机的外部中断为低电平触发或者下降沿触发;第二种是查询法,通过单片机I/0口查寻接口的电平即可。为了降低成本,本系统用了查询法。

3.3 温度控制风扇模块的软件设计

由于采用了DSl8B20单总线的通讯协议方式,所以软件模块主要通过操作单片机I/O口的高低电平遵循芯片的通讯时序图来操作,具体参考附件的 DSl8B20.H头文件的软件设计。通过P1.3口数据传输到单片机内部进行数据的处理,然后作为风扇风速档次的选择。风扇的风速通过调制不同的PWM 来控制,通过拉高拉低IO口电平来控制三极管的导通与截止控制风扇的转速。

4 总结

采用单片机为控制器,用热释人体红外和温度传感系统来检测室内有无人员及室内温度,设计了一个智能温控风扇及照明控制系统。该系统可以根据室内的温度来实时自动控制风扇的开关及风扇的档位;并且根据室内的光线和是否有人来控制灯管的照明;用蜂鸣器作为报警源,如果启动报警模式,当检测到其区域内有人就会发出报警信号,当温度超过一定范围也启动长鸣报警声。能够达到智能控制和节能以及安防的目的,尤其适用于学校教室、图书馆、楼道照明灯场所。

责任编辑:gt

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 芯片
    +关注

    关注

    455

    文章

    50714

    浏览量

    423145
  • 单片机
    +关注

    关注

    6035

    文章

    44554

    浏览量

    634651
  • 总线
    +关注

    关注

    10

    文章

    2878

    浏览量

    88051
收藏 人收藏

    评论

    相关推荐

    基于单总线器件DS18B20温度测量仪

    发送0x44命令,则DS18B20开始启动温度转换。 3 软件设计 Mega8单片机对DS18B20的控制严格遵循
    发表于 09-24 16:28

    温度传感DSl8B20在Proteus仿真的实现

    的工作原理  在该测温系统中,单片机PICl6F877A作为主机,DSl8B20温度传感器作为从
    发表于 11-02 15:08

    基于DSP与数字温度传感器的温度控制系统

    芯片TMS320F2812与数字温度传感DSl8B20设计出一个温度测量系统,根据测量所得的温度
    发表于 11-02 15:21

    基于单总线数字温度传感器DS18B20的测温系统方案

    广泛应用。传统的温度检测方式一般采用热电偶或热敏电阻,输出模拟信号,经A/D转换后才能送入单片机处理器,检测电路复杂。  因此,本文采用单总线智能型数字温度
    发表于 11-06 15:18

    基于DS18B20的MOA温度远程监控系统设计

    AT89S52单片机作为控制器, 通过多个数字式温度传感DSl8B20对三相MOA和环境温度进行采样, 送往
    发表于 12-04 15:57

    数字温度传感DSl8B20怎么实现快速编程?

    一般来说,总线数越少,连接就越简单,因而串行总线嵌入式元件在许多应用场合颇受欢迎。但正因为只有1根线,该类元件的编程要紧扣硬件和时钟,难度大于I2C总线和SPI总线。本文以数字
    发表于 10-21 06:16

    基于DSP与DSl8B20怎么实现温度控制系统

    TMS320F2812与数字温度传感DSl8B20设计出一个温度测量系统,根据测量所得的温度
    发表于 10-24 08:02

    如何利用AT89C51单片机DSl8B20数字温度传感实现多点温度的检测与控制

    本文设计了一种基于AT89C51、数字温度传感DSl8820的多点温度检测系统,该系统利用
    发表于 05-07 06:06

    基于单总线器件DS18B20温度测量仪

    针对目前采用的热敏电阻测量方法,提出了采用单总线数字式温度传感器DS18B20单片机组成的新型温度
    发表于 12-13 17:44 113次下载

    基于单总线式无线温度采集系统设计

    为提高温度测量效率,降低系统的成本,扩展传输距离,设计出一种新型温度采集系统单片机通过控制具有单总线
    发表于 01-04 10:22 88次下载

    数字温度传感DSl8B20的编程方案

    本文以数字温度传感DSl8B20为例,介绍一种实用和简单的编程方案。1  DS18B20的精简编程考虑测温分辨率:通过设置配置寄存器,DS18B2
    发表于 06-28 09:09 989次阅读
    数字<b class='flag-5'>温度</b><b class='flag-5'>传感</b>器<b class='flag-5'>DSl8B20</b>的编程方案

    单线数字温度传感DSl8B20芯片特性及引脚

    DSl8B20芯片特性及管脚介绍   1.1 DSl8B20芯片特性   DSl8B20单线数字温度传感器是新一代
    发表于 08-30 09:43 4593次阅读
    单线数字<b class='flag-5'>温度</b><b class='flag-5'>传感</b>器<b class='flag-5'>DSl8B20</b>芯片特性及引脚

    如何使用AVR单片机温度传感器DS18B20进行多点温度测量

    介绍了一种基于AVR 系列单片机ATmega8单总线数字温度传感器DS18B20 进行多点
    发表于 10-26 17:39 14次下载
    如何使用AVR<b class='flag-5'>单片机</b>与<b class='flag-5'>温度</b><b class='flag-5'>传感</b>器DS18<b class='flag-5'>B20</b>进行多点<b class='flag-5'>温度</b>测量

    使用51单片机实现温度采集系统的设计资料说明

    数字单总线温度传感器是目前最新的测温器件,它集温度测量,A/D转换于一体,单总线结构,数字量输出,直接与
    发表于 09-17 10:29 53次下载
    使用51<b class='flag-5'>单片机</b><b class='flag-5'>实现</b><b class='flag-5'>温度</b>采集<b class='flag-5'>系统</b>的设计资料说明

    使用单片机实现Wire总线温度传感器DS18B20应用测试的C语言程序

    本文档的主要内容详细介绍的是使用单片机实现Wire总线温度传感器DS18B20应用测试的C语言程
    发表于 04-01 14:14 24次下载