莫尔条纹光电测量杨氏模量:从物理实验到算法误差反演
一、背景与挑战:为何传统测量杨氏模量如此痛苦?
大二的基础物理实验中,“光杠杆镜尺法测量金属丝杨氏模量”想必是所有理工科同学共同的“视力恶梦”:
1. 镜尺距离长达 1.5 米到 2 米,轻微的人体走动、关门气流甚至呼吸都会引起望远镜十字丝的剧烈晃动;
2. 每次加载砝码(0.5kg~1kg)引起的金属丝伸长量仅在 $10^{-4}\,\text{m}$(数十到数百微米)量级,肉眼读数误差往往超过 15%。
在浙江省大学生物理实验竞赛中,我们的参赛命题是:**设计一套高精度、无视环境微气流扰动、且可自动数字化输出的金属材料弹性形变测量系统**。
最终,我们选定了**莫尔条纹光电放大法 (Moiré Fringe Photoelectric Magnification)**,斩获省级一等奖。
二、物理原理:千百倍的几何光学放大器
当两块光栅常数均为 $d$(例如 $d = 0.02\,\text{mm}$,即每毫米 50 条线)的透射光栅重叠,且刻线之间保持极小的夹角 $\theta$ 时,透射光强会呈现明显的明暗相间宏观条纹——即**莫尔条纹**。
莫尔条纹的间距 $W$ 与光栅常数 $d$、夹角 $\theta$ 满足严格几何关系:
设光栅相对垂直移动 $\Delta x$,条纹在垂直方向移动的宏观位移为 $\Delta Y$:
其中放大倍数 $K = \frac{W}{d} \approx \frac{1}{\theta}$。当两光栅夹角微调至 $\theta = 0.001\,\text{rad}$ 时,放大倍数高达惊人的 **1000 倍**!微米级($\mu\text{m}$)的伸长量直接被放大为肉眼与光电管轻松捕获的毫米级($\text{mm}$)亮带移动。
根据弹性力学胡克定律,杨氏模量 $E$ 的计算公式为:
其中 $N$ 为经过光敏传感器的完整条纹周期数。
三、算法与信号处理:从光电信号到亚像素寻峰
在硬件端,我们使用四象限光电二极管阵列采集莫尔条纹移动信号,输出两路相位差为 $90^\circ$ 的正交正弦模拟电压信号:
通过单片机 ADC 高速采样后,在上位机中我们编写了如下核心细分算法:
import numpy as np
def calculate_fine_displacement(va: np.ndarray, vb: np.ndarray, d_grating=0.02):
"""
通过反正切相位展开 (Arc-tangent Phase Unwrapping) 实现 1/64 亚栅距细分
d_grating: 光栅常数 0.02mm
"""
# 消除零点漂移
va_norm = va - np.mean(va)
vb_norm = vb - np.mean(vb)
# 瞬时相位角求解
phase = np.arctan2(vb_norm, va_norm)
# 相位展开消除 2pi 跳变
unwrapped_phase = np.unwrap(phase)
# 转换为实际形变伸长量 (mm)
total_cycles = unwrapped_phase / (2 * np.pi)
displacement_mm = total_cycles * d_grating
return displacement_mm