max extrusion length

I have been trying to increase the extrusion on my printer but when I went above and extrusion of 160mm the extruder would not run. I realized this was a setting in the configuration tool so I changed it to 2000mm (I have moves that regularly go above 1200mm). I tried making the change and uploading it however there was no change in the extrusion it still wouldn't extrude anything beyond 160mm at any feed rate (I have tried it manually and with g-code). I tried it with larger and smaller max extrusion lengths with no success. I have even looked through the Arduino file and found nothing helpful.

Anything that would help this problem would be appreciated.  

Comments

  • It is this code in Printer.cpp around line 959:

    if (
    #if MIN_EXTRUDER_TEMP > 20
    (Extruder::current->tempControl.currentTemperatureC < MIN_EXTRUDER_TEMP && !Printer::isColdExtrusionAllowed() && Extruder::current->tempControl.sensorType != 0) ||
    fabs(com->E) * extrusionFactor > EXTRUDE_MAXLENGTH) {
    p = 0;
    destinationPositionTransformed[E_AXIS] = currentPositionTransformed[E_AXIS] = 0;
    } else {
    destinationPositionTransformed[E_AXIS] = 0;
    currentPositionTransformed[E_AXIS] = -convertToMM(com->E);
    }

    destinationSteps[E_AXIS] = 0;
    currentPositionSteps[E_AXIS] = -p;
    } else {
    if (
    #if MIN_EXTRUDER_TEMP > 20
    (Extruder::current->tempControl.currentTemperatureC < MIN_EXTRUDER_TEMP && !Printer::isColdExtrusionAllowed() && Extruder::current->tempControl.sensorType != 0) ||
    fabs(p - currentPositionSteps[E_AXIS]) * extrusionFactor > EXTRUDE_MAXLENGTH * axisStepsPerMM[E_AXIS]) {
    currentPositionSteps[E_AXIS] = p;
    destinationPositionTransformed[E_AXIS] = currentPositionTransformed[E_AXIS] = convertToMM(com->E);
    } else {
    destinationPositionTransformed[E_AXIS] = convertToMM(com->E);
    }
    destinationSteps[E_AXIS] = p;
    }

    As you see the prevent here is only dependent on EXTRUDE_MAXLENGTH.

    With which software do you send the moves? Maybe the software also has a protection preventing gcode form being send? So check log/console what gets send.
  • I used Cura to slice the Gcode. I run the the code and control the printer with Repetier host.
  • Ok, not sure if host has a filter as well. Do you see in log if the long move gets send? If so it is firmware side otherwise host side.
Sign In or Register to comment.