帮助 Repetier 固件变量(Dimension Dual Delta - J Group Robotics)

3D打印 重复者 三角洲
2021-05-16 22:07:22

所以我终于构建了一个新固件(Repetier),因为我当前的固件无法编辑。它是 Delta 打印机,这里详细说明:Repetier 固件帮助(可能已锁定和许可)

我在 EEPROM 中找不到许多变量。有人可以向我解释一下吗(如下所列)?我只列出了我认为目前最重要的那些。

一般和尺寸:

  1. KILL_METHOD

  2. STARTUP_GCODE

  3. DELTA_FLOOR_SAFETY_MARGIN_MM

  4. 最大限度。水平半径 ( DELTA_MAX_RADIUS):我有“最大可打印半径”和“增量半径”A(0)、B(0) 和 C(0)。

  5. 半径误差列 A/B/C ( DELTA_RADIUS_CORRECTION_A/B/C):这可能是增量半径 A(0)、B(0) 和 C(0)?


Z-校正(失真校正)

  1. 完全校正直到 (FC) 或 DISTORTION_START_DEGRADE

  2. 在 (RZ) 或 DISTORTION_END_HEIGHT

  3. 校正半径 ( DISTORTION_CORRECTION_R)

  4. 更新每 x 次计算 ( DISTORTION_UPDATE_FREQUENCY)

我在 EEPROM 中有以下内容:

  1. Z-探针高度 [mm]
  2. 最大限度。z-probe - 床距。[毫米]
  3. Z-探针速度 [mm/s]
  4. Z-probe xy-速度 [mm/s]
  5. Z 探针偏移 x [mm]
  6. Z 探针偏移 y [mm]
  7. Z-探针 X1 [mm]
  8. Z-探针 Y1 [mm]
  9. Z 型探头 X2 [mm]
  10. Z-探针 Y2 [mm]
  11. Z-探针 X3 [mm]
  12. Z 型探头 Y3 [mm]
  13. Z-probe 弯曲修正 A [mm]
  14. Z-probe 弯曲修正 B [mm]
  15. Z-probe 弯曲校正 C [mm]

步进器

  1. ENABLE_BACKLASH_COMPENSATION
  2. ALLOW_QUADSTEPPING

终点站

  1. ENDSTOP_PULLUP_X_MIN/ENDSTOP_X_MIN_INVERTING
  2. ENDSTOP_PULLUP_Y_MIN/ENDSTOP_Y_MIN_INVERTING
  3. ENDSTOP_PULLUP_Z_MIN/ENDSTOP_Z_MIN_INVERTING
  4. ENDSTOP_PULLUP_X_MAX/ENDSTOP_X_MAX_INVERTING
  5. ENDSTOP_PULLUP_Y_MAX/ENDSTOP_Y_MAX_INVERTING
  6. ENDSTOP_PULLUP_Z_MAX/ENDSTOP_Z_MAX_INVERTING

熔丝制造

  1. EXTRUDER_SWITCH_XY_SPEED

另外,我如何找出挤出机使用了哪些温度传感器?它们位于何处?

这是 EEPROM 数据:

