基于单片机改造迈氏干涉仪自动测量微小长度
2.3 液晶显示单元和键盘控制单元
键盘用作数据输入和测量步骤控制,本设计使用4×4的矩阵键盘,相对于独立按键,矩阵键盘大大节省了单片机的I/O口,扩大了按键功能,同时也节省了硬件资源。液晶屏作为人机交互界面,显示实验数据和测量信息。
3 软件设计
软件设计是实现测量的主体。单片机的应用系统程序设计,常用的是汇编语言和C语言。相对于汇编语言,C语言简洁,使用方便、灵活,可重用性高,可移植性强,所以系统采用C语言编写程序,程序流程如图6所示。
下面对程序的关键部分进行说明。
3.1 光电转换部分的脉冲计数程序设计
用单片机的外部中断INT0脚检测光电转换得到的脉冲信号。当有一个脉冲的下降沿到来时,外部中断服务程序执行一次。在中断服务程序中设置记录脉冲个数的变量mai_chong_ji_shu。在两次脉冲间隔超过50 ms的情况下,每进入中断服务程序一次,mai_chong_ji_shu加1。如果两次脉冲间隔不超过50 ms,说明出现了毛刺信号,mai_chong_ji_shu不会加1,这样设计可以除去毛刺信号。
3.2 步进电机驱动及自动调速程序设计
驱动步进电机转动的脉冲信号频率越大,电机转速越高,但频率不能过大也不能过小,否则电机都不会转动。通过软件延时或定时器中断的方法可以控制电机的转速。软件延时会大量浪费CPU资源,所以采用单片机的定时器0中断来驱动28BYJ-48型步进电机转动,给定时器0赋不同的初值对应步进电机不同的转动速度。若四向八拍运行方式A-AB-B-BC-C-CD-D-DA为电机的正转,则运行方式DA-D-CD-C-BC-B-AB-A为
电机反转,每运行完一个八拍相当于电机走一步,设计变量motor_step专门记录电机的步数,电机正转变量motor_step加,电机反转变量motor_step减。motor_step值乘以电机的步长值即得到步进电机带动迈克尔干涉仪微调旋钮转过的长度。
4 实验结果与精度分析
4.1 He-Ne激光波长测量
采用波长为632.8 nm的He-Ne激光器作为光源。在一般实验环境下,经过大量测试,系统均能准确、快速测量出波长长度,表1是系统一次测量的数据。
系统自动测量的最终结果为多次测量的平均值,由表1可以看出,与理论值非常接近,平均误差为0.06%,远低于手动测量产生的误差。
测量误差主要来源于△d的测量和条纹计数N。步进电机的步进值为19.53nm,它比微调旋钮的最小刻度100nm还要小80.47nm,提高了对△d测量的准确度,因此误差较小。实验过程中,空气扰动、实验桌的碰撞、外界振动都会产生毛刺信号影响光敏二极管对干涉条纹的检测,产生计数错误,从而产生测量误差。对于较小的毛刺信号,通过编程进行处理,不会对条纹计数产生大的影响,但对于严重的干扰信号,系统无法处理。系统会根据测量的结果自动判断实验误差是否在允许范围内,若不在,将提示重新测量。
4.2 透明薄膜厚度测量
实验选用标准厚度为80μm的透明薄膜作为测试品,用阿贝折射仪测出此薄膜的折射率n=1.429 4,在一般实验环境下,对薄膜厚度进行了大量的测量,表2所示为测量的一部分数据,其中d1为未插薄膜前彩色条纹出现时动镜的位置,d2为插入薄膜后彩色条纹出现时动镜的位置。
从表2数据可以算出,测试薄膜厚度的平均值为81.600 1 μm,精度较高(测量薄膜厚度精确到了0.1 nm级)。测量薄膜厚度的误差主要来源于两个方面,△和n的测量。虽然步进电机的步进值较小,但并不能完全消除对△测量的误差,而是将其大大减小了。薄膜上的灰尘不可避免地影响薄膜的折射率n。实验过程中,外界的干扰以及仪器本身因素都会影响测量结果。
5 结语
基于单片机改造后的迈克尔逊干涉仪可以精确、快速、自动测量激光波长和薄膜厚度。采用非接触法测量薄膜厚度,不会对薄膜造成破坏,扩展了迈克尔逊干涉仪的使用范围,提高了实用性。改装电路元器件价格低廉,组装简单,对迈克尔逊干涉仪的手动测量与外观没有任何影响,促进了光学教学实验仪器的发展,具有一定的市场前景。
本研究在湖北师范学院物理与电子科学学院刘兴云老师的指导下,由光学实验室与电子电工实验室提供实验器材,经过小组成员的共同努力完成。在此特别感谢刘老师的指导,同时对湖北师范学院物理与电子科学学院和提供过帮助的老师与同学致以深切的谢意与祝福。
测量 微小 长度 自动 干涉仪 单片机 改造 基于 相关文章:
- 基于DSP的光纤高温测量仪的软件设计 (04-08)
- 基于DSP处理器的光纤高温测量仪的设计方案(05-08)
- 用DSP实现抖动(Jitter)测量的方法(04-28)
- 基于dsPIC30F2010的土壤水分测量仪的设计研究(08-27)
- 用DSP实现增量式光电编码器的细分(01-01)
- MSP430在电力测控保护产品中的应用(01-15)