ionicons-v5-f

虚拟远程温度测控实验设计

实验题目:虚拟远程温度测控实验设计

1. 课程简要信息

课程名称:虚拟仪器设计
课程学时:课内 32 学时、课外 16 学时
适用专业:测控技术与仪器、机械设计制造及其自动化、自动化
学生年级:大三下学期

2. 实验内容与任务

信息时代的工程师如何对观测现场的环境温度做到随时随地,实时观测、实时控制呢?实验要求设计下位机的温度测量与控制电路和驱动程序,在上位机通过图形化的编程实现基于 B/S架构的参数设置、数据处理、显示与控制、实景监视等功能,达成对温度的虚拟远程测控任务。这其中包括了需求分析、温度测量与控制的原理、传感器的选择、调理电路的设计、软件的编写、系统的组装与调试等,涉及知识全面,对未来的工程师们是一个全面的锻炼。

1)基于 STC89C52RC 单片机实验板,以数字温度传感器 DS18B20 为对象,设计一个能够测量自然环境温度 $\left( 2 0 – 5 0 ^ { \circ } \mathrm { C } \right)$ 的电路;
2) 设计温度控制电路,当环境温度低于设定的温度下限值,启动加热设备;当环境温度高于设定的温度上限值,启动降温设备并报警;
3) 设计 RS-232C 串行通信接口电路;
4) 基于 STC89C52RC 单片机,设计温度采集与控制的驱动程序,并通过串行口与上位机通信;
5) 上位机串口通信程序的设计、参数设置模块、数据处理模块、视频监视模块;
6) 基于 B/S 架构的远程测控网络:配置 LabVIEW Web 服务器、发布 VI 程序;
7) 系统测试。

3. 实验过程及要求

1)访问虚拟仪器设计在线学习网站,预习 STC89C52RC 单片机实验板的接口资源视频,温度传感器等资料。学生通过预习在线测试后,方可参加实验;
2) 了解不同量程、精度要求下,测量温度的方法。选择数字温度传感器 DS18B20,学习其使用方法;
3) 提出温度的远程测控方案,分析方案的可行性;
4) 选择合适的元器件,设计温度的测量、控制、报警与通信接口电路;
5) 在通用电路裸板上布局元器件,电源线、地线、信号线分明,连线整齐,尽量减少线间干扰,检查无误方可通电;
6) 编写驱动程序,先分模块调试,再集成下位机 STC89C52RC 单片机调试。调试过程中,锻炼利用通用电子测量仪器检查电路、测量数据、分析问题、排除故障的能力;
7) 在 LabVIEW 中设计上位机的数据通信、参数设置、数据处理、视频监视、服务器配置与发布等功能模块,与下位机联合调试,锻炼软件程序的设计、调试能力。
8) 让同学们通过网络展示自己的作品,邀请其他同学远程实时访问自己的作品,相互交流,鼓励优秀作品的同学讲解设计思想等。
9) 撰写实验报告,写出心得体会。

4. 相关知识及背景

这是一个综合运用模拟和数字电子技术、计算机技术、虚拟仪器和互联网解决现实生活和工程实际问题的典型工程案例。设计过程中用到传感器及检测技术、模数转换、串行通信、数据显示、参数设定、反馈控制、远程测控、实景观测、服务器等软硬件相关知识,帮助未来的工程师们建立随时随地、实时观测、实时控制的概念,掌握实现技术。

5. 教学目标与目的

实验模拟较为完整的工程项目,在实验过程中引导学生了解现代测量方法、传感器技术、虚拟仪器技术;引导学生综合运用所学知识提出设计方案,分析、比较方案的可行性,自主学习新器件的使用方法,根据需要设计电路、编写程序,构建测试环境与条件,并通过测试与分析对项目作出技术评价。进一步培养学生独立思考和工程实践能力。

6. 教学设计与引导

