APP下载

基于单片机的振镜扫描实时跟踪系统

2020-08-05朱新泽谭朗海曾亚光周月霞

仪器仪表用户 2020年8期
关键词:上位串口物体

李 泽,朱新泽,谭朗海,张 浩,曾亚光,周月霞

(佛山科学技术学院 自动化学院,广东 佛山 528200)

0 引言

光学相干层析成像(OCT)是近10年迅速发展起来的一种成像技术,能够对包括生物组织在内的强散射介质进行深度成像[1]。其成像基础在于振镜扫描,OCT系统通过控制振镜对物体进行扫描,从而得到物体的二维或三维结构图像。

为了获得更高质量的图像,通过采用STM32系列单片机精确控制振镜扫描,模板匹配算法实时匹配目标图像,实现良好的控制效果,完成对物体的实时扫描成像。

1 振镜扫描跟踪系统结构

振镜扫描跟踪系统由上位机、单片机控制电路、振镜扫描系统、工业相机组成,其结构示意图如图1所示。系统启动后,一方面上位机通过与单片机控制电路的串口通信方式,对单片机下达指令输出不同扫描信号,控制振镜偏转,同时光束在经过准直镜准直平行后,进入振镜被反射偏转,在半反半透镜表面上再一次被反射后,实现对目标不同方式的扫描;另一方面,上位机实时接收工业相机拍摄到的目标图像,通过目标跟踪算法,获得目标的位置信息后,通过单片机控制电路对扫描信号加入相应的偏置电压,实现对运动目标的跟踪扫描。

图1 振镜扫描控制系统结构图Fig.1 Structure diagram of galvanometer scanning control system

图3 正弦波信号Fig.3 Sine wave signal

2 单片机控制程序与PWM DAC电路设计

2.1 单片机控制信号程序设计

STM32F4系列单片机具有片上DAC外设,它的分辨率可配置为8位或12位的数字输入信号[5],具有两个DAC输出通道,这两个通道互不影响,每个通道都可以使用DMA功能,都具有出错检测能力,可外部触发。

图2 信号产生程序框图Fig.2 Block diagram of signal generation

图4 余弦波信号Fig.4 Cosine wave signal

对于正弦波、余弦波、阶梯波和三角波信号,利用STM32的DAC、定时器、DMA(直接存储器访问),编程实现定时器定时触发DAC,对通过DMA高速传输的信号数据进行数模转换,在对应I/O口输出频率可控信号。程序框图如图2所示。

信号波形如图3~图6所示。

对于PWM信号,利用STM32的定时器,通过程序改变自动重装载值(ARR)、时钟预分频系数(PSC)和比较寄存器(CCRx)中的值来改变PWM信号的频率与占空比,在对应I/O口输出频率和占空比可控信号。PWM信号如图7所示。

2.2 PWM DAC电路设计

如图8所示为PWM DAC的电路框图。

图5 阶梯波信号Fig.5 Ladder wave signal

图7 PWM信号Fig.7 PWM signal

其工作流程为,单片机输出的正极性PWM信号经过反相电路后产生负极性PWM信号,然后通过加法放大电路将单极性信号转换为双极性信号,再经低通滤波电路滤除PWM信号中的谐波分量[7],得到所需要的模拟电压。当物体运动时,该模拟电压用于对信号的偏置,从而控制振镜对物体进行跟踪扫描。

整个电路主要采用双运算放大器LM358,该芯片内部包含有两个相互独立的、高增益的运算放大器,适合于电源电压范围很宽的单电源使用,也适用于双电源工作模式,并具有内部频率补偿功能。本文采用双电源供电工作模式,从而实现正负电压的输出[9]。

3 振镜扫描系统

3.1 振镜扫描原理

图9为二维振镜扫描原理图。振镜的机械部分是由X、Y两个振镜组成的振镜头,每个振镜电机轴上都安装了一个反射镜片,通过控制振镜电机,使得这两个反射镜相互配合偏转不同的角度,带动激光光束在扫描平面上偏转,进而扫描出物体完整的图形[10]。

图6 三角波信号Fig.6 Triangle wave signal

图8 PWM DAC电路框图Fig.8 PWM DAC circuit block diagram

图9 二维振镜扫描原理图Fig.9 Schematic diagram of two-dimensional galvanometer scanning

3.2 振镜扫描跟踪系统结构的建立

3.2.1 光学系统

在振镜扫描系统中,必须在扫描平面上获得尽可能小的激光高功率密度的光斑。因此,通过使用扩束镜调节激光器发出的激光光束变为平行光束,然后通过聚焦透镜获得符合要求的激光高功率密度光斑。

