虚拟仪器课程设计基于labview的温度控制器的设计.docx
- 文档编号:3441609
- 上传时间:2022-11-23
- 格式:DOCX
- 页数:26
- 大小:621.78KB
虚拟仪器课程设计基于labview的温度控制器的设计.docx
《虚拟仪器课程设计基于labview的温度控制器的设计.docx》由会员分享,可在线阅读,更多相关《虚拟仪器课程设计基于labview的温度控制器的设计.docx(26页珍藏版)》请在冰豆网上搜索。
虚拟仪器课程设计基于labview的温度控制器的设计
沈阳工程学院
┊┊
课程设计
设计题目:
基于Labview的温度控制器的设计
系别班级测控本091
学生姓名学号2009308119
指导教师职称教授
起止日期:
2012年2月27日起——至2012年3月2日止
沈阳工程学院
课程设计任务书
课程设计题目:
基于Labview的温度控制器的设计
系别班级测控本091
学生姓名学号2009308119
指导教师职称教授
课程设计进行地点:
F430
任务下达时间:
2012年2月27日
起止日期:
2012年2月27日起——至2012年3月2日止
教研室主任2012年2月27日批准
基于labview的信号发生器的设计
1.设计主要内容及要求
设计基于Labview的函数信号发生器。
要求:
1)掌握NI-DAQ使用方法。
2)了解温度测量以及控制方法。
3)设定温度,测量及显示温度,绘出温度曲线,PWM方式控制温度。
2.对设计论文撰写内容、格式、字数的要求
(1).课程设计论文是体现和总结课程设计成果的载体,一般不应少于3000字。
(2).学生应撰写的内容为:
中文摘要和关键词、目录、正文、参考文献等。
课程设计论文的结构及各部分内容要求可参照《沈阳工程学院毕业设计(论文)撰写规范》执行。
应做到文理通顺,内容正确完整,书写工整,装订整齐。
(3).论文要求打印,打印时按《沈阳工程学院毕业设计(论文)撰写规范》的要求进行打印。
(4).课程设计论文装订顺序为:
封面、任务书、成绩评审意见表、中文摘要和关键词、目录、正文、参考文献。
3.时间进度安排
顺序
阶段日期
计划完成内容
备注
1
2月27日
教师讲解题目,学生查阅相关资料
2
2月28日
进行方案论证,确定程序流程,熟悉NI-DAQ使用方法
3
2月29日
程序设计
4
3月1日
调试程序
5
3月2日
撰写论文,成果验收
沈阳工程学院
虚拟仪器课程设计成绩评定表
系(部):
班级:
测控本091班学生姓名:
指导教师评审意见
评价
内容
具体要求
权重
评分
加权
分
调研
论证
能独立查阅文献,收集资料;能制定课程设计方案和日程安排。
0.1
5
4
3
2
工作
能力
态度
工作态度认真,遵守纪律,出勤情况是否良好,能够独立完成设计工作。
0.2
5
4
3
2
工作
量
按期圆满完成规定的设计任务,工作量饱满,难度适宜。
0.2
5
4
3
2
说明
书的
质量
说明书立论正确,论述充分,结论严谨合理,文字通顺,技术用语准确,符号统一,编号齐全,图表完备,书写工整规范。
0.5
5
4
3
2
指导教师评审成绩
(加权分合计乘以12)
分
加权分合计
指导教师签名:
年月日
评阅教师评审意见
评价
内容
具体要求
权重
评分
加权
分
查阅
文献
查阅文献有一定广泛性;有综合归纳资料的能力。
0.2
5
4
3
2
工作
量
工作量饱满,难度适中。
0.5
5
4
3
2
说明
书的
质量
说明书立论正确,论述充分,结论严谨合理,文字通顺,技术用语准确,符号统一,编号齐全,图表完备,书写工整规范。
0.3
5
4
3
2
评阅教师评审成绩
(加权分合计乘以8)
分
加权分合计
评阅教师签名:
年月日
课程设计总评成绩
分
中文摘要
本次课程设计的题目是基于LabView的温度控制系统,主要讲述控制系统软件方面的设计,首先对温度传感器采集到的温度信号(转化并处理为电压信号)输入到采集卡模拟输入端口,采集卡将信号送入LabView程序处理后从模拟输出端输出相关有效的PWM调制波形。
由于条件有限本次课设忽略了传感器的设计,只是通过模拟一个温度值,就在采集卡的模拟输入端送一个0~5V的可手动调整的电压,通过手动改变的电压,就可以模拟对外部温度的变化的监控行为。
本文中的温度控制系统是为了应对当今对大规模、自动化、智能化电子测控系统的需求愈发迫切的形势而设计的,设计中所采用是由计算机计术、仪器技术和通信技术的结合而来的虚拟仪器技术。
这项技术的意义对仪器仪表、自动控制领域的发展非常大,它大大简化了系统的硬件设备,降低了开发和更新的成本,并且使系统的灵活性增强,易于维修,方便工程人员开发设计,为工厂节省了大批大批的财富。
关键词虚拟仪器,LabView,自动化控制,数据采集卡
目录
1设计任务描述1
1.1设计题目:
基于labview的温度控制器的设计1
1.2设计要求1
1.2.1基本要求1
1.2.2发挥部分1
2设计思路2
2.1DAQ数据的采集2
2.2温度检测部分2
2.3温度控制部分3
2.4显示部分3
3主程序流程图4
4温度控制器的设计5
4.1温度采集的部分5
4.2温度判断5
4.3温度调节器的多级控制8
4.3.1制冷系统的温度多级控制8
4.3.2加热系统的温度多级控制9
4.4显示部分的设计9
4.4.1温度曲线图像的设计9
4.4.2温度调节器占空比图像的设计10
4.4.3温度调节系统的指示灯设计10
4.5温度控制器前面版的设计12
5系统的工作过程分析13
6温度控制系统的功能测试14
7主要元器件介绍17
7.1NI-DAQ采集卡17
小结18
致谢19
参考文献20
附录程序框图21
1设计任务描述
1.1设计题目:
基于labview的温度控制器的设计
1.2设计要求
1.2.1基本要求
设计基于Labview的函数信号发生器。
要求:
1)掌握NI-DAQ使用方法。
2)了解温度测量以及控制方法。
3)设定温度,测量及显示温度,绘出温度曲线,PWM方式控制温度。
1.2.2发挥部分
1)根据外部温度的变化范围自动选择温度控制器的工作级别。
2设计思路
本次设计要求使用LabView来实现温度控制器的设计,在此我将其分为4个大部分:
首先是DAQ数据采集部分;其次就是温度检测部分;第三,是温度控制部分;最后就是整个系统的显示部分。
在这个温度控制系统中,使用了一个while循环结构就可以将以上四个部分很容易的套在一起,这样一来只要系统一开启就会不断的监视温度的变化并且自动使温度保持在设定的范围内,(不过我们实际上并不能将温度将下来因为没有必要的外设,所以我们只有通过观看制冷,加热器的占空比情况来判断程序是否正确)。
在监控的过程中无需人的参与,实现了高度自动化监控。
以下分别分析四个部分的简要思路。
2.1DAQ数据的采集
从传感器出来的信号要经过数据采集卡才能送至计算机中进行数据处理和记录,所以在本次设计中数据采集卡是不可或缺的一部分,它起到一个连接纽带的作用。
从传感器出来的信号接到数据采集卡的模拟输入端,然后再通过数据采集卡的A/D通道连接至计算机中去。
数据采集卡接收到的是一个模拟电压量,但是经过它的A/D通道后,计算机接收到的就是一个数字量,转换为数字量后,我们就可以方便地对它进行控制了。
Labview软件上就有一个数据采集小助手(以下简称DAQ),利用DAQ就能够对计算机里的数据采集卡进行设置并使用,使用上非常简单、方便。
在本次设计中`,为了将采集到的电压信号乘以100就当作是实际的温度了。
2.2温度检测部分
通过DAQ传入到计算机里的数据就需要进行判断和处理了。
因为我做的是温度控制系统所以实际上我要判断的数据其实就是只有温度而已,我程序的核心思想其实就是利用这个系统能够根据温度的变化作出相应的处理,比如说外部温度比设定的温度高那么我就需要让制冷设备发挥作用来降低温度,如风扇作为制冷设备时,就需要将其的占空比设置的高一些,要是反之就要将电炉的占空比设置的高一些,所以数据的判断也就是这个系统的核心部分,在这里我使用了Labview里面的公式节点作为整个程序的核心部分,通过C语言编程可以大大的降低程序的难度,判断温度的信息只需要简单的通过几句C命令就可以解决,
在这里我就是只用两个判断语句就可以知道温度是过高还是过低。
为了在以后几个部分使用上的方便,计算出实际温度与上下限温度的差值,在进行判断。
根据判断所得的结果,选择不一样的警报灯显示警报。
2.3温度控制部分
升温、降温是通过调节方波的占空比(PWM方式调控)来实现的,如果外界温度值还没有达到设定温度范围时,那么就需要使得火炉的占空比高一些,同时风扇的占空比为0,以达到对外界物体进行升温的效果,当外界的温度逐渐接近设定温度值时,火炉的方波的占空比会变小甚至为零,当外部的温度超过设定的温度时,就要增加电扇的占空比来降低温度,进而使得温度维持平衡。
上面的只是我设计的基本的要求,我的发挥部分也在温度的控制的这一部分,通过判断外部温度和设定温度的差值的温度范围来实现温度调节器的档位选取,经过了判断程序,通过接下来简单的几句C程序就可以实现这部分的程序设计。
2.4显示部分
显示部分是验证程序是否正确的重要环节,从显示的图像上我们可以直观的看到经过系统处理后的成果,这样便于分析系统中可能存在的问题,这个程序的显示部分由三大部分组成,首先就是温度的曲线图像,利用电压来模拟外部的温度变化可以从温度曲线图像上直观的看到,第二部分就是比温度控制器的图像,温度控制器是由电炉和风扇组成,所以这部分的就有两个图像组成,一个是加热占空比图像,另一个就是制冷占空比图像,温度的变化必定会使得这两个温度占空比的图像发生变化所以,通过这两个占空比图像我们就可以了解到程序的是否正确,第三部分就是温度调节器的温度显示以及档位指示灯部分,这里我设计了两个表用来显示我加热和制冷的仪器的工作示数,档位指示灯就是用来更为清晰地掌握此时温度调节器工作在什么档位级别,方便使用者更加的了解其工作的状态。
3主程序流程图
图3.1主程序流程图
4温度控制器的设计
4.1温度采集的部分
本次设计采用的是NISC-2075采集卡,由于该卡支持DAQmx驱动程序,所以本设计是直接使用DAQmx-DataAcquisition开发的,在这部分中,主要是采集参数的设置,其中包括物理通道的选择,采样模式、采样率、每通道采样数、输入方式的配置,采样最大最小值的设置。
DAQ的设置部分的步骤如下:
(1)首先要创建一个DAQ助手,在程序框图设计窗口中打开【函数】模块,执行【函数】→【express】→【DAQ助手】,调入DAQ。
然后用右键单击调入的“DAQ助手”,选择属性选项,就会出现如图4.1.2所示。
在生成信号中选择【模拟输出】→【电压】输出,选择通道ao1,DAQ创建完成。
图4.1.2创建DAQ
(2)打开程序框图编辑窗口,调整与前面板相对应的控件图标位置,以便后续摆放函数与连线。
(3)在函数选板的【编程】→【数值】子选板中选择“乘”函数和一个数值常量(设定值为100),将DAQ输出扩大100倍,并将这些数据视为实际温度。
完成以上4个步骤后温度采集程序框图就设计完了如图4.1.3所示。
4.2温度判断
这部分的我的设计思路:
通过判断外部变化的温度和给定的温度的进行比较,外部的温度大于给定的温度那么就启动制冷功能来降低温度,反之就需要启动加热功能,鉴于公式节点编程的高效性,这里我使用了公式节点来实现这部分的功能程序如下:
intt;
intm;
intn;
if(x>=y)
{t=x-y;
v=0;
if(t>100)
{a=1;
b=0;
c=0;
d=0;
m=100;}
if(t>300)
{m=100;
a=1;
b=1;
c=0;
d=0;}
if(t<100)
{a=0;
b=0;
c=0;
d=0;
m=t;}
s=m/100;
}
if(x {t=y-x; s=0; if(t>100) {a=0; b=0; c=1; d=0; n=100;} if(t>300) {t=100; a=0; b=0; c=1; d=1; n=100; } if(t<100) {a=0; b=0; c=0; d=0; n=t; } v=n/100; } 这个C程序几乎包括了所有的功能,有温度检测,温度控制程序以及部分的温度档位调节,指示灯显示程序等等;其中x、y是输入: x代表了采集的温度数据y,则代表了给定的温度值;t表示为两个温度的差值,不过t总是大于或等于0的值,其中s、a、b、c、d、v是输出: s、d分别是制冷和加热占空比的输出端,a、b、c、d则用来判断温度档位选择的重要参数,其中m、n是由来求解占空比的重要参数;程序if(x>=y){t=x-y;…………………………………s=m/100;}就是用来判断出采集到的温度是否比给定的温度高的程序,要是相等或是高那么就执行这里面的程序来启动制冷器工作;程序if(x 图4.2.1温度判断程序框图 图中有阴影的为温度判断的条件语句通过这几条语句就可以将温度判别出来。 4.3温度调节器的多级控制 温度控制部分是整个设计的核心内容它同样是利用公式节点来完成的,从上图就可以知道当外部温度大于控制温度的时候就需要降低温度所以将电炉的占空比v设为0,电扇的占空比随着温度的升高为增大如s=m/100;但是当温度差t大于100的时候则将制冷的占空比设为1,当电炉的温度小于外部的温度的时候则将电扇的占空比设为0,同时增加电炉的占空比如: if(x 上面介绍的是温度的基本控制,由于实际的温度可能变化的很大有时候及时风扇或是电炉的占空比达到最大但是可能还是不能轻松地解决问题所以在这里我设计了温度控制器的多级别控制,就是为了解决我提出的这个问题而设计的下面为了方便讲解所以根据图形来做具体的分析: 4.3.1制冷系统的温度多级控制 首先介绍的是制冷系统的多级控制图形: 图4.3.1制冷系统多级程序框图 这个就是我的制冷器的多级控制图,从图中可以看到一共分位三级控制首先就是最基本的温度调节程序就是if(t<100){a=0;b=0;c=0;d=0;m=t;}就是调节器随着制冷占空比的增加风扇转速在增大,其速度的公式为V=0.75*100s;第二级调速程序为if(t>100){a=1;b=0;c=0;d=0;m=100;}从程序语句知道此时的制冷占空比始终为1,所以此时的风速是一个定值,为1500转/min。 第三级调速就是为了应对温度差特别大的而设计的就是当温度差大于300℃时启动第三级调速程序,if(t>300){m=100;a=1;b=1;c=0;d=0;}可以看出此时的制冷占空比也是1但是风扇转速为2500转/min。 这样就可以使得温度尽可能快的维持到平衡。 4.3.2加热系统的温度多级控制 加热系统的多级控制图形; 图4.3.2加热系统多级控制图 这一部分就是加热系统多级控制程序设计,同制冷系统一样也是有三级调速档位首先就是if(t<100){a=0;b=0;c=0;d=0;n=t;}可以算出温度值T=0.15*5000v℃所以第一级温度和加热占空比有直接的关系,第二级加热的程序为: if(t>100){a=0;b=0;c=1;d=0;n=100;} 此时的占空比为1,所以此时的加热器的温度为一个定值: T=0.45*5000=2250℃;第三级的加热器的程序为: if(t>300){t=100;a=0;b=0;c=1;d=1;它的占空比同样是1所以其温度: T=0.75*5000=3750℃。 这样就可以很快的缩短给定值和所采集到的温度之间的差异。 4.4显示部分的设计 本程序的显示部分由三部分组成,第一就是温度曲线图像,第二就是温度调节器的占空比图像(电炉占空比图像,电扇占空比图像)最后一部分就是温度调节系统的温度指示灯。 4.4.1温度曲线图像的设计 利用DAQ将采集到的信号乘以系数100然后将其直接输入到波形图中就得到了温度的曲线图像如图 图4.4.1温度曲线设计框图 DAQ采集到的电压范围0到5V,我将其扩大100倍来作为外部模拟的温度变化,同时温度计显示出来此时的模拟的温度值。 4.4.2温度调节器占空比图像的设计 温度调节器占空比的图像我用了将占空比的系数增大100输入到方波波形的生成器里面(如图4)用来产生方波信号如图: 图4.4.2温度调节器占空比的设计 4.4.3温度调节系统的指示灯设计 这里我要强调一下,这个部分的设计大大的方便了我们了解系统的各种状态方便使用者掌握系统的使用方法增加了程序的实用性,提高了设计的质量,这部分的设计分两部分首先是: 制冷系统的指示灯设计图像: 图4.4.3.1制冷系统指示灯设计 加热系统的指示灯如下: 图4.3.3.2加热系统指示灯设计 这两个部分的设计十分的像都是通过不等于0等于0,与或非等逻辑运算进行简单的组合实现了指示的功能。 4.5温度控制器前面版的设计 前面板是用户接口,即交互式界面,用于用户向程序中输入各种控制参数和观察输出量,在前面板中,使用了各种仿真图标,如开关、旋钮等,并以数字或实时趋势图等各种形式的输出测试结果来模拟真实仪器的面板。 前面板的设计,充分发挥了LabVIEW的特长,即建立了友好的人机操作界面,是虚拟信号发生器的最上层。 在使用中直接通过鼠标和键盘设定信号的相关参数。 本次温度控制器的前面板主要由以下几个部分构成: 温度计,报警灯,输入/输出控件,波形图表。 此外,为了使设计的仪器更加形象、美观,还增加了许多修饰性的元件如面板上的边框,设计题目等。 尽量与真实仪器的使用界面相一致。 图4.5.1前面板的设计图 5系统的工作过程分析 温度控制系统的工作过程经过以上的详细分析之后,显得非常的清晰明了。 以下再次简要分析本系统的工作过程: (1)DAQ采集到数据,将数据(乘以100)转换成温度值,以便于处理分析; (2)接下来的数据会进入到在公式节点中,根据所设定的控制温度进行判断,另外根据公式节点中的程序,如果采集到的温度大于给定的控制温度,则启动制冷器工作,具体的做法就是增加风扇的占空比来增加风扇转速,如果采集到的温度小于给定的温度则增大电炉的占空比是温度升到给定的控制温度,经公式节点的c程序化处理,将占空比的变化输出到外部控制电路上,控制住火炉和电扇的工作强度,迫使温度保持在所要求的温度。 (3)从公式节点出来的各种数据然后在经过处理将其连接到所要显示的图像中显示出来。 (4)程序完成以上各步骤后,再次循环,只要“停止”按钮不摁下,程序就一直反复执行以上步骤。 6温度控制系统的功能测试 在软件程序设计中,由于从DAQ出来的电压值是0~5V的随机值,所以要利用从DAQ出来的电压值乘以100来模拟0~500℃的温度采集值,该温度采集值一方面送至波形图表和数值显示控件以及温度计来显示现场的温度。 另一方面送至公式节点与设定的临界值比较,当采集值小于设定温度值时,则执行加热器进行加热处理,即增大电炉占空比,当采集值大于设定温度值时,则执行制冷器进行加热处理,即增大风扇的占空比,不过不论是加热还是制冷当温度接近给定值温度的时候两个占空比都会接近为0。 下面将控制温度设定为100℃时的温度进行测试 外部温度为17℃时候的温度图像如图所示: 图6.1温度曲线图图6.2温度显示 图6.3加热占空比显示图6.4制冷占空比显示 图6.5指示灯显示 采集到的温度为17℃时的所有图像可知当采集的温度低于给定的温度的时候加热器就会启动工作,加热为A级占空比为83%(加热器),制冷没有工作; 外部温度为100℃时候的温度图像如图所示: 图6.6温度曲线图图6.7加热占空比图像 图6.8制冷占空比图像图6.9指示灯显示 从图中可知当温度为100℃时外部温度和给定的控制温度相同。 加热器和制冷器的占空比同时为0,即它们没有工作,结合17℃时候的温度调节器的占空比图像可知随着温度逐渐接近给定温度时加热器的占空比在减小,制冷器仍然没有工作。 外部温度为193℃时候的温度图像如图所示: 图6.10温度曲线图图6.11温度显示 图6.12加热占空比显示图6.13制冷占空比显示 图6.14指示灯显示 从图中可知加热器的占空比为0,停止工作不加热,制冷占空比为93即制冷器开始工作,风扇启动工作状态为A级制冷,结合上面17℃,100℃的图像可知当外部的采集温度大于给定的温度的时候制冷器开始启动,当远离给定温度的时候制冷器的工作状态增强,综合分析这个系统工作基本正常。 7主要元器件介绍 7.1NI-DAQ采集卡 可利用编程语言驱动程序函数,从而驱动数据采集卡,设计者只需正确设置输入参数,就可实现数据采集的任务,而不需要编写代码程序。 一个典型的数据采集卡的功能有模拟输入、模拟输出、数字I/O、计数器/定时器等,这些功能分别由相应的单元电路来实现。 模拟输入是采集卡最基本的功能。 它一般由多路开关、放大器、采集/保持电路,以及A/D转换器来实现,通过这些部分,一个模拟信号就可以转化为数字信号。 A/D转换器的性能和参数直接影响着模拟输入的质量,要根据实际需要的精度来来选择合适的A/D转换器。 模拟输出通常是为系统提供输出或控制信号。 数模转换器的建立时间、转换率、分辨率等因素都会影响模拟输出信号。 建立时间和转换率决定了输出信号幅值改变的快慢。 建立时间短、转换率高的D/A转换器可以提供一个较高频率的信号。 应该实际需要选择D/A转换器的参数指标。 数据采集(DAQ)是通过DAQ卡采集数据和输出数据。 通常一块DAQ卡能实现多种功能,其中包括模数转换(A/D)、数模转换(D/A)、数字输入输出(DI/O)和计算器/定时器功能。 图7.2数据采集卡各接口介绍 小结 虚拟仪器是我们测控技术与仪器专业主修的专业课之一,记得上学期我们刚接触这门课的时候,根本就不知道它是一门什么样的课程,每次上课的时候我们就是按照书本上的例子来做题,老师要是让我们自己来实现一个什么样的功能,感觉可难了,不知如何下手。 但是,后来在吕老师的指导下,觉得自己对虚拟仪器这门课已经有了最基本的了解,自己能编一些简单的程序,能实现一些简单的功能。 通过这次课程设计,我所收获的是对虚拟仪器的软件编程系统LabVIEW有了更深层次的了解。 LabVIEW是一种程序开发环境,由美国国家仪器(NI)公司研制开发的,类似于C和BASIC开发环境,但是LabV
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 虚拟仪器 课程设计 基于 labview 温度 控制器 设计