摘 要:采用液晶模块显示并配有背光源,可以通过按键设定冷冻室及冷藏室温度的一种新型冰箱控制系统。阐述了系统的硬件设计思想及实现措施。
关键词:变频冰箱 背光源LCD单片微机
随着我国经济的不断发展,人们的生活品味不断提高,对家用电冰箱的要求愈来愈高,不但要求电冰箱功能越多越好,而且外观越美观越好。而目前市场上的冰箱多数都没有显示装置,有的也只配备了LED显示。图形式液晶显示屏由于具有低功耗,可以显示数字、字符、图形、图像等特点,已经越来越多地应用在各类测控应用装置中。EL芯片由于是一种冷光源,具有柔韧性、体积小、低能耗、色彩丰富、亮度均匀、耐压、抗震、长寿命等特点,已经被越来越多地作为LCD显示屏的背光源使用。同时,为使冰箱具有高效节能、控温稳定、舒适宁静的特点,变频技术在冰箱中的应用已成为当前冰箱的技术主流。
本文所介绍的冰箱控制系统中,采用内带T6963C的液晶图形显示模块GTG-2401287作为显示装置,Sipex公司的SP4422A作为EL背光源的驱动芯片;控制采用主从模式,主控制器AT90S8535用来检测冰箱的相关参数、接收键盘设定、在液晶显示屏上显示相关信息等;同时计算出变频压缩机的工作频率,并传送给从控制器TMP87C446。TMP87C446主要工作是驱动直流无刷变频压缩机,使压缩机按照需要的频率进行工作。
1 系统组成与原理
1.1 系统组成
采用AT90S8535单片机控制电冰箱的系统原理图如图1所示。图中:A0、PA1、PA2作为模拟信号的输入口;PD0、PD1、PD2作为键盘输入口;PB0~PB7及PC0、PC1、PC2作为单片机与液晶模块的数据传输和控制端口;PC3作为控制EL片的输出口;PC4和PC5作为单片机AT90S8535与TMP87C446传输数据的端口;PD4为化霜控制的输出端口;对于TMP87C446而言,P15和P16用来接收上位机传来的数据;P00~P07作为驱动逆变器的输出端口;3个中断端口INT1、INT2、INT4用来作为位置检测电路的输入端口。
1.2 系统工作原理
由冷冻室温度传感器得到的温度经T1/V电路转换成模拟量,经过PA0端口进入单片机并转换成数字量,此时,冰箱冷冻室的设定温度由键盘扫描程序得到。如键盘没有按下,则设定温度为事先设定的初始量。将冷冻室的实际温度T1与设定温度T设相比较得到温度误差,将误差分为4个等级:[0,3]、[3,6]、[>6]、[0],并分别对应变频压缩机的不同运行频率。该系统压缩机的转速设有高速(58r/s)、中速(48r/s)、低速(40r/s)、停转,可以分别由AT90S8535的PC4和PC5口发出11、10、01、00电平来控制变频驱动器实现变速。刚开机或开门放入较多食物时,冰箱内温度较高,则控制压缩机以高速运行,此时压缩机输出功率较大,制冷量也加大,达到快速降温的目的。随着冰箱内温度的下降,所需的制冷量相应减少,则控制压缩机使其转速也逐步降低,相应地消耗的功率也逐步减少。由于正常使用情况下,本系统的压缩机大部分是运行于低速档,且压缩机在低速运行时效率较高、噪声较低,故比普通压缩机省电、安静。
在AT90S8535将压缩机频率传送给TMP87C446之后,AT90S8535将在显示模块GTG-2401287上显示冷冻室设定温度、冷冻室实际温度、冷藏室设定温度、冷藏室实际温度和压缩机运行频率的文字和具体的温度值。
按键S1、S2、S3的功能:S1控制EL片的开关,按一下点亮EL背光源,再按一下关闭EL背光源。S2和S3分别控制冷冻室和冷藏室的设定值,每按一下设定值在原来的基础上加1。
压缩机一运转,单片机即对压缩机开机进行计时。当压缩机累计时间达到10小时后,压缩机停机,并通过AT90S8535的PD4口打开除霜模式,同时开始通过PA2口检测蒸发器表面温度。如果蒸发器表面温度高于13℃,则化霜过程结束,同时定时器清零。
TMP87C446用来驱动直流无刷压缩机,压缩机的工作频率由P15和P16得到。目前,直流无刷压缩机的控制方法已经比较成熟,可以采用普通MCU或DSP进行驱动。本方案采用东芝的专用驱动芯片,由P00~P07产生PWM输出、换相驱动。中断输入在发生反向电动势过零时,产生输入捕捉中断,从而计算下一次换相时间。
2 液晶显示及背光源电路设计
GTG-2401287的驱动原理如图1所示,采用间接的驱动方法。将PB口作为并行的数据接口与GTG-2401287的数据线相连,PC0、PC1、PC2分别作为显示的控制端口。
SP4422A芯片的应用原理图如图2所示。SP4422A作为EL背光源的驱动芯片,其中EL背光源使能端HON由PC3口进行控制。
图2所示的电路中,外接电容Cosc为100pF、系统的工作频率为90kHz时,EL灯电压信号的频率为90kHz/8/32=350Hz,交流电压的峰-峰值为160V,可满足EL灯的驱动条件。
SP4422A使用时需注意如下问题:
(1)若供给IC的电源杂波较大,则VDD(脚6,接电源正极)需接入一个0.1μF解耦电容并接地。
(2)发光片的亮度受面积的大小、电容Cosc、电感Coil及电压等多个因素影响,差别会很大,但可用下列经验方式寻找亮度最亮时的组合:
建议比例关系:Cosc(pF)/Coil(mH)≈25~35
取值范围:电容Cosc:150~700pF,电感Coil:8~30mH。
在上述比例下,发光片的面积增大,电感一般也要增加;随着电容、电感数值的增加,亮度一般将随着增加。
(3)由于EL驱动存在交流高电压信号,所以在电路板布线时应注意IC的输出驱动管脚与EL灯尽量接近,同时使其远离时钟端(7脚、8脚)和使能管脚1,以减小耦合。外接电感也要尽量接近管脚3,同时远离时钟端和使能管脚1。
3 软件流程图及相关程序
主程序流程图、显示子程序流程图、控温子程序流程图和键盘处理子程序流程图分别如图3~图6所示。
下面重点介绍液晶显示的相关问题和程序。
本设计所采用的显示模块为内带T6963C的液晶图形显示模块GTG-2401287,点阵规格为128×240。由于1个汉字显示需要4个8×8点阵(即16×16),故横向可以显示8行汉字,每行最多可以显示15个汉字。如果显示温度,则每1个数字只需2个8×8点阵即可。
液晶显示模块显示的汉字在主程序初始化的过程中就可以写入显示存储器,在程序运行过程中,汉字不需要改变,只改变汉字所对应的温度值即可。
AT90S8535对于液晶显示模块的驱动方式为间接驱动。液晶模块的汉字和数字的写入方式均为图形方式,即汉字库做在程序区内,按照排列定义各汉字的代码。间接控制方式的汉字写入子程序如下(其余程序略):
;汉字写入子程序(图形方式)
.def CODE =r20;汉字字符代码(排列顺序)
.def O_Y =r21;Y坐标(0~127)
.def O_X =r22;X坐标(0~29),显示屏点阵为128×240
.def COUNT =r23;计数器
.def TEMP =r27
.equ CCTAB =0x0250
WRI_CC:
MOV A,O_Y;计算图形显示RAM地址
LDI B,0X20;图形显示宽度为0X20
CALL MPY8U;调用乘法子程序
ADD A,O_X
MOV O_X,A
MOV A,B
LDI TEMP,0X00;
ADC A,TEMP;带进位加法
ADIW A,0X08;图形显示区首址为0X0800
MOV O_Y,A
LDI ZL,LOW(CCTAB*2);计算汉字库字符首地址
LDI ZH,HIGH(CCTAB*2)
MOV A,CODE
LDI B,0X20
CALL MPY8U
ADD A,ZL
MOV ZL,A
MOV A,B
ADC A,TEMP
ADD A,ZH
MOV ZH,A
PUSH ZH;存字库地址指针
PUSH ZL
LDI COUNT,0X10;计数器设置为16次
WRI_CC1:
MOV DAT1,O_X;设置显示RAM地址
MOV DAT2,O_Y
LDI COM,0X24
CALL PR1
POP ZL;取字库地址指针
POP ZH
LPM;取左部字模数据
MOV DAT2,R0;设置数据
LD R0,Z+;字库地址指针加1
LPM ;取右部字模数据
MOV DAT1,R0;暂存数据
LD R0,Z+;字库地址指针加1
PUSH ZH;存字库地址指针
PUSH ZL
LDI COM,0XC0;设置1次数据代码
CALL PR11;写入数据
MOV DAT2,DAT1;设置右部数据
CALL PR11;写入数据
LDI A,0X20;显示RAM地址修正
ADD A,O_X
MOV O_X,A
CLR A
ADC A,O_Y
MOV O_Y,A
DEC COUNT
BRNE WRI_CC1;计数器循环
POP A;修正栈指针
POP A
RET
试验表明,本系统各部分功能运行正常,并已用于新产品中。由于用户可以自由调整冷冻室和冷藏室的温度,压缩机的频率又可以自动调整,所以此系统具有比较好的节能效果。
参考文献
1 李勋,耿德根.AVR单片机应用技术.北京:北京航空航天大学出版社,2002