<Repetier-Firmware-EEPROM>
<epr pos="1028" type="0" value="0">Language</epr>
<epr pos="75" type="2" value="115200">Baudrate</epr>
<epr pos="129" type="3" value="32.752">Filament printed [m]</epr>
<epr pos="125" type="2" value="21644">Printer active [s]</epr>
<epr pos="79" type="2" value="0">Max. inactive time [ms,0=off]</epr>
<epr pos="83" type="2" value="360000">Stop stepper after inactivity [ms,0=off]</epr>
<epr pos="11" type="3" value="80.0000">Steps per mm</epr>
<epr pos="23" type="3" value="200.000">Max. feedrate [mm/s]</epr>
<epr pos="35" type="3" value="20.000">Homing feedrate [mm/s]</epr>
<epr pos="39" type="3" value="10.000">Max. jerk [mm/s]</epr>
<epr pos="133" type="3" value="-140.000">X min pos [mm]</epr>
<epr pos="137" type="3" value="-140.000">Y min pos [mm]</epr>
<epr pos="141" type="3" value="0.000">Z min pos [mm]</epr>
<epr pos="145" type="3" value="140.000">X max length [mm]</epr>
<epr pos="149" type="3" value="140.000">Y max length [mm]</epr>
<epr pos="153" type="3" value="313.280">Z max length [mm]</epr>
<epr pos="59" type="3" value="2000.000">Acceleration [mm/s^2]</epr>
<epr pos="71" type="3" value="2000.000">Travel acceleration [mm/s^2]</epr>
<epr pos="881" type="3" value="355.200">Diagonal rod length [mm]</epr>
<epr pos="885" type="3" value="186.990">Horizontal rod radius at 0,0 [mm]</epr>
<epr pos="925" type="3" value="140.000">Max printable radius [mm]</epr>
<epr pos="891" type="1" value="70">Segments/s for travel</epr>
<epr pos="889" type="1" value="180">Segments/s for printing</epr>
<epr pos="893" type="1" value="0">Tower X endstop offset [steps]</epr>
<epr pos="895" type="1" value="0">Tower Y endstop offset [steps]</epr>
<epr pos="897" type="1" value="0">Tower Z endstop offset [steps]</epr>
<epr pos="901" type="3" value="210.000">Alpha A(210):</epr>
<epr pos="905" type="3" value="330.000">Alpha B(330):</epr>
<epr pos="909" type="3" value="90.000">Alpha C(90):</epr>
<epr pos="913" type="3" value="0.000">Delta Radius A(0):</epr>
<epr pos="917" type="3" value="0.000">Delta Radius B(0):</epr>
<epr pos="921" type="3" value="0.000">Delta Radius C(0):</epr>
<epr pos="933" type="3" value="0.000">Corr. diagonal A [mm]</epr>
<epr pos="937" type="3" value="0.000">Corr. diagonal B [mm]</epr>
<epr pos="941" type="3" value="0.000">Corr. diagonal C [mm]</epr>
<epr pos="1024" type="3" value="1.000">Coating thickness [mm]</epr>
<epr pos="808" type="3" value="0.800">Z-probe height [mm]</epr>
<epr pos="929" type="3" value="10.000">Max. z-probe - bed dist. [mm]</epr>
<epr pos="812" type="3" value="5.000">Z-probe speed [mm/s]</epr>
<epr pos="840" type="3" value="70.000">Z-probe x-y-speed [mm/s]</epr>
<epr pos="800" type="3" value="0.000">Z-probe offset x [mm]</epr>
<epr pos="804" type="3" value="0.000">Z-probe offset y [mm]</epr>
<epr pos="816" type="3" value="-95.260">Z-probe X1 [mm]</epr>
<epr pos="820" type="3" value="-55.000">Z-probe Y1 [mm]</epr>
<epr pos="824" type="3" value="95.260">Z-probe X2 [mm]</epr>
<epr pos="828" type="3" value="-55.000">Z-probe Y2 [mm]</epr>
<epr pos="832" type="3" value="0.000">Z-probe X3 [mm]</epr>
<epr pos="836" type="3" value="110.000">Z-probe Y3 [mm]</epr>
<epr pos="1036" type="3" value="0.000">Z-probe bending correction A [mm]</epr>
<epr pos="1040" type="3" value="0.000">Z-probe bending correction B [mm]</epr>
<epr pos="1044" type="3" value="0.000">Z-probe bending correction C [mm]</epr>
<epr pos="880" type="0" value="1">Autolevel active (1/0)</epr>
<epr pos="106" type="0" value="1">Bed Heat Manager [0-3]</epr>
<epr pos="107" type="0" value="255">Bed PID drive max</epr>
<epr pos="124" type="0" value="80">Bed PID drive min</epr>
<epr pos="108" type="3" value="196.000">Bed PID P-gain</epr>
<epr pos="112" type="3" value="33.000">Bed PID I-gain</epr>
<epr pos="116" type="3" value="290.000">Bed PID D-gain</epr>
<epr pos="120" type="0" value="255">Bed PID max value [0-255]</epr>
<epr pos="1020" type="0" value="0">Enable retraction conversion [0/1]</epr>
<epr pos="992" type="3" value="3.000">Retraction length [mm]</epr>
<epr pos="996" type="3" value="13.000">Retraction length extruder switch [mm]</epr>
<epr pos="1000" type="3" value="40.000">Retraction speed [mm/s]</epr>
<epr pos="1004" type="3" value="0.000">Retraction z-lift [mm]</epr>
<epr pos="1008" type="3" value="0.000">Extra extrusion on undo retract [mm]</epr>
<epr pos="1012" type="3" value="0.000">Extra extrusion on undo switch retract [mm]</epr>
<epr pos="1016" type="3" value="20.000">Retraction undo speed</epr>
<epr pos="200" type="3" value="93.000">Extr.1 steps per mm</epr>
<epr pos="204" type="3" value="150.000">Extr.1 max. feedrate [mm/s]</epr>
<epr pos="208" type="3" value="20.000">Extr.1 start feedrate [mm/s]</epr>
<epr pos="212" type="3" value="5000.000">Extr.1 acceleration [mm/s^2]</epr>
<epr pos="216" type="0" value="3">Extr.1 heat manager [0-3]</epr>
<epr pos="217" type="0" value="230">Extr.1 PID drive max</epr>
<epr pos="245" type="0" value="40">Extr.1 PID drive min</epr>
<epr pos="218" type="3" value="7.0000">Extr.1 PID P-gain/dead-time</epr>
<epr pos="222" type="3" value="2.0000">Extr.1 PID I-gain</epr>
<epr pos="226" type="3" value="40.0000">Extr.1 PID D-gain</epr>
<epr pos="230" type="0" value="255">Extr.1 PID max value [0-255]</epr>
<epr pos="231" type="2" value="0">Extr.1 X-offset [steps]</epr>
<epr pos="235" type="2" value="0">Extr.1 Y-offset [steps]</epr>
<epr pos="290" type="2" value="0">Extr.1 Z-offset [steps]</epr>
<epr pos="239" type="1" value="1">Extr.1 temp. stabilize time [s]</epr>
<epr pos="250" type="1" value="150">Extr.1 temp. for retraction when heating [C]</epr>
<epr pos="252" type="1" value="0">Extr.1 distance to retract when heating [mm]</epr>
<epr pos="254" type="0" value="255">Extr.1 extruder cooler speed [0-255]</epr>
<epr pos="300" type="3" value="93.000">Extr.2 steps per mm</epr>
<epr pos="304" type="3" value="150.000">Extr.2 max. feedrate [mm/s]</epr>
<epr pos="308" type="3" value="20.000">Extr.2 start feedrate [mm/s]</epr>
<epr pos="312" type="3" value="5000.000">Extr.2 acceleration [mm/s^2]</epr>
<epr pos="316" type="0" value="3">Extr.2 heat manager [0-3]</epr>
<epr pos="317" type="0" value="230">Extr.2 PID drive max</epr>
<epr pos="345" type="0" value="40">Extr.2 PID drive min</epr>
<epr pos="318" type="3" value="7.0000">Extr.2 PID P-gain/dead-time</epr>
<epr pos="322" type="3" value="2.0000">Extr.2 PID I-gain</epr>
<epr pos="326" type="3" value="40.0000">Extr.2 PID D-gain</epr>
<epr pos="330" type="0" value="255">Extr.2 PID max value [0-255]</epr>
<epr pos="331" type="2" value="0">Extr.2 X-offset [steps]</epr>
<epr pos="335" type="2" value="0">Extr.2 Y-offset [steps]</epr>
<epr pos="390" type="2" value="0">Extr.2 Z-offset [steps]</epr>
<epr pos="339" type="1" value="1">Extr.2 temp. stabilize time [s]</epr>
<epr pos="350" type="1" value="150">Extr.2 temp. for retraction when heating [C]</epr>
<epr pos="352" type="1" value="0">Extr.2 distance to retract when heating [mm]</epr>
<epr pos="354" type="0" value="255">Extr.2 extruder cooler speed [0-255]</epr>

