FDM型3D打印机步进电机速度控制装置及驱动控制系统的制作方法

文档序号:12050907阅读:640来源:国知局
FDM型3D打印机步进电机速度控制装置及驱动控制系统的制作方法

本发明涉及步进电机运动控制领域,尤其是一种熔融层积型(Fused Deposition Modeling:FDM)3D打印机的步进电机运动控制装置及驱动控制系统。



背景技术:

3D打印机是一种实现快速成型技术的机器,它以数字模型文件为基础运用特殊蜡材、粉末状金属或塑料等可粘合材料,通过逐层打印的方式来构造物体。所述的数字模型文件包含所构造物体的全部信息,如物体的形状、大小和摆放位置、逐层打印时每层的高度、每层打印时打印头的运动走向和运动速度等。熔融层积型(FDM)3D打印机采用塑料为打印材料,利用熔融工艺按照数字模型文件上的控制指令逐层打印,形成物体。在工作时,打印机逐层打印,按照模型文件中设定好的步进电机运动速度与材料出丝的速度控制打印头的移动和打印材料的流速。步进电机是3D打印机的动力提供装置,每次运动一个固定角度,即运动1步,用于控制机器上打印头的运动。打印头的运动速度与材料的流速需要很好的匹配,才能使打印机系统稳定并成功打印出所需的成品。为了能精确控制打印机中步进电机的运动速度,目前大多数FDM型3D打印机采用基于微处理器定时计数器的中断控制及基于Bresenham算法的软件处理方式。一方面,通过控制定时器的中断频率来控制步进电机的转动速率,从而确定打印头的运动速度,例如,要使得电机运动速率为每秒100转,每转200步,则设置定时器的计数周期为1/(100*200)秒,定时器每个计数周期产生一次中断,控制步进电机转动1次。这样经过1秒钟,定时器中断20000次,电机则转动20000步,即100转。另一方面,Bresenham算法用来控制打印头的运动路径,保证打印头的运动轨迹接近一条直线。例如,打印头从坐标原点(0,0)运动到坐标(3,5)处,根据Bresenham算法,先找横纵坐标差值中的最大值,判断最长边方向,本例为纵轴方向,然后以最长边(纵轴)为控制基准,先在纵轴方向上运动1步,然后根据相关算法判断横轴方向上是否运动1步,直到纵轴运动完所有步数。这种软件处理方式能够有效的控制步进电机的运转,并实现其速度控制,且不需要额外的硬件装置,实现成本低廉,因此被大多数3D打印机制造厂商采用。

但是,基于软件的步进电机速度控制方式会导致实际打印速度存在速度瓶颈。此外,由于Bresenham算法为分时驱动算法,在实际控制时,也会影响打印速度。以下结合图例具体阐述这种问题。图1为定时器中断控制步进电机速度示意图。通过对定时器预设定时时间t2,定时器开始计数工作,计满后,产生中断,并执行中断服务程序100,在中断服务程序100中计算下次定时器的计数时间t3,并写入到定时器中。中断服务程序100执行结束时再次启动定时器计数。待定时器计满后,再次产生中断,并执行中断服务程序101。后续执行过程与此相同,图中102也是中断服务程序。由于在中断服务程序中需要计算下一次运动定时器所需要的计数时间,因此会存在大量的乘除法运算,在嵌入式系统中,该类计算会占用大量的CPU的资源并消耗大量的运算时间,不利于系统的实时响应,此外控制步进电机运转方式的Bresenham算法也是在中断程序中实现,导致整个中断程序量大且复杂,一次中断所消耗的时间相对较多,图1中由t1表示中断执行时间。当不断提高预设的打印速度时,步进电机速度不断加快,定时器计数时间不断减小,可以考虑,当达到某一速度值时,定时器计数时间会变成0,此时的运动速度达到最大值,图2表示达到瓶颈时的定时器中断控制步进电机速度示意图。图中200、201、202代表中断服务程序处理过程。当达到速度瓶颈时,步进电机的速度由中断程序执行时间t1决定,此后打印速度不会随着设定速度的增加而增加,而是保持在一个固定值范围内。此外,步进电机控制方式采用分时驱动的Bresenham算法,各轴运动分时进行,降低了电机速度。图3为Bresenham算法运动控制示意图。300表示打印头的运动轨迹,即先运动X轴,然后根据判断条件决定是否走Y轴,X、Y轴的合运动轨迹则是打印头的实际运动轨迹。这种分时运动方式在一个时刻只能运动一个轴,因此会大大降低打印头的运动速度,不利于打印机的速度提升。

