虚拟仪器课程设计——基于labview的温度控制器的设计内容摘要:

只需要简单的通过几句 C 命令就可以解决, 在这里我就是只用两个判断语句就可以知道温度是过高还是过低。 为了在以后几个部分使用上的方便,计算出实际温度与上下限温度的差值,在进行判断。 根据判断所得的结果,选择不一样的警报灯显示警报。 基于 labview 的 温度控制 器的设计 3 温度控制部分 升温、降温是通过调节方波的占空比( PWM 方式调控)来实现的,如果外界温度值还没有达到设定温度范围时,那么就需要使得火炉的占空比高一些,同时风扇的占空比为 0,以达到对外界物体进 行升温的效果,当外界的温度逐渐接近设定温度值时,火炉的方波的占空比会变小甚至为零,当外部的温度超过设定的温度时,就要增加电扇的占空比来降低温度,进而使得温度维持平衡。 上面的只是我设计的基本的要求,我的发挥部分也在温度的控制的这一部分,通过判断外部温度和设定温度的差值的温度范围来实现温度调节器的档位选取,经过了判断程序,通过接下来简单的几句 C 程序就可以实现这部分的程序设计。 显示部分 显示部分是验证程序是否正确的重要环节,从显示的图像上我们可以直观的看到经过系统处理后的成果,这样便于分析系统中可能存 在的问题,这个程序的显示部分由三大部分组成,首先就是温度的曲线图像,利用电压来模拟外部的温度变化可以从温度曲线图像上直观的看到,第二部分就是比温度控制器的图像,温度控制器是由电炉和风扇组成,所以这部分的就有两个图像组成,一个是加热占空比图像,另一个就是制冷占空比图像,温度的变化必定会使得这两个温度占空比的图像发生变化所以,通过这两个占空比图像我们就可以了解到程序的是否正确,第三部分就是温度调节器的温度显示以及档位指示灯部分,这里我设计了两个表用来显示我加热和制冷的仪器的工作示数,档位指示灯就是用来更为清晰地 掌握此时温度调节器工作在什么档位级别,方便使用者更加的了解其工作的状态。 基于 labview 的 温度控制 器的设计 4 3 主程序流程 图 图 主程序流程图 DAQ 采集 实际温度值与设定值比较 升温 显示 温度信息 N 大于给定值。 小于给定值。 N Y Y 增加电扇转速 增加电炉温度 降温 电扇、电炉不工作 基于 labview 的 温度控制 器的设计 5 4 温度控制器 的设计 温度采集的 部分 本次设计采用的是 NI SC2075 采集卡,由于该卡支持 DAQmx 驱动程序,所以本设计是直接使用 DAQmxDataAcquisition 开发的,在这部分中,主要是采集参数的设置,其中包括物理通道的选择,采样模式、采样率、每通道采样数、输入方式的 配置,采样最大最小值的设置。 DAQ 的设置部分的步骤如下: ( 1)首先要创建一个 DAQ 助手, 在程序框图设计窗口中打开【函数】模块 ,执行【函数】 → 【 express】 → 【 DAQ 助手】,调入 DAQ。 然后用右键单击调入的 “DAQ助手 ”,选择属性选项,就会出现如图 所示。 在 生成信号中选择【模拟输出】 → 【电压】输出,选择通道 ao1, DAQ 创建完成。 图 创建 DAQ ( 2)打开程序框图编辑窗口,调整与前面板相对应的控件图标位置,以便后续摆放函数与连线。 ( 3) 在函数选板的【编程】→【数值】子选板中 选择“乘”函数和一个数值常量(设定值为 100),将 DAQ 输出扩大 100 倍,并将这些数据视为实际温度。 完成以上 4 个步骤后温度采集程序框图就设计完了如图 所示。 温度判断 这部分的我的设计思路:通过判断外部变化的温度和给定的温度的进行比较,外部的温度大于给定的温度那么就启动制冷功能来降低温度,反之就需要启动加热功能,鉴于公式节点编程的高效性,这里我使用了公式节点来实现这部分的功能程序如下: int t。 int m。 int n。 基于 labview 的 温度控制 器的设计 6 if (x=y) {t=xy。 v=0。 if (t100) {a=1。 b=0。 c=0。 d=0。 m=100。 } if (t300) {m=100。 a=1。 b=1。 c=0。 d=0。 } if (t100) { a=0。 b=0。 c=0。 d=0。 m=t。 } s=m/100。 } if (xy) {t=yx。 s=0。 if (t100) {a=0。 b=0。 c=1。 d=0。 n=100。 } if(t300) {t=100。 a=0。 b=0。 c=1。 d=1。 n=100。 基于 labview 的 温度控制 器的设计 7 } if (t100) {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=xy; …………………………………s=m/100 ; }就是用来判断出采集到的温度是否比给定的温度高的程序,要是相等或是高那么就执行这里面的程序来启动制冷器工作;程序 if (xy) {t=yx; …………………………………v=n/100 ; }就是由来判断断出采集到的温度是否比给定的温度低的程序,要是低那么就执行这里面的程序来启动加热器进行工作;这部分部分的程序框图如图 所示: 图 温度判断程序框图 基于 labview 的 温度控制 器的设计 8 图中有阴影的为温度判断的条件语句通过这几条语句就可以将温度判别出来。 温度调节器的多级控制 温度控制部分是整个设计的核心内容它同样是利 用公式节点来完成的,从上图就可以知道当外部温度大于控制温度的时候就需要降低温度所以将电炉的占空比 v 设为0,电扇的占空比随着温度的升高为增大如 s=m/100;但是当温度差 t 大于 100 的时候则将制冷的占空比设为 1,当电炉的温度小于外部的温度的时候则将电扇的占空比设为 0,同时增加电炉的占空比如: if( xy)时 s=0, v=n/100;同样的当两个温度的差值大于 100 时就需要将电炉的占空比设置为 1。 上面介绍的是温度的基本控制,由于实际的温度可能变化的很大有时候及时风扇或是电炉的占空比达到最大但是可能还是不能轻松地 解决问题所以在这里我设计了温度控制器的多级别控制,就是为了解决我提出的这个问题而设计的下。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。