蔡敬鹏, 杨向萍, 周 宇, 袁 帅, 陈家新
(东华大学 机械工程学院,上海 201620)
伺服控制系统主要由伺服电机、传感器、驱动控制器三部分组成,应用领域非常广泛[1]。其中,伺服电机作为执行机构,根据编码器反馈的位置信号实现相应的速度或位置控制。在伺服系统中,使用最多的传感器是光电编码器,光电编码器又分为增量式光电编码器和绝对式光电编码器。对于增量式光电编码器,其输出A,B,Z三相方波脉冲,A,B两相脉冲相差90°,可以方便地判断旋转方向,Z相每转只产生一个脉冲,用于初始定位。绝对式光电编码器通常将角度信息转换为数字信息以二进制代码形式输出,其通信接口多为串行接口,可以直接读出角度的绝对值,一个n位绝对式光电编码器将一周分成了2n份[2]。
在伺服电机生产过程中,编码器的安装是关键的一步,目的是将永磁体磁极位置和编码器零点位置调整到一定的相对位置关系,并固定、记录下来。目前,国内的编码器安装技术普遍停留在人工安装的阶段,一般由操作者利用工具或者手动固定编码器,手动转动伺服电机回转轴或编码器回转轴,然后利用示波器和伺服电机控制器来进行调零,其效率低下,安装精度难以保证[3]。同时,国内对编码器自动校装的研究不多,难以运用到实际生产中。基于以上原因,本文设计并实现了一种伺服电机编码器自动校装系统。
如图1所示,伺服电机编码器自动校装系统采用机电一体化装置安装光电编码器,主要由机械结构、控制模块、人机交互模块、电源模块以及通信模块组成。其中,单片机用于控制步进电机旋转、与上位机通信以及编码器数据的读取与处理。机械机构主要由伺服电机本体及底座、待装编码器及夹具、联轴器、步进电机及底座、基准编码器、滚珠丝杠直线滑台、底座等组成。
图1 自动校装系统总体结构
假设电机为一对极,在电机d轴通入适当电流,Id为一较小值,Iq值为0,该电流使转子转到A轴位置,电机以此位置为初始位置[4]。在安装编码器时,将编码器的零点位置与该初始位置对齐,并固定在电机轴上。但实际安装时,不方便对电机d轴通入电流,故对电机A,B两相通入小于额定电流的稳流直流电,产生的电流矢量沿三相静止坐标系的A轴-30°电角度方向,电机转子固定在该位置,系统根据此位置进行编码器的校装,如图2。
图2 光电编码器校装示意图
如图2(a)所示,安装绝对式光电编码器时,对伺服电机A,B两相通入稳流直流电,将伺服电机转至固定位置,记录基准编码器在此位置的角度值θ1。断开直流电,伺服电机可能会有轻微的抖动,再次读取基准编码器的角度值,记为θ2。然后读取待装绝对式光电编码器的角度值,记为α,令步进电机带动伺服电机逆时针转动γ角度,此时待装编码器零点与伺服电机电角度0°对齐。γ计算公式如下
(1)
式中p为伺服电机极对数。最后,控制滚珠丝杠直线滑台向前运动,将待装绝对式光电编码器压入伺服电机轴上,然后固定编码器外壳即完成安装。
如图2(b)所示,安装增量式光电编码器时,控制直线滑台前进,将该编码器压入电机轴,然后步进电机带动伺服电机旋转,转到编码器出现Z相脉冲信号停止,直线滑台控制编码器退出。对伺服电机A,B两相通入稳流直流电,使伺服电机锁定到固定位置,读出此时基准编码器值β1。断开直流电,步进电机带动伺服电机逆时针转动30°/p角度,读基准编码器,值记为β2,设β3为定位误差角度,其计算公式如下
β3=(β1-β2)-30°/p
(2)
若需要补偿误差,系统计算出步进电机脉冲补偿值,使伺服电机转子转到电角度0°位置。直线滑台再将编码器装入电机轴,固定编码器外壳以完成安装。校装完成后,系统将基准编码器旋转至0角度位置,方便下次校装。
系统所用步进电机采用两相混合式步进电机,对该电机采用细分控制,电机精度可达0.007°。基准编码器采用多摩川23位高精度绝对式光电编码器,该编码器分辨力达到0.000 1,将其安装在步进电机轴上。待装光电编码器和夹具安装在滚珠丝杠直线滑台上,滚珠丝杠直线滑台的执行机构采用57两相混合式步进电机,根据编码器的形状特点和直线滑台提供的固定方式,每种编码器配有专用夹具。
控制系统原理如图3所示,主控板控制步进电机的旋转、编码器数据采集和处理、与上位机通信。无待装编码器时,该系统也可以独立工作,通过按键发送指令,通过LED指示灯显示主控板的运行状态,通过LCD显示屏实时地显示基准编码器的角度信息等。系统的控制核心采用ST公司基于Cortex—M4内核的增强型微控制器STM32F429IGT6,其片上资源丰富,系统功耗较低[5]。
图3 自动校装系统控制原理
绝对式光电编码器与主控板的通信接口主要为串行通信接口,针对多摩川绝对式光电编码器,系统采用ARM+RS—485方式实现该类型编码器的读取与解析。RS—485通信接口简单,采用差分输出,能够有效地抑制共模干扰,通信速度快,最大传输速度可以达到10 MB/s以上[6]。本系统选用了最高传输速率2.5 MB/s的RS—485通信芯片MAX485,设计电路如图4所示。该芯片的驱动器摆率不受限制,降低了不恰当的终端匹配产生的误码[7]。MAX485接收输入具有失效保护特性,驱动器还具有短路电流限制,防止过度的功率损耗。
图4 RS—485通信电路
3.1.1 总体程序设计
主控板模块是整个系统设计的重要组成部分,STM32程序的主要任务为:接收上位机指令,根据指令完成相应动作,并将相应的数据传送至上位机。应用程序主要包括:主程序、增量式光电编码器数据采集及处理程序、绝对式光电编码器数据采集及处理程序、步进电机控制程序和串行通信程序5个主要部分。主程序主要负责对于系统时钟、GPIO口、定时器、外部中断、RS—485和串行通信等模块的初始化,以及调用各个子程序。主控程序流程如图5所示。
图5 主控板程序流程
3.1.2 增量式光电编码器读取模块
增量式光电编码器数据采集及处理程序中,定时器TIM3的CH1,CH2分别与编码器的A,B相相连,工作在正交编码器模式。在此模式下,计数器在两个通道的上升沿和下降沿均计数,会根据编码器的速度和方向自动修改计数器值。编码器的Z相与外部中断输入相连,当Z相信号为高电平时,在中断处理函数中清零定时器的计数器值,复位编码器。
3.1.3 绝对式光电编码器读取模块
对于多摩川绝对式光电编码器,其读取采用“一问一答”的方式[8],如图6所示,控制器向编码器发送一帧控制帧,编码器接收到控制帧后返回一长串数据帧,包括控制帧、状态帧、数据帧以及CRC帧。读取程序中,STM32通过I/O口使能485芯片,向编码器发送控制帧,3 μs后编码器返回数据帧,STM32接收数据帧并对数据进行解析,并在CRC校验函数中对其进行CRC校验,若校验正确,将其绝对位置信息发送至上位机,否则重新发送控制帧。
图6 绝对式编码器数据帧格式
系统上位机界面基于Qt Creator软件开发环境设计,并在Window 7操作系统上运行。Qt Creator是一个轻量级跨平台集成开发环境,因其具有良好的封装机制和丰富的API函数,被广泛应用于上位机开发[9]。上位机系统主要由校装主界面、串口设置,参数设置、数据库操作等组成。通过参数设置,设置编码器和伺服电机的参数;设置串口并打开,即可与下位机通信。界面还提供数据和曲线打印、保存至数据库等功能,用户可以通过相应的操作实现这些功能。
选择国内某厂商生产的60伺服电机作为系统实验对象,采用多摩川17位绝对式编码器和某厂商2 500线增量式编码器作为待装编码器,对编码器分别进行校装实验。首先登陆系统,设置串口和编码器参数,然后按照校装流程对编码器进行校装。安装完成后,对安装精度进行校验,当伺服电机定位至电角度0°位置时,读取编码器的角度,计算得到安装误差。多次校验,误差曲线如图7所示,计算得到平均误差,并保存数据。表1所示误差角度值为计算所得平均误差,误差角度值在误差允许范围内,满足安装要求。
表1 编码器安装误差
实验结果表明,本系统能够满足伺服电机编码器安装要求,设计合理,运行可靠。与传统人工安装相比,安装精度高,且所用时间更少。
本文设计的伺服电机编码器自动校装系统采用STM32f429IGT芯片,芯片功能丰富;采用23位高精度绝对式光电编码器作为安装基准,分辨率高;采用步进电机,控制简单,成本较低。该系统具有硬件结构简单、数据处理准确和数据传输方便、可安装编码器种类多、安装精度高等优点,满足伺服电机编码器安装要求,具有很高的应用价值和广阔的市场前景。