Welcome! Log In Create A New Profile

Advanced

Marlin Auto Leveling Not Moving Z-Axis

Posted by solomondg 
Marlin Auto Leveling Not Moving Z-Axis
April 29, 2014 01:12AM
Hello.
I recently downloaded a newer version of Marlin onto my Prusa i3 (Box frame, if it matters). I'm using the ingenious system from [www.thingiverse.com] for the leveling endstop. I set everything up, and inverted the Z endstop in Marlin, set offset, etc. I downloaded it onto my printer, but whenever I try to auto-level, the z motors sort of twitch and make a grinding noise. This noise is the same one that happens if I try to move the axis above around 215 millimeters/minute (around 430 RPM). I'm using unipolar motors with the center tap removed, and I'm using A4988 drivers. I'm not having this issue with any other axis (this may simply be because they aren't having to be moved this fast). I was wondering if there is an option in one of Marlin's config files to move the motors slower, or if I simply will not be able to use auto bed leveling? I looked in configuration.h, but there is nothing concerning the topic that I can find. Does this have to do with my unipolar motors? Also, the Z-axis motors make similar sounds when G-code from slic3r attempts to lift/lower them at the very begenning of a print (but they do not make this sound throughout). I tried tuning the trimpots, but it didn't make any difference. I set acceleration really low, and it worked fine, until it passed a certain threshhold and begain grinding again. It appears that whenever I give the Z-motors a set speed to turn at, everything is fine, but whenever I let the firmware move them, they don't move and make the grinding noise. What is causing this, and how do I fix it, if I can?

Thanks for any help!

Edited 1 time(s). Last edit at 04/29/2014 11:26AM by solomondg.
Re: Marlin Auto Leveling Not Moving Z-Axis
May 01, 2014 12:50PM
Read this:

[www.printrbottalk.com]

Quote
wdl1908
There is a problem in the code for the feedrates when moving for bed leveling.

#define XY_TRAVEL_SPEED 6000 // X and Y axis travel speed between probes, in mm/min

This is not only used for XY travel but also for Z travel. That is the reason the Z motor stall.

I fixed some things in the code so that the Z moves uses the homing_feedrate and not XY_TRAVEL_SPEED This fixed the stalling Z motor problems for me.

You could also set the XY_TRAVEL_SPEED to someting like 150 but that means XY travel would be very slow.

static void do_blocking_move_to(float x, float y, float z) {
    float oldFeedRate = feedrate;

    feedrate = homing_feedrate[Z_AXIS];

    current_position[Z_AXIS] = z;
    plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], feedrate/60, active_extruder);
    st_synchronize();

    feedrate = XY_TRAVEL_SPEED;

    current_position[X_AXIS] = x;
    current_position[Y_AXIS] = y;
    plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], feedrate/60, active_extruder);
    st_synchronize();

    feedrate = oldFeedRate;
}
Sorry, only registered users may post in this forum.

Click here to login