北京石油化工工程有限公司100107
摘要:水温控制系统的主控模块采用的是STC12C5A60S2系列单片机;温度采集采用的是控温精度为0.2℃的DS18B20温度传感器;显示装置采用液晶显示模块。具体实现过程为:首先预设温度,温度传感器对水温进行测量,将测量温度实时显示,并通过I/O串口输送给单片机,单片机把送来的数据与预设温度数据进行比较,如果低于设定的温度则启动功率电路进行加热,直到设定值。当水温超出预设温度范围时报警器报警。还可以根据需要改变预设的温度值,实现温度自动调节目的。
关键词:电子技术;水温;自动控制;
一、系统总体方案设计
单片机内预设一定温度值,温度传感器对水温进行测量,输送给单片机,单片机把送来的数据与预设温度数据进行比较,如果低于设定的温度则加热继电器闭合,功率电路被启动,开始进行加热,直到温度达到设定值;如果高于设定的温度则加热继电器保持原来断开状态,制冷继电器启动,开始进行制冷,直到设定值。当水温超出预设温度范围时,报警器报警状态被启动。还可以根据需要改变预设的温度值,如此来实现温度自动调节目的。
二、硬件设计
2.1单片机选择
本套系统的主控芯片是单片机,单片机组成部分包括:中央处理器CPU,多种I/O口,存储器ROM,存储器RAM和定时器,计时器以及中断器集成在电力芯片上的超大规模完整的计算机系统。常用的有八位单片机系统,另外目前市场上经常出现的单片机还有:C8051系列,STC12C5A60S2系列,AVR,PIC,MSP430等。
方案一:把C8051单片机作为主控芯片。标准的8051只有7个中断源,电源电压是5伏,有待机方式和掉电方式两种低功耗方式,在掉电时内部RAM中的数据仍存在。它拥有111条“CISC”的复位指令集。
方案二:把STC12C5A60S2系列的单片机作为主控芯片。STC12C5A60S2系列的单片机把芯片集成在一块硅半导体上,内部结构由:运算器、控制器、存储器、基本的输入/输出电路、串行口电路、中断和定时等电路组成。STC12C5A60S2系列的单片机的机器周期为1T,与传统的8051系列单片机相比较,STC12C5A60S2单片机具有运行速度快、消耗功率低、抗干扰能力强等优点。综上两种最常用的主控元件各个方案的比较,根据STC12C5A60S2单片机的优点,设计选用了STC12C5A60S2单片机作为控制电路的处理单元。
2.2电源供电电路
整个系统采用12V电源供电,STC12C5A60S2采用5V直流电源供电,加在40引脚(电源正极)和20引脚(电源负极)之间,12V电源作为整个系统的电源,12V电压给驱动电路和显示装置供电,单片机、传感器供电使用12V电源经过7805稳压芯片输出5V电压。
2.3时钟电路
单片机的时钟信号是由时钟电路提供的。时钟信号的主要作用是用来控制单片机的工作速度,让单片机的各个部件之间处于相互协调工作状态。单片机有两种信号产生方式:一种是内部时钟方式;另一种是外部时钟方式。外部时钟方式是一个12M的晶振接到单片机的18脚和19脚两个引脚之间,两个30P的电容并联到晶振的两端,这样就构成了单片机工作的外部时钟电路。
2.4复位电路
复位就是让单片机重新进入工作状态,单片机的复位可以由单片机的RST引脚控制复位,也可以掉电复位。复位的作用是让单片机的CPU和整个系统中其他部件回到最初的设定值。如果程序在运行过程中出现了未知错误我们可以通过复位电路的按键让单片机重新开始工作。掉电复位比较麻烦,通常采用单片机的RST引脚的复位信号作为单片机复位的控制端。当按下复位按键时,单片机内各个部件进行初始化处理,单片机重新开始执行程序。
2.5温度数据采集电路
(1)温度传感器的选择
目前市场上常见的温度传感器有:热敏电阻、铂电阻温度传感器、DS18B20等温度传感器。根据性能的稳定性和测量时数据的可靠性和价格对比选用数字式温度传感器———DS18B20温度传感器。
(2)DS18B20的特点
1.可以测量范围在-55℃~+125℃的温度
2.可以用在多点分布式温度测量中
3.每个器件有唯一的64位的序列号存储在内部存储器中
4.世界上第一片“一线总线”接口方式,仅仅需要一个端口引脚即可通讯
5.最多在750ms内将温度转换为12位数字
(3)DS18B20实现测温
高温度系数的振荡器为DS18B20确定了一个门周期,内部计数器在这个门周期内对一个定温度系数的振荡器发出的脉冲进行计数从而得到温度值。把-55摄氏度对应的一个值预置给计数器,同样把-55摄氏度对应的一个值预置给寄存器。若在门周期结束前计数器到达0,则温度寄存器的值增加,说明所测温度是大于-55摄氏度的。同时计数器被复位到一个值,这个值由斜坡式累加电路确定,斜坡式累加电路用来补偿感温振荡器的抛物线特性。然后计数器又开始计数直到0,如果门周期仍未结束,将重复这一过程。斜坡式累加器用来不长感温振荡器的非线性,以期在测温时获得比较高的分辨率。这是通过改变计数器对温度每增加一度所需计数的数值来实现的。因此必须同时知道在给定温度下计数器的值和每一度的计数值,才能获得所需的分辨率。
三、软件设计
3.1程序流程
首先,对系统进行初始化处理,单片机时刻接收检测电路的信号判断输入的信号是否符合开启加热装置的要求,如果不满足加热装置开启要求,单片机持续检测信号。如果满足开启加热装置的要求,单片机输出信号使继电器常开触点闭合,加热装置开启。然后,延时一段时间后判别是否符合加热装置关闭的条件,如果不满足关闭要求,加热装置持续开启,如果满足关闭要求,单片机输出信号使继电器断开,停止加热。最后,单片机持续对信号进行检测,重新判定是否符合加热装置开启条件。
3.2程序设计及调试
根据设计流程图运用单片机指令编写能实现流程图规定功能的程序,然后进行调试。调试过程中,要综合考虑实际情况可能出现的问题,使用调试方式有单步运行和断点运行两种可以选择,在仿真软件中给定符合程序运行的入口条件,检查程序的执行结果是不是和自己设计的要求一致,看看程序有没有循环上的错误。系统硬件错误和软件上的算法错误都能够通过对程序调试检查,在对程序进行调试完成并确认无误后把程序下载到单片机中,进行硬件组装测试。检查硬件有没有错误,确认硬件没有错误后,进行调试。调试是在室温下调试的,首先,设置初始水温,给定传感器不同的参数(可每次变换3~5个参数点),测试传感器和加热装置的灵敏度,调节到一个合适的灵敏度值。然后,通过模仿外界温度变化,最终确定各个电路是否正常工作。最后,检测软件和硬件系统是否能够完美地结合,对程序进行细节上的微调。让软、硬件结合起来最后把所写的程序下载到主控芯片中。
结语:
本智能温控系统比常用的温控系统更具有针对性创新,不需要人的接触就能实现其开启和关闭,能够很好地避免由于人参与下的误差。把STC12C5A60S2单片机作为本设计的主控芯片,DS18B20温度传感器为温度数据采集器,固态继电器控制加热、制冷芯片的动作。其中采用DS18B20温度传感器线性好,分辨率高;采用固态继电器作为功率输出部分,电路稳定性好。实现了温度的设定,并对温度进行实时采集和超线报警。
参考文献:
[1]黄强.模拟电子技术[M].北京:科技出版社,2013(01).
[2]王效华,张永梅.单片机原理与应用[M].北京:交通大学出版社,2014(05).
[3]金发庆.传感器技术与应用[M].北京:机械工业出版社,2015(08).