SPCE061A在电冰箱中应用

  随着家用电冰箱的普及,人们对电冰箱的控制功能要求越来越高,这对电冰箱控制器提出了更高的要求,多功能、智能化是其发展方向之一,传统的机械式、简单的电子控制已经难以满足发展要求。本文介绍了采用凌阳科技公司的新秀--SPCE061A作为控制器核心,对电冰箱的工作过程进行控制,并用语音将电冰箱的一些工作过程播报出来,使控制过程更人性化。

3.1系统组成
  我们知道,电冰箱一般设有冷冻室和冷藏室,冷冻室用于速冻食品,在冷冻室中的食品可以存放较长的时间,冷冻室的温度为-16℃ ~~~ -26℃左右;冷藏室以不冻伤食品又有保鲜作用为准,冷藏室的温度为2℃ ~~~ 10℃左右;冷冻室食品中的水分会凝结成霜,到一定程度还要除霜。具体的说,电冰箱控制器的主要任务就是控制压缩机、电磁阀、化霜加热丝、风扇等来保持箱内食品的最佳温度,达到食品保鲜的目的,即保证所储存的食品在经过冷冻或冷藏之后,保持色、味、水分、营养基本不变,并用LED将设定温度或实际温度显示出来,当冷冻室温度过高或开门时间长还会用语音提示。系统组成如图8所示。

  3.2 硬件组成
  整个系统工作于3.3V电压下,由电源板提供5V电压,经过LF33稳压到3.3V为系统供电。三个按键分别设置冷冻室、冷藏室温度或人工智能工作方式。温度传感器主要由冷冻室、冷藏室、冷冻室蒸发器盘管、冷藏室蒸发器盘管速冻室、环境温度检测等温度传感器组成。主控器不断采集冷冻室、冷藏室及环境温度,并根据设置值及采集值控制各部件的运行。

  3.2.1显示电路
  显示电路由四位8段数码管组成,用来显示冰箱内的实际温度、设置温度或故障,接口电路如图9所示,采用动态显示方式驱动。

                       图 9 显示电路
  3.2.2 压缩机、化霜电加热丝、风机、电磁阀控制电路
  压缩机控制电路比较简单。由I/O口输出信号,通过8050反相驱动电路去控制继电器,再由继电器控制压缩机的开停。压缩机的开停由相关室的温度决定,每次开机之前必须检测延时保护条件是否满足,才能作出开机决策,其控制电路如图10所示。

 


       图10 控制电路

化霜电加热丝控制电路、风机控制电路、电磁阀控制电路结构相似,只是器件参数有所不同,故在一起介绍。

  3.2.3 断电记忆功能
  系统扩展一块AT24C01A来记忆断电前的工作状态,来电后仍按断电前的设定工作。AT24C01A为I2C总线,利用SPCE061A的IOB口的IOB0、IOB1作为SCL、SDA信号,如图11所示,其中R23、R24为上拉电阻,I2C总线的读写时序由软件控制。

       图11 AT24C01A

  3.2.4 语音提示、报警电路
  每次通电开机、改变工作模式、冷冻室超温报警等都会以甜美的声音提示您,以保证操作正确,开机的提示语音还会向您普及一些使用电冰箱的常识。报警电路主要用于冷冻室温度过高时,冷冻温度显示会以一定的频率显示,并用语音提示"冷冻室超温"。此时应检查冰箱门是否关好(请将冰箱门关好)?是否一次性放入大量较热的食品?冰箱工作一段时间后,冷冻室温度降低,冷冻温度显示停止闪烁,超温报警功能自动消除。

3.3软件设计
  本系统软件主要由主流程、功能子程序、中断服务程序组成。

  子程序主要由键盘扫描、键码分析、温度采集、传感器检测、人工智慧模块、冷藏室温度采集与控制、冷冻室温度采集与控制、压缩机保护及控制、驱动模块、显示数据计算模块、运行参数存储模块等组成,LED的显示在256Hz的中断程序中完成,用SPCE061A播放语音程序在《SPCE061A单片机》一书及凌阳大学计划网站上有详细讲解,这里不再做分析。主流程如图12所示。

     
               图12 主程序流程
  3.3.1 初始化子程序
  初始化模块主要完成初始化I/O口、中断、内存单元,并读出AT24C01A相应单元的值进行控制,程序流程如图13。
  
     图13 初始化子程序


  AT24C01A的0x02单元为标志位:当读出的值为0xFF时,表示初次使用,则自动进入人工智慧控制模式。为0x55时,表明断过电,读出断电前的工作状态。AT24C01A单元分配如下表:

  并且每次存储时将各参数存储在三个不同的单元中(同一参数存储三次),每次上电复位后,将三个单元数据读出比较,采取三中取二的决策方式,如果三次都不同,则进入最安全的方式运行。

  3.3.2键盘扫描、键码分析
  程序扫描到按键,则根据当前运行状态和按键来改变运行标志位,并开始计时,如果连续5秒无按键则将有效设置送相应控制单元。

  3.3.3人工智慧模块
  通过检测环境温度的高低,自动确定冷冻室和冷藏室设定温度,如果环境温度高,则相应的将冷藏室、冷冻室温度设置高一些;如果环境温度低,则相应的将冷藏室、冷冻室温度设置低一些,以免压缩机长时间运行或不运行。

  3.3.4冷冻室(冷藏室)温度采集与控制
  通过冷冻室(冷藏室)温度传感器采集冷冻室(冷藏室)温度,将数据致入显示缓冲区,并将实测温度与冷冻室(冷藏室)设置温度值比较,如果实测温度高于设置温度,则置冷冻室(冷藏室)高标志,否则返回。

  3.3.5压缩机保护及控制模块
  本模块包括三部分:压缩机保护、压缩机控制、压缩机启动/停止子程序。
  压缩机保护主要用于压缩机启动,压缩机每次启动前先检查停机时间是否已经延时5分钟。若压缩机已经延时5分钟,压缩机可以立即启动;若压缩机延时未到5分钟,则继续延时到5分钟后,压缩机才可以启动。流程见14。
      
              图14 压缩机保护

压缩机控制主要是根据冷冻室、冷藏室温度检测标志、化霜(结束)标志、压缩机允许开机标志来决策压缩机启动、停机运行,并置启动/停机命令标志。
  压缩机启动/停止子程序主要根据当前压缩机的运行状态和启动/停机命令标志来控制压缩机运行。
  
  3.3.6驱动模块
  驱动模块包括压缩机、电磁阀、风扇和化霜加热丝,程序根据当前运行状态和驱动标志位来确定运行状态。化霜控制及驱动

  3.4总结
  用SPCE061A做家用电冰箱控制器具有以下特点
  1、设计新颖、功能强大:SPCE061A是凌阳科技公司最新的16位单片机,特点是高速、低功耗、强大的I/O口功能,上面的设计方案只占用SPCE061A一部分资源,可以在此基础上开发出更强功能产品,缩短了开发周期。
  2、成本低、性价比高、运行可靠:SPCE061A有丰富的I/O口资源,外围电路相对简单。SPCE061A价格低,性能可靠,上面的控制方案已经通过EMC测试。

 转载自《今日电子》