当前位置:文档之家› 基于Labview的温度控制器的设计

基于Labview的温度控制器的设计

基于Labview的温度控制器的设计
基于Labview的温度控制器的设计

背景

随着科学技术的进步,计算机计术、仪器技术和通信技术等在各个领域得到越来越广泛的应用。传统的电子测量仪器由于其功能单一、体积庞大,已经很难满足实际测量工作中的需求,由此在80年代末期虚拟仪器技术应运而生。与传统仪器相比,虚拟仪器具有功能更丰富、处理速度更快、可充性更好的优点。作为计算机技术和现代仪器技术相结合的产物,实现了在传统测试理论和测量方法上的革命性突破。

LabView由面板、流程方框图、图标/连接器组成。其中,面板是用户界面,流程方框图是虚拟仪器源代码,图标/连接器是调用接口。流程方框图包括输入/输出(I/O)部件、计算部件和子虚拟仪器部件,它们用图标和数据流的连线表示。这里利用LabVIEW作为语言开发平台.设计系统软件.并利用计算机串口与下位机串行通讯,实现温度的实时测量与控制。

虚拟仪器包括硬件和软件两个基本要素。其中,硬件的功能是获取被测试的物理信号,提供信号传输的通道。在本设计中,所需要模拟的是温度信号,温度信号主要由电压信号提供。另外,虚拟仪器的硬件技术以GPIB、PXI等先进的计算机接口总线的发展为发展标志。GPIB、PXI接口是早期比较流行的接口,随着虚拟仪器技术的发展,现在使用比较广泛的接口是DAQ、PXI和LXI。本次设计中用到的就是DAQ仪器。仪器上需要我们了解运用的,是位于仪器上左上角的电位器。调节电位器时,电压信号也会在一定范围内浮动,这对我们的设计起到一定的作用。

基于LabView的温度控制器的设计,首先由集成温度传感器AD590产生的温度-电压信号输入到采集卡AI端,其次,由于本次课设只是运用有电压值模拟一个温度值,就在采集卡的输入端送给LabView一个5V的电压,通过传输到软件电路中,加以处理再进行应用。最后,通过前面板和程序框图的设计,完成设计要求。

背景 .................................................................................................................................................. I 1设计思路 . (1)

数据的采集 (1)

我们的设计题目即为温度控制,需要对温度值进行设定、测量和显示,所以首先我们应该从对温度值的采集入手,即数据的采集。 (1)

1.1.1传感器 (1)

1.1.2数据采集卡 (1)

软件功能的实现 (2)

1.2.1前面板的设计 (2)

1.2.2程序框图的设计 (2)

2系统方框图 (3)

3 温度控制器的硬件设计 (3)

温度的测量 (3)

数据采集卡 (4)

温度控制器的软件流程图 (4)

温度控制器前面版的设计 (6)

温度显示程序框图的设计 (7)

报警程序框图的设计 (9)

PWM脉冲宽度调制升温 (9)

PWM脉冲宽度调制降温 (10)

温度控制器的完整程序框图 (11)

运行程序 (12)

4.8.1外界温度值小于设定温度值时程序的运行 (12)

4.8.2外界温度值大于设定温度值时程序的运行 (13)

5程序的调试 (14)

6工作过程分析 (15)

温度控制器的硬件部分 (15)

温度控制器的软件部分 (16)

参考文献 (16)

1设计思路

数据的采集

我们的设计题目即为温度控制,需要对温度值进行设定、测量和显示,所以首先我们应该从对温度值的采集入手,即数据的采集。

1.1.1 传感器

传感器就是内部程序跟外界沟通的门户,负责把外界的各种物理信息,如光、压力、温度、声音等物理信号变成电信号。在实际的温度测量中,我们的目的是将温度变化转换为对应的电信号变化,这就需要用到一种温度传感器。在本次设计中,我们应用到的是电压信号模拟出的温度值,所以传感器部分在设计中没有得到具体体现,但这部分是设计中必需要考虑的。

通过考虑到从传感器出来的信号要经过放大、隔离、滤波等,如果这样去设计的话会很麻烦,在设计中我就选用了一款集成温度传感器AD590,因为集成温度传感器本身就包括了放大、隔离、滤波等功能,在设计过程中不用那么繁琐。所以在此基础上,我们只需将传感器的功能理解即可。

1.1.2 数据采集卡

在了解了传感器的功能后,我们需要知道的是如何将数据从传感器传输到计算机中,这个媒介即为在设计中起到枢纽作用的——数据采集卡。从传感器出来的信号接到数据采集卡的输入端,然后再通过数据采集卡的A/D通道连接至计算机中去。数据采集卡接收到的是一个模拟电压量,但是经过它的A/D通道后,计算机接收到的就是一个数字量,转换为数字量后,我们就可以方便地对它进行控制了。

