labview+编写的自动温度控制系统.docx
《labview+编写的自动温度控制系统.docx》由会员分享,可在线阅读,更多相关《labview+编写的自动温度控制系统.docx(14页珍藏版)》请在冰豆网上搜索。
labview+编写的自动温度控制系统
自动温度控制系统
TEMPERATUREAUTOCONTROLSYSTEM
中国·济南
朱瑞张鹏陈耿炎张洁徐婷婷
2006.12
摘要:
本实验以LabVIEW可视化图形编程开发环境为平台,使用声卡和温度传感器加外围电路,测量和显示外部温度变化,并控制风扇和加热丝进行相关操作,使一定空间范围内的温度保持基本恒定。
通过实际应用,加深对LaVIEW开发环境和实时控制的理解。
关键词:
温度自动控制LabVIEW风扇电热丝
Abstract:
ThesystemisbasedontheprogramdesigningenvironmentofLabVIEW.Itcontainsthedatacollectingcard,thetemperaturesensorandtheoutsidecircuit,tomeasuretheoutsidetemperaturechanginganddemonstratingit.Thenthecomputercontrolsanelectricfanoraheatingwiretokeepthetemperaturewithinacertainrange.
Keywords:
temperatureautocontrol,LabVIEW,fan,heatingwire
1.系统设计
1.1系统总体设计方案
设计框图如下所示:
LabVIEW
操作平台
温
度
信
号
采
集
电
路
温度控制接口电路
继电器控制
与加热电路
继电器控制
与降温电路
图1系统总体设计框图
1.2单元电路方案的论证与选择
硬件电路的设计是整个实验的关键部分,我们在设计中主要考虑了这几个方面:
电路简单易懂,较好的体现物理思想;可行性好,操作方便。
在设计过程中有的电路有多种备选方案,我们综合各种因素做出了如下选择。
1.2.1温度信号采集电路的论证与选择
方案一:
采用温度传感器DS18B20
美国DALLAS公司的产品可编程单总线数字式温度传感器DS18B20可实现室内温度信号的采集,有很多优点:
如直接输出数字信号,故省去了后继的信号放大及模数转换部分,外围电路简单,成本低;单总线接口,只有一根信号线作为单总线与CPU连接,且每一只都有自己唯一的64位系列号存储在其内部的ROM存储器中,故在一根信号线上可以挂接多个DS18820,便于多点测量且易于扩展。
DS18B20的测温范围较大,集成度较高,但需要串口来模拟其时序才能使用,故我们没有选用此方案。
方案二:
采用温敏元件
本系统中我们采用MF58型高精度负温度系数热敏电阻器及其外围电路,组成温度信号采集电路。
相比较方案一,方案二后续电路较复杂,且需进行温度标定,但由于此方案能够较好的体现物理思想,通过实验标定温度,可以使我们更好的理解模拟信号与数字信号的转化,故我们采用了此方案。
MF58型高精度负温度系数热敏电阻器有许多优点:
稳定性好,可靠性高;阻值范围宽:
0.1-1000K;阻值精度高;由于玻璃封装,可在高温和高温等恶劣环境下使用;体积小、重量轻、结构坚固,便于自动化安装(在印制线路板上);热感应速度快、灵敏度高。
故我们采用此温敏元件。
1.2.2温度控制接口电路的论证与选择
我们采用频压转化电路将频率信号转化成电压信号,进而控制加热与降温电路工作。
选用集成式频率/电压转换器LM2907,配以外加电路,能将经PC机处理后输出的频率信号转换为直流电压信号,电压信号控制继电器(相当于开关)工作从而使电路联通,电风扇或加热丝工作。
在一定范围内,LM2907的频率和电压转换可成线性关系,可以实现电热丝加热功率和风扇转速的连续可调。
由于技术原因,我们未能实现这项功能,预留此项功能,可以作为功能扩展。
1.2.3加热与降温电路的论证与选择
方案一:
加热功率与风扇转速的连续可调
由数据选择器与两片LM2907(后接功率放大电路)分别连接加热和降温电路,实现加热功率与风扇转速的连续可调,如1.2.2所述。
原理图如下:
计算机
频压转换电路
LM2907
频压转换电路
LM2907
数据选择器
功率放大电路
功率放大电路
升温电路
降温电路
图2加热功率与风扇转速的连续可调电路原理图
方案二:
采用电热丝加热,风扇降温
由继电器作为开关,控制加热丝和电风扇的电路联通,并有单独的电路为其供电,实现“电器隔离”。
1.3软件设计
本实验中我们选用LabVIEW编程平台,不仅由于LabVIEW本身具有很明显的优势,更重要的是通过在实验中对它的应用,可以使我们接触到更前沿的技术,与时俱进。
1.3.1labVIEW介绍
在实验中,我们不断加深对LabVIEW的认识。
LabVIEW是一个基于G(Graphic)语言的图形编程开发环境,在工业界和学术界中广泛用作开发数据采集系统、仪器控制软件和分析软件的标准语言,对于科学研究和工程应用来说是很理想的语言。
它含有种类丰富的函数库,科学家和工程师们利用它可以方便灵活地搭建功能强大的测试系统。
LabVIEW编程语言最主要的两个特点是图形化编程和数据流驱动:
(1)图形化编程
LabVIEW与Visual C++、Visual Basic、LabWindows/CVI等编程语言不同,后几种都是基于文本的语言,而LabVIEW则是使用图形化程序设计语言G语言,用框图代替了传统的程序代码,编程的过程即是使用图形符号表达程序行为的过程,源代码不是文本而是框图。
一个VI有三个主要部分组成:
框图、前面板和图标/连接器。
框图是程序代码的图形表示。
LabVIEW的框图中使用了丰富的设备和模块图标,与科学家、工程师们习惯的大部分图标基本一致,这使得编程过程和思维过程非常的相似。
多样化的图标和丰富的色彩也给用户带来不一样的体验和乐趣。
前面板是VI的交互式用户界面,外观和功能都类似于传统仪器面板,用户的输入数据通过前面板传递给框图,计算和分析结果也在前面板上以数字、图形、表格等各种不同方式显示出来。
图标是VI的图形符号,连接器则用来定义输入和输出,每一个VI都有图标和连接器。
用户要做的工作就是恰当地设置参数,并连接各个子VI。
编程一般步骤就是使用鼠标选取合适的模块、连线和设置参数的过程,与烦琐枯燥的文本编程相比更为简单、生动和直观。
如果将虚拟仪器与传统仪器作一类比,前面板就像是仪器的操作和显示面板,提供各种参数的设置和数据的显示,框图就像是仪器内部的印刷电路板,是仪器的核心部分,对用户来讲是透明的,而图标和连接器可以比作电路板上的电子元器件和集成电路,保证了仪器正常的逻辑和运算功能。
(2)数据流驱动
宏观上讲,LabVIEW的运行机制已不再是传统上的冯·诺伊曼式计算机体系结构的执行方式了。
传统计算机语言(如C语言)中的顺序执行结构在LabVIEW中被并行机制所代替。
本质上讲它是一种带有图形控制流结构的数据流模式,程序中的每一个函数节点只有在获得它的全部输入数据后才能够被执行。
既然LabVIEW程序是数据流驱动的,数据流程序设计规定,一个目标只有当它的所有输入有效时才能够被执行;而目标的输出只有当它的功能完全时才是有效的。
于是LabVIEW中被连接的函数节点之间的数据流控制着程序的执行次序,而不像文本程序那样受到行顺序执行的约束。
我们可以通过相互连接函数节点简洁高效地开发应用程序,还可以有多个数据通道同步运行,即所谓的多线程。
在LabVIEW中单击加亮执行(HighlightExecution)按钮,即可以动画方式演示框图的执行过程,可以观察到数据流流动的方式,数据以有色小圆点表示,在各种不同颜色(代表不同数据类型)的连线上流动。
1.3.2主程序流程图
图3主程序流程图
1.3.3PID算法
PID算法是本程序中的核心部分。
我们采用PID模糊控制技术,通过Pvar、Ivar、Dvar(比例、积分、微分)三方面的结合调整形成一个模糊控制来解决惯性温度误差问题。
其原理如下:
本系统的温度控制器的电热元件之一是发热丝。
发热丝通过电流加热时,内部温度都很高。
当容器内温度升高至设定温度时,温度控制器会发出信号停止加热。
但这时发热丝的温度会高于设定温度,发热丝还将会对被加热的器件进行加热,即使温度控制器发出信号停止加热,被加热器件的温度还往往继续上升几度,然后才开始下降。
当下降到设定温度的下限时,温度控制器又开始发出加热的信号,开始加热,但发热丝要把温度传递到被加热器件需要一定的时候,这就要视发热丝与被加热器件之间的介质情况而定。
通常开始重新加热时,温度继续下降几度。
所以,传统的定点开关控制温度会有正负误差几度的现象,但这不是温度控制器本身的问题,而是整个热系统的结构性问题,使温度控制器控温产生一种惯性温度误差。
增量式PID算法的输出量为
ΔUn=Kp[(en-en-1)+(T/Ti)en+(Td/T)(en-2*en-1+en-2)]
式中,en、en-1、en-2分别为第n次、n-1次和n-2次的偏差值,Kp、Ti、Td分别为比例系数、积分系数和微分系数,T为采样周期。
计算机每隔固定时间T将现场温度与用户设定目标温度的差值带入增量式PID算法公式,由公式输出量决定PWM方波的占空比,后续加热电路根据此PWM方波的占空比决定加热功率。
现场温度与目标温度的偏差大则占空比大,加热电路的加热功率大,使温度的实测值与设定值的偏差迅速减少;反之,二者的偏差小则占空比减小,加热电路加热功率减少,直至目标值与实测值相等,达到自动控制的目的。
PID参数的选择是实验成败的关键,它决定了温度控制的准确度。
数字PID调节器参数的整定可以仿照模拟PID调节器参数整定的各种方法,根据工艺对控制性能的要求,决定调节器的参数。
各个参数对系统性能的影响如下:
①比例系数P对系统性能的影响:
比例系数加大,使系统的动作灵敏,速度加快,稳态误差减小;P偏大,振荡次数加多,调节时间加长;P太大时,系统会趋于不稳定;P太小,又会使系统的动作缓慢。
P可以选负数,这主要是由执行机构、传感器以及控制对象的特性决定的。
如果P的符号选择不当对象测量值就会离控制目标的设定值越来越远,如果出现这样的情况P的符号就一定要取反。
②积分控制I对系统性能的影响:
积分作用使系统的稳定性下降,I小(积分作用强)会使系统不稳定,但能消除稳态误差,提高系统的控制精度。
③微分控制D对系统性能的影响:
微分作用可以改善动态特性,D偏大时,超调量较大,调节时间较短;D偏小时,超调量也较大,调节时间也较长;只有D合适,才能使超调量较小,减短调节时间。
1.3.4前面板与虚拟仪器框图
图4前面板样图
图5源程序
(一)
图6源程序
(二)
2.单元电路设计
2.1温度信号采集电路
信号发生器与热敏电阻串联,提供交流信号。
热敏电阻阻值随温度改变,流经电阻的交流电流有效值保持恒定,由欧姆定律可知,电阻两端的电压亦随之改变。
经电压跟随器(降低信号输出阻抗)输出后,通过声卡采集数据。
电路图如下所示。
加入电压跟随器可以对前后级电路起到“隔离”作用。
电压隔离器输出电压近似输入电压幅度,并对前级电路呈高阻状态,对后级电路呈低阻状态。
极端一点去理解,当输入阻抗很高时,就相当于对前级电路开路;当输出阻抗很低时,对后级电路就相当于一个恒压源,即输出电压不受后级电路阻抗影响,使前、后级电路之间互不影响。
图7温度信号采集电路
2.2温度控制接口电路(频压转换电路)
LM2907为集成式频率/电压转换器,芯片中包含了比较器、充电泵、高增益运算放大器,能将频率信号转换为直流电压信号,后接加热、降温电路。
图8温度控制接口电路(频压转换电路)
2.3继电器控制与加热电路
输出信号经电流放大后控制继电器工作,继电器起开关作用,12V电源单独供电,实现“电器隔离”。
图9继电器控制与加热电路
2.4继电器控制与降温电路
原理同升温电路。
图10继电器控制与降温电路
2.5总体电路实物连接图
图11总电路实物连接图图12测试中的电路
3.系统测试
3.1使用的仪器仪表
PC机
直流电源
DT-2058数字万用表
信号发生器
温度计
3.2PID算法参数测定
Kp
351.3865
Ti
-2.65849
Td
0.000177
3.3温度定标
系统硬件连接好后,放在特定容器中,运行程序,用温度计测量容器内温度,每隔2℃记录一次温度值及其相应频率值。
曲线拟和后,温度标定。
4.总结
本组的成员有朱瑞,张鹏,陈耿炎,徐婷,张洁,其中朱瑞和张鹏负责硬件部分,在初期张洁和徐婷婷负责论文的撰写和硬件与软件的接口部分,后来因为陈耿炎一个人负责软件部分,任务太重,所以就安排张洁转为和陈耿炎一起负责软件的设计,其中陈耿炎做的贡献比较大,因为在重新分配任务时,软件部分已经有了大体的轮廓,只需要一些细节的改进.
我们选的这个题目难度系数比较大,所以在学习设计的过程中遇到了很多难题,譬如朱瑞和张鹏负责的硬件部分,因为用声卡读取数据,增加了很大难度,花费了很多时间和精力,而且还要准备硬件各个部分,需要自己亲自去买.软件部分遇到的困难也很多,首先因为以前从未接触过labVIEW,所以完全需要自学,书上的资料不够用,就去图书馆借书,上网查资料,不断地调适,发现问题,不断地改进,先是定时器的问题,后来又是缓冲区的问题,经过不断的努力,最终才得以克服。
最后全组成员一起去实验室测温度和电压转换的参数,还有PID参数,经过整整三个下午的努力,才得以获得较为满意的结果。
最后由徐婷婷负责论文的撰写,查资料,了解硬件和软件部分的原理,做出了很大的努力。
原来以为不用多少时间就能完成任务,结果用了整整一个学期的时间,虽然花了很多时间和精力,可是也学到了不少东西,知识是不用说的,还有就是团队合作精神。
参考文献
[1]LabVIEW7.1编程与虚拟仪器设计,侯国屏等
[2]LabVIEW高级程序设计,杨乐平李海涛等
[3]LabVIEW讲义(上册)(下册)山东大学物理与微电子学院
[4]微型计算机控制技术,潘新民王燕芳,电子工业出版社
[5]微机原理及软硬件接口技术,杨书华霍孟友主编王捷何辉华栋编
[6]Windows环境下软硬件接口技术,李圣怡戴一帆王宪平等编著