本帖最后由 嵌入式基地 于 2021-1-20 19:25 编辑

资源获取链接


https://mp.weixin.qq.com/s/3ezAHCqBpZ-qMrku-pP-EQ

首先介绍下Marlin固件:

  • 固件配置都在Configuration.h 中

  • Marlin固件的配置主要包含以下几个方面:

基本配置

  • Marlin固件的配置文件在Configuration.h中

  • Marlin固件的配置主要包含以下几个方面:


    • 通讯波特率

    • 主板类型,所使用的主板类型

    • 温度传感器类型,包括挤出头温度传感器和加热床的温度传感器

    • 温度配置,包括喷头温度和加热床温度

    • PID 温控参数,包括喷头温度控制和加热床温度控制

    • 限位开关

    • 4 个轴步进电机方向

    • X/Y/Z 三个坐标轴的初始位置

    • 打印机运动范围

    • 自动调平

    • 运动速度

    • 各轴运动分辨率

    • 脱机控制器

一、串口介绍
        电脑和打印机通过串口进行通讯,要定义好端口和波特率,在此定义的是 3D 打印主板的端口和波特率,端口号使用默认的 0 就可以了。Marlin 固件默认的波特率是 250000,也可以修改为其他值,比如 115200,这是标准的 ANSI 波特率值。
  1. #define SERIAL_PORT0
  2.   #define BAUDRATE 250000
二、主板类型介绍
        Marlin 固件支持非常多种类的 3D 打印机主板,比如常见的RAMPS1.3/1.4、Melzi、Printrboard、Ultimainboard、Sanguinololu 等控制板。需要注意的是不同主板使用不同的引脚和数量,如果该定义和 Arduino IDE 中使用的主板不一致,肯定会导致编译不通过。笔者使用的是 RAMPS1.4 并且 D8、D9、D10 控制的是一个喷头加热、一个加热床加热和一个风扇输出,因此定义为 33。
  1. #ifndef MOTHERBOARD
  2.   #define MOTHERBOARD 33
  3.   #endif
三、电源介绍
电源有两种类型可以选择:

  • 1 表示开关电源

  • 2 表示 X-Box 360 203 伏电源

  • 一般都使用的是开关电源,因此定义为 1。

  1. #define EXTRUDERS1
  2.   #define POWER_SUPPLY1
四、温度传感器介绍
        定义温度传感器类型,包括每个喷头使用的温度传感器(如果是多喷头)和加热床的温度传感器类型,常用的温度传感器有电热偶和热敏电阻两大类,热敏电阻又分为很多种。目前的 3D 打印机主要用的是热敏电阻,具体是哪种热敏电阻需要自己判断或询问卖家,不出意外的话,都是 100k ntc 热敏电阻,即 1。根据注释,1 要求 4.7k 的上拉电阻,而根据 RepRap wiki,几乎所有的 3D 打印机都使用了 4.7K 的热敏电阻上拉电阻。笔者观察了几种电路板的电路图,发现都使用了 4.7K 的上拉电阻,如图 一 所示。
(, 下载次数: 38)
   图一  4.7K 上拉电阻
        本人打印机为单喷头,因此第一个喷头的温度传感器配置为 1,其他配置为 0(0 表示没有使用),加热床的温度传感器也配置为 1。
  1. #define TEMP_SENSOR_0       1
  2.   #define TEMP_SENSOR_1       0
  3.   #define TEMP_SENSOR_2       0
  4.   #define TEMP_SENSOR_BED  1
