主页 > 技术支持 > 资料教程 >

得胜快讯

资料教程

Marlin 固件配置介绍

Time: 2016-02-11 21:32  View:170

Marlin 固件配置 
  So,让我们开始吧。首先在Arduino IDE中打开Configuration.h,注意做好源文件的备份工作!!!
波特率 - 20行 
  #define BAUDRATE 250000 
  //#define BAUDRATE 115200 
  该行是用来决定主控板使用何种波特率来与电脑上的控制软件进行通信的。通常是用250K和115.2K两种波特率选择,要选择何种波特率,只要将该行前面的”//” 删除,不选择何种波特率只需要在该行前添加“//” (注意:不包括“”)。默认设置250K在Printrun/Pronterface 和 RepSnapper 里面运行都不错。(我用lubuntu + Pronterface 250K 连接不上的,115.2K 倒没有问题)。 
  主控板 – 49行 
  #ifndef MOTHERBOARD 
  #define MOTHERBOARD 33 
  #endif 
  你可以在注释里可以看到Marlin固件支持的主控板清单,通过修改#define MOTHERBOARD 这行的数字,选择对应的主板编号即可。上面这行是选择RAMPS 1.3 的意思,你可以按自己实际情况修改该项。Marlin 固件会根据主板信息定义主控板引脚布局。具体各种主控板的引脚布局可以在pin.h中看到。 
  Marlin 固件 温控设置 
  现在我来看看温控方面的设置,温控设置有点复杂,但是我们不需要考虑那些复杂的PID计算设置问题。基本上我们需要做的是选择3D打印机机温度传感器的类型,如果不是你自己安装的温度传感器,你可以在RepRap wiki中了解温度传感器的类型。 
  热电调节器(热敏电阻) – 78 行 
  #define TEMP_SENSOR_0 1 
  #define TEMP_SENSOR_1 0 
  #define TEMP_SENSOR_2 0 
  #define TEMP_SENSOR_BED 1 
  如果你仔细阅读Marlin固件的配置文件,你会发现支持的固件所支持的温控传感器的类型对应的编号。TEMP_SENSOR_0是喷嘴的温控传感器类型、TEMP_SENSOR_BED是加热床的温控传感器类型,一般来说都是100K 热敏电阻。 
  如果你是用RAMPS 1.3 主控板和pin.h中使用默认布局的话,你可以在主控板的T0和T1 接口分别对应TEMP_SENSOR_0 和TEMP_SENSOR_BED。选择0即关闭该接口。请选择合适你打印机的温控传感器吧。 
  温度限制(最大值) – 99 行 
  #define HEATER_0_MAXTEMP 275 
  #define HEATER_1_MAXTEMP 275 
  #define HEATER_2_MAXTEMP 275 
  #define BED_MAXTEMP 120 
  有些喷嘴和加热床的最大工作温度会低于Marlin固件的默认最大温度,为了减少对喷嘴和加热床的损害,可以设置最高温度限制。 
  Marlin 固件的机械设定 
  机械设定部分包括限位开关、步进电机、最大制造范围和运动位移值。 
  限位开关和上拉电阻  这一节将教你配置3D 打印机每个轴中的限位开关。用G28 命令会让3D 打印机的3个轴回零方向运动直到碰到限位开关。限位开关如果没有5V 电源作为产生信号源的话,配置ENDSTOPPULLUPS 会确保让固件产生一个信号、当限位开关接通时才会产生明确的数字信号0。 
   如需了解更多请参考RepRap wiki 的(机械限位开关)Mechanical Endstop,OptoEndstop 2.1(光学限位开关) and Gen7 Endstop 1.3.1。(最好就是按机械开关的原理图来制作限位开关,这样的效果最好。) 
  限位开关上拉电阻总体控制–194行 
  // corse Endstop Settings 
  #define ENDSTOPPULLUPS //Comment this out (using // at the start of the line) to disable the endstoppullup resistors 
  Marlin固件默认是需要限位开关的上拉电阻的。从207行开始固件为每个限位开关分配独立一个上拉电阻,如果194行被取消则从197行开始的上拉电阻控制都会一并取消。这样方便你自己的3d 打印机采用不同类型的限位开关。一般来说X轴和Y 轴采用机械限位开关,可以不需要制作3线的数据口,而Z轴的光学开关默认为3线的数据口。这是光学开关就不需要使用到ENDSTOPPULLUPS注释。 
  限位开关上拉电阻细分控制 – 196行 
#ifndef ENDSTOPPULLUPS 
// fine Enstop settings: Individual Pullups.will be ignord if ENDSTOPPULLUPS is defined 
#define ENDSTOPPULLUP_XMAX 
#define ENDSTOPPULLUP_YMAX 
#define ENDSTOPPULLUP_ZMAX 
#define ENDSTOPPULLUP_XMIN 
#define ENDSTOPPULLUP_YMIN 
//#define ENDSTOPPULLUP_ZMIN 
#endif 
如果Configuration.h194行被注释掉的话,则196行的语句将会被执行。你可以独立控制每个限位开关的上拉电阻,当然这个是要根据你3D 打印机的限位开关类型来确定.