基于ATmega16L的净水机控制系统的设计
扫描二维码
随时随地手机看文章
1 控制系统的构成与工作原理
图1为净水机控制系统的结构框图。净水机主要由控制主板、增压泵、温度传感器、压缩机、电热丝、水位检测板、LCD显示屏、紫外灯管等装置组成。机器可通过手动开机和定时自动开机。控制器根据用户设定的参数控制各装置的工作,实现机器的自动控制。LCD屏实时显示当前工作状态,用户可通过按键修改和查看已设定的参数,在参数被修改后,系统会更新并保存修改的参数。在机器运转的过程中,控制器根据各传感器的信号状态判断各部件是否有故障发生,当有故障发生时立即对机器实现实时保护,同时LCD屏显示相应故障代码,以便维护人员有针对性地进行维修。
2 控制系统的硬件设计
2.1 温度控制
功能完善的净水机不但能够起到净化水的作用,而且还能够根据消费者的需求对水进行精确的加热,以满足消费者的需求。当水经过直饮水机深度的科学处理时,温度控制的精度很重要。基于这个特点,本文提出了如下温度控制方案:测温元件采用不锈钢管负温度系数热敏电阻温度传感器,温度的检测电路如图2所示。当温度变化时,热敏电阻值会随着温度的升高而减小。为了使测量的温度尽可能准,可选择在经常工作的温度区间,采用电阻值变化大的热敏电阻,上拉电阻取测量温度的中点温度时热敏电阻的阻值。这样就能把变化的电阻值转变成电压值,经过滤波后,送单片机内部的A/D转换器进行转换后得到相应的温度值。
加热装置的电路控制如图3所示。ICE_CON连接到数字扩展口上,ICE_SYS连接到加热装置。
温度执行机构主要由光隔控制可控硅的通与断来控制加热电源的通与断。用可控硅代替继电器等机械开关,可使控制具有灵敏、可靠、抗干扰能力强等优点[1]。数字信号经过开关量扩展电路后,送光电耦合器MOC3043,由MOC3043控制可控硅的控制极。通过光电耦合器与可控硅的结合,能够有效地把微控系统与交流220 V隔离,同时又因为双向可控硅采用过零触发的方式(这是一种理想的触发工作方式),并使正弦波以完整的形式加到负载上,既有利于保护元器件的安全使用和负载的工作稳定性,又不会对电网造成污染,减少了对其他设备的干扰[2]。MOC3043是具有内部过零检测器的光电耦合可控硅驱动器,用它驱动可控硅具有简单可靠的优点。因为当输入端导通时,输出端并不马上导通,只有电源电压过零时才会导通,这样负载输出端输出的就是完整的正弦波[3]。
2.2 开关量输出
由于控制系统的输出比较多,在该控制系统中,主要的输出有:增压泵、2个紫外灯、阻返器、臭氧发生器、4个进水电磁阀、制热装置等。如果用单片机端口一对一地输出控制,则输出端口的资源相当紧张。因此,本控制系统采用移位/锁存器CD4094BE结合高压高电流达林顿管阵列ULN2803A进行端口扩展。开关量输出扩展电路如图4所示。
开关量输出经过扩展后,由于外部负载为电磁阀感性负载,所以选用高压高电流达林顿管阵列ULN2803A直接驱动负载,同时增加了D5~D9作为续流二极管。续流二极管均为并联且在线圈的两端,当线圈通过电流时,会在其两端产生感应电动势。当电流消失时,其感应电动势会对ULN2803A产生反向电压。当反向电压高于ULN2803A反向击穿电压时,会造成ULN2803A损坏。但由于续流二极管并联在线圈两端,当流过线圈中的电流消失时,线圈产生的感应电动势通过二极管和线圈构成的回路做功而消耗掉了,从而保护了ULN2803A的安全。
2.3 数据保存
由于不同的用户设定的参数不一样,这些参数在没有修改前要永久保存,在系统中要求保存的参数有:定时开/关机的时间、定时开/关制热的时间、水温度设定值。这些参数可以通过外扩铁电存储器来保存,但将会增加控制系统成本。由于ATMEGA16L自身带有512 B的EEPROM,擦写次数达100 000次。考虑到这些参数不会频繁地被修改,所以用单片机内部的EEPROM就能够满足参数保存的要求。同时在程序设计中尽量减少了对EEPROM进行读写R的次数,只在上电时对EEPROM进行读,参数改变时对EEPROM进行写,按每天总共读写10次计算,可以使用27年。
2.4 水位检测装及控制方案
水位的检测是通过在水箱中竖直安装一根中空管(里面分别装有高/低水位干簧管),中空管外面套有一个浮动的磁环装置,与水位同时升降。当磁环和相应干簧管在同一高度时,干簧管闭合,单片机检测到信号后,执行相应控制。如检测到低水位信号时,单片机输出启动净化水的信号,打开进水阀门,同时为了避免由于硬件误检测带来误控制,在启动净化水的同时会启动制水时间,在规定时间内没有达到高水位信号时,LCD屏则显示机器故障或者提示停水了,机器自动停机;当检测到高水位信号时,关制水,启动杀菌消毒装置对新制的水进行处理。
3 控制系统软件设计
净水机的软件设计采用模块化设计思想,以主程序为核心,设计了各功能模块子程序,使大量的功能在子程序中实现,简化了软件设计结构。子程序模块主要包括:定时处理子程序、系统故障检测处理子程序、温度处理子程序、键盘管理子程序、数据存储子程序、显示子程序等。所有程序采用基于ICCAVR编译器,用C语言编写。系统主程序流程图如图5所示。
以ATmega16L单片机为核心的控制系统净水机成本低、抗干扰能力强、运行稳定可靠。杀菌消毒过程使用臭氧、紫外线杀菌消毒两种方法。通过对经净水机处理水的水质进行检测,可以满足GB19298-2003、生活饮用水卫生标准GB5749-2006的要求。目前该净水器已为企业带来了巨大的经济效益。