刘 扬,刘志江,庄伟彬
(集美大学诚毅学院,福建厦门361021)
温度是最常见、最重要的物理量之一,温度控制也在各个领域得到广泛应用。随着计算机控制技术的发展,温度控制系统也发展迅速。组态软件是近年来在工业自动化领域兴起的一种新型的软件开发技术,开发人员通常不需要编制具体的指令和代码,只要利用组态软件包中的工具,通过硬件组态、数据组态、图形图像组态等工作即可完成所需应用软件的开发工作,它具有二次开发简便、开发周期短、通用性强、可靠性高等优点。同时单片机也具有体积小,重量轻,价格低廉,功耗低,可靠性高,灵活性好,开发较为容易等优点。该系统将以单片机作为下位机,装有组态软件的PC机位作为上位机,实现对温度的实时显示与控制。
系统结构框图如图1所示,DS18B20将所测温度送入单片机,单片机经RS232与PC机通信,将采集到的温度送上位机,通过组态软件实现温度的实时显示,并对所获数据进行处理,进而按系统要求控制下位机动作,以达到精确控温的目的。同时该系统还具有查询历史数据及温度报警等功能。
图1 系统结构框图
上位机可以对温度进行自由设定,并显示所设定的温度值,将室温的检测值与设定值进行比较,比较结果经处理后控制下位机动作,并由指示灯显示电炉的工作状态。系统对温度的升降过程没有很高的要求,采用组态软件中的PID控制,当设定温度与室温实际温度相差很大时,三台电炉会同时开启,迅速加热到设定温度;设定温度与室温相差不大时,根据相差的大小开启一台或两台电炉。上位机可提供高速历史数据的存储和查询功能,绘制实时和历史数据趋势图表,还可实现参数的实时状态跟踪等.
2.1 温度采集模块美国DALLS公司的单总线数字式温度传感器DS18B20可实现室内温度的采集,精度高,此芯片直接输出数字信号,可省去采集信号的放大及模数转换;每一个都有唯一的序列号,故可在一根信号线上挂接多个DS18B20,方便多点测量。
图2中DS18B20第2脚接至单片机P1_2,可实现温度数据传输。
图2 DS18B20接线图
2.2 加热/制冷器控制模块单片机控制对象是强电设备,负载功率较大,单片机输出的信号是低电压、小信号,无法直接驱动负载,需转换成大电压、大电流信号。
系统采用继电器可直接驱动负载,而且可起到隔离和抗干扰作用。图3是继电器与单片机的接口电路,输出经光电耦合,经三极管放大后,驱动继电器动作。
图3 单片机与继电器接口电路
图4 RS232接口电路
2.3 RS232接口电路上位机与下位机的通信采用串行通信接口RS232,其接口电路如图4所示。
系统软件设计主要包括上位机与下位机的通信程序和单片机控制程序两个部分。系统主程序流程如图5所示。主程序在进行系统初化以后,进入DS18B20温度采集部分,在温度采集程序中先关串口中断,此时单片机不响应组态王发来的任何询问,待温度采集完成后再开串口中断,此时单片机可以响应组态王发送的请求并按照协议传送数据,进而使上位机可以实时地显示DS18B20采集到的温度值。
3.1 单片机控制程序单片机作为温控系统的下位机,主要承担数据采集,将数据传递至上位机,接受上位机控制信号以及控制加热和制冷设备等任务。
开机后单片机检查传感器和伺服设备是否正常,并提示警报(亮灯或蜂鸣),然后向上位机发送命令提示字符串并检查通信是否正常。等待上位机发送运行命令。得到命令后检测温度并发送至上位机,等待命令。上位机将检测温度值与预设温度值进行比较和处理后给出控制指令,送单片机执行加热或冷却命令,如果外界温度达到要求,单片机得到待机命令。其控制流程图如图6所示。
3.1.1 DS18B20温度采集程序数字温度传感器DS18B20采用单总线数据传输方式,实现温度采集的编程关键是严格执行单总线协议。根据DS18B20的通信协议,单片机控制DS18B20完成温度转换必须经过以下几个步骤[6]:(1)每一次读写之前都要对DS18B20进行复位。(2)复位成功后发送一条写ROM指令。(3)发存储器操作指令。
对DS18B20的读写操作包括读ROM命令和存储器操作命令。如图7所示为温度采集流程图。
3.2 上位机与下位机通信设置通信协议是组态王与单片机通信的关键所在,通信参数包括数据位、停止位、波特率、校验方式,通信参数的设置由单片机决定,组态王中的设定和单片机一致即可。本文选择效率较高的通用HEX协议,单片机内通信协议按照亚控提供的协议编写。
单片机与组态王的通信协议处理程序包括组态王从单片机读取温度值的处理和单片机对组态王查询命令进行应答处理两个部分。需要注意的是,通信数据格式为9位,组态王发送地址请求格式中bit8为1,其它传输格式中bit8为0。当单片机工作在多机通信位方式下时,单片机的 SM2为1,接收组态王发送来的地址请求,当检测到组态王对自己的地址请求后,置SM2为0,此时可进行温度值处理和通信,通信结束后置SM2为1,等待下一次组态王的地址请求[7]。
图8 温度测控主界面
3.3 上位机界面设置系统包括温度测控主界面,历史曲线,历史数据报表,PID控制等监控界面。图8为主界面。通过读下位机采集到的温度值,可在主界面上显示实时温度曲线和数值;还可通过主界面设定温度上、下限和报警温度值,当温度超过报警温度值,主界面将提示温度超警戒线。
PID控制采用组态王自定义函数命令语言,定义PID控制程序函数,并在应用程序命令语言中当系统启动时调用该函数,实现PID控制。PID界面如图9所示,P,I,D参数可根据现场调试过程更改。
图9 PID控制界面
文章基于单片机和组态王设计了一个温度控制系统,采用数字温度传感器DS18B20实现温度的采集与转换,简化了分布式温度传感器的应用;通过上位机与下位机的通信,实现了温度的实时显示及报警,同时将反馈信号送回单片机用以控制现场设备,并能查询历史曲线及历史数据报表,为用户提供了良好的人机交互界面。该系统操作简单,可靠性强,是一种比较理想的智能控制系统,在很多领域得到应用,具有一定的应用价值。
[1]李士勇.模糊控制.神经控制和智能控制论[M].哈尔滨工业大学出版社,2006.
[2]莉福良,张辉.简易高精度温度测控系统[J].电子技术,2003(9):58-59.
[3]王成江,王安敏,张玉华.单总线数字温度传感器原理及应用.[J].半导体技术,2003(2):68-70.
[4]郑敏.远程高精度数字温度测控系统的设计[J].石河子大学学报(自然科学版),2005(4):516-517.
[5]杨云飞.基于组态王的模糊PID温度控制系统[J].自动化与仪表,2009(12):26-29.
[6]汪玉凤,马晓峰.基于组态王KingView与DS18B20的温度采集系统的设计[J].工矿自动化,2009(11):117-119.
[7]尉俊兰,丁振荣.组态王6.5与单片机的通信方法[J].工业控制计算机,2004(10):58-59.