某些同学可能会问: 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 固件配置篇相关推荐

  1. UM2 3D 打印机 DIY 实践 ( 4)LCD12864 篇

    主板是前面讲到的 mega2560 + Ramps1.4,刷 Marlin 固件. 常用到 LCD 有两款,分别是 RepRapDiscount Full Graphic Smart Controll ...

  2. UM2 3D 打印机 DIY 实践 (2) 电路篇

    涉及到的东西非常多,实际上后面还会讲到.主要部件清单: 主板 mega2560 + Ramps1.4  + LCD12864 各一张 42 x38mm x3,xyz 轴各一台 42 x23mm x1, ...

  3. UM2 3D 打印机 DIY 实践 (6)限位开关

    主板是前面讲到的 mega2560 + Ramps1.4,刷 Marlin 固件. 限位开关的作用一是保护电机,当喷头运行到边沿时触发停止,避免继续运行烧坏电机:二是喷头自动回到xyz 轴原点,只要一 ...

  4. UM2 3D 打印机 DIY 实践 ( 7)泰坦(Titan)挤出机参数配置

    挤出机的速度决定了出料的速度,对成品的精度至关重要.慢了容易生成小泡泡,快了容易抽丝. 不知是在打印还是在织网? 主板是前面讲到的 mega2560 + Ramps1.4,刷 Marlin 固件.以下 ...

  5. UM2 3D 打印机 DIY 实践 ( 5)热床篇

    热床的作用 由于热熔材料的边缘冷却比较快,收缩导致翘边.热床的作用是减缓这个过程,通过加热打印平台保持在 60 摄氏度左右.但也不能完全杜绝翘边,一般还需要其它方法的辅助. 关于网上有种说法,PLA ...

  6. marlin固件烧录教程_i3型3D打印机制作详解――Marlin固件介绍

    Marlin固件下载 基本配置 使用 Arduino IDE 打开 marlin.ino,切换到 Configuration.h 即可查看并修改该文件.或者使用任何一款文本编辑器(notepad,no ...

  7. prusai3打印机使用教程_PrusaI3改进型3D打印机DIY教程.docx

    PrusaI3改进型3D打印机DIY教程 Prusa?I3改进型DIY教程 简介&材料清单简介微嵌WQ0003是在开源RepRap Prusa i3基础上开发而来.大大提高打印机工作稳定性,成 ...

  8. prusai3打印机使用教程_【3D打印机diy教程】第一课:组装prusa i3 3D打印机铝框架

    3D打印思想起源于19世纪末的美国,并在20世纪80年代得以发展和推广.3D打印是科技融合体模型中最新的高"维度"的体现之一.3D打印机不仅可以"打印"一幢完整 ...

  9. 3D打印机DIY之三------Arduino开发环境构建和Marlin固件配置

    一.Arduino开发环境 1.搜索Arduino IDE下载安装即可. 2.使用VS code开发Arduino Arduino IDE很简单,很多功能都没有,使用起来很不方便.因此建议使用Visu ...

  10. 3D打印机DIY(一)机架

    最近在制作魔方机器人的时候,发现一些小零件用3D打印非常方便.看了一下淘宝销售的3D打印机,基本上是千元起.查找资料的时候发现一款开源的3D打印机,小巧精致,成本低廉.所以决定自己DIY一个,这样也可 ...

最新文章

  1. Xilinx ISE 开发过程中生成的各种文件(一)
  2. 如何条码打印软件工具箱窗格进行重新定位
  3. Spring Aop 组件概述
  4. C++sparse matrix 稀疏矩阵的实现算法(附完整源码)
  5. 用锤子发射导弹,程序员的世界你不懂
  6. 一起学Windows Phone 7开发(九.Windows Phone Developer Tools Beta)
  7. jsoup教程_1 简介
  8. 阶段1 语言基础+高级_1-3-Java语言高级_05-异常与多线程_第3节 线程同步机制_2_线程安全问题的代码实现...
  9. 190412每日一句
  10. Linux linux mb() / rmb() / wmb()
  11. codeforces 999 C. Alphabetic Removals(1200)
  12. ArcGIS晕渲图的制作(解决山体阴影问题——平坦地区凸点过于突出)
  13. CHM格式的帮助文档制作与代码调用 Visual Studio C#
  14. Windows Sqlserver Automatic Log Audit Via C/C++
  15. 推荐一款强大的在线编译器
  16. pm产品经理如何使用Axure?
  17. 将项目提交到码云时,异常: remote: [31mIncorrect username or password ( access token )[0m
  18. 美国2020年攻破艾滋病_2020年美国和欧洲的游戏状况
  19. Toronto Research Chemicals丨ACP-5197 方案
  20. 银行间本币市场上下行接口

热门文章

  1. 慕课网-前端课程学习完成
  2. Go避免使用大堆造成的高GC开销
  3. python处理xps文件_自学WPF--第二十四课XPS文件处理
  4. Mac怎么锁屏?苹果电脑怎么锁定屏幕
  5. Java优秀员工自我评价_优秀员工自我评价
  6. 保密计算机和移动存储介质台账,银行计算机和移动存储介质保密管理办法
  7. cv曲线面积的意义_浅谈圆锥曲线中的高级技巧
  8. 输入一行字符,统计其中的英文字符、数字字符、空格和其他字符的个数。
  9. bzoj3332: 旧试题
  10. B站的热门视频要怎么同时批量下载保存到本地电脑中