对于这个冗长、详细且可能令人沮丧的问题,我们深表歉意。我真的很陌生。

编辑:为了更全面,我包括了控制器板的图片。

主控板

热端PCB

另外,我已经将打印机追溯到台湾制造商:http : //d-force.tw/

有几个部分可用:热端PCB主控制器板伺服电机校准(Z-probe)我还没有找到另一块板(上面有 HRD12008 SMPS 并放在主控制器板旁边)。

这会改变事情吗?如果是,那么如何?

我继续在当前板上刻录新固件只是因为更改板和屏蔽组合对我来说太复杂了。是吗?

1个回答

每个设置都在设置之前写有信息性注释#define,因此阅读这些注释可以为您指明正确的方向 - 如果所需的值没有从您的 EEPROM 设置中跳出。

进行有根据的猜测(我可能是错的),在查看评论后,我会想象:


一般和尺寸:

  1. KILL_METHOD. 来自Repetier 固件配置问题 (prusa mendel)

    我会选择第二个终止方法,因为它允许在崩溃后继续使用您的打印机。

    所以,你想拥有

    #define KILL_METHOD 1
    
  2. 暂时不知道

  3. 您可以测量马车距地板的高度,当杆是(是)水平时,或者仅使用默认值15以确保安全 - 最好仔细检查并实际测量它,以防止任何损害:

    // Margin (mm) to avoid above tower minimum (xMin xMinsteps)
    // If your printer can put its carriage low enough the rod is horizontal without hitting the floor
    // set this to zero. Otherwise, measure how high the carriage is from horizontal rod
    // Also, movement speeds are 10x to 20x cartesian speeds at tower bottom.
    // You may need to leave a few mm for safety.
    // Hitting floor at high speed can damage your printer (motors, drives, etc)
    // THIS MAY NEED UPDATING IF THE HOT END HEIGHT CHANGES!
    #define DELTA_FLOOR_SAFETY_MARGIN_MM 15
    
    1. DELTA_MAX_RADIUS使用Max printable radius [mm].
    2. 您对Alpha A(210), Alpha B(330)& Alpha C(90)each的值将用于:

      #define DELTA_ALPHA_A 210
      #define DELTA_ALPHA_B 330
      #define DELTA_ALPHA_C 90
      
    1. 校正半径应该0您拥有的值Delta Radius A(0), Delta Radius B(0)& Delta Radius C(0)

      /** Correct radius by this value for each column. 
          Perfect builds have 0 everywhere. */
      #define DELTA_RADIUS_CORRECTION_A 0
      #define DELTA_RADIUS_CORRECTION_B 0
      #define DELTA_RADIUS_CORRECTION_C 0
      
    2. 同样,鉴于您已列出Corr. diagonal A[mm], Corr. diagonal B[mm]&的值,您的 EEPROM 设置Corr. diagonal C[mm]

      /** Correction of the default diagonal size. Value gets added.*/
      #define DELTA_DIAGONAL_CORRECTION_A 0
      #define DELTA_DIAGONAL_CORRECTION_B 0
      #define DELTA_DIAGONAL_CORRECTION_C 0
      

