APP下载

一种基于步进电机的3D打印机全闭环运动控制研究

2019-07-23林进发

科技视界 2019年15期
关键词:光栅控制算法增量

林进发

【摘 要】近年来基于步进电机控制的3D打印机在快速成型领域得到了广泛的推广和发展,但由于市场产品普遍采用开环式控制方式,导致控制精度低、打印过程不稳定等问题。本文提出一种全闭环的运动控制方式,通过在3D打印机XY轴增加位置反馈光栅,并采用增量式PID控制算法进行运动位置的实时补偿与修正,从而提高运动控制精度与稳定性。通过MATLAB算法建模与仿真验证了方法的可行性,并通过单片机代码实现应用于相关产品中,产生了较好的改进效果。

【关键词】全闭环运动控制;步进电机;3D打印机;增量式PID算法

中图分类号: TP273 文献标识码: A文章编号: 2095-2457(2019)15-0027-003

DOI:10.19694/j.cnki.issn2095-2457.2019.15.013

Research on Closed Loop Motion Control of 3D Printer Based on Stepping Motor

LIN Jin-fa

(Shanghai New Microtechnology Research and Development Center Co.,Ltd,Shanghai 201800,China)

【Abstract】In recent years,3D printer based on stepper motor control has been widely promoted and developed in the field of rapid prototyping.However,due to the open-loop control mode widely used in market products,the control accuracy is low and the printing process is unstable.In this paper,a fully closed-loop motion control method is proposed.By adding position feedback grating to XY axis of 3D printer and using incremental PID control algorithm to compensate and correct the motion position in real time,the motion control accuracy and stability are improved.The feasibility of the method is verified by MATLAB algorithm modeling and simulation,and it is applied to related products through MCU code,which has produced better improvement effect.

【Key words】Full closed-loop motion control;Stepping motor;3D printer;Incremental PID algorithm

0 引言

3D打印技術又称为“快速成型”技术,是一种通过逐层堆叠材料进行三维构造的增材制造技术,通常具有节约材料、加工时间短、结构限制少等优点。熔融沉积成型技术(FDM)是近年来发展较快、应用较广的一种3D打印技术,但由于该技术起源于开源社区,基于开源技术,市场上存在诸多低端和简易的机型,由于开源技术相对容易获得和仿制,导致业内高精度的控制技术相对比较缺乏。

目前市场上绝大部分FDM类3D打印机均为开环式的运动控制,多采用步进电机驱动,再加上开源式的3D打印机结构简单、稳定性差,导致打印精度不高,且经常会因为步进电机发生失步而使打印模型发生错位,这对于打印过程是一个致命的伤害。为解决上述问题,本文提出一种全闭环的运动控制方法,并在相关产品中得到了实现和验证。

1 全闭环运动控制方法的原理

1.1 系统架构

全闭环运动控制系统主要包括运算器、控制器、执行器、被控对象和反馈装置等部分,以FDM 3D打印机的系统为例:

运算器为闭环算法处理单元,一般运行在打印机的主控制器或主板上,执行闭环算法并利用运算结果来调整控制器的输出量。

控制器为打印机的运动控制单元,包含步进电机驱动程序及驱动器,实现步进电机的驱动信号处理和输出;

执行器为步进电机所连接的运动机构,包括皮带、光轴、滑块等机械联结部件,实现机械运动;

被控对象为打印喷头,全闭环运动控制的主要目的是控制打印喷头位置的精确运动,并保证运行稳定性;

反馈装置为光栅条和光栅信号读头,其作用是将运动控制的运算和参考量,由开环模式下的步进脉冲数,转化为以光栅条明暗条纹为参考系的线性物理位置。

由于检测运动位置的光栅反馈装置直接安装到XY轴滑块上,处于完整运动系统控制位置的末端,因此全闭环控制能够完整消除各级运动误差,相较于“开环”或“半闭环”控制具有更高的控制精度。本系统中运算器采用增量式PID控制算法,对运动过程中出现的误差进行补偿。由于步进电机是一种无累积的增量运动,采用增量式PID控制算法正好符合数字控制的需要,且更容易用控制程序实现。

1.2 增量式PID算法

通常,位置式连续PID控制算法为:

其中,u(t)代表t时刻的输出量,e(t)代表t时刻给定量与反馈量的差值,Kp为比例常数,Ti为积分时间常数,Td为微分时间常数。将式(1)离散化,得到离散PID控制算法公式:

其中,u(k)代表第k次输出量,e(k)代表第k次给定量与反馈量的差值,Kp为比例常数,Ki为积分常数,Kd为微分常数。

式(2)为位置式PID控制算法,而步进电机是一种增量位置控制,因此可采用增量式PID控制算法,根据式(2),可得k-1次输出量为:

式(2)与式(3)求差值,可得:

因此,利用連续3次误差值,可以得到输出量增量。

2 控制方案设计

2.1 闭环反馈装置

基于上述闭环控制原理,首先需在XY运动系统中增加反馈装置,以典型的十字轴运动机构为例,在XY侧边滑块上增加光栅信号读头,沿XY侧边运动轴增加线性光栅条,从而构建全闭环的机械硬件系统。