本实验是一个较完整的工程实践题目,其中包括实验预习及效果检查、了解实验背景,自主查阅文献资料,提出设计方案,强调和深化传感器、模拟电子和数字电子知识,电路的搭建与调试,下位机和上位机程序的编写等。在实验教学中,应在以下几个方面加强对学生的引导:

1)引导学生利用网上图书馆、知网、百度学术搜索等渠道自主查阅温度测控、远程测控的相关文献和资料。学习温度测量的基本方法,了解随着温度测量范围与测量精度要求的不同,在传感器选择、测量方法等方面不同的处理方法。主要目的在于拓展学生思维,增加学生的知识储备,进而提出合理的实验解决方案。
2)加强学生针对专业虚拟仪器设计软件 Multisim、LabVIEW 使用的熟练度。通过虚拟仪器设计环境,快速建立实验的原理模型,检验实验方案的可行性。
3) 单片机 IO 接口电路经常会出现数据收发问题。当遇到此类故障时,引导学生做一个猎人,耐心观察,逐级测量电路的关键点,排查故障,强调学生自主分析和解决问题,增强学生的自信心。在排查的过程中,帮助学生内化理论内容,为后续的深入研究打下基础。
4)模拟电子电路的学习中,学生经常是知其然不知其所以然,例如交流电压的控制场景、信号调理的重要性等等,都需要学生通过实验中的各个模块逐一实现来体会模拟电路的意义。
5) 实践表明,即使电路设计正确,在实际元器件和电路板的焊接调试过程中仍然会出现问题。比如元器件布局不合理、虚焊、引脚连接错误、芯片烧坏、方向插反等等。因此,应着重加强学生电路设计和焊接调试的素养。
6)实验过程中引导学生重视示波器、信号源、万用表等通用电子仪器在排查电路故障中的作用和方法,能有效促进学生实践动手能力的提高。
7) STC89C52RC 单片机和 PC 的软件设计中,通过构思、编写、调试程序的过程,使得学生深入理解计算机,培养学生的计算思维能力,为学生在各自专业中应用和扩展编程知识并解决本专业问题打下良好的基础。总之,在实践中,总结和积累的经验都将成为学生们的宝贵财富。
8) 实验完成后,组织学生进行远程展示、体验、交流,分享设计想法和实践经验,培养学生的表达能力和团队合作意识。

7. 实验原理及方案

本实验是通过温度传感器检测环境温度,经单片机基本处理后送给上位机 PC;用 LabVIEW 编程实现基于 B/S 架构的参数设置、数据处理、显示与反馈控制、实景监视等功能,达成对环境温度的随时随地实时观测、实时控制的虚拟远程测控任务。

1) 系统结构


图 1 系统总体结构图

如图 1 所示,该实验主要设计分为两部分,第一部分是基于 STC89C52RC 单片机实验板的环境温度采集、可控硅控制的电路和驱动程序;第二部分是在上位机 PC 通过 LabVIEW 编程实现基于B/S 架构的参数设置、数据处理、显示与控制、实景监视等功能。

2) 实现方案

第一部分:基于 STC89C52RC 单片机实验板的环境温度采集、可控硅控制的电路和驱动程序

(1)了解 STC89C52RC 单片机实验板

单片机在本系统中是下位机的核心部件,实验采用了实验室常用的STC89C52RC单片机实验板。如图 2 所示,实验板采用 USB 接口外部供电,带有四位数码管,一个蜂鸣器用来报警,采用 RS-232通信接口与上位机通信。


图 2 单片机实验板俯视图

(2)环境温度采集电路

采用 DALLAS 公司生产的一线式数字温度传感器 DS18B20,它具有 3 个引脚,采用 TO-92 小体积封装形式;温度测量范围为- $. 5 5 ^ { \circ } \mathrm { C } \sim + 1 2 5 ^ { \circ } \mathrm { C }$ ,可编程为 9 位 $\sim 1 2$ 位 A/D 转换精度,测温分辨率可达 $0 . 0 6 2 5 ^ { \circ } \mathrm { C }$ ,被测温度用符号扩展的 16 位数字量方式串行输出;CPU 只需一根端口线就能与DS18B20 通信;其工作电源既可在远端引入,也可采用寄生电源方式产生,在本实验中采用外部电源供电。

