1. Got a question or need help troubleshooting? Post to the troubleshooting forum or Search the forums!

Z Axis - precision and accuracy

Discussion in 'Mods and Upgrades' started by Ziggy, Mar 25, 2014.

  1. SteveC

    SteveC Well-Known Member

    Joined:
    Jun 12, 2013
    Messages:
    894
    Likes Received:
    316
    You can try this test movement file. Just homes, does some circles and lifts. Did you try different distance moves with the LCD? I wonder if Mattercontrol used a different default increment that is pushing the driver over the edge for some reason. I assume you have coarse threads? Did you try a steel nut in addition to your nylon one?
     

    Attached Files:

  2. SoLongSidekick

    SoLongSidekick Active Member

    Joined:
    Mar 6, 2014
    Messages:
    220
    Likes Received:
    68
    Well with the LCD controller the farthest you can move the Z axis is 1mm. Of course it is manipulated with a potentiometer so you can turn the knob a few times over and get it to go 100+ mm at a time, and it works fine. In the video I am telling MC to move the axis 10mm.

    I haven't tried any other nuts, but these nuts move effortlessly up and down the coarse thread rods. I thought maybe I didn't get a clean flash with the new firmware but after another flash I get the same issue. I'll try reverting to the "old" metric settings and see if that magically fixes it.
     
  3. SoLongSidekick

    SoLongSidekick Active Member

    Joined:
    Mar 6, 2014
    Messages:
    220
    Likes Received:
    68
    Now my Z axis does not respond at all. I followed instructions sent to me by Jerry verbatim and now have a dead printer. Outfuckingstanding.
     
  4. warlocke

    warlocke Active Member

    Joined:
    May 10, 2013
    Messages:
    127
    Likes Received:
    58
    If you adjusted the current on the Z-Axis drivers all the way up, it's probable that your driver board is fried.
    Try swapping it with the X or Y axis, but don't mess with the pot setting.
    See if your Z-Axis responds again.
     
  5. SoLongSidekick

    SoLongSidekick Active Member

    Joined:
    Mar 6, 2014
    Messages:
    220
    Likes Received:
    68
    I never actually turned it all the way to the top, the highest setting I actually tried using way about a quarter turn below the highest it would go.

    Will try the swap and report back.
     
  6. Jay

    Jay New Member

    Joined:
    Jan 18, 2014
    Messages:
    12
    Likes Received:
    5
    Might be off track here SoLong but the pots guide ziggy posted also mentions some of the pot screws have a dead zone. You dont happen to have moved the screw in to one of those have you?

    **Edit read that again looks like you do have a max setting so this doesn't apply.

    "It’s important to note that some POTs do not have a physical stop at the minimum and maximum power setting. In the absence of a physical stop, you must be aware that there is a dead zone of rotation where the POT screw will be ineffective. In other words, making a full revolution will bring you back to the same setting but only a certain percentage of the revolution is effectively controlling the power output."
     
    2 people like this.
  7. Ziggy

    Ziggy Moderator
    Staff Member

    Joined:
    Feb 20, 2013
    Messages:
    707
    Likes Received:
    530
    Here is an example of what can cause big problems with Z Axis accuracy and precision if the Z coupler is not seated properly. All it takes is a little extra weight on the threaded rod.

     
  8. Mike Kelly

    Mike Kelly Volunteer

    Joined:
    Mar 11, 2013
    Messages:
    6,967
    Likes Received:
    2,276
    Ziggy the z load should be consistent throughout a print. I don't see that being an issue unless there was weight fluctuations

    You could try seating the threaded rod on the drive shaft, should be possible.
     
  9. Ziggy

    Ziggy Moderator
    Staff Member

    Joined:
    Feb 20, 2013
    Messages:
    707
    Likes Received:
    530
    Mike : There will be weight fluctuations as the x carriage mass moves side to side. But I agree, the point is that the threaded rod must be fully seated down and you need to check there is no vertical movement in the coupler by pushing down on the threaded rod.
     
  10. Mike Kelly

    Mike Kelly Volunteer

    Joined:
    Mar 11, 2013
    Messages:
    6,967
    Likes Received:
    2,276
    Most of the torque from the x carriage motion is supported on the smooth rods
     
  11. Ziggy

    Ziggy Moderator
    Staff Member

    Joined:
    Feb 20, 2013
    Messages:
    707
    Likes Received:
    530
    But the x carriage weight is supported by the threaded rods and coupler.
     
  12. Mike Kelly

    Mike Kelly Volunteer

    Joined:
    Mar 11, 2013
    Messages:
    6,967
    Likes Received:
    2,276
    yeah but if you made the free body diagram the threaded rod only supports the gravitational force. The torque forces mostly push it left and right which is all supported by the smooth rods.
     
  13. Ziggy

    Ziggy Moderator
    Staff Member

    Joined:
    Feb 20, 2013
    Messages:
    707
    Likes Received:
    530
    Ok If you don't believe what the video of the coupler shows in post #67, please try it yourself.
     
  14. Mike Kelly

    Mike Kelly Volunteer

    Joined:
    Mar 11, 2013
    Messages:
    6,967
    Likes Received:
    2,276
    I have my threaded rods up so they can compress slightly. I haven't seen any issues because of it, though my carriage weighs much less without the stepper on it, so it's not representative of the whole.
     
  15. Ziggy

    Ziggy Moderator
    Staff Member

    Joined:
    Feb 20, 2013
    Messages:
    707
    Likes Received:
    530
    The reason for this long post is to explain what I believe is a major root cause of Z Ribbing on the stock Robo.

    My base Robo setup is stock except for the following mods:

    - Z axis threaded rods are 8mm pitch 1.25mm. Firmware has been flashed with 2560 steps/mm on the z axis.
    - Z Axis stabilizers fitted (my design http://www.thingiverse.com/thing:278484)
    - Auto bed levelling fitted (my design http://www.thingiverse.com/thing:301715)

    Despite the M8 threaded rods and Z axis stabilizers, I was still seeing ugly Z artifacts on most of my prints. To systematically analyse why this was happening I first:

    - Checked every rod for size, screws were tight, belts were properly tensioned, Z couplers were seated properly and there was no vertical movement (springiness) in the couplers/threaded rods.
    - Checked by hand there was no obvious loose slop in any the axes.
    - Created a test model stl which showed any Z artifacts clearly but was simple and quick to print. Sliced the model once (for PLA at a layer height of 0.2mm) and used the exact same gcode for every test print. I picked 0.2mm because at this height there are no step size rounding errors for 8mm or 5/16" threaded rods.

    I discovered during this check that my couplers were not seated properly, a few screws were not tight enough and one smooth rod at the front of the X axis was under sized. Only issue I couldn't fix right away was the under sized X axis rod. Consequently there is some slop in the X axis which might be causing print quality problems - but unlikely to be causing Z artifacts.

    My first test print showed obvious Z artifacts. These were clearly Z Ribbing (not Z wobble) in a pattern which matched the pitch of the threaded rod.

    IWF_2270.JPG

    As Z Ribbing is usually caused by variation in the layer height the obvious thing to check was the behaviour of the Z Stepper. So I ran a test print and video'ed the coupler.

    I could see right away there was some unusual behaviour in the way the couplers were turning to increase the layer height. In some cases the steppers were jumping slightly backwards before turning to raise the height up. In others they were jumping slightly forward before turning to raise the height up.

    To prove whether this was a hardware or a software issue, I set up a spare Arduino/Ramps and Z stepper on the bench and ran the exact same gcode through this test setup. You can easily see in the video of the test stepper the jumps forward and backward before the stepper turns to raise the height.



    Obviously these slight jumps are causing a variation in height of the layers.

    The reason for these tiny jumps is simple.

    In the Robo firmware (configuration.h) , the Robo guys have decided to turn off the power to the Z stepper when it is not being used.
    // Disables axis when it's not being used.
    #define DISABLE_X false
    #define DISABLE_Y false
    #define DISABLE_Z true //robo modded
    #define DISABLE_E false // For all extruders

    However the big problem with doing that is the stepper can not hold its place when microstepping. As soon as the power to the stepper is turned back on it moves forwards or backwards to the closest full step position. So in simple terms...

    At a layer height of 0.2mm and a threaded rod pitch of 1.25mm there will be 6.25 increments per complete turn of the stepper. So there are 6.25 times per turn when the stepper will jump slightly backwards or forwards before turning to raise the height by 0.2mm. Probably the worst case is an error of up to 6.25 X 1.8 degrees / 2 = 5.625 degrees (or 0.0195mm) of accumulating error per complete revolution of the stepper. (Obviously my maths are a simplification of what is really going on at the microstepping level)

    It doesn't matter whether the threaded rod is 8mm or 5/16" (or anything else) these jumps backwards/forwards will cause the layer height to vary in a regular, repeating pattern which depends on layer height, thread pitch and full step size of the stepper.

    IMO this behaviour of the Z stepper (because of the Robo firmware setting) is one of the root causes of Z Ribbing on the stock Robo.

    The fix is simple. Make the following change in the Marlin configuration.h file and reflash the firmware.

    // Disables axis when it's not being used.
    #define DISABLE_X false
    #define DISABLE_Y false
    #define DISABLE_Z false //robo modded - fixed
    #define DISABLE_E false // For all extruders

    Unfortunately having the power always on to the Z stepper also means the Ramps stepper driver power needs to be adjusted to work reliably. To make this adjustment read these instructions

    http://bootsindustries.com/portfolio-item/pots-adjustments/

    And I suggest running some basic gcode to adjust the driver power and check the Z stepper moves reliably with no ugly noises.

    After making this fix I ran a number of test prints at various layer heights. I can see that the Z stepper is now moving correctly (ie no jumping at all) and the Z Ribbing has definitely been reduced on my Robo. I am not saying this is the complete solution but is definitely one of the causes of Z Ribbing.

    EDIT : It would be useful if someone who is NOT having Z Ribbing issues would print the test.stl in PLA at a layer height of 0.2mm. Maybe we can get some insight why there is a difference.
     

    Attached Files:

    7 people like this.
  16. Leon Grossman

    Leon Grossman Active Member

    Joined:
    Feb 20, 2013
    Messages:
    226
    Likes Received:
    123
    @Ziggy,

    Fantastic find!
     
    2 people like this.
  17. Mike Kelly

    Mike Kelly Volunteer

    Joined:
    Mar 11, 2013
    Messages:
    6,967
    Likes Received:
    2,276
    Ziggy that definitely warrants it's own thread
     
    2 people like this.
  18. Soupaboy

    Soupaboy Active Member

    Joined:
    Sep 29, 2013
    Messages:
    287
    Likes Received:
    49
    i will try that now.
     
  19. Galaxius

    Galaxius Well-Known Member

    Joined:
    Jan 18, 2014
    Messages:
    632
    Likes Received:
    342
    After reading Ziggy's post I noticed that every few layers my Z couplers turn slightly backwards part way through some layers. Having said that my ribbing is no where near as bad as Ziggy's.
     
  20. SteveC

    SteveC Well-Known Member

    Joined:
    Jun 12, 2013
    Messages:
    894
    Likes Received:
    316
    Very nice debug! I also suspected the Z stepper disable but did not get around to trying the firmware change. I also would have to get out of my bad habit of tweaking the Z rods during the skirt and first layer moves :mad:. Likely the problem is mostly Z stepper disable with some contribution from wobbly threaded rods and rounding error. Perhaps some filaments over extrude slightly and amplify the problem.

    My Z ribbing is intermittent and is most obvious on straight thick sidewalls. I almost can't detect it on thinner cylinders and not at all on a rocket nosecone like this: http://www.thingiverse.com/thing:8754. The nosecone prints perfectly, no detectable ribbing.
     

Share This Page