综上所述,现有FDM型3D打印机步进电机速度控制采用的定时计数器中断控制及Bresenham算法这种软件处理方式,虽然能很好的控制步进电机的运转,并实现速度控制,但由于这种实现方式程序执行时间存在瓶颈且Bresenham算法为分时驱动算法,分时驱动控制打印头,导致了实际打印机打印速度不可能进一步提高,实际打印速度与设定速度存在较大速度误差,实际打印效率低,也极大影响了系统的稳定性。



技术实现要素:

本发明提供一种熔融层积型3D打印机的步进电机速度控制装置及驱动控制系统,其能提高电机驱动系统的控制速度和系统稳定性。

为实现上述目的,本发明的技术方案如下:

一种熔融层积型3D打印机的步进电机速度控制装置,位于微处理器与步进电机之间,接受微处理器的控制命令,提取命令参数并计算参数获得相邻步间时间间隔,根据时间间隔产生相应的步进信号,控制步进电机的运转,包括依次连接的通信总线接口和4路步进电机控制通道,每个步进电机控制通道内部包含FIFO参数缓存、寄存器文件和速度控制模块,运动数据参数通过通信总线接口存入到FIFO参数缓存中,速度控制模块则从FIFO参数缓存中读取相关参数,计算并发出相关步进电机控制信息给步进电机,寄存器文件内部包含了控制步进电机速度控制装置的所有控制寄存器,用于控制步进电机速度控制装置的运转。

其中,FIFO参数缓存的缓存方式为:数据进入FIFO参数缓存中保存,当后级装置向FIFO缓存中发出数据读取请求时,先进入缓存队列的数据先出来,后进入缓存队列的数据后出来。

优选地,速度控制模块包括依次连接的数据输入部分、周期数计算器、脉冲发生器和信号发生器,周期数计算器用来计算相邻两步间的时间间隔,控制脉冲发生器产生相应的步进脉冲,并通过信号发生器放大,由信号发生器发出步进信号给步进电机,控制其运转;数据输入部分与脉冲发生器之间还设有用于控制步数的步数控制计数器。

优选地,周期数计算器包括依次连接的32位加法器、开方运算单元、开方结果锁存单元和32位减法器,开方运算单元用来实现公式中的开方运算,加法器用来实现此公式中的加法运算,减法器用来实现此公式中的减法运算,开方结果锁存单元存储上一次的运算结果,并在本次运算使用,公式中,Δtx为第x步和第x+1步之间的间隔,a加速度,v0初始速度和x运动距离。

优选地,所述开方运算单元为Cordic开方运算单元,采用11级流水线结构的Cordic算法,内部实现分段开方操作。

本发明还提供一种FDM型3D打印机驱动控制系统,包括与上位机通信的通信总线以及分别连接于通信总线的微处理器、存储器、如上所述的步进电机速度控制装置,微处理器从上位机通信接口接收相关控制指令,同时存储相关控制参数到储存器,然后微处理器对控制参数进行分析计算,并生成相关控制信息发送给步进电机速度控制装置。

优选地,还包括分别连接于通信总线的实时显示接口和模数转换器,模数转换器检测温度信息并发送给微处理器进行相关计算,然后再发送给实时显示接口。

本发明的有益效果是:本发明步进电机速度控制装置及驱动控制系统采用同步驱动方式控制步进电机,再加上采用硬件计算,使得电机在运行速度上不存在瓶颈,并无限接近设定速度,最终有效的提高了电机驱动系统的控制速度和系统稳定性,为提高FDM型3D打印机的打印效率和工作稳定性作出贡献。

附图说明

图1为传统的定时器中断控制步进电机速度示意图。

图2为极限情况下传统的定时器中断控制步进电机速度示意图。

图3为传统电机控制采用的Bresenham算法运行原理示意图。

图4为本发明实施例FDM型3D打印机驱动控制系统的示范性方框图。

图5为本发明实施例步进电机速度控制装置的功能示范框图。

图6为图5所示步进电机速度控制装置中的速度控制模块内部结构示范框图。

图7为一个典型加速运动中速度与距离的曲线关系。

图8为图6所示速度控制模块内部周期数计算器的结构示范框图。

图9为Cordic算法中的一个迭代单元的示范框图。

具体实施方式

下面结合附图及实例,对本发明做进一步说明。

图4为包含本发明实施例FDM型3D打印机驱动控制系统的示范性方框图。所述驱动控制系统包含核心大脑微处理器400、固件程序代码存储器401、与上位机通信的通信接口402、步进电机速度控制装置403、实时显示接口404、模数转换器405以及通信总线406。图4的驱动控制系统中也可以包括许多其他组件(未图示),举例来说,可以包括离线打印接口如存储卡和无线通信接口如蓝牙等。

在图4的实例中,微处理器400从上位机通信接口402接收相关控制指令,如运动类型和速度控制及温度控制等,同时存储相关控制参数到储存器401,然后微处理器对控制参数进行分析计算,如获取相关运动参数、起终点坐标及运动速度、根据相关预设参数计算速度控制曲线等,并生成相关控制信息发送给其他外设如步进电机速度控制装置403,控制外设的工作,以步进电机速度控制装置403来说,当微处理器计算得到相关运动参数后,就会发出相应的控制指令参数给速度控制装置403,速度控制装置403就会根据传送过来的运动参数进行相关计算,产生相应步进信息的步进控制信号,控制步进电机的运转,模数转换器405检测温度信息并发送给微处理器400进行相关计算,然后再发送给实时显示接口404,整个通信过程由通信总线406完成。

步进电机速度控制装置403介于微处理器与步进电机之间,接受微处理器的控制命令,提取命令参数并计算参数获得相邻步间时间间隔,根据时间间隔产生相应的步进信号,控制步进电机的运转。步进电机速度控制装置用于根据参数要求产生相应控制步进电机的步进信号,并能同步控制4路步进电机的运转,速度控制装置的精度与稳定性直接影响了步进电机运转的稳定性和3D打印机系统的稳定性,因此该装置是本发明的重点,下面将对其展开具体阐述。

图5说明本实施例步进电机速度控制装置403的功能示范框图。其中包括用于连接avalon总线500的通信总线接口501和4路步进电机控制通道502、503、504和505。每个步进电机控制通道实现原理相同,内部包含FIFO(First In First Out:先进先出)参数缓存506/509/512/515(后文只标示为506)、寄存器文件507/510/513/515(后文只标示为507)和速度控制模块508/511/514/517(后文只标示为508),实施的最核心部分就是速度控制模块508。图5的功能示范框图中,运动数据参数通过通信总线接口501存入到FIFO参数缓存506中,速度控制模块508则从FIFO参数缓存506中读取相关参数,计算并发出相关步进电机控制信息给步进电机518/519/520/521。

在图5所示的示范框图中,采用了FIFO参数缓存506,数据经过通信总线存放到FIFO中。FIFO的作用则是缓解通信总线对步进电机速度控制装置403内部参数寄存器的访问压力,FIFO参数缓存类似一个存储队列,数据进入存储队列中保存,当后级装置向FIFO缓存中发出数据读取请求时,先进入缓存队列的数据先出来,后进入缓存队列的数据后出来。寄存器文件507内部包含了控制步进电机速度控制装置403的所有控制寄存器,控制步进电机速度控制装置403的运转。整个步进电机速度控制装置403的核心设计部分为速度控制模块508,内部实现速度与时间的计算及步进信号的产生与发出。

图6所示的示范框图中说明了速度控制模块508的内部结构,主要包括数据输入部分600、周期数计算器601、步数控制计数器602、脉冲发生器603和信号发生器604。周期数计算器601用来计算相邻两步间的时间间隔,用于控制步进电机的运转速度。计算的原理采用的是加速运动学中的计算公式。图7表示了一个典型加速运动的速度与距离的曲线,曲线700则是整个加速运动的运动轨迹。

由运动学知识可知,在物体进行加速运动时,其运动特性主要由加速度a,初始速度v0和运动距离x来确定,具体的公式如下:

式中t是运动时间。因此加速过程中的某个时间点tx与运动的距离x有如下公式:

变形后有如下公式:

上式就是本模块设计的核心公式。

在图7中,对于在步进电机中的匀加速运动,运动的距离是离散的自然整数,即1,2,3,4……在设计时,需要知道第x步和第x+1步之间的时间间隔。于是由公式(3)可以得到如下等式:

式中Δtx为第x步和第x+1步之间的间隔。将公式(4)进行一次变形,得到如下公式(5):

由公式(5)可以看到,如果通过寄存器输入参数和在FPGA中只需要对进行累加并对上一次的开方进行锁存就行了,因此从运算的角度来看,每次计算只需要进行一次开方,就可以完整求出

周期数计算器601根据公式(5)设计,当从FIFO缓存结构506中获取相应的运动数据参数后,按照既定的公式运算,就可以得到相邻两步间的运动时间间隔,控制脉冲发生器603产生相应的步进脉冲,脉冲信号出现的频率则代表了步进电机的运转速度。图8所示的功能框图说明了周期数计算器601内部的结构,主要包括32位加法器800、Cordic开方运算单元801、开方结果锁存单元802和32位减法器803。开方运算单元801用来实现公式(5)中的开方运算,加法器800用来实现公式(5)中的加法运算,减法器803用来实现公式(5)中的减法运算。周期数计算器采用了迭代运算思想,因此用一个开方结果锁存单元存储上一次的运算结果,并在本次运算使用,这种作法可以减小运算器的开方次数,在减小运算所需时间的同时,也减小的电路的规模。

在图6中,周期数计算器601计算得到相邻两步间的运动时间后,送给脉冲发生器603,脉冲发生器603发出步进脉冲信号,由于脉冲信号的宽度比较小,不足以驱动步进电机,因此在脉冲发生器603后级加上了信号发生器604,由信号发生器604发出步进信号给步进电机,控制其运转。

周期数计算器601中的Cordic开方运算单元801采用了11级流水线结构的Cordic算法,内部实现分段开方操作。Cordic算法的核心思想是采用多次迭代的移位和相加,图9表示的其中的一个迭代单元的示范框图,包含一个移位运算900和一个加法运算901,对其不同条件,加法运算会用减法运算代替。Cordic算法的计算精度主要与迭代次数相关,在本发明中,主要采用11级流水线,实现11级的迭代,其计算精度完全满足步进电机速度控制上的要求。

本发明提出的新型步进电机速度控制装置摒弃了传统软件驱动的方式,充分利用了硬件系统并行执行优势,将步进电机速度控制硬件化,并采用同步控制方式驱动FDM型3D打印机4路运动轴的步进电机。由于硬件计算单元相比于软件单元没有运行时间瓶颈,因此本方案可以极大的提高步进电机的运动速度和控制效率。此外由于本速度控制装置通过硬件实现,不需要相应中断程序,不仅可以降低CPU工作负载,也有助于提升打印机驱动控制系统的稳定性。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1