由于打印喷头固定于中心滑块,并通过光轴与侧边滑块连接,而侧边滑块与光栅读头连接,所以光栅读头在沿光栅运动过程中所反馈的信号,即表征了打印喷头的实际准确物理位置,并且该位置精度取决于光栅条的分辨率。本设计中,光栅条的明暗条纹间距为40um,光栅读头为增量式两相信号输出,通过电子细分控制,可实现4细分精度,因此闭环系统的位置分辨率为40/4=10um。

2.2 算法实现框图

对于任意离散时刻t=n,上述增量PID控制算法的实现过程如下:

当系统的驱动输出和位置反馈延迟小于单次中断处理时间时,此算法可以实时修正坐标偏差。但实际上系统是存在较大时间延迟的,因此t=n时刻所获得的位置反馈值是t=n-k时对应的绝对坐标,为了避免系统滞后引起的过修正和振荡现象,采用t=n-k时刻对应的系统坐标值进行修正量的运算。其好处是保证运动的平滑连续性,代价是略有牺牲运动修正实时性,但在一般3D打印控制中,其影响可以忽略。

2.3 软件控制流程

基于上述闭环控制方法,结合3D打印机的控制程序,设计其软件实现如下:

通过运动控制指令可设置期望的运动目标位置,之后由运动控制中断程序进行步进电机运动控制脉冲的计算和产生,当运动发生后,闭环信号通过光栅计数器进行计数,并转换为闭环坐标值,保存在寄存器中。运动控制中断程序通过调用增量PID算法模块,获取相关坐标值进行PID运算,并根据运算结构判断当前运动状态是否需要进行闭环修正,再通过步进电机驱动程序输出修正后的步进电机驱动信号。

3 仿真分析

利用Matlab进行上述控制算法的建模:

1)离散误差值可由系统坐标(axis_position)和物理绝对坐标(abs_position)的差值得到;

2)PID系数采用二进制对齐值,以便于采用单片机程序实现,利用移位运算代替浮点运算,从而提高中断效率;

经过多次参数整定,取Kp=-0.625;Ki=-0.25;Kd=0.25。

仿真输入为单轴运动位移曲线,从0线性增大到5000,再线性减小为0,过程中分别增加“正向失步”、“正向过冲”、“反向失步”、“反向过冲”4个干扰节点,为便于观察,取突变误差为200step,仿真曲线如下:

图中,going为理想位置曲线,open loop为加扰后的开环位置曲线,closed loop为经过PID控制的闭环位置曲线,可以看出,产生扰动后,PID控制能够逐渐修正误差,并向理想位置曲线靠拢。

4 结果分析

通过上述仿真可以看出,引入闭环控制后,整个运动控制系统具备了自动位置修复能力,当运动位置出现偏差扰动时,能够实时修正位置。由于采用增量PID控制算法,动态修正效果良好,对于运动曲线能够平滑修复,正常情况下不会产生突然的跳变。

由于在多轴联动过程中进行插补运算对运算器的实时性要求较高,因此可根据实际情况选择采用基于运动级别(Motion)或步进级别的PID控制,以兼顾动态效果和平稳性。运动级别控制是指离散误差值在每个运动过程结束时计算一次,输出增量在每个运动过程中进行一次补偿;步进级别控制是指离散误差值在每一个步进动作时进行计算,输出增量在每个步进过程前后进行补偿,其优点是实时性修正能力很强,但对运算器的性能要求较高。

此外,为了避免微小误差频繁修正造成动态效果不良,还可增加PID修正量阈值,当修正量小于阈值时,不做修正,或在修正量累积出现一定次数才产生一次修正。

5 结论

通过在基于步进电机的3D打印机运动控制系统中引入XY轴光栅反馈装置,构建全闭环的运动控制系统,采用增量式PID控制算法进行运动位置的实时修正,通过仿真可以看出新的系统具备了自动位置修复能力,具有较高的控制精度。通过软硬件设计已将该方法应用于相关产品中,收获了良好的实用效果和市场价值。此外,本方法还可适用于其他具有类似结构的任意三维运动控制系统中,具有较广范的应用性。

【参考文献】

[1]崔学文.PVC配混微机控制系统软件开发设计[J].河北能源职业技术学院学报,2010,10(04):63-65.

[2]周伟,冀捐灶,郭庆,刘栩,王力功.基于IGA的PID控制软开关静止变流器的研究[J].电源技术,2010,34(09):956-959.

猜你喜欢

光栅控制算法增量
提质和增量之间的“辩证”
基于ARM+FPGA的模块化同步控制算法研究
CDIO教学模式在超声光栅实验教学中的实践
基于均衡增量近邻查询的位置隐私保护方法
基于LabView的光栅衍射虚拟实验研究
一种优化的基于ARM Cortex-M3电池组均衡控制算法应用
德州仪器(TI)发布了一对32位增量-累加模数转换器(ADC):ADS1262和ADS126
一种非圆旋转工件支撑装置控制算法
光栅衍射实验教学中的体会
DI材横向厚差自动控制算法及其应用