New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Can somebody explain these? #367

nothinman opened this Issue Jan 20, 2013 · 4 comments


None yet
5 participants

nothinman commented Jan 20, 2013

#define DEFAULT_MAX_FEEDRATE          {500, 500, 8, 50}    // (mm/sec)    
#define DEFAULT_MAX_ACCELERATION      {5000, 5000, 100, 10000}    // X, Y, Z, E maximum start speed for accelerated moves. E default values are good for skeinforge 40+, for older versions raise them a lot.

#define DEFAULT_ACCELERATION          1500    // X, Y, Z and E max acceleration in mm/s^2 for printing moves 
#define DEFAULT_RETRACT_ACCELERATION  1500    // X, Y, Z and E max acceleration in mm/s^2 for r retracts

#define DEFAULT_XYJERK                20.0    // (mm/sec)
#define DEFAULT_ZJERK                 0.4     // (mm/sec)
#define DEFAULT_EJERK                 5.0    // (mm/sec)

Just trying to get all this right and I'm confused. I get wobbly prints and it's really annoying :/
DEFAULT_MAX_FEEDRATE is the maximum movement speed once stepper accelerates to it, right?
Now, what's the difference between DEFAULT_MAX_ACCELERATION and DEFAULT_ACCELERATION? I Always thought that MAX is the maximum acceleration that can be set in gcode (if bigger -> set to this) and default is the default acceleration that the machine assumes if there was nothing in gcode.
But I'm not sure any more...

Now, jerks. What problem would I be seeing if these were too low / too high? Where does this value get used? Every time I travel from vertex to vertex, every time the turn is more than 90 degrees, or when? Why is it in mm/s and not mm/s^2?

Would appreciate some help, and also suggest putting this info into the configs, as this isn't perfectly clear, at least to me :/


This comment has been minimized.


daid commented Jan 21, 2013

Max Feedrate is the maximum speed accepted in the GCode. So if the max feedrate is set to 500, and you configure 1000 in the slicer, then it still only tries to move at a maximum speed of 500.

Max acceleration are the maximum acceleration values possible. I think the actual value used for acceleration is the default acceleration, if this would be higher then the max-accel, then it would limit it.

I'm not 100% sure about jerk, but I think it is about ramping up acceleration.

Anyhow, if you are getting wobbely prints, then you are most likely having vibrations in your printer, or backlash. You could try printing a lot slower to see if that helps. But it's most likely something mechanical.


This comment has been minimized.

larsbrubaker commented Jan 21, 2013

Jerk is often used to represent the change in velocity so it is a little confusing to see it in this context. Jerk turns out to be the maximum velocity that Marlin is willing to full stop the motors at. It really should be renamed.

DEFAULT_XYJERK -> DEFAULT_XY_MAX_STOPPING_VELOCITY // or something similarly explicit.



This comment has been minimized.


ErikZalm commented Jan 21, 2013

The name jerk is not the same as jerk in normal motion control. But grbl uses the name jerk. (And the Marlin motion part is based on grbl)

Jerk is the max. instantaneous speed change allowed. If the jerk is 20 the a speed change from 0 -20 mm/s will be instantaneous. (No acceleration part)
But also for speeds changes from 60-80 and 50-30 etc.
Speed changes > jerk will have an acceleration part.
A speed change of 10 - 80 will start at 30 and accelerate to 80.


This comment has been minimized.


nothinman commented Jan 21, 2013

Thanks for your input gents, it helped.

@daid I guess it's mechanical. I have built a larger mendelmax, and looks like it was a bit of mistake. It's 350x350x200mm, and table is just too big and wobbles. I have designed my custom bed support and will be printing it soon, hope it'll help... Also replacig 8mm rods with 12mm, and LM8UU with 100% teflon bushings. Belt tension has not been an issue when I had 200x200 bed installed, prints were great :/

@nothinman nothinman closed this Sep 5, 2013

epatel pushed a commit to epatel/Marlin that referenced this issue Mar 16, 2016

Merge pull request MarlinFirmware#367 from thinkyhead/cleanup_stepper…

Clean up stepper.cpp, use bitwise macros
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment