穆悠 黄伟
(四川大学,四川 成都 610065)
激光跟踪测量系统在工业大尺寸非接触测量中有着广泛的应用[1]。它将二轴转台[2]与激光测距仪结合在一起,形成了可以测量三维空间点位置的装置。作为激光跟踪测量系统中跟踪测量合作目标的装置,二轴转台应具有转角控制精度与分辨率高、响应速度快等特点。
二轴转台电控系统主要由2 路带谐波减速器的五相步进电机、步进电机驱动器、2 路24 位轴角编码器、偏移测量模块、4 路光电限位开关、主控器等组成。其总体结构如图1所示。
图1 电控系统组成
转台电机常采用伺服电机[3],但为了简化设计、降低控制难度,本设计选用步距角为0.72°,并带有减速比为1:100 的谐波减速器的五相步进电机RKS543AC 和RKS564AC。并选用与之配套的驱动器RKSD503、RKSD507,驱动器只需输入脉冲即可驱动步进电机转动,当设置驱动器细分数为250 时,对应单步转动角度为0.1"。由于步进电机驱动器输入最高脉冲频率为500KHz,则单轴最大转动速度为14.4°/s。
24 位轴角编码器采用定制增量式编码器,其刻线为32400 线,经 512 细 分 后 分 辨 率 为0.078125",为便于后续控制电路进行信号处理,将该信号乘1.28 后得到分辨率为0.1"的角度值再输出。编码器信号输出接口采用RS422,通讯波特率为460800bps,编码器每毫秒输出1 次当前角度值。由于编码器为增量式,系统启动后需进行一次“找零”操作以确定系统零点。
偏移量测量模块由四象限光电池及测量电路组成,它将反射光斑的偏移量转换为数字量后再传输给控制器。为便于设计,该模块与控制器之间的通讯也采用与编码器相同的RS422 方式,通讯波特率为460800bps,偏移量测量模块每毫秒输出1 次当前偏移量。
电控系统还具有与上位机通讯功能,可通过上位机对系统进行设置及控制。与上位机通讯也采用RS422 方式,通讯波特率为115200bps。为提高抗干扰能力,通讯采用了电磁隔离。
转台电控系统常采用DSP、FPGA 作为控制核心[4]。随着电子技术发展,单片机也得到了飞速发展,特别是ARMCortex-M 系列单片机,CortexM4 就已经有了较强的运算能力,同时加入了浮点运算、DSP 指令集等,能满足电机控、工业自动化等应用需求。本设计选用了带双精度浮点运算的STM32F767 单片机作为核心,加上串行通讯接口、电机驱动电路、限位开关接口、EEPROM 存储等电路设计了二轴转台电控系统主控器。
电机转动控制采用双脉冲方式,STM32F767 定时器1 通道1、2 或定时器8 通道3、4 输出的两路脉冲信号CTRL_CW、CTRL_CCW 分别控制电机正转或反转,电机驱动器每接收到一个脉冲信号就控制电机正转或反转1 步。为提高电机转动最大速度,转动控制信号采用5V 差动输出方式,此时,电机驱动器最大输入脉冲频率可达到500KHz,是开路集电极信号输入频率的1 倍。除CTRL_CW、CTRL_CCW信号外,STM32F767 还通过输出信号 CTRL_AWO、CTRL_FREE、CTRL_A_RST、CTRL_CS 等信号用于控制电机。同时电机运行信息通过CTRL_READY、CTRL_ALM、CTRL_TIM 三条信号线输入控制器。具体控制电路如图2 所示,单片机输出3.3V 信号经电平转换芯片74LVC4245 转换为5V 信号,其中脉冲信号经AM26C31 转换为差动信号控制电机驱动器。其余控制信号通过三极管2N3904 驱动电机驱动器内的光电耦合器。由电机驱动器输出信号经光电耦合器TLP291 和PC817 隔离后连接到单片机的I/O 口。
图2 电机驱动电路
电控系统中2 路编码器及偏移量测量模块均采用RS422 串行通讯口与主控器通讯。具体电路如图3 所示,STM32F767 的USART1、USART3 以及UART5 的输出信号UART_A_TXD、UART_B_TXD、UART_C_TXD 经过TXB0104转换为5V 后再经AM26C31 转换为差动信号连接到2 个编码器和偏移量测量模块。它们的差分输入信号E_A_A 与E_A_B、E_B_A 与E_B_B、E_C_A 与E_C_B 经AM26C32 转换为单端对地信号后,再经TXB0104 转换为3.3V,输入到STM32F767 的USART1、USART3 以及UART5 输入端。编码器及偏移量测量模块需要的5V 电源也由主控器分别通过图3 中J1、J2、J3 提供。
图3 编码器及偏移量测量模块串口通讯电路
主控器与上位机通讯同样也采用RS422 串行通讯方式。由于可能受干扰影响,加入了隔离电路。具体电路如图4 所示,STM32F767 的USART2 输出信号UART_TX 经电磁隔离芯片ISO7221 隔离后送入MAX490 转换为差分信号PC_R22Y、PC_R22Z 连接到上位机。上位机输入信号PC_R22A、PC_R22B 经MAX490 转换为单端对地信号后再经电磁隔离芯片ISO7221 输入到USART2 的输入口。
图4 上位机串口通讯电路
由于编码器、偏移量测量模块、光电限位开关等均需由主控器供电,且需要3.3V、5V、12V、隔离5V 等多组电源,系统采用12V50W 开关电源,经DCDC 输出5V,再由低压差线性稳压器(LDO)LM1117 输出3.3V,隔离电源模块B0505S 输出隔离的5V。图5 为12V 经DCDC 输出5V 的电路,其中TPS5430 最大可输出3A 电流,效率最高达95%,完全能够满足要求。
图5 5V 电源电路
主控器软件也采用模块化设计,其主要结构如图6 所示,主要的模块有:电机驱动与控制、偏移量测量数据处理、编码器数据处理、运动控制算法、错误处理等。其中电机和编码器只画出了一组。
图6 主控器软件结构
其中编码器信号输入、偏移量测量模块信号输入、上位机通讯等均采用DMA 完成,电机控制脉冲的产生采用高级定时器PWM 输出完成。
软件中最重要的部分为电机控制信号的生成。在工作过程中,电机运动分为两种模式,一种为定位模式,另一种为跟踪模式。定位模式即电机根据上位机发出的命令移动到相应的位置。此时电机的控制以编码器输出为基准。运转过程中要求电机运转速度平稳、加减速过程曲线连续平滑,为此采用了正弦曲线作为加减速度变化曲线[5,6,7],电机运行过程中不存在加速度及加加速度突变点。
跟踪模式即电机根据偏移量测量模块输出的偏差信号进行转动,使偏差信号趋近于零。由于偏移量测量模块每毫秒输出1 次当前偏差值,跟踪模式采用的控制策略为:接收到偏移量测量模块输出的偏差信号后,计算对应的电机转动步数N 和方向,再计算单片机定时器TIM1、TIM8 下次1ms 内发出脉冲的周期T,并将T、N 和运行方向保存在内存中。当定时器完成上次1ms 脉冲输出后根据内存中的T 值对定时器周期进行设置,并将定时器的重复次数设置成N,再根据运行方向使能相应的输出通道,使定时器按新设定值继续运行。其中定时器TIM1、TIM8 的重复次数设置成N 后,定时器会在发出N 个脉冲后再产生中断,可不用专门进行输出脉冲计数以减小单片机负担。需要注意的是,前面计算出的T和N 都有可能不是整数,需要进行舍入,会带来一定误差。N出现误差会使电机转动角度出现偏差,但该误差不会累积,会叠加在下次测量的偏差信号中。但随着设置次数的增加T的误差可能会累积,使定时器与偏移量测量模块输出信号同步出现问题,为此需再用一个定时器测量接收到偏移量测量模块信号与定时器输出信号完成之间的时间差,当发现时间差发生较大变化时修改T 的大小使时间差回到正常范围内。
本二轴转台电控系统的硬件与软件均采用模块化设计,具有结构简单、控制精度与分辨率高等特点。由于采用模块化设计,能较方便地进行模块的增减,形成三轴或单轴转台的电控系统。同时,本转台中采用的正弦曲线加减速算法也能较方便的移植到其它步进电机控制系统中,在本课题组设计的单星模拟器设计[8]中的步进电机控制也采用该算法,使定位速度和精度得到了提高。
将本课题组设计的带绝对测距功能的干涉仪搭载在其上后进行综合测试,测试环境为实验室,恒温20 度,同时采用多组反射镜延长测量距离。经测试得到:测量最大距离达到35m,绝对测距精度达到30μm/10m,干涉测距精度达到10μm/m,转台两轴最大转动速度为14.4°/s,最大加速度为30°/s2,定位分辨率为0.1",以编码器输出为基准的定位精度小于1",达到了设计要求。