i3型3D打印机制作详解——Marlin固件中文介绍

/********2019.4.11更新**********/

3D打印机github地址

https://github.com/Lighter-z/3D-i3-Prusa

i3型3D打印机资料地址

https://www.cirmall.com/circuit/9782/i3%E5%9E%8B3D%E6%89%93%E5%8D%B0%E6%9C%BA%E5%88%B6%E4%BD%9C%E8%B5%84%E6%96%99#/details

Core xy型3D打印机资料地址

https://www.cirmall.com/circuit/9783/corexy%E5%9E%8B3D%E6%89%93%E5%8D%B0%E6%9C%BA%E5%88%B6%E4%BD%9C%E8%B5%84%E6%96%99#/details

MakerBot型3D打印机资料地址

https://www.cirmall.com/circuit/9780/MakerBot%E5%9E%8B3D%E6%89%93%E5%8D%B0%E6%9C%BA%E8%B5%84%E6%96%99#/details

Marlin固件中文介绍  上面GitHub里面含有  不需要再从下方下载

 

硬件框架搭建介绍

https://blog.csdn.net/qq_39020934/article/details/80380250

 

/*********************************/

 

/************2019.4.11以前************/

Marlin原版固件下载

    https://github.com/MarlinFirmware/Marlin

Marlin固件中文介绍 

https://download.csdn.net/download/qq_39020934/10401251                                   

 

基本配置

使用 Arduino IDE 打开 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.  脱机控制器

开始介绍

 

电脑和打印机通过串口进行通讯,要定义好端口和波特率,在此定义的是 3D 打印主板的端口和波特率,端口号使用默认的 0 就可以了。Marlin 固件默认的波特率是 250000,也可以修改为其他值,比如 115200,这是标准的 ANSI 波特率值。

#define SERIAL_PORT0

#define BAUDRATE250000

下面定义主板类型,Marlin 固件支持非常多种类的 3D 打印机主板,比如常见的RAMPS1.3/1.4、Melzi、Printrboard、Ultimainboard、Sanguinololu 等控制板。需要注意的是不同主板使用不同的脚口和数量,如果该定义和 Arduino IDE 中使用的主板不一致,肯定会导致编译不通过。笔者使用的是 RAMPS1.4 并且 D8、D9、D10 控制的是一个喷头加热、一个加热床加热和一个风扇输出,因此定义为 33。

#ifndef MOTHERBOARD

#define MOTHERBOARD33

#endif

接下来是定义挤出头的个数及电源类型,笔者使用的是单喷头打印机,因此定义为 1。

 

电源有两种类型可以选择,1 表示开关电源,2 表示 X-Box 360 203 伏电源,一般都使用的是开关电源,因此定义为 1。

#define EXTRUDERS1

#define POWER_SUPPLY1

接下来定义温度传感器类型,包括每个喷头使用的温度传感器(如果是多喷头)和加热床的温度传感器类型,常用的温度传感器有电热偶和热敏电阻两大类,热敏电阻又分为很多种。目前的 3D 打印机主要用的是热敏电阻,具体是哪种热敏电阻需要自己判断或询问卖家,不出意外的话,都是 100k ntc 热敏电阻,即 1。根据注释,1 要求 4.7k 的上拉电阻,而根据 RepRap wiki,几乎所有的 3D 打印机都使用了 4.7K 的热敏电阻上拉电阻。笔者观察了几种电路板的电路图,发现都使用了 4.7K 的上拉电阻,如图 1 所示。

 

// 1 is 100k thermistor - best choice for EPCOS 100k (4.7k pullup)

 

笔者的打印机为单喷头,因此第一个喷头的温度传感器配置为 1,其他配置为 0(0 表示没有使用),加热床的温度传感器也配置为 1。

#define TEMP_SENSOR_01

#define TEMP_SENSOR_10

#define TEMP_SENSOR_20

#define TEMP_SENSOR_BED1

 

i3型3D打印机制作详解——Marlin固件中文介绍_第1张图片

图  1  4.7K 上拉电阻

 

接下来是温度检测的一些配置,包括双喷头温度差,M109 检测配置,安全温度配置。

 

首先下面这一句配置双喷头温差最大值,如果温度超过这个数值,那么打印机会终止工作,因此对于双喷头打印机玩家来说,这个参数需要注意。

#define MAX_REDUNDANT_TEMP_SENSOR_DIFF 10

下面这一段配置 M109 指令完成的指标,我们知道,M109 指令设定喷头温度并等待,那么等待到什么时候呢?下面这三个参数控制这个时间。第一个参数表示温度“接近”目标温度必须持续 10 秒才算加热完成,第二个参数表示和目标温度相差不超过 3°为“接近”,第三个参数表示从温度与目标温度相差不超过 1 度开始计时,从此刻开始,温度和目标温度持续接近 10 秒钟,则完成加热。

#define TEMP_RESIDENCY_TIME 10

#define TEMP_HYSTERESIS 3

#define TEMP_WINDOW 1

下面配置安全温度范围的下限和上限,包括各个喷头和加热床。如果温度超过下限,那么打印机会抛出 MINTEMP 的错误并终止工作,如果超过上限,那么打印机抛出 MAXTEMP 的错误并终止工作。Marlin 用这种方式保护 3D 打印机。下面的配置最小温度都是 5°,喷头的最大温度为 275°,热床的最大温度为 150°。

#define HEATER_0_MINTEMP5

#define HEATER_1_MINTEMP5

#define HEATER_2_MINTEMP5

#define BED_MINTEMP5

#define HEATER_0_MAXTEMP275

#define HEATER_1_MAXTEMP275

#define HEATER_2_MAXTEMP275

#define BED_MAXTEMP150

如果希望 M105 指令在报告温度的时候,也报告喷头和加热床的功率,则可以将下面两句的前面的”//”去掉。具体的功率数值需要用户自己计算得到。

#define EXTRUDER_WATTS(12.0*12.0/6.7)

#define BED_WATTS(12.0*12.0/1.1)

你可能感兴趣的:(3D打印机)