家用空调的单片机控制系统设计
2012-02-20黄浴梅
黄浴梅
(新会冈州职业技术学校,广东 江门 529000)
空调即空气调节器(Household Air Conditioner),挂式空调是一种用于给空间区域(一般为)提供处理空气的机组。其功能是对该房间(或封闭空间、区域)内空气的温度、湿度、洁净度和空气流速等参数进行调节,以满足人体舒适或工艺过程的要求。而家用空调使用于小面积、居室少的环境。现在的家用电器,基本上都采用了单片机控制,从电饭煲、洗衣机、电冰箱、空调机、彩电、其他音响视频器材、再到电子秤量设备等,家用空调也不例外。
单片机按其应用范围,可分为通用型和专用型两类。家用电器多采用专用型单片机,如日本NEC公司开发的7500系列和75X00系列4位单片机、美国国家半导体公司的COP400系列4位单片机,以及日本松下公司的MN1400系列、美国Zilog公司的Z8系列以及日本富士通公司的MB88系列等专用型单片机。家用电器所采用的通用型单片机,主要是Intel公司的MCS系列产品。
本设计是基于单片机家用空调控制系统,采用AT89C52单片机。该单片机主要完成温度传感器DS18B20信号的采集,HIH-3610湿度传感器配合ADC0809作为系统湿度采集,进行智能控温等功能。并通过软件编程实现预定功能。
1 总体设计方案
1.1 设计的目标
家用空调单片机控制系统,主要由单片机、温度控制电路、液晶显示屏电路等构成,其控制核心是AT89C52单片机。单片机外围电路,主要由复位电路、晶振电路、报警电路等组成。该单片机主要完成温度传感器DS18B20信号的采集,HIH-3610湿度传感器配合ADC0809作为系统湿度采集,控制温度、湿度等功能,并通过软件编程实现预定功能。
1.2 组成结构
设计以单片机AT89S52为核心,通过一片AT89S52单片机控制系统的负载工作,适合于在一定温度需求的的环境下工作,系统中应用到了继电器,可以通过以单片机为主的弱电系统,来控制与继电器相连的强电系统,从而保障强电系统控制的安全性(家用空调单片机控制原理框图如图1所示)。
图1 家用空调单片机控制原理框图
系统的温度采集,利用温度传感器DS18b20采集数据送给单片机,单片机将采集的数据送给液晶LCD1602显示和了解当前的温度条件,系统正常工作时设定了一个温度范围16~30℃,如果采集的温度在这个设定范围内,则单片机控制继电器闭合,与继电器相连的电机电路开路,则与继电器相连的电机不工作;如果采集的温度不在设定的温度范围内,则说明环境温度条件不满足需求,这时单片机控制一个扬声器发出警报,并且控制继电器使其闭合电机电路,那么与继电器相连的电机闭合而开始工作;当采取措施环境温度变化到设定范围时,扬声器停止警报,继电器断开,电机电路开路,电机系统不工作,从而达到一个自动控制的作用。
整个系统形成一个闭环温度值,系统变化参数为温度的值,电机的工作取决于环境温度的变化,通过单片机系统控制与继电器相连的电机系统,操作简单,也可以用键盘调节适合的温度范围,可以应用于一定温度要求下环境,比如家庭环境或者温室系统等。
2 硬件结构设计
硬件系统分为7个模块:单片机系统模块,液晶显示LCD模块,温度系统模块,湿度系统模块,数据A/D转换模块,继电器系统模块,报警系统模块,电源模块。
2.1 主控制系统模块
(1)主控系统采用单片机控制(电路如图2所示)。单片机选用的是ATMEL公司的AT89S52的8位单片机。AT89S52是美国ATMEL公司生产的低功耗、高性能CMOS 8位微控制器,具有8K在系统可编程Flash存储器。
图2 单片机电路
使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52在众多嵌入式控制应用系统中得到广泛应用。
(2)AT89S52单片机的外围电路。
其一,时钟电路(如图3)。单片机内部有一个高增益反向放大器,输入端为芯片引脚XTAL1,输出端为引脚XTAL2。而在芯片内部,XTAL1和XTAL2之间跨接晶体振荡器和微调电容,从而构成一个稳定的自激振荡器。晶体震荡频率高,则系统的时钟频率也高,单片机运行速度也就快;但反过来运行速度快,对存储器的速度要求就高,对印制电路板的工艺要求也高,所以,这里使用震荡频率为6 MHz的石英晶体。
图3 时钟电路
震荡电路产生的震荡脉冲,并不直接是使用,而是经分频后再为系统所用,震荡脉冲经过二分频后,才作为系统的时钟信号。在设计电路板时,振荡器和电容应尽量靠近单片机以避免干扰。
其二,复位电路。单片机的复位电路(见图4),分上电复位和按键复位两种方式。
图4 复位电路
上电复位,是指在加电之后通过外部复位电路的电容充电来实现的。当Vcc的上升时间不超过1ms,就可以实现自动上电复位,即接通电源就完成了系统的初始化电路原理图。RST上的电压,必须保证在斯密特触发器的阀值电压以上足够长时间,满足复位操作的要求。
按键复位是指程序运行出错或操作错误,使系统处于死锁状态时,为了摆脱困境,也需按复位键以重新启动。RST引脚是复位信号的输入端,复位信号是高电平有效。按键复位又分按键脉冲复位和按键电平复位。电平复位将复位端通过电阻与CCV相连,按键脉冲复位是利用RC分电路产生正脉冲来达到复位的。
其三,有关注意事项:因为按键脉冲复位是利用RC微分电路产生正脉冲来达到复位的,所以电平复位要将复位端通过电阻与相连。如复位电路中R、C的值选择不当,使复位时间过长,单片机将处于循环复位状态,故本设计采用按键复位。
2.2 输入部分
(1)温度传感器模块。系统采用DALLAS公司生产的单总线芯片DS18B20采集环境温度,DS18B20的管脚说明如图5所示3个管脚分别为地线、信号线和电源线。
图5 DS18B20的管脚说明
DS18B20继承了DS1820的全部优点,并做了如下改进:
一是供电范围扩大为3.0~5.5 V。
二是温度分辨力可编程。
三是转换速率有很大提高。
四是内部存储器映射关系发生变化。
五是具有电源反接保护电路。
六是体积减小一半。对我们使用来说最大的不同,就是DS18B20可以程序设定9~12位的分辨率数字值,而DS1820为固定的9位数字值,且温度转换时的延时时间由2 s减为750 ms。
(2)湿度传感器模块。设计中采用相对湿度传感器HIH-3610。HIH-3610是美国Honeywell公司生产的相对湿度传感器,该传感器采用热固聚酯电容式传感头,同时在内部集成了信号处理功能电路,因此该传感器可完成将相对湿度值变换成电容值,再将电容值转换成线性电压输出的任务,同时该传感器还具有精度高、响应快速、高稳定性、低温漂、抗化学腐蚀性能强及互换性好等优点。
(3)键盘的设计。键盘采用4×3的行列式键盘,又叫矩阵式键盘。用I/O口线组成行、列结构,按键设置在行列的交点上。4×3的行列结构可组成12个键的键盘。因此,在按键数量较多时,可以节省I/O口线。本例中还有3个独立按键。
行列式键盘和独立按键的接口方法,直接接口于单片机的P1口上,如图6所示。
图6 行列式键盘和独立键盘的接口
其中S0-S9为数字键输入,S10和S11为加减键。最下面3个为独立按键。
2.3 输出部分
(1)报警模块。系统设定有一定的温度范围。当系统检测到的温度不在预设的范围时,则需要发出警报,警报系统由PNP三极管和扬声器组成。
虽然扬声器的控制和LED的控制对于单片机是一样的,但是在外围硬件电路上却有所不同,因为扬声器是一个感性负载,一般不建议用单片机的I/O口直接对它进行操作,所以最好加一个驱动三极管,在要求较高的场合还会加上反相保护二极管,在本例中对扬声器的要求并不高,所以没有加反相的二极管保护,硬件电路原理图如图7所示。
图7 报警电路
(2)继电器模块。在各种自动控制设备中,都存在一个低压的自动控制电路与高压电气电路的互相连接问题,一方面要使低压的电子电路的控制信号能够控制高压电气电路的执行元件,如电动机、电磁铁、电灯等;另一方面又要为电子线路的电气电路提供良好的电隔离,以保护电子电路和人身的安全,电磁式继电器便能完成这一桥梁作用。电磁继电器是在输入电路内电流的作用下,由机械部件的相对运动产生预定响应的一种继电器。
在系统中,采用NPN三极管驱动继电器,并且带有一压缩机工作指示灯D2,继电器模块的电路图如图8所示。
图8 继电器模块的电路
(3)LCD1602液晶显示。液晶显示(LCD)是单片机应用系统的一种常用人机接口形式,其优点是体积小、净质量小、功耗低。目前市场上的液晶显示器主要有字段式、点阵字符式和点阵图形式三大类。本系统就应用了单片机应用系统中广泛使用的点阵字符式液晶显示模块LCD1602。
3 软件设计
3.1 Keil软件的使用
Keil软件是目最流行开发80C51系列单片机的软件,Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(μVision)将这些部份组合在一起。
3.2 系统软件设计框图
如图9所示,根据设计要求,首先要确定软件设计方案,即确定该软件应该完成那些功能;其次是规划为了完成这些功能需要分成多少个功能模块,以及每一个程序模块的具体任务是什么。
图9 系统软件设计框图
3.3 主程序和子程序流程图设计
(1)主程序流程图。软件程序设计流程顺序为:开始,LCD初始化,温度传感器初始化,启动温度转换并显示,温度是否超过预设范围,超过预设范围则发出警报且继电器断开,不超过预设范围则停止警报且继电器闭合,延时之后返回到程序初始化,详细流程如图10。
图10 主程序设计框图
(2)液晶1602流程图(如图11)。
图11 显示程序设计框图
(3)温度采集程序流程图(如图12所示)。
图12 温度转换子程序设计框图
(4)湿度采集程序流程图(如图13)。
图13 湿度采集程序流程图
(5)键盘处理子程序流程图(如图14)。
图14 键盘处理子程序设计框图
4 调试与部分仿真分析
4.1 硬件调试
硬件调试比较简单,先检查开发板及连接的品质情况,在检查无误后可通电检查。实验室制作时,可结合示波器测试晶振及P0、P1、P2端口的波形情况,进行综合硬件测试分析。相关部分并不会产生干扰源对其他部分造成干扰。还要对其安全性、稳定性进行测试。
图15 RZ-51V2.0开发板实物图
图15 的说明:硬件主要是以51单片机开发板为实验基础,单片机用AT89S52主控,温度感应器DS18B20测温,LCD1602显示温度,继电器控制电机工作。当采集的温度超过系统设定的温度范围时,单片机控制扬声器发出警报,并控制继电器开关断开,电机停止工作,当温度回到正常预设的温度范围时,警报停止,并且继电器闭合,电机正常工作,从而达到自动控制的效果。
4.2 软件调试
设计使用的是Proteus软件进行单片机系统部分仿真设计(如图16),将仿真器接入硬件电路中。如果电路工作不正常,那么将程序设置几个断点,并单步运行程序,找出程序的错误及时更正。
图16的说明:
(1)从图中的LCD上,可以看到当前温度值为90.6℃,不在预设的温度范围(0~50℃)内,则继电器断开,负载工作指示灯D2灭,继电器右边的工作负载灯泡L1灭,扬声器发警报。
(2)从图中的LCD上,可以看到当前温度值为90.6℃,在预设的温度范围(0~100℃)内,则继电器闭合,负载工作指示灯D2亮,继电器右边的工作负载灯泡L1亮。
通过调试,软件系统基本能达到预定效果。
图16 Proteus仿真
4.3 性能分析
DS18B20温度传感器的精度很高,所以误差指标可以限制在±0.5℃以内,可以精确地把室内的温度控制在设定的温度范围内。
5 结束语
本设计主要介绍了利用AT89S52单片机对温度系统的控制,系统硬件主要由单片机系统模块、温度采集电路(DS18B20)、按键、显示电路、控制电路及其他辅助电路等部分组成;软件采用80C51语言编程;该系统可以完成温度的显示、温度的设定、空调的控制及限温报警等多项功能,在现代生产生活中具有极高的应用价值。
[1]肖凤明,于 丹,朱长庚.高新空调器单片机控制电路分析[M].北京:机械工业出版社,2009.
[2]周兴华.手把手教你学单片机[M].北京:北京航空航天大学出版社,2005.
[3]王幸之,钟爱琴,等.AT89系列单片机原理与接口技术[M].北京:北京航空航天大学出版社,2004.
[4]许兴在.传感器近代应用技术[M].上海:同济大学出版社,1994.
[5]来清民.传感器与单片机接口及实例[M].北京:北京航空航天大学出版社,2008.
[6]沈红卫.单片机应用实例与分析[M].北京:北京航空航天大学出版社,2003.
[7]李 华.MCS-51单片机实用接口技术[M].北京:北京航空航天大学出版社,2004.