-1

软件功能的实现

软件功能即为本次设计的核心,要达到设计要求,主要看的就是此阶段的设计。我们通过对前面的介绍,了解到一个VI程序由前面板和程序框图组成。又有上学期对虚拟仪器的学习,我也知道,在考虑构建软件系统时,第一步即要由前面板入手,进行大体布局,理清思路,然后再创建程序视图,进一步对整个软件系统进行设计和操作。

1.2.1 前面板的设计

在设计前面板时,由于要使外界采集来的温度真是的显示在观察者面前,所以在进行LabView的软件编程时,就需要将外界时时变化的温度与一个数据显示控件相连,这样我们就可以从前面板上读出此时此刻测得的温度了。另外,要求中提到要通过波形图表来观察温度的变化趋势,那么在连接显示控件时,就应该不要忘记安置所需要的波形显示控件。使数据更直观,更清晰的表现在我们的眼前。

1.2.2 程序框图的设计

程序框图是整个设计的核心内容。在设计该部分时,首要要考虑功能的实现。根据各个功能选择需要用到的器件,完成各器件的连接。由于在程序中,有些量是经常被用到的,我们创建了若干个数据的局部变量,这样做不仅方便在创建中对数据或图形的操作,也使程序框图更加清晰美观。

在设计要求中用PWM方式控制温度升降等功能是本次设计难点。需要做到通过调节方波的占空比来实现温度变化,此环节需要用到真假判断结构以及各种比较器件来实现。如果外界的温度大于我所设定的温度时,就会产生报警信号,报警这个功能是很容易实现的,只要用一个比较函数就可以实现,把我设定的温度值连接到比较函数的X输入端,外界温度值连接到比较函数的Y输入端,比较函数的输出端与一个布尔指示灯相连就可以实现报警了。升温、降温是时通过一个条件结构来进行判断,再通过调节方波的占空比来实现,如果外界温度值还没达到设定温度值时,就需要

-2

对外界物体进行升温,这时方波的占空比是很大的,当外界的温度越来越接近设定温度值时,方波的占空比会变小,以为不需要太高的温度来加热了。降温的过程其实与升温的过程是同样的道理,当外界的温度值已经超过了设定的温度值时,就要对外界物体进行降温,降温的过程中,如果当外界物体的温度越来越接近设定温度时,方波的占空比也是越来越小的。

2系统方框图

图2-1温度采集系统的结构图

3 温度控制器的硬件设计

温度的测量

在本次设计中我选择AD590作为温度传感器,AD590以热力学温标零点作为零输出点,在25℃时的输出电流为。由于我设定的温度测量范围为0℃~100℃,所以按图4-1选定电路参数,该电路的输出电压灵敏度为10mV/℃。因为AD590直接测量的是热力学温度(温度单位为K),为了以摄氏温度读出,其输出必须为uA偏置。令AD590的输出电流为1k 电阻,这样就将1 uA/K的电流灵敏度转换为1mV/K的电压灵敏度。再将转换后的输出电压连接到AD524仪表放大器的同相输入端。基准电压芯片AD580输出的基准电压用电阻分压到mV,接仪表放大器的反相输入端,设置

-3

AD524的放大倍数为10,经AD524对两输入端的差值放大后,就可以将0℃~100℃的的温度输入变换为0~5V的电压输出,因此该温度测量电路

的输出电压灵敏度为10mV/℃。

5V

0V

图3-1温度测量电路

数据采集卡

本次设计采用的是NI SC-2075采集卡,由于该卡支持DAQmx驱动程序,所以本

设计是直接使用DAQmx-DataAcquisition开发的,在这部分中,主要是采集参数的设

置,其中包括物理通道的选择,采样模式、采样率、每通道采样数、输入方式的配置,

采样最大最小值的设置。

4温度控制器的软件设计

温度控制器的软件流程图

温度控制器的软件流程图如图4-1所示:

-4

-5

温度控制器前面版的设计

前面板是用户接口,即交互式界面,用于用户向程序中输入各种控制参数和观察输出量,在前面板中,使用了各种仿真图标,如开关、旋钮等,并以数字或实时趋势图等各种形式的输出测试结果来模拟真实仪器的面板。

前面板的设计,充分发挥了LabVIEW的特长,即建立了友好的人机操作界面,是虚拟信号发生器的最上层。在使用中直接通过鼠标和键盘设定信号的相关参数。本次温度控制器的前面板主要由以下几个部分构成:温度计,报警灯,输入/输出控件,波形图表。此外,为了使设计的仪器更加形象、美观,还增加了许多修饰性的元件如面板上的边框,设计题目,生产公司,改变字体颜色等。尽量与真实仪器的使用界面相一致。