DS18B20 内部结构主要由四部分组成:64 位光刻 ROM、温度传感器、非挥发的温度报警触发器 TH 和 TL、配置寄存器。DS18B20 的管脚排列如下: DQ 为数字信号输入/输出端;GND 为电源地;VDD 为外接供电电源输入端(在寄生电源接线方式时接地)。电路如图 3 所示。


图 3 温度采集电路

(3)通信接口电路

STC89C52RC 单片机实验板与上位机 PC 之间的通信采用的 RS-232C 串口通信,其串行接口电路图如图 4 所示。


图 4 RS-232C 通信接口电路

(4)可控硅温控电路

上位机接收来自远程客户端的控制信号,由单片机 I/O 口控制光电隔离器件中发光二极管的导通,控制可控硅的导通,实现对加热设备(台灯)和降温设备(风扇)的控制。单片机 I/O 口 P2.0、P2.1 通过光触发器触发双向可控硅导通,从而控制后端 220V 交流负载,同时对高压部分与弱电信号部分进行了光电隔离,可以很好的保护单片机电路。具体电路原理图如图 5 所示。


图 5 交流负载控制电路原理图

通过在单片机实验板上引出四根线,其中两根是引自单片机上空闲的 I/O 口 P2.0 和 P2.1用来控制光耦,间接地控制交流负载;另外两个线分别是 $+ 5 \mathrm { V }$ 的电源和地线。其具体的硬件电路如图 6 所示。


图 6 硬件电路图

(5)下位机驱动程序编写

下位机采用 C51 单片机语言编写,整个软件的流程图如图 7 所示。


图 7 下位机程序流程图

