UM2 3D 打印机 DIY 实践 ( 3) Marlin 固件配置篇
某些同学可能会问: https://github.com/Ultimaker/Ultimaker2Marlin 和 https://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 轴运动,热床,喷头加热,挤出机。当喷头温度低于安全挤出温度时,控制挤出机并不会有动作,并非是挤出机故障。
关注我加入群讨论:
更多推荐
所有评论(0)