启动后,在启动界面上选择新建VI,创建一个新VI,然后按下面的步骤进行设计。

(1)在控件选板的【新式】→【数值】子选板中选择一个“数值输入”控件和两个“数值显示”控件,放置到前面版设计窗口的合适位置。数值输入控件是用来设置所需要的温度;两个数值输出控件一个是用来实时温度显示的,一个使用来做方波占空比显示的。

(2)在控制选板的【新式】→【数值】子选板中选择“温度计”控件,放置到前面板设计窗口的合适位置。

(3)在控制选板的【经典】→【经典图形】子选板中选择三个“波形图表”控件,放置到前面板设计窗口的合适位置。然后,用鼠标右键单击该控件,在弹出的快捷菜单中外观选项中“标签”选择可见,分别为“温度曲线”、“PWM脉冲宽度调制升温”、“PWM脉冲宽度调制降温”。“温度曲线”的Y轴设置成“温度”,X轴设置成“时间”,“PWM脉冲宽度调制”曲线的Y轴设置成“幅度”,X轴设置成“时间”。

(4)在控制选板的【经典】→【经典布尔】子选板中选择“圆形指示灯”控件,放置到前面板设计窗口的合适位置。然后,用鼠标右键单击该控件,在弹出的快捷菜单中,标签改为“报警”。

(5)在控件选板的【新式】→【修饰】子选板中选择“标签”控件,放置到前面板设计窗口的合适位置,并输入文本“虚拟温度控制器”。

-6

(6)在控件选板的【新式】→【修饰】子选板中选择“平面凹框”控件,放置到前面板设计窗口的合适位置,并设置合适的大小。

完成以上6个步骤后的虚拟温度控制器的前面版如图5-2所示。

图4-2虚拟温度控制器前面板

温度显示程序框图的设计

温度显示程序框图的设计步骤如下:

(1)首先要创建一个DAQ助手,在流程图设计窗口中打开【函数】模块,执行【函数】→【express】→【DAQ助手】,调入DAQ。然后用右键单击调入的“DAQ助手”,选择属性选项,就会出现如图4-3所示。在生成信号中选择【模拟输出】→【电压】输出,选择通道ao1,DAQ创建完成。

-7

-8

图4-3 创建DAQ

(2)打开程序框图编辑窗口,调整与前面板相对应的控件图标位置,

以便后续摆放函数与连线。

(3)在函数选板的【编程】→【数值】子选板中选择“乘”函数,放置到程序框图编辑窗口的合适位置。

(4)在函数选板的【编程】→【数值】子选板中选择“数值常量”函数,放置到程序框图编辑窗口的合适位置(常量数值设置为20)。

完成以上4个步骤后温度显示框图就设计完了如图4-4所示。

-9 图4-4温度显示程序框图

报警程序框图的设计

报警程序框图的设计步骤如下:

(1)在函数选板的【编程】→【比较】子选板中选择“大于?”函数,放置到程序框图编辑窗口的合适位置。

2)其它部分已经在温度显示部分选完了,所以报警程序框图如图4-5所示。当外界采集进来的温度大于设定温度时报警指示灯就会亮为黄色。

图4-5 报警程序框图

PWM脉冲宽度调制升温

PWM脉冲宽度调制升温程序框图的设计步骤如下:

-10 (1)在函数选板的【编程】→【结构】子选板中选择“条件结构”,

放置到程序框图编辑窗口的合适位置,然后选择条件结构的帧为“真”。

(2)在函数选板的【编程】→【数值】子选板中选择“减”函数,放置到程序框图编辑窗口的合适位置。

(3)在函数选板的【编程】→【数值】子选板中选择“数值常量”函数,放置到程序框图编辑窗口的合适位置(放置4个数值常量,常量数值分别设置为2、4、13、)。

(4)在函数选板的【信号处理】→【信号生成】子选板中选择“方波波形”,放置到程序框图编辑窗口的合适位置。该方波的频率设为4,幅度设为2,初始相位设为13。

完成以上步骤后PWM脉冲宽度调制升温程序框图如图4-6所示。只有当设置温度大于外界温度时才满足条件结构的真,这时执行条件结构的真,然后用设置温度与外界温度的差值作为方波发生器的占空比。

图4-6 PWM脉冲宽度调制升温程序框图

PWM脉冲宽度调制降温

PWM脉冲宽度调制降温程序框图的设计步骤如下:

(1)在函数选板的【编程】→【结构】子选板中选择“条件结构”,放置到程序框图编辑窗口的合适位置,然后选择条件结构的帧为“假”。

