APP下载

基于Linux的FDM型3D打印机系统的设计与实现

2016-10-11毛磊郭晓金

广东通信技术 2016年6期
关键词:打印机启动电机

[毛磊 郭晓金]

基于Linux的FDM型3D打印机系统的设计与实现

[毛磊 郭晓金]

设计了基于Linux平台的FDM型3D打印机系统。通过电脑辅助工具CAD对3D模型进行数字切片,并将这些切片数据传送到3D打印机上,打印机将高温熔融的材料转换成一系列连续薄型层面逐层堆积起来,直到一个物体成型。详细介绍了3D打印机系统的设计思路、系统架构、系统功能以及软件系统的设计,经过系统测试,能实现3D打印。

Linux FDM 3D打印机 CAD 数字切片

毛磊

重庆邮电大学,信号与信息处理重庆市重点实验室,在读硕士研究生,主要研究方向:嵌入式软件开发。

郭晓金

重庆邮电大学,信号与信息处理重庆市重点实验室,副教授,硕士生导师,主要研究方向:光纤传感技术,光通信器件。

引言

3D打印技术(3D Printing),也称为快速成型技术,它是以数字模型为基础,运用可粘合材料一层层打印来制造三维物体,不受零件复杂程度限制,无需开模具[1]。随着近年来3D打印技术的飞速发展,3D打印在工业领域的应用日益广泛,而对于普通用户,3D打印技术应用还未得到普及,其主要原因是现在市面上针对个人用户3D打印机大多数都采用价格低廉的单片机作为主控器,频率低,外设少,以至于该系统的数据处理速度慢,且缺乏很好的人机交互界面,非技术人员操作困难,调试也相对复杂,由于无法运行操作系统,导致该系统的实时性很差,工作不稳定,对后期的系统升级维护带来困难。因此本文设计了基于Linux平台的FDM桌面型3D打印机系统。

1 系统总体框架

1.1系统简介

FDM型3D打印具有精度高、成型实物强度高、建模容易、成本低等特点。同时,FDM系统不需要价格较高的激光器,其原型也非常符合空隙结构,而且污染低噪音小,是理想的桌面打印系统[2]。该系统常用于制造各种模具、模型;设计新产品样机、铸造用模件;实验原型设计;高端制造业领域功能测试等。该系统采用Qt开发工具开发的图形界面,具有模型显示控制、参数设置、支持添加等功能;同时系统拥有较高的打印精度和优良的稳定性。本文中所述的3D打印机结构类型属于三角式结构,与传统的矩形盒式结构相比,其打印速度更快,打印精度更高,体积更小,更适合桌面使用。

1.2系统组成

控制系统的核心CPU选用三星公司基于ARM9内核的S3C2440处理器。控制系统是整个系统的核心,主要完成对加热装置、步进电机、送料机、显示模块等部分的控制,以及实时接收温度传感器的数据和触摸屏的输入数据。电源电路为系统提供3.3V、12V直流电压,保证系统正常工作。显示模块可以查看整个系统的信息,以及通过触摸屏实现对系统的手动控制,随时修改运行参数。三路步进电机的功能是带动操纵连杆上下移动,实现打印头位移的变化。打印头定位精度可达0.01mm,最大运行速度可达200mm/s。温度传感器实时监测打印头的温度,保证温度在正常的工作范围内。电脑首先使用第三方软件将3D模型进行一系列切片后,将切片信息传送到控制系统上。控制系统启动加热装置,当温度传感器检测到加热装置和出料机喷嘴处温度达到预定值后,会自动输送材料到出料机,加热装置将其熔融。控制系统启动步进电机,根据切片数据确定各电机行程,进而控制3个操纵杆位移,由3个操纵杆综合位移来确定出料机喷嘴的位置,最终准确定位材料的落点。3个限位开关安装在操纵杆的顶部,系统复位时滑块碰上对应的限位开关,电机立即停止工作,以此来确定打印头起始坐标,同时保证各操纵杆在安全的范围内移动。系统可以通过以太网与远程PC机通信,实现远程控制和文件传输,如图1所示。

图1 系统总体框架

2 软件设计与实现

控制系统软件支持远程打印、脱机打印等功能。系统软件设计思想采用多线程并发机制,提高了软件的运行效率,控制系统主要模块包括温度实时监控、步进电机控制、数据分析处理。系统初始化主要是对定时器初始化、A/D转换初始化、电机驱动模块初始化、打印机结构参数配置等。初始化完成后,系统将创建三个线程分别实现对温度的实时监控,步进电机实时控制,数据读取处理,软件主流程图如图2所示。

温度控制系统主要控制打印头的温度,保证打印头能够熔化打印材料,使打印材料能顺利从喷嘴里挤出,同时温度不能上下起伏变化过大,否则温度过低容易造成喷嘴不能顺利吐丝,过高导致打印件严重变形。

步进电机控制系统主要根据控制指令来控制三个电机转动最终带动打印头的移动,同时也控制送料机部位的步进电机,此步进电机主要完成对打印头的送料工作。

数据接收处理部分是整个系统的核心,它主要是对接收数据指令进行解析,得到电机控制系统和温度控制系统所需的指令。

2.1步进电机控制系统

步进电机启动时,其启动频率不能过快,如果启动脉冲频率高于电机的空载启动频率,电机将不能正常启动,而导致启动失步和起停段冲击大等现象[3]。为了保证系统的稳定,步进电机必须以低脉冲频率启动,因而步进电机在整个运行过程中需要有加速、匀速、减速的过程,如图3所示速度变化梯形图。软件设计中定义了一个BLOCK数组,用来存储数据块,数据块里包含加速,匀速,减速,运动方向等信息。电机控制系统通过改变定时器的初始值来调整运转速度,首先获取BLOCK1里的初始速度开始加速运转,当加速步数完成后,再以恒定的速度开始运转直到匀速步数结束,之后开始减速直到达到总的步进数,接着再读取BLOCK2的数据,为以同样的方式运转,如果没有BLOCK数据到来,电机就会停止工作。

图 2 软件主流程图

图 3 步进电机速度变化梯形图

为了保证步进电机在运作过程中的连贯性,防止出现卡顿现象,在软件中每获取一个新的BLOCK,需要重新计算所有梯形块,保证速度的无缝衔接,其关键程序如下:

planner_reverse_pass();

planner_forward_pass();

planner_recalculate_trapezoids();

2.2温度控制系统

由于温度传感器采用的是NTC热敏电阻器件作为温度检测,其电阻与温度关系满足Rt =R*EXP(B*(1/T1-1/T2),其中Rt为T1温度下的热敏电阻的阻值,R为T2常温下的标称阻值,B为热敏电阻的重要参数[4]。显然其电阻-温度特性不满足线性关系,计算起来非常复杂,因此在软件中建立了R-T对照表,直接通过查表得方式获取温度值,大大降低了软件运算量。

温度控制系统通过每隔20ms读取温度传感器上的电压模拟量,通过计算转换成数字量,再根据R-T表将数字量转换为温度值,与设定的温度值进行比较,来实现温度的控制。打印机在工作的时候需要保持打印头温度的稳定,如果温度变化太大就容易导致吐丝不均,打印失败,因此软件设计中采用了PID算法[5]进行温度调节,从而有效地降低了温度的上下漂移,提高打印件的质量。

2.3坐标定位

3D打印机在打印过程中,打印头需要精准的定位,首先软件要获取当前的A(x,y,z)坐标,然后获取数据接收缓存区的目标坐标A'(x',y',z'),利用空间直角坐标系空间两点之间的直线距离公式,可以算出打印头需要移动的位移,其中(x-x')表示x轴移动位移,(y-y')表示y轴移动位移,(z-z')表示轴移动位移,此处算法虽然可以让打印头移动到目标位置,但无法确定其运动轨迹,因为三角式结构的3个步进电机安装位置并不在x,y,z轴上,因而3个轴的移动位移不代表3个电机转动位移,为此在软件设计中加入了线性插值算法[6],使打印头移动过程近视为一条直线。其工作原理是在目标位置与当前位置的直线轨迹上等距离地插入若干节点,打印头从当前位置开始移动时,将一系列节点作为临时目标位置,打印头依次遍历整条线段上的临时节点,最终定位到所设定的目标位置,所插入的节点数越多,运动轨迹越接近直线,打印件的表面也就越光滑,同时计算量也会相应增大,所以插入的节点数量要适当。

3 系统测试运行

系统上电启动后,开始运行软件进行测试。软件启动后会自动检测网络连接状况,当有网络时会自动连接服务器检查是否需要更新软件。

如图4所示为UI主界面,打印机在打印过程中会实时在界面上显示当前打印头坐标,打印头温度,散热风扇转速,打印头移动速度,用户可以方便对系统运行状况进行查看,同时用户还可以对温度,风扇速度,打印头坐标位置和移动速度进行手动控制,通过对打印机的实时调整,得到更好的打印效果,图5是3D打印机打印效果图。

图4 3D打印机软件系统主界面

图5 3D打印机打印效果图

4 结束语

本文基于linux平台设计的3D打印机能完美的实现3D模型打印,适合用于打印单一材质的装饰品,机械零件,办公用品,儿童玩具。用户操作简单,选择脱机打印时,用户只需将放有3D文件的U盘插入该设备上,然后打开文件管理选择需要打印的文件,打印机便开始自动打印,远程打印时,系统接收以太网发过来的数据,执行打印操作。3D打印机目前也有些缺陷,对打印材料有较高要求,

1 刘厚才,莫健华,刘海涛.三维打印快速成形技术及其应用[J]机械科学与技术,2008(9): 1184-1190

2 罗晋,叶春生,黄树槐.FDM系统的重要工艺参数及其控制技术研究[J].锻压装备与制造技术,2005,(6):77-80

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

4 周以琳,李金亮,杨勇,郭焕然.NTC热敏电阻R-T特性的高精度补偿[J]. 青岛科技大学学报,2010,(1):80-82

5 王威,杨平.智能PID控制方法的研究现状及应用展望[J].自动化仪表,2008,(10):1-3

6 涂俐兰,黄丹.插值法在数据修正中的应用[J].数学理论与应用,2012,(3):110-116

10.3969/j.issn.1006-6403.2016.06.013

(2016-05-17)

猜你喜欢

打印机启动电机
泵用电机水润滑轴承选择与应用
关于电机滚动轴承的选择与计算
瞻望电机的更新换代
雾霾来袭 限产再次启动
安发生物启动2017
电机隐忧
另类3D打印机
打印机基板大型注塑模具设计
FDM型混色3D打印机的设计
西部最大规模云计算中心启动