Z-校正(失真校正)

  1. DISTORTION_START_DEGRADE- 最初,我会将其保留为默认值。您可以在以后随时调整它。

    /** z distortion degrades to 0 from this height on. You should start after the first layer to get
    best bonding with surface. */
    #define DISTORTION_START_DEGRADE 0.5
    
  2. DISTORTION_END_HEIGHT- 最初,我会将其保留为默认值。您可以在以后随时调整它。

    /** z distortion correction gets down to 0 at this height. */
    #define DISTORTION_END_HEIGHT 1.5
    
  3. DISTORTION_CORRECTION_R- 最初,我会将其保留为默认值。您可以在以后随时调整它。

    /* For delta printers you simply define the measured radius around origin */
    #define DISTORTION_CORRECTION_R       80
    
  4. DISTORTION_UPDATE_FREQUENCY- 目前,我会将其保留为默认值。正如评论所说,这是计算密集型的,并且将使用大量处理能力 - 您希望保留用于控制电机的能力。所以,最好不要把这个频率调得太高。

    /** Correction computation is not a cheap operation and changes are only small. So it
    is not necessary to update it for every sub-line computed. For example lets take DELTA_SEGMENTS_PER_SECOND_PRINT = 150
    and fastest print speed 100 mm/s. So we have a maximum segment length of 100/150 = 0.66 mm.
    Now lats say our point field is 200 x 200 mm with 9 x 9 points. So between 2 points we have
    200 / (9-1) = 25 mm. So we need at least 25 / 0.66 = 37 lines to move to the next measuring
    point. So updating correction every 15 calls gives us at least 2 updates between the
    measured points.
    NOTE: Explicit z changes will always trigger an update!
    */
    #define DISTORTION_UPDATE_FREQUENCY   15
    

