一种FDM三维打印控制系统的制作方法

文档序号:15991389发布日期:2018-11-17 02:28阅读:506来源:国知局
一种FDM三维打印控制系统的制作方法

本技术方案属于自动控制技术领域,具体是一种fdm三维打印控制系统。

背景技术

三维打印是上个世纪八、九十年代产生并逐渐发展起来的一种新型制造技术,它基于增材制造的原理,通过化学反应、材料熔凝等手段实现实体零件的三维结构;相较于传统的数控加工,三维打印由cad直接驱动,无需中间的capp、数控编程等过程,能够极大缩短零件及产品的研制周期;同时,三维打印通过二维层面的加工实现三维空间结构,极大降低复杂三维结构的加工难度,是当前加工领域的一个重要研究方向。

3d打印控制的集成度、实时性、可靠性以及效率要求,是3d打印控制系统的天然要求,加工控制是3d打印加工的使能与驱动技术,加工精度、集成度、可靠性是该领域研究的主要内容。



技术实现要素:

本技术方案是在分析典型3d打印工艺-熔融沉积成型(fdm)的加工过程,采用工业pc结合高性能嵌入式控制器与自主专用集成电路的控制结构,研究低成本、高集成度、高可靠、高速高效,具备在线实时三维加工显示,是一种具备真正意义上的“所见即所得”功能的fdm嵌入式工业控制系统。具体来说:

一种fdm三维打印控制系统,包括上位控制部分和下位加工控制部分;

a、上位控制部分包括工业pc、操作系统及支持程序,实现三维cad模型的切片处理、数据处理、加工指令下传、打印加工的实时显示功能;

b、下位加工控制部分包括嵌入式控制系统、打印控制专用集成电路及支撑电路;

所述打印控制专用集成电路及支撑电路包括集成在集成电路中的扫描运动控制电路、喷丝运动控制电路、丝温采集控制电路、喷丝加热控制电路、开关控制电路和spi收发控制电路;

上位控制部分的工业pc把经数据处理得到的打印指令,发送给下位加工控制部分的嵌入式控制系统;下位加工控制部分的嵌入式控制系统采集三维打印机的状态,并把打印状态送至工业pc;

嵌入式控制系统实现打印加工所需要的扫描运动、丝温控制、喷丝动作、高速串口通信、指令收发、加工状态获取与发送;

打印控制专用集成电路及支持电路接收来自嵌入式控制系统的指令信息,实现打印加工指令;同时,将丝温、行程、极限开关状态传给嵌入式控制系统;

打印加工过程中,工业pc读入三维cad模型,执行切片处理得到二维零件层面的打印指令;而后,根据串行通信协议,计算校验码,生成数据帧,将打印指令数据通过高速串口送至嵌入式控制系统实现打印操作;同时,工业pc通过高速串口获取下位加工控制部分的打印加工的坐标位置、喷丝温度、行程开关状态信息,实现加工状态的实时显示;

嵌入式控制系统通过高速串口接收打印指令,执行数据校验,根据指令转换成打印控制电路、喷丝温度控制电路的指令参数,通过spi接口将指令参数送入打印专用集成电路,实现相关的三维打印的相应操作,实现打印加工指令。

本发明是工业pc结合高性能嵌入式处理器与专用集成电路的3d打印控制硬件结构,实现了fdm3d打印加工嵌入式控制系统,内容包括打印控制系统结构与功能框架、高速数据通信协议设计与实现方法,加工运动的加减速方法与实现,喷丝温度pid控制方法及实现。相较于现有系统,本发明系统具备以下特点:

采用pc结合嵌入式控制系统的结构,系统结构简单,可以兼顾复杂控制与数据处理。

提出的高速通信协议速度高、可靠性好、数据量大,适于加工领域的多种场合。

附图说明

图1是fdm打印控制的系统结构示意图;

图2是打印加工指令数据的传输过程示意图;

图3是打印加工状态数据的传输过程示意图;

图4是扫描运动控制电路结构示意图;

图5是喷丝动作及丝温控制电路结构示意图;

图6是熔丝挤出控制原理结构示意图;

图7是不同占空比pwm波作用下喷丝温度的变化曲线;

图8是喷丝加热温度变化的频域模型示意图;

图9是丝温变化模型的描述误差示意图;

图10是喷丝温度的pid控制器结构示意图;

图11a)是喷丝温度的pid控制仿真的丝温及温度偏差曲线;

图11b)是喷丝温度的pid控制仿真的温度控制指标;

图12打印控制系统软件系统框架结构示意图;

