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

Z Axis Artifacts - Known Issues and Fixes

Discussion in 'Mods and Upgrades' started by Ziggy, Jun 1, 2014.

  1. Ziggy

    Ziggy Moderator
    Staff Member

    Joined:
    Feb 20, 2013
    Messages:
    707
    Likes Received:
    530
    There is an issue with the current Robo firmware configuration which 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.

    View attachment 3233

    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.
     
    jrs3d, Aaroneus, collin and 9 others like this.
  2. da9l

    da9l Member

    Joined:
    Apr 15, 2013
    Messages:
    65
    Likes Received:
    17
    Thanks Ziggy for this wonderful debugging! I really hope this is one of the main root causes. Did you post before and after images somewhere?

    Before I make this mod myself, I'd really like to know why the robo3d team disabled Z in the first place. I bet there was a good reason for it.

    Regards, Daniel
     
  3. AxisLab

    AxisLab Well-Known Member

    Joined:
    Dec 28, 2013
    Messages:
    322
    Likes Received:
    269
    I just did the firmware change, it worked being that the threaded rods and couplers are always locked ON now, however first test print here shows the exact same ribbing.

    I have not attempted the second part of adjusting on the board. But, seeing as there is no difference I'm wondering if the firmware settings robo put on are fine maybe? and possibly its all about those board adjustments?

    I wonder the same question da91 just asked about the reason for the setting? If it is just to be able the threaded rod during the first layer, I can understand the logic, However if it's something more complex I would like to know.

    [​IMG]
     
  4. Ziggy

    Ziggy Moderator
    Staff Member

    Joined:
    Feb 20, 2013
    Messages:
    707
    Likes Received:
    530
    This firmware issue is not the only cause of Z Ribbing. And I would say your example print is a lot worse than my Z artifact problems. So there is more work to be done to understand why this happening.

    When I made the firmware change I had an improvement of around 90%. So I am now trying to pin down why the residual Z Ribbing is there. Progress but not declaring victory yet.

    BUT turning the power off to the Z Steppers definitely causes inaccurate Z Layer heights. I have video showing the correct behaviour of the Z Stepper after the change to power them permanently, but was unable to post it because I ran out of a weekly upload limit.

    Also having the Z Steppers permanently powered is essential to allow the Auto Bed Height Compensation (Auto Leveling) to work.
     
    4 people like this.
  5. SteveC

    SteveC Well-Known Member

    Joined:
    Jun 12, 2013
    Messages:
    894
    Likes Received:
    316
    Perhaps the reason for the disable is to prevent the Z driver from overheating. It drives the load of two steppers in parallel and would be doing this constantly with the firmware change.
     
    2 people like this.
  6. AxisLab

    AxisLab Well-Known Member

    Joined:
    Dec 28, 2013
    Messages:
    322
    Likes Received:
    269
    Yeah, my issue has been around since day one. I have taken her apart, tightened/ adjusted everything a bit, including the rods/couplers.

    It was never too big of an issue as I was learning with little items, but now that I am up to building large and real pieces it is very troublesome and honestly embarrassing. I by no means can print anything professional or customer quality. And even the prosthetics I am trying to make are branded with my ribbing.

    I hate to do it knowing how busy Robo is but I may have to open a tech support issue with them.

    It would be great to get some interaction on here at least. This issue seems to be getting enough widespread coverage to justify it.


    EDIT: One thing I have not done is toss my rods and go for metric. I guess I have nothing to lose. Just need to track down some good ones.
     
  7. Montravont

    Montravont Active Member

    Joined:
    Mar 23, 2014
    Messages:
    140
    Likes Received:
    103
    Axis, from other info gathered around the forums in various threads, even people that have switched to metric rods are seeing the issue.

    I don't know enough about the firmware to be able to verify it, but I'm wondering if there is a rounding issue on the layer heights as they are fed to the Robo.

    Using the conversions for proper layer heights gives a .1 layer height of .1058. Is it possible that the firmware is rounding this to .106? Over a number of layers this rounding would compound and build to a point where 2 layers might be so close to each other that it smashes them together to form the ribbing?
     
    2 people like this.
  8. mark tomlinson

    mark tomlinson ༼ つ ◕_ ◕ ༽つ
    Staff Member

    Joined:
    Feb 21, 2013
    Messages:
    23,912
    Likes Received:
    7,338

    I do not think you need to. When that first arose as an issue I bought the metric rods/nuts and then they modified the firmware with the adjusted values and I have seen nothing like that. So clearly, it is not a huge contributor (I have done some 8 inch and taller prints).

    I think once ziggy (or here is a thought-- the Robo team) sorts out why this is happening for some people we will be able to directly address it. If I were having this issue I would be just as motivated as ziggy seems to be in getting it fixed... So kudos ziggy! (and if he figures it out I can take advantage of this if mine ever starts that behavior).
     
    4 people like this.
  9. Ziggy

    Ziggy Moderator
    Staff Member

    Joined:
    Feb 20, 2013
    Messages:
    707
    Likes Received:
    530
    I have contacted the Robo Tech Team to take a look at the suggested fix. While I feel 100% certain the fix is the correct, it is important to have a view from the Robo Tech Team.
     
    4 people like this.
  10. SoLongSidekick

    SoLongSidekick Active Member

    Joined:
    Mar 6, 2014
    Messages:
    220
    Likes Received:
    68
    I go to R3D headquarters fairly often as I live in SD and one thing Jerry and I were discussing last time I was there was that they were getting better prints by lowering the Z couplings so they are just about level with the middle plate (the stepper will take up a bit more than 50% of the space in the coupler) and then seating the threaded rod right on top of it. Also, the offset small screws on the couplers should not be tightened as it puts the rods slightly offset from center.
     
    2 people like this.
  11. AxisLab

    AxisLab Well-Known Member

    Joined:
    Dec 28, 2013
    Messages:
    322
    Likes Received:
    269
    Level with the top of the plate or bottom? It's a half inch thick so that's a lot of difference.
    Also how can you not tighten the two screws? those are the only thing that keeps the coupler attached.
     
  12. Ziggy

    Ziggy Moderator
    Staff Member

    Joined:
    Feb 20, 2013
    Messages:
    707
    Likes Received:
    530
    Robo3d R1 - Z Ribbing Fixes

    A Number of Robo users are seeing very significant Z artifacts on their prints and are disappointed with their
    print quality. In many cases these artifacts appear to be Z Ribbing. The data collected by Tesseract in the
    "waviness" thread suggests around 80% of users have issues with Z Ribbing.

    I had the problem and decided to tackle it by doing a systematic analysis of the possible root causes. Out of
    that came a package of 5 fixes which are aimed at significantly reducing Z height variation on the Robo and the
    Z ribbing.

    The fixes worked for me and have now been verified as effective on other machines by a few early testers. A
    number of users helped with both the analysis and verification - thanks.


    The notes describing the "why and how" of the fixes are attached to this post.


    There are 5 fixes which are intended to be implemented as a complete package. But obviously some are more
    essential than others. In my view:

    Fix 1 - Firmware Z Disable configuration change - essential and an easy fix

    Fix 2 - Making sure the threaded rod/nut stiction and friction is as low as possible. - This is important and
    good practice anyway. But if your set up already has low stiction and friction, it's probably going to be a
    marginal improvement.

    Fix 3 - Setting the motor shaft in the coupler so it does not slip - essential. Improving the shaft/coupler
    contact area, shaft orientation and Loctite are all absolutely essential. My Robo had this slippage problem
    with the motor shaft not fully in the coupler.

    Fix 4 - Stopping height variation due to the coupler geometry - essential. My Robo also had this problem. The Z
    Ball Coupler fix is an effective and low cost way of overcoming the inherent limitations of the helical coupler
    on the Z Axis

    Fix 5 - Seating the threaded rod properly centered in the coupler. - essential - but it depends. With M8 rods
    they will already sit pretty well centered - so probably marginal improvement in this case. With 5/16" rods the
    potential for improvement is much greater.

    The feedback from a few early testers has been very positive. Robo Technical Support have also given positive
    feedback and are looking at implementing Fixes 3, 4 and 5 at the manufacture stage. I now feel confident the package of fixes will be as effective for others with the Z Ribbing problem as it was for me.

    If you have any suggestions for further improvements please PM me.
     

    Attached Files:

    15 people like this.
  13. mark tomlinson

    mark tomlinson ༼ つ ◕_ ◕ ༽つ
    Staff Member

    Joined:
    Feb 21, 2013
    Messages:
    23,912
    Likes Received:
    7,338
    Good work chasing this down.
     
  14. AxisLab

    AxisLab Well-Known Member

    Joined:
    Dec 28, 2013
    Messages:
    322
    Likes Received:
    269
    Thanks for taking the crazy amount of time to look into this and write this up.

    I am one of the people that had some serious ribbing issues and I can verify that after focusing on these tips my prints are damn near perfect now. Happy camper here.
     
    2 people like this.
  15. tesseract

    tesseract Moderator
    Staff Member

    Joined:
    Feb 20, 2013
    Messages:
    1,924
    Likes Received:
    533
    Hey Ziggy another satisfied customer I adjusted the couplers and add the ball bearing and have not done anything else but it looks like the ribbing is significantly reduced. The second(good) print is nto finished yet but from where it is on the bed I can not see any ribbing at all. I will give further info and some pics in about an hour after the print finishes

    but so far so VERY good.

    If this does look as good as I think it does I may not make that change as per some of the reason mentioned previously especially the overheating one
     
  16. tesseract

    tesseract Moderator
    Staff Member

    Joined:
    Feb 20, 2013
    Messages:
    1,924
    Likes Received:
    533
    Couldn't wait so these are not side by side but one taken from the bed in the middle of a print and another one of the same thing I did last night showing the same basic section
    2014-06-21 13.37.43.jpg 2014-06-21 13.38.29.jpg

    The next one will be side by side for a better comparison but it looks great in person
     
    2 people like this.
  17. AxisLab

    AxisLab Well-Known Member

    Joined:
    Dec 28, 2013
    Messages:
    322
    Likes Received:
    269
    Awesome Jeff. Glad to see you successfully join the ball bearing club. Or as I shall call it henceforth, the Balls of Steel Club! lol.
    I am very happy so far, I have done the firmware change and adjusted the heck out of everything, after a dozen prints of all sizes so far, I can say the ribs are just GONE, it's like silk. Matter of fact my .1 layers are so perfect I am about to push it to .05 and see what happens.
    Do you have any tips for going finer? Speed, setting tricks or whatnot?
     
  18. tesseract

    tesseract Moderator
    Staff Member

    Joined:
    Feb 20, 2013
    Messages:
    1,924
    Likes Received:
    533

    just make sure that first layer is very very acurate as I got finer and fine I had to get closer and closer to the bed and it almost seemed like I was too low but in fact I was not it is just that things were so thin
    Also, it stays translucent a lot longer so it is kind of hard to judge
     
  19. tesseract

    tesseract Moderator
    Staff Member

    Joined:
    Feb 20, 2013
    Messages:
    1,924
    Likes Received:
    533
    2014-06-21 14.50.31.jpg 2014-06-21 14.52.03.jpg 2014-06-21 14.50.54.jpg
    Well here they are I am very happy about the improvement don't think I will adjust the firmwware
     
    3 people like this.
  20. Galaxius

    Galaxius Well-Known Member

    Joined:
    Jan 18, 2014
    Messages:
    632
    Likes Received:
    342
    How imperative is it that the z rods are perfectly straight? I got some metric z rods last week but they have a 1 to 2mm bow in them when I roll them on a flat surface. My assumption is they need to be perfectly straight, which means ordering another pair :(
     

Share This Page