a) 主函数如下:
void main(void)
{Sys_Init();while(1)//死循环

{temp $\ c =$ ReadTemperature(); //温度采集子函数调用DisplayNumber(temp); //温度显示子函数调用}}b) 串口中断子函数如下:void getch(void) interrupt 4 //中断源编号为 4,即串口中断{$\scriptstyle \mathrm { R I = 0 }$ ; //清除中断标志,硬件置位,软件清零$\operatorname { S e r W } { = } \operatorname { S B } \operatorname { U F }$ ; //接受串口缓冲区数据。if $\mathrm { S e r W = } = ^ { \prime } \mathrm { m } ^ { \prime }$ ) ${ { \mathrm { S 1 } } _ { - } { \mathrm { O N } } ; }$ //开风扇 (S1 控制风扇,S2 控制台灯)else if( $\mathrm { S e r W { = } { = } { \bar { n } } ^ { \prime } }$ ) ${ { \mathrm { S 1 } } _ { - } { \mathrm { O F F } } ; }$ //关风扇else if( $\mathrm { S e r W } { = } { = } { ^ { 1 } } 0 { ^ { \prime } }$ ) ${ { \mathrm { S } } 2 \mathrm { ~ O N } ; }$ //开台灯else if( $\mathrm { S e r W { = } { = } } ^ { \prime } \mathrm { p } ^ { \prime } .$ ) { S2_OFF;} //关台灯else if( $\operatorname { S e r W } { = } { = } { " } \mathbf { X } { ' }$ ) { S1_OFF; S2_ON; BEEP_OFF;} //关风扇,开台灯,关蜂鸣器else if ${ \mathrm { S e r W } } { = } { = } \mathrm { y } ^ { \prime } .$ ) { S1_ON; S2_OFF; BEEP_ON;} //开风扇,关台灯,开蜂鸣器else if( $\mathrm { S e r W } { = } { = } { ^ { \prime } } \mathrm { z } ^ { \prime } $ ) { S1_OFF; S2_OFF; BEEP_OFF;} //关风扇,关台灯,关蜂鸣器else if( ${ \mathrm { S e r W } } { = } { = } { ^ { 1 } } \mathrm { s } ^ { \prime }$ ) { BEEP_ON;} //开蜂鸣器else if( ${ \mathrm { S e r W } } { = } { = } { ^ { 1 } } \mathrm { t } ^ { r }$ ) { BEEP_OFF;} //关蜂鸣器else if( $\mathrm { S e r W } { = } { = } { ^ { \prime } } \mathrm { W } ^ { \prime }$ ) { ; } //执行空语句else $\scriptstyle { { \mathrm { P } } 1 = { \mathrm { S e r W } } ; }$ //控制 LED 灯SBUF $\underline { { \underline { { \mathbf { \Pi } } } } } =$ temp/256; //temp 是整形数值,先发送高字节while $[ \mathrm { T } ] { = } { = } 0$ ) {;} //通过串口缓冲区向外发送数据$\scriptstyle \mathrm { { T I = 0 } }$ ; //清楚中断标志,硬件置位,软件清零SBUF $=$ temp%256; //发送低字节while $\scriptstyle \mathrm { I I = = 0 }$ ) {;}$\scriptstyle \mathrm { { T I = 0 } }$ ; //清楚中断标志,硬件置位,软件清零}

第二部分:在上位机 PC 实现基于 B/S 架构的温度远程测控功能

系统上位机的应用软件实现通信模块的初始化,读取下位机采集的温度值,进行数据处理后,显示在前面板,并把控制参数传递给下位机,实现对硬件实验设备的控制。通过 USB 摄像头采集视频信号,并进行实时显示。根据软件实现的功能,遵循模块化的原则把上位机应用软件分为若干个相对独立的模块,系统上位机应用软件结构框图如图 8 所示。


图 8 系统上位机应用软件结构框图

(1)串口通信模块

初始化串口通信参数,实现 PC 机与下位机单片机实验板的数据通信。LabVIEW 提供了功能强大的 VISA库。利用串行端口实现上位机与单片机实验板的数据通信。 LabVIEW 主要有 4 个串行通讯子 VI, 分别实现串口初始化设置、串口读、串口写、关闭串口的功能。

(2)参数设置模块

系统的控制部分集中在参数设置模块里,包含温度上限值和下限值的设定,系统自动模式和手动模式的选择,在手动模式下的交流负载开关设置,以及十进制整数值通过 LED 灯以二进制的方式显示。参数设置模块的前面板如图 9 所示。


图 9 参数设置模块的前面板

(3)环境温度数据处理模块

下位机发送的数据是温度值是乘以十倍后的值,没有小数部分,所以在上位机里需要对原始数据除以十,得到正确的温度值。数据显示部分程序如图 10 所示。


图 10 数据显示部分程序

温度值通过图表的方式显示在前面板上,整个系统的主界面如图 11 所示。


图 11 系统的主界面

采集到的温度值与设定的上、下限值的大小比较,根据比较的结果选择程序执行的事件。上图中“正常”下面的绿色指示灯亮起表示温度正处在系统设定的范围内,属于正常的状态;如果温度值大于设定的上限值,“过高”下面的红色灯就会亮起,并开启下位机实验板上的蜂鸣器报警,当系统处在自动状态中,“降温设备”右边的绿色指示灯也会亮起,系统自动启动降温设备,直到温度达到设定的范围内,此时关闭降温设备和实验板上的蜂鸣器,回到正常状态的显示;如果温度值小于设定的下限值,“过低”下面的蓝色指示灯就会亮起,当系统处在自动状态中,“加热设备”右边的绿色指示灯也会亮起,系统自动启动加热设备,直到温度达到设定的范围内,此时关闭加热设备,回到正常状态的显示。

(4)实景视频监视模块

视频监视模块负责实时提供视频信号,使用户更加真实地体验现场实验,即时了解现场的状况,增加用户的实验兴趣,提高整个系统的安全性。

视频监视模块的前面板如下图,画面左边一栏是 LabVIEW 视觉模块自带的图像处理工具,第一个按钮功能是放大和缩小画面,第二个是把鼠标指针切换到箭头模式,第三个是把鼠标指针切换到手型工具,可以直接拖动画面,再往下的这些工具主要是用来选取不同形状的画面,用来做进一步的图像处理。视频监视模块的前面板如图 12 所示。


图 12 视频监控效果图

(5)系统帮助模块

在帮助模块中,对系统的各项操作功能进行了解释说明,帮助用户更好地使用系统。

(6)基于 B/S 架构的远程测控模块a) 配置 LabVIEW Web 服务器

设置 LabVIEW Web 服务器时,首先需进入 LabVIEW 的开发环境 ,然后进入主菜单中“工具 $>$ 选项”,系统会弹出一个对话框,在对话框中选择下拉菜单中的“Web 服务器:配置”页面 ,继而系统会弹出 Web 服务器配置对话框 ,如图 13 所示。


图 13 Web 服务器配置对话框

选择“启用 Web 服务器”选项 ,使其生效 ,其它可以选择使用默认。根目录是用于保存所发布的网页,HTTP 端口是计算机通讯端口,为了避免与本机其它 Web 服务的 HTTP 端口冲突,可以设置 1024 后面的端口号 。

图 13 的主菜单下选择“Web 服务器:可见 VI”页面,在这里配置允许被远程连接的 VI。默认*表示任何 VI都可以被连接。

图 13 的主菜单下选择“Web 服务器:浏览器访问”页面,在这里可以配置允许连接本机的远程主机。默认*表示任何主机都允许连接本机。选择确定,如果没有弹出任何警告,则表明 Web 服务器启动成功。

b) 在 Web 上发布 HTML 文件

