徐一清, 倪涌舟, 周益民, 周国泉
(浙江农林大学光机电工程学院,杭州 311300)
理想气体的摩尔定压热容cp,m和摩尔定体热容cV,m之比γ称为气体的比热容比,又称为气体的绝热指数,是一个重要的热力学参量,在工程技术的绝热或近似绝热的过程中应用广泛[1-2]。空气比热容比测定是大学物理实验课中开设比较普遍的热学实验,测定γ的方法有多种,绝热膨胀法是其中常用的一种[3-5]。本实验在测量过程中经历了4个热力学过程,在4个过程中瓶内温度和压强都在不断变化。传统实验中观察温度压强变化的方式是观察数字电压表数值的瞬时变化,实验结束只能得到平衡状态时的数值,不便于观察装置内状态的实时变化。另外,传统实验数据显示为电压值,需要进行一定的关系式转换才能成为实际的大气压强和温度,不够直观方便,实验装置所用传感器灵敏度也相对较低,读取数据存在延迟。针对上述不足,本文将传统测量装置与计算机相结合,利用LabVIEW程序和串口通信技术,实现了气压温度数据在计算机上的自动采集和处理,促进了实验教学的数字化、信息化。
本实验所用传统仪器为FD-NCD-Ⅱ型空气比热容比测定仪,它由扩散硅压力传感器、集成温度传感器(AD590)、测量仪表(装有数字电压表、直流稳压电源、固定取样电阻等)、大玻璃容器、充气球及导线等组成。瓶内气体的温度和压强可以通过温度传感器和压差传感器测量并在主机上以电压的形式显示[6]。改造后的实验装置如图1所示,由BMP388气压温度传感器替代了原压力和温度传感器,由计算机替代了原数字电压表,实现了气压温度数据实时采集、快速分析绘图和空气比热容比自动计算等功能,提高了实验的可视化和自动化程度,使得系统的视觉效果更好,人机交互性更强。
图1 改进后的空气比热容比测定系统
绝热膨胀法测量空气比热容比变化过程如图2所示。以贮气瓶内空气作为研究对象的热力学系统(见图3)进行如下实验过程[3]。首先关闭放气活塞B,打开进气活塞A,用充气球D向封闭的瓶内均匀打气,充入一定量的气体,然后关闭进气活塞A。此时瓶内空气被压缩,压强增大,温度升高,气压温度传感器C检测输出相应信号,待瓶内气体温度稳定时,即达到与周围温度(室温)平衡,此时的气体处于状态Ⅰ(p1,V1,T0)。之后迅速打开放气活塞B,使瓶内气体与大气相通,当瓶内压强降至p0,听到放气声消失时,立刻关闭放气活塞B。由于放气过程较快,瓶内保留的气体来不及与外界进行热量交换,可以认为是一个绝热膨胀过程。在此过程后瓶内保留的气体由状态Ⅰ(p1,V1,T0)转变为状态Ⅱ(p0,V2,T1)。V2为贮气瓶体积,V1为保留在瓶内这部分气体在状态Ⅰ时的体积。由于瓶内气体温度T1低于室温T0,因此瓶内气体慢慢从外界吸热,直至达到室温T0为止,此时瓶内气体压强也随之增大为p2,则稳定后的气体状态为状态Ⅲ(p2,V2,T0)。从状态Ⅱ到状态Ⅲ的过程可以看作是等容吸热的过程。状态Ⅰ→状态Ⅱ是绝热过程,由绝热过程方程得:
图2 气体状态变化过程
图3 实验装置示意图
状态Ⅰ和状态Ⅲ的温度均为T0,由气体状态方程得:
合并式(1)和(2),得:
由式(3)可以看出,只要测出p0、p1、p2,就可以求得空气的比热容比γ。
基于LabVIEW的空气比热容比测定系统主要由三部分构成:安装LabVIEW2012的计算机(上位机)、Arduino单片机和BMP388气压温度传感器。整个系统的设计方案如图4所示。
图4 系统整体设计方案图
系统工作时,使用虚拟仪器软件LabVIEW2012的NI-VISA窗口配置助手通过计算机的RS-232接口向下位机发送数据采集命令,下位机中的Arduino单片机接收到命令后控制BMP388传感器检测瓶中空气压强和温度,并通过I2C总线读取数据,经转换后打包发送给上位机。上位机对数据进行各种处理、分析,并进行存储、显示和相关计算,从而实现了在LabVIEW平台下的可视化空气比热容比自动测量。
(1)主控制器。本系统采用Arduino Uno R3作为主控制器,其引脚丰富,软件程序开发效率高,库函数丰富,硬件成品开源,价格低廉[7-9]。它的核心处理单元是ATmega328P,支持14路数字输入输出,支持PWM,6路模拟输入口,可以支持方口USB或者MicroUSB接口连接进行代码的烧录或供电,也支持独立电源供电,完全能满足本实验设计需求。
(2)传感器。BMP388是德国博世公司(BOSCH)推出的一款24位高精度气压温度传感器,可实现精确的高度跟踪,检测大气压强、温度,支持I2C/SPI接口,兼容3.3 V/5 V电平。尺寸小,低功耗、低噪声,高精度,特别适用于无人机,精密高度计、环境监测和物联网等应用场景。相对气压测量精度为±8 Pa,绝对温度测量精度为±0.5℃。BMP388由电阻式压力传感器、ADC、控制单元、E2PROM和I2C组成[10]。该传感器通过I2C总线和单片机进行数据传输。
(1)下位机单片机程序设计。单片机端使用Arduino集成开发环境,采用C/C++语言编写程序[7]。整个程序采用模块化设计,主要包括:初始化程序、主程序、BMP388数据采集程序、I2C数据读写程序和串口中断服务程序等。图5所示为主程序流程图。
图5 单片机主程序流程图
(2)上位机LabVIEW程序设计。本实验上位机系统软件是基于LabVIEW平台开发的,由前面板程序界面和后面板程序框图两部分组成[11-15]。软件流程图如图6所示,LabVIEW程序通过串口通讯采集数据,并由后台软件实现数据的分析和处理,最终通过前面板界面窗口输出检测结果和相应测量曲线[16]。
图6 上位机LabVIEW程序流程图
LabVIEW前面板即程序界面如图7所示,包括实验参量设置及测量结果显示。图中:p0为初始瓶内气压压强;p1为等容放热稳定后瓶内气压压强;p2为等容吸热稳定后瓶内气压压强;γ为空气比热容比。从图中可清晰地观察到瓶内气体经历了绝热压缩、等容放热、绝热膨胀和等容吸热4个热力学变化过程,有助于学生更好地理解实验原理。
图7 LabVIEW前面板界面
如图8所示,LabVIEW后面板程序设计与前面板功能一一对应,主要由串口配置模块、数据显示导出模块和数据处理模块组成。此部分利用了NI-VISA窗口配置助手连接下位机与电脑中的LABVIEW程序。在此之前,要设置串口的相关参数配置,包括波特率、串口名称、数据发送位数以及数据标志位。读取到的数据存入LabVIEW程序中的数据缓存器,转换后数值显示在前面板中的数值显示窗口以及温度压力曲线显示波形图表。通过LabVIEW中的簇功能将时间数据、温度数值、压力数值等数据捆绑到一起,再经过移位寄存器变成数组存入到制定的Excel表格中。在结束数据采集步骤后,进行数据处理,通过编写的程序进行空气比热容比的计算。
图8 LabVIEW程序框图
原仪器测量5次数据如表1所示,其中理论值γ0=1.402;p0=101.3 kPa;p1=p0+p′1/2 000;p2=p0+p′2/2 000。200 mV读数相当于10.0 kPa。由表1中数据求得ˉγ=1.238,Er=11.6%。
表1 原仪器测量压强与温度记录表
运行LabVIEW程序,串口选择“COM12”,采用连续采集方式进行实验,输出温度压力曲线如图7所示。分别测量5次,记录数据如表2所示。由表2中数据求得=1.348,Er=3.9%。由此可见,改进后的仪器测量精度有了很大提高。
表2 改造后仪器测量压强记录表
基于LabVIEW系统的可视化空气比热容比快速测定仪实现了数据的自动采集和温度压力变化曲线的实时绘制存储,提高了实验的可视化和自动化程度。让学生把实践的重点放在对整个实验过程原理的理解和操作能力的锻炼上,而不是花费更多的时间在数据的记录与计算上,从而大大提高了实验的教学效率。
该实验仪获得2021年第十二届浙江省大学生物理实验与科技创新竞赛一等奖。