温度检测与控制的设计与调试

测试测量实验

10人已加入

描述

温度检测与控制的设计与调试

一、实验目的                                                                               

1.了解晶体管PN结作为温度传感器的测温原理。
2.进一步理解双积分A/D转换的工作原理。
3.掌握温度检测与控制方法。
4. 掌握基于Labview的虚拟温度检测与控制仪的软件设计。

二、 实验任务和内容

1.学习温度检测和控制电路的原理。
2.使用Labview,设计温度检测和控制的程序,要求:
(1)设计用户界面;
(2)控制A/D转换,测量电压计算转换为温度;
(3)温度控制到设定温度;
(4)显示温度随时间的变化曲线。
3.调试和测试温度检测和控制仪,记录和分析实验结果。

三、实验器材

1.计算机                                         1台
2.SJ-8002B电子测量实验箱                         1台
3.SJ7005温度检测实验板                           1块

四、实验原理

   4.1.PN结温度二极管的测温原理

   二极管的正向特性与温度有关,温度升高时,正向伏安特性曲线左移,规律是:温升1℃,曲线左移(2~2.2)mV。

 

检测
图1 温度对二极管伏安特性的影响

   4.2.温度检测和控制原理

?? 温度检测与控制系统原理框图如图2所示,它由加热灯泡,温度二极管,温度检测电路,控制电路和继电器组成。温度二极管和加热灯泡封闭在一个塑料保温盒内,温度二极管监测保温盒内的温度,用SJ-8002B电子测量实验箱内部的A/D转换器ADC7109检测二极管两端的电压,通过电压和温度的关系,计算出盒内空气的实际温度。
温度二极管上的电压V输入给ADC7109的正输入端,另外检测电路产生V0,输入给ADC7109的负输入端测量,采集ADC7109的A/D转换后的输出数据,即可计算出实际温度T,它们之间的关系为:
    T=K0-K1×(V-V0)
T为测试温度,(V-V0)为ADC7109测量的差分电压。经过实验测试,取K0=71,K1=500,温度每变化1℃,V变化0.002mv。

检测


                          图2      温度检测与控制系统原理框图

   温度自动控制原理:实验选择自动控制方式时,若实际温度超过设定值,控制电路发出信号,使继电器动作,断开灯泡的加热电压,停止加热。由于保温盒向外散热,盒内空气温度下降,当下降到低于设定值时,控制电路发出接通继电器的信号,使灯泡通电加热,盒内空气温度上升,如此周而复始的测控操作,使盒内空气温度维持在设定值附近。

4.3 温度实验板的电路原理图
检测
                                           图3   温度实验电路图

4.4 双积分A/D转换器ICL7109工作原理和通道增益

   如图4为双积分A/D转换器ICL7109实验电路图。待测模拟信号从实验箱的外部接线端7109+和7109-输入。
   7109的A/D转换关系为:
检测
式中, 检测 —— A/D转换器输入电压;
检测 —— A/D转换结果的12bit数字量;
检测   —— A/D转换器外部参考输入电压,调节为检测=2.048V;
由上式可知,若检测=2.048V ,则检测即为以mv单位表示了检测,即 检测


检测

                                图4   双积分式A/D转换器7109测量电压原理

(3) 增益选择电路

    待测模拟信号经过两级测量放大器进行信号放大,前级放大器的增益有3档,分别为1、10、100,后级放大器的增益有4档,分别为0.5、1、2、5,通过模拟开关CD4052选择放大器反馈电阻,即可进行两级放大器的增益组合选择,设置了10档量程: 40mV、80mV、200mV、400mV、800mV、2V、4V、8V,对应增益:×100 、× 50、× 20、×10、×5、×2、×1、×0.5。选择的依据是输入信号经过放大后的电压范围为-4V~+4V。

五、设计指导

5.1.方案设计

    本实验基于“SJ8002B电子测量实验箱”的模拟输入通道A/D转换和基于PC机的虚拟仪器软件平台(Labview)构建测量方案,实现温度检测和控制。其过程是7109转换,加热的启动及停止控制,传感器电压检测以及放大,电压值通过计算转换为温度值,当前时间/温度及初始时间/温度值获取。
   (1)整个程序为循环结构,循环内部采取顺序结构,依次实现系统的初始化,温度检测,加热控制,温度显示和时间显示。设计思路流程图如图5:

检测

检测

 

 

 

 

 

 

 

 

                  图5 设计总流程图                     图 6 温度检测流程图

   (2)温度检测的流程图如图6:

   (3)加热工作模式分为手动和自动两种。加热控制的流程图如图7:
