锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

3D打印控制板初步认识

时间:2023-05-12 06:07:00 温度传感器型号86x86mm

3D打印控制板

RAMPS1.4 3D打印控制板:软件下载\连接\安装\测试

电源反转,电机驱动板反转可能会烧毁芯片和电路,请在通电前反复确认。

如何使用:

需要使用的模块或设备:

Arduino Mega2560 主控板(包含此套件)d打印机的大脑负责控制整个打印机完成特定动作,如打印特定文件;

RAMPS1.4 (包括此套件):这是上述主控板的扩展板,用于更好地连接和控制其他硬件,起到过渡桥梁的作用;

MS4988步进电机驱动板(包括套件):用于连接步进电机,实现步进电机主控板的控制XYZ挤出机的动作;

4~5步进电机(套件不包括):这是3d打印机的动力部分由MS电机连接到4988驱动板控制RAMPS1.4板子上;

加热头(不含):加热头用于熔化打印材料(ABS、PLA等等),一般加热头有两个电气元件,一个可以用来加热,类似于电热炉,另一个是热敏电阻,用来获得加热头上当前的温度,以实现更好的温度控制,因为固件(Marlin:https://github.com/ErikZalm/Marlin/tree/Marlin_v1)温度获取成功后,允许进行大量操作,因此即使进行简单的测试,也需要连接两个热敏电阻(另一个用于获得热床温度),需要额外的热敏电阻;

热床(heatbed)(不含):打印ABS当时,为了使其不变,第一层容易粘在平台上,一般的解决方案是使用热床,热床还包括两部分,加热部分和热敏电阻,其中热敏电阻是必要的;

12V电源(不包括):为了驱动电机和电路板,你需要配备一个12V 100W~200W左右电源。

以上部分是电路连接部分的必要部分。如果缺少一个,则无法测试相应的部分。

其他不必要的主要包括12V风扇和至少3个限位开关(如果不影响电路板的测试,但会影响打印机的使用,如果你做一套完整的打印机,这是必要的,特别是限位开关)。

2.准备:

在开始连接和测试之前,您需要一些必要的软件:

Arduino IDE,下载地址:http://arduino.cc/en/Main/Software;

固件(Marlin),这是需要在主控板上执行的程序。将其传输到主控板并下载地址:https://github.com/ErikZalm/Marlin/tree/Marlin_v传输方式:打开arduino IDE,选择菜单Tools -> Board -> Arduino Mega 2560,然后选择串口Tools ->Serial Port ->相应的串口,点击编译并下载到板子上。参考固件里面的说明配置相应的参数,最主要的是配置板子类型为RAMPS1.4(找到Configuration.h这一行在文件中#define MOTHERBOARD 33此处必须改为33),其他可暂时默认;

*上位机软件:printrun:http://koti.kapsi.fi/~kliment/printrun/ 下载相应版本并安装;

以上是需要使用的软件。首先,您在配置参数时需要经常使用它们。如果确定参数,则很少再次使用。第三个是打印机控制软件,通常也会使用打印。

3、烧固件:

*编辑固件并上传到主控板:

通过主控板USB连接到计算机时,主控板的电源灯会亮起。

用Arduino IDE打开下载固件文件中的主文件(Marlin.pde),打开后,通过TAB选择到Configuration.h并找到文件:

#ifndef MOTHERBOARD

#define MOTHERBOARD 某数字

#endif

修改为:

#ifndef MOTHERBOARD

#define MOTHERBOARD 33

#endif

这些参数可以暂时修改。然后选择菜单Tools -> Board -> Arduino Mega 2560,并选择串口Tools ->Serial Port ->相应的串口(一般是倒数第一,不对可以多试几次),点击IDE向右箭头(→)图标,进行固件上传,如果安装上面步骤操作下来应该不会有错误。并且可以看到主控板上的另一个LED灯会不停地闪烁,明正在上传;等待完成。

4.连接其他电路板并进行测试:

断开USB数据线,将RAMPS1.4板连接到主控班,注意不要连接错误,RAMPS上背面的插针应连接到主控板上。

然后将两个热敏电阻连接到板的相应位置,先打开下图printrun软件(上面的第三个软件),选择串口(通常是最后一个),设置波特率(2.5万)。如果点击连接正常,右侧会有成功连接的提示,下面的操作按钮会正常使用。

通过printrun软件上的“check temp(读取温度)可以获得两个热敏电阻的温度,因为热敏电阻是直接连接的,所以读取温度应该接近你的室温。如果读取值为0,所有连接

加热头和热床虽然没有连接,但可以简单测试,首先连接12V电源,然后设置加热床和加热头的温度分别为230和110度,此时板上有两个红色LED它一个接一个地点亮,说明这部分电路正常,可以关闭。然后右下角输入命令:M106 S255点发送,打开风扇控制,另一个红色LED点亮,输入:M107点发送可关闭。

断开电源,将MS4988驱动板接入RAMPS板,注意方向是否正确,否则板可能会烧坏,请参考我的照片。至少应有一台电机进行测试,电机连接应按下图所示连接,一般为红、蓝、绿、黄连接,连接后,通过电源printrun试着让电机移动,比如你连接到电机X轴上,电机X轴电机 10mm,电机旋转,点击-10mm,电机会反转。也可以测试YZ两轴(更换电机时应切断电源)。当温度达不到时,挤出机电机无法测试,可以使用MS4988驱动器安装XY或Z测试轴,以确保驱动器正常。

如果以上测试没有问题,说明主电路没有问题,剩下的就是你的3D打印机组装好了。

连接检测方法:

一、准备工作
在开始工作之前,你应该准备以下工具(包括软件和硬件)。

需要下载的软件
1.1 固件上传工具——Arduino IDE
这是上传固件的必要工具。有了这个软件,上传固件就容易多了。USB,很容易上传。

下载地址:
windows版本:http://downloads.arduino.cc/arduino-1.5.5-windows.exe
MAC版本:http://downloads.arduino.cc/arduino-1.5.5-macosx.zip
linux 32位版本:http://downloads.arduino.cc/arduino-1.5.5-linux32.tgz
linux 64位版本:http://downloads.arduino.cc/arduino-1.5.5-linux64.tgz
其它版本:Arduino

clip_image001
1.2 3d打印切片软件——Slic3r

该软件生产3d控制代码的必要工具可以由打印机识别。没有它,3d打印机将无法识别3d模型格式。只有通过这个软件转换为G代码完成后,打印机才能正常使用。Slic3r是一种很好的切片工具。

下载地址:
windows 32位版:http://dl.slic3r.org/win/slic3r-mswin-x86-0-9-10b.zip
windows 64位版:http://dl.slic3r.org/win/slic3r-mswin-x64-0-9-10b.zip
MAC版本:http://dl.slic3r.org/mac/slic3r-osx-uni-0-9-10b.dmg
linux 32位版本:http://dl.slic3r.org/linux/slic3r-linux-x86-0-9-10b.tar.gz
linux 64位版本:http://dl.slic3r.org/linux/slic3r-linux-x86_64-0-9-10b.tar.gz

如果您想通过源代码编译,请参考:slic3r

clip_image002

1.3 3d打印机控制软件(上位机)——Printrun

reprap官方上位机,界面简单,操作方便,是新手的好选择。d打印机上的打印机控制中心将继续读取G通过usb线传输给3d打印机主控板(mega从而实现对打印机的精确控制。

下载地址:
MAC版本:http://koti.kapsi.fi/~kliment/printrun/Printrun-Mac-12July2013.zip
windows版本:http://koti.kapsi.fi/~kliment/printrun/Printrun-Win-Slic3r-12July2013.zip
更多版本选择:Printrun

clip_image003

1.4 固件——Marlin

安装固件mega2560板上的软件功能强大Marlin这是个不错的选择。

下载地址:https://github.com/ErikZalm/Marlin/archive/Marlin_v1.zip
下载后解压,marlin文件夹中的所有文件都是固件的源代码,找到它们pde或ino文件用IDE软件打开即可。

2、安装驱动

MAC和linux系统都不需要位mega 2560安装特定驱动,插上usb就可以使用了,由于mega 2560板子实际上是usb转串口,所以插上后如果正常,会多了一个串口出来。

2.1 windows操作系统安装驱动

当你安装好Arduino IDE后,来到IDE的目录,里面有一个
driver
文件夹,进去后找
mega2560 r3
字样的inf文件,如果找不到,这个目录下应该会有一个压缩文件,解压后就可以找到这个文件了,右键安装就可以了。这是插上mega2560板子,应该是可识别的设备了。

3、工具及配件

DIY 3d打印机没有必要的工具,几乎是不可能完成的,当然必要的配件也是必须的。

3.1 常用工具

在测试或安装3d打印机套件时,可能会用到的工具包括有,一字螺丝刀、剥线钳、压线钳、电烙铁、镊子、片口、尖嘴钳、高温胶带等等。
配套4

3.2 配件

一台完整的3d打印机是由几十个甚至上百个零件组合而成。如果想完成下面的测试或组成一台打印机,你应该有一下零件:

  • 3d打印机主控套件:主要包含一个mega 2560主控板,一个RAMPS1.4拓展板和4个MS4988步进电机驱动板;
  • 12V 200W开关电源:用于提供12V电压,可以使用电脑上的ATX电源,但接线时需要注意;
  • 2个100k ntc热敏电阻:为了实现控制板对加热头及加热床的温度控制,需要有两个温度传感器,最方便的莫过于ntc 热敏电阻,100k电阻是不错的选择(大部分固件直接支持);
  • 至少一个两相四线步进电机:如果你是简单测试,只需要一个步进电机就可以完成轮流测试,如果你要组成一台成品,你需要4~5台步进电机,Z轴根据机械结构的不同有的采用两台电机驱动。电机型号需要根据你自己的情况选择,一般来说普通42电机都可以胜任,需要注意的是4988最大支持的驱动电流是1A;
  • 至少一个限位开关:限位开关是打印机用来确定位置的重要传感器,要组成完整的打印机至少需要3个限位来帮助打印机确定原点位置,限位开关种类很多,可以是机械式的、光电的、磁性的(霍尔)等;
  • 12V加热管:如果你的机械是FDM(热溶式打印机),那么加热管几乎是必须的,用在加热头上面,可以选择12V 40W的加热管。如果你紧紧是测试主控板是否正常,可以不需要,因为ramps板子上有led指示灯,知道是否在通电;
  • 12V风扇:用于散热的风扇,没有太多需要说明的,需要注意的是风扇正负极必须接对,否则不会转,也可以仅仅通过led指示来判断是否工作;
  • 12V加热床PCB板:为了让打印材料更容易粘在打印平台上,以及防止冷却变形(主要是ABS材料),如果打印PLA材料,该板子可以不需要,如果测试也可以只通过led来指示;

4、准备开始

如果你已经把上面的软件硬件都准备好了,那么就可以进入下一个环节了。

二、配置固件并上传固件

mega 2560板子在3d打印机中相当于大脑,控制这所有的3d打印配件来完成复杂的打印工作,但mega2560不能直接使用,需要上传(upload)固件(firmware)才可以使用。

1、下载固件——Marlin,由于Marlin固件的强大功能和简单易用,所以这里暂时只介绍Marlin固件。
2、配置固件参数

下面是需要配置的参数。没有提到的参数默认即可。
#define BAUDRATE 250000
这是配置串口波特率的,只有上位机波特率和固件波特率相同来能通讯成功,一定需要注意。当然也不能随便改,常见的波特率为:2400,9600,19200,38400,57600,115200,250000。在3d打印机中常用的是后3个。
#define MOTHERBOARD 33
这个参数是配置板子类型的,3d打印机主控板类型非常多,每个板子的io配置不尽相同,所以这个参数必须要跟你自己的板子类型相同,否则无法正常使用。我的板子是RAMPS1.4版本,对应的配置应该为33(单打印头配置),和34(双打印头配置)。如果你使用的是其它板子,请参考旁边的注释并选择合适的配置。
#define TEMP_SENSOR_0 3

#define TEMP_SENSOR_BED 3
这两个参数分别配置温度传感器的类型。这是读取温度是否正常的重要参数,如果读取的温度不正常将不能工作甚至有很大的潜在危险(烧毁器件等)。如果你使用了其它温度传感器需要根据情况自行更改。
#define EXTRUDE_MINTEMP 170
这个参数是为了防止温度未达到而进行挤出操作时带来的潜在风险,如果你做其它3d打印机,比如有朋友做巧克力打印机,挤出温度只需要45度,那么这个参数需要配置为较低数值,比如40度。
const bool X_ENDSTOPS_INVERTING = true;
const bool Y_ENDSTOPS_INVERTING = true;
const bool Z_ENDSTOPS_INVERTING = true;
这里的三个参数是配置3各轴的限位开关类型的,配置为true,限位开关默认状态输出为1,触发状态输出为0,也就是机械限位应该接常开段子。如果你接常闭段子,则将true改为false。
#define INVERT_X_DIR false
#define INVERT_Y_DIR true
这两个参数是比较容易错的。根据自己机械的类型不通,两个的配置不尽相同。但是原则就是要保证原点应该在打印平台的左下角(原点位置为[0,0]),或右上角(原点位置为[max,max])。只有这样打印出来的模型才是正确的,否则会是某个轴的镜像而造成模型方位不对。
#define X_HOME_DIR -1
#define Y_HOME_DIR -1
#define Z_HOME_DIR -1
如果原点位置为最小值参数为-1,如果原点位置为最大值配置为1.
#define X_MAX_POS 205
#define X_MIN_POS 0
#define Y_MAX_POS 205
#define Y_MIN_POS 0
#define Z_MAX_POS 200
#define Z_MIN_POS 0
这几个参数是配置打印尺寸的重要参数,参考上面的坐标系图来填写,这里需要说明的是坐标原点并不是打印中心,真正的打印中心一般在[(x.max-x.min)/2,(y.max-y.min)/2]的位置。中心位置的坐标需要在后面的切片工具中使用到,打印中心坐标应该与这里的参数配置匹配,否则很可能会打印到平台以外。
#define HOMING_FEEDRATE {5060, 5060, 4*60, 0}
配置回原点的速率,单位为毫米每分钟,如果你使用的是xy轴同步带传动,z轴螺杆传动,这个参数可以使用默认值。
#define DEFAULT_AXIS_STEPS_PER_UNIT {85.3333, 85.3333,2560,158.8308}
这个参数是打印机打印尺寸是否正确的最重要参数,参数含义为运行1mm各轴所需要的脉冲数,分别对应x,y,z,e四轴。多数情况下这个数字都需要自己计算才可以。可以参考http://calculator.josefprusa.cz/#steppers

至此,最常用的参数都已经配置完成,可以开始使用了。 另外如果2004lcd板子还需要改
//#define REPRAP_DISCOUNT_SMART_CONTROLLER
将前面的
//
删除掉才可以正常使用。

3、上传固件

上传之前,windows用户需要提前安装驱动。 配置板子类型:Tools > Board > Arduino Mega 2560 or Mega ADK,如图

clip_image005

配置串口: Tools > Serial Port > 你的mega板子对应串口号一般是最后一个。如图

clip_image006

点击对号按钮来检查是否有错误,再点击向右的箭头按钮来上传固件,如图

clip_image008

上传过程中,2560板子上的TX RX 和L对应的三个led灯都会闪。如果不闪了,说明上传完成

上传完成提示

clip_image009

如果上传成功,你就可以进入下一个步骤了,如果上传中出现问题而无法上传,请查看IDE下方的提示框,确认是什么问题后进行进行解决再上传,常见错误板子类型选择错误,串口选择错误等。

三、RAMPS1.4 接线
RAMPS1.4作为mega2560的拓展板插在mega板子上面。从而让mega板子可以控制3d打印机的工作。ramps上的接线至关重要,接错不仅不能打印,甚至还会烧坏器件和板子。请一定注意。
RAMPS1.4板子的功能分布,请参考示意图,为了防止接错,请再三确认以下几个方面后再通电,

  • 电源正负极是否正确?
  • RAMPS电源只接12V,没有5V接入。
  • MS4988驱动板确保没有插错位和颠倒(如果连接错误,通电就会烧板子),请细看MS4988驱动板的接线图。

clip_image010

clip_image011

clip_image013

clip_image014

clip_image016

最后,将ramps1.4插在mega2560板子上,注意不要接错位。在通电之前你应该仔细检查一下,免得有疏忽。接错了会导致后面的工作无法正常进行。如果都没问题了,可以接上USB线,和12V电源了。

四、连接上位机并做简单手动控制

如果之前的操作都顺利,现在就可以插上USB线,打开printrun上位机软件了。mega2560刚刚接通电源时,RAMPS板子上的LED1(绿色)会闪几下。这说明mega2560板子中的固件正在启动。

1、通过上位机连接板子

clip_image003[1]

如上图,打开软件,选择正确的串口,设置正确的波特率(需要跟你固件中配置一致),点击connect。如果连接正常,右侧的提示区,会有类似下面的提示:

Connecting…
start
Printer is now online.
echo: External Reset
Marlin 1.0.0
echo: Last Updated: Sep 8 2013 15:04:20 | Author: (MakerLab, default config)
Compiled: Sep 8 2013
echo: Free Memory: 4260 PlannerBufferBytes: 1232
echo:Hardcoded Default Settings Loaded

并且,左侧的图形操作区变为可以操作的颜色。勾上温度曲线旁边的watch选项,可以实时获取温度情况,如下图。

clip_image017

2、查看温度是否正确(只接5V即可)

如果上面的操作都正确,你可以看到现在两个温度传感器的温度,并且温度应该为室温,手捏在上面可以看到温度的变化。如果你的温度读取到的为0度,请确保连接正确,依然有问题应检查固件中的相关参数。

3、测试三个输出端(需接12V)

接上12V电源,点击下图中标红位置的按钮,两个设置温度的按钮,一个风扇按钮(如果没有风扇打开按钮,可以在右侧输入M106 命令来实现)。如图:

clip_image018

如果这时RAMPS1.4上亮起了三个红色LED,那说明输出端测试成功。

4、测试电机及驱动(需接12V)

连接步进电机的4跟线到X轴电机输出端,如果你的电机导线颜色是标准颜色,可以用红-蓝-绿-黑的顺序连接,如果你的线颜色不标准或没有颜色区分,你需要通过电机说明书找到4跟线属于哪一相及哪一极,然后安装相B负-相B正-相A正-相A负的顺序连接(还有其它接线方式,请了解一下步进电机的原理)。

4.1 xyz三轴电机测试

点击上位机左侧的手动操作区域,进行对xyz三轴的测试。如果只有一个电机测试完应该轴后,再插到另一个轴上。

clip_image019

测试流程:
先电机某个轴的加+方向操作,电机应该往正方向运转; 再电机对应轴的负-方向操作,电机应该反转; 重复几次上面的操作。
需要注意的是,固件为了防止打印机撞车,小于最小位置和大于最大位置后电机就会停止运动。也就是说并不会一直加或减下去,电机都会转。

4.2 挤出机电机测试

由于固件不允许温度为达到最小挤出温度(固件中的参数)时执行挤出动作。所以如果你连接了真正的挤出机,并且有物料在里面,请不要在温度未达到230(abs)和185(pla)时进行挤出机测试。

测试方法:
1、将温度加热到物料对应的挤出温度,PLA:185度,ABS:230度,再进行测试,电机Extrude为挤出动作,Reverse为后退动作。如果所需要的方向跟实际方向相反,直接把所有的4跟电机导线反向即可。

2、如果你没有接挤出机,或挤出机中没有物料,可以不需要进行加热来测试。需要在右侧命令输入框中输入M302来允许冷挤出操作。这样就可以跟上面一样进行Extrude和Reverse测试了。

5、限位开关测试

RAMPS1.4最多共支持6个限位开关,分别是X-min,X-max,Y-min,Y-max,Z-min,Z-max。其中至少需要用到3个来确定打印机的原点,可以是一个轴的min或max位置的限位(由固件中做配置)。限位开关根据不同的形式接线方式也不同,机械式的限位开关只需要连接两个段子即可(负和信号),光电、霍尔式开关一般需要连接三个段子(正、负和信号)。
我这里测试用3个轴的min位置来做原点的配置方式。测试限位开关应该接在各轴的min位置上。然后电机测试轴的home按键,对应轴的电机应该开始转动,然后按下对应轴的限位开关两下(为了提高精度,碰到一次后返回几毫米再碰到才是真正的原点),此时电机应该停止转动。以上操作重复在其它轴上进行测试。

6、测试完成

如果上面的测试顺利完成,说明你可以开始把所有的东西安装在机构架子上了。需要注意各轴和各限位开关的对应关系。

五、测试修改并重新上传固件
如果你的固件有问题,强烈建议你再过一遍固件配置部分。
比较容易出错的地方是:限位开关的配置,每毫米脉冲数等。

六、切片软件配置

切片软件是生产打印机主控板可以识别的代码(Gcode)的工具,没有这个软件的帮忙,打印机不能识别3d模型文件。这里暂时只介绍Slic3r这个切片软件。简单好用功能强大。

1、打开expert模式

Slic3r默认是简单模式,但是我建议直接打开expert(专家)模式,从而能够对打印机进行更好的控制。我这里以mac版本为例子,其它版本做相似操作。

clip_image020clip_image021

如上图设置后,重新启动后就会进入专家模式。

2、print settings

打印配置,跟打印相关的配置会在这个栏目下。有些相同的打印机会对不同的模型打印时用不同的打印配置,从而实现各自最好的效果。

2.1 Layers and perimeters 层和边缘配置

clip_image022

Layer height:为打印每层的层高度,0.4mm打印头推荐层高0.3以下,层高越小,打印精度也高,同样模型打印时间也就越长。 我设置的是0.3mm。
First layer height:第一层一般为了更好的粘在平台上,都会比其它层高要小一些,比如50%左右,我这里设置的是0.2mm。
Perimeters:是指每层的边缘部位需要打印的圈数。默认为3层。无特殊需求保持默认即可。
Solid layers:底层和顶层各需要多少层进行完全填充,默认各3层就可以。
其它参数默认。

2.2 Infill 填充配置

clip_image023

Fill density:填充比例,最大1(100%),最小0,越大理论强度越高,当然耗费的时间和物料也就越多。一般情况30%的填充率已经可以满足大部分的打印需求了。
Fill pattern:填充时的图案是什么样的,可以保持默认,也可以找到自己喜欢的模式。 Infill every ? layers:每多少层进行填充,默认每层都进行填充。
其它配置可以默认。

2.3 Speed 打印速度配置

clip_image025
2.4 Skirt and brim 轮廓打印

clip_image027

Skirt:是指在正式打印之前,在模型周围做一个轮廓打印的动作,来保障挤出机出丝正常,以及给你时间及时发现问题,比如平台不平,平台高度有问题,挤出头等等。

七、开始打印
如果你顺利完成了上述的所有步骤,你的打印机应该可以开始工作了。

锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章