APP下载

基于PIC单片机的温度控制系统设计

2014-11-26王彤宇

机械制造 2014年8期
关键词:计数器寄存器调试

□ 孙 昭 □ 王彤宇

长春理工大学 机电工程学院 长春 130022

在工业生产过程中,对工作环境温度的检测和控制十分重要,例如石油加工工业中,工作环境非常恶劣,智能温控系统能够对工作环境的温度进行远程实时检测。笔者研究开发了环保清洁车智能温度监控设备,该设备执行对铁轨路面进行清洁后的喷油;当加热器把油料温度加热到50℃时,启动喷油开关,对铁轨进行喷油操作,同时加热器进入保温工作状态,LCD液晶屏将显示实际测得的温度。本项目设计的主要目的为:一是温度准确采集,二是温度实时显示。

1 系统的总体设计

系统的总体设计原理如图1所示。

▲图1 系统原理框图

图1 中DS18B20作为温度采集器件,它将采集到的温度模拟信号直接转换为数字信号,PIC单片机读取其转化后的数字量发送到LCD1602的数字寄存器,并通过LCD1602将温度数值显示,当温度低于50℃时,加热器处于加热工作状态。当温度到达50℃时,由单片机发送信号给继电器,控制加热器进入保温工作状态,键盘电路提供给PIC单片机控制信息,进而用来调整LCD1602的数值显示。

2 硬件设计

2.1 单片机最小系统

单片机的最小系统指的是单片机工作的最小电路结构,包括电源电路+5V接VCC;时钟电路,晶振选择16MHz;复位电路,采用的是按键复位、低电平有效的方式。最小系统电路原理如图2所示。

▲图2 单片机最小系统

2.2 温度传感器接口电路设计

温度传感器采用DALLAS公司生产的一线式温度传感器,其温度测量范围为-55~+125℃,可进行9~12bit A/D转换,测温分辨率为0.0625℃,被测温度以符号扩展的16位数字量的方式串行输出。DS18B20的测温原理如图3所示。

▲图3 DS18B20内部测温电路原理框图

电路的核心采用了一个低温度系数振荡器和一个高温度系数振荡器。低温度系数振荡器对应的是减法计数器1,它给减法计数器提供准确的输出脉冲,利用低温度系数振荡器的振荡频率受温度变化影响小的特点,在加热过程中,其对温度变化不敏感,所以输出的脉冲稳定,提高了减法计数器对脉冲计数的准确性,使得到的测温数据更加精确。高温度系数振荡器对应的是减法计数器2,主要决定脉冲的计数时间,由于高温度系数振荡器对温度的变化很敏感,当温度达到设定值时会立即向减法计数器2发出脉冲,使脉冲计数过程立即停止,由于高温度系数振荡器反应灵敏,使脉冲计数时间更加准确,提高了对温度的精确控制。

在油料测量温度开始时,将-55℃对应的基数预置于减法计数器和温度寄存器中,低温度系数振荡器向减法计数器1发出稳定的脉冲,减法计数器开始对脉冲计数,当-55℃对应的基数减少到0时,此时温度寄存器相应地增加1,然后重新将新的预置值放入减法计数器中,当基数再次减为0时,温度寄存器再度增加1,以此构成循环,不断地对温度进行加热、测量,温度寄存器的温度计数不断地增加,直至到设定的温度时,由高温度系数振荡器检测到该温度后,立即向减法计数器2发出脉冲,减法计数器的预置值减为0,温度寄存器得到信号后,不再增加,发出信号给相应的系统,设备不再加热,经过斜率累加器的不断修正,此时温度寄存器内的数值就是实际测量的油料温度值,油料的温度就被测量出来了。

当温度高于100℃时,不能使用寄生电源,因为此时器件中较大的漏电流会使总线不能可靠检测高低电平,从而导致数据传输误码率的增大。比如使用加热器加热油料,可能加热器会发生故障,导致加热温度过高,甚至高于100℃,鉴于对温度检测精确性的考虑,可以使用外部电源。这里检测的温度虽为50℃,但仍然采用外部电源供电模式,其电路如图4所示。

▲图4 DS18B20外部供电电路图

2.3 显示电路

