APP下载

FDM打印嵌入式控制系统实现方法研究

2018-10-20赵祥丹葛红宇李漫漫顾佳钰罗茂炫陈创安仲帅

新型工业化 2018年8期
关键词:字节校验嵌入式

赵祥丹,葛红宇,李漫漫,顾佳钰,罗茂炫,陈创,安仲帅

(南京工程学院自动化学院,江苏 南京 211167)

0 引言

三维打印由CAD直接驱动,无需CAPP、数控编程等中间过程,能极大缩短零件及产品的研制周期[1-3];同时,其通过二维层面的加工实现三维结构,极大降低复杂三维结构的加工难度,是当前加工领域的一个重要研究方向。加工控制是3D打印加工的使能与驱动技术,加工精度、集成度、可靠性是该领域研究的主要内容[4-5]。本文采用工业PC结合高性能嵌入式控制器与自主专用集成电路的控制结构,研究低成本、高集成度、高可靠、高速高效,具备在线实时三维加工显示,具备真正意义上的“所见即所得”功能的FDM嵌入式工业控制系统[6-8]。

1 系统控制结构

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

图1 FDM打印控制的系统结构Fig .1 System structure of FDM controller

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

表2 打印指令数据的定义格式Table 2 Data format of machining instruction

表3 打印状态数据的定义格式Table 3 Data format of machining status

表4 典型加减速过程运动参数Table 4 Motion parameters of typical acceleration and deceleration process

2 高速串口通信设计

鉴于通信数据量、速度以及实时性、可靠性要求,本文使用通用异步串行通信的全双工多缓冲DMA方式,通信波特率选择2250 kbps以上,设计专门的CRC循环冗余校验程序实现数据校验。

2.1 通信帧格式与数据校验

高速串口通信的数据帧格式如表1所示,包括1字节的帧头66 H、帧尾99 H、帧长、帧类型码,0或2字节循环冗余码与0-66字节的有效数据,最大帧长72字节,最小帧长5字节。

表1 高速串口通信数据帧格式Table 1 Data format for high speed serial communication

根据内容,数据帧分为指令帧与状态帧两类。指令帧传输数据处理得到的打印指令,帧类型码00 H,使用2字节CRC校验字。根据类型不同,单条指令占用数据3-5字节,其格式定义如表2所示。执行XY快移或进给指令时,XY轴联动。

状态数据帧的帧类型码01 H,占用数据1-7字节,格式定义表3所示。传送坐标、喷丝温度与行程开关等数据时,状态帧使用2字节CRC校验字;传送通信出错信息时,不使用校验字,此时数据帧最短,仅包括帧头、帧尾、帧长、帧类型与状态数据40 H,帧长5字节。

CRC校验[10]使用生成多项式X16+X15+X2+1,设置奇/偶校验实现单字节的数据初始校验[11]。

2.2 通信过程的实现

高速串口通信实现两类数据-打印加工指令数据与打印加工状态数据的高速实时传输,分别实现打印指令及状态的传送。

打印指令传送由上位数据处理端的工业PC发起,PC发送,打印控制嵌入式控制器接收;PC端获取切片处理数据,截取加工指令,计算CRC校验码,根据指令帧格式生成并发送指令帧至下位的FDM打印控制端,同时等待打印控制端的响应;打印控制端收到指令,执行数据校验;校验无误,执行指令;校验出错,向PC发出通信出错帧,请求重发;PC端收到请求,将指令帧重送发送缓冲区,重发数据,直至通信完成。

状态传送由打印控制端发起,打印控制端发送,PC接收,传输过程与指令传输类似。状态传送启动,打印控制嵌入式处理器获取状态数据,计算CRC校验码,生成并发送状态帧,等待PC响应;PC获取并校验状态数据,数据无误,更新系统状态显示;校验出错,向打印控制端发出通信出错帧,请求状态重发;打印控制器收到出错信息,重发状态数据直至状态传送无误,状态传送结束。

3 扫描运动控制

XY向打印扫描运动由步进电机实现,专用集成电路内置SPI及电机驱动控制逻辑,写入微秒为单位的脉宽计数值与脉冲个数,电机即按设定值运动[12-15]。电机速度控制通过S曲线加减速实现。假定加加速度恒定值J、初速度V0、时间t,则当前速度Vt为:

受CPU运算能力的限制,应用时对式(1)简化并离散化。假定时刻n,加速度a(n}、时间t(n)、时间间隔Δt(n)、速度V{n}、位移S(n),Δt足够小,通过递推公式得到各运动参数为:

式中V(n)、V(n-1)、J已知,方便实现,运动使用不连续的分级速度,相邻速度变化量ΔV恒定,即V(n)与V(n-1)差值不变,表4为本文系统的一个典型加减速运动段。其中速度范围为2~26 mm/s,相邻等级速度差值ΔV为2 mm/s,速度初终值为4.24 mm/s,加加速J取值10 mm/s3,脉冲当量0.01 mm。

图2为各运动参数的变化曲线,速度V、加速度a以及位移S符合S曲线加减速变化规律。

图2 典型加减速过程运动参数变化Fig.2 Motion parameters of typical acceleration and deceleration process

4 喷丝温度调节

丝温通过PWM脉冲启停加热实现,系统根据丝温动态调整PWM波的占空比,控制喷丝加热时间占比,实现温度的精确控制。不同占空比PWM波作用下丝温变化曲线如图3所示。根据喷丝温度变化曲线,假定PWM占空比KPWM,喷丝温度变化ΔT可以描述为:

图3 不同占空比PWM波作用下喷丝温升的变化曲线Fig.3 Jet temperature under the control of PWM of different duty cycle waves

求取拉普拉斯变换即得到喷丝温度变化的Matlab模型,在此基础上设计喷丝温度控制的PID控制器如图4所示。图中延迟时间td为9 s,系数KT同公式3,系数KM=0.08KT2+KT,占空比KPWM取值范围0%~90%。

图4 喷丝温度的PID控制器结构Fig.4 Structure of PID controller for jet temperature

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

图5 输出喷丝温度波形仿真Fig.5 Simulation of jet temperature control

5 FDM打印控制系统软件设计

FDM嵌入式打印控制系统的软件框架结构如图6所示。系统调度和管理程序、显示与触摸控制程序、文件系统及SD驱动程序提供嵌入式处理器片上基础硬件的基本操作;高速数据通信及校验程序接收来自PC端的指令数据,反馈系统运行状况;喷丝控制、丝温检测及控制程序实现打印过程中的丝温控制及喷丝动作;打印运动控制实现两维扫描运动及打印高度的运动控制;同时系统提供文件存储控制功能,实现SD卡上加工文件的操作;除此之外,系统还提供快速定位、开关量检测及控制、显示与触摸控制等辅助功能。

图6 打印控制系统框架结构Fig.6 Control structure of printing system develoed

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

Fig.7 Flow chart of the system management program

状态转换阶段,系统执行初始化,设置CPU、定时器、IO等硬件,初始化变量;而后,进入指令/状态处理循环,检索指令、状态与开关信息,根据指令、状态标志,修改系统状态,执行相应处理。根据处理的操作,系统状态分为空闲、加工两种状态。系统设置16位标识寄存器,存储温控、XYZ运动忙、加工暂停、限位等标志。

收到点动、快速定位指令,若无出错及XYZ忙标志,系统更新指令坐标,等待状态处理实现相应位置;收到丝温指令,系统设置新丝温,等待状态处理实现丝温;收到暂停指令,为加工态则置加工暂停标志;收到加工指令,若处于空闲或暂停态且丝温达到指令温度,系统进入加工态;检索到串口接收标志,系统调用通信及校验程序,获取上位机送来的指令及通信状态信息。

状态处理阶段,系统比较当前与指令丝温,相异,设置温控标志,调用丝温控制程序实现指定丝温;相同,清除丝温控制标志;而后判断运行状态,加工态且无状态标志置位,统调用打印加工程序,执行打印加工;打印结束,系统设置空闲态;加工态下有标志位置位,系统向PC端发出错信息,置出错标志,等待干预;非加工态,控制程序比较当前与指令位置,二者一致,清除相应运动忙标志;不一致,调用XYZ运动控制程序实现运动,置位相应轴的忙标志。

6 加工测试实验

采用上述方法实现的FDM三维打印控制系统及加工测试如图8所示。图(a)为FDM 3维打印系统及打印测试,图(b)为下位嵌入式打印控制系统。

Fig.8 Control system for FDM three-dimensional printing

XYZ打印加工运动及喷丝运动通过步距角1.8°的42 HD系列步进电机实现,采用模块A4988驱动;冷端补偿K型热电偶MAX6675执行丝温采集,ALIENTEK 4.3寸TFT集成触摸屏实现加工显示与人机交互;FPGA芯片LFXP2-5实现打印控制专用集成电路,内部集成步进电机、MAX6657的驱动控制电路。嵌入式处理器选用32位ARM Cortex处理器STM32,通过通用SPI接口实现与打印控制专用集成电路、集成触摸屏的数据交换。此外,打印控制专用集成电路内部设计专用开关量输入输出控制电路,包括XYZ轴行程开关、打印状态指示等开关量的编码、缓冲与输入输出。

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

图9 FDM三维打印加工实验Fig.9 Machining experiments of FDM three-dimensional printing

7 结论

本文提出并实现了一种工业PC结合高性能嵌入式处理器与专用集成电路的3D打印控制硬件结构,实现了FDM 3D打印加工嵌入式控制系统,内容包括打印控制系统结构与功能框架、高速数据通信协议设计与实现方法,加工运动的加减速方法与实现,喷丝温度PID控制方法及实现。相较于现有系统,本文系统具备以下特点:(1)采用PC结合嵌入式控制系统的结构,系统结构简单,可以兼顾复杂控制与数据处理。(2)加减速利用S加减速并进行了简化,平稳性好、便于实现,硬件要求低。(3)提出的高速通信协议速度高、可靠性好、数据量大,适于加工领域的多种场合。

猜你喜欢

字节校验嵌入式
使用Excel朗读功能校验工作表中的数据
No.8 字节跳动将推出独立出口电商APP
Focal&Naim同框发布1000系列嵌入式扬声器及全新Uniti Atmos流媒体一体机
No.10 “字节跳动手机”要来了?
TS系列红外传感器在嵌入式控制系统中的应用
基于MSP430的四旋翼飞行器的S-BUS通信协议的设计与实现
搭建基于Qt的嵌入式开发平台
炉温均匀性校验在铸锻企业的应用
电子式互感器校验方式研究
浅谈微电子故障校验