选择需要发布的 VI 程序,进行在 Web 上发布 HTML 文件。首先进入“工具 $\cdot >$ Web 发布工具”选项,打开如图 14 对话框。


图 $1 4 \mathrm { \ : \ : W e b }$ 发布工具对话框

在该对话框中的 VI 名栏中选择希望在网页中进行浏览的 VI,这些 VI 必须是已经打开了的。查看模式有 3 种:嵌入模式下用户不仅可以浏览前面板,还可以控制前面板;快照表示仅把当前的 VI前面板的截图发布在网页中;监视器与快照一样,但是它会不断地按指定时间间隔更新截图。

单击下一步,在该对话框中配置网页标题、页眉、页脚。

单击下一步,在该对话框中配置网址,选择保存至硬盘,将弹出文档 URL对话框,单击连接按钮就可以在本地网页中浏览到该网页了。

8. 教学实施进程

本实验属于国家级电工电子实验教学基地的选修课虚拟仪器设计的课程实验,采用学生为主、教师为辅的教学形式,具体实施进程如下:

1)任务安排:教师在虚拟仪器设计在线学习网站发布实验任务,学生登录网站,下载实验任务和相关资料,自由组合分组。2)线上预习:学生在课程学习网站观看实验原理介绍视频和 PPT 课件,通过预习测试答题后,方可允许进行实验。3)现场教学:教师课堂 4 学时,讲解单片机实验板和温度测控的基础功能设计,同学们在课堂分小组讨论系统设计方案的合理性,确定设计方案;准备实验设备及元器件。

4)实验实施:

a) 下位机电路设计调试:基于 STC89C52RC 单片机实验板的环境温度采集、可控硅控制的电路的设计、焊接、调试;

b) 编写下位机各功能的接口驱动程序;
c) 用 LabVIEW 设计上位机的各个功能程序,基于 B/S 架构的远程测控程序;
d) 系统联合调试,如图 15 所示;


图 15 学生进行实验调试场景

e) 教师全程在线答疑,鼓励学生线上自由讨论。

