APP下载

S曲线加减速控制在3D打印中的实现*

2017-09-08党开放黄矫燕

组合机床与自动化加工技术 2017年8期
关键词:实时控制梯形打印机

李 哲,党开放,黄矫燕,赵 弘

(1.北京化工大学 机电工程学院,北京 100029;2.中国石油大学(北京) 机械与储运工程学院,北京 102249)

S曲线加减速控制在3D打印中的实现*

李 哲1,党开放1,黄矫燕1,赵 弘2

(1.北京化工大学 机电工程学院,北京 100029;2.中国石油大学(北京) 机械与储运工程学院,北京 102249)

桌面级 3D打印机步进电机通常采用梯形加减速控制,在高速打印时加减速过程易受到柔性冲击,影响打印质量。为解决上述问题,采用ARM架构的STM32F103微处理器,设计出一种基于该处理器的S曲线加减速控制方法,并与梯形加减速进行了对比实验。实验结果表明,采用设计的S曲线加减速控制方法后,3D打印机在高速打印时,加减速过程柔性冲击减小,打印质量提高。

S曲线加减速;步进电机;运动控制;3D打印

0 引言

目前市场上销售的桌面级3D打印机采用步进电机驱动,步进电机的速度控制通常采用梯形加减速算法。这种算法在加减速阶段的起点和终点处均有加速度突变,存在柔性冲击[1]。特别是在高速打印时,由柔性冲击造成的机械振动会在打印件表面形成纹理,直接影响打印件的表面质量。因此,改进桌面级3D打印机电机的速度控制算法,对于提高桌面级3D打印机的打印质量,促进3D打印技术的普及具有重要意义。

国内对于桌面级3D打印机速度控制的设计研究并没有深入。梁远标、卞扬清等采用了高性能的ARM微控制器,但仍然使用梯形加减速算法进行电机速度控制,没有发挥控制器的性能优势[2-3];余亮等虽然采用了S曲线算法,但只进行了理论推导,没有对电机运动实时控制、不同加减速算法对打印质量的影响进行深入研究[4]。针对此问题,本文设计了一种基于STM32F103 ARM微控制器的S曲线加减速控制方法,并对电机运动实时控制进行了深入分析。通过实验证明,与梯形加减速相比,采用本文的S曲线加减速控制方法可以有效地减小高速打印时加减速过程造成的柔性冲击,提高打印质量。

1 S曲线算法及实现

1.1 S曲线加减速算法简析

S曲线是由被控对象在加减速阶段的速度曲线呈S型而得来的。S曲线算法的核心思想是让加速度不产生突变,从而使被控对象的速度控制具有快速、平稳的特性。S型加减速过程一般分为7段,包含加加速段、匀加速段、减加速段、匀速段、加减速段、匀减速段、减减速段[5]。本文为简化运算,省略了匀加速段和匀减速段,采用五段S型加减速形式,如图1所示。

其中加加速段、减加速段时间相等,设为t1;匀速段的时间设为t2;加减速段、减减速段的时间相等,设为t3。

根据加加速度、加速度、速度间的关系有:

(1)

图1 5段S型加减速曲线

利用式(1)推导出加速度、速度的计算公式分别为:

(2)

(3)

其中,加加速度j(j>0)为常数,反应系统的柔性,由实验确定[6]。为适应控制器的性能,提高程序的执行效率,采用查表法控制步进电机的速度[7],通过对上述理论公式进行简化来建立速度表。设加减速过程的起始速度和停止速度相等均为V0,并给定系统的最大运行速度Vt,根据式(2)、(3)0~2t1时间段的加速度、速度公式,可以建立S曲线速度表。其中拐点时刻t1由Vt确定,由式(3)中2t1≤t<2t1+t2段速度公式可得:

(4)

减速过程是加速过程的逆过程,因此共用同一表格。

1.2 S曲线加减速实现过程

步进电机的速度取决于控制器给定的频率。将上文的加减速曲线离散化为各个频段,将速度表转化为频段表。然后依次加载各个频段的频率值到定时器,即可使步进电机产生与理论吻合的S型脉冲曲线。

为避免数组设定太大浪费内存或太小而溢出,本文采用动态数组的方法建立频段表。定义频段结构体,并定义频段结构体型的速度指针,通过calloc函数分配内存给速度指针,然后操作速度指针建立频率表。

