基于Atmega16单片机的小型室内空气净化器的研制
2012-04-10万国平聂惠芬万志强王辉华
万国平,聂惠芬,万志强,王辉华
WAN Guo-ping1,NIE Hui-fen1,WAN Zhi-qiang2,WANG Hui-hua2
(1. 南昌理工学院 计算机工程系,南昌 330013;2. 合肥工业大学 机械与汽车工程学院,合肥 230009)
0 引言
当前,世界空气污染状况不容乐观,而对于人类生活密切的室内空气质量的好坏,一直是对人类健康造成影响的重要因素,随着社会和科学技术的迅速发展,越来越多的各种装饰材料应用于家居生活中,同时,也正是这些应用新的科学技术合成的装饰材料,不断挥发出各种对人体健康有害的气体物质,如甲醛、二氧化硫等[1],为了去除这些有害的气体物质,对室内的空气进行净化就显得尤为必要,本文所要介绍的就是一款以ATMEGA16单片机为控制芯片的小型的、主要应用于室内的空气净化器控制系统,该空气净化器控制系统性能稳定、环保节能、经济实惠。
1 系统功能需求分析[1]
空气净化器应用十分广泛,本文所研制的是一种以Atmega16单片机为核心处理器的小型室内使用的空气净化器,系统功能需求分析如图1所示。
图1 空气净化器系统功能需求分析
该空气净化器主要是依靠紫外灯管发出适当波长的紫外线,利用紫外线能破坏微生物细胞中的DNA(脱氧核糖核酸)或 RNA(核糖核酸)的分子结构,造成生长性细胞死亡或再生性细胞死亡这一原理[2],达到净化室内空气的目的。
当给净化器接通电源工作后,系统即按照程序设定的紫外灯管使用寿命开始计时,中间如有停电、关机等操作,系统自动把先前计时数据保存在EEPROM中,以便在下次净化器正常工作后,在之前计时数据上继续计时,当计时的数据达到系统设定的紫外灯管的寿命时,LED报警灯开始报警提示,这时应予更换紫外灯管,更换灯管后,按下相应按键,这时先前保存在EEPROM中的数据清零,空气净化器在通电正常工作后,计时器重新计时。
2 控制系统总体设计
由对空气净化器控制系统的功能需求分析,主要从硬件和软件两个方面介绍空气净化器控制系统的总体设计。
2.1 硬件总体设计
按照实现空气净化器的功能需求可知,系统硬件设备主要由Atmega16单片机、LED灯、电感线圈、按键、紫外灯管、蜂鸣器、温度传感器以及其他电子元器件组成。空气净化器硬件设计如图2所示。
由硬件设计图可知,空气净化器是以Atmega16单片机为核心,并在此基础上来实现净化器的功能需求的。
图2 空气净化器硬件设计
Atmega16单片机是基于增强的AVR RISC结构的低功耗8位CMOS微处理器,得益于其先进的指令集以及单周期指令执行时间,Atmega16的数据吞吐率高达1MIPS/MHz,作为AVR系列的高档产品,Atmega16内核具有丰富的指令集和多达32个通用工作寄存器,从而可以十分明显地缓解系统在功耗和处理速度之间的矛盾。Atmega16具有一个SPI串行端口、一个与IEEE 1149.1标准兼容的JTAG接口,方便程序的下载、仿真、调试和运行[3],因此,选择该型号的单片机作为系统核心处理器,完全满足本控制系统的功能需求。
2.2 软件总体设计
空气净化器的硬件系统确定好后,就需要对实现功能要求的软件程序进行设计,空气净化器系统的程序总体机构图如图3所示:
图3 系统程序总体结构图
根据系统程序总体结构图可知,系统的主程序主要由初始化程序、按键程序、定时报警程序、信号反馈处理程序、中断处理程序、紫外灯驱动程序、蜂鸣器控制程序、电源控制程序和EEPROM读写程序组成,各个子程序经过单片机的运算处理,实现系统净化空气的功能[4],控制系统软件主程序流程图如图4所示。
图4 系统程序主流程图
空气净化器通电开机后,系统首先进行初始化程序操作,分配各端口地址,给各个参数赋予初始值,读取紫外灯管的工作状态检测信号[5],判断定时器中的计时是否到时,如到时,则蜂鸣器响,提示更换灯管,更换好后,按键复位操作,定时器重新开始计时,如没到时,则系统继续正常工作,直到定时到时。
3 信号采集与处理
本文研制的空气净化器的一个重点是实现对紫外灯反馈的信号的检测与处理,当紫外灯出现故障或寿命到期后,报警提示更换,从而实现对紫外灯工作状态的实时监控。
3.1 信号检测模块
本文信号采集的一个重点即对紫外灯管工作状态信号的采集,紫外灯管在长时间工作后,杀菌性能逐渐减弱,故障发生的概率也逐渐增大[6],如何在紫外灯管故障发生时或寿命到期时,准确迅速地检测判断出来,是本文一个核心所在。
为解决这一问题,考虑在紫外灯管的工作电路上串联一个电感线圈,通过电感线圈的电流产生反馈电压送给双电压比较器LM393,由LM393对采集到的电压进行比较判断,输出高/低电平给控制芯片Atmega16单片机,由单片机的内部程序完成信号的比较判断,实现对紫外灯管的导通和断开的状态检测和反馈,空气净化器的比较反馈电路如图5所示。
紫外灯管的开/关直接由控制面板上的按键来控制镇流器电源的通断来实现,Atmega16单片机的PB2 和PB3端口作为紫外灯管状态信号的检测端口。
图5 紫外灯管比较反馈电路
当空气净化器正常工作时,流经电子镇流器中电流的一路经过电感, LM393的2或6脚检测到大约2.45V的电压,进行比较,另外一路的电压大约为0.5V,同时,LM393的1或7脚输出低电平给单片机的PB2 或PB3口,经单片机判断后,发出紫光灯工作正常的信号。如果紫外灯管不工作,则电子镇流器就没有电流输出,此时,LM393的2或6脚就检测不到电压,LM393的1或7脚便输出高电平给单片机PB2 或PB3端口,单片机经判断就会发出紫光灯工作不正常的信号且控制蜂鸣器发出报警信号。
3.2 定时模块设计
紫外灯的杀菌强度会随着使用时间的增加而逐渐衰减,一般应在其杀菌强度将至70%后,及时更换紫外灯管,这样可以获得最佳的净化空气的效果,紫外灯管从开始使用到更换完毕这一段使用时间即为使用寿命[7,8],一般在紫外灯管的说明书上也会给出使用寿命,为了在灯管使用到期后及时有效地更换灯管,保证最佳的杀菌效果,这就需要定时功能,得益于Atmega16单片机内置有多个带预分频的,功能强大的8位和16位计数/定时器,可以非常方便地实现对紫外灯管工作时间的定时计数功能,同时为了提高定时计数的准确性,在硬件电路上加入了一个16MHz的晶振。空气净化器的定时流程图如图6所示。
4 结论
本文所研制的小型室内空气净化器控制系统,是基于Atmega16单片机为核心处理器来实现的,通过对空气净化器功能需求的分析,设计、开发出相应的硬件电路和软件程序,最终实现了空气净化器的功能要求,达到了预定的设计目标。
图6 空气净化器定时流程图
本控制系统硬件电路采用Protel DXP软件进行设计、开发,在研制过程中采用Proteus软件进行电路的仿真;软件方面采用C语言来编写程序,开发环境为CodeVisionAVR软件,硬件和软件都完成后,下载程序进行整机的调试和运行,实验的结果表明整个系统运行稳定,达到了预期的设计要求。
[1] 吴忠标,赵伟荣. 室内空气污染及净化技术[M]. 化学工业出版社,2005.
[2] 何德林. 空气净化技术手册[M]. 电子工业出版社,1985.
[3] 马潮. 高档8位单片机ATmega128原理与开发应用指南[M]. 北京: 北京航空航天大学出版社,2004.
[4] 李果,董玉德. Design and research the Software of Air-purifier Control System based on ATmega128 microcontroller,2011 IEEE International Conference on Computer Science and Automation Engineering(CSAE 2011).
[5] 任俊龙. 基于AVR单片机的空气净化器控制系统的硬件设计与实现[J]. 合肥: 合肥工业大学,2010.
[6] Yu Ying,Zhou Lei,Min Hao. Design and VLSI Implementation of An Asyn-chronous Low Power Microcontroller[J]. 20014th International Conference On ASIC 2001,(33): 797-799.
[7] 刘欢. 基于AVR单片机的移相零电压逆变电阻焊接电源的研究[D]. 杭州: 浙江大学,2008.
[8] 吴忠标,赵伟荣. 室内空气污染及净化技术[M]. 化学工业出版社,2005.