罗政球

(浏阳市职业中专,湖南浏阳,410300)

一到夏天,出现吹电风扇使人感冒,引起头疼、膝盖疼、身体不舒服等情况时有发生,大多都是由于晚上风太大,时间长,直对着吹引起的。如网上报道的, 14岁的小云(化名)是一名初中生,她开着电扇上床睡觉,当她醒来时,她发现自己总是流口水。她仔细地看着自己的脸,发现嘴角有点歪。她很快把这件事告诉了她的父母。最后,医生诊断小云患有轻度面瘫。传统电风扇最突出的缺点是不能根据温度变化及时调节风力。早上温度下降时,电风扇仍在高速运转,但是由于已经睡着根本无法察觉,这时不仅仅浪费了电力资源,还很容易由此引起感冒等疾病。在此背景下,设计了这款遥控智能温控风扇。“告别因吹电风扇使人感冒,引起头疼、膝盖疼、身体不舒服等疾病”的设计理念。

1 总体设计

本项目由热释电红外传感器、温度传感器、51单片机、数码管、红外接收、摇控等器件组成。使用AT89C51单片机通过编程控制,该系列单片机价格便宜又容易购买,以后可以轻松完成项目升级改造。设计方案如图1如示。

图1 设计方案

2 硬件电路设计

本项目的硬件电路图如图2所示。

图2 硬件电路图

2.1 单片机控制电路

本项目的控制核心是AT89C51单片机,该单片机由美国的Atmel公司生产的一种低功耗、低电压、高性能的8位单片机,包含了数据存储器、程序存储器、FLash存储器,具备40个引脚。

2.2 DS18B20温度采集电路

本项目采用DS18B20 可编程单总线温度传感器来实现对温度的采集和转换,直接数字量输出,可以直接和单片机进行通讯,DS18B20与传统的热敏电阻相比,他能够直接读出被测温度并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式。并且从DS18B20读出的信息或写入DS18B20的信息仅需要一根口线(单线接口)读写,单片机可通过单线接口读到该数据,读取时低位在前,高位在后,数据格式以0.0625C /LSB形式表示。温度值格式中“S”为标志位,对应的温度计算:当符号位S=0时,直接将二进制位转换为十进制;当S=1 时,先将补码变换为原码,再计算十进制值。DSI8B20 完成温度转换后,就把测得的温度值与TH 做比较,若T>TH或T

图3 DS18B20测温电路

2.3 数码管显示电路

本项目的显示模块主要由一个7段集成数码管组成,用于显示测量的温度和当前档位,是一个普通阴极数码管。本项目采用动态扫描方式,各数码管的A、B、C、D、F、G、DP端都连在一起,接收单片机P0口产生的显示部分段码。P24、P25、P26和P27是它们的位选择端,接收来自AT89C51单片机 P2端口的位选择代码。

2.4 人体感应探测电路

在本项目中采用热释电红外传感器作为人体感应模块,实现在探测范围内对运动人体辐射出的红外能量的检测。在检测过程中以检测非接触形式人体辐射的红外能量的变化,将这种变化的能量转换为电压信号输出。红外传感器加电压比较器等外部元件构成人体感应探测电路,当人处在检测区域范围内的时候电压比较器输出高电平送到单片机P2.0口,当人离开检测区域范围内的时候电压比较器输出低电平送到单片机P2.0口。在检测到没有人的情况下关闭风扇电源,当有人进入检测区时,接通风扇电源,以达到智能控制及节能的目的。热释电红外传感器如图4所示。

图4 热释电红外传感器

2.5 按键电路

单片机平常采用的键盘类型主要有独立键盘和矩阵键盘两种;独立键盘特点是单片机一个I/O端口仅连接一个独立键盘按键,按键的另一端连接电源或接地,这种连接方案比较简单,系统比较稳定;虽然矩阵键盘连接程序比较复杂,但占用的I/O较少一点。根据本项目的需要,这里选择了独立的键盘连接方式。

2.6 风扇驱动电路

本项目设计中由单片机的P3.6口输出PWM脉冲,通过三极管驱动控制风扇电机以实现对风扇电机速度的调节。在单元控制系统电路中,单片机P3.6口输出的PWM矩形波信号用来调整控制三级管工作期间的控制波的占空比。占空比是指高电平的持续时间在时间周期内的百分比。单片机在控制电动机转速的时候,占空比越大转速越快,占空比越小转速越慢。如果单片机输出的波形占空比是100%,即单片机输出信号都是高电平,这时电机速度达到最大值转速最快。当周围环境温度升高时,单片机输出的波形占空比增大,电机转速将根据用户设定的温度等级升高达到快速降温;当周围环境温度下降时,单片机输出的波形占空比减小,电机转速将根据用户设定的温度等级作相应降低;当周围环境温度低于设定温度值时,电机停止转动,当周围环境温度高于设定温度值时,电机重新起动运转。

