张 礼, 左玉生
(东南大学 1. 成贤学院 基础部物理实验中心,2. 实验室与设备管理处, 江苏 南京 210088)
金属电阻温度系数实验是“大学物理实验”课程的基础实验之一,该实验通过测量不同温度下的金属电阻值,计算得到金属电阻的温度系数[1]。但因实验所需测量数据较多,其中包括温度、电阻值以及热电偶热电势值,这导致很多学生在实验过程中缺乏实验操作的方向感,常常会“手忙脚乱,顾此失彼”,严重制约教学效果[2~3]。
针对以上问题 ,我们开展了金属电阻温度系数测量装置的设计。基于单片机和外围芯片,该装置可实现对金属温度及电阻等数据的采集,并通过Matlab进行数据处理,进而利用GUI实现界面显示。简言之,该装置的特点是可实时直观地显示实验过程中温度及电阻的实时变化情况。
基于以上装置的特点,为提高教学效果,我们尝试利用所设计的装置开展“一模拟、二实测”的教学方案,收到了较好的教学效果。具体而言,该教学方案是指学生在预习时,利用本文所实现的自动测量装置对金属电阻及温度相关参数进行第一次测定,建立感性认识。然后基于教材所给出的测定方案进行二次实际实验操作。如果学生在二次测量过程中出现困惑时,可以利用本文所实现的测量装置实现对金属相关参数的实时监测,这样学生在整个实验过程可以做到“心中有数,有条不紊”,很快建立测定操作方向感,减小误操作率,提高实验效率[4~6]。
为反映温度对电阻阻值的影响,这里定义金属电阻温度系数为:当温度每升高或降低1 °C时,电阻阻值增大或减小的百分数,记作α,其单位是Ω°C-1。可用下式表述 :
(1)
式中R0和R1分别为0℃和t℃时金属导体的电阻值。上式还可写成:
R1=R0+R0αt=R0(1+αt)
(2)
可见,只要测得一组与温度t相应的阻值Rt,以温度t为横坐标,以相应的电阻Rt为纵坐标作图,则纵轴上的截距等于R0,直线斜率为m=αR0,电阻的温度系数为m=αR0[7]。
基于上述原理,本文利用单片机改进了温度测量及电阻测量装置,并将硬件获取的数据传送至上位机。然后利用Matlab进行数据处理,并基于其图形用户界面GUI(Graphical User Interface)分步骤显示实验结果。改进后的装置能够实现数据的实时计算及显示,对学生实验起到很好的辅助作用。
图1给出了本设计所采用的单片机电路,其型号为STC89C52。它是一种低功耗、高性能CMOS 8位微控制器,具有 8K 系统可编程Flash存储器。这里为便于计算,所选晶振频率为11.0592 MHz。
图1 单片机电路
本实验原采用热电偶温度测量法,很难通过单片机实现热电势转换成温度数值的精确测量。在本测量方案中,为方便数据与上位机的传输,同时考虑到所设计测量装置主要起到教学辅助作用,温度测量精度只需实现整数值温度测量即可,我们采用DS18B20温度传感器来实现对温度测量及传输。其电路结构如图2所示。
图2 DS18B20电路
DS18B20温度传感器是“一线总线”数字化温度传感器,其输出仅需一条总线即可实现DS18B20与主机 CPU的双向通信,且其电源可以由数据线本身提供而不需要外部电源。图3给出了该传感器电路接线图,其1脚接地,3脚接+5 V电源,2脚接单片机P3.7口,2脚同时接一只4.7 kΩ上拉电阻。DS18B20温度传感器测温范围为-55 ℃~+125 ℃,测量精度为0.5 ℃。本实验的温度测量范围最大为0~110 ℃,以上指标完全满足要求。
图3 DS1820接线图
在单片机采集到数据后,可通过串行接口将采集数据传送至上位PC机。在本方案中,考虑到笔记本电脑未配置串行接口,而台式机使用时搬运不方便等特点,我们采用PL2303的USB-UART转换电路实现串口数据的传输,如图4所示。本转换电路具有I2C总线接口,支持外部MODEM 信号远程唤醒功能;支持WINDOWS等多种操作系统(注:本方案所采用操作系统为Windows7)。
温度数据的读取通过以下步骤完成:
1)启动温度转换
(1)复位DS18B20
(2)发出Skip ROM命令(CCH)
图4 USB-UART转换电路
(3)发出Convert T命令(44H)
2)读取温度
(1)复位DS18B20
(2)发出Skip ROM命令(CCH)
(3)发出Read命令(BEH)
(4)读两字节的温度
(5)温度格式转换
本实验中电阻在0 ℃时阻值约为50 Ω左右,实验过程中电阻随温度的变化量约0.01Ω左右。教材中实验方案所采用电阻测量仪器为开尔文双臂电桥。在本实验方案中,为便于单片机数据采集,考虑精度要求,采用电阻测量四线接法及运算放大器实现对电阻阻值的采集。
由于电阻阻值较小,本设计所获得的电压值较小。为便于数据读取,我们采用了OP07运算放大器芯片对电压数据进行放大,如图5所示。OP07芯片是一种低噪声、非斩波稳零的双极性运算放大器集成电路,其具有输入失调电压非常低(最大失调电压仅为25 μV)、温漂低、输入偏置电流低(±2 nA)和开环增益高(300 V/mV)等特点。以上特点导致OP07运放特别适用于高增益的测量设备,实现对传感器等微弱信号的测量,不需要额外的调零措施。
图6给出了电阻温度系数获取软件流程图。程序的处理分以下几个部分进行:
(1)温度数据处理部分,以300秒为一个计时周期,记录在这段时间内的温度值,得到温度随时间的变化关系,以数据点的形式进行输出;
图5 OP07运算放大器电路
(2)电阻数据处理部分,以300秒为一个计时周期,记录在这段时间内的电阻值及此过程中的其他数据,获得电阻值随时间的变化关系,以数据点的形式进行输出;
(3)结果获取部分,获得实验过程中每隔5℃的电阻值,然后以电阻和温度的关系进行拟合,通过图6中所示的几个步骤分别获得直线的斜率、截距(对应0 ℃电阻值),并通过它们与温度系数的关系,获得最终的待测金属电阻温度系数的大小。
图6 温度系数获取软件程序流程图
Matlab的GUI程序部分设计主要由两部分组成:
(1)串口通信部分主要通过serial函数建立串口对象,set函数设置串口属性并定义回调函数,fopen函数用来打开串口数据;
(2)接受回调函数部分主要通过fread函数读取串口数据。基于所读数据分别计算出当前值、平均值、最小值和最大值,并通过save函数存储所测数据,获得.mat文件。
接通电源后,PC开始接收数据并显示,其中温度、电阻部分以300 s为一个周期,循环记录测量数据并显示于GUI界面中。学生可从此变化过程观察到电阻及温度随时间的变化,形成直观感性认识。同时可以清晰的了解到,虽然教材中介绍了较为复杂的仪器设备和实验原理,但目的是为了测量温度及电阻两个较为熟悉的物理量,通过对实时温度框和实时电阻框的观察也能够直观地得出电阻值随温度变化的规律。
在实验过程中,温度测量范围从室温至95 ℃。若升温测试,加热电流不宜过大;若降温测试,则可利用大电流将电阻加热至100 ℃左右,然后再缓慢降温,根据仪器的设计要求,须降温至20 ℃以下。
达到上述要求后,可获得电阻和温度关系图,如图7所示。系统获得测试结果的过程分为4步,分别为:①作图点获取(包含获得作图点及直线);②获取R0(即图形的截距,系统所选为Cu50电阻,实际实验所用电阻与之不同);③获取K(即图示斜率);④获取温度系数(本实验的最终结果)。通过以上4个步骤,学生可以较为清晰的了解到本实验的实验操作过程以及为获取最终结果所需获得的数据。
图7 金属电阻系数数据计算图
本文所实现的电阻温度系数测量装置已用于我院学生预习及二次实际实验过程中的方向性指引,实现“一模拟、二实测”的教学方案,效果良好。
基于本文所提出的测量装置,所测到的电阻温度系数为0.0428 Ω/℃。学生在二次实际实验中,利用教材所推荐的双臂电桥电阻阻值测量装置,测量结果约为0.0430 Ω/℃,精度高于本实验装置。虽然本装置在精度上有所欠缺,但此实验装置能实时测量金属温度与电阻,且所测数据具有直观的界面显示效果,能够很好地指导实际实验的测量。
对比来看,本文所实现的实验装置,通过采用“一模拟、二实测”的方案,使学生在实验操作及实验报告撰写方面均有明显改进。在实验操作方面,学生实验操作错误有明显的减少,实验效率显著提升,实验重复率大幅降低;在实验报告方面,学生因实验数据测量错误导致的结果错误几乎很少出现,而在实验的分析讨论部分的工作有所增加,研究部分的内容也有明显的深化和提升。
[1] 任丽英. 测定金属电阻温度系数的方法研究[J]. 吉林:大学物理实验.2010(05).7~10.
[2] 陈峦,唐毅. 电阻温度系数测试系统[J]. 南宁:广西轻工业. 2008(11).27~29.
[3] 冯小娟,张华峻. 电阻温度系数的微机测定系统[J]. 吉林:大学物理实验. 1995(02).45~47.
[4] 张晓光. 电阻和电阻温度系数测量实验方法的改进[J]. 北京:实验技术与管理. 1998(06).67~68.
[5] 赵云鹏. MATLAB串口通信在数据采集中的应用[J]. 北京:微计算机信息. 2006(01).111~112.
[6] 王战军,沈明. 基于Matlab GUI的串口通信编程实现[J]. 西安:现代电子技术. 2010(09).38~41.
[7] 陈小凤.陈玉林.大学物理实验[M]. 北京:高等教育出版社.2015.1:181-188.