基于AVR单片机的电冰箱控制系统的设计
2011-03-14孙振伟刘云洁
孙振伟,刘云洁
(河南质量工程职业学院河南平顶山467000)
多年来电冰箱在国内市场上一直作为储物、保鲜的空间,人们对于电冰箱的需求也是最基本的冷冻、冻藏等功能。近年来,随着家用电冰箱的普及以及80后主流消费群体的迅速崛起,人们对电冰箱的性能要求越来越高,加速了对电冰箱功能和需求[1]的转型和升级,相应地对电冰箱的控制功能要求也越来越高。
单片机自问世以来,性能不断提高,功能不断增多和完善,加之具有集成度高、功能强、速度快、体积小、功耗低、使用方便、性能可靠、价格低廉等特点,因此,广泛应用在工业控制、智能仪器仪表、数据采集和处理、通信系统、高级计算器、家用电器等领域,基于AVR单片机的电冰箱控制系统的设计把单片机技术充分利用在电冰箱的控制系统上,为现代电冰箱的发展提供技术支撑。
1 系统总体设计
设计出的电冰箱控制系统以AVR单片机为核心,包括硬件设计和软件设计2部分。整个系统具有以下功能:
1)定期检测电冰箱内冷冻室和冷藏室的温度,通过键盘人工给定冷冻室及冷藏室温度,并显示出设定值;
2)定期检测霜厚,当霜厚达到3 mm时自动除霜;
3)定期检测工作电压,并进行超限报警、禁止压缩机工作;
4)定期检测门开关状态,并进行开门延时2 min报警;
5)单片机判断冷冻室及冷藏室检测到的温度是否在设定的范围内,并作出对压缩机的启、停操作,制冷压缩机停机后自动延时3 min后方能再启动;
6)通过键盘人工给定连续速冷时间值,并显示出设定值,单片机判断速冷时间是否在设定的范围内,并作出速冷操作处理;
7)利用显示电路显示系统中的各种状态。
1.1 硬件设计
基于AVR的电冰箱控制系统[2]的硬件组成框图如图1所示,主要包括AVR单片机、A/D转换器、检测电路、报警电路、控制电路、时钟及复位电路、功能键及显示电路等的部分。
图1 控制系统的硬件组成框图Fig.1Hardware block diagram of control systems
AVR单片机是高速嵌入式单片机,是整个控制系统的核心部件。由于其具有高速、低耗、保密、费用低廉等优点,已广泛地应用于军事、工业、家用电器、智能玩具、便携式智能仪表和机器人制作等领域,使产品功能、精度和质量大幅度提升,故障率低,可靠性高,成本低廉。
A/D转换器即模数转换器,是指一个将模拟信号转变为数字信号的电子元件。该设计采用的是ADC0809[3],是M美国国家半导体公司生产的CMOS工艺8通道,8位逐次逼近式A/D转换器。其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换,是目前国内应用最广泛的8位通用A/D芯片。
检测电路主要完成电冰箱内冷冻室和冷藏室的温度检测、霜厚检测、工作电压检测、门开关状态检测等工作,并把相应的信息传递给单片机进行处理。检测电路的设计包括冷冻室及冷藏室温度检测、霜厚检测、电源电压检测和开门状态检测等电路的设计。
温度检测[4]电路主要是完成冷冻室温度检测与及冷藏室温度检测,霜厚检测电路主要是检测霜的厚度,以便当霜厚达到3 mm时能够自动除霜。电源电压检测电路主要是检测工作电压,并进行超限报警、禁止压缩机工作。报警电路主要是电源电压检测电路检测到工作电压超出限度时发出报警信号。控制电路主要是控制制冷压缩机和除霜电热丝启、停操作。时钟及复位电路时钟及复位电路主要是给单片机提供时钟和复位信号,保证单片机能够正常地工作。功能键及显示电路主要实现用键盘对冷冻室、冷藏室进行设定和速冷控制设定,同时显示设定值和设定标志以及系统的各种状态。
1.2 软件设计
基于AVR的电冰箱控制系统的软件设计主要包括主程序、子程序和中断程序的设计。
1)主程序
主程序[5]是整个电冰箱的总控制程序,比如控制单元的初始化、控制中断、定时、显示、键盘程序的启动与重复等。主程序流程框图如图2所示。
2)子程序
子程序包括显示子程序、键盘扫描子程序、依标志位调相应的显示子程序、加一及减一处理子程序、读ADCO809通道转换数子程序、速冷处理子程序、温度比较并处理子程序和除霜控制子程序等8个子程序。
显示子程序就是将显示缓冲区的数据一位一位地从RXD端输出给显示器,显示出数据和状态。键盘扫描子程序具有判断键盘上是否有键按下和判断闭合的键号两个方面的功能。
依标志位调相应的显示子程序就是根据标志位的内容把相应的设置数通过7段字型码转换后送入到显示缓冲区去。
加一与减一处理子程序都是当主程序判断到是加一或减一操作时就是依标志位将相应的设置数加一或是减一处理。
读ADC0809通道转换数子程序就是启动ADC0809并且将转换后的数读入相应的缓冲区中。
图2 主程序流程框图Fig.2Block diagram of main program
速冷控制子程序就是人工设定一个连续速冷时间,单片机再进行控制,让压缩机连续工作时间为设定的连续速冷时间。
温度比较并处理就是将冷冻室温度与冷藏室温度实际温度的平均值与设置温度进行比较,若超出范围就进行处理,否则就返回。
除霜控制子程序就是将ADC0809转换后的值与霜厚为3 mm时的对应值进行比较,若小于3 mm时就不需要除霜,否则就启动除霜加热丝进行除霜。
3)中断程序
当中央处理器正在处理内部数据时,外界发生了紧急情况,要求CPU暂停当前的工作转去处理这个紧急事件。处理完毕后,再回到原来被中断的地址,继续原来的工作,这样的过程称为中断。实现这一功能的部件称为中断系统,申请CPU中断的请求源称为中断源,处理“急件”的程序被称为中断服务程序[6],是事先编好的某个特定的程序。本系统中涉及到了T0和T1中断服务程序。
T0中断服务程序主要完成读ADC0809通道的转换数、电源电压欠压、过压处理、开门状态检测及处理等。
T1中断服务程序主要完成3 min定时及根据检测结果,比较、分析、控制执行各元件的工作。即进行速冷处理、温度比较并处理、霜厚控制并处理等。
2 结束语
该系统在设计出之后进行了多次试验,试验数据表明该系统的各项性能指标和功能达到了预期的设计目的,具有功能齐全、操作简单、使用方便等优点,在国内同类产品中处于较高水平,具有较高的实用和推广价值。
[1]方言.电冰箱市场需求的大趋势[J].家用电器科技,2002(7):34-35.FANG Yan.General trend on the demand of refrigeration market[J].Science and Technology of Household Electric Appliance,2002(7):34-35.
[2]陈延奎.基于MCS-51单片机的电冰箱控制器[J].电子工程师,2008,34(2):77-80.CHEN Yan-kui.The refrigerator controller based on the MCS-51 single-chip micro-computer[J].Electronic Engineer,2008,34(2):77-80.
[3]陈晓风.ADCO809模数转换器的测试与研究[J].福建师范大学学报:自然科学版,2001,17(4):37-38.CHEN Xiao-feng.The test and research of ADC 0809 analogto-digital converter master[J].Journal of Fujian Teachers University:Natural Science,2001,17(4):37-38.
[4]马江涛.单片机温度控制系统的设计及实现[J].计算机测量与控制,2004,12(12):1219-1221,1229.MA Jiang-tao.Design of using single-chip microcomputer to control the temperature[J].Computer Measurement&Control,2004,12(12):1219-1221,1229.
[5]金春林,邱慧芳,张皆喜.AVR系列单片机C语言编程与应用实例[M].北京:清华大学出版社,2003:277-282.
[6]林益平,陈统坚.80C196MC/MD单片机多个中断程序的同步问题[J].微处理机,2000(3):37-39.LIN Yi-ping,CHEN Tong-jian.The synchro-control between multiple interruptprogramsof80C196MC/MD[J].Microprocessors,2000(3):37-39.