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 轴运动,热床,喷头加热,挤出机。当喷头温度低于安全挤出温度时,控制挤出机并不会有动作,并非是挤出机故障。
关注我加入群讨论:
UM2 3D 打印机 DIY 实践 ( 3) Marlin 固件配置篇相关推荐
- UM2 3D 打印机 DIY 实践 ( 4)LCD12864 篇
主板是前面讲到的 mega2560 + Ramps1.4,刷 Marlin 固件. 常用到 LCD 有两款,分别是 RepRapDiscount Full Graphic Smart Controll ...
- UM2 3D 打印机 DIY 实践 (2) 电路篇
涉及到的东西非常多,实际上后面还会讲到.主要部件清单: 主板 mega2560 + Ramps1.4 + LCD12864 各一张 42 x38mm x3,xyz 轴各一台 42 x23mm x1, ...
- UM2 3D 打印机 DIY 实践 (6)限位开关
主板是前面讲到的 mega2560 + Ramps1.4,刷 Marlin 固件. 限位开关的作用一是保护电机,当喷头运行到边沿时触发停止,避免继续运行烧坏电机:二是喷头自动回到xyz 轴原点,只要一 ...
- UM2 3D 打印机 DIY 实践 ( 7)泰坦(Titan)挤出机参数配置
挤出机的速度决定了出料的速度,对成品的精度至关重要.慢了容易生成小泡泡,快了容易抽丝. 不知是在打印还是在织网? 主板是前面讲到的 mega2560 + Ramps1.4,刷 Marlin 固件.以下 ...
- UM2 3D 打印机 DIY 实践 ( 5)热床篇
热床的作用 由于热熔材料的边缘冷却比较快,收缩导致翘边.热床的作用是减缓这个过程,通过加热打印平台保持在 60 摄氏度左右.但也不能完全杜绝翘边,一般还需要其它方法的辅助. 关于网上有种说法,PLA ...
- marlin固件烧录教程_i3型3D打印机制作详解――Marlin固件介绍
Marlin固件下载 基本配置 使用 Arduino IDE 打开 marlin.ino,切换到 Configuration.h 即可查看并修改该文件.或者使用任何一款文本编辑器(notepad,no ...
- prusai3打印机使用教程_PrusaI3改进型3D打印机DIY教程.docx
PrusaI3改进型3D打印机DIY教程 Prusa?I3改进型DIY教程 简介&材料清单简介微嵌WQ0003是在开源RepRap Prusa i3基础上开发而来.大大提高打印机工作稳定性,成 ...
- prusai3打印机使用教程_【3D打印机diy教程】第一课:组装prusa i3 3D打印机铝框架
3D打印思想起源于19世纪末的美国,并在20世纪80年代得以发展和推广.3D打印是科技融合体模型中最新的高"维度"的体现之一.3D打印机不仅可以"打印"一幢完整 ...
- 3D打印机DIY之三------Arduino开发环境构建和Marlin固件配置
一.Arduino开发环境 1.搜索Arduino IDE下载安装即可. 2.使用VS code开发Arduino Arduino IDE很简单,很多功能都没有,使用起来很不方便.因此建议使用Visu ...
- 3D打印机DIY(一)机架
最近在制作魔方机器人的时候,发现一些小零件用3D打印非常方便.看了一下淘宝销售的3D打印机,基本上是千元起.查找资料的时候发现一款开源的3D打印机,小巧精致,成本低廉.所以决定自己DIY一个,这样也可 ...
最新文章
- Xilinx ISE 开发过程中生成的各种文件(一)
- 如何条码打印软件工具箱窗格进行重新定位
- Spring Aop 组件概述
- C++sparse matrix 稀疏矩阵的实现算法(附完整源码)
- 用锤子发射导弹,程序员的世界你不懂
- 一起学Windows Phone 7开发(九.Windows Phone Developer Tools Beta)
- jsoup教程_1 简介
- 阶段1 语言基础+高级_1-3-Java语言高级_05-异常与多线程_第3节 线程同步机制_2_线程安全问题的代码实现...
- 190412每日一句
- Linux linux mb() / rmb() / wmb()
- codeforces 999 C. Alphabetic Removals(1200)
- ArcGIS晕渲图的制作(解决山体阴影问题——平坦地区凸点过于突出)
- CHM格式的帮助文档制作与代码调用 Visual Studio C#
- Windows Sqlserver Automatic Log Audit Via C/C++
- 推荐一款强大的在线编译器
- pm产品经理如何使用Axure?
- 将项目提交到码云时,异常: remote: [31mIncorrect username or password ( access token )[0m
- 美国2020年攻破艾滋病_2020年美国和欧洲的游戏状况
- Toronto Research Chemicals丨ACP-5197 方案
- 银行间本币市场上下行接口