检测

 

 

 

 

 

 

 

 

                                     图7 加热控制流程图

   (4)总的系统简化结构如图8所示:


检测

 

 

 

 

                                  图8 系统设计总图


5.2.功能与前面板界面设计


    虚拟温度监控仪主要完成温度板温度的测量、显示及控制。因此,在虚拟仪器界面上需有多个布尔控件,如加热/加热方式控制,退出选择;同时需要数字输入和接受控件,如温度,电压,实验相关信息的输入和测量值获取等;以及温度计和表格显示控件,溢出指示。
    图9为前面板设计的参考。启动虚拟仪器labview软件开发环境,建立新的工程文件,打开front Panel设计界面,并存储,由界面文件自动生成相关流程图框架。


检测

 

 

 

 

 

 

 

 

 

 

                                             

 

图9  软件界面

   本程序中需要用到的前面板控件有:
                                       表1 前面板控件


控件类别

控件位置

控件名及作用

控件图标

输入控制类

All Controls>Numeric>Numeric Control

起始温度

检测

Text Ctrls>String Control

实验日期

检测

实验人员

检测

按键控制类

All Controls>Classic Controls>Classic Boolean>Horizontal Switch

加热方式选择

检测

All Control>Classic Controls>Classic Boolean>Labeled Oblong Button

手控/自控加热控制

检测检测

Buttons>Stop Button

程序退出控制

检测

数字显示类

Num Inds>Num Indicator

传感器电压/放大后电压

检测

Num Inds>Num Indicator

开始时间/当前时间/经历时间/实验日期

检测

指示类

LEDS>Round LED

加热状态指示

检测

All Controls>Numeric>Vertical Fill Slide

温度计指示

Graph Inds>Waveform Chart

温度波形变化指示

装饰控件

All Controls>Decorations

美观

5.3.动态链接库调用

   本程序设计的主要实现已经做成底层fp函数(用Labwindows/CVI实现),在程序实现时可直接调用实验箱提供的驱动函数动态链接(即.dll函数),驱动函数I原型及常数和变量在t_control.prj中,因此,程序设计时,应加入动态链接t_control.dll。另外,本程序调用了两个个Labview自带的时间函数:获取当前日期/时间:All Controls>Time&Diaglogue>Get Date/Time String;计算经历时间:All Controls>Time&Dialogue>Elapsed Time。实现温度检测及控制的驱动函数如下表:
                                        表2  动态链接调用

序号

fp函数

实现功能

输入参数

输出参数

返回值

动态链接图标

1

void __stdcall epp_init(void)

初始化EPP接口

检测

2

int__stdcall epp_read_check (void)

EPP读数检查

0:EPP可正常读数;1:EPP不能读数

检测

3

int __stdcall run_7109 ( unsigned char m_what, unsigned char gain_cw,double vref, double *rult)

运行7109,实现7109的读数及转化

m_what:测试对象
gain_cw:量程控制字
vref:参考电压

rult:测量结果

0:读数有效;2:读数无效,正溢出;3:读数无效,负溢出;4: EPP不能读数

检测

4

void __stdcall amp_7109 (unsigned char gain_cw, double *gain, int *showdot)

根据量程设置增益和显示位数

gain_cw: 量程控制字

gain:量程的增益 howdot:该量程的有效位数(V为单位,showdot为小数点后的位数)

检测

5

void__stdcall indicator_7109 (unsigned char gain_cw, double *indicator_gain,double *indicator_max)

根据量程设置7109输入增益,电压表表最大显示数字

gain_cw: 量程控制字

gain:量程的增益
indicator_gain:
7109输入增益
indicator_max:表盘最大显示数字

检测

6

void __stdcall start_7109 (void)

启动7109

检测

7

int __stdcall led_display(double display_data)

LED显示

display_data:显示数据

成功执行后,返回值为0

检测

8

void __stdcall turn_on(unsigned char heat_cw)

控制温度板的灯点亮/熄灭

heat_cw:亮/灭控制 (加热)
0:灭  -1:亮

检测

动态链接调用举例: int  led_display(double display_data):
  在block panel中点击右键:All functions>Advanced>Call library function node.
检测

                                 图10  动态链接调用界面
检测
双击出现如图11:

检测

                                      图11 动态链接调用

  此时可根据调用函数的路径,参数及名称进行设置进行得到图12:

检测

 

 

 

 

 

 

 

 

                                      图12 动态链接设置
    这样就完成了动态链接的调用及设置。