(2)在函数选板的【编程】→【数值】子选板中选择“去负数”,放

-11

置到条件结构的框里。

(3)其它的部分与PWM 脉冲宽度调制升温程序框图的一样,

如图4-7所示。当设置温度小于外界温度时条件结构的假,然后用设置温度与外界温度的差值再取负数之后作为方波发生器的占空比。

图4-7 PWM 脉冲宽度调制降温程序框图

温度控制器的完整程序框图

温度控制器的完整程序框图如图4-8所示。

(a )帧为“真”时程序框图

-12

(b)帧为“假”时程序框图

图4-8温度控制器的程序框图

运行程序

4.8.1外界温度值小于设定温度值时程序的运行

在前面板窗口上,单击工具栏上的【运行】按钮,然后慢慢地调节数据采集卡上的旋钮,运行结果如图4-9所示。

图4-9当外界温度低于设定温度式的运行结果

4.8.2外界温度值大于设定温度值时程序的运行

在前面板窗口上,单击工具栏上的【运行】按钮,然后继续慢慢地调节数据采集卡上的旋钮,运行结果如图4-10所示。

-13

-14

图4-10当外界温度高于设定温度式的运行结果

从图4-10中可以看出,温度显示的数值已经超过了设置的温度值,这

时是要产生报警的,所以读者可以看出,这时报警指示灯已经亮了。

5程序的调试

我们编写的每一个程序都需要进行调试,我在设计中遇到了很多困难。第一天我做出来的程序运行起来时是,当外界温度值越接近我设定的温度值时,方波的占空比越来越大,经过老师一检查,给我指出来这种变化时不对的,因为当外界温度值越接近我设定的温度值时,方波的占空比应该是越来越小,因为外界温度值越接近我设定的温度值时就不用再对物体使劲的加热了。后来我想出来一个办法就是当外界的温度还没达到我设定的温度时,我用我设定的温度减去外界采集进来的温度之差作为方波的占空

比,这样一来上面出现的问题就解决了,当外界温度值越接近我设定的温度值时,它们之间的差值就越来越小,那么占空比也就越来越小了。

其次在设计过程中遇到的另一个问题就是,当外界温度改变时,从温度波形图上观察温度的曲线没有一个明显的变化趋势,温度改变时曲线扫描的可快了,后来在温度波形图的属性里把时间轴的时间间隔改长了一点这个问题也解决了。

6工作过程分析

温度控制器的硬件部分

本系统主要是对外界温度实现数据采集与自动控制,其硬件组成如图7-1所示。它主要由温度测量电路、温度控制电路、一块基于PCI总线的多功能数据采集卡及相应的软件组成。其工作过程如下:温度信号由集成温度传感器AD590转换为电压信号,AD590集成温度传感器把温度信号转化为电压信号后送至数据采集卡的A/D通道,电压信号通过数据采集卡进入计算机,计算机利用LabVIEW程序对输入的数据进行分析处理,对温度的高低进行自动控制,并将测量的温度结果显示出来。

图6-1智能温度控制系统的硬件组成

-15

温度控制器的软件部分

在软件程序设计中,由于从DAQ出来的电压值是0~5V的随机值,所以要利用从DAQ出来的电压值乘以20来模拟0~100℃的温度采集值,该温度采集值一方面送至波形图表和数值显示控件以及温度计来显示现场的温度。另一方面通过“大于”函数与设定的临界值比较,当采集值小于设定温度值时,执行条件结构帧为“真”的程序,由于现场温度值小于我们设定的温度值,所以我们要对外界的低温物体进行加热,然后快点达到我们设定的温度。升温的这过程是用调节方波的占空比来实现,用设定值减去采集值的温差来作为方波的占空比。如果采集值大于设定温度值时,就执行条件结构帧为“假”的程序,

当采集值大于设定温度值时,点亮报警指示灯,这时就说明需要对外界物体进行降温来达到我设置的温度,降温这过程也是通过调节方波的占空比来实现,用设定值减去采集值的温差然后再取一下负数来作为方波的占空比。

参考文献

[1] 张毅,周绍磊. 虚拟仪器技术分析与应用.北京:机械工业出版社,2004

[2] 张重雄. 虚拟仪器技术分析与应用.北京:电子工业出版社,2008

[3] 王利强,彭月祥,宁可庆. 计算机测控系统与数据采集卡应用.北京:机械工业出版社,2007

[4] 杨乐平. LabVIEW程序设计与应用.北京: 电子工业出版社, 2001

[5] 陈长龄. 自动测试及接口技术.北京: 机械工业出版社, 2005

-16

相关主题
文本预览
相关文档 最新文档