离散实现过程是按固定时间间隔T将加速过程分为若干时间段,一般取T=2/f0,f0为电机的起始频率。根据上节式(3)中0~t1、t1~2t1时间段的速度公式计算加速过程中每隔T时间S曲线处的频率值,由于拐点时刻t1前后速度公式不同,需要对是否到达t1时刻进行判断。将频率值与T相乘,得到T时间段内的频段脉冲数,并将每个T时间段内的频段脉冲数累加,得到S曲线加速过程累计脉冲数即位移曲线,便于后续运动实时控制。具体流程如图2所示。

图2 S曲线离散过程流程图

2 3D打印机运动实时控制

本文基于FDM原理的3D打印技术,采用ST公司生产的具有ARM 32位Cortex-M3内核的微控制器STM32F103VET,其主频为72MHz。在STM32F103基本定时器的中断程序中,通过更改定时器ARR寄存器的值,使定时器产生不同时间间隔的中断,改变脉冲频率,从而改变电机转速。采用这种方法,不会因步进电机速度低而出现响应不及时,进而造成失步的情况,故与步进电机动态性能的要求相适应,且快速性更好[8]。

微控制器每次预读4条G代码指令,每条指令包括位置坐标和运行速度值数据。计算得到3段插补段每段路程对应的脉冲数P,并根据每段插补段的运行速度查速度表得到速度值对应的累计脉冲数F。根据各插补段前后运行速度的不同,进行速度规划,可以得到如下几种运动情况:

(1)图3a和3b插补段起始速度和停止速度均小于运行速度,当插补路程允许电机达到运行速度时按图3a运动,否则按图3b运动。对于图3a,根据F计算加速过程的脉冲数A,减速过程的脉冲数D,则匀速过程脉冲数C。

C=P-A-D

(5)

图3b,需要提前减速以保证电机不失步,可以先计算出停止速度与起始速度脉冲数之差M,则加速过程脉冲数A,减速过程的脉冲数D:

A=(P+M)/2

D= (P-M)/2

(6)

若P过小,可以直接按起始速度(或停止速度)匀速完成。

(2)图3c和图3d运行速度介于起始速度和停止速度之间,则直接以运行速度停止或启动, 如果脉冲数P足够,则在完成加减速过程后,以匀速运动完成剩余脉冲。

(3)若起始速度和停止速度均大于运行速度,则以运行速度完成脉冲数P,图中省略。

(a)起始速度低于运行速度,有匀速运动

(b)起始速度低于运行速度,无匀速运动

(c)起始速度高于运行速度,运行速度高于停止速度

(d)停止速度高于运行速度,运行速度高于起始速度图3 3D打印机运动实时控制速度曲线

完成上述速度规划后,得到3段运动规划段,通过结构体数组保存每个规划段的加减速过程脉冲数等数据。采用循环队列的数据结构,在定时器中断服务程序中依次执行各规划段,实现过程如图4所示。

图4 定时器中断服务程序图

3 实验验证

使用xyz坐标系型桌面级3D打印机,分别采用梯形和S型加减速控制,打印棱长为20mm的立方体。

设定3D打印机步进电机启动脉冲频率1000Hz,最大脉冲频率fmax=10000Hz ,加加速度j=100000,采用Keil软件调试微控制器,读取内存值得到S型速度曲线如图5所示。

采用Slic3r切片软件,设置每层层厚0.2mm,打印路径为先从外向内顺时针打印3圈正方形外周长,再打印内部网格形填充,最后沿Z轴方向层层叠加。在打印外周长时,步进电机在正方形顶点处运动方向发生改变,需要进行加减速控制。外周长通过层层累积形成四个侧面,所以通过观察四个侧面相交处的棱边,可以验证本文S曲线加减速控制方法的有效性。

图5 步进电机速度与时间关系图像

在fmax的高速条件下进行打印,设定加减速过程中梯形的恒定加速度值与S曲线的最大加速度值相等。打印的立方体棱边如图6所示。

(a)梯形加减速 (b)S型曲线加减速图6 两种加减速控制下立方体棱边的对比图

由图6可见,采用两种不同的加减速方法,打印件侧棱处的表面质量存在显著差异。采用S型曲线加减速控制,侧棱边的过渡纹理显著减小。

采用放大倍数为40倍的奥特SMART系列生物显微镜,取图中两个立方体的侧棱,自上而下每隔2mm测量表面纹理的相邻波峰波谷水平距离差值,得到10组峰谷差值的统计数据如表1所示。

表1 不同控制算法下打印件对照数据