本文设计采用的是16脚的1602LCD字符型液晶显示屏,其引脚功能见表1。

结合使用PIC16F877型号的单片机,进行显示模块的电路图设计,如图5所示。

▲图5 1602与单片机接口电路

表1 LCD1602引脚功能图表

2.4 报警电路

本系统的报警部分是为了通知用户对相应的情况进行处理,避免意外发生。报警部分采用了蜂鸣器,当测试温度高于50℃,蜂鸣器鸣声;温度低于10℃时,蜂鸣器亦鸣声。电路中还设计了2个发光LED,红灯显示时,系统出现故障;绿灯显示时,系统正常运行。这一部分的电路原理如图6所示。

▲图6 报警电路系统设计

▲图7 4X4矩阵键盘电路图

2.5 键盘电路

由于设计的按键相对较多,本文采用了4×4矩阵键盘,其主要功能是设定温度的上下限,电路如图7所示。按键的键值见表2。

表2 按键功能表

4×4矩阵键盘可以很方便地实现用户与系统的对话,用户也可以随时改变温度的上下限来进行温度设定和调节。

2.6 电源电路

由于系统的工作电压要根据PIC单片机的正常工作电压进行转换,因此在设计时采用了电压转换电路,使用了7805芯片进行了电压转化,其转换电路如图8所示。

▲图8 7805电压转换电路图

▲图9主程序流程图

3 软件设计

主程序的流程框图如图9所示。

系统采用了单片机高级语言C语言编程。编程的主要工作是为DS18B20、LCD1602的驱动编程,要严格按照说明书中的时序图进行编写,待温度传感器和液晶显示器正常驱动工作后,再进行系统程序的设计。

4 系统调试与结果分析

硬件、软件均采用分模块的方式进行调试,待各个模块调试完成后再进行综合调试,硬件电路的主要调试步骤有:①检查原理图的设计情况,采用Proteus软件进行工作仿真;②将PCB板进行元器件焊接,并检查电路;③ 通电,采用MPLAB软件编程,将生成的.hex文件程序写入单片机的ROM进行系统调试。

系统经调试可以正常工作后,将采集到的温度数值与水银温度计测得的数值进行比较分析,本文选用的水银温度计精度为0.1℃,比较结果见表3。

由以上的数据可以看出,对于精确度为0.1℃的水银温度计来说,系统温度的测量误差基本在0.2℃的范围以内,符合设计要求。

表3 温度显示结果对照表

5 结论

本文分别从硬件和软件两个方面介绍了PIC单片机温度控制系统的设计思路,温度采集部分采用DS18B20作为传感器件,LCD1602的显示部分在第一行显示实时温度,第二行设定温度的上下限值,键盘用来设定温度数值,单片机直接控制加热系统,同时控制报警系统。在最终通过软件的设计和调试后,测得温度数值的误差小于0.2℃范围,满足系统的设计要求。

[1] 叶丹,齐国生,洪强宁,等.基于单片机的自适应温度控制系统[J].传感器技术,2002,21(3):27-30.

[2] 刘百芬,吕涛.基于 PIC单片机的温度控制器[J].半导体技术,2008,33(9):833-835.

[3] 刘扬,向俊杰,付涛.一种基于 PIC单片机的温度检测与控制方法研究[J].电力电子,2008 (2):50-53.

[4] 王福源,王玮,侯均衡.智能型电热水器的控制系统设计[J].三峡大学学报 (自然科学版),2002,24(6):523-525.

[5] Russo J,Tavares J M,Teixeira P I C,et al.Re-entrant Phase Behaviour of Network Fluids:A Patchy Particle Model with Temperature-dependent Valence [J].The Journal of Chemical Physics,2011,135(3).

猜你喜欢

计数器寄存器调试
采用虚拟计数器的电子式膜式燃气表
Lite寄存器模型的设计与实现
基于航拍无人机的设计与调试
FOCAS功能在机床调试中的开发与应用
分簇结构向量寄存器分配策略研究*
无线通信中频线路窄带临界调试法及其应用
调压柜的调试与试运行探讨
计数器竞争冒险及其处理的仿真分析
任意N进制计数器的设计方法
基于单片机的仰卧起坐计数器