摘要:本设计为参加我院电子制作比赛而作。其设计的基本要求是:制作一个超低功耗
电子温度计,实现温度、时间的显示。要求系统温度误差小于0.5℃,静态功耗小于5μW。
1、总体设计方案
根据题目设计要求,可从硬件选用及软件编程方面降低功耗。系统可分为控制模块、测温模块、时间模块、驱动显示模块、温度控制与通信模块等,整体框图如图1所示,各模块的实现方案如下:
1.1控制模块
选用SPCE061A型单片机。SPCE061A是一款16位单片机,静态功耗为2μW。该单片机具有一键唤醒功能,需要时可将单片机置于休眠状态,可有效节省能量,且不用的端口可设为输出状态,进一步降低功耗。时钟频率可根据需要进行修改。系统默认时钟为24.756.MHz,CPU时钟具奄fosc,fosc/2,fosc/4,fosc/8,fosc/16,fosc/32,fosc/64可选,降低CPU时钟频率,可有效降低功耗,但会降低系统效率,可根据需要进行选择。
1.2显示模块
采用6位LCD数码显示玻璃片HT1621D,可满足低功耗要求。
1.3时钟模块
采用低功耗的实时时钟芯片DS1302实现时钟。DS1302芯片可自动对秒、分、时、日、周、月、年以及闰年等进行计数,且精度高,8个字节的高速暂存RAM作为数据暂存区,工作电压为2.5~5.5V范围内,2.5V时耗电小于300nA。
1.4测温模块
采用数字式温度传感器DS18B20。此类传感器为数字式传感器而且仅需要一条数据线进行数据传输,易于与单片机连接,可以去除A/D模块,降低硬件成本,简化系统电路。另外,DS18B20测温范围为-55~+125℃,固有测温分辨率为0.5℃,具有测量范围广、测量精度高等优点。
1.5通信模块
MAX232芯片是目前应用较为广泛的电平转换器件,可以为RS232端口提供双向电平转换。
综上所述,本设计具体框图如图2所示。
2、系统的硬件设计
2.1单片机
单片机系统是整个硬件系统的核心,既是协调整机工作的控制器,又是数据处理器。采用凌阳SPCE061A具体不再细述。
2.2单片机与液晶的接口
HT1621D为128段(32×4)内置存储器的多功能LCD驱动器,可以驱动多段LCD字符是其主要特征,同时它还包括了省电命令,有效地减少本身的功耗。其工作电压为2.4~5.2V,配置方式用软件调节,三数据访问模式,VLCD引脚可调整LCD工作电压。玻璃片显示器功耗低为其zui大特点。具体电路如图3所示。
2.3温度传感器电路
DS18B20温度传感器是美国DALLAS半导体公司推出的一种改进型智能温度传感器,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现9~12b的数字值读数方式。电路图如图4所示。
2.4DS1302接口
采用DS1302作为主要计时芯片,主要为了提高计时精度,更重要的就是DS1302可以在很小的后备电源下继续计时,并可编程选择充电电流来对后备电源进行充电,可以保证后备电源基本不耗电。具体电路如图5所示。
2.5温控模块
系统通过控制继电器线圈的通电和断电,实现给相应的温控系统加热或降温,将测得温度与设定值相比较,发出相应的控制指令。温度误差若为0.5℃,约需要10min左右达到要求。控制电路如图6所示。加热、制冷切换由继电器的触点实现。
2.6通信模块
系统可与PC机的RS232端口通信,RS232电平转换芯片采用MAX232,其与SPCE061A的接线如图7所示。所测温度值可由电脑储存并调用,PC机的通信可视化界面可显示具体时刻的温度值,并可将段时间的温度变化由曲线显示出来。通信界面如图8所示。
3、系统的软件设计
3.1主程序
若要降低系统功耗,软件也起很大作用。总线上几乎每一个芯片的访问、每一个信号的翻转差不多都由软件控制的,如果软件能减少外存的访问次数、及时响应中断等措施都将对降低功耗有很大作用。系统主程序首先对系统进行初始化,包括设置定时器、中断和端口。图9是系统的主流程图。
3.2读取温度子程序
读出温度子程序的主要功能是读出RAM中的9个字节,在读出时需进行CRC校验,校验有错时不进行温度数据的改写。其程序流程图如图10所示。
3.3时间调整程序
调整时间用3个调整按钮,1个作为移位控制用,另外2个作为加减用,分别定义控制按钮、加按钮、减按钮。在调整时间过程中,要调整的那位与别的位应该有区别,所以增加了闪烁功能,即调整的那位一直在闪烁直到调整下一位。闪烁原理就是让要调整的那一位,每隔一定时间熄灭一次,比如说50ms。利用定时器计时,当达到50ms溢出时,就送给该位熄灭符,在下一次溢出时,再送正常显示的值,不断交替,直到调整该位结束,此时送正常显示值给该位,再进入下一位调整闪烁程序,时间调整程序程序流程图如图11所示。
4、试验数据及结果分析
4.1测试仪器
室温计(1℃)、61系列仿真器、HP34401A数字万用表。
4.2硬件调试
(1)硬件调试时,可先检查焊接的质量是否符合要求,有无虚焊点及线间有无短路、断路。然后用万用表测试或通电检测,检查无误后,可通电检查LCD液晶显示器亮度情况,一般情况下取背光电压为4~5.5V即可得到满意的效果。
(2)DS1302与单片机相连的只有3根线,很容易检查,主要检查DS1302管脚与晶振、电源是否连接好。
(3)DS18B20在测温程序设计中,向DS18B20发温度命令转换后,程序要等待DS18B20的返回信号,一旦线路不好或断线,将陷入死循环,所以线路一定要检查清楚。
4.3软件调试
软件调试以子程序为单位逐个进行,zui后结合硬件实时调试。
子程序调试包括:DS1302的计时和读写程序、显示程序;SPCE061A读写程序;DS18B20读出温度子程序、温度转换命令子程序;计算温度子程序、显示数据。
4.4测试结果分析
测试结果见表1,表2。
由于采用了DS1302作为计时器使用,其计时精度相对来说比较高。用制作的成品与万年历计时比较,基本*。
由于DS18B20的误差指标在0.5℃以内,在一般场合*适用。
功耗测试结果表明,静态功耗达到了设计的要求。
5、结论
本系统由于采用了凌阳SPCE061A单片机和DS18B20等低功耗器件,经过测试,系统静态功耗低于给定的zui小值,且实现了对温度值的显示和处理,并实现了对温度的控制,时间显示准确。系统的性价比较高,有较好的推广应用价值。