图10 振镜扫描控制系统界面Fig.10 Galvanometer scanning control system interface

图11 串口通信程序流程图Fig.11 Serial port communication program flow chart

3.2.2 振镜头

振镜头由X、Y两轴上的反射镜、扫描电机和伺服电路两部分构成。反射镜安装在扫描电机的轴上,电机带动反射镜偏转;扫描电机不能旋转,只能有限角度地偏转,它内部集成了位置传感器实时测量扫描电机的偏转角度;伺服电路接收驱动器生成的模拟电压信号,控制扫描电机按要求偏转。

4 振镜扫描控制系统上位机设计

上位机控制程序主要是通过人机交互程序设置参数并输入字符、数字、字母等,形成相应的振镜扫描规划,得到相应扫描图形的数据。

4.1 界面设计

界面设计是利用Visual Studio 2015的MFC来实现的,MFC(Microsoft Foundation Class Library)基础类库提供了一种在Windows平台上编程的框架,该框架是一个编写高效更专业应用的强大工具,缩短了开发时间,增强了代码的可移植性,在不减少编程的自由和灵活性的情况下提供了更多的支持。

如图10所示,界面主要包含有串口通信参数设定模块、扫描信号设定模块、USB相机开启及数据反馈模块和其他功能模块。界面打开后,设置串口参数,实现与单片机的通信,然后发送物体扫描方式的数据,同时打开相机得到扫描后的物体图像,在物体运动时,偏置电压值实时发送给单片机,从而控制振镜偏转角度变化,实现目标跟踪扫描。

4.2 通信设计

串口是一种单片机间通信非常通用的设备端口,因其结构简单、适合远距离传输,而得到广泛应用。本文中上位机与单片机采用串口通信方式进行通信,实现数据传送与反馈[11]。

上位机串口通信模块程序包括串口初始化,Comm事件响应,串口数据发送和数据处理,其具体流程如图11所示。

在串口初始化中,设定串口号和通信协议中所需的波特率、校验位、数据位、停止位,通过发送控件触发Comm事件,将扫描控制信号数据按照一定规则发送给单片机,同时接收并处理单片机反馈回来的数据。

4.3 目标跟踪算法设计

本文采用基于特征的目标跟踪算法,适用于具有突出特征的目标图像。算法初始化时在选定的目标区域内提取特征点,跟踪过程中通过对前后两帧的特征点进行匹配,计算出目标的位置、尺度和旋转变化,进而实现对目标的跟踪。

针对基于特征的目标跟踪算法主要通过两个步骤来实现,分别是特征提取和特征匹配。

1)特征提取

特征提取是将图像的移动目标的特征点找到并有效地提取处理,属于特征识别范畴[12]。这些特征需要具有突出的代表性,不仅能够较好地区分目标和背景,还可以应对目标被部分遮挡或形状的变化。

图12 (a) 物体原始位置图像Fig.12 (a) Object original position image

2)特征匹配

特征匹配是在得到目标图像特征点的基础上,通过相似性判定准则,寻找到与目标特征点最相似的坐标,同时获取目标信息,标记目标位置进而实现目标的有效跟踪的过程[12]。

5 实验结果分析

为了验证该系统对物体实时跟踪扫描的实现效果,利用Sun Time FX30工业相机采集640×480大小的图像,以每秒60帧的速率进行采集,同时采用步进电机控制物体运动,在上位机窗口实时显示目标图像和扫描区域,结果如图 12(a)(b)(c)所示。

其中,图12(a)为物体原始位置图像,在原始图像中设定需要跟踪扫描的具有明显特征的区域,此时设定为红色方框区域;通过步进电机控制物体运动后,得到如图12(b)、图12(c)所示的运动时部分位置图像,振镜扫描区域时刻处于红色方框内。实验表明,该系统能够很好地控制振镜扫描,实现了对物体实时跟踪扫描成像。

图12 (b) 物体运动位置图像aFig.12 (b) Object moving position image a

图12 (c) 物体运动位置图像bFig.12 (c) Object moving position image b

猜你喜欢

上位串口物体
浅谈AB PLC串口跟RFID传感器的通讯应用
深刻理解物体的平衡
我们是怎样看到物体的
特斯拉 风云之老阿姨上位
“三扶”齐上位 决战必打赢
基于ZigBee和VC上位机的教室智能监测管理系统
数字电源内部数据传输的串口通信方法实现
USB接口的多串口数据并行接收方法探索
串口技术的实物调试和虚拟仿真联合教学模式
为什么同一物体在世界各地重量不一样?