爆肝一周,打造属于自己的一台DIY3D打印机1.0
WK DIY 系列
读者你们好!这是DIY系列的第一次,我希望这个系列能一直更新,也希望你们能从我的文章中有所收获。我也是小白,还需要继续努力,所以这篇文章会不定期更新,总结给大家相关的知识,将来这个系列也会更新别的DIY产品,这个系列并不局限于硬件,而是所有的DIY产品哦
写在开头,本文章知识普及部分源于网络和个人总结
打印机结构
想做一个打印机,首先要了解打印机的结构,打印机通过轴来操控挤出机的上下运动,打印机的主要结构如下:
1)机体框架 :机体框架是各款打印机之间的最大差异的地方,不同的机架优缺点各有不同,但结构的刚性是必须的,因为打印机工作的时候,x轴、y轴是在不断的运动的,为了保证打印机的精度,所以喷头运动时的动量对机体的影响越小越好,尽量避免挤出机进行晃动,解决方法就是减轻喷头质量和提高机体刚性。
2)机械轴
机械轴就是XYZ轴运动的部件,主要有3种类型:
直角坐标型:XYZ轴成互为直角样子的,XY轴通常是由同步带接步进电机来定位的,Z轴则是由丝杆控制的。
三角爪型:其数学原理是跟直角坐标型一样,用笛卡尔坐标系原理的。只是将XY轴通过三角函数来映射到三个爪的位置上。
舵机转动型:舵机转动行型XY轴坐标所运用的数学原理则是采用极坐标系了。跟笛卡尔坐标系不同,所以在控制程序上有完全不同的代码。
从理论上来说不论是笛卡尔坐标系还是极坐标系,所表示空间中的一点都是一样的,也就是说,这些打印机的打印精度是一致的。不存在说用极坐标系的效果就不如笛卡尔坐标系的。
各轴运动方式的不同分类,可分为以下几种机型:
-
reprap
reprap的打印机看起来都挺复杂,是因为设计者的初衷就是想让机器能够复制自己,因此希望各个组成部分都可以通过3d打印得到(仅仅是理想,实际还差挺远)。因此设计了光杆框架结构的支撑。从实用性上来讲,这种框架结构,首先对装配调结的要求就很高,其次,主要部件包括电路板都外露,像个半成品。 -
Prusa i3/龙门
此结构有一个x轴,一个y轴,两个z轴电机,x轴控制挤出机的左右移动,y轴控制平台热床前后移动,两个z轴电机是并联的结构,用来控制x轴的上下移动,这是最经典的结构,我的打印机正是这个结构,但是只适用于小机器,如果将整体的打印范围扩大后模型容易进行晃动 -
Ultimaker/UM
UM全称Ultimaker,也是结构名称,又叫十字轴。UM的XY电机都是固定在机箱上的。结构比较复杂,对零件、安装要求比较高。由于电机都是安装在机箱上的,所以打印速度快、精度也相对高。不适合新手 -
Kossel/三角洲
三角洲又称delta。也叫并联臂。这种结构最早是由瑞士洛桑理工学院(EPFL)的Reymond Clavel教授在上世纪80年代发明的Delta式结构。最早的Delta式并联机械臂主要用来设计一种能以很快速度操作轻小物体的机器人。Delta式并联机械臂,这是一种通过一系列互相连接的平行四边形来控制目标在X、Y、Z轴上的运动的机械结构。近年来这种机械结构的应用日益广泛,特别是它具有适应狭小空间,并能在其中有效工作的能力。1987年瑞Demaurex公司首先购买了delta机器人的知识产权并将其产业化,主要用于巧克力、饼干、面包等食品包装,后来由于硬件和软件工程的发展带来的技术和制造成本下降,很多创客在设计自己的3D打印机是借鉴了这种Delta并联式机械臂的特点,于是就出现了如今我们常见的外形接近三角形柱体的Delta式3D打印机,玩家们称为三角洲打印机。三角洲的结构相对简单。打印曲面效果不错,打印速度快。但打印矩形容易出问题。空间利用率比较低。
在同样的成本下,采用delta型能设计出打印尺寸更高的3D打印机。三轴联动的结构,传动效率更高,速度更快。但是由于delta的坐标换算是采用插值的算法,弧线是用很多条小直线进行插值模拟逼近的,小线段的数量直接影响着打印的效果,造成delta的分辨率不足打印精度相对略有下降。 -
H-bot
Hbot结构空间利用率高,相对比较稳定。但Hbot结构的Y轴移动是由一个电机拉X轴的一角实现Y轴移动。会产生使X轴旋转的力。打印速度慢时就不明显,但打印速度快就很明显了。X轴喷头移动也一样. -
Makerbot
这个结构是一个比较稳定的机型。调试相对简单些。适合做大机器。XYZ最明显的特征是:X轴电机固定在X轴上。Y轴移动要连着X轴电机一起移动。Y轴惯性较大,跑不快。打印速度快了,容易丢步。 -
Core XY
Core XY结构跟Hbot结构非常相似。很多新人都分不清。Core XY结构空间利用率高,X轴相对重量轻。可以快速打印。但只能用皮带传动,不能用丝杆传动。这个结构适合进阶玩家3)控制电路
控制电路的基本结构是由单片机、步进电机驱动、控制喷嘴热床的场效应管还有各种外出接口构成的。4)其余部分
挤出机:将耗材通过喷出头打印出来,分为齿轮挤出,直接挤丝,液体挤出三种
电源:一般用ATX也就是电脑电源,xbox的电源和开关电源,一般在12-24V,电流8A以上
热床:用来承载打印模型的平面,可以给模型加热,一般在上面加上磁吸可脱料垫,方便取模
3D打印技术 | 技术特点 |
---|---|
FDM | 熔融沉积快速成型 |
SLA | 光固化成型 |
3DP | 三维粉末粘接 |
FFF | 熔丝制造 |
DLP | 数字光处理 |
LOM | 分成实体制造 |
SLS | 选择性激光烧结 |
目前市面上的打印机主要使用FDM和SLA
打印所需材料
这是我制作打印机所用的材料,供参考,都可以买到,主板是marlin,使用的结构是i3结构,打印机类型为FDM
打印步骤
写在前面:关于详细的组装,我这里因为是不连续的工作,没有录制视频也没有对各个结构进行拍照,所以这里给大家理一下我组装的思路,只是思路,无法提供详细的组装过程(后期可能会录视频发B站)如有遗漏欢迎补充
-
组装挤出机并安装喷头和两个风扇,这里采用齿轮挤出结构,丝料从两个齿轮卡进去并塞进喉管即可,加热后丝料会融化容喷头挤出
-
安装底座,用亚克力板(别问,问就是比较便宜)来搭,背面用螺丝固定住电源,主板,用导轨进行结构的固定,电源红黑线连接在主板继电器上,把线绕到正面做一个电源开关
-
安装滑动轮,供xyz轴使用
-
搭建xyz轴,将滑轮套上,套上的效果是,滑轮能不卡不滑地滑动
-
给相关轴套上电机,其中z轴电机需要套上同步轮(两个电机为并联结构,共同驱动z轴进行移动),用丝杆可以手动将x轴平面调平,原理是电机驱动丝杆转动,通过螺纹来上下移动。联轴器要卡紧电机轴还有丝杆,否则会出现丝杆脱轴
-
在原点位置分别放置xyz轴限位开关,当轴移动到原点时会触碰到弹片,自动停止继续移动
-
将轨道安装,放上齿轮条,找到合适位置绑紧,让条带不松动
-
安装热床,注意底下四个角应放上弹簧
-
最后接线,显示屏可安可不安
-
上机测试,将USB和电脑连接,电脑若能识别串口打开打印的软件进行串口通信,如果能看到打印相关的数值则证明可以打印(上传的资料有)
实机展示
(PS:有点乱,就这样吧。。)
第一次打印效果,未抛光精度尚可,没有调节打印速度,打印耗时3小时53分钟
关于打印的坑(超大)
1.船型螺母一定要看准跟导轨契合再入轨,否则就会导致导轨松垮,结构不稳定且容易掉,若上紧螺丝卡死之后想移动导轨那就必须松螺母重新入导轨、
2.滑轮上的不规则偏心柱需要做标记,保证两个偏心柱旋转方向一致,否则会导致滑轮松两侧的紧度不一样
3.关于联轴器上的顶丝:电机轴上的不能拧进去太紧,否则会导致电机带不动联轴器,丝杆则要稍微顶紧一些,防止旋转的适合丝杆脱落,这个真的要靠自己感觉了,两个轴的松紧要一致,否则就会导致一边电机力大一边力小,因为两个电机是并联的,这样就会导致力大的一段走的快,从而导致x轴出现一高一低的情况
4.注意限位开关的连接线,因为裸露在外头很容易断掉,这个时候需要用电烙铁进行焊接。限位开关也要注意其放置的位置,这关系到回原点的位置,打个比方,如果z轴限位放的太高就会导致下降到原点后,喷头无法和平台接触,导致空打
5.打印前一定要进行调试,移动轴来上下移动,检查自动回原点功能是否正常,检查挤出机丝料能否正常插进,检查热床能否加热?喷嘴能否加热?串口是否能正常通信?
6.其他常见错误点在资料中
给你一个远程操作方案
购买一个ESP8266模块和主板连接,接线为:GND-GND,VCC-VCC,RXD-TXD,TXD-RXD.
实现功能:远程操控打印机,实现文件的上传和删除,将文件通过WIFI远程传给打印机的SD卡中,可以通过串口来获取打印机温度,风扇转速,xyz轴所处坐标位置等,还可以用来远程控制打印机打印,装配一个摄像头可以实现远程监控
主板第一次入网会产生一个热点,手机或者电脑去连接即可,也可以配置路由器让模块去连接,相关文件是开源的。可以去我上传的资源下载也可以找我要。控制端采用js来写后端,在前端来展示相关的数据信息
操作界面如上所示
后续如果有需求的话可能会继续更新这里。。。。
关于耗材
采用PLA材质,一般买1KG可以用3天,大概300米左右,价钱一般70左右
如果想要让打出来的模型更精致,需要买PLA抛光液,泡一泡就会把纹路什么的抛光掉,这里注意人体不要触摸到液体
关于加热
每次加热的时候,都是先加热热床,再加热喷头,漫长的等待…
为什么会这样呢?先看一下机器指令吧
M140 :为热床设置新的目标温度,无需等待即可继续。 固件在后台管理加热。
M104 :为喷嘴设置新的目标温度,无需等待即可继续。 固件在后台管理加热。
M109 : 此命令可选择设置新的目标热端温度,并在继续之前等待达到目标温度。 如果温度设置为 S然后 M109等待 仅在加热时 。 如果温度设置为 R然后 M109也将等待温度下降。
M190 :该命令可选择为加热床设置新的目标温度,并在继续之前等待达到目标温度。 如果温度设置为 S然后 等待 它只在加热时 。
M105 :请求尽快向主机发送温度报告。
我们打开一个gcode代码,我们就可以看到这个命令
M140 S60 //将热床目标温度设置到60度,并加热;
M105 //向主机报告温度情况
M190 S60 //等待热床温度达到60
M104 S180 //将喷嘴目标温度设置到180度,并加热;
M105 //向主机报告报告温度
M109 S200 //等待喷嘴温度达到180时。,。。。。
为什么要这样设计呢?原因在于之前的电源功率无法同时支持热床和喷嘴的加热
现在如果想解决,只需要在起始的G代码里更改执行的顺序即可
M140 Sx; 热床温度设置
M104 Sxx; 喷嘴温度设置
M190 Sx; 等待热床温度达到设置值
M109 Sxx; 等待喷嘴温度达到设置值
写在最后
这个系列我会持续更新的,还有很多不足之处,有什么想法欢迎私信,看到了都会回复,伸手党请自行绕开
期待下一期我的DIY吧!