对比表1中最小峰谷差、最大峰谷差、平均峰谷差3组数据可知,采用S型曲线加减速控制打印的立方体棱角处纹理明显减小。由此可以证明采用本文设计的控制方法,打印件的打印质量显著提高,有效地减小了加减速过程产生的柔性冲击。

4 结束语

对于3D打印机步进电机的运动控制,本文设计了基于STM32F103的S曲线加减速控制程序,并对电机运动实时控制进行了分析。通过实验证明,在高速打印时,采用本文S曲线加减速控制与常用梯形加减速控制相比,打印件棱角处纹理明显减小。

由此可以判定,电机加减速过程产生的柔性冲击得到了有效控制,进而提高了打印件的表面质量。本文设计的S曲线加减速控制程序对于桌面级3D打印机电机运动控制研究具有参考价值。

[1] 李小虎,王鹤,许家林.基于新型加减速曲线和实时控制方案的步进电机运行平稳性及噪声研究[J].中国机械工程, 2012,23(16): 1907-1911.

[2] 梁元标,郭钟宁.基于ARM的3D打印机步进电机驱动与速度曲线研究[C].第16届全国特种加工学会议论文集(下), 2012,23(16): 1907-1911.

[3] 卞扬清. 一种小型FDM三维打印机控制系统研究与实现[D].南京:东南大学,2015.

[4] 余亮. 基于ARM的桌面型3D打印机电控系统开发[D].湘潭:湖南科技大学,2014

[5] 杨超,张东泉.基于S曲线的步进电机加减速的控制[J].机电工程,2011,28(7):813-817.

[6] 刘筱,吴文江,郑飂默.柔性S型加减速控制算法研究[J].组合机床与自动化加工技术,2014(3):66-68.

[7] D Josip,D Jurica,V Koca. Microcontroller implementation of dynamically adaptable control of stepper motor with continuous second derivative of speed curve[C].37th International Convention on Information and Communication Technology, Electronics and Microelectronics, MIPRO 2014-Proceedings, 2014:146-149.

[8] 蔡金达,郭振云,许智.基于Cortex-M3的S型加减速控制[J]. 控制工程, 2016, 23(2): 206-210.

[9] Y K Ng,Y Xie,C Wang,et al. Development of a new velocity profile generation for improvement of CNC machining efficiency[C].IEEE International Conference on Mechatronics and Automation,2008:313-318.

[10] 周黎,杨世洪,高晓东.步进电机控制系统建模及运行曲线仿真[J].电机与控制学报,2011,15(1):20-25.

(编辑 李秀敏)

Implementation of S-Curve Acceleration and Deceleration Control for 3D printing

LI Zhe1, DANG Kai-fang1,HUANG Jiao-yan1,ZHAO Hong2

(1. College of Mechanical and Electrical Engineering, Beijing University of Chemical Technology, Beijing 100029, China;2.College of Mechanical and Transportation Engineering , China University of Petroleum-Beijing,Beijing 102249, China)

Trapezium acc/dec algorithm is generally applied in stepper control of desktop 3D printer, which affects printing quality in the acceleration and deceleration process at high speed printing because of flexible impact. In order to solve above problems, a S-curve acc/dec control method based on STM32F103 microprocessor is designed and the comparison experiment with the trapezoidal acc/dec control method is carried out. The experiment result shows that flexible impact is reduced when printing in the acceleration and deceleration process at high speed and printing quality has been improved.

S-curve acceleration and deceleration; step motor; motion control; 3D printing

1001-2265(2017)08-0097-03

10.13462/j.cnki.mmtamt.2017.08.024

2016-10-11;

2016-11-20

国家自然科学基金(51575528)

李哲(1991—),男,黑龙江佳木斯人,北京化工大学硕士研究生,研究方向为嵌入式系统开发、运动控制,(E-mail)liz163mail@163.com;通讯作者:党开放(1972—),女,陕西富平人,北京化工大学讲师,博士,研究方向为机电系统的计算机控制,(E-mail)dangkf@mail.buct.edu.cn。

TH161;TG506

A

猜你喜欢

实时控制梯形打印机
梯形填数
认识梯形
梯形达人
基于APP在线控制双挤出头FDM桌面3D打印机的研制
基于LabVIEW微电网实验平台监控系统的设计与实现
探讨ERP系统环境下企业会计的实时控制
另类3D打印机
FDM型混色3D打印机的设计
基于全集成自动化的能耗监控管理系统设计
等腰梯形的判定检测题