您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 第7章基于Arduino控制的3D打印机项目
目录7.1设计思想7.2材料清单7.3安装过程7.4固件详解7.5打印过程的注意事项7.1设计思想3D打印技术的出现,为各行各业乃至于这个世界提供了无限可能。3D打印机让创造离人们生活从未来,它迅速的拉近了梦想构思和现实的距离,同时也快速推进了各行业的创新速度。3D打印机被誉为第三次工业革命重要标志,3D打印以其个性化、低消耗、小批量、高难度的制造新理念,正在颠覆传统的锻造、切削加工制造模式,给大规模生产线的工业组织方式带来了重大变革。目前,3D打印已形成了从数据采集、材料、打印设备到应用服务的较为完整的产业链,被广泛应用于航空航天、汽车制造、医疗器械、个人消费、教育科研和军工生产等领域。7.2材料清单序号元器件名称型号参数规格数量参考实物图1型材2020铝材246mm(X)2根2020铝材410mm(Z)2根2020铝材385mm(Y)2根2020铝材410mm(横梁)1根2020铝材230mm(横拉)2根2020铝材150mm(耗材架竖)1根2020铝材100mm(耗材架横)1根2光杆6根3丝杆两根4电源+线12V/25ma1个5热床1套6Arduino主控板MEGA25601套7电机控制板ReprapRamps1.41套8电机驱动板HR-A498839打印件详见教材配套资料32个10角件15个11螺母5T1袋124T1袋13直线轴承10个14燕尾夹4只15联轴器2只16限位开关ss-5g3只17T8铜螺母2个18轴承M52个19弹簧4只20张紧弹簧2只21同步轮2个22同步带2根23USB线1根24电源线12V1根25热缩管1根26扎带若干27杜邦线3根28风扇2只29固体胶1支30喷嘴组件1套31螺丝M5*821个32M5*103个33M5*252个34M3*84个35M3*1011个36M3*143个37M3*1613个38M3*202个39M3*254个40M3*404个41M4*1022个42包线管1卷43电机+线17HD40005-22B5个7.3安装过程首先将所有的型材进行分类,找出X型材(245mm)、Y型材(385mm)、M5螺丝、M5T螺母和角件,如图7-1所示。用螺丝和螺母穿过角件并固定好X、Y型材,安装图7-2的摆放方式进行固定安装,安装的时候要注意不要将螺丝拧的特别紧,避免出现脱扣的情况出现。应该预留一定的松紧度,方便随时调整对其,确认角度没有问题后将螺丝拧紧,确保结构牢固。7.3.1机架安装图7-1分类图图7-2X、Y型材安装图找出横梁型材(410mm)1根、Z轴型材(310mm)2根,角件2个,M5螺丝2个,M5T螺母2个,M5扳手1个。将上一步的底座四角朝下,再长轴上找出255mm的位置上安装Z轴,安装的时候要注意两个Z轴型材的位置是一样的,如图7-3所示。图7-3X、Y、Z型材安装图固定好两个Z轴型材后,开始安装横梁。横梁与Z轴固定的位置应该留有62mm的距离,并注意两边距离相同。安装如图7-4所示。图7-4横梁安装图上述步骤完成之后开始安装料架,料架安装在横梁上,应该距离横梁的一侧245mm,具体安装如图7-5所示。到这步为止铝型材框结构安装完毕。图7-5料架安装图7.3.2平台安装1.平台安装找出铝板、直线轴承3个、打印件4个、M3螺丝8个、M3T螺母8个、扎带6个。首先用扎带固定直线轴承在打印件上,之后减掉多余的扎带。然后将三个直线轴承固定在铝板上。如图7-6所示。图7-6直线轴承固定示意图2.X平台安装准备直线轴承3个,打印件1个,扎带6个。与X轴安装方法类似,将直线轴承塞入打印件,然后用M3和M3T将其固定在打印件上。如图7-7所示。图7-7X平台安装图(1)准备好电机1个,和与其配套的打印件、直线轴承2个、限位开关1个、同步轮1个、热缩管1段。用杜邦线连接限位开关,常开脚并用热缩管包住。如图7-8所示。图7-8X平台安装图(2)将电机用M3螺丝和M3T螺母固定在配套的打印件上,确定稳固后将同步轮固定在电机上。这时应该特别注意,同步轮的齿轮一定要在打印件的空隙正中处,并能保证正常转动。上述步骤完成后将处理好的限位开关用扎带固定在打印件上,注意扎带要从打印件的空隙处穿过,完成的电机如7-9所示。图7-9X平台安装图(3)找出最短的两根光轴,与上一步的半成件进行组装。此步骤完成后X轴平台安装完毕。完成图如7-10所示。图7-10X平台安装图(4)3.Z平台安装首先按照图7-11准备好想要材料。将联轴器和电机组装到一起,这个过程要注意因为联轴器顶丝打在电机D面内部两端的直径不同,需要插入直径小的部分中,如图7-12所示。完成之后贴近铝型材进行固定,拼装后的完成图如7-13所示。图7-12联轴器和电机组装图图7-11材料图图7-13固定图找出剩余的两根光轴和丝杆,组装成图7-14的样式。安装过程中要特别注意,光杆要轻缓的穿过直线轴承。如果遇到阻塞,可以适当的调节期间的宽度,但是动作一定要轻缓。图7-14光轴与丝杆组装图找出同步带、扎带、张紧弹簧,按图7-15的方法和Y轴同步带进行组装,一定要注意张紧弹簧的安装位置。图7-15与Y轴同步带组装图4.机械杂件的安装完成上述安装步骤之后是进行热床的安装,准备好将热板、4个弹簧、4个M3自锁螺母、4个M3螺丝。如图7-16所示。用M3螺丝和螺母插入打印件,将热板固定在铁板上,拧紧4个角的螺丝。然后进行限位开关的安装,注意拧的过程不要太紧,因为打印时可能还需要进行调试。如7-17所示。图7-16材料图图7-17热板固定图接下来安装挤出机和电源,这两部分相对较为简单,按照图7-18、7-19进行安装。图7-18挤出机安装图图7-19电源安装图7.3.3控制板安装及布线1.主控板安装本打印的核心控制单元是Arduinomega2560,mega2560板子在3d打印机中相当于大脑,控制这所有的3d打印配件来完成复杂的打印工作,但mega2560不能直接使用,需要上传(upload)固件(firmware)才可以使用,本项目采用的固件是Marlin固件会在下节进行详细的介绍。此外mega2560需要和ReprapRamps1.4扩展板进行组合,通过扩展板完成对3D打印机的控制。mega2560和ReprapRamps1.4只需将后者的引脚插入2560即可,具体如图7-20所示。两者组合的时候要注意不要特别用力,如果某些引脚出现歪了的情况,只需将其掰正即可,不影响正常使用。图7-20引脚插入图组合完成之后需要进行ReprapRamps1.4的相关电路连接,具体连接示意图如图7-21所示。图7-21连接示意图7.4固件详解7.4.1概述Sprinter固件是目前用的比较多的3D打印机固件,而Marlin固件和Repetier-firmware固件都是由其派生而来。而且这两款固件的用户群非常活跃,而Sprinter固件已经没有人维护了。在这二者中,Marlin固件的使用更加广泛,很多打印机控制软件都兼容Marlin固件。一般用户在使用Marlin固件的时候只需要改变一下Configuration.h文件中的一些参数即可,非常方便。本节主要介绍用户设置的基本信息、怎么运用这些设置、根据不同的需求制定特色功能。Marlin固件可在本书配套资源中找到。固件实际上是通过特定软件写入ArduinoMEGA2560内部的,实际上是通过ArduinoMEGA2560发送各种控制指令对打印件进行三轴的控制。7.4.2MARLIN固件特点Marlin相对于Sprinter有很多优点,具体为以下几点:1.预加速功能(Look-ahead):Sprinter在每个角处必须使打印机先停下然后再加速继续运行,而预加速只会减速或加速到某一个速度值,从而速度的矢量变化不会超过xy_jerk_velocity。要达到这样的效果,必须预先处理下一步的运动。这样一来加快了打印速度,而且在拐角处减少耗材的堆积,曲线打印更加平滑。2.支持圆弧(ArcSupport):Marlin固件可以自动调整分辨率去以接近恒定速度打印一段圆弧,得到最平滑的弧线。这样做的另一个优点是减少串口通信量。因为通过1条G2/G3指令即可打印圆弧,而不用通过多条G1指令。3.温度多重采样(TemperatureOversampling):为了降低噪声的干扰,使PID温度控制更加有效,Marlin采样16次取平均值去计算温度。4.自动调节温度(AutoTemp):当打印任务要求挤出速度有较大的变化时,或者实时改变打印速度,那么打印速度也需要随之改变。通常情况下,较高的打印速度要求较高的温度,Marlin可以使用M10SBF指令去自动控制温度。使用不带F参数的M109指令不会自动调节温度。否则,Marlin会计算缓存中所有移指令中最大的挤出速度(单位是steps/sec),即所谓的“maxerate”。然后目标温度值通过公式T=tempmin+factor*maxerate,同时限制在最小温度(tempmin)和最大温度(tempmax)之间。如果目标温度小于最小温度,那么自动调节将不起作用。最理想的情况下,用户可以不用去控制温度,只需要在开始使用M109SBF,并在结束时使用M109S0。5.非易失存储器(EEPROM):Marlin固件将一些常用的参数,比如加速度、最大速度、各轴运动单位等存储在EEPROM中,用户可以在校准打印机的时候调整这些参数,然后存储到EEPROM中,这些改变在打印机重启之后生效而且永久保存。6.液晶显示器菜单(LCDMenu):如果硬件支持,用户可以构建一个脱机智能控制器(LCD屏+SD卡槽+编码器+按键)。用户可以通过液晶显示器菜单实时调整温度、加速度、速度、流量倍率,选择并打印SD卡中的G-Code文件,预加热,禁用步进电机和其他操作。比较常用的有LCD2004只能控制器和LCD12864只能控制器。7.SD卡内支持文件夹(SDcardfolders):Marlin固件可以读取SD卡中子文件夹内的G-Code文件,不必是根目录下的文件。8.SD卡自动打印(SDcardautoprint):若SD卡根目录中有文件名为auto[0-9].g的文件时,打印机会在开机后自动开始打印该文件。9.限位开关触发记录(Endstoptriggerreporting):如果打印机运行过程中碰到了限位开关,那么Marlin会将限位开关触发的位置发送到串口,并给出一个警告。这对于用户分析打印过程中遇到的问题是很有用的。10.编码规范(Codingparadigm):Marlin固件采用模块化编程方式,让用户可以清晰地理解整个程序。这为以后将固件升级到ARM系统提供很大的方便。11.基于中断的温度测量(Interruptbasedtemperaturemeasurements):一路中断去处理ADC转换和检查温度变化,这样就减少了单片机资源的使用。12.支持多种机械结构:普通的XYZ正交机械,CoreXY机械,Delta机械以及SCARA机械。7.4.3基本配置使用ArduinoIDE打开marlin.ino,切换到Configuration.h即可查看并修改该文件。或者使用任何一款文本编辑器(notepad,notpad++等)直接打开Configuration.h也可以。Marlin固件的配置主要包含一下几个方面:1.通讯波特率2.主板类型,所使用的主板类型3.温度传感器类型,包括挤出头温度传感器和加热床的温度传感器4.温度配置,包括喷头温度和加热床温度5.PID温控参数,包括喷头温度控制和加热床温度控制6.限位开关7.4个轴步进电机方向8.X/Y/Z三个坐标轴的初始位置9.打印机运动范围10.自动调平11.运动速度12.各轴运动分辨率13.脱机控制器根据经验来说,Marlin固件中的Configuration.h将各个配置模块化,非常便于读及修改,而且注释非常详细,英文好的同学可以很容易地理解各参数的意义。注意到Marlin固件使用C语言编写,“//”后面的是注释语句,不会影响代码的作用。另外M
本文标题:第7章基于Arduino控制的3D打印机项目
链接地址:https://www.777doc.com/doc-5052359 .html