图13系统调度与管理程序流程示意图。

具体实施方式

下面结合附图与具体实施方式对本发明进一步说明:

1.系统控制结构

根据fdm成型加工的工艺过程,本发明实现的熔融沉积成型系统控制结构如图1所示。

系统采用pc结合高性能嵌入式控制器与自制专用集成电路的控制结构,上位控制包括pc机、操作系统及相关驱动电路与程序,实现三维cad模型的切片处理、数据处理、加工指令下传、打印加工的实时显示等功能;下位的加工控制主要由嵌入式控制系统与打印控制专用ic及支撑电路构成。其中,嵌入式控制系统包括32位armcortex处理器stm32及其支持电路,实现打印加工所需要的扫描运动、丝温控制、喷丝动作、高速串口通信以及指令收发、加工状态获取与发送等功能;打印控制专用ic及支持电路接收来自嵌入式控制系统的指令信息,驱动打印扫描电路、丝温采集、喷丝加热等电路,实现打印加工指令。同时,将丝温、行程、极限开关等状态上传,供嵌入式控制系统或上位的工业pc处理。

打印加工过程中,工业pc读入三维cad模型的stl格式,执行切片处理得到二维零件层面的加工指令;而后,根据通信协议,计算校验码,生成数据帧,将指令数据通过高速串口送至下位的嵌入式控制系统实现打印操作。同时,工业pc通过高速串口获取打印加工的坐标位置、喷丝温度、行程开关等状态信息,实现加工状态的实时显示。

下位的32位嵌入式处理器通过高速串口接收加工指令,执行数据校验,根据指令调用打印控制、喷丝温度控制等功能模块,通过spi接口将相关的指令参数送入打印专用集成电路,驱动相应的扫描、喷丝运动电机以及丝温采集控制电路,实现相关的打印扫描、喷丝温控等操作,实现打印加工指令。

2.高速串口通信设计

高速串口通信实现上位数据处理与下位打印控制系统之间的指令与状态数据交换,鉴于加工过程中上下位控制系统间的数据通信量大、速度高以及数据交换的实时性、可靠性要求,本发明使用通用异步串行通信的全双工多缓冲dma方式,通信波特率选择1mbps以上,设计专门的crc循环冗余校验程序实现通信数据校验。

2.1通信帧格式与数据校验

1)数据帧格式

高速串口通信的数据帧格式如表1所示,内容包括各占1字节的帧头、帧尾、帧长、帧类型码,0或2字节的校验字即16位循环冗余码与0-66字节的有效数据,最大帧长72字节,最小帧长4字节。

表1高速串口通信数据帧格式

数据帧的帧头、帧尾为固定字节66h与99h。根据内容,数据帧被分为指令数据帧与状态数据帧两类。指令帧传输数据处理得到的打印指令,由系统的工业pc发出,嵌入式控制系统接收;状态帧为当前加工信息,由系统的嵌入式控制系统采集并送至工业pc。

2)打印指令格式

指令帧的帧类型为00h,使用2字节crc校验字。根据类型不同,单条指令占用数据3-5字节,打印指令的定义格式如表2。执行表中的xy快移或进给指令时,xy轴联动。

表2打印指令数据的定义格式

3)打印状态数据格式

状态数据帧的帧类型为01h,单条状态信息占用数据1-7字节,状态信息分类及数据定义格式如下表3所示。

表3打印状态数据的定义格式

执行坐标信息、喷丝温度与行程开关等状态数据传送时,状态帧使用2字节校验字进行数据的crc校验;传送通信出错信息时,状态帧不含校验字,此时帧长5字节,仅包括帧头、帧长、帧类型、状态数据40h与帧尾。通信无误时,发送通信正常帧,此时帧长4字节,包含帧头、帧长、帧类型和帧尾。信息正常帧是帧长最短的帧。

4)通信设置及校验

考虑到系统的实时性与通信数据量,系统的高速串口采用2250kbps的通信波特率,设置奇/偶校验实现单个字节的数据初始校验。

在串口单字节奇偶校验基础上,系统在通信数据帧中附加16位循环冗余码实现传输数据帧中0-66字节有效数据的校验,以保证加工指令与状态数据的可靠传输。

crc校验[5]使用生成多项式x16+x15+x2+1,对应二进制位串1000000000000101b,即8005h。收发数据时,系统将数据帧的有效数据作为被除数,位串8005h作为除数,进行模2除运算,得到16位crc校验码。而后,系统根据上述的帧格式定义形成数据帧。

