一种3d打印机控制器及3d打印机控制的方法

文档序号:3318033阅读:999来源:国知局
一种3d打印机控制器及3d打印机控制的方法
【专利摘要】本发明提出一种3D打印机控制器及3D打印机控制的方法,所述3D打印机控制器包括微控制单元MCU和FPGA;所述微控制单元MCU用于运动控制计算和人机界面的控制,通过数据线连接用于人机交互外接接口或外接设备;所述FPGA用于时序逻辑的产生和对打印设备的控制,通过数据线连接用于打印控制的接口或设备。相对于现有对于3D打印技术,本发明改善加工精度,提升加工速度,并提高加工效率。
【专利说明】一种3D打印机控制器及3D打印机控制的方法

【技术领域】
[0001]本发明涉及机电领域,尤其涉及一种3D打印机控制器及3D打印机控制的方法。

【背景技术】
[0002]3D打印机,即快速成形技术的一种机器,它是一种数字模型文件为基础,运用特殊蜡材、粉末状金属或塑料等可粘合材料,通过逐层打印的方式来构造物体的技术。常常在模具制造、工业设计等领域被用于制造模型或者用于一些产品的直接制造。
[0003]目前比较流行的3D打印机R印Rap,它具有一定程度的自我复制能力,能够打印出大部分其自身的(塑料)组件。RepRap是(replicating rapid prototyper)的缩写。这原型机从软件到硬件各种资料都是免费和开源的。
[0004]但是,现有开源3D打印机REPPAP及其衍生的机型的如下问题:加工速度慢:REPPAP及其衍生的机型打印加工速度慢,其加工一个I立方分米以内的物件需要4-6小时才能完成;打印精度低,有明显的叠层痕迹;运动之间的衔接不紧密,造成设备冲击严重;对指令间的运动在软件上没有速度规划,容易造成运动冲击、设备抖动、工件过加工等问题;步进驱动器的驱动能力较弱(1.5A以下驱动电流),无法带动打印头高速运动;控制系统线路复杂,可靠性差;软件操作复杂,用户体验较差。
[0005]现有的3D打印控制器通常直接通过开源Arduino控制板的定时器发脉冲控制电机驱动器来实现3D打印机的控制,但是它具有如下缺点:定时器发出脉冲频率低,因此电机速度无法提高,从而影响加工效率;指令和指令之间存在较大时间间隙,因此导致电机运动存在震动,影响加工精度,严重情况下将会丢步;由于只有USB从机接口(该接口在PC上被模拟成一个串口,而不是模拟成U盘),因此要将文件拷贝到板卡上必须通过PC机上的辅助软件操作,运用复杂;无法进行多机操作,即一台计算机控制多台3D打印机远程工作,不适合大规模加工使用;扩展性能不强,最多带2个打印头。


【发明内容】

[0006]针对现有技术存在的上述问题,本发明提出一种3D打印机控制器及3D打印机控制的方法,以解决上述问题。
[0007]本发明的解决方案如下:
一种3D打印机控制器,所述3D打印机控制器包括微控制单元MCU和FPGA ;所述微控制单元MCU用于运动控制计算和人机界面的控制,通过数据线连接用于人机交互外接接口或外接设备;所述FPGA用于时序逻辑的产生和对打印设备的控制,通过数据线连接用于打印控制的接口或设备。
[0008]优选的,所述微控制单元MCU为意法半导体的STM32芯片。
[0009]优选的,所述微控制单元MCU连接的外接接口或外接设备为USB接口、网络接口、IXD接口、蓝牙接口、通用异步收发传输接口 URAT、SD卡接口 ;所述微控制单元MCU连接的外接接口或外接设备还包括报警装置。
[0010]进一步优选的,所述连接IXD接口用于连接IXD控制面板,所述IXD控制面板设置有控制按键。
[0011]优选的,所述FPGA连接的接口或设备为步进电机驱动电路、挤出机头电机、温度控制接口、伺服电机接口和编译器反馈。
[0012]进一步优选的,所述挤出机头电机为3个或4个。
[0013]进一步优选的,所述编码器反馈为2路输入接口。
[0014]一种用于3D打印机控制的方法,所述方法包括以下步骤:
步骤S10,开始;
步骤Sll,获取文件;
步骤S12,解析文件;
步骤S13,准微指令解析;
步骤S14,轨迹规划;
步骤S15,速度前瞻处理;
步骤S16,发送到FPGA ;
步骤S17,待打印过程完成后,等待结束。
[0015]优选的,所述步骤S14还包括以下步骤:
步骤S141,设定加速度;
步骤S142,判断是否当接收到暂停指令;
步骤S143,若前述步骤S142接收到暂停指令,按步骤S141设定的加速度将当前指令降速到O后停止;
步骤S144,判断是否当接收到恢复指令;
步骤S145,若前述步骤S144接收到恢复指令,按步骤S141设定的加速度将运动速度恢复到正常速度。
[0016]优选的,所述步骤S15还包括以下步骤:
步骤S151,确定挤出头运动轨迹的尖角速度;
步骤S152,确定挤出头运动在步骤S151的尖角速度之前降速的最大加速度;
步骤S153,确定挤出头运动在步骤S151的尖角速度之前每个点的最大允许速度;
步骤S154,根据上述步骤计算挤出头的速度曲线。
[0017]本发明具有以下优点:
在不明显增加成本的基础上,在现有机型上通过将各项数控技术应用到3D打印系统中,改善加工精度,提升加工速度,并提高加工效率。
[0018]易用性高,运动控制器可当作U盘使用,运动速度快,可支持高速脉冲输出、升级简单、可扩展性强、具有独有的降速暂停功能、指令衔接更加紧促,高速不丢步、具有独有的速度前瞻和轨迹规划运动控制功能。
[0019]本发明具有独有的速度前瞻和轨迹规划运动控制功能,把先进的速度前瞻和轨迹规划技术运用到3D打印运动控制中,使得在任意情况下打印头的当前速度能够达到当前允许的最大速度而不产生冲击,能够大幅度的提高加工效率的同时而加工质量一如既往。

【专利附图】

【附图说明】
[0020]图1为本发明的3D打印机控制器硬件框图。
[0021]图2为本发明的运动数据处理流程。

【具体实施方式】
[0022]下面结合实施方式及附图对本发明作进一步详细、完整地说明。
[0023]本发明3D打印机控制器采用微控制单元MCU (Micro Control Unit)和FPGA(Field Programmable Gate Array)的双核架构结构。微控制单元MCU用于运动控制计算和人机界面的控制,而FPGA用于时序逻辑的产生和对打印设备的控制。这样双核的构架使得整个系统分工明确,从而提高了整个系统的实时性,使得打印平稳性增加,精度提高;同时在软件上引入轨迹规划算法,使得加工效率大幅度提高。另外,在系统中集成了网络控制器和蓝牙,使之可以方便的和其它设备交互,尤其是和手机或者电脑交互。
[0024]图1所示为本发明的3D打印机控制器硬件框图。
[0025]由图1可知,本发明主要包括微控制单元MCU和FPGA的双核产品架构,在这里微控制单元优选为意法半导体的STM32芯片。
[0026]STM32专注于人机交互和运动控制相关算法和操作。由图1知:STM32 (微控制单元MCU)与FPGA通过数据线连接,用于数据的传输。对于人机交互,STM32芯片通过数据线连接一系列外接接口或外接设备。这些外接接口或外接设备用于人机交互,包括但不限于:USB接口、网络接口、LCD接口、蓝牙接口、通用异步收发传输接口 URAT (UniversalAsynchronous Receiver/Transmitter)、SD卡接口,同时为了 3D打印机控制器提高的安全性能,STM32芯片还连接了报警装置。
[0027]STM32引出的网络接口和蓝牙接口。优选的,这里网络接口为100M高速网络接口,支持网络连接3D打印机控制器运动控制卡。通过网络接口可以远程连接电脑,实现远程打印或无线打印,既可以一台电脑监控多台3D打印机同时打印,也可多台3D打印机连接,实现组网打印。同时蓝牙接口支持可扩展的蓝牙4.0功能,蓝牙支持所有的运动控制命令,因此用户可以通过手机跟3D打印机配对后,用手机来操作3D打印机。
[0028]STM32连接IXD接口用于连接IXD控制面板,在IXD控制面板同时设置有控制按键。优选的,设置三个控制按键。这三个按键分别是上下按键和确认按键,通过这三个按键我们可以切换液晶的各个界面,并选择和操作3D打印机的各种的功能,因此有了这个LCD控制面板和控制按键我们就可以不需要通过USB来连接电脑和控制器,并通过电脑操控控制器了。通过LCD控制面板和控制按键,可以不连接电脑和其它设备,可以直接脱机运行。
[0029]STM32设置有USB接口。可通过USB接口直接对3D打印机控制器升级,而不会担心升级失败,即使失败也可以再次升级。这样升级简单。因此普通用户可以随时升级最新的固件程序,而不用担心3D打印机控制器升级失败导致3D打印机不能使用。而目前市面上的3D打印机控制器在升级失败的情况下,只能返回原厂,通过原厂的专用工具升级。
[0030]FPGA用于时序逻辑的产生和对打印的控制,实时性要求高的时序控制部分全部在FPGA中完成,这既能保证了整个系统的高实时性,又能大量节约MCU的宝贵时间使MCU可用于复杂的轨迹规划算法,这使得打印速度更快,运行更加流畅和平稳。目前市面上3D打印控制卡一般采用单片机实现,指令和指令之间的衔接依靠中断处理程序,上一条运动指令和下一条运动指令之间的衔接需要IMS以上的延时时间,因此在高速运动中会产生冲击而导致电机丢步;而本发明采用FPGA,在FPGA内部实现缓冲区,可以在上一条指令执行完之后的一个时钟之内立即执行下一条运动指令,指令间的衔接时间可以做到0.1微秒以内。这样,本发明指令衔接更加紧促,高速不丢步。
[0031]由图1知:FPGA通过数据线外接一系列接口或设备。这些接口或设备用于打印的控制,包括但并不限于步进电机驱动电路、挤出机头电机、温度控制接口、伺服电机接口和编译器反馈。
[0032]FPGA外接步进电机驱动电路。步进电机驱动电路引出步进电机控制接口用于控制X、Y、Z轴电机运动和各个打印头的走丝。
[0033]FPGA外接挤出机头电机。FPGA通过多路的脉冲方向输出接口可扩展外接多个挤出机头电机。挤出机头电机优选为3个或4个,图1中,挤出机头电机为3个。相对于现有的技术,本发明的3D打印机控制器在使用3个或4个挤出头的3D打印机的时候拥有绝对优势。
[0034]FPGA外接温度控制接口。FPGA通过外接温度控制接口进行温度控制,3D打印机控制器自动读取温度值,并利用FPGA特有优势产生PWM来实时控制挤出头和热床的温度,使得为STM32节省大量时间;从而可以将宝贵的CPU时间用于复杂的轨迹规划和速度前瞻控制算法的计算,这最终使得平稳性更好,加工速度更高。
[0035]FPGA外接伺服电机接口和编译器反馈。FPGA提供了伺服电机的控制接口以及相应的编码器反馈接口,通过伺服电机的控制接口采用更高性能的伺服电机,可以进一步提高加工速度和加工精度,且可使得打印速度更快,打印质量更高。本发明提供2路编码器反馈输入接口,在高精度应用时候可连接手轮和光电编码器等设备,因此在使用伺服电机控制3D打印机的系统中性能更好,拥有绝对优势。
[0036]现有的3D打印控制卡,通常采用定时器发脉冲,频率低于50KHZ,速度更高时则处理器速度跟不上。由于本发明采用FPGA完成运动控制的硬件时序功能,因此每轴输出脉冲能达到0-2MHZ,远远高于市场上其他3D打印控制卡。因此速度可以做到很快。目前一般的步进电机驱动器都可以支持到200KHZ的脉冲输入,而交流伺服电机驱动器可以达到支持2MHZ左右的脉冲输入。
[0037]本发明的3D打印机控制器可当作U盘使用。当本发明运动控制器通过USB和PC连接后,在PC中3D打印机控制器会显示为2个USB设备,一个是本发明打印机的串口设备(打印机的串口设备就是3D打印机,可以把它理解为3D打印机在电脑设备管理器中的表现,有了这个串口设备,电脑就知道现在有一台3D打印机跟电脑连接了,然后电脑可以通过程序来操作这个串口设备,也就是来操作这台打印机),同时在电脑中会显示出一个可移动磁盘,用户直接将加工文件拷贝到这个移动磁盘中即可启动加工,非常方便快捷,使得在不安装任何软件和驱动程序的的情况下可将加工文件直接拷贝到运动控制卡上,并执行。也可以通过串口设备的方式兼容市面上的多种打印软件,用户可以通过3D打印软件的方式与本发明交互。上述过程,就好比一台普通打印机通过USB连接上电脑后,电脑会识别成2个设备,一个是打印机,一个是U盘,这时候将文档拷贝到U盘也可以实现打印功能,在WORD里面点击打印按钮也可以实现打印功能。
[0038]如图2所示为本发明的运动数据处理流程。
[0039]用户通过各种手段获得3D图形文件,在电脑和手机上通过专用软件预处理该文件,然后将该文件通过各种方式(蓝牙,WIFI,U盘,SD卡,USB从口)中的一种传送到3D打印机的3D打印控制器中,再启动加工。3D打印控制器接收到文件后通过一系列的与处理方式,将文件转化成运动指令和控制指令,再对指令进行一系列的优化处理,再将数据发送到FPGA中输出最终的电机控制信号;同时3D打印控制器根据指令要有实时控制打印头和热床温度;
由图2可知本发明的运动数据处理流程包括如下步骤:
步骤S10,开始,这里开始即为本发明的3D打印控制器开机上电过程或者为3D打印控制器准备工作的过程;
步骤S11,获取文件,具体是指:用户通过将获得3D图形文件,在电脑和手机上通过专用软件预处理后,然后将该文件传送到3D打印机中,传送方式可以通过蓝牙,WIFI,U盘,SD卡,USB等任一种实现;
步骤S12,解析文件,将步骤Sll获取的文件进行解析,解析为相应的运动和控制指令; 步骤S13,准微指令解析,将步骤S12解析的文件进一步解析为准微指令;
步骤S14,轨迹规划,是指将把步骤S13解析的准微指令进一步进行微指令操作的过程;
在轨迹规划步骤中还包括降速暂停功能或步骤:具体为:
步骤S141,设定加速度;
步骤S142,判断是否当接收到暂停指令;
步骤S143,前述步骤S142判断接收到暂停指令,按步骤S141设定的加速度将当前指令降速到O后停止;
步骤S144,判断是否当接收到恢复指令;
步骤S145,若前述步骤S144判断接收到恢复指令,按步骤S141设定的加速度将运动速度恢复到正常速度;
市面上的3D打印运动控制卡接到暂停指令时会将速度直接降速到O,这样会产生冲击而导致电机丢步。
[0040]步骤S15,速度前瞻处理,将数据进行加工处理为FPGA能够使用的数据;
速度前瞻处理具体还包括以下步骤:
步骤S151,确定挤出头运动轨迹的尖角速度;
确定挤出头运动轨迹的尖角速度,具体为通过一定的算法对要打印的图形进行测算分析后,得出挤出头运动轨迹的尖角速度。
[0041]步骤S152,确定挤出头运动在步骤S151的尖角速度之前降速的最大加速度;
步骤S153,确定挤出头运动在步骤S151的尖角速度之前每个点的最大允许速度;
步骤S154,根据上述步骤计算挤出头的速度曲线。
[0042]打印机的加工挤出头需要在X、Y、Z笛卡尔空间根据工件的形状高速运动,由于工件的不规则性导致挤出头的运动轨迹不规则性,挤出头运动轨迹会有很多的尖角,而挤出头本身又具有一定的惯性,这就要求挤出头在尖角处必须降速(挤出头在每个轨迹尖角处的速度都是极小点,但不一定是最小点),这个速度不能马上降下来,需要提前按一定加速度慢慢降低,这就需要通过一定的算法来动态的计算每个点允许的最大速度,同时根据每个点的最大允许速度和最大加速度来计算出一条合理的速度曲线,保证在各个轨迹点不超出最大允许速度的情况下能够保持速度最高,速度前瞻即解决该问题。
[0043]在步骤S14和步骤S15中,使用先进的速度前瞻和轨迹规划技术,使得在任意情况下打印头的当前速度能够达到当前允许的最大速度而不产生冲击,能够大幅度的提高加工效率的同时而加工质量稳定。
[0044]步骤S16,发送到FPGA,FPGA根据打印的实际情况进行插补运动输出控制打印过程。
[0045]步骤S17,待上述步骤S17的打印过程完成后,等待结束。
[0046]步骤Sll至步骤S15是在微控制单元MCU进行,用于运动控制计算和人机界面的控制。而步骤S16是在FPGA中进行,FPGA对微控制单元MCU发送来的指令进行操作用于时序逻辑的产生。上述步骤的在微控制单元MCU和FPGA的分别操作使得整个系统分工明确,从而提高了整个系统的实时性,使得打印平稳性增加,精度提高。
[0047]在步骤S12之后还可以同时包含下述步骤:
步骤S18,接受温控指令,是指接受步骤S12解析文件后关于温控的相关指令;
步骤S19,温度控制,在FPGA中将步骤S18的温控指令转化为时序逻辑信号,通过温度控制接口输出进行温度控制;
步骤S20,待上述步骤S19的过程完成后,等待结束。
[0048]步骤S18至步骤S20的作用是:3D打印控制器在进行打印工作的同时,根据指令要有实时控制打印头和热床温度。
本发明专利是独立于国外开源3D打印系统设计的,设计的主要目的是解决现有开源3D打印机REPPAP及其衍生的机型的问题。本发明具有以下优点:本发明主要研究堆叠式3D打印机相关的加工工艺和控制系统的研发,通过提高系统模块集成度,并引入速度前瞻算法,轨迹规划算法,高性能FPGA硬插补技术等;在不明显增加成本的基础上,在现有机型上通过将各项数控技术应用到3D打印系统中,改善加工精度,提升加工速度,并提高加工效率。易用性高,运动控制器可当作U盘使用,运动速度快,可支持高速脉冲输出、升级简单、可扩展性强、具有独有的降速暂停功能、指令衔接更加紧促,高速不丢步、具有独有的速度前瞻和轨迹规划运动控制功能。本发明具有独有的速度前瞻和轨迹规划运动控制功能,把先进的速度前瞻和轨迹规划技术运用到3D打印运动控制中,使得在任意情况下打印头的当前速度能够达到当前允许的最大速度而不产生冲击,能够大幅度的提高加工效率的同时而加工质量一如既往。
[0049]本领域的技术人员容易理解,以上所述仅为本发明的较佳实施而已,并不限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应在本发明的保护范围之内。
【权利要求】
1.一种3D打印机控制器,其特征在于:所述3D打印机控制器包括微控制单元MCU和FPGA ;所述微控制单元MCU用于运动控制计算和人机界面的控制,通过数据线连接用于人机交互外接接口或外接设备;所述FPGA用于时序逻辑的产生和对打印设备的控制,通过数据线连接用于打印控制的接口或设备。
2.如权利要求1所述用于3D打印机控制器,其特征在于:所述微控制单元MCU为意法半导体的STM32芯片。
3.如权利要求1或2所述用于3D打印机控制器,其特征在于:所述微控制单元MCU连接的外接接口或外接设备为USB接口、网络接口、LCD接口、蓝牙接口、通用异步收发传输接口 URAT、SD卡接口 ;所述微控制单元MCU连接的外接接口或外接设备还包括报警装置。
4.如权利要求3所述用于3D打印机控制器,其特征在于:所述连接IXD接口用于连接LCD控制面板,所述LCD控制面板设置有控制按键。
5.如权利要求1所述用于3D打印机控制器,其特征在于:所述FPGA连接的接口或设备为步进电机驱动电路、挤出机头电机、温度控制接口、伺服电机接口和编译器反馈。
6.如权利要求5所述用于3D打印机控制器,其特征在于:所述挤出机头电机为3个或4个。
7.如权利要求5所述用于3D打印机控制器,其特征在于:所述编码器反馈为2路输入接口。
8.一种用于3D打印机控制的方法,其特征在于:所述方法包括以下步骤: 步骤SlO,开始; 步骤Sll,获取文件; 步骤S12,解析文件; 步骤S13,准微指令解析; 步骤S14,轨迹规划; 步骤S15,速度前瞻处理; 步骤S16,发送到FPGA ; 步骤S17,待打印过程完成后,等待结束。
9.如权利要求8所述的一种用于3D打印机控制的方法,其特征在于:所述步骤S14还包括以下步骤: 步骤S141,设定加速度; 步骤S142,判断是否当接收到暂停指令; 步骤S143,若前述步骤S142接收到暂停指令,按步骤S141设定的加速度将当前指令降速到O后停止; 步骤S144,判断是否当接收到恢复指令; 步骤S145,若前述步骤S144接收到恢复指令,按步骤S141设定的加速度将运动速度恢复到正常速度。
10.如权利要求9所述的一种用于3D打印机控制的方法,其特征在于:所述步骤S15还包括以下步骤: 步骤S151,确定挤出头运动轨迹的尖角速度; 步骤S152,确定挤出头运动在步骤S151的尖角速度之前降速的最大加速度;步骤S153,确定挤出头运动在步骤S151的尖角速度之前每个点的最大允许速度;步骤S154,根据上述步骤计算挤出头的速度曲线。
【文档编号】B22F3/115GK104129077SQ201410377432
【公开日】2014年11月5日 申请日期:2014年8月4日 优先权日:2014年8月4日
【发明者】覃琴 申请人:覃琴
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1