步进器

  1. ENABLE_BACKLASH_COMPENSATION - 如前所述,很少需要它,所以将其设置为 0

    /* If you have a backlash in both z-directions, you can use this. For most printer, the bed will be pushed down by it's
    own weight, so this is nearly never needed. */
    #define ENABLE_BACKLASH_COMPENSATION 0
    
  2. ALLOW_QUADSTEPPING- 你需要高频吗?这可能是将设置保留为默认值的情况1,如果您遇到停顿,则设置为0以查看是否可以解决停顿问题

    /** If you need frequencies off more then 30000 you definitely need to enable this. If you have only 1/8 stepping
    enabling this may cause to stall your moves when 20000Hz is reached.
    */
    #define ALLOW_QUADSTEPPING 1
    

终点站

  1. ENDSTOP_PULLUP_X_MIN/ENDSTOP_X_MIN_INVERTING- 这些相对容易。来自评论ENDSTOP_X_MIN_INVERTING

    /* By default all endstops are pulled up to HIGH. You need a pull-up if you
    use a mechanical endstop connected with GND. Set value to false for no pull-up
    on this endstop.
    */
    

    上拉是指上拉电阻在这种情况下,这是微控制器单元(MCU)中的一块电路(即控制器板上的 Arduino 芯片 [ATmega 2560]。这#define允许您为连接到限位器的每个输入启用或禁用它。基本上,它们可以阻止电源和接地之间的短路——它们做的远不止这些,但是......您可能需要MAX启用限位器,在那里您实际上有一个限位器。如果没有MIN限位器,即在导轨的底部,那么这些可以设置为false。

    #define ENDSTOP_PULLUP_X_MIN false
    #define ENDSTOP_PULLUP_Y_MIN false
    #define ENDSTOP_PULLUP_Z_MIN false
    #define ENDSTOP_PULLUP_X_MAX true
    #define ENDSTOP_PULLUP_Y_MAX true
    #define ENDSTOP_PULLUP_Z_MAX true
    

    ENDSTOP_X_MIN_INVERTING这仅允许您反转来自限位器的输入。例如,如果限位器由垂直滑架触发,则开关将“关闭”。相反,如果代码实际上是在寻找“打开”开关,而不是“关闭”开关,当垂直滑架撞击它时触发限位器开关,那么您只需要反转它。

    //set to true to invert the logic of the endstops
    #define ENDSTOP_X_MIN_INVERTING true
    #define ENDSTOP_Y_MIN_INVERTING true
    #define ENDSTOP_Z_MIN_INVERTING true
    #define ENDSTOP_X_MAX_INVERTING false
    #define ENDSTOP_Y_MAX_INVERTING false
    #define ENDSTOP_Z_MAX_INVERTING false
    

熔丝制造

  1. EXTRUDER_SWITCH_XY_SPEED- 可能最好保留为默认值100,如果需要,稍后再进行调整

    /* Speed in mm/s for extruder moves fom internal commands, e.g. switching extruder. */
    #define EXTRUDER_SWITCH_XY_SPEED 100
    

关于挤出机上的温度传感器设置(阅读:hotend),来自Repetier-Firmware 文档

#define EXT0_TEMPSENSOR_TYPE 5 

您在挤出机中使用什么温度传感器。配置文件列出了可能的值和含义。

#define EXT0_TEMPSENSOR_PIN 0

这个参数很棘手,经常会导致错误的配置。由于历史原因,它被命名为 PIN 但它不是一个 PIN 号码。它是模拟输入源阵列中的位置。在这个数组中,存储了真正的引脚号。99.9% 0 是这里的正确答案。

#define EXT0_HEATER_PIN HEATER_0_PIN

哪个引脚启用加热器块。它适用于任何引脚。在输出上使用 PID 不需要 PWM 功能。

对于EXT0_TEMPSENSOR_TYPE,温度传感器“埋”在热端加热器块内,因此移除和检查可能并不容易,也不可取——尽管这样做当然是可能的,如果你觉得工作。如果可能只是一个反复试验的问题。你有八个左右,可供选择。然而,100k 热敏电阻是最常见的类型之一,因此1似乎是一个不错的选择设置,原来:

// What type of sensor is used?
// 0 is no thermistor/temperature control
// 1 is 100k thermistor (Epcos B57560G0107F000 - RepRap-Fab.org and many other)
// 2 is 200k thermistor
// 3 is mendel-parts thermistor (EPCOS G550)
// 4 is 10k thermistor
// 8 is ATC Semitec 104GT-2
// 12 is 100k RS thermistor 198-961
// 13 is PT100 for E3D/Ultimaker
// 14 is 100K NTC 3950
// 5 is userdefined thermistor table 0
// 6 is userdefined thermistor table 1
// 7 is userdefined thermistor table 2
// 50 is userdefined thermistor table 0 for PTC thermistors
// 51 is userdefined thermistor table 0 for PTC thermistors
// 52 is userdefined thermistor table 0 for PTC thermistors
// 60 is AD8494, AD8495, AD8496 or AD8497 (5mV/degC and 1/4 the price of AD595 but only MSOT_08 package)
// 61 is AD8494, AD8495, AD8496 or AD8497 (5mV/degC and 1.25 Vref offset like adafruit breakout)
// 97 Generic thermistor table 1
// 98 Generic thermistor table 2
// 99 Generic thermistor table 3
// 100 is AD595
// 101 is MAX6675
// 102 is MAX31855
#define EXT0_TEMPSENSOR_TYPE 1

正如 Repetier 文档所述,在 99.9% 的情况下,EXT0_TEMPSENSOR_PIN0可能会起作用。如果没有,那么您可能需要将其更改为其他值。

对于EXT0_HEATER_PIN HEATER_0_PIN,只需按照打印机的接线,查看加热器连接到哪个引脚。


在哪里以及如何更改设置

您可能已经意识到这一点,但如果您不...

Repetier-Firmware-master.zipGithub.com下载:repetier/Repetier-Firmware并解压缩后,您将需要编辑目录Configuration.h中的src/ArduinoAVR/Repetier文件。请注意,ArduinoAVR 目录用于 Arduino Mega 2560 板及其衍生产品。

Repetier.ino在 Arduino IDE 中打开,然后Configuration.h在 Arduino IDE 中进行编辑Configuration.h如果需要,您也可以在您最喜欢的纯文本编辑器中进行编辑,但在 Arduino IDE 中完成所有操作可能更容易、更简单。

一旦您编辑了所需的设置,如我在Repetier 固件帮助(可能已锁定和许可)中所述,编译固件并将其上传到您的电路板。然后运行打印。如果似乎设置不正确,请停止打印。然后重新调整您的设置,重新编译并上传,然后再运行一次测试打印。无止境...

经过几次迭代,您应该对这个过程非常满意,并最终得到一台校准良好的打印机。