Calibrating firmware for new extruder

Discussion in 'OpenBeam Kossel Reprap and OpenBeam Kossel Pro' started by James Mitchell, Aug 11, 2016.

  1. James Mitchell

    James Mitchell New Member

    I just switched the standard extruder on my Kossel Pro with an E3D Titan. The hardware side is functioning perfectly, but a software problem popped up when I jumped into my splicing program: Simplify 3D. I realized that because of the unique operating conditions of the extruder, in order for it to work I would need to adjust some things in the firmware. Specifically, It is geared (1:3) and has a reversed flow. According to E3D I should set each of the following:
    • Standard motor steps / rev = 200
    • Standard micro-stepping = 16x
    • Gear Ratio = 3
    • Hobb Diameter (Effective) = 7.3
    I need help finding the steps per unit section of the Marlin firmware to calibrate it to the new extruder. Does anyone have experience upgrading the extruder?

    Titan Assembly Instructions (E3D explains the software calibration near the bottom of the page):
    http://wiki.e3d-online.com/wiki/Titan_Assembly

    Simplify 3D:
    https://www.simplify3d.com/

    My Current Firmware (I last updated 8/11/16):
    https://github.com/OpenBeamUSA/Marlin
  2. James Mitchell

    James Mitchell New Member

    Would flipping the steppers ground and power then increasing the speed by 3 in the splicer have the same effect temporarily?
  3. protoserge

    protoserge Member

    I don't know why you would change the steps per rev since it looks like the ratio (3) in your slicer will adjust accordingly. Or am I missing something?

    Steppers get a direction by a high or low voltage. This would be a firmware setting to change. Do not swap wires since it will just invert everything including steps and direction.
  4. James Mitchell

    James Mitchell New Member

    Thanks Protoserge. Any advice on where in the firmware I should start looking for polarizing?
  5. protoserge

    protoserge Member

    It is either the configuration file or main. I think it is a variable with direction in it. It should not be too hard to find.
    James Mitchell likes this.
  6. protoserge

    protoserge Member

  7. grainiac

    grainiac Active Member

    @James Mitchell look for the following line in your configuration.h:

    #define DEFAULT_AXIS_STEPS_PER_UNIT {XYZ_STEPS, XYZ_STEPS, XYZ_STEPS, 184.8}

    The last value are the extruder steps per mm. Because the Titan is 1:3 geard I'd put there 555 for the first try.

    #define DEFAULT_AXIS_STEPS_PER_UNIT {XYZ_STEPS, XYZ_STEPS, XYZ_STEPS, 555}

    Then:

    0. Compile and flash firmware
    1. Cut the filament exactly at the end of the bowden tube with a cutter knife
    2. Extrude 100mm filament (G91; G0 E100 F1500; G90)
    3. Cut extruded section with cutter exactly at end of the bowden tube.
    4. Measure length of extruded piece, e.g. let's assume it is 87.6mm
    5. Calculate new steps per mm value with rule of three:
    new_steps_mm = 555 / 87.6 * 100 = 633.56
    6. Update configuration.h, compile and flash with these settings:
    #define DEFAULT_AXIS_STEPS_PER_UNIT {XYZ_STEPS, XYZ_STEPS, XYZ_STEPS, 633.56}
    7. repeat steps 2.-4. to verify extrusion length is OK
    James Mitchell likes this.
  8. James Mitchell

    James Mitchell New Member

    That is awesome, thank you so much. But I still don't know how to change the direction of the extruder, which is the larger problem. @protoserge said that there is a variable in config that controls the direction but I haven't seen one.
  9. grainiac

    grainiac Active Member

    Cleanest solution would be to use these defines:
    #define INVERT_X_DIR false
    #define INVERT_Y_DIR true
    #define INVERT_Z_DIR true
    #define INVERT_E0_DIR true
    #define INVERT_E1_DIR true
    #define INVERT_E2_DIR false

    Or can you just flip the connector by 180° in the terminal on the board?
    protoserge likes this.
  10. James Mitchell

    James Mitchell New Member

    Steppers are powered by frequency of pulses for directions so that would just make it behave erratically. I just got an error message while attempting to compile the code and I don't understand what it means. This is the second or third time I have done firmware updates and I have never gotten this error.

    enabled in File > Preferences. "Show verbose output during compilation" This report would have more information withError while uploading: missing 'recipe.cpp.o.pattern' configuration parameterThird-party platform.txt does not define compiler.path. Please report this to the third-party hardware maintainer.Arduino: 1.6.4 (Windows 8.1), Board: "Brainwave Pro"
  11. protoserge

    protoserge Member

    That's it!

Share This Page