SPCE061A在电冰箱中应用
随着家用电冰箱的普及,人们对电冰箱的控制功能要求越来越高,这对电冰箱控制器提出了更高的要求,多功能、智能化是其发展方向之一,传统的机械式、简单的电子控制已经难以满足发展要求。本文介绍了采用凌阳公司的SPCE061A作为控制器核心,对电冰箱的工作过程进行控制,并用语音将电冰箱的一些工作过程播报出来,使控制过程更人性化。
3.1系统组成
我们知道,电冰箱一般设有冷冻室和冷藏室,冷冻室用于速冻食品,在冷冻室中的食品可以存放较长的时间,冷冻室的温度为-16℃ ~~~ -26℃左右;冷藏室以不冻伤食品又有保鲜作用为准,冷藏室的温度为2℃ ~~~ 10℃左右;冷冻室食品中的水分会凝结成霜,到一定程度还要除霜。具体的说,电冰箱控制器的主要任务就是控制压缩机、电磁阀、化霜加热丝、风扇等来保持箱内食品的最佳温度,达到食品保鲜的目的,即保证所储存的食品在经过冷冻或冷藏之后,保持色、味、水分、营养基本不变,并用LED将设定温度或实际温度显示出来,当冷冻室温度过高或开门时间长还会用语音提示。系统组成如图8所示。
javascript:window.open(this.src);" style="cursor:pointer;"/>
3.2 硬件组成
整个系统工作于3.3V电压下,由电源板提供5V电压,经过LF33稳压到3.3V为系统供电。三个按键分别设置冷冻室、冷藏室温度或人工智能工作方式。温度传感器主要由冷冻室、冷藏室、冷冻室蒸发器盘管、冷藏室蒸发器盘管速冻室、环境温度检测等温度传感器组成。主控器不断采集冷冻室、冷藏室及环境温度,并根据设置值及采集值控制各部件的运行。
3.2.1显示电路
显示电路由四位8段数码管组成,用来显示冰箱内的实际温度、设置温度或故障,接口电路如图9所示,采用动态显示方式驱动。
javascript:window.open(this.src);" style="cursor:pointer;"/>
3.2.2 压缩机、化霜电加热丝、风机、电磁阀控制电路
压缩机控制电路比较简单。由I/O口输出信号,通过8050反相驱动电路去控制继电器,再由继电器控制压缩机的开停。压缩机的开停由相关室的温度决定,每次开机之前必须检测延时保护条件是否满足,才能作出开机决策,其控制电路如图10所示。
javascript:window.open(this.src);" style="cursor:pointer;"/>
化霜电加热丝控制电路、风机控制电路、电磁阀控制电路结构相似,只是器件参数有所不同,故在一起介绍。
3.2.3 断电记忆功能
系统扩展一块AT24C01A来记忆断电前的工作状态,来电后仍按断电前的设定工作。AT24C01A为I2C总线,利用SPCE061A的IOB口的IOB0、IOB1作为SCL、SDA信号,如图11所示,其中R23、R24为上拉电阻,I2C总线的读写时序由软件控制。
javascript:window.open(this.src);" style="cursor:pointer;"/>
3.2.4 语音提示、报警电路
每次通电开机、改变工作模式、冷冻室超温报警等都会以甜美的声音提示您,以保证操作正确,开机的提示语音还会向您普及一些使用电冰箱的常识。报警电路主要用于冷冻室温度过高时,冷冻温度显示会以一定的频率显示,并用语音提示“冷冻室超温”。此时应检查冰箱门是否关好(请将冰箱门关好)?是否一次性放入大量较热的食品?冰箱工作一段时间后,冷冻室温度降低,冷冻温度显示停止闪烁,超温报警功能自动消除。
3.3软件设计
本系统软件主要由主流程、功能子程序、中断服务程序组成。
子程序主要由键盘扫描、键码分析、温度采集、传感器检测、人工智慧模块、冷藏室温度采集与控制、冷冻室温度采集与控制、压缩机保护及控制、驱动模块、显示数据计算模块、运行参数存储模块等组成,LED的显示在256Hz的中断程序中完成。主流程如图12所示。
javascript:window.open(this.src);" style="cursor:pointer;"/>
3.3.1 初始化子程序
初始化模块主要完成初始化I/O口、中断、内存单元,并读出AT24C01A相应单元的值进行控制,程序流程如图13。
javascript:window.open(this.src);" style="cursor:pointer;"/>
AT24C01A的0x02单元为标志位:当读出的值为0xFF时,表示初次使用,则自动进入人工智慧控制模式。为0x55时,表明断过电,读出断电前的工作状态。AT24C01A单元分配如下表:
地址 | 工作状态 | 地址 | 工作状态 |
0x02 | 标志位 | 0x08、0x 09 | 冷冻室设置温度 |
0x04、0x 05 | 运行标志 | 0x0A、0x 0B | 冷藏室设置温度 |
0x06、0x 07 | 驱动标志 | 0x11—0x1D | 相关时间单元 |
并且每次存储时将各参数存储在三个不同的单元中(同一参数存储三次),每次上电复位后,将三个单元数据读出比较,采取三中取二的决策方式,如果三次都不同,则进入最安全的方式运行。
3.3.2键盘扫描、键码分析
程序扫描到按键,则根据当前运行状态和按键来改变运行标志位,并开始计时,如果连续5秒无按键则将有效设置送相应控制单元。
3.3.3人工智慧模块
通过检测环境温度的高低,自动确定冷冻室和冷藏室设定温度,如果环境温度高,则相应的将冷藏室、冷冻室温度设置高一些;如果环境温度低,则相应的将冷藏室、冷冻室温度设置低一些,以免压缩机长时间运行或不运行。
3.3.4冷冻室(冷藏室)温度采集与控制
通过冷冻室(冷藏室)温度传感器采集冷冻室(冷藏室)温度,将数据致入显示缓冲区,并将实测温度与冷冻室(冷藏室)设置温度值比较,如果实测温度高于设置温度,则置冷冻室(冷藏室)高标志,否则返回。
3.3.5压缩机保护及控制模块
本模块包括三部分:压缩机保护、压缩机控制、压缩机启动/停止子程序。
压缩机保护主要用于压缩