基于LabVIEW的PID水温控制系统
2018-03-26王振帅陈明李超超
王振帅 陈明 李超超
摘要:针对实验室化学类仪器仪表需对参与反应的混合溶液进行恒温控制的需求,设计了实验室水温控制系统。该水温控制系统以DS18b20传感器为温度测量工具,51单片机为处理器,LabVIEW语言为上位机设计语言。实验结果表明该系统达到了预期的温度控制效果,可快速确定当前环境下的P、I、D参数,实现了参数的整定。系统充分发挥了上位机和下位机的优势,可观测实时采集数据结果,便于对结果进行分析,相比传统的单片机控制更加简便高效。
关键词:恒温控制;LabVIEW语言;参数整定;实时采集
DOIDOI:10.11907/rjdk.172447
中图分类号:TP319
文献标识码:A文章编号文章编号:16727800(2018)003013903
英文摘要Abstract:Aiming at the chemical instrumetation which need thermostatical control for reactions in the lab,designed Laboratory water temperature control system.This control system take DS18b20 sensor as temperature measurement tool,51 singlechip as processor,LabVIEW as the upper monitor designed language.Multiple experiment results showed the designed temperature control system achieved expected temperature control effect,at the same time, it is able to confirm P、I、D parameters suitable for current environment,realized parameters setting.This designed system makes full use of advantages of the upper monitor and the lower monitor, it is able to collect real data results, it is convenient for results analysis ,more simple and efficient than traditional singlechip.
英文关键词Key Words:thermostatical control; LabVIEW language; parameters setting; realtime collect
0引言
温度控制在日常生活中应用广泛,分类较多,控制方法不尽相同,其中以PID控制法最为常见。PID控制具有原理简单、易于实现、适应性强等诸多优点。传统的设计一般是将PID算法写入MCU中,通过按键调节PID参数来改变控制效果,步骤繁琐、耗时耗力,需要经验丰富的工程技术人员完成。本系统将PID算法集成在LabVIEW上位机中,简单高效;实时温度数据以曲线的形式显示在前端界面,直观形象;通过设置不同参数得到相互间的温度对比曲线,初步实现PID参数的整定。MCU(下位机)经温度传感器采集温度数据,通过USB串口传输至上位机。系统将上位机的“指挥”作用和下位机的“执行”作用结合起来,充分发挥了上、下位机的优势。系统工作原理如图1所示。
1温度数据采集
1.1MCU温度数据获取
采用DS18b20数字温度传感器测量水温。该传感器具有体积小、硬件开销低、抗干扰能力强、精度高等特点[1]。DS18B20采用一根I/O总线读写数据[2],抗干扰能力强,适合于恶劣环境的现场温度测量,使用方便。外部供电模式下单只DS18b20電路连接如图2所示。
DS18b20对读写数据位有严格的时序要求[3],完成温度转换必须经过3个步骤,每一次读写之前都要对DS18B20进行复位操作,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定操作。MCU代码实现如下:
void ReadTemperature()
{
Initial_DS18B20();
writechar(0xcc);
writechar(0x44);
delay(125);
Initial_DS18B20();
writechar(0xcc);
writechar(0xbe);
tempL=ReadOneChar();
tempH=ReadOneChar();
zheng=tempL/16+tempH*16;
xiaoshu1=(tempL&0x0f)*10/16;
xiaoshu2=(tempH&0x0f)*100/16%10;
xiaoshu=xiaoshu1*10+xiaoshu2;
}
1.2上位机数据获取
MCU启动后,程序初始化,然后“被动”地等待来自上位机的数据采集命令。当上位机向MCU发送指令时,程序产生中断,进入中断服务函数,在中断函数中判断所接收的指令是否为数据采集指令。若是,MCU启动温度采集程序,从温度传感器读取当前温度数据,数据采集完成后通过USB串口将结果传送至上位机;若中断指令不是采集指令,则跳出中断或执行其它操作,数据采集周期完成,其过程如图3所示。
2PID算法设计
PID控制即比例、积分、微分控制,具有结构简单、稳定性好、工作可靠、易于调节等优点[4]。PID控制核心是PID算法设计,实际应用中先将PID模拟控制规律离散化转变为数字控制规律,然后通过编程完成。
如图4所示,模拟PID控制器的数学表达式[5]为
u(t)=Kp[e(t)+1Ti∫t0e(τ)dτ+Tdde(t)dt](1)
式(1)中,e(t)为系统偏差量,e(t)= r(t)- c(t),Kp为比例系数,Ti为积分时间常数,Td为微分时间常数。将式(1)进行离散化,可作如下近似处理:
u(t)=u(k)
e(t)=e(k)
∫t0e(t)dt≈∑kj=0Te(j)
de(t)dt≈e(k)-e(k-1)T
其中:T为采样时间,K为序号。替换后得到数字型PID算法:
u(k)=Kp[e(k)+TTi∑kj=0e(j)+Tde(k)-e(k-1)T](2)
式(2)整理变形得:
u(k)=Kpe(k)+Ki∑kj=0e(j)+Kd[e(k)-e(k-1)](3)
式(3)中,Ki=Kp/Ti,Kd=KpTd/T
式(3)所示的数字型PID算法软件实现流程[6]如图5所示。
基于LabVIEW的PID算法程序如图6所示。
3上位机程序设计
LabVIEW是一种程序开发环境,由美国国家仪器(NI)公司研制开发,使用图形化编辑语言G编写程序,程序是框图形式[7]。
本系统采用LabVIEW设计上位机,前面板温度显示采用XY圖和温度显示控件,可直观显示温度当前值和温度变化曲线[8]。前面板如图7所示,功能分别为串口选择、温度和采集点数设置、PID参数设置、温度数据采集数据、图形保存等。后面板主要实现对下位机控制,包括温度采集命令、帕尔贴加热和停止加热命令、PID算法等。后面板程序实现[9]如图8所示。
4实验结果
4.1温度控制
当设定温度为35℃时,得到如图9所示的温度曲线,可见最终温度稳定在34.5℃~35.5℃之间,误差在±0.5℃以内,在精度要求不高的情况下可基本满足控制要求。
4.2参数整定
PID参数整定,就是在特定环境下选择最适合被控对象的P、I、D参数,使控制效果达到最佳[10],本系统通过温度曲线效果对比的方式达到整定参数的目的。
温度设置为35℃,采集点数设置为500次。首先将Kp、Ki、Kd分别设为2、0.002、0.05。运行程序,点击“采集数据”按钮,程序开始自动采集数据,得到如图10(a)所示的温度曲线,采集完成后保存为曲线1。然后修改Ki为0.02,其余参数不变,重新采集数据,得到如图10(b)所示的温度曲线,采集完成后保存为曲线2。通过图10(c)中两条温度曲线对比可知,曲线1采集温度在设置温度附近波动,误差较小,说明P、I、D参数选择合理; 曲线2采集温度超调量过大,效果不如曲线1好。
从对比曲线可以清晰看到相同条件下不同参数温度曲线之间的差异,由此可研究P、I、D参数对温度的影响,达到整定参数的目的。
5结语
大量实验证明本文设计的控制系统实现了水温的恒定控制,达到了初步整定PID参数的效果,适用于对温度精度要求不太严格(误差为±0.5℃)的控制场合。本设计结合了上位机LabVIEW和下位机MCU的优点,实现简单、过程清晰、操作方便,可实时观测采集的温度数据,直观形象,有助于系统的调试和分析。
参考文献参考文献:
[1]沙占友.集成化智能温度传感器原理与应用[M].北京:电子工业出版社,2004.
[2]金伟正.单线数宇温度传感器的原理与应用[J].电子技术应用,2000(6):6668.
[3]陈明,陈明,邱超凡.基于DS18B20数字温度传感器的设计与实现[J].现代电子技术,2008,31(8):188189.
[4]陶永华.新型PID控制及其应用[J].工业仪表与自动化装置,1998(1):7275.
[5]金奇,邓志杰.PID控制原理及参数整定方法[J].重庆理工大学学报,2008,22(5):9194.
[6]李尹.PID控制算法及其在风速控制中的应用[D].武汉:华中科技大学,2007.
[7]林静,林振宇,郑仁福.LabVIEW虚拟仪器程序设计从入门到精通[M].北京:人民邮电出版社,2010.
[8]聂乐乐,李丽娟,王劲松,等.基于LabVIEW的模糊PID温度控制系统[J].长春理工大学学报:自然科学版,2011(4):5860.
[9]LIU D X.PID control and program realizing method [J].Chinese Journal of Neijiang Teachers College,2005,20(6):2023.
[10]李国文,赵永建.基于LabVIEW的低速风洞风速量化PID控制系统设计[J].自动化仪表,2006,27(8):2123.
责任编辑(责任编辑:杜能钢)