电阻应变片把应变转换成电阻变化(灵敏度系数乘应变),经惠斯通电桥放大读出;应变花用三个不同方向的片测出平面应力状态的主应力与主方向。非接触方法(光弹性、数字图像相关)提供全场信息。本节走完"贴片—接桥—换算—校核"的完整链条,并给出光测方法的能力对比。
本章支柱页把结案流程定为"测、算、判",本节管测。它直接消费第 4 章的应力应变关系(应变换应力的桥)与第 5 章的应力分布知识(贴片位置的依据),并向 7.2 节的有限元模型标定输送数据。
金属丝受力伸长时电阻变大(长度伸长、截面缩小双重作用),电阻相对变化与应变成正比,比例系数即灵敏度系数(康铜丝约 2.0)。应变的量级只有百万分之几到千分之几,对应电阻变化微乎其微,必须用电桥电路把微小不平衡放大:四臂电桥的输出电压与桥臂电阻相对变化的代数和成正比——这个"代数和"正是温度补偿与弯矩分离的钥匙。
import numpy as np # 应变片:灵敏度系数 K=2.1,供桥电压 U=5 V K, U = 2.1, 5.0 eps = 500e-6 # 500 微应变 dR_over_R = K * eps U_out_quarter = U * dR_over_R / 4 # 单臂 U_out_half = U * dR_over_R / 2 # 双臂同值反号(弯矩分离) print(f"500 微应变:电阻相对变化 {dR_over_R*1e6:.0f} ppm") print(f"单臂电桥输出 {U_out_quarter*1000:.3f} mV,双臂 {U_out_half*1000:.3f} mV") # 温度补偿:工作片+补偿片相邻臂,温度引起的同向变化互相抵消 eps_T = 50e-6 # 温漂折算应变 print(f"温度引起的同向 {eps_T*1e6:.0f} 微应变在相邻臂接法下输出为零") # 半桥弯曲分离:上下表面各贴一片,拉压反号,输出加倍且轴力抵消 print("上下表面半桥:弯曲应变读数加倍,轴向应变自动抵消——一次贴片分离两种内力")
电桥接法的选择就是一门"测量编程":单臂最省、半桥分离弯与拉、全桥灵敏度四倍。温度补偿片贴在同材料不受力处接相邻臂,温漂自动抵消——这是现场测量最重要的一个防坑动作。
单向应力状态贴一片沿应力方向即可;平面应力状态需要三个方向(常见 0-45-90 直角花或 0-60-120 三角花)才能解出两个正应变加一个切应变,进而算主应力与主方向。测点在应力方向未知处(节点板圆角、焊缝旁),应变花是标配。
import numpy as np # 0-45-90 直角应变花读数(微应变),材料钢 E=210 GPa, ν=0.3 eps0, eps45, eps90 = 420e-6, 180e-6, 120e-6 E, nu = 210e9, 0.3 # 平面应变状态:eps_x=eps0, eps_y=eps90, gamma_xy = 2*eps45 - eps0 - eps90 gx = eps0 gy = eps90 gxy = 2*eps45 - eps0 - eps90 eps_avg = (gx + gy) / 2 R = np.sqrt(((gx-gy)/2)**2 + (gxy/2)**2) eps1, eps2 = eps_avg + R, eps_avg - R theta = np.degrees(0.5*np.arctan2(gxy, gx-gy)) print(f"主应变:{eps1*1e6:.0f} 与 {eps2*1e6:.0f} 微应变,主方向 {theta:.1f} 度") # 平面应力胡克定律(平面应力下用广义胡克的逆形式) s1 = E/(1-nu**2)*(eps1 + nu*eps2) s2 = E/(1-nu**2)*(eps2 + nu*eps1) print(f"主应力:{s1/1e6:.1f} MPa 与 {s2/1e6:.1f} MPa") # 与第5章危险截面对照:测点是否处在预测的高应力区 print(f"等效应力(第四理论){np.sqrt(s1**2 - s1*s2 + s2**2)/1e6:.1f} MPa")
三个读数进、两个主应力一个方向出——应变花是"用代数换盲区"的典型工程智慧。第 5 章只能算规则截面的应力分布,节点板圆角处的真实应力靠它落地。
⚠️ 常见坑:贴片方向与结构主轴差几度、胶层厚度不均、导线电阻未计入,都会造成几个百分点的系统误差;更隐蔽的是应变片标距跨越应力梯度剧烈区(焊趾、圆角),测到的是标距范围内的平均值,峰值被抹平。测量方案评审时"标距够不够短"永远值得多问一句。
应变片是点测量,回答"这一点多少"。想知道整个表面应力如何分布(集中系数在哪、裂纹往哪扩展),需要全场方法:
| 方法 | 原理 | 输出 | 典型场景 |
|---|---|---|---|
| 光弹性 | 双折射材料的等差线 | 全场主应力差 | 透明模型、教学演示 |
| 数字图像相关(DIC) | 散斑图像子区跟踪 | 全场位移与应变 | 大变形、裂纹扩展 |
| 应变片 | 电阻变化 | 单点应变 | 现场结构、长期监测 |
import numpy as np # 模拟 DIC 的核心运算:两个图像子区的互相关定位位移 np.random.seed(0) patch = np.random.rand(16, 16) # 参考子区(散斑) dx, dy = 3, -2 # 真实位移(像素) canvas = np.random.rand(48, 48) # 大画布 canvas[20:36, 20:36] = np.roll(np.roll(patch, dy, axis=0), dx, axis=1) # 在画布里滑动搜索与参考子区相关性最大的位置 best, pos = -1, None for i in range(0, 33): for j in range(0, 33): r = np.corrcoef(patch.ravel(), canvas[i:i+16, j:j+16].ravel())[0,1] if r > best: best, pos = r, (i, j) print(f"找到子区位置 {pos},位移 dy={pos[0]-20} dx={pos[1]-20} 像素(真实 {dy},{dx})") print("互相关峰值即位移——把它对整幅图每个子区做一遍,就是全场位移图")
这个十几行的搜索就是 DIC 的心脏:整幅散斑图像上每个子区做一遍互相关,位移场到手,差分一次就是应变场。光弹性的等差线条纹则像等高线地图,每根条纹是主应力差相等的连线,密集处即应力集中处。

测量就位。下一节把算力拉满:用几十行代码写一个真正的有限元求解器。