2.2高速串口数据通信过程实现

fdm三维打印系统的高速串口通信实现两类数据-打印加工指令数据与打印加工状态数据的高速实时传输,两类数据的实时传送过程分别如图2、图3所示。其中,打印加工指令传送由上位数据处理端的工业pc发起,工业pc发送,打印控制端的嵌入式控制器接收;打印状态传送由打印控制端发起,打印控制端发送,工业pc接收。

1)打印加工指令数据的传送

打印加工指令传送开始,pc端的数据传输程序获取3d打印切片处理数据,截取加工指令,计算crc校验码,根据指令数据帧的格式定义,生成指令帧;而后,传送程序等待高速串口空闲状态;串口空闲,传送程序将指令帧送入发送缓冲区,送至下位的fdm打印控制端,同时等待打印控制端的响应信号。收到通信出错帧,pc端将指令帧重送发送缓冲区,重发数据;反之,系统清除指令帧,一次指令传送结束。

打印控制端的嵌入式控制器检索高速串口,根据数据帧长以及帧结束符截取传输数据,得到数据帧与crc校验码,而后执行数据校验;校验无误,系统区分指令类型,将加工指令存入指令缓冲区,温控指令的指令温度送入温度设定值;校验出错,系统向上位pc发出通信出错帧,请求指令重发。

2)打印加工状态数据的传送

加工状态传送分两种情况,40ms的定时更新与执行指令后的状态更新。其传输过程与指令传输类似,需要通过打印控制端的多次数据交互实现。状态传送启动,打印控制嵌入式处理器获取打印设备的各状态数据,计算crc校验码,按格式定义生成状态数据帧;而后等待串口空闲状态,将状态数据帧送入发送缓冲区,送至上位工业pc端,等待pc响应。通信出错,嵌入式控制器将状态帧重送发送缓冲区,重发状态数据;反之,系统清除状态帧,状态传送结束。

数据处理端的工业pc检索高速串口,根据帧长以及帧结束符截取串口数据,得到各数据与crc校验码;校验无误,系统区分状态数据信息,更新系统的坐标、喷丝温度以及开关量状态显示;校验出错,系统向下位嵌入式控制器发出通信出错帧,请求状态数据重发。

3.3d打印的电机控制电路设计

3d打印的运动控制主要包括打印加工扫描运动控制电路与喷丝挤出控制电路,其中打印加工运动控制又包括喷头xy向扫描运动控制与z向层厚及工作台控制电路

3.1打印加工扫描运动控制电路

打印加工的扫描运动通过xyz三轴交流伺服系统实现,其中xy向伺服系统实现零件两维层面的打印加工扫描运动,能够实现两维层面内任意斜率直线的插补运动;z轴为独立控制的第三方向运动,完成不同加工层面的逐层堆积叠加,打印加工扫描运动的控制电路结构如图4所示。

图示的控制电路通过自制专用集成电路实现,实现打印加工的嵌入式处理器接收pc端的加工指令,根据指令的速度、位移参数以及运动的脉冲当量计算速度计数值与位移计数值;而后,处理器通过spi将速度、位移计数值以及使能控制字写入对应运动方向的速度、位移寄存器与使能控制电路,驱动使能控制及状态转换、驱动脉冲发生与位移计数控制电路,产生匹配指令速度、位移的电机驱动脉冲。专用集成电路产生的脉冲和方向控制信号通过驱动、隔离电路及功放电路驱动xyz向电机,实现打印加工运动。

3.2喷丝挤出控制

喷丝控制电路实现喷丝的连续、一致输出,形成均匀光滑的扫描线,其控制结构如图5所示。

喷丝控制的结构主要包括喷丝加热及控制、丝温采集及转换、喷丝温度采集控制、喷丝电机及控制等电路。其中的喷丝温度采集控制、喷丝电机控制均通过自制专用集成实现;丝温采集与转换、喷丝采集控制构成喷丝温度采集电路;喷丝加热及控制、cortex处理器及支持电路构成喷丝加热电路;熔丝挤出控制电路由喷丝电机及专用控制、嵌入式控制系统构成,结构如图6所示。

熔丝挤出控制的结构与扫描运动不同,主要包括电机驱动发生电路、使能控制及状态转换电路,电路只控制喷丝电机的转速,并不控制电机的转过角度。打印加工时,嵌入式控制系统收到喷丝指令,检测熔丝温度,丝温满足要求,嵌入式控制系统通过spi向专业集成电路写入喷丝电机使能控制字与速度控制字,喷丝电机以指定速度持续旋转,带动喷丝挤出机构实现喷丝动作。

