1. 波谱与原子分子物理国家重点实验室,武汉磁共振中心(中国科学院 武汉物理与数学研究所),湖北 武汉 430071;
2. 中国科学院大学,北京 100049
收稿日期: 2014-05-29
; 收修改稿日期: 2014-10-29
基金项目: 国家重大科学仪器设备开发专项资助项目(2011YQ120035)
Design and Implementation of a Low-Temperature Liquid Level Monitor Unit for Superconducting Magnets
1. State Key Laboratory of Magnetic Resonance and Atomic and Molecular Physics, Wuhan Center for Magnetic Resonance (Wuhan Institute of Physics and Mathematics, Chinese Academy of Sciences), Wuhan 430071, China;
2. University of the Chinese Academy of Sciences, Beijing 100049, China
* Corresponding author:
LIU Chao-yang, Tel: +86-027-87198790, E-mail:chyliu@wipm.ac.cn
引言
超导磁体相对于常规磁体而言,具有励磁线圈电流密度大、电流稳定性高、功耗小、体积小和运转费用低等优点,可满足用户对磁场高强度、高均匀度和高稳定度等性能的要求,在科学研究、医疗诊断、交通运输和电力系统等领域有着广阔的应用前景,其中采用了超导磁体的核磁共振(NMR)谱仪和磁共振成像(MRI)仪更是发展形成了一个产值巨大的市场[1, 2].随着国民经济和科教医卫事业的迅速发展,我国对超导NMR和MRI仪器设备的需求也在飞速增长,但是这些仪器设备的核心技术与制造基本上控制在少数发达国家手中,为了打破国外的技术垄断并满足国内市场的巨大需求,我国科研机构目前正在积极开展超导仪器设备的自主创新研制.
超导磁体的正常运行需要一个稳定的超低温环境,常规实用NMR和MRI超导磁体的励磁线圈需要浸没在液氦中,由于液氦的沸点(4.2 K)低于超导励磁线圈的临界温度(TC),可确保励磁线圈工作在超导状态.又由于液氦十分容易蒸发,导致液氦杜瓦腔内液面不断降低,一旦励磁线圈露出液氦面,露出部分的线圈温度会快速上升并超过TC,其超导特性会瞬间发生改变,导致超导磁体发生失超事故,轻则耗费大量的液氦和时间,重则仪器损坏造成重大经济损失,甚至可能发生危及操作人员安全的意外.因此,为了确保超导磁体系统的安全运行,通常在液氦杜瓦腔外层设置一道液氮杜瓦(或低温冷头)冷屏以减少液氦的蒸发率从而抑制液位下降.此外,超导仪器设备必须具备实时监测液氦和液氮的液位的重要功能,以便技术人员分析监测数据的变化趋势,判断低温系统是否正常运行从而发出预警,并及时补充液氦和液氮以确保其液位始终处于安全范围内.由于低温杜瓦的相对封闭的金属构造,无法直接观测液氦和液氮的液位变化,早期是由操作人员借助工具进行液面探测,其操作过程繁琐费时,对操作人员要求较高,一旦操作不当容易引起事故,监测数据受人为因素影响大,难以实现对液位有效的实时监测.为此,后来发展出了利用传感器的方式实现对液氦和液氮的液位监测[3].
随着超导仪器用户设备保有量不断增加,为进一步降低普通用户的使用维护门槛,我们拟在利用传感器技术的基础上发展仪器的远程监控和远程控制功能,以便能为超导仪器运行提供更高级别的安全保障.因此,本文根据铌钛超导材料在液氦中电阻为零以及液氮具有较高介电常数的特点,采用电阻式和电容式传感器分别测量液氦和液氮的液位,设计并实现了一种基于STM32微控制器的低温液位监测单元,可以实时监测超导磁体中液氦和液氮的液位,并可根据传感器的不同灵活切换测量模式,液位信息通过LED数码管显示,并在液位低于警戒值时自动发出警报.同时进一步设计了通过控制器局域网(Control Area Network, CAN)总线把监测数据自动发送至上位机,利用网络实现液位的远程监测和远程控制等功能,可以满足多套超导磁体集约化管理的需求,使普通用户的仪器运行获得更高级别的安全保障.
1 液氦和液氮的液位测量原理
1.1 液氦液位的测量原理
液氦的测量使用电阻式传感器,其测量原理如图 1所示.使用一根铌钛超导丝制成的液位传感器插入液氦中,其中I+端和I-端连接电流源的正负极,V+端和V-端输出超导丝的电压.测量时,浸没在液氦中的那部分超导丝呈超导态,电阻为0;而液面之上的超导丝由于加热电阻的作用呈正常态.通过测量传感器的电阻变化量,即可检测液氦液面的变化[4-6].
液氦液位的计算公式为:
$
H = L \times (1 - \frac{{{R_x}}}{{{R_0}}})
$
|
(1) |
(1)式中,H为被测液体的高度;L为超导丝的长度;Rx为通过测量所得的超导丝的电阻值;R0为液位为零时超导丝的电阻值.
1.2 液氮液位的测量原理
液氮的测量使用电容式液位传感器,其测量原理如图 2所示,电容传感器由两个同轴不锈钢管构成,中间使用聚四氟乙烯绝缘材料固定两个管子的位置,外管的管壁上开有若干流通孔,使液氮能在电容传感器中自由流入或流出.由于空气和液氮的介电常数不同,当液位变化时,传感器的电容量也相应变化,可以检测出液位的变化[7-9].
液氮液位的计算公式为:
$
C = \frac{{2\pi \varepsilon H}}{{\ln \frac{D}{d}}} + \frac{{2\pi {\varepsilon _0}(L-H)}}{{\ln \frac{D}{d}}}
$
|
(2) |
(2)式中,H为液氮的液位;L为传感器的长度;C为传感器的电容量;D为不锈钢外管的内径;d为内管的外径;ε0为空气介电常数;ε为液氮的介电常数.
2 液位监测单元的硬件设计
2.1 硬件整体设计
液位监测单元的硬件整体架构如图 3所示,液位监测单元硬件电路主要由模拟信号处理电路和以STM32 ARM微控制器为核心的控制系统组成.
电阻传感器负责测量液氦的液位.由STM32微控制器所控制的电流源可针对不同的电阻传感器输出稳定的电流.电阻传感器传回的电压信号经过电压-频率转换电路进行处理,转变为频率后提供给STM32微控制器的计数器进行处理,STM32通过对频率的计算可以推算出液氦的液位信息,并显示在LED上,以及通过CAN通信把液位信息上传给上位机[10, 11].
电容传感器负责测量液氮的液位.电容传感器所检测到的液位信息以电容量的形式测出,经过电容-频率转换电路后,提供给STM32微控制器进行处理,最后得出的液氮液位信息同样显示在LED上并通过CAN通信传给上位机.下面对硬件的各主要模块进行详细说明.
2.2 压控电流源的设计
为了适应不同规格的电阻传感器对电流源的需求,由微控制器所产生的PWM输出经过光耦合器的隔离耦合以及比较器的缓冲后,再经过低通滤波后输出一个直流电压以控制电流源.
压控电流源的电路工作原理如图 4所示,正电源VCC为+45 V,运放LF353D的正相输入端的电压为VIN,负反馈使得反相输入端的电压也为VIN,则R56两端的电压为VCC-VIN,从而得到发射极的电流(也就是输出电流IOUT)为:
$
{I_{{\rm{OUT}}}} \cong \frac{{{V_{{\rm{CC}}}}-{V_{{\rm{IN}}}}}}{{{R_{56}}}}
$
|
(3) |
为了保证输出电流的稳定,R56的阻值稳定极其重要,应采用精度为0.1%的精密电阻.
2.3 电压-频率转换电路
电压-频率转换电路的原理图如图 5所示,电阻式传感器提供的电压经由接口V+和V-进入电压-频率转换器TC9400的3脚和7脚,然后在8脚输出相应的频率FREQ_OUT,输出频率经过光耦的隔离耦合后进入微控制器进行处理,从而计算出液氦的液位.
由MICROCHIP公司生产的TC9400是一款使用了低功耗CMOS技术的低成本电压-频率转换器.其输出的频率与输入电压成线性比例关系,线性度达0.05%,输出频率范围是1 Hz~100 kHz,输出频率由下式计算:
$
{F_{{\rm{OUT}}}} = \frac{{{V_{{\rm{IN}}}}}}{{{R_{{\rm{IN}}}}}} \times \frac{1}{{{V_{{\rm{REF}}}}{\rm{ \bullet }}{C_{{\rm{REF}}}}}}
$
|
(4) |
(4)式中,输入电压VIN为电阻传感器所产生的电压;输入电阻RIN为R1和R2之和;参考电压RREF为6.2 V;参考电容CREF为30 pF.
2.4 电容-频率转换电路
电容-频率转换电路的原理图如图 6所示,采用INTERSIL公司型号为ICM7555的555定时器构建一个经济实用的电容-频率转换电路.电容传感器的两个极板分别连接P1和P2接口,接口PL1,PL2和PL3分别接供电电源、频率输出和地,由电阻R2和电容构成积分电路,并周期性对电容进行充放电,使得电容上的电压在门限电压上下反复震荡,通过555定时器内部的比较器和触发器的工作,可以在输出管脚得到相应的脉冲波形.
输出频率的计算公式为:
$
{F_{{\rm{OUT}}}} = \frac{{1.44}}{{({R_1} + 2{R_2})C}}
$
|
(5) |
(5)式中,R1的阻值为470 kΩ,R2的阻值为47 kΩ,电容C的值为电容传感器的电容值与C1和C4串联后的等效值.
2.5 微控制器系统设计
以STM32F103微控制器作为控制核心,对模拟接口电路输出的频率信号进行处理,并通过脉冲宽度调制(PWM)为压控电流源提供输入脉冲,通过CAN总线与上位机进行通信,液氦和液氮的液位信息在微控制器内进行计算,其结果在LED数码管上显示,并且在液位低于安全位置时,通过蜂鸣器进行报警.图 7所示为微控制器系统电路的框图.
由意法半导体公司推出的STM32F103系列微控制器使用32位的RISC内核,工作频率可达72 MHz,内置用于存放程序和数据高速存储器,具有丰富的I/O端口和外设,包含2个12位的ADC、3个通用16位定时器和1个PWM定时器.另外,还包含了一系列标准和先进的通信接口:多达2个I2C和SPI、3个USART、1个CAN和1个USB.
3 液位监测单元的软件设计
3.1 软件总体设计
液位监测软件的主要功能是通过CAN通信设置两个测量通道的各项参数,并控制电流源为电阻式液氦传感器提供工作电流,然后将测量通道反馈回来的频率信号进行处理,得出液位信息后显示在LED数码管上,并通过CAN通信接口上传给上位机.其功能框图如图 8所示.
液位监测软件的总体流程图如图 9所示.整个软件支持液氦液氮两个通道同时工作,也支持使用通道1单独测量液氦或者液氮.液位监测软件通过在线编程(In-Circuit Programming,ICP)的方式下载并存储在STM32的片内闪存中,并可使用在程序中编程(In-Application Programming,IAP)的方式修改相关参数.
软件的整体流程为:上电工作后先进行系统初始化,并判断是否需要设置参数以及工作模式,在正常的工作模式下,对液氦和液氮进行测量,并进行相应时间的延时.在延时过程中,随时可以通过中断进入非正常工作模式,即对各控制参数进行修改,或者对测量频率的快慢模式以及通道数进行切换.
3.2 频率信号处理程序设计
STM32F103包含了多个通用定时器,为了能够同时测量液氦和液氮的液位,本文使用通用定时器TIM2和TIM3分别为液位监测的两个通道进行频率信号处理.在STM32F103初始化的时候对TIM2和TIM3进行配置,其时钟由内部时钟源提供为72 MHz,预分频值为1,计数器设置为向上计数模式,自动重载寄存器的值设置为65 535.
频率信号处理程序的流程图如图 10所示,上电后对定时器和程序所用到的参数进行初始化.然后定时器在输入捕获模式下等待输入信号的边沿的到来,一旦检测到第一个边沿的到来(CapTime=0),读取捕获数据然后退出中断;当检测到第二个边沿的到来(CapTime=1),再次读取捕获数据并计算出频率值完成一次频率信号的处理.为了取得准确的频率值,采用多次测量取平均值的方法,测量次数为160.
4 液位监测单元的功能测试
液位监测单元经过PCB的器件焊接和各个功能模块的调试后进行了功能测试.在默认设置中,液位监测单元启用了两个测量通道,通道1用于液氦测量,通道2用于液氮测量.
试验准备就绪后,监测单元正常测量模式下启动测试,LED数码管显示的液氦和液氮的液位数据如图 11所示,其中左边的LED数码管指示液氦的液位百分比,右边的LED数码管指示液氮的液位百分比,中间的指示灯表示液氦测量处于正常状态,监测的数据与人工借用工具进行的间接测量结果基本一致,表明液氦和液氮的液位实时监测功能可以正常工作.
同时,液位数据通过CAN通信发送至上位机,上位机接收到的数据如图 12所示,ID号0321代表通道1,ID号0322代表通道2.接收到的数据为4位16进制数,高两位代表小数点前的整数,低两位代表小数点后的小数.图中通道1接收到的数据为0x3701,转换成十进制为55.1,结果与图 11中的LED数码管显示的液位信息是一致的.通道2接收到的数据为0x4701~0x4705,转换成十进制数为71.1~71.5,这与图 11中LED数码管显示的数字是一致的,表明液位数据的远程监测功能得到了实现.
测试上位机对液位监测单元的参数设置和远程控制功能时,由上位机通过CAN总线向监测单元发送液位测量模式切换的指令,切换到快速测量模式后的LED数码管显示如图 13所示,面板上的快速模式指示灯做出了反应,此测量模式可用于补充液氦时液位快速变化的快速实时测量,表明上位机能够通过CAN总线实现对液位监测单元远程控制功能.以上测试表明我们研制的液氦液氮的液位监测单元达到设计要求,图 14所示为液位监测单元主控部分的PCB(印制电路板).
5 结论
本文首先介绍了超导磁体液氦和液氮的液位监测单元的研究背景和意义,接着介绍了液氦和液氮的液位测量原理,然后详细阐述了基于STM32微控制器的双通道低温液位监测的设计方案,即从微控制器STM32F103输出的PWM波形控制电流源输出一个稳定的电流,同时,两路频率转换电路分别把电压值和电容值转换为频率信号,输入到微控制器STM32中进行处理,最后由STM32输出的液位信息在LED数码管进行显示并通过CAN通信传至上位机.最后通过测试表明,实现了液位的实时监测、远程监测和远程控制等功能,验证了设计的可行性.