Firmware ignoring speeds lower then 300mm/min

The title really says it all.
If I send something like this G01 X100 F100, the printer/cnc moves at what looks like 300mm/min.

Iv tested this on both my Prusa style printer and MPCNC.

Printer is running on a RAMPS 1.4, CNC on a Rumba. 


  • There is a lower limit due to numerical reasons with timing computations. Here is the relevant code:
        float accel = RMath::max(maxAccelerationMMPerSquareSecond[X_AXIS], maxTravelAccelerationMMPerSquareSecond[X_AXIS]);
        float minimumSpeed = accel * sqrt(2.0f / (axisStepsPerMM[X_AXIS]*accel));
    if(maxJerk < 2 * minimumSpeed) {// Enforce minimum start speed if target is faster and jerk too low
    maxJerk = 2 * minimumSpeed;
    Com::printFLN(PSTR("XY jerk was too low, setting to "),maxJerk);
    as you see it depends on acceleration.
  • Thanks for the quick reply.

    So you wouldn't recommend editing these minimum speeds?

    The reason this has come up is for my CNC I want to ramp down into the material very slowly. The g code looks like this.

    G01 X2.0712 Y-1.5840 F600
    G01 X2.1076 Z-0.1500 F6
    G01 X2.0712 Z-0.2000 F6
    G01 X20.0000 Y-1.5875 F600

    The resulting Z feed rate is not 6mm/min. 

    Any sugestions how i could get around this?

    If i plug straight down into the material it appears to behave as expected, but ideally id like to be able to ramp down. 
  • If you decrease acceleration the minimum speed goes also down according to the formula and that should be no problem for cnc mode. But F6 seems pretty slow.
  • Thanks for the advice. 
    Yep F6 is very very slow. I just kept reducing it further and further expecting to see some change.
    I will also consider changing back to 32x micro stepping which will also reduce the min speed.

    What is the value of f in this equation?

Sign In or Register to comment.