基于PSD的激光三角MATLAB时显轮廓仪
2021-04-22张新红黄智杰兰发胜李华健陈虹微陈晶晶
张新红,黄智杰,兰发胜,李华健,陈虹微,陈晶晶,吕 晶
(龙岩学院 福建龙岩 364000)
随着半导体芯片技术的快速发展,人工智能、自动控制已深入到生产制造、智能家居、医疗、遥感监控、逆向工程等各个领域,这就急需应用型电子、光电、电信、计算机等专业人才。增加实践训练,加强专业知识联系,提高综合设计、解决实际问题能力,是培养应用型人才的重要举措[1]。为此,教育部、科技部组织高校开展各类学科竞赛,大力推进实践课程改革和专业群建设[2]。在模拟电子、数字电子、单片机、光电子技术、传感器、光学、激光原理、光电检测技术等课程实验基础上,联合开发综合性课题的课程实训、毕业设计、大学生创新创业项目、挑战杯等是各高校常用的提高应用能力的实践训练方法。
激光三角测头运用经典的三角法测距[3],以激光为非接触测量媒质,实现距离、位移、长度、轮廓、形貌等物理量测量[4],广泛用于三坐标测量机、工业照相机、激光比长仪中。位置敏感探测器PSD测量精度较高,驱动和处理电路简单,常用于激光三角测头中[5]。本文以本科生通用的单片机为主控芯片,通过电机驱动PSD的激光三角测头在XY二维平面内扫描,获得水平面上静止物体Z方向的高度,再利用串口通信电路和MATLAB的GUI可视化和通信功能,实现物体三维轮廓的可视化实时扫描。本设计综合了电子、光电、自动控制等多专业基本技能,适合应用型人才培养综合技能训练。
1 轮廓扫描系统设计
1.1 系统的结构设计
图1是系统机构示意图。如图1所示,被测物体静止放置在标准水平面上,激光测头(含PSD)为检测单元,详细见1.2部分。系统由单片机控制并采集数据,X、Y丝杆构成测头运动平面,X电机带动测头沿X丝杆横向扫描,再沿Y丝杆前进,扫描过程中PSD获得物体表面高度信息Z,同时记录X、Y位置信息,单片机通过串口通信将获取的物体表面位置信息X、Y、Z传给PC机的MATLAB,由MATLAB的GUI功能和串口通信、数据控制处理功能可视化显示被测物体三维轮廓。
图1 轮廓测量仪装置机构设计示意图
图2 直射式激光三角法工作原理示意图
1.2 激光三角测头设计
本系统激光三角测头采用直射式方式,它组装方便,测试过程中测头运动对测量结果影响较小[6],图2是直射式激光三角测头测试原理图。如图2所示,激光器发出的光经汇聚透镜聚焦后垂直入射到参考表面A和被测物表面B处,漫反射的光经接收透镜成像在PSD相应的A'、B'位置处。由几何关系可得到这两者位置关系如下:
(1)
式中,a=BO为激光束经汇聚透镜后到达被测表面点B与该光束经被测表面漫反射后到达接收透镜中心O的距离,b=OB'为该光束至接收透镜中心O到被测表面点B在PSD成像点B'的距离,Z=AB、Z'=A'B'分别为参考平面和被测表面相应参考点A与被测点B间距及它们在PSD上成像点A'、B'间距。
若一维PSD以中点光点位置为坐标原点,光点坐标仅与两电极输出电流、PSD长度有关,即
(2)
由此可见,只要读取电极电流,即可通过光点位置获得物体高度信息。测量中随O点变化,(1)式中a、b、α、β也会变化,Z与Z'非线性关系,本设计采用标准厚度的A4纸定标。
1.3 数据传输与可视化时显设计
图3 数据传输与MATLAB时显处理原理图
利用MATLAB的GUI功能在PC端建立可视化界面,设计串口通信电路和传输协议建立MATLAB与单片机间的数据通信,图3是实现数据传输和可视化时显原理图。如图3所示,扫描过程中单片机获取的物体表面位置信息X、Y、Z经串口通信电路和传输协议以单个字符串形式传给PC机端的MATLAB,储存在三维字符串数组中,利用转换函数Str2num转换成数字数组拆分成单个的数字X、Y、Z,用polo3函数逐点绘制物体轮廓线条,当所有数据传输完时用surf三维曲面函数,显示出物体的完整三维轮廓。
2 系统硬件设计
2.1 硬件设计总方案
图4是系统硬件逻辑框图。如图4所示,选用STC12C5A60S2单片机为主控芯片,除PC端MATLAB的GUI界面上自动控制和实时可视化显示外,也在硬件中设计按键手动控制、系统运行信息和采集数据的LCD1602液晶显示。单片机驱动电机带动激光测头采集物体表面三维信息,通过CH340G串口通信实时发送到PC端MATLAB处理,在GUI界面实时显示扫描物体轮廓。
图4 系统硬件逻辑框图
2.2 PSD电路与信号传输
根据(2)式,PSD信号采集和处理按图5所示思路进行,其中I-V转换放大电路、加减和除法电路、反相电路分别运用AD704JN、AD538BD、LM324芯片。信号传输采用CH340G转换芯片构成串口通信电路,将USB信号转换为TTL电平,用printf函数发送数据,当触发到需要发送数据时将发送标志位TI=1,结束后将发送标志位TI=0进行协议传输。
图5 PSD信号处理框图
3 系统制作与测试应用
3.1 实物与MATLAB的GUI可视化界面
按设计思路,运用MATLAB的GUI功能设计可视化界面,编写单片机程序和M文件执行系统控制、信息传输、图线绘制和实时显示。图6(a)和(b)是系统机构和电路实物图,图7是PC端MATLAB的GUI界面和运行效果。图6(a)测试机构中激光三角测头LD激光器、PSD驱动共用一个电源供电,图6(b)控制系统单片机、电机驱动、串口通信、液晶等电路共用另一电源供电。图7 GUI界面包括串口参数设置、信号传输控制和图像显示区。由图6和7可以看出,该平台制作简单,元器件常见,适合学生自主开发,且综合MATLAB 的GUI功能和串口通信、数据控制处理功能,实现了PC电脑自动控制和实时可视化效果。
(a)机构外观图
图7 PC端MATLAB的GUI界面运行效果图
3.2 系统测试与应用
表1和图8是系统性能测试和实物应用测试结果。从表1中数据可以看出,系统能耗较低,待机功率仅约7.2 W,Y轴移动双电机同时工作时功率最大约23.04 W。测量范围主要与PSD长度有关,本设计采用8 mm的PSD,测量范围Z高度约为0~23 mm,放大了近3倍。Z高度测量精度较高,10次测量实测为10.23 mm的位置结果平均值为10.22 mm。扫描时间效率与电机步进间隔有关,间隔越小扫描时间越长,扫描效果也越好。
表1 系统性能测试参数
图8 测试实物和三维轮廓图、高差平面图
4 总结
激光三角轮廓扫描系统以单片机为主控芯片,运用MATLAB的GUI功能设计可视化界面,电机驱动以PSD为探测器的直射式双透镜激光三角测头扫描物体表面,获取物体表面位置信息X、Y、Z,通过串口电路和传输协议单片机与MATLAB通信,实现静态物体表面三维轮廓的实时扫描显示。该系统各部分基于本科基础教学,既简单又具独立性,整体设计集电子、光电、机械、自动控制、可视化显示于一体,设计方案科拓性强,激光三角应用广泛,非常有利于应用型人才培养的基础扎实、应用综合的实践能力培养目标。