2.7 红外接收电路

红外接收头采用hx1838集成接收器,解调频率为38kHz。hx1838接收到红外脉冲信号38kHz时输出为低电平,否则输出为高电平。它封装了光电探测器和前置放大器,以接收脉冲编码信号的红外光信号。当系统工作时,hx1838对接收到的脉冲编码信号进行解调,并将解调后的信号输入P3.3口。

系统开机初始化后,P3.3端口进行检测,高电平时,系统处于待机状态。当为低电平时,中断服务程序将被启动以接收数据帧。请注意,数据帧是通过中断模式接收的,芯片在中断1模式下工作。当接收到数据时,将验证接收到的前三位数据的代码宽度。前三个代码的代码宽度分别为4ms、2ms和4ms,如果任何位的代码宽度不符合要求,将被视为错误代码。当系统接收到的高电平脉冲宽度大于5ms时,脉冲将结束接受。然后系统将检查接收到的最后两个脉冲宽度,分别为2ms和4ms,否则将作为错误代码。最后,根据累积a中的脉冲数,系统在MCU的相应引脚上执行控制信号,并在端口中执行相应的二进制数据。此时,数据的接收和处理已完成。hrm5700b接收到8个代码时的输出波形信号如图5所示。

3 软件设计

3.1 主程序设计

为了根据当前温度实时控制风扇的状况,需要检测当前温度值是否超过程序中设制的动作温度值。由于单片机的工作频率高达12MHz,程序运行时不断比较和检测当前温度和调整后的动作温度。当超过设定温度值范围时,转去执行温度处理子程序,并在温度处理下,实时控制风机停机、低风、强风状态。显示驱动程序检查七段代码,以获得每个数码管中应显示的数字,并逐位扫描和显示。主程序流程图如图6所示。

图 5 hx1838接收8个编码时的输出波形图

图6 主程序流程图

3.2 DS18B20子程序设计

首先初始化DS18B20,然后运行ROM操作命令,最后操作内存和数据。操作DS18B20的每个步骤遵循通信协议和工作时序。如果控制DS18B20完成温度转换过程,则必须根据DS18B20通信协议进行以下三个步骤:在每次读写之前重新启动DS18B20。复位成功后,发送ROM指令,最后发送RAM指令只有这样才可能在DS18B20上执行预定操作。DS18B20程序流程图如图7所示。

图7 DS18B20程序流程图

3.3 显示子程序流程图

程序实现的功能是从DS18B20读取的温度二进制数转换在数码管上显示出来。显示方式采用的是动态扫描的方式,先给位选信号,再给段选信号,然后延时一下。显示程序流程图如图8所示。

图8 显示程序流程图

3.4 按键子程序设计

硬件设计通过三个按键,扫描子程序提供软件支持。第一次按下K1键,进入温度控制模式设置温度上限值,按“加号”键K2加一,然后按“减号”键K3减1。再次按K1调整键,进入温度下限设定状态,按“加号”K2键加一,按“减号”K3键减一。最低作用温度值和最高作用温度值的调节范围为10-100度满足一般使用要求,再次按K3调整键退出上下限设置温度状态。按键程序流程图如图9所示。

图9 按键程序流程图

4 实物调试

4.1 电路制作

对电路进行焊接,对硬件和软件进行联合调试,并对主要功能进行验证,搭建完成电路,电路如图10所示。

图10 硬件电路

4.2 实物制作测试

电路测试完成后,搭建实物作品,进行功能测试,达到预期目标。实物如图11所示。

图11 组态监控界面图

图11 实物作品

5 结语

本文设计的这种多功能遥控智能温控风扇;当风扇前面没有人时,感应自动关闭,当风扇前面有人时,它可以调整到上限和下限启动和停止风扇的温度。如果温度低于设定的最低限值,则风扇不工作,温度高于上限,风扇全速工作,在上限和下限之间以50%的速度运行,并有自然风模式,带遥控操作。多功能遥控智能温控风扇的出现给现代社会人们的生活带来了很多的便利,不仅提高了人们的生活质量而且还节约了能源。