周 珏 ,吴东岷
(1.中国科学技术大学 微电子学院,安徽 合肥 230026;2.中国科学院苏州纳米技术与纳米仿生研究所,江苏 苏州 215000)
激光扫描在激光雕刻、激光雷达、激光精密打标等领域都有广泛的应用。目前激光扫描方式主要分为振镜扫描、MEMS(Micro-Electro-Mechanical System)微镜扫描以及转镜扫描[1]。
振镜扫描是指振镜电机带动反射镜偏转,进而使入射到反射镜表面的光束发生偏转,实现扫描[2]。振镜扫描方式由于其机械结构导致其扫描速度较慢,扫描频率一般为20 Hz 左右,扫描角度一般为20°×20°。
MEMS 微镜采用微机电系统工艺,相比机械振镜具有体积小、谐振频率高、光学特性好的优点[3],由于其工作在谐振频率处,快轴扫描频率能达到27 kHz,扫描角度一般为40°×10°[4]。
转镜扫描是一种比较常见的机械扫描方式,其物面扫描点的形状是线状的。有些商业LIDAR(Light Detection and Ranging)系统采用这种方式。转镜扫描具有转速高、扫描速度大、稳定性好的优点[5]。但转镜相比MEMS 微镜,扫描图像分辨率较低。
为了增大MEMS 微镜扫描的角度,因此提出同步扫描方案。目前关于同步扫描的研究主要还是基于振镜与转镜的同步,沈辰弋[6]提出了一种振镜与步进电机带动的转镜同步扫描方案,其同步扫描通过等待零位置实现,扫描角度为30°×60°。谢机有[7]提出了一种振镜与无刷电机带动的转镜扫描方案,但未进行同步设计。
本文基于MEMS 微镜的激光扫描特性,设计了MEMS 微镜与无刷电机的同步方案,可以实现40°×180°扫描。
系统结构如图1 所示。本设计由STM32F407 微控制器、MEMS 微镜驱动电路以及相位检测电路三部分组成。由于MEMS 微镜采用电磁驱动,且需要工作在谐振频率处[8],因此MEMS 微镜的驱动信号需要具有频率精度高的特点,为了实现MEMS 微镜与无刷电机的同步,驱动信号还需要具备相位可调的特点,因此,本设计采用直接数字频率合成器(Direct Digital Synthesis,DDS)产生微镜驱动信号。STM32 通过SPI 接口与DDS 进行通信,DDS 输出经滤波放大后驱动MEMS 微镜振动。相位检测电路完成对微镜反馈信号与无刷电机反馈信号的调理。无刷电机由PWM 波进行驱动,可通过改变PWM波占空比实现对电机速度的控制[9]。
图1 系统结构图
系统工作原理如图2 所示。MEMS 微镜在驱动信号的作用下,会产生正弦反馈信号。微镜反馈信号经过零比较器产生方波信号,方波信号的跳变沿则标志着微镜过零点的时刻。无刷电机装有光栅码盘,当无刷电机转动时,光栅码盘会使光电传感器产生方波反馈信号,STM32会对方波信号进行处理,获取电机此刻的转动速度以及原点位置。为了能够得到稳定的相位差,需要通过PID算法对电机转速进行控制,使光电传感器产生稳定的方波信号,同时还需对过零比较器产生的方波信号进行分频处理,获得与电机反馈同频的方波信号。STM32 计算两路反馈信号上升沿的时间差得到相位差,通过调节DDS驱动信号的相位,便可使相位差趋近于0,实现同步扫描的目的。
图2 系统工作原理图
驱动电路主要是为了产生MEMS 微镜的驱动信号,使微镜在谐振频率处振动。本设计采用DDS 作为微镜的信号源,其具有精度高,信号灵活可调的优点[10]。
DDS 主要组成部分是:相位累加器、波形存储器、数模转换器和时钟模块[11]。其原理是:在系统时钟的作用下,相位累加器会对频率控制字(Frequency Tuning Word,FTW)进行累加,而相位累加器的输出会作为寻址地址去波形存储器中查找数据并送入DAC(Digital-to-Analog Converter)进行D/A 转换。在系统时钟为500 MHz、相位累加器为32 位宽、相位偏移寄存器为14 位宽时,产生正弦信号的DDS 工作原理图如图3 所示。
图3 DDS 原理框图
DDS 的输出取决于频率控制字、相位控制字以及系统时钟。在系统时钟一定的情况下,频率控制字越大,DDS 输出频率则越大。相位控制字(Phase Offset Word,POW)越大,则DDS 输出信号的相位偏移越大。本设计中,DDS芯片时钟为500 MHz,其输出频率精度能达到0.12 Hz。其关系式如下:
式中,fs为系统时钟频率,232代表相位累加器的容量,fout为系统输出频率。
式中,Ø 代表输出相位偏移量,214代表相位偏移寄存器最大值。
由于DDS 是数字器件,其输出信号是阶梯状的,内部含有较多高次谐波,为了得到较为平滑的波形信号,需要设计低通滤波器对这些高频分量进行滤除[12]。针对DDS 技术中输出波形的频谱结构及滤波器的传输特性[13],为此本文设计七阶巴特沃斯低通滤波器。电路图如图4 所示。
图4 七阶巴特沃斯滤波器电路图
DDS 芯片对外提供SPI 接口,STM32 通过SPI 接口完成对DDS 的初始化以及输出信号频率、相位的配置[14]。
相位检测电路的主要功能是实现MEMS 微镜与无刷电机的同步扫描。其核心电路则是实现高精度的过零比较,本设计比较器采用LM393 芯片实现[15],单电源供电下电路图如图5 所示。电机反馈信号由光电传感器产生,光栅码盘采用上下两层设计,上层用于电机转速的测量,下层则用于电机原点位置的标记,设计结构如图6 所示。
图5 单电源供电下过零比较电路图
图6 上层光栅码盘结构图
相位差检测的原理是通过STM32 定时器通道1 与通道2 的输入捕获功能对微镜反馈信号与电机反馈信号进行上升沿捕获,在配置完定时器频率后,通过计算两路捕获寄存器的差值,便可得到上升沿的时间差。假设通道1 发生上升沿捕获,记录此时通道1 捕获寄存器值C1 并标记通道1 已发生捕获,若通道2 随后发生上升沿捕获,则记录此时通道2 捕获寄存器值C2,同时对定时器计数值置0。而C2-C1 便为两信号上升沿时间差,进而可通过信号频率计算出相位差。在定时器计数频率为1 MHz 的条件下,相位差计算公式如下:
式中φ 为相位差,单位为弧度;f 则是反馈信号频率。
软件设计主要包含以下几个模块:DDS 驱动模块、电机驱动模块、PID 控制模块[16]以及串口通信模块。系统相位控制软件工作流程图如图7 所示。
图7 系统软件设计流程图
系统上电完成初始化后会对DDS 进行配置,主要设置DDS 输出正弦信号的频率、幅值以及相位,之后便配置STM32F407 芯片输出PWM 波驱动无刷电机转动。由定时器输入捕获功能计算得到相位差,通过改变PWM波占空比可以控制电机转动速度,设置DDS 芯片输出正弦信号的相位偏移量可以减小相位差。
实验装置如图8 所示,实验拟合了无刷电机响应曲线,测试了PID 控制效果以及相位误差。
图8 实验装置图
在PWM 波频率为100 Hz 下,PWM 波占空比与无刷电机转速之间的关系如图9 所示。
图9 无刷电机PWM 响应线性拟合曲线
根据无刷电机PWM 响应线性拟合结果,对PID 参数进行调试,在比例系数Kp=10、微分系数为Ki=0.8 的情况下,系统上升时间约为2.2 s,调节时间约为5 s,PID响应曲线如图10 所示。
图10 PID 响应曲线
在反馈信号周期为9.274 ms 的条件下,对相位误差进行分析,实验结果如图11 和表1 所示。
图11 采样点为1 000 的相位误差图
由表1 可知,系统最大误差不超过0.138 ms,相位误差不超过1.5%,误差产生的原因可能有以下两点:
表1 相位控制误差数据
(1)光栅码盘精度不够高。光栅码盘的细分精度直接影响无刷电机测速精度,进而导致相位测量不准确。
(2)光栅码盘的安装存在机械误差,这会使光电传感器产生的信号不均匀,从而引起相位测量不准确。
本文针对MEMS 微镜扫描存在的缺点设计了MEMS微镜与无刷电机同步扫描系统。本文首先根据MEMS 微镜的工作特性设计了DDS 驱动电路,其次通过设计光栅码盘完成了无刷电机速度的测量,由相位检测电路得到两路同频的方波信号,最后对系统进行软件设计得到相位差并进行控制。实验表明系统相位差不超过1.5%,在一定程度上满足同步扫描要求,为后续激光扫描应用提供基础。