5)结果验收:学生展示自己的作品,如图 16、17 所示。邀请其他同学访问自己的远程实验,鼓励优秀作品的学生分享自己的设计体会。


图 16 下位机硬件连接图


图 17 服务器端系统前面板

6)总结演讲:小组每个成员总结实验的收获、经验和教训;教师点评各小组实验方案、实验过程和实验结果,图 18 为学生总结演讲现场。


图 18 学生进行实验总结演讲

7)成绩考核:教师考察学生的电路原理图、焊接的电路板、程序运行的稳定性、功能的扩展性,并结合学生演讲效果,给出综合成绩。

8)实验报告:学生撰写实验报告,总结实验过程中出现的问题,给出解决方案。

9. 实验报告要求

实验报告需要反映以下工作:

1) 分析远程温度测控实验的需求,实现方案论证;
2) 简述所设计的传感器、光耦、温控电路、单片机和上位机的工作原理;
3) 画出电路图注明电路参数和所选期间的型号;
4) 填写所需设备及实验器件表;
5) 搭建各个电路模块并进行调试,针对出现的问题和解决方法进行总结,用仪器记录相关测量
结果;
6) 在 LabVIEW 中设计串口通信、参数设置、数据处理和视频监视模块程序;
7) 基于 B/S 架构的远程测控网络:配置 LabVIEW Web 服务器、发布 VI 程序;
8) 系统测试,给出实验结果;
9) 写出设计的创新及总结报告。

10.考核要求与方法

1) 课前预习:通过预习测试方可进行实验,10 分;
2) 实物验收:实验下位机的测温电路、反馈控制电路的性能指标完成程度,完成时间,10 分;
3)实验质量:电路方案的合理性,焊接质量、组装工艺,30 分;

4)自主创新:功能构思、电路设计的创新性,是否有扩展功能,自主思考与独立实践能力,10分;

5)实验成本:是否充分利用实验室已有条件,材料与元器件选择合理性,成本核算与损耗,10分;

6)实验报告:实验报告的规范性与完整性,30 分。

11.项目特色或创新

1)工程完整性:这是一个解决现实生活和工程实际问题的典型工程案例,操作性强,下位机上位机更切近工程实际,解决数据采集、传输、处理分析的工程问题。对学生从调研、查资料、功能设计、电路焊接与调试、程序编写、实物连接与调试都进行了训练;

2) 知识串联性:电路应用涉及模电、数电、单片机、虚拟仪器、互联网技术等知识;

3)实验考核:层次分明,基础 $^ +$ 拓展,激励学生自主学习,自主创新;

4) 帮助学生建立随时随地、实时测控的理念。

参赛信息表

案例提供单位西安电子科技大学相关专业测控技术与仪器、机械设计制造及其自动化、自动化
设计者姓名王佩电子邮箱wangpei@xidian.edu. cn
移动电话13468600566通讯地址(含邮编)陕西省西安市太白南路2号(710071)
设计者姓名贺华电子邮箱Hehua1999@163.com
移动电话15594843078通讯地址(含邮编)陕西省西安市太白南路2号(710071)
设计者姓名秦红波电子邮箱qhb0920qhb@xidian.edu.cn
移动电话13992898684通讯地址(含邮编)陕西省西安市太白南路2号(710071)
相关课程名称虚拟仪器设计、单片机应用系统设计学生年级大三下学期学时(课内+课外)课内32学时、课外16学时
支撑条件仪器设备STC89C52RC单片机实验板、示波器、万用表、PC
软件工具LabVIEW、KeiI uVision3
主要器件STC89C52RC 单片机实验板、DS18B20 温度传感器、光耦、可控硅、升温降温装置

获奖信息

获奖等级 一等奖
年份 2020

作品信息

学时分类 课内:32、课外:16

作者信息

作者
王佩,贺华,秦红波
学校
西安电子科技大学
院系
机电工程学院

电工电子实验教学资源平台 苏ICP备09069895号-19