5.4.流程图设计

   (1)整个程序要求由 “退出”按扭来控制程序的运行与否,因此主框架可以设计为structure中的while循环。 整个程序分为三个部分:温度测量,加热控制及温度显示,时间显示。因此可在总循环 内部采取顺序结构以实现以上功能。
  (2)温度测量:在初始化系统以后,要测量温度是依靠运行7109实现的。将7109测到的电压通过温度电压的转换公式温度(℃)=71-500*电压(mV),即可以得到当前温度。同时取选初值作为起始温度。注:此处需要调用两个动态链接:run_7109和led_display来实现温度的检测及显示。
  (3)加热控制及温度显示:
   加热控制实现的方式包括两种:自动加热方式和手动加热方式。可以通过case结构来判断前面板布尔量进行选择加热方式 “设定温度”框中填入值是要求达到的目标温度;实验过程中,温度值通过“当前温度”显示框显示,或者由“温度指示”的模拟温度计显示。加热过程中温度随时间变化的曲线可由右边的GRAPH显示屏显示。“加热状态”指示灯的红色代表正在加热,白色代表停止加热。
注意:“温度设定”的范围检测是:检测

                                                   表3 加热控制


判断控件

位置

布尔值

意义

注释

加热方式

左边

FALSE

自动控制方式

设定温度>当前温度时加热启动

右边

TRUE

手动控制方式

手动控制加热及显示


   <1> 自动加热:
   自动加热方式时,当“自控开始”按下,且设定温度<当前温度:启动加热,并将当前温度送到显示。
   自动加热方式时,当“自控开始”按下,但设定温度〈当前温度,加热停止,但温度仍然送显示。直到当前温度〈当前温度,重复上一步,再次加热。如此循环。
   自动加热方式时,当“自控结束”按下,停止加热,温度值不再送显。
   <2> 手动加热:与自动加热方式相同的是,手动方式也需判断“手控开始”按下与否,但手动方式中不用判断当前温度与设定温度之间的关系。
   手动加热方式中,当“手控开始”按下时,即开始加热,并将当前温度送显。
手动加热方式中,当“手控停止”按下时,停止加热,但温度仍然送显。
  (3)时间显示:本程序最后一个步骤是将当前时间与初始时间送显。基于LavVIEW自身强大的功能,我们可以通过调用后面板中 AllFunctions>Time&Dialogue>Elapsed Time来实现。

 六、测试和调试

  6.1.硬件连线

  硬件连线如图16。在开电源前插卡和连线:


检测


                    图13 温度检测与控制实验硬件连线图

  1. 将温度检测实验板插在J001位置;
  2. 连接温度检测实验板电源接口J2和电子测量实验箱左上角的JP004的AC 9V;
  3. 连通实验箱和计算机EPP并行接口。
  4. 跳线S101向左边(连接到DC-)。

6.2.程序功能检查
  (1)温度测量检查: 运行程序,不加热,这时测量的温度值为室温,左上角显示的“传感器电压”范围在0.09V~0.13V之间,显示的放大后电压=5×传感器电压。

 (2)加热控制检查
   手控方式时,点击“手控加热”,灯泡点亮,温度上升;关闭“手控加热”,灯泡灭,温度下降。
   自控方式时,点击“自控开始”,当设定温度>当前温度时,灯泡点亮,温度上升;当设定温度≤当前温度时,灯泡灭,温度下降。

6.3 温度检测与控制实验

  “设定温度”框中输入需要的温度值40度;选择“自动加热”;点击“开始”。温度实验板上继电器接通,灯泡点亮,开始加热。记录温度和时间数据在如表4。注意观察温度稳定时的加热通断的时间间隔。

表4  自动加热温度检测实验板的数据记录表


实验人员

 

设定温度(℃)

40

室温(℃)

 

实验日期

 

时间(S)

0

10

20

30

40

50

60

70

80

90

100

110

120

温度(℃)

 

 

 

 

 

 

 

 

 

 

 

 

 

时间(S)

130

140

150

160

170

180

190

200

210

220

230

240

250

温度(℃)

 

 

 

 

 

 

 

 

 

 

 

 

 

由表4的数据和程序记录的温度-时间曲线,计算出温度的上升时间、稳定时间、稳定度、超调量。

附:温度检测实验板温度校正方法

   硬件连接如图4-20,其中AC 9V的电源可以不接。运行温度检测的程序,把温度检测与控制系统运行界面的“自动加热”栏选项改为取消,点“开始”按钮,用温度板测试室温;用温度计测试当时室温,比较两个测得温度,有差别就用螺丝刀调节SJ-7005 T Test 温度检测实验板的电位计V1,观察“当前温度”框显示的温度值,使温度检测实验板显示的温度值与温度计测试值一致。
打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 相关推荐
  • 热点推荐
  • 检测

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分