五、温度配置
        下面是温度检测的一些配置,包括双喷头温度差,M109 检测配置,安全温度配置。首先下面这个宏定义配置双喷头温差最大值,如果温度超过这个数值,那么打印机会终止工作,因此对于双喷头打印机玩家来说,这个参数需要注意。
  
  1. #define MAX_REDUNDANT_TEMP_SENSOR_DIFF 10
        下面这是配置 M109 指令完成的指标,我们知道,M109 指令设定喷头温度并等待,那么等待到什么时候呢?下面这三个参数控制这个时间。第一个参数表示温度“接近”目标温度必须持续 10 秒才算加热完成,第二个参数表示和目标温度相差不超过 3°为“接近”,第三个参数表示从温度与目标温度相差不超过 1 度开始计时,从此刻开始,温度和目标温度持续接近 10 秒钟,则完成加热。
  1. #define TEMP_RESIDENCY_TIME 10
  2.   #define TEMP_HYSTERESIS          3
  3.   #define TEMP_WINDOW             1
        下面是配置安全温度范围的下限和上限,包括各个喷头和加热床。如果温度超过下限,那么打印机会抛出 MINTEMP 的错误并终止工作,如果超过上限,那么打印机抛出 MAXTEMP 的错误并终止工作。Marlin 用这种方式保护 3D 打印机。下面的配置最小温度都是 5°,喷头的最大温度为 275°,热床的最大温度为 150°。
  1. #define HEATER_0_MINTEMP 5
  2.   #define HEATER_1_MINTEMP 5
  3.   #define HEATER_2_MINTEMP 5
  4.   #define BED_MINTEMP 5
  5.   #define HEATER_0_MAXTEMP 275
  6.   #define HEATER_1_MAXTEMP 275
  7.   #define HEATER_2_MAXTEMP 275
  8.   #define BED_MAXTEMP 150
        如果希望 M105 指令在报告温度的时候,也报告喷头和加热床的功率,则可以将下面两句的前面的”//”去掉。具体的功率数值需要自己计算得到。
  1. #define EXTRUDER_WATTS (12.0*12.0/6.7)
  2.   #define BED_WATTS  (12.0*12.0/1.1)

六、PID温度配置
        PID温控配置,PID参数设置,需要根据系统情况设置,可以通过 M303 代码调用PID_autotune函数获得基本PID参数,然后参照修改下面的DEFAULT_Kp、DEFAULT_Ki、DEFAULT_Kd,例如:M303 E0 C8 S190,表示获取打印头0(第一个打印头)、目标温度190度、循环调用PID_autotune8次后的相应的PID参数。系统自动生成的PID参数相当不错,本人认为可以使用默认,这里就不多介绍。
七、挤出机介绍
        下边这两个宏是用来保护打印机不发生自燃的,例如热敏电阻或者温度传感器失效了或者坏了,打印机就没有办法感知真实的温度,就会一直加热,很容易导致自燃。
  1. #define THERMAL_PROTECTION_HOTENDS
  2.   #define THERMAL_PROTECTION_HOTENDS

八、打印机机械设置

  • 这三个配置是给CoreXY、CoreXZ、CoreYZ机型用的,不用管理。

  1.   #define COREXY
  2.   #define COREXY
  3.   #define COREYZ

  • 这个是给东芝的步进电机使用的宏。

  1.   #define CONFIG_STEPPERS_TOSHIBA

  • 限位开关设置:

     一般打印机都会为每个轴配一个限位开关,有的每个轴支持两个用来限定每个轴上最大的活动范围,我只用了3个,用来限定打印机归零的位置,最大活动范围通过上位机软件或者后边的行程来配置。
  1. #define USE_XMIN_PLUG
  2.   #define USE_YMIN_PLUG
  3.   #define USE_ZMIN_PLUG
  4.   //#define USE_XMAX_PLUG
  5.   //#define USE_YMAX_PLUG
  6.   //#define USE_ZMAX_PLUG

  • 限位开关的上拉电阻配置,感觉用上拉电阻要好一些,所以保持默认开启

  1.   #define ENDSTOPPULLUPS
  2.   #if DISABLED(ENDSTOPPULLUPS)
  3.     // fine endstop settings: Individual pullups. will be ignored if ENDSTOPPULLUPS is defined
  4.     //#define ENDSTOPPULLUP_XMAX
  5.     //#define ENDSTOPPULLUP_YMAX
  6.     //#define ENDSTOPPULLUP_ZMAX
  7.     //#define ENDSTOPPULLUP_XMIN
  8.     //#define ENDSTOPPULLUP_YMIN
  9.     //#define ENDSTOPPULLUP_ZMIN
  10.     //#define ENDSTOPPULLUP_ZMIN_PROBE
  11.   #endif






继续阅读本篇相关更多标签
举报
您需要登录后才可以评论 登录 立即注册
全部回复 0
暂无评论,快来抢沙发吧