4.喷丝温度调节

fdm打印控制的喷丝温度通过pwm脉冲动态启停加热装置实现,系统定时采集熔丝温度,根据丝温偏差动态调整pwm占空比,调整一个pwm周期内的喷丝加热时间,从而达到喷丝温度的精确控制。

4.1喷丝加热温升实验建模

实现系统时,pwm的占空比选择范围0-90%,不同占空比的pwm波作用下喷丝温升的变化曲线如图7所示。

根据喷丝温度变化曲线,假定pwm占空比kpwm,喷丝温度变化δt可以描述为:

kpwm-占空比系数,取值0-90,对应占空比0-90%;

kt-加热系数;

δt-温度变化;

td-延迟时间;

t-加热时间;

c1、c2、α、c3-温度调节系数;

系数c1、c2、α、c3分别取值-0.06、0.0127、0.04、0.08,得到丝温变化δt的计算公式:

kpwm-占空比系数,取值0-90,对应占空比0-90%;

kt-加热系数;

δt-温度变化;

td-延迟时间;

t-加热时间;

延迟时间td取值7s,对上式求取拉普拉斯变换,得到如图8所示的喷丝温度变化matlab模型。图中的系数kt即公式1中的系数kt=0.0127kpwm-0.06,系数km=0.08kt2+kt。

图8中的环节step1为输入阶跃信号,即喷丝加热控制脉冲占空比系数kpwm,其取值0-90,对应占空比0-90%;环节kt接收占空比系数kpwm,根据取值计算加热系数kt;环节km接收kt环节求得的系数kt,根据kt求取公式(2)中的系数0.08kt2+kt,即系数km;环节transferfcn1接收系数km并计算乘积,而后乘以由比例环节gain1、gain2、微分环节derivative3构成的和项,最后经延迟环节transportdelay1(延迟时间td)延迟时间td,得到最终的温度输出。

图8的环节step1、环节transferfcn1、比例环节gain1、gain2、微分环节derivative3与延迟环节transportdelay1共同构成的频域描述式。

采用上述模型描述喷丝温度变化时,在占空比为0-90%的pwm波控制下,丝温变化描述误差曲线如图9所示。

图中的丝温变化与实际值最大偏差8℃,能够满足喷丝温度的描述需求。同时,温升模型只用于丝温控制设计分析,不直接控制丝温。喷丝加热控制中,系统实时检测丝温,根据丝温动态调整pwm占空比,直至丝温设定与实际温度一致,该模型偏差不会形成最终的丝温控制偏差。

4.2喷丝温度的pid控制及实现

1)控制器设计及仿真优化

根据丝温加热的温度变化模型,实现喷丝温度调节的pid控制器,图10为最终得到的喷丝温度pid控制器模型

图10中的环节step3为输入阶跃信号,即指定喷丝加热温度;比例环节ki与积分环节integrator1的乘积与比例环节kp构成的和项形成pi控制;系统采集当前温度,与step3输出的指定温度比较,得到温度偏差;pi控制接收温度偏差,根据偏差,调用pi控制规则计算占空比系数,经环节saturation2处理得到0-90的加热占空比系数kpwm,送入喷丝温度模型,得到温度输出。

仿真结果表明,比例系数kp、积分系数ki分别取值2.5、0.0004时,温度输出的超调量约为3%,调节时间在300s左右,稳态误差小于0.5℃,能够满足fdm打印控制的基本要求,取得较好的控制效果,此时,输出温度波形仿真结果如图11所示,图中采样时间设定值1s。

2)控制器实现

执行喷丝温度控制时,系统采集喷丝温度、计算偏差;利用偏差修正加热控制pwm波,驱动加热装置实现预定的喷丝温度,具体实现过程如下:

1)设置采样周期,启动定时控制,开始喷丝温度控制,

2)等待温度采样时间;

3)采样定时到,系统采集喷丝温度,计算n时刻的温度偏差e(n);

4)采用增量式pid控制算法,调用公式(3)计算采样时刻n处的占空比变化量△kpwm(n)与占空比kpwm(n);

n-时刻,即第n个控制时刻

kpwm-占空比系数,取值0-90,对应占空比0-90%;

kpwm(n)-第n时刻的占空比系数

kpwm(n-1)-第n-1时刻的占空比系数

δkpwm(n)-第n时刻的占空比系数变化量

kp-pi控制器比例系数;

ki-pi控制器积分系数;

e(n)-第n时刻的温度偏差;

