简介:这份PDF文献聚焦电力系统变电运行中的光纤光栅测温系统,面向变电运维人员、电力设备状态监测研究者以及电气工程相关专业师生,用于理解测温技术选型与热故障预防思路。全文围绕电力设备过热故障分类、现有测温手段对比展开,系统梳理了电类传感器、红外测温与光纤式测温在精度、抗干扰、安装与在线监测能力上的差异,并重点说明光纤光栅传感器抗电磁干扰强、绝缘性好、不易腐蚀、体积小、感温头易贴合被测表面的优势。文中还列举了具体应用场景,包括电力电缆表面及密集区域测温、电缆夹层沟道与隧道监测、汽轮机内部湿蒸汽测量,以及发电机、变压器温度分布监测等,对热动保护与设备故障诊断具有参考价值。资源为单个PDF文件,压缩包约118KB,属短篇期刊论文,篇幅紧凑、查阅方便。目前已有87人学习,适合作为电力系统测温方案调研与工程实践的专业参考文献。
1. 从开关柜触头烧蚀说起:光纤光栅测温在变电运行里到底解决什么问题
变电站里最危险的发热点,往往藏在带电柜体内部:10 kV 开关柜的梅花触头、母线搭接螺栓、电缆终端搪锡处、隔离开关触指。这些位置一旦接触电阻因氧化或松动变大,温升会在几小时内从几十度爬到两百度,形成发热—氧化—电阻增大—更热的正反馈,最终烧穿绝缘。麻烦在于它既带电又不可见,红外测温枪只能扫柜壳外部,热电偶要供电、要走线,绝缘距离和电磁干扰都难处理。光纤光栅测温系统的价值就在这里:传感头是刻在光纤纤芯里的一段无源光栅,不带电、不怕电磁干扰、能直接贴在触头表面,一根光纤还能串起十几个到几十个测点,把高压带电部位的温度实时送出来。面向的读者是变电运维班组、开关柜集成厂商和电力系统在线监测的实施方。
2. 光纤光栅测温原理与变电场景选型:波长怎么漂、为什么比热电偶和红外更适合柜内
2.1 布拉格波长漂移的物理模型与温度灵敏度系数
光纤布拉格光栅(FBG)是在掺锗光纤纤芯上用紫外激光刻出一段周期性折射率调制,调制周期记作 Λ。满足布拉格条件的光会被反射回来,中心波长由下式决定:
λ_B = 2 · n_eff · Λ
其中 n_eff 是纤芯有效折射率。温度升高时,热膨胀让 Λ 变大,热光效应让 n_eff 变大,两个效应叠加把反射峰往长波方向推。在小范围内做一阶展开:
Δλ_B / λ_B = (α + ξ) · ΔT
石英的热膨胀系数 α ≈ 0.55×10⁻ /°C,热光系数 ξ ≈ 6.3×10⁻ /°C,合计约 6.85×10⁻⁶ /°C。代入 λ_B = 1550 nm,得到约 10.6 pm/°C。也就是说 1°C 只对应约 10 pm 的波长漂移,解调仪要能分辨 1 pm,才谈得上 0.1°C 的分辨率,这是整条链路精度的源点。
应变会产生同量级的漂移,Δλ/λ = (1−p_e)·ε,p_e 约 0.22。所以安装时要把光栅段做应变释放,否则触头热胀产生的机械应力会叠加到温度读数上,表现出来就是温度曲线里出现和负荷无关的台阶。
2.2 变电运行测温点分布与几类方案对比
变电运行需要盯的位置集中在高压带电且巡检不到的地方,常见有:开关柜静触头与梅花触头、母排螺栓搭接面、电缆终端与中间接头、变压器绕组和铁芯、断路器触指、隔离开关导电臂。这些点数量多、分布散、靠近强电场,选型逻辑和实验室测温完全不同。
| 方案 | 传感头带电情况 | 抗电磁干扰 | 单点成本 | 组网能力 | 柜内适用性 |
|---|---|---|---|---|---|
| 红外测温 | 无 | 强 | 低 | 人工巡检或云台扫描 | 差,只能测外壳 |
| 热电偶 / PT100 | 传感头无源,引线带电风险 | 弱,需屏蔽与补偿 | 中 | 每点独立回路 | 绝缘距离受限 |
| 分布式拉曼 DTS | 无 | 强 | 高 | 单纤长距离 | 空间分辨率约 1 m,点测不准 |
| 光纤光栅 FBG | 无 | 强 | 中 | 单纤串接 20 点以上 | 好,可贴触头表面 |
拉曼分布式胜在长距离和整条电缆的连续监测,但 1 m 量级的空间分辨率对触头这种点状热源没有意义。热电偶的精度和响应都够,问题在于引线要在高压柜里走,绝缘距离和屏蔽成本随电压等级急剧上升。光纤光栅是唯一同时满足无源、抗扰、点测精度高、可大规模串接的方案,代价是解调仪表偏贵,且波长漂移会带来通道串扰,需要规划。
2.3 中心波长与波分复用通道的规划方法
单根光纤上串接多个 FBG,靠的是波分复用:让每个光栅占据不同的中心波长,解调仪在反射谱里同时看到多个峰。常用 C 波段 1525~1565 nm,共 40 nm 可用。相邻光栅的波长间隔要大于全温区漂移量的两倍,否则高温时相邻两个峰会靠拢甚至重叠。
# 单根光纤上FBG中心波长的规划脚本 C_START = 1525.0 # 波段下限 nm C_END = 1565.0 # 波段上限 nm SPACING = 2.5 # 相邻光栅中心波长间隔 nm DRIFT_BUDGET = 1.2 # 单点最大温漂预算 nm def plan_channels(start, end, spacing, budget): chans, lam = [], start + budget while lam + budget <= end: chans.append(round(lam, 2)) lam += spacing return chans chans = plan_channels(C_START, C_END, SPACING, DRIFT_BUDGET) print(f"可复用通道数: {len(chans)}") print("中心波长:", chans) # 反推每个通道允许的温升上限:10.6 pm/°C = 0.0106 nm/°C print("单通道允许温升:", round(DRIFT_BUDGET / 0.0106, 1), "°C")参数说明:SPACING 取 2.5 nm 是工程折中,太密会让高温点串道,太疏则单纤能挂的点数下降。DRIFT_BUDGET 由测温上限反推,若目标是 0~120°C,0.0106 nm/°C × 120°C ≈ 1.27 nm,取 1.2~1.5 nm 留余量。按这套参数,40 nm 波段能放约 15 个通道,加上空分复用的多路光纤,一套解调仪覆盖整段开关柜没有问题。
注意:波长规划要按整个运行温区来算,不能只按常温。有些现场只按 2 nm 间隔排布,夏天高峰负荷时相邻通道重叠,寻峰算法会把两个峰当成一个,温度读数直接失真。
3. 解调链路与数据处理:从解调仪原始光谱到温度值的最小实现
3.1 解调方式的选型与关键采样参数
FBG 的反射峰只有零点几纳米宽,要把它精确地定位出来,主流有三种解调方式。
可调谐 F-P 滤波器加宽带光源,靠扫描滤波片选波长,成本最低,扫描频率几百 Hz,波长精度约 ±1 pm,变电站常规测温够用,缺点是有机械移动部件,长期振动环境下要关注寿命。体光栅加分光加线阵 CCD 是并行检测,没有移动件,抗振好、速度快,成本偏高。扫频激光方式动态范围大,适合长距离和大容量,仪表价格也最高。
选型时重点看这几个参数:
| 参数 | 典型值 | 影响 |
|---|---|---|
| 波长范围 | 1525~1565 nm | 决定单纤通道数 |
| 波长分辨率 | 1 pm | 决定温度分辨率,约 0.1°C |
| 波长精度 | ±2 pm | 决定绝对测温误差 |
| 扫描频率 | 1~100 Hz | 变电测温 1 Hz 足够 |
| 单通道容量 | 20~40 点 | 受波段与间隔限制 |
| 光通道数 | 4 / 8 / 16 | 空分复用能力 |
有一个容易被忽略的功能是内置波长参考,比如乙炔或氢氰酸气室。它提供绝对波长基准,抵消解调仪内部温漂,长时间在线监测的设备建议带上,否则运行几个月后绝对温度会整体偏。
3.2 用 Python 做寻峰:质心法、高斯拟合的取舍
解调仪输出的是一条波长轴加一条功率轴的光谱。最简单的寻峰是取局部最大值,噪声下会有几十 pm 的抖动。工程上常用的两种是质心法和高斯拟合。
import numpy as np def find_peaks_centroid(wavelength, power, threshold=-30.0, window=0.6): """ 质心法寻峰 wavelength: 解调仪输出的波长轴 nm power: 反射谱功率 dBm threshold: 峰值门限 dBm,低于此不认为是有效峰 window: 质心计算窗口半宽 nm """ peaks = [] for i in range(1, len(power) - 1): if power[i] > power[i-1] and power[i] >= power[i+1] and power[i] > threshold: mask = np.abs(wavelength - wavelength[i]) <= window wl, pw = wavelength[mask], power[mask] pw = 10 ** (pw / 10.0) # dBm 转线性功率 pw = pw - np.min(pw) # 去基底,抑制噪声底抬高 if pw.sum() <= 0: continue center = np.sum(wl * pw) / np.sum(pw) peaks.append((round(center, 4), round(power[i], 2))) return peaks逻辑说明:先扫出所有局部极大值点,再在它周围窗口内做功率加权平均。dBm 必须先转成线性功率再加权,否则对数压缩会扭曲权重,弱峰会被拉偏。去基底是为了消除旁瓣和噪声底的影响,尤其在远端光栅反射弱的时候效果明显。threshold 一般设成比噪声底高 10 dB,具体值在空载光谱上看一次就定下来了。
如果需要更高精度,可以对每个峰做高斯拟合:
from scipy.optimize import curve_fit import numpy as np def gauss(x, a, mu, sigma): return a * np.exp(-(x - mu) ** 2 / (2 * sigma ** 2)) def fit_peak(wavelength, power, idx, span=0.8): mask = np.abs(wavelength - wavelength[idx]) <= span x, y = wavelength[mask], power[mask] y = y - np.min(y) try: popt, _ = curve_fit(gauss, x, y, p0=[y.max(), wavelength[idx], 0.15], maxfev=5000) return round(popt[1], 4), round(abs(popt[2]), 4) except RuntimeError: return None, None返回的中心波长精度可以做到亚 pm,第二个返回值是高斯半宽 sigma。sigma 是个免费的诊断量:某个测点的 sigma 突然变大,通常意味着该处光栅受力异常或封装胶层脱开,可以作为传感器健康度指标一起上传。
3.3 波长到温度的标定系数拟合与现场写入
现场做完安装,每个 FBG 都要单独标定,因为封装方式和贴装应力会让灵敏度系数偏离理论值。做法是把传感器放进恒温槽,从 20°C 升到 120°C,每隔 10°C 稳定后记一次中心波长。
import numpy as np def calibrate(wavelengths, temperatures): """一阶标定:T = k*λ + b""" k, b = np.polyfit(wavelengths, temperatures, 1) residual = temperatures - (k * np.array(wavelengths) + b) return k, b, float(np.max(np.abs(residual))) wl = [1552.310, 1552.415, 1552.520, 1552.625, 1552.730] tp = [20, 30, 40, 50, 60] k, b, err = calibrate(wl, tp) print(f"斜率 k={k:.2f} °C/nm, 截距 b={b:.2f}, 最大残差={err:.3f} °C") def to_temp(wl_now, k, b): return k * wl_now + b参数说明:k 的理论值应该是 1/0.0106 ≈ 94.3 °C/nm,实际落在 90~100 之间都正常,与封装材料的热膨胀有关。偏离太多要查两件事,一是封装是否给光栅加了残余应变,二是解调仪波长轴是否做过绝对校准。最大残差控制在 0.5°C 以内说明一阶模型够用,石英的线性度通常很好,除非测温范围跨过封装胶的玻璃化转变点。
标定完成后把 k、b 和该通道的中心波长、安装位置一起写进后台台账,运行时就靠这三个数把实时波长换算成温度。台账要和物理接线一一对应,后期排查断纤或换传感器时靠它定位。
4. 变电现场的组网与安装:光纤光栅测温系统的光路拓扑和施工细节
4.1 传感器封装与绝缘耐受的三种选择
裸光栅太脆,现场必须封装。常见三种:
陶瓷封装耐高压、耐高温,用环氧或硅胶贴在触头表面,绝缘强度高,热时间常数约 20~40 s,适合中高压开关柜的静触头。金属管封装响应快,时间常数小于 10 s,机械保护好,但金属靠近高压带电体时要校核沿面距离,别为了响应速度牺牲绝缘。裸栅加涂层适合电缆接头表面这种曲面,灵敏度最高,代价是抗机械损伤能力差,检修时要格外小心。
封装里有一个共性要求:光栅段必须做应变隔离。常见做法是把光纤两端固定在套管里,中间光栅段悬空或放在低模量胶里。如果整段都灌满硬胶,触头热胀会把应变传进来,读数里就混进了负荷以外的机械分量。
4.2 波分加空分的光路拓扑与链路功率预算
一套典型拓扑是:解调仪出纤,经 1×N 分路器分成多路,每路光纤串接若干 FBG。波分负责在同一根光纤上区分不同测点,空分负责铺开到不同柜体或不同相。分路器用几路,取决于解调仪的光通道数、柜体数量和单路允许的点数。
链路功率要算清楚,因为串接的 FBG 是透射式的,靠近解调仪的光栅会先吃掉一部分功率:
python3 - <<'EOF' n_fbg, fbg_loss = 20, 0.2 # 单路FBG数量与每个插入损耗 dB n_splice, splice_loss = 4, 0.1 # 熔接点 n_conn, conn_loss = 2, 0.5 # 活动连接器 splitter = 10 # 1x8 分路器损耗 fiber_km, fiber_loss = 0.5, 0.35 # 光纤长度与衰减 total = n_fbg*fbg_loss + n_splice*splice_loss + n_conn*conn_loss + splitter + fiber_km*fiber_loss print(f"链路总损耗 {total:.2f} dB") margin = 3 - total - (-60) # 出纤 3dBm,解调仪灵敏度 -60dBm print(f"接收端余量 {margin:.2f} dB") EOF参数说明:FBG 插入损耗按 0.2 dB 估,实际与反射率和带宽有关;熔接点按 0.1 dB、活动连接器按 0.5 dB 是保守值,能覆盖现场水平。余量要留 3 dB 以上,给光纤老化、连接器污染和弯曲损耗留空间。串到 20 个点功率不够时,不要硬撑,改成 1×16 分路器把压力分摊到更多路。
提示:靠近解调仪的光栅反射峰高,远端光栅反射峰矮。寻峰门限如果是固定值,远端测点会时有时无。工程上要么把门限设成自适应,要么在后台按通道记录基线功率,用相对下降判断异常。
4.3 熔接、走线与法兰盘处理的实际操作
光纤熔接用常规单模熔接机,每根熔完记录估算损耗,作为竣工资料的一部分。走线沿柜体一次母线槽或独立穿管,避免和动力电缆并行走长距离,弯曲半径不小于 30 mm,柜内转角处加保护套管。
开关柜之间用光纤法兰盘过渡,位置留在柜底或柜侧,方便检修时插拔。穿柜处加绝缘套管,外护套选阻燃低烟无卤型。每个 FBG 按盘号加间隔编号贴标签,与后台台账一一对应。
熔接完成后用 OTDR 测整条链路:
otdr --port /dev/ttyUSB0 --range 2km --pulse 10ns --wavelength 1550 # 关注三点: # 1. 全程衰减斜率是否接近 0.35 dB/km # 2. 每个熔接点损耗是否小于 0.1 dB # 3. 末端是否有菲涅尔反射,说明断纤或端面污染这一步能提前发现熔接不良和光纤挤压。断纤之后再排查,成本要高得多,因为柜体已经封板送电了。
5. 温度趋势预警与电力系统模型预测控制的衔接:几个能落地的进阶技巧
5.1 用温度斜率外推做分级预警,而不是等越限
单点阈值报警的价值有限,等温度冲过 90°C 才报,触头往往已经在劣化中。更有用的做法是看温升速率,用最近一段采样点拟合斜率,外推未来一段时间的温度。
import numpy as np def temp_slope_alert(series, dt_sec=60, horizon_min=30, slope_th=0.05): """ series: 最近温度序列 °C,按时间升序 dt_sec: 采样间隔秒 horizon_min: 外推时长分钟 slope_th: 报警斜率阈值 °C/s(0.05°C/s = 3°C/min) """ t = np.arange(len(series)) * dt_sec k, b = np.polyfit(t, series, 1) slope_per_min = k * 60 predicted = k * (t[-1] + horizon_min * 60) + b return slope_per_min, predicted, abs(k) > slope_th hist = [45.2, 46.1, 47.3, 48.9, 50.8, 52.6, 54.1] slope, pred, alarm = temp_slope_alert(hist) print(f"温升速率 {slope:.2f} °C/min,30min 后预估 {pred:.1f} °C,报警={alarm}")参数说明:dt_sec 必须和解调仪实际采样周期一致,否则斜率单位会错。拟合窗口建议 10~20 个点,太短噪声主导,太长反应迟钝。slope_th 按设备类型区分,母线接头可以设 3°C/min,电缆接头热容大,可以放宽到 1°C/min。把斜率分级和绝对温度分级组合起来,就能形成四级预警。
5.2 把温升状态量喂给模型预测控制
在电力系统模型预测控制的框架里,温度是慢变量,通常当约束而不是控制目标。开关柜触头和变压器绕组的温升可以用一阶热模型描述:
C_th · dT/dt = (T_amb − T) / R_th + k · I²
I 是负荷电流,k 与接触电阻相关,R_th 是热阻,C_th 是热容。这个模型先用离散形式实现:
import numpy as np def rc_thermal_step(T, I, Tamb, Rth, Cth, k, dt): """一阶热模型离散推进,返回下一时刻温度""" dTdt = ((Tamb - T) / Rth + k * I ** 2) / Cth return T + dTdt * dt Rth, Cth, k, dt = 0.8, 1200.0, 0.0025, 1.0 # 参数需现场辨识 T = 35.0 for i in range(5): T = rc_thermal_step(T, I=600, Tamb=30, Rth=Rth, Cth=Cth, k=k, dt=dt) print(f"t={i+1}s 温度={T:.2f} °C")参数说明:Rth 单位 °C/W,Cth 单位 J/°C,两者的乘积是热时间常数,开关柜触头一般在几百秒量级。k 需要标定,在已知负荷下测稳态温升反推。这个模型不指望当温度计用,而是当趋势观测器,通过在线辨识 k 的漂移,能在温度绝对值还没越限时更早发现接触电阻的变化。模型预测控制在滚动优化时把触头温度写成状态约束,负荷分配就自然会避开温升过高的间隔。
真正让这套系统产生价值的不是测温精度本身,而是把温度变成可以外推、可以进优化器的状态量。测温只解决看见的问题,趋势和控制衔接才解决提前处置的问题。
本文还有配套的精品资源,点击获取