
- 收藏
- 加入书签
基于光敏二极管和树莓派的迈克尔逊干涉环纹自动计数器
摘要:迈克尔逊干涉仪以其结构之简洁、测量之精准及操作之便捷而著称。然而,在观测和统计干涉环纹时,人工目视计数的方式容易引入主观误差。针对此问题,现研究提出一种创新的明暗环纹自动计数方法。该方法通过应用光敏二极管模块将干涉仪产生的明暗环纹的光信号转化为电信号,并输入到树莓派中。随后,通过专门开发的软件处理,将这些模拟电信号转换为数字信号,最终实现在计算机端的自动计数功能。为了确保装置的实用性和操作便利性,我们还设计了一个巧妙的嵌套式固定装置,用于将光电模块稳固地安装在观察屏上。经过一系列实验验证,该技术系统展现出了高精确度和高效率的特点,足以满足实际应用场景的需求。
关键词:迈克尔逊干涉仪;光敏二极管;树莓派;环纹计数
中图分类号:O 4-33 文献标识码:A
0引言
迈克尔逊干涉仪,由美国物理学家阿尔伯特·迈克尔逊与爱德华·莫雷于1881年共同发明,在测量光波波长、介质折射率、微小位移变化等领域内有着广泛的应用[1],其技术成熟。在采用迈克尔逊干涉仪进行的He-Ne激光波长测量实验中,计数干涉圆环是一项至关重要的步骤[2]。然而,在实际操作过程中,当调整微调旋钮以产生交替明暗的环纹时,肉眼直视环纹进行多次数圈,成百上千级的环纹数下来极易造成视觉疲劳从而产生误差[3]。
为了解决手动计数带来的误差和效率问题,有研究采用了Arduino单片机来控制电机的移动。通过编码器记录电机转动的角度,并使用光敏电阻来捕捉干涉条纹的明暗变化。然而,电机震动对光电模块数据读取的影响可能导致明暗变化计数的不准确[4]。另一方面,结合树莓派和OpenCV图像处理技术对仪器进行改装,需要较大的计算量来实现不等间隔条纹计数方法和逐差法数据处理,虽然提高了精确度,但增加了实验操作的难度[5]。利用光电探测器将干涉环纹中心条纹的光强变化转换为高低电平的电信号,再通过滤波整形和计数电路实现计数功能,最后通过译码器在数码管上显示实时计数。这种方法提高了计数的精确度并减少了视觉疲劳,但由于样品制作过程复杂,不适合批量生产[6]。相较于使用单片机或Arduino进行自动计数,树莓派配备的高性能ARM处理器具有更强的计算能力,能够快速处理图像数据和执行复杂的算法计算。这使得树莓派更适合处理环纹图像数据并实时计数,从而具有更好的优化潜力[7-8]。
综合以上分析,本研究创新性地提出了一套结合光敏二极管和树莓派技术,针对迈克尔逊干涉仪产生的干涉环纹进行自动化计数的系统。这一系统不仅显著提升了测量的精度与效率,而且成功解决了传统手动计数方法所面临的诸多挑战,显示出在众多实际应用场景中具备极高的实用价值和广阔的发展前景。
1.迈克尔逊干涉仪基本原理与测量原理
1.1.迈克尔逊干涉仪基本原理
迈克尔逊干涉仪主要由4面高品质的光学镜片(2面平面反射镜M1和M2;2面分光板G1和G2)和1套精密的机械传动系统组成,实现光的干涉。图1是其原理图。激光器S射出一道光束到G1,其中作为分光板的G1是镀有半透膜的平行平面玻璃板,在G1下表面发生50%的反射和50%的透射。反射的光Ⅰ到达M1,再重新被反射到G1,再次经过部分的反射和透射到达E。被透射的光Ⅱ到达G2(与G1平行,且厚度、折射率都相同的玻璃板)再被透射到M2,在M2重新被反射回G2,再到G1,最后被G1半反射半透射到E区域[9]-[10]。这两束光在其的上侧空间形成一非定域的干涉场[11]。屏幕放在干涉场中垂直于光束方向,在屏幕上可看到干涉环纹,如图2。
根据干涉原理,E处的干涉条纹空间分布与由M1和M2反射的两列相干光波的光程差有关,
△=2dcosi (1)
式中,i为反射光在平面镜M2上的入射角。对于第k条有
2dcosik=k△ (2)
M2和M'1的间距d逐渐增大时,对任一级干涉条纹,例如k级,必定是以减少的值来满足式(2),故该干涉条纹间距向i变大(cosi值变小)的方向移动,即向外扩展。这时,观察者将看到条纹好像从中心向外“涌出”,且每当间距d增加λ/2时,就有一个条纹涌出。反之,当间距由大逐渐变小时,最靠近中心的条纹将一个一个地“陷入”中心,且每陷入一个条纹,间距的改变亦为λ/2。因此,当M2镜移动时,若有N个条纹陷入中心,则表明M2相对于M1移近了,所以测量光的波长需要两个物理量,一个是涌出或陷入的条纹数N和平面镜的位移△d[13]。
△d=N·λ/2 (3)
从而计算得到波长λ,现迈克尔逊干涉仪已广泛用途于工程测量和教学等,实验室操作中,观测仪器不同参数下干涉环纹的变化量是最直观的一种量化指标。
1.2.实验测量原理
迈克尔逊干涉仪的环纹是由光程差改变造成的明暗相间的图像,实现明暗环纹进行计数,设法将光信号转化为电信号,选用高低电平模拟环的吞吐次数;将定域电平信号作为输入信号,拟定电平信号翻转即计数,最终总数显示到终端。
1.3.光路搭建与仪器调整
在试验台摆放氦氖激光器、扩束镜、迈克尔逊干涉仪,保证设备水平等高。将干涉仪平面擦净,使两个反射镜到分光楔距离相同。启动氦氖激光器,调整光路使两束光线在观察屏相遇。通过调节M2镜上的旋钮,使环纹圆环的中心对准毛玻璃的中心,环纹均匀、清晰。放置树莓派、光敏探头,运行程序,缓慢转动细准焦螺旋,检验计数程序运行。一切就绪后,记录环纹吞吐数目N和平面镜的位移△d。
2.环纹计数器设计思路
调节平面镜位置来改变光程差的过程中会造成干涉环纹的明暗变化,利用光敏二极管模块可检测光强的特性,将环纹的明暗光强变化对应输出高低电平,并把该电信号作为树莓派的输入信号。进而通过预先调试好的程序将输入的电信号转化为数字信号,实现自动计数功能。最终,环纹变化次数呈现在电脑显示屏上。
3.具体步骤
3.1.核心器件的选择与硬件设计
本系统以迈克尔逊干涉仪为主体,树莓派、电脑、光敏二极管模块与设计的承载装置为重要组成部分,共同构成干涉环纹自动计数系统。总体设备成本较低,其中核心部件如树莓派可以反复利用,推广到多个领域而不局限于本项目实验;在满足实验需求的同时,大大降低实验预算。其中,部分重要装置如图3、4所示。
以发射红光的He-Ne激光器为光源,干涉环纹为红黑相间的环纹,改变两束光的光程差时,接收屏上环纹中心位置光强发生明暗交替变化,对应红黑颜色的交替变化[4]。为光敏二极管模块更好地检测光强变化,起到一定遮光作用且减少人为搭载的压力,故根据核心装置的实际数据进行设计,用三维建模得到草图,并借助3D打印得到该承载装置的实物,对应实物全局如图5所示。
从上往下将设计的装置嵌套固定在显示屏处,并把调节好灵敏度的光敏二极管模块放于承载的平台上,将感光部位插入中心圆环直至触抵显示屏,尾部的杜邦线穿过平台圆孔与下方桌面上的树莓派相连,即光敏模块的VCC连接树莓派的3.3V,接地接树莓派的0V,DO接树莓派的GPIO.1。此刻,完成光电转化装置。
通过网线连接树莓派与电脑,树莓派的电源线要选用与其对应的电压适配器,否则驱动功率不够。通过网线实现电信号的传输,利用程序将电信号转化为数字信号,最终实现自动计数。
3.2.程序设计
迈克尔逊干涉仪环纹计数器中程序设计的根本原理就是利用光敏二极管模块实现光电转化得到高低电平,进而通过树莓派的边沿检测功能来对电平变化计数(如图6所示),因此得到的电平变化次数就为同一时间内干涉环纹变化数,最终计数过程显示在电脑显示屏上。
定义GPIO接口并与wiringPi编码对应,然后调用PinMode()函数和DigitalRead()函数获取GPIO的输入值,当GPIO从低电平变为高电平时计数递增,最后在主程序中对数值进行初始化并且开始线程,程序流程图如图7所示。
其中核心程序如下所示:
#include<iostream>
#include<wiringPi.h>
#include<thread>
volatile int count=0;
void gpioDetection(){
int pin=1;
int currentState=LOW;
int previousState=LOW;
pinMode(pin,INPUT);
while(true){
currentState=digitalRead(pin);
if(currentState==HIGH&&previousState==LOW){
count++;
std::cout<<”Detected GPIO:”<<count-1<<”.”<<std::endl;
}
previousState=currentState;
delay(100);
}
}
int main(){
if(wiringPiSetup()==-1){
std::cerr<<”无法初始化WiringPi库.”<<std::endl;
return 1;
}
std::thread detectionThread(gpioDetection);
detectionThread.join();
return 0;
}
4.光电计数器测试结果与分析
4.1.光电计数器测试结果
为避免实验巧合性、偶然性,提高实验可重复性,本实验利用迈克尔逊干涉仪进行数据测量,采用相同梯度进行多组实验,并选取具有可靠代表性实验数据作为具体参考,得以粗略计算测量波长和实验误差。实验数据如表1所示:
由干涉仪的读数方法求得变化间距(光程差)Δd
每当(光程差)Δd增加λ/2时:
△d=N·λ/2 (4)
就有一个条纹涌出,而已知条纹数和光程差,可逆向求得氦氖激光的波长:
经表中两列数据计算可得,第一组实验测得的氦氖激光波长的平均值(舍去一个最大值和一个最小值)为633.98nm,百分差为:0.08%。
第二组实验测得的氦氖激光波长的平均值(舍去一个最大值和一个最小值)为633.64nm,百分差为:0.12%。由此可见,利用该计数器所测得激光波长更接近于标准值,百分差缩小了十倍。
为了更清晰地比较装置实测波长和标准波长的误差情况,将两者测得数据,绘制出波长折线图,如图8所示。
以条纹变化数为横轴,波长为纵轴;标准波长为参考线,已知,实验所用氦氖激光波长为632.8nm,图中对照数据(橙色数据线)即为标准波长。第一组数据为灰色曲实线,第二组数据为黄色曲实线,由图8可表明测量值在标准波长附近振荡,根据现有资料[6],裸眼测量的激光波长均值振荡幅度明显比光电计数器测量的均值振荡幅度范围大,误差更大(百分差为:1.5%)。而通过裸眼测量的激光波长振荡范围明显比光电计数器测量的激光波均值振荡幅度大,人工测量误差在3%~5%左右。由此可见,利用该计数器所测得激光波长更接近于标准值,百分差缩小近二十倍。
以上实验结果均表明用光电计数器进行条纹的读数可以达到精确测量波长,提高实验效率的目的。
5.结语
本文针对传统迈克尔逊干涉仪人工目视计数条纹方法的局限性,研发了一种新型的明暗环纹自动计数装置,该装置通过在接收屏上安装固定的光敏二极管设备,能够精准捕捉干涉仪产生的明暗光强变化,并将其转换为高低电平信号。随后,利用树莓派和预设程序,这些电信号被进一步转换为数字信号,从而实现了干涉环纹的自动化计数。此方法有效克服了传统手动计数方式中存在的困难,将计数误差降低至约0.1%,实现了较传统方法十倍的提升精度。此外,相较于目前广泛采用的基于单片机控制系统,我们的系统利用树莓派,大大便利了用户进行数据分析和图形化显示,无需开发独立的上位机界面,显著缩短了系统的开发周期。综上所述,本研究提出的自动计数系统,以其制作简便、搭建快捷、成本低廉和操作便利的优点,展现出了极具吸引力的应用潜力,预示着在精确测量领域的重要应用价值。
参考文献(References):
[1]刘恒洲,喻秋山,胡远强,等.迈克尔逊干涉仪自动测量系统设计[J].大学物理实验,2016,29(06):69-72+75.
[2]马江归,庞俊杰,蔡俊,等.基于树莓派图像算法处理迈克尔孙干涉现象[J].大学物理实验,2021,34(05):65-69.
[3]吴弘,张礼,陈杰.基于FPGA的迈克耳孙干涉仪测量激光波长[J].物理实验,2015,35(10):32-36.
[4]孟庆刚.迈克尔逊干涉仪的应用[J].科学技术创新,2011,000(036):62-62.
[5]艾德智,王哲婕,薛江蓉.迈克尔逊干涉仪测波长的不等间隔条纹计数法的探讨[J].大学物理实验,2018,31(05):9-11.
[6]茅天伟,娄家奇,尹燕宁,等.迈克尔逊干涉仪干涉环纹光电计数器的研制[J].大学物理实验,2016,29(06):60-64.
[7]高世卿,杨智博,齐海成.迈克尔逊干涉仪自动计数器的设计[J].电子制作,2023,31(16):42-45+37.
[8]杨振乾,张旭东,王子城,等.基于Arduino单片机的迈克尔逊干涉仪测量改进[J].实验室研究与探索,2016,35(01):50-53.
[9]潘乘风,牛相宏,张红光,等.借助Python提高迈克尔逊干涉仪测光波波长实验数据的处理精度与图像可视化[J].大学物理实验,2023,36(05):81-85.
[10]张晓冬,石开,欧阳凯南,等.改进型迈克尔逊干涉仪测量溶液折射率[J].大学物理实验,2023,36(06):59-62+87.