刘全波 阳勇 杨勇
云南华联锌铟股份有限公司,云南 文山 663700;
摘要:现如今,温度是影响矿山设备长期稳定运行的关键因素之一,尤其在选矿车间的控制中枢-DCS控制机房。单独采用一台或多台空调对机房降温也难以达到各点温度是否合适,因此对机房进行多点温度监控, 采取有效的措施控制机房温度在一定范围内显得尤为重要。设计了一种基于单片机的机房多点温度监控系统。系统中选用DS18B20传感器作为测温元件,以AT89C51单片机为核心,进行多点温度检测并以LCD1602液晶器显示数据。同时,通过串口与PC进行通信,并以C语言编写的程序通过Keil uVision4软件编译,编译加载生成Hex文件,并将此文件加载到Proteus中,运行调试电路。经多次试验证明,该系统温度测量范围广,稳定性好,能够长时间工作,基本上能够满足中控室机房温度监控的需求。
关键词:AT89C1单片机;温度监控系统;LCD1602液晶显示器;多点温度检测
0引言
环境因素的适宜与否对于DCS控制系统来说是首要考虑的问题,也是其需要克服的关键技术之一,如果仅靠人工测温的方法是无法单独实现的,必须要以现代科学技术作为辅助。通过对监测数据的分析,结合现场设备运行条件,来监控温度,从而通过手机定制APP或者远程访问PC机以达到监控目的。目前,我国温室自动化控制模式主要有两种:一是以工业计算机核心,二是以单片机为核心。国内目前研发生产的温度控制系统参差不齐,价格低廉的大都是寿命短,控制精度较低且稳定性差,真正设计合理,操作方便的,价格往往比较昂贵,生产成本很高,不宜大规模投入实际应用,而且在数据的处理和整合方面也不够完善。因此,开发出成本低、性能好、具有自主知识产权的一
套温度测控系统对于有色金属行业的发展具有重要意义。
1系统设计
1.1系统整体结构设计
本系统以AT89C51单片机为控制中心,以多个DS18B20 温度传感器作为测温元件
对DCS机房内多点温度进行测量,单片机对其温度数据进行分析、处理,并通过LCD1602液晶显示器实时显示,将测量数据与设定值进行比较,若实际温度值不在设定温度范围内,单片机输出控制信号,控制报警模块发出警示。单片机作为系统的核心控件,将处理过的温度数据通过串口传输给PC机,并通过温度接收端界面以温度数据形式进行显示,便于机房内的温度观察与分析。通过编辑C语言和外界的键盘均能够人为的设置报警温度的范围,可应用于不同环境条件中去。系统整体结构图如图1所示:
![](/userUpload/17(5814).png)
1.2系统硬件设计
系统硬件部分主要由单片机AT89C51、多路温度传感器 DS18B20、按键、液晶显示器LCD1602、时钟电路、复位电路和温度报警模块。在DCS机房内布置8个温度传感器,实现多点的温度测量,温度传感器将采集的数据通过总线传输给单片机,单片机对输出数据进行分析和处理,一方面将处理后的输出数据送液晶显示器LCD1602显示,另一方面通过串口分时将各点采集的温度值通过串口传输给PC机。按键模块有三个按钮组成,按钮分为设置键、加键和减键。按下设置键后,液晶显示界面自动跳转到参数设置界面,再通过加键和减键修改温度上下限值。若测量的温度值不在设置的温度范围内,单片机则启动报警模块发出警示信息,同时在PC的界面也可观察到提示信息。以便采取有效措施对机房温度进行有效的控制。
1.2.1温度测量模块
该系统采用8个DS18B20数字温度传感器作为测温元件,因为其独特的单总线接口设计使得硬件电路非常简单,只需将传感器的信号线管脚与单片机I/O口直接相接。该系统将8个温度传感器依次与单片机的P1口的8引脚连接。单片机分别时读取DS18B20传感器采集的温度数据。由于在液晶显示屏上和上位机软件上不但要显示各点的温度值还要显示各点的位置信息,因此对8温度传感器进行编号,其编号与传感器所在位置一一对应。DS18B20温度传感器的测量电路如图2所示:
![](/userUpload/19(5356).png)
1.2.2温度显示模块
本机房温室系统的显示部分分为:
a.用LCD1602液晶显示器作为接收温度显示部分。
b.用数码管显示发送端的温度。
LCD1602液晶显示器有若干个5x7或者5x11等点阵字符位组成,它不能显示图形1602LCD是指显示的内容为16x2,即可以显示两行,每行16个字符液晶模块目前市场上字符液晶绝大多数是基于HD44780液晶芯片的,控制原理是完全相同的,因此基于HD44780写的控制程序可以很方便地应用于市面上大部分的字符型液晶。LCD1602接线图如图3所示:
![](/userUpload/18(5621).png)
1.2.3 按键输入模块
按键S1、S2和S3分别与单片机AT89C51的P2.3、 P2.4和P2.5引脚相接。在主界面状态下按下S1键一次,进入最高报警温度上限的设置,再通过点击S2和S3进行加减;按下S1键两次,进入最低报警温度下限的设置,同样通过点击 S1和S2进行加减,即可完成温度范围的设置。
1.2.4报警模块
为了更加科学、人性化监控温度,本机房多路远程温度监控系统采用LED红灯做为该系统的光报警模块,以引起用户的及时注意。当机房内的温度高于或低于温室用户预先设定的温度限值时,红灯变亮;另外,为了使该系统监控温度更加精确,我使用蜂鸣器做为声报模块,当室内的当前温度低于或高于预先设定限值,蜂鸣器开始发出刺耳的
声音。
1.2.5时钟电路模块
传统的数据记录方式是隔时采样或定时采样,只能记录下数据,却不能准确记录该数据出现的时间;若采用单片机计时方式,则需要采用计数器就会占用硬件资源,同时还需要设置中断和查询等,也要占用单片机的资源,并且,某些测量系统对这种方式可能是禁止的。但是,如果在系统中加入时钟模块,则能很好地解决这个问题。
1.2.6复位电路模块
复位模块是将系统恢复初始状态,使单片机系统进入初始工作状态,复位电路的大致原理是AT89C51的复位引脚RST接收到高电平信号,并且该高电平信号持续两个机器周期,单片机系统即可实现复位。当按键按下时系统恢复初始状态,此时处于一个短路电路中,释放了所有的电能,电阻两端的电压增加引起的变化。
1.2.7 串口通信模块
MAX232引脚C1+与C1-,C2+与C2-,V+与VCC,V-与GND 之间均必须接电容,一般选用瓷片电容,0.1UF或者1UF皆可,具体电容值由所选用的MAX232型号决定。
2系统软件设计
2.1主程序设计
系统软件采用模块化编程思想,C51语言编写。软件主要分为按键扫描子程序、数据采集子程序、串口通信子程序、液晶显示子程序和报警子程序。程序流程图如图7所示。当系统上电复位后,主程序开始运行,程序开始初始化各参数以及端口定义,然后各标志位清零和液晶显示,接着进行键盘扫描,再读出各个DS18B20传感器的温度。处理后的温度值同时送液晶显示和通过串口传输给PC机显示。最后将温度值与设定的温度范围相比较,若超出范围,报警模块将会进行报警。否则,程序返回到子程序处,循环执行以上模块。
2.2 按键程序设计
程序开始先进行按键扫描,如果没有按键被按下,set等于0。当确定有按键被按下时判断被按下的是哪个按键,如果是S1被按下,再判断S1被按下几次。如果S1被 按下一次,全局变量set等于1,则系统进入报警温度上限设 置界面,这时再判断按键S2和S3是否被按下,如果S2被按下, 触发单片机外部中断0,那么报警温度上限值加1;如果S3被按 下,触发单片机外部中断1,则报警温度上限值减1。如果S1被 按下两次,set等于2,则系统进入报警温度下限设置界面,这时再判断S1和S2是否被按下,同上所述,对报警温度下限进行加减。如果S1被按下三次,set等于0,则液晶转换到实时温度显示界面。
3系统调试
系统调试部分是运用C语言编程,编好的程序在Keil uVision4上运行调试,加载生成Hex文件,并将此文件加载到Proteus中,运行此电路,并查看系统是否正常运行,若运行失败则重新调试程序直到仿真成功为止。系统调试原理图如图4所示:
图4系统原理图
4结论
经过硬件和软件调试,系统可完成对报警温度上下限值的灵活设置,单片机分时采集多路温度传感器的数据,并将实际温度值与设定值进行比较,可进行温度报警以便采集相应的温控措施。液晶显示屏实时显示多路温度值,同时可在PC机上远程观测DCS控制机房内各点温度值。
参考文献
[1] 刘笃仁,韩保君.传感器原理及应用技术[M].机械工业出版 社,2003.
[2] 侯媛彬,袁益民,霍汉平,王勇等.凌阳单片机原理及其毕业设 计精选[M].科学出版社,2006.
[3]赵亮.液晶显示模块LCD1602应用[J].电子制作,2007(3)
[4]谭浩强.C语言程序设计[M].北京:清华大学出版社,2005.