去年带小孩做过一次“彩虹是怎样形成的”家庭实验,用一张DVD光盘把阳光反射到墙上,小孩看得直蹦。可我想让他看到的不只是彩虹,而是能分辨出不同谱线的“真光谱”——比如太阳光里的吸收线、荧光灯里的汞线。查了一圈成品光谱仪的价格,要么是上千块的科研仪器,要么是几百块的玩具级。我决定自己搭一台,核心目标只有两个:总成本控制在100元以内,能清楚分辨出汞灯的主要谱线。查了一晚上资料,又折腾了一周多,最终做出来的效果比我预想的好不少——汞灯的404.7nm、435.8nm、546.1nm三条强线分得清清楚楚,钠灯的黄线也能看到。这篇东西就是完整记录我是怎么从零开始把它搭出来、标定好,以及中间踩过的那些坑。
先给结论:一台能看清谱线的DIY光谱仪,物料成本可以压到80元左右,核心器件就三样——衍射光栅、狭缝、CMOS传感器。剩下的是各种固定支架和黑盒子。难点不在材料,而在光路对准和波长标定。这篇文章会把这套方案从原理讲到实测,适合刚接触光谱学、想低成本入门的爱好者,也适合物理老师用来做课堂演示器材。
1. 别急着买成品:先说清楚“低成本”到底牺牲了什么
在动手之前,我先想明白一个问题:为什么成品光谱仪那么贵,贵的钱花在哪了?
光谱仪最基本的构成是:入射狭缝 + 色散元件 + 聚焦光学 + 探测器。高价设备的主要成本在三个方面:高精度狭缝(微米级开缝宽度、边缘极其平整)、大尺寸高数值孔径的准直和聚焦透镜、以及科研级的面阵探测器。除此之外还有波长标定精度和杂散光抑制能力的差距。我给自己定的目标很明确:不是复刻一台科研设备,而是做一个能“看见谱线结构”的工具。这决定了我不需要在狭缝上追求微米级,不需要买消色差透镜组,也不需要制冷相机。
那么几十块和几百块的差距在哪里?对DIY设备来说,最明显的是分辨本领。一个600线/mm的标准刻划光栅加上高质量光学系统,理论上能分辨0.05nm左右的波长差。但是用DVD光栅加手机镜头,实际能分辨的极限大约在1nm到3nm之间,具体取决于狭缝宽度和光路像差。另一个差距是波长重复性——廉价结构在热胀冷缩或震动后,特征峰位置会漂移,需要重新标定。
我做的取舍是:用DVD光盘提取衍射光栅,用剃须刀片做狭缝,用普通USB摄像头当探测器。这套组合大概能提供的分辨率,足以区分汞灯的三条强线(404.7/435.8/546.1nm,间隔约30nm和110nm),也能分辨钠灯黄双线的轮廓(两线间隔仅0.6nm,通常只能看出加宽的黄线,看不出分叉)。换句话说,这是一台“谱线观察级”光谱仪而不是“波长测量级”,对我所要做的观察和教学演示来说,性能刚刚好。
有了这个定位,后面所有选择都变得很清晰:我追求的不是极限参数,而是一台拆掉外壳后还能被完全理解的光学装置。
2. 衍射光栅不是越贵越好:DVD光盘的光栅常数怎么算
市面上常见的衍射光栅有刻划光栅、复制光栅、全息光栅,价格从几十到上万都有。但做低成本方案,最好的光栅来源可能就在你抽屉里——一张DVD光盘。
DVD光盘之所以能做光栅,是因为它表面有周期性排列的轨道沟槽。DVD轨道的间距是0.74微米,这决定了它的光栅常数。光栅常数d = 0.74μm = 740nm。光栅每毫米的线对数N = 1/d = 1/0.00074mm ≈ 1351线/mm。这个密度比常见的教学光栅(600线/mm)要高出一倍多。但需要注意,DVD光盘的光栅是通过反射方式作用的,需要揭掉反光层做成透射光栅,才能用于常规光谱仪的透射光路。
从DVD里提取透射光栅,这个步骤看起来简单,实际上有讲究:
- 拿一张DVD(不是CD,DVD轨道更密,CD的轨道间距是1.6μm,色散能力差一半),用美工刀沿边缘划开一个小口。
- 找到两层聚碳酸酯基板的分离点,慢慢用手撕开。如果不好撕,可以用双面胶粘住一侧往外拉。
- 撕开后,你会得到两张半透明的聚碳酸酯片,其中一张表面附着金属反射层。这层金属必须去掉,否则光线被反射而不是透射。
- 用胶带粘下金属膜,反复几次,直到基板完全透明。注意留下上面的细微周期性沟槽。
- 把处理好的光栅裁成适当小块,用玻璃片夹住固定,防止变形。
这个过程中的坑是:撕开的基板可能两边都有沟槽,形成“双光栅”,透射光会分裂成两套衍射图样。检查方法很简单——拿着它在灯光下看衍射条纹,如果条纹非常清晰单一,说明只有一面有有效沟槽;如果看起来有重影或十字纹,换另一块或者换一张盘再来。
光栅的工作方程是一维光栅方程:
d * sinθ = m * λ
其中d是光栅常数,θ是衍射角,m是衍射级次(取0、±1、±2...),λ是波长。当入射光垂直于光栅平面时,一级衍射(m=1)的衍射角满足:
sinθ₁ = λ / d
以546.1nm的汞绿线为例,sinθ₁ = 546.1nm / 740nm ≈ 0.738,θ₁ ≈ 47.6°。这个角度非常大,意味着我在设计光路时必须给相机留出足够的位置和角度。如果是600线/mm光栅,同样的波长衍射角只有约19°,光路布局更紧凑,但色散也更弱。DVD光栅的优势恰恰在于更强的色散,代价是更大的几何角度和更强的像散。
另外还有一个实际选择:我试过用电脑屏幕和手机屏幕的反光做衍射效果,但这些不规范来源的周期结构很复杂,会产生多方向的杂散光,不建议用作光栅。
3. 三个关键部件的选型和制作:狭缝、光栅、探测器
3.1 狭缝:整个仪器里最“精密”的零件
狭缝是光谱仪的灵魂,它决定了进入仪器的光束宽度,直接影响分辨率和光通量。对DIY方案来说,最省钱的狭缝是两个刀片贴出来的——但前提是刀片够直够平整。
我用的是一次性剃须刀片,两片摞在一起,用胶带固定在黑色硬纸板开好的窗口两侧。两片刀片的刃口之间形成缝隙,缝宽约0.1mm到0.2mm。实测下来,缝宽0.5mm以上时,汞的404.7nm和435.8nm两条线基本糊在一起;缝宽压到0.2mm以下后,这两条线能明显分离。但缝也不是越窄越好,缝宽低于0.05mm时,衍射条纹变暗,相机需要很长的曝光时间,噪点也随之明显。
我做狭缝的两个小技巧:
- 两块刀片夹住一张打印纸(约0.1mm厚)定位缝宽,然后用胶带固定一侧刀片,抽出纸条,再固定另一侧。这样缝隙宽度大致可控在0.1mm附近。
- 务必保证缝的方向与光栅刻线方向平行,否则接收到的光谱会倾斜,后期处理很麻烦。调平行的方法是先用激光笔把衍射光斑打出来,旋转狭缝使衍射方向和预期轴线完全重合。
3.2 光栅的固定方式:不是夹住就行
前面说过,DVD光栅片的平整度非常关键。它本身很薄很软,受潮受热都会变形,而变形直接导致谱线扭曲。我的做法是剪两块普通载玻片,把光栅片夹在中间,四角用橡皮筋绑紧。这样即使光栅片本身有些微褶皱,玻片也会把它压平。
光栅片的有效区域不需要很大,1cm×1cm足够了。我一开始剪了一大块,结果边缘部分的毛刺产生大量杂散光,画面看起来像蒙了一层雾。后来把光栅裁小,边缘用黑色电工胶带遮住,只留中间区域,杂散光立刻少了一个数量级。
安装时让光栅的刻线方向垂直水平面(即沟槽朝竖直方向),这样色散方向是水平的,传感器上得到的谱线是横向展开的。这一条看着简单,实际操作里非常容易漏:如果你把光栅装反了45°,谱线会斜躺在传感器上,峰值提取会变得很困难。
3.3 探测器:便宜USB摄像头的性能边界
探测器选择有三个方案:手机摄像头、USB摄像头、工业CMOS模块。手机摄像头素质最好,但固定和取流麻烦;USB摄像头兼容性好但感光面积小;工业CMOS(比如OV5640模块)可玩性高但需要额外驱动。我最终的方案是30块钱的USB工业摄像头,感光芯片是OV2640或类似型号,分辨率1280×720,取消镜头后直接露出CMOS面阵。
关键在于:必须把原装镜头拆掉。镜头会聚焦光线,打乱光谱的成像关系。有些USB摄像头的镜头是螺纹拧上去的,轻松旋下来就行;有些是胶粘的,需要小心撬开。拆掉镜头后,CMOS表面就裸露在外,感光区大约4.6mm×3.6mm。这个尺寸不小——实际上它决定了一次能拍到的波长范围。
我算过:以表观距离约10cm的光栅-传感器布局,汞绿线546.1nm的一级衍射落点在传感器中央附近时,整个传感器宽度对应的波段范围大约是300nm到800nm。正好覆盖可见光全谱,非常理想。
这里有个容易忽略的点:CMOS前面的保护玻璃和红外截止滤光片不能乱拆。很多USB摄像头的红外截止片是贴在镜头里的,拆掉镜头后红外截止片也随之去掉了,这时需要自己加一片UV-IR-CUT滤镜,不然红外光会混入光谱。但一般场景下(汞灯、荧光灯、LED),红外成分不强,可以先不加,等发现红光端出现异常的宽包再处理。
4. 整体光路设计:偏折角、距离与盒子
核心光路如图:光源 → 狭缝 → 光栅 → 相机传感器。入射光经狭缝后到达光栅,衍射后不同波长的光以不同角度出射,打在传感器平面的不同位置。
这个方案的关键参数是:光栅平面与传感器平面的距离、入射角、出射角。我用的布局是所谓“Littrow型”的简化变体——入射光沿接近光栅法线的方向入射,探测器放在一级衍射光束的路径上。
参数估算如下:
已知光栅常数d = 740nm。可见光范围400~700nm对应的一级衍射角:
- 400nm:θ = arcsin(400/740) ≈ 32.7°
- 550nm:θ = arcsin(550/740) ≈ 48.0°
- 700nm:θ = arcsin(700/740) ≈ 71.1°
如果传感器距离光栅10cm,400nm和700nm光斑的水平距离差:
Δx = 10cm * (tan71.1° - tan32.7°) ≈ 10cm * (2.91 - 0.64) ≈ 22.7cm
问题来了:22.7cm超出了传感器宽度。所以传感器不可能在固定角度下接收全部可见光。我的解决方案是让传感器平面与光栅平面呈约45°,只接收约430nm到650nm的主要波段,观察汞灯、钠灯足够,紫外端可用另一个角度补拍。
如果不追求全谱覆盖,而是做一台“波段可切换”的仪器,这完全能接受。对低成本的DIY光谱仪来说,采取分段拍摄比追求一次性全谱更现实。
盒子方面,我用的是黑色硬纸板盒,内部全部贴黑色植绒胶带(约10块钱一卷),目的是吸收内部杂散光。盒子内部用热熔胶固定刀片支架、玻片夹和摄像头。整个结构不用螺丝,拆装都用热熔胶和橡胶圈。
结构上有一个非常重要的容差问题:光栅-传感器距离的误差会造成光谱模糊。理论上,由于整个系统是一级衍射成像,传感器位置偏差1mm对应的波长偏移大约在2-5nm,具体取决于该波长处的角色散率。所以我留了调节余量:摄像头底座用热熔胶固定前,先手持摄像头在不同距离和角度下试拍,找到最锐利的位置,再点胶固定。
5. 波长标定:不标定就是一堆彩色像素
光谱仪组装完,拍到的只是一条彩色的带子。要把像素位置转化成波长,就得做波长标定。这一步看起来抽象,做起来却很简单——只要找到已知波长的特征谱线,建立“像素位置-波长”的对应关系。
标定光源我用的是家用荧光灯。荧光灯内部充有低压汞蒸气,工作时会发出汞原子的特征谱线。我用的标定谱线有三条:
| 谱线 | 波长(nm) | 颜色 |
|---|---|---|
| 汞 I 线 | 404.7 | 紫 |
| 汞 I 线 | 435.8 | 蓝 |
| 汞 I 线 | 546.1 | 绿 |
这只是我观察到的三根最强线。实际上还有577nm和579nm两条黄色汞线,在DIY光谱仪中因分辨率不足通常合并为一条宽带。
标定流程:
拍摄荧光灯光谱,得到一张横向展开的光谱图像。
把图像转成灰度,沿竖直方向(非色散方向)取平均,得到一维强度曲线。
用峰值检测算法找到三个峰的像素位置:p₁(404.7nm)、p₂(435.8nm)、p₃(546.1nm)。
用二次多项式拟合波长-像素关系:
λ(p) = a·p² + b·p + c
求解出a、b、c三个系数,之后任意像素位置都能算出波长。
在这个阶段,我用Python做处理。整个标定脚本不到30行,非常轻量。核心思路是用PIL或OpenCV读图、NumPy做数组运算、SciPy做峰值查找。采集数据时我用手机对着相机画面拍照,或者直接用电脑端的摄像头取流软件保存BMP图片,再用脚本处理。
如果不用Python,也可以在Excel里手动完成标定:找出峰所在的像素列,做三组数据点,插入趋势线的二次多项式,也能得到公式。精度会略差,但足够理解原理。
5.1 从图像到一维光谱:为什么先转灰度再平均
拍摄到的原始图像是一个二维矩阵:横轴对应波长,纵轴对应狭缝方向上不同位置的光强。由于狭缝有一定高度(刀片缝高约8mm),同一波长的光会照射到传感器竖直方向的许多像素上。
处理的方法是对每一列像素取平均。这一步能显著提升信噪比,因为随机噪声在平均后按1/√N的量级下降。我拍的照片纵向约200个有效像素参与平均,信噪比能提升10倍以上,效果非常明显。
当然,平均的前提是谱线是竖直的。如果你发现谱线是斜的或者弯曲的,得回到第3节说的——调整狭缝和光栅的平行度,而不是在软件里强行校正。
5.2 标定误差的来源:为什么二次拟合优于线性拟合
严格来说,光栅方程的衍射角与波长是正弦关系,不是线性关系。但在小角度范围内,sinθ ≈ θ近似成立,因此波长和位置近似线性。不过在DVD光栅的大角度条件下(30°~70°),这个线性近似误差会变得明显。
我做了一组对比:用两点线性拟合法,标定点之间的误差能控制在3nm以内,但在400nm端和700nm端的预测波长会明显偏离实际。用三点二次拟合后,全波段的误差能稳定压到1~2nm。所以如果你手头有超过两个标定峰,务必使用二次拟合。
还有一个容易被忽略的坑:拍摄和标定时,探测器位置一旦被碰动,标定系数就失效了。我在盒子上用马克笔标了摄像头底座和光栅支架的位置,如果谱线位置有偏移,先检查这两个件有没有移位。
6. 图像采集与处理:从照片里提取波长和强度数据
标定完成后,每次采集都可以视为一次“光谱测量”。我以一个具体案例展示完整流程:测量LED灯珠的光谱。
采集步骤:
- 给LED通电,放在狭缝前方约5cm处,让光线正对狭缝。
- 在暗室环境下拍摄,避免环境光混入。
- 保存为BMP或PNG原图(不要用JPG,压缩伪影会影响弱峰判断)。
- 用Python脚本处理,步骤如下:
- 读图并转灰度。
- 裁剪出有效光谱带。
- 每列取平均,得到强度曲线。
- 用标定系数把横轴像素换成波长。
- 去掉背景(拍一张无光源的暗场图,相减即可)。
这个流程输出的是一个两列数据:波长和相对强度。你可以直接画成曲线图。得到的图形非常直观——白光LED的蓝光峰约450nm,黄磷光体峰约560nm,两个峰叠加后视觉上呈白色。这个结果和很多商品LED的规格书完全对得上。
6.1 背景扣除和暗电流:很多人会漏掉的细节
我踩过的一个坑是:用USB摄像头拍摄时,CMOS即使没有光照,也存在固定的暗电流偏置,表现为原始图像上有一层均匀的灰底。如果不做暗场扣除,光谱图的长波端会有虚假的“基线抬高”。
解决方法很简单:在镜头前用黑纸完全遮挡光线,采集一帧暗场图。正式测量的图像逐像素减去暗场图像,再做后续计算。要注意暗场和测量图必须用相同的曝光参数,不然暗电流水平不一致,减法没有意义。
6.2 峰值提取与半高宽估算
从光谱中找到特征峰是光谱仪的核心用途。我的简易峰值查找方法是:
- 对一维光谱数据做移动平均平滑,窗口大小取10个像素。
- 用scipy.signal.find_peaks查找峰,设置最小峰高和最小峰间距。
- 对每个峰用抛物线插值(取峰值附近三点的二次插值)得到更精确的峰中心位置。
- 用峰半高处的宽度(FWHM)作为该谱线的“分辨率”估计值。
我用这个方法测量了汞绿线546.1nm的FWHM,结果大约是3~4nm。这意味着这台光谱仪的实用分辨率在3nm左右。如果你想验证分辨率,拿荧光灯中577/579nm双线来看:在FWHM为3nm的光谱仪上,也看不出这两个峰分离——间隔只有2nm。想看到双线分离,分辨率必须优于2nm,那就是更高阶光学系统的任务了。
代码片段(标定+峰提取的核心部分):
import numpy as np from PIL import Image from scipy.signal import find_peaks def image_to_spectrum(filename, dark_filename=None): img = np.array(Image.open(filename).convert('L'), dtype=float) if dark_filename: dark = np.array(Image.open(dark_filename).convert('L'), dtype=float) img = img - dark spectrum = img.mean(axis=0) # 沿纵向平均 return spectrum # 标定: 用已知三条汞线波长和对应像素位置做二次拟合 p_known = np.array([p404, p436, p546]) lambda_known = np.array([404.7, 435.8, 546.1]) coeffs = np.polyfit(p_known, lambda_known, 2) def pixel_to_wavelength(p): return np.polyval(coeffs, p) # 找峰 peaks, props = find_peaks(spectrum, height=50, distance=20) for p in peaks: lam = pixel_to_wavelength(p) print(f"峰位像素={p}, 波长={lam:.1f}nm, 强度={spectrum[p]:.0f}")这一套逻辑出来后,整个项目就从“看彩虹玩具”变成了“能回答科学问题的仪器”。家里随手找来的光源,灯光、LED、蜡烛,我差不多都测了一遍。白炽灯谱线连续,像一条小山脉;LED白光有双峰;节能灯能看到明显的汞线和紫外区的影子——如果没有这个东西,光用肉眼根本没法判断光源的成分。
7. 组装和调试里的十二个坑,挨个说清楚
这部分是我最想写的,因为网上教程几乎都只讲原理和步骤,不讲失败案例。我按踩坑的先后顺序列出来,供你对照排查。
坑1:DVD光栅揭膜后沾指纹。聚碳酸酯表面极容易沾油污,指纹区域的衍射效率会断崖式下降。处理时务必戴手套或用镊子夹边缘,处理完立刻用镜头纸轻擦。
坑2:狭缝刀片有毛刺。一次性刀片也并非绝对平整,贴好后用放大镜检查刃口。如有明显毛刺,换一片或者用细砂纸轻磨背面(不磨刃口)。
坑3:盒子漏光。黑色纸板本身不透光,但接缝处会漏。用植绒胶带把所有接缝和开孔封死,包括数据线穿出的孔也要缠一圈。
坑4:摄像头自动曝光导致强度失衡。USB摄像头默认自动曝光,拍明亮的汞灯时可能自动调暗,导致弱谱线丢失。要进摄像头驱动设置里关闭自动曝光,手动固定到一个合适的曝光值。
坑5:长时间连续拍摄后传感器发热,暗电流漂移。偶发轻微,可接受;但如果连续工作超过10分钟,背景会缓慢抬升。解决方法是每半小时重新采一次暗场,或者间歇性关闭电源。
坑6:光栅玻片夹固定后位置慢慢滑移。热熔胶在受力时会蠕变,玻片夹和摄像头支撑件过重尤其明显。解决办法是热熔胶冷却后,在外侧再打一层AB胶加固。
坑7:LED光源产生的光谱有强蓝光峰,积分时间稍长就饱和。蓝色像素饱和后,在传感器上会产生横向拖尾(Blooming),污染旁边像素。对策是降低曝光时间或加衰减片(用偏振片叠加也行)。
坑8:拍荧光灯时出现50Hz频闪。荧光灯以交流电驱动时,光强以100Hz频率波动。如果曝光时间太短(低于20ms),会发现同一根灯管拍两次,亮暗不同。用较长的曝光时间(50ms以上)平均掉闪烁。
坑9:没有现成的暗室。我是在晚上关灯拉窗帘做的,白天做的话可以把整个盒子放进黑色布袋里操作,只留狭缝窗口。
坑10:USB摄像头驱动在Windows下可能报错。换了几根USB线后发现是线材太差,供电不足导致相机掉线。换一根带磁环的线就好。
坑11:谱线边缘出现紫色虚边。这是CMOS微透镜的轴向色差贡献的,无法完全消除。它不影响峰位查找,但会影响峰形对称性。处理时只取峰顶附近做插值定位,不取整个峰形对称中心。
坑12:做荧光灯标定时,发现435.8nm旁有两条伴线。那是汞灯的434.8nm和433.9nm线,属于正常现象。你的光谱仪分辨不出它们时它们就是一条粗线,分辨得出就多出几个小鼓包,不必困惑。
这张排查表对照着用,多数问题半小时内能解决。
| 现象 | 主要原因 | 解决手段 |
|---|---|---|
| 谱线模糊 | 狭缝太宽或未对焦 | 缩缝宽,调整传感器距离 |
| 谱线是斜的 | 狭缝与光栅沟槽不平行 | 旋转狭缝支架 |
| 背景亮度高 | 盒子漏光或光栅边缘杂散光 | 遮光,缩小光栅有效区 |
| 谱线位置漂移 | 光学件松动 | 重新固定并重新标定 |
| 紫外/红外端出现鬼影 | 光栅双重面或红外截止缺失 | 换光栅片,加IR-CUT滤镜 |
| 弱峰消失 | 自动曝光开启 | 关闭自动增益和自动曝光 |
| 拍出来全蓝 | CMOS对可见光响应不平衡 | 后期做白平衡归一化 |
8. 实测数据:用这台80块钱的仪器看到了什么
组装完成后,我做了几个典型实测。第一个是家用荧光灯,拍出来的光谱有5个明显峰:404.7nm、435.8nm、546.1nm以及580nm附近的黄区复合峰、620nm附近的红区弱峰。这些数据和汞原子的标准发射谱线一一对应,证明整套标定方法可靠。
第二个是白炽灯(卤素灯)。它的光谱是一条平滑的连续曲线,峰值在红外区,可见光部分随波长单调上升。用这台光谱仪能明显看到蓝端能量低、红端能量高,和普朗克黑体辐射曲线趋势一致。这是非常直观的黑体辐射演示材料。
第三个是白光LED。两个峰清清楚楚——450nm处尖峰来自蓝光芯片,560nm处宽峰来自YAG荧光粉的转换光。从我测到的峰强比值能估算出色温偏高的倾向,这解释了为什么很多廉价LED灯看起来“惨白”。
第四个是钠灯。我原以为能看到589.0/589.6nm双线,但结果只看到一条非常宽的单峰。用FWHM计算后,这条“单峰”的宽度约6nm,远超双线间隔0.6nm,确实无法分辨。但和汞灯谱线对比,钠灯那条线的位置和宽度特征非常鲜明,足以在光谱上识别它。
精度方面,我用已知波长对测量结果做了回判:汞线的测量误差范围在±1.5nm内,二次拟合后的波长偏差比线性拟合小一半以上。反复关机再开机后,同一根谱线的像素位置漂移在2~3个像素范围内,对应波长误差约1nm。对于一台热熔胶固定的纸盒子仪器来说,这个稳定性已经超出我的预期。
9. 这套方案的后劲:还能往哪个方向升级
项目做到这里已经完整了,但有几个顺手就能做的升级方向,写下来供你参考。
升级方向一:加一个透镜改善平行度。目前的光路中,从狭缝出来的光直接发散地照射到光栅上。这相当于“光源在有限距离”,会导致不同波长的衍射角展宽,降低分辨率。如果加一个焦距合适的凸透镜,把狭缝的光准直后再照射光栅,谱线会变得更细更锐利。我试过用老花镜镜片(约+300度)代替透镜,分辨率有明显提升,代价是对准难度增加。
升级方向二:换成透射光栅膜。淘宝上十几块能买到一小张1000线/mm的透射式复制光栅,用在可见光谱仪上效果比DVD光栅好不少,色散更均匀,杂散光更少。我没有在一开始选用它,因为想验证“全抽屉材料”能做出来。有预算时很值得换,分辨率能到2nm以下。
升级方向三:加一个旋转台实现全波段扫描。前面说过,探测器固定角度时只能接收有限波段。如果把光栅安装到一个可旋转的平台上,用一个步进电机带动,就能在不同角度扫描不同波段,最后拼接成完整的400~1000nm光谱。这个方案的精度取决于转台的角度分辨率,比加宽传感器便宜。
升级方向四:体积做小。目前整个盒子尺寸是30cm×20cm×15cm,其实还能缩小到巴掌大小。瓶颈不在光学件,而在传感器和光栅的距离。缩短距离会导致色散变弱、分辨率下降,除非你能保证狭缝宽度足够小,并接受只能看到部分波段。这是一个典型的“缩小-性能”权衡。
最后说一个我自己的体会。很多人看到“光谱仪”三个字就觉得门槛很高,觉得需要实验室和专业知识。但这个项目用到的核心知识就是中学物理里的一维光栅方程和一个二次多项式拟合。门槛不在数学和光学,而在愿不愿意动手试错。我做这个项目的时候,最花时间的不是材料也不组装,而是反复调整狭缝和光栅的平行——那一步用了我整整一个晚上,一旦调好,后面的所有事情都变得顺理成章。
现在这台光谱仪还放在我桌上,偶尔晚上关灯拿它照一照各种灯的谱线。比买一台成品更有意思的是,我完全清楚它的脾气和极限。我也越来越理解为什么老一辈光谱工作者对“谱线位置”和“谱线形状”这么敏感——因为那真的是一台仪器看得最远、最诚实的地方。