位移测量.光学模块和光电转换电路图的绘制

点击次数:   更新时间:2017-06-16 20:09     来源:未知 分    享:
 本方案顺利完成了位移测量、光学模块组建和光电转换电路图的绘制和PCB的制作,程序也编译无误。以下提供光学模块(图4.1)和(图4.2)光电转换电路板的实物照片的展示。

                      图4.1 光学模块

图4.2光电转换电路板
在完成整个方案的过程中,基本上分为三步走:第一步,激光器发射出激光通过激光镜头和准直镜后将激光准直为平行光束,之后平行光束通过半透半反棱镜、波片、物镜后将激光聚焦到反射镜平面,然后反射镜将激光放射,激光按相同光路放回至半透半反棱镜,由于棱镜作用将光路转折90°角,最后激光通过双柱面镜后到达QP50-6-TO8四象限光电探测器感光区。第二步,QP50-6-TO8四象限光电探测器受激光光束激发产生电流信号输出至光电转换电路,电流信号经过光电转换电路后输出离焦电压信号。第三步,通过KL25Z128LV飞思卡尔板的AD引脚对离焦电压信号进行采样并通过程序计算得出相应的离焦电压信号值,然后通过逐次比较的方式判断离焦电压信号值所属值域并进行离焦量求取,最后将离焦量通过LED数码管进行显示输出。
以上三步都可以实现,且整合在一起也能够相互衔接,但是也存在一些问题。例如光学模块中的透镜无法做到彻底的防尘工作;光电转换电路板的输出存在噪声印象;KL25Z128LV飞思卡尔板与光电转换电路板直接引线直接存在感应电动势,影响AD数据采集的精确度等问题都需要考虑和解决。
虽然本方案现阶段只是一个实验品,且系统各部件都是组装而成。但是一点都不影响他的发展前景。在之后的过程中,可以通过CAD将光学模块设计成一个可调节的透镜套筒,实现各部件自由组装拆卸且对透镜起到防尘作用;可以对光电转换电路进行优化,通过增加滤波电路及其他环节实现电路输出优化,减小误差;可以在光电转换电路的基础之上加入AD采样功能和显示功能,提高集成化;可以增加串口输出功能,将测量结果传送至计算机,通过软件技术实现平面平整度测量及3D图像显示。
由于前期设计所得的离焦量线性变化趋势仅能作为设计之初参考,实际离焦量变化趋势与理想设计的离焦量变化趋势相近,但有局部变化且具体值不同。因此需要对离焦量与离焦信号进行逐部测量并通过程序设计进行标定。
具体测量结果如下所示:

刻度值(mm) 测量值(V) 平均值(V)
2 4.8311 4.7923 4.8194 4.8517 4.8436 4.8411 4.82962
1.9 4.7645 4.7324 4.7231 4.7498 4.9341 4.7823 4.78434
1.8 4.6314 4.6026 4.62739 4.6549 4.5518 4.601 4.607538
1.7 4.5434 4.2498 4.513 4.51739 4.4827 4.4398 4.440538
1.6 4.4849 4.3877 4.4373 4.4144 4.4231 4.4123 4.41496
1.5 4.32 4.3368 4.2949 4.3456 4.2857 4.3123 4.31506
1.4 4.2278 4.3112 4.291 4.1559 4.1862 4.2389 4.23664
1.3 4.2007 4.1958 4.186 4.164 4.1818 4.1845 4.18242
1.2 4.1301 4.0286 4.0841 4.0307 4.0601 4.0038 4.04146
1.1 3.9484 3.9638 4.005 3.991 4.0598 4.0001 4.00394
1 4.007 4.009 3.9982 4.0605 3.9433 3.9978 4.00176
0.9 4.05 3.9688 3.93506 3.9645 3.95 3.9667 3.957012
0.8 3.8899 3.8911 3.8642 3.98 3.9094 3.9457 3.913383333
0.7 3.76419 3.819 3.8334 3.742 3.8789 3.7325 3.794998333
0.6 3.6258 3.652 3.61101 3.6086 3.6576 3.632 3.631168333
0.5 3.5088 3.5172 3.5764 3.5592 3.5746 3.5422 3.5464
0.4 3.3836 3.351 3.3826 3.2781 3.3921 3.3281 3.352583333
0.3 3.233 3.1786 3.276 3.3008 3.2474 3.2268 3.243766667
0.2 3.1794 3.218 3.1904 3.1778 3.2382 3.2124 3.2027
0.1 3.2102 3.2185 3.1714 3.173 3.2346 3.1466 3.192383333
0 3.111 3.1667 3.1458 3.1786 3.115 3.0159 3.122166667
-0.1 2.9373 2.8113 2.928 2.9148 2.9615 2.9365 2.9149
-0.2 2.8977 2.8223 2.80839 2.7995 2.8402 2.9105 2.846431667
-0.3 2.5942 2.7302 2.6561 2.5825 2.6149 2.6103 2.631366667
-0.4 2.4584 2.5342 2.5282 2.5649 2.4386 2.5268 2.508516667
-0.5 2.309 2.3327 2.3212 2.2879 2.3201 2.2746 2.307583333
-0.6 2.1369 2.1694 2.0891 2.1022 2.1124 2.1055 2.11925
-0.7 1.9243 1.8575 1.9681 1.9919 1.95004 1.95 1.940306667
-0.8 1.81706 1.7048 1.8109 1.8295 1.7152 1.8177 1.782526667
-0.9 1.789 1.6884 1.7573 1.7892 1.6702 1.7208 1.735816667
-1 1.6607 1.5131 1.6774 1.6721 1.6657 1.6141 1.63385
-1.1 1.5858 1.4419 1.6103 1.5377 1.6002 1.6162 1.56535
-1.2 1.4657 1.3753 1.3976 1.4716 1.4931 1.4195 1.437133333
-1.3 1.2951 1.2242 1.3474 1.3474 1.3076 1.4442 1.32765
-1.4 1.1733 1.0229 1.2411 1.2362 1.2506 1.191 1.18585
-1.5 0.9548 0.8947 1.0626 1.01801 1.1129 1.0335 1.012751667
-1.6 0.8205 0.8104 0.8495 0.8101 0.8496 0.8563 0.832733333
-1.7 0.7328 0.7491 0.8104 0.7829 0.7489 0.7318 0.759316667
-1.8 0.6822 0.6933 0.70446 0.6986 0.6595 0.6428 0.680143333
-1.9 0.4531 0.3797 0.4415 0.4416 0.4696 0.3683 0.425633333
-2 0.313 0.3354 0.3577 0.3801 0.3298 0.324 0.34
 
 
将计算所得的离焦信号值逐次进行if判断,判断得出离焦信号所在区。然后对于离焦信号进行换算得出离焦量。
         if(FES-4.8<0.06 && FES-4.8>-0.1)//-20//
             {
                    dis=2;
             }
             if(4.74078<FES && FES<4.82762)//-20--19//
             {
                    dis=(FES-4.74078)*100/(4.82762-4.74078);
                    dis=(1900+dis)/1000;
             }    
             if(4.613618<FES && FES<4.74078)//-19--18
             {
                    dis=(FES-4.613618)*100/(4.74078-4.613618);
                    dis=(1800+dis)/1000;
             }
             if(4.497258<FES && FES<4.613618)//-18--17
             {
                    dis=(FES-4.497258)*100/(4.613618-4.497258);
                    dis=(1700+dis)/1000;
             }
             if(4.42948<FES && FES<4.497258)//-17--16
             {
                    dis=(FES-4.42948)*100/(4.497258-4.42948);
                    dis=(1600+dis)/1000;
             }
             if(4.3166<FES && FES<4.42948)//-16--15
             {
                    dis=(FES-4.3166)*100/(4.42948-4.3166);
                    dis=(1500+dis)/1000;
             }
             if(4.22842<FES && FES<4.3166)//-15--16
             {
                    dis=(FES-4.22842)*100/(4.3166-4.22842);
                    dis=(1400+dis)/1000;
             }
             if(4.18566<FES && FES<4.22842)//-14--15
             {
                    dis=(FES-4.18566)*100/(4.22842-4.18566);
                    dis=(1300+dis)/1000;
             }
             if(4.05621<FES && FES<4.18566)//-13--14
             {
                    dis=(FES-4.05621)*100/(4.18566-4.05621);
                    dis=(1200+dis)/1000;
             }
             if(3.9936<FES && FES<4.05621)//-12--13
             {
                    dis=(FES-3.9936)*100/(4.05621-3.9936);
                    dis=(1100+dis)/1000;
             }
             if(4.0036>FES && FES>3.9936)//-11--12
             {
                    dis=(FES-3.9936)*100/(4.0036-3.9936);
                    dis=(1000+dis)/1000;
             }
             if(3.95929<FES && FES<4.0036)//-10--11//
             {
                    dis=(FES-3.95929)*100/(4.0036-3.95929);
                    dis=(900+dis)/1000;
             }
             if(3.91338<FES && FES<3.95929)//-9--10//
             {
                    dis=(FES-3.8089)*100/(3.95929-3.91338);
                    dis=(800+dis)/1000;
             }
             if(3.7949<FES && FES<3.91338)//-8--9
             {
                    dis=(FES-3.7949)*100/(3.91338-3.7949);
                    dis=(700+dis)/1000;
             }
             if(3.63<FES && FES<3.7949)//-7--8
             {
                    dis=(FES-3.63)*100/(3.7949-3.63);
                    dis=(600+dis)/1000;
             }
             if(3.5464<FES && FES<3.63)//-6--7
             {
                    dis=(FES-3.5464)*100/(3.63-3.5464);
                    dis=(500+dis)/1000;
             }
             if(3.3778<FES && FES<3.5464)//-5--6
             {
                    dis=(FES-3.3778)*100/(3.3778-3.3303);
                    dis=(400+dis)/1000;
             }
             if(3.24406<FES && FES<3.3778)//-4--5
             {
                    dis=(FES-3.24406)*100/(3.3778-3.24406);
                    dis=(300+dis)/1000;
             }
             if(3.2027<FES && FES<3.24406)//-3--4//
             {
                    dis=(FES-3.2027)*100/(3.24406-3.2027);
                    dis=(200+dis)/1000;
             }
             if(3.19238<FES && FES<3.2027)//-2--3//
             {
                    dis=(FES-3.19238)*100/(3.2027-3.19238);
                    dis=(100+dis)/1000;
             }
             if(3.12216<FES && FES<3.19238)//-1--2//
             {
                    dis=(FES-3.12216)*100/(3.19238-3.12216);
                    dis=(0+dis)/1000;
             }
             if(FES-3.1<0.06)//0
             {
                    dis=0;
             }    
             if(2.91488<FES && FES<3.19238)//1-0
             {
                    dis=(3.19238-FES)*100/(3.19238-2.91488);
                    dis=(0+dis)/1000;
             }
             if(2.8464<FES && FES<2.91488)//2-1
             {
                    dis=(2.91488-FES)*100/(2.91488-2.8464);
                    dis=(100+dis)/1000;
             }
             if(2.6313<FES && FES<2.8464)//3-2
             {
                    dis=(2.8464-FES)*100/(2.8464-2.6313);
                    dis=(200+dis)/1000;
             }
             if(2.5085<FES && FES<2.6313)//4-3
             {
                    dis=(2.6313-FES)*100/(2.6313-2.5085);
                    dis=(300+dis)/1000;
             }
             if(2.3126<FES && FES<2.5085)//5-4
             {
                    dis=(2.5085-FES)*100/(2.5085-2.3126);
                    dis=(400+dis)/1000;
             }
             if(2.1358<FES && FES<2.3126)//6-5
             {
                    dis=(2.3126-FES)*100/(2.3126-2.1358);
                    dis=(500+dis)/1000;
             }
             if(1.975<FES && FES<2.1358)//7-6
             {
                    dis=(2.1358-FES)*100/(2.1358-1.975);
                    dis=(600+dis)/1000;
             }
             if(1.8079<FES && FES<1.975)//8-7
             {
                    dis=(1.975-FES)*100/(1.975-1.8079);
                    dis=(700+dis)/1000;
             }
             if(1.73855<FES && FES<1.8079)//9-8
             {
                    dis=(1.8079-FES)*100/(1.8079-1.73855);
                    dis=(800+dis)/1000;
             }
             if(1.66308<FES && FES<1.73855)//10-9
             {
                    dis=(1.73855-FES)*100/(1.73855-1.66308);
                    dis=(900+dis)/1000;
             }
             if(1.5772<FES && FES<1.66308)//11-10
             {
                    dis=(1.66308-FES)*100/(1.66308-1.5772);
                    dis=(1000+dis)/1000;
             }
             if(1.39811<FES && FES<1.5772)//12-11
             {
                    dis=(1.5772-FES)*100/(1.5772-1.39811);
                    dis=(1100+dis)/1000;
             }
             if(1.3513<FES && FES<1.39811)//13-12
             {
                    dis=(1.39811-FES)*100/(1.39811-1.3513);
                    dis=(1200+dis)/1000;
             }
             if(1.2217<FES && FES<1.3513)//14-13
             {
                    dis=(1.3513-FES)*100/(1.3513-1.2217);
                    dis=(1300+dis)/1000;
             }
             if(1.0399<FES && FES<1.2217)//15-14
             {
                    dis=(1.2217-FES)*100/(1.2217-1.0399);
                    dis=(1400+dis)/1000;
             }
             if(0.8504<FES && FES<1.0399)//16-15
             {
                    dis=(1.0399-FES)*100/(1.0399-0.8504);
                    dis=(1500+dis)/1000;
             }
             if(0.7593<FES && FES<0.8504)//17-16
             {
                    dis=(0.8504-FES)*100/(0.8504-0.7593);
                    dis=(1600+dis)/1000;
             }
             if(0.6891<FES && FES<0.7593)//18-17
             {
                    dis=(0.7593-FES)*100/(0.7593-0.6891);
                    dis=(1700+dis)/1000;
             }
             if(0.4351<FES && FES<0.6891)//19-18
             {
                    dis=(0.6891-FES)*100/(0.6891-0.4351);
                    dis=(1800+dis)/1000;
             }
             if(0.34<FES && FES<0.4351)//20-19
             {
                    dis=(0.4351-FES)*100/(0.4351-0.34);
                    dis=(1900+dis)/1000;
             }
             if(0<FES && FES<0.34)//20
             {
                    dis=2;
             }   
上海育仰科教设备有限公司
联系人:张经理
联系电话:15216837090
公司电话:021-60766769
公司地址:上海市嘉定区鹤旋路26弄22号