e(n-1)-第n-1时刻的温度偏差;

5)设置占空比变化范围,限定取值范围0-0.9,求取kpwm(n)的实际值;

6)根据占空比计算pwm波的脉宽及脉间时间及相应的计算值,写入pwm发生电路,开始新的丝温加热控制。

7)转步骤2),开始新一轮的丝温采集与控制。

5.fdm打印控制软件设计

打印控制嵌入式软件结构

fdm嵌入式打印控制软件的框架结构如图12所示。其中系统支持程序、显示与触摸驱动、文件系统及sd驱动程序提供嵌入式处理器片上基础硬件的基本操作;系统的高速数据通信及校验程序负责接收上位工业pc数据处理或操作人员发出的指令数据,同时根据系统通信协议执行数据校验、反馈加工系统的运行与设备状况;喷丝控制以及丝温检测及控制定时采集喷丝温度,根据相关控制算法,驱动加热控制程序实现指令喷丝温度;打印运动控制根据指令,驱动相应电机,实现指令指定的相应动作;为方便现场应用,系统提供加工文件存储控制功能,实现sd卡内外部加工文件的操作;除此之外,打印控制软件还通过电动机快速定位、开关量检测及控制、显示与触摸控制等实现加工辅助功能。

fdm三维打印的调度与管理程序如图13所示。按照功能,管理调度程序分为状态转换与状态处理两个阶段。系统启动,首先进入状态转换阶段,系统根据指令类型设置系统状态与相关标志;而后,系统进入状态处理,根据系统状态,执行相应的操作。

状态转换阶段,系统执行初始化程序,设置嵌入式cpu、定时器、io端口等硬件,同时初始化系统运行各变量及存储单元;而后,系统进入指令/状态处理循环,检索上下位控制系统指令、系统运行状态与各开关信息,根据指令、状态标志,修改系统运行状态,执行相应处理。根据所处理的操作,系统状态被划分为空闲、加工两种等状态。系统设置16位标识寄存器,存储温控、xyz运动忙、加工暂停、限位等标志。

初始化完成,系统进入空闲态,检索各标志、开关状态及指令;限位开关触发,设置出错标志,向上位pc发出限位出错状态信息,等待用户干预;无限位触发,清除各标志;收到点动、快速定位指令,若无出错及xyz运动忙标志,系统计算并更新相应指令坐标位置,等待状态处理实现相应位置;收到丝温设置指令,系统设置新的指令丝温,等待状态处理实现丝温控制;收到加工暂停指令,系统判断系统状态,若为加工态设置加工暂停标志;系统收到加工指令,系统检索各状态标志,若处于空闲或暂停状态且丝温达到指令温度,系统进入加工状态;检索到串口接收标志,系统调用通信及校验程序,获取上位机送来的指令及通信状态信息。

状态处理阶段,系统比较当前丝温与指令丝温,二者相异,系统设置温控标志,调用丝温控制程序实现指定丝温;二者相同,清除丝温控制标志;而后系统判断运行状态,在加工态下,若无状态标志置位,系统调用打印加工程序,根据加工指令设置扫描运动各参数,打开喷头执行打印加工;而后判断打印结束与否,打印结束,设置系统空闲状态,完成零件打印;加工状态下有标志位置位,系统向pc端发出出错信息,置出错标志,等待操作人员干预;系统不出在加工态,控制程序比较当前位置与指令位置,二者一致,清除相应的运动忙标志;二者不一致,调用xyz运动控制程序实现运动,同时置位相应运动轴运动忙标志。

6.加工测试实验

采用上述方法实现的fdm三维打印控制系统中xyz打印加工运动及喷丝运动通过步距角为1.8°的42hd系列步进电机实现,采用商用模块a4988驱动;通过冷端补偿k型热电偶max6675执行丝温采集,alientek4.3寸tft集成触摸屏实现系统的加工显示与人机交互功能;fpga芯片lfxp2-5实现打印控制专用集成电路,内部集成步进电机、max6657的驱动控制电路。打印控制的嵌入式处理器选用32位armcortex处理器stm32,通过通用spi接口实现与打印控制专用集成电路、集成触摸屏的数据交换。此外,打印控制专用集成电路内部设计了专用的开关量输入输出控制电路,包括xyz轴的行程开关、打印状态指示等开关量的编码、缓冲与输入输出。

具体的打印加工实验的cad模型及完成的实际零件,加工选取的扫描线宽0.31mm,扫描层厚0.5mm,所选材料为abs工程塑料。

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