- UID
- 871057
- 性别
- 男
|
温度是流体力学中的重要变量,不仅影响流体介质的物理性质,更驱动着对流、混合等物理过程,因此需要快速、准确、无扰或微扰地测量流体中的温度,特别是为了了解全场流体的温度分布,就需要对多个测点同时测量。目前采用的多点温度测量方法可分为接触式和非接触式。接触式方法将温度传感器的电阻等电学信号通过AD电路采集后转换为温度信号,测量精度高,常作为其他测量方法标定的标准值。因每个温度传感器都要占用一路AD采集通道,当测点增多时,采集系统的成本大幅增加,可维护性变差。用集成温度传感器如DS18B20进行多点测温的方法已见报导,采用单总线通信使采集电路大为简化,然而采集电路受测点温度影响,测量精度有限,集成温度传感器的封装尺寸较大,热响应时间长,不适于快速测量,且对流场的干扰较大。非接触式温度测量如红外热成像方法和示温染料方法能够高密度的测量或显示温度场分布,此类方法受于背景场和染料性质的影响,测温的相对精度较高,绝对精度不能满足流体定量研究的需要。
为了克服现有测温方法不能完全满足流体多点测温需要的缺点,提出了一种用MOS管控制快速响应热敏电阻阵列与TLC555构成温度-频率(T-F)变换电路,结合单片机PIC18F6722和8253计数芯片精确测量频率并反演为测点温度,完成了测温系统的软硬件设计,能够满足流体多点精确测温的需要。
1 总体设计
PIC18F6722是Microchip公司生产的增强型单片机,集成了丰富的硬件资源,包括两个增强USART,一个SPI总线端口,54个I/O引脚,4个外部中断,3 936字节的SRAM,128 K字节的FLASH程序存储空间和1 024字节的EEPROM,可以方便的与外设连接和通信。
8253是Intel公司的微型机外围芯片,内含三个独立的16位可预置减法计数器和一个并行数据端口,可分别设置三个计数器的工作方式和读写计数值。SST25VF016是Silicon公司生产的16 Mbit SPI接口的串行FLASH存储器,可以在失电的情况下长期保存测量数据。TLC555是德州仪器生产的功能完全兼容NE555的定时器芯片,具有更快的响应速度,最高工作频率可达2MHz。
系统的结构图如图1所示,P沟道MOS管开关阵列在PIC18F6722的控制下将热敏电阻阵列中的单个电阻分别与TLC555构成无稳态振荡电路,测点温度变化引起热敏电阻的阻值变化,使得TLC555输出频率改变,实现T-F变化;2MHz标准时钟为8253计数器提供时间基准,用8253精确测量TLC555的输出频率;PIC18F6722设置8253三个计数通道的工作方式和计数初值,在结束时读取8253计数值,将计数值转化为测点的温度,将温度数据存储在SST25VF106中或通过通信电路实时传送到PC机处理和显示。
2 硬件设计
多个热敏电阻构成m行n列的热敏电阻阵列,需要m+n个MOS管,每个MOS管的栅极分别由PIC18F6722的一个I/O口的控制。以5行3列的热敏电阻阵列为例,电路连接方式如图2所示。VT1~VT8是8个P沟道MOS管,栅极分别由PIC18F6722的RE0~RE7引脚控制,R(1,1)~R(3,5)是15个热敏电阻,分布在流体中待测温度场的不同测点,TLC555振荡电路采用了文献中推荐的连接方式,输出信号为TLC555CK。
通过程序设置RE端口为推挽式输出模式,如令RE=0xdd,R(2,3)通过VT2和VT6与RA并联,则GT充电的时间常数,放电的时间常数为τL=CTRB,可计算得到TLC555的输出频率TLC555CK,其他测点可依此类推。温度变化引起R(2,3)变化,使τH改变进而引起输出频率TLC555CK改变。实现T-F变换。因为使用环境不同和器件老化等问题,测量系统存在不可避免的系统漂移,注意到τL与温度变化无关,可以用CT放电周期对系统漂移进行校正。使用8253计数器精确测量TLC555CK,2 MHz标准时钟提供时间基准,电路连接如图3所示,其中U1为2 MHz有源晶振,U2为三输入与门,U3是二输入与门,U4是反相器。将RB0设置为下降沿触发的外部中断方式,在中断函数中改变MOS管阵列的通断组合,切换到下一个测点热敏电阻进行测量。
8253计数器每个计数通道都有6种工作方式,可通过向控制寄存器写入控制字设置。计数通道0工作于方式2-频率发生器方式,在该方式下装入计数初值且GATE为高电平后即开始在输入脉冲的下降沿进行减1计数,OUT保持高电平,计数值减为1时,OUT输出低电平并保持一个CLK周期,在下一个脉冲下降沿OUT输出高电平,重装初值计数。计数通道1和计数通道2工作于方式1-可重触发的单稳态触发器,在该方式下装入计数初值不计数,当GATE由低变高并保持高时进行减1计数,GATE为低时不计数,任意时刻GATE由低变高则装载计数初值重新开始计数。
3个计数通道工作的时序图如图4所示,N0、N1、N2、分别为3个计数通道的初值。减小N0可以提高测量速度,增大N0可以获得较高的测量精度,应根据实际需要设定N0的值。一般设置N1、N2为最大值0xFFFF,并保证在测量过程中不溢出(单点测量时间小于32 ms)。在OUT0的下降沿触发PIC18F6722的RB0引脚外部中断,改变MOS管通断组合状态切换到下一个测点计数。
系统标定时计数通道0的初值为N0*计数通道1的计数值为△N1*,△N1*/(N0*-1)应为恒定值,当系统存在漂移时,该值会改变。通过以下方法校正系统漂移:在测量中计数通道0的初值为N0,计数通道1的计数值为△N1,漂移系数η定义为
计数通道2的计数值△N2与η的乘积得到校正后的计数值△N2*,用△N2*计算测点温度即可校正系统漂移。
通信和存储电路如图5所示。通信电路使用Maxim公司的MAX485芯片将PIC18F6722的串口1转换为半双工RS485总线,用RC0引脚控制MAX485的收发工作状态,实现多个测量单元远距离可靠通信。存储电路使用PIC18F6722的SPI端口,因SST25VF106是3.3 V工作电压,将PIC18F6722的SD0和SCK用电阻分压后连接,SDI引脚是输入脚,可直接与SST25VF106的SO引脚连接。
使用MOS管开关阵列控制热敏电阻阵列,实现多点的快速精确测温,当测点增多时,测量系统的复杂度无显著增加。采用8253硬件计数电路,PIC18F6722只需对8253的寄存器值进行配置和读写,即可在测量精度和测量速度间根据实际情况灵活选择,降低了软件开发难度,系统的维护升级十分方便。
3 软件设计
PIC18F6722是多点流体温度测量系统的主控制器,需要完成各硬件的初始化、硬件连接的检测、各测点温度的测量、测量数据的传输与存储等功能。软件采用模块化的设计方法,用C语言编写,使用MPLAB IDE编译器编译,包括主程序、硬件初始化程序、硬件检测程序、测温中断服务程序、通信和存储程序等。软件的流程图如图6所示。
主程序主要完成初始化各系统变量,与上位机通信决定系统硬件的工作方式,处理其他系统事务和各种异常。硬件初始化程序主要完成设置PIC18F6722各I/O口的工作方式,设置8253各寄存器的值。硬件检测程序主要测试通信电路的收发功能是否正常,存储电路的读写功能是否正常,振荡电路是否能正常工作以及热敏电阻阵列与MOS管开关阵列与振荡电路的连接是否正常。
在8253的OUT0引脚下降沿触发PIC18F6722的RB0引脚上的外部中断时,执行测温中断服务程序,在程序中关断上一测点对应的MOS管,读取8253中计数通道1、2的计数值,打开下一测点对应的MOS管,用计数通道1的值计算漂移系数校正系统漂移,再将计数器2的计数值转化为测点温度。
4 系统标定与应用
利用图2中电容CT的充放电时间常数可以计算测点温度与TLC555输出频率的对应关系,但在实际应用中由于各器件的制造误差,很难直接由对应关系计算测点温度。系统的直接测得量是8253的计数值,校正系统漂移后只有一个量(△N2*/N0),通过初始标定获得温度测量范围内每隔0.2K对应的(△N2*/N0),将其顺序保存在FLASH存储器SST25VF016中。在测量时,PIC18F6722按照线性插值方法将8253的计数值转化为测点温度。因为测量系统包含系统漂移校正机制,故系统标定过程只需执行一次便可保证长期稳定的测量精度。
具体应用中使用PIC18F6722的空闲I/O口实现了12x12阵列共144个热敏电阻的多点测量。TLC555在温度为298K时的振荡频率约为2 kHz,经过系统标定后,在280~320 K的范围内测量精度优于0.05 K,单点测量时间约为7 ms,全场测量时间约为1 s,满足了流体实验中对多点温度高精度快速测量的需要。该测量系统已成功应用于水平温差对流的实验研究中。
5 结束语
本系统实现了流体介质内多点精确快速测温的功能,测点数目增多时系统的复杂度基本不变。硬件电路将测点温度变化转化为TLC555输出频率的变化,并用8253计数器进行精确计数,单片机控制器只需读写8253寄存器即可计算测点温度,简化了软件设计,方便系统的维护升级,单片机控制器改变8253的计数初值,不改动硬件即可在测量速度和准确度间灵活选择。系统实现了漂移校正功能,省去了繁琐的多次标定过程,能够在不同的使用环境中长期稳定的测量。 |
|