某些同学可能会问: https://github.com/Ultimaker/Ultimaker2Marlinhttps://github.com/MarlinFirmware/Marlin/ 我应该用哪个呢?回答一下:后面那个。前者是给 UM2 官方的主板的。从GitHub下载最新版的固件。截至发文时最新的版本是 2.0.7.2 。相比 1.x 版本,2.0 提高了安全性,当检测不到温度传感器时(毁坏或者掉线)自动停止加热,避免以前一直加热烧毁机器的情况。

以下是开机运行的基本配置。硬件是前面讲到的 mega2560 + Ramps1.4。因为笔者也是正当学习中,后续还会不断更新。

用 Arduino IDE 打开 Marlin/src/Marlin.ino 修改 Configuration.h 以下配置:

1)#define BAUDRATE 250000

这行不用改,记住后面用这个波特率跟主板通信

2)#define MOTHERBOARD BOARD_RAMPS_14_EFB

单喷头用 BOARD_RAMPS_14_EFB,双喷头用 BOARD_RAMPS_14_EEB,更多类型看 boards.h 里的定义。

3)#define EXTRUDERS 1

挤出机数量。单个挤出机不用修改

4)#define TEMP_SENSOR_0 1    // 喷头温度传感器,1 代表 100k,根据传感器类型修改

#define TEMP_SENSOR_1 0

#define TEMP_SENSOR_BED 1    // 热床温度传感器,同上。设成 0 表示不使用热床

5)#define HEATER_0_MAXTEMP 275

#define BED_MAXTEMP      100

分别表示喷头和热床的最高温度,超过这个温度加热将停止

6)#define PIDTEMP

当使用独立 Mos 管给热床供电时开启这个选项。后面还有三个选项也要修改,基于篇幅这里不展开,请看后面专门的篇章。

#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current

#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current

#define PID_K1 0.95 // Smoothing factor within any PID loop

7)#define X_DRIVER_TYPE  TMC2225

#define Y_DRIVER_TYPE  TMC2225

#define Z_DRIVER_TYPE  TMC2225

#define E0_DRIVER_TYPE TMC2225

定义使用的电机驱动板。默认是 a4988,改成实际用到的型号。像笔者一样使用 TMC 驱动时,需 arduino IDE 安装 TMCStepper 库(工具 - 库管理 搜索安装)

8)#define DEFAULT_AXIS_STEPS_PER_UNIT   { 200, 200, 800, 837 }

分别代表 xyz 轴和挤出机的速度,含义是每走 1mm 需要多少个脉冲。计算公式

360/步距角*细分数/(齿间距*齿数) // 同步带传动

360/步距角*细分数/导程 // 丝杆传动

42 电机一般步距角为 1.8 度,细分数跟用到的驱动和跳线有关。2GT 同步带齿间距是 2mm,齿数是电机上的同步轮的齿数,跟光轴上用什么齿轮没有关系。

最后一个计算方式相同。但因为缺少泰坦挤出机相关数据,所以实际上用的是网友提供的数据(32 细分),根据打印的效果再调整。

9)#define INVERT_X_DIR true

#define INVERT_Y_DIR false

#define INVERT_Z_DIR false

反转 xyz 轴电机的方向。根据实际调整

10)#define INVERT_E0_DIR true

反转挤出机的 方向

11)#define X_BED_SIZE 300

#define Y_BED_SIZE 200

#define Z_MAX_POS 200

平台的大小,定义xyz 轴的活动范围

12)#define LCD_LANGUAGE en

显示的语言,简体中文用 zh_CN

13)#define SDSUPPORT

使用带 SD 读卡器的 LCD12864

14)#define SPEAKER

开启蜂鸣器

15)#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER

使用 LCD12864 控制板 https://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller。还有另外一个配置 //#define REPRAP_DISCOUNT_SMART_CONTROLLER 属于缩小版的 LCD ,详细看这里 RepRapDiscount Smart Controller - RepRap 。二者选一

Arduino IDE 烧写固件

USB 连接上mega2560, IDE 上选择开发板、处理器和端口。会发现端口有两个,选 wu*开头的那个,不然会报 port busy  的错误。

然后点 项目 - 上传 烧写到主板上。

pronterface 测试

接上电源,如果你足够幸运一次点亮屏幕。不亮也没关系,还是可以用 pronterface 来测试的,或许只是屏幕问题呢。

依次测试 xyz 轴运动,热床,喷头加热,挤出机。当喷头温度低于安全挤出温度时,控制挤出机并不会有动作,并非是挤出机故障。

关注我加入群讨论:

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