SOLVED - Help me solve some Z Banding
-
Hello, I've been trying to solve some Z banding artifacts on my customized DBot CoreXY printer. The Z axis uses a single Nema17 2.0A 1.8 degree stepper belted through a slide tensioner to three 1mm pitch single start lead screws. Motor and leadscrews all use 40 tooth GT2 pulleys for 1:1 gearing at 3200 steps/mm and 16x microstepping. Due to the size of the bed a long 1500mm GT2 continuous loop belt is needed. The bed assembly is a rather heavy 10 pounds. It rides on Vslot wheels at all four corners. It moves up and down by hand smoothly and there is no appreciable lateral movement of the bed. It's quite solid.
Firmware Electronics: Duet WiFi 1.02 or later
Firmware Version: 2.02beta1(RTOS) (2018-08-12b5)
WiFi Server Version: 1.21
Web Interface Version: 1.22.2A few photos to show what I am talking about:
First, the printer.
And the banding.
The bands appear to be every 1mm, which would make sense as the lead screws are 1mm as well. You can see clearly how bands become less noticeable at higher layer heights, but there is still a pattern evident.
It took me a while to recognize they were even present due to other print surface artifacts masking them, and because they are far less prominent at higher layer heights (0.3mm). It was only when I started doing more printing at lower layer heights (0.1mm) that it became apparent there was an issue. It would also seem that they are less noticeable on curved models and are hidden very well by some types of filament. However, once I started to notice them, I was able to look back at older prints and could see them present to some degree right from the start. Though they are definitely worse now I think.
A few more examples.
Same Gcode, different filament. The gold filament is far more forgiving than the light blue due to its translucency and sparkling finish.
Curved surfaces at higher layer heights make it nearly imperceptible in normal lighting conditions depending on the filament. But up close you can still see the pattern.
Here's what I've done to try and resolve it so far.
- Swapped out the 40 tooth pulleys for a different set. No change it seemed. The pattern may have been slightly different, but still there. I used a caliper to try and see if the pulleys were out of round and they did all vary to some degree, but only by about plus or minus 0.06mm. In order to clear it up conclusively I've ordered some new pulleys from OpenBuilds which are hopefully of better quality. If they aren't I will seek out some industrial grade pulleys, even though I'm not thrilled about the industrial grade prices.
- Tried a 0.9 degree motor. The lower holding torque seemed to allow for a bit more backlash at the speeds I was using and which required reducing acceleration and jerk speeds a little. But even then it didn't appear to help at all. I've since gone back to the 1.8 degree motor at 1.7A. Travel speeds are 5mm/s, jerk and accel at 30mm/min. This gives about half a second of ramp up until full speed.
- Reseated and realigned the lead screw mounts at the base and the bed mount. The mount is a double bearing block that slides left and right, and the bed mount is a lead screw nut that slides front to back. The 1mm pitch requires very precise alignment to prevent binding. But once aligned the bed can be raised by manually pulling the belt with very little resistance up or down and the bed stays put. No backlash or free wheeling.
- Verified that all 3 lead screws are straight. I rolled them on a granite countertop and they roll smooth and true as far as I can tell. I even had a spare lead screw that I swapped out and no difference.
- Verified that all three lead screws are sync to the same position at the bed end. I have no way to do auto bed leveling of the lead screws other than manually. But as far as I can tell it's even. I've replaced the lead screw nuts as well. The 1mm pitch means they are a little tight and I thought maybe they had become worn down over time and were introducing backlash. The newer nuts are a little tighter, but no change.
- Tried various tensioning of the 1500mm belt, it needs to be fairly tight to keep out slack from the long lengths, but not so tight that it pulls the lead screws out of alignment by torquing on their mounts. I've also stiffened the tensioner plate so that it doesn't flex as much as it used to. Still no change.
- Swapped out the Vslot wheels on the Z axis from polycarbonate back to delrin as I discovered that the bearings in the polycarbonate wheels were of very poor quality, several of them were leaking lubricant and ran roughly. I've got some higher quality openbuilds bearings coming as well to try.
- Tried with and without mesh compensation thinking that perhaps the extra up and down movement was leading to lost step or binding or something. No change. And even during the first 10mm of the print when compensation is active and all layers after the banding appears the same.
- Bed and hot end are PID tuned and stay within 1c of the target temp, so I don't think it's temperature related. The bed is a 6mm MIC6 aluminum plate with 1mm PEI sheet and silicone heater bonded to it. 3 point spring mount. I don't think it's due to thermal expansion of the bed.
- I've checked M122 after a print and there are no missed steps or hiccups.
- I've tried using really off layer heights like 0.133 or 0.167 but it doesn't seem to really help.
My original theory was that a pulley is out of round, most likely the drive pulley, and is causing slightly varying rotation. But that's just me guessing.
Things I have yet to try.
- Along with the new pulleys will be a 20 tooth drive pulley so that I can try a 2:1 gear ratio to perhaps smooth out the movement. This would double the steps per mm and increase torque.
- I have ordered some pillow blocks that may prove to be a better lead screw mount than the printed bearing blocks I am using.
- I haven't ordered new lead screws yet, but I'm not sure what else to try at this point.
- If all else fails I will have to get some more motors and try 3 independent lead screws. Though I would need a Duex2 at least to get truly independent control.
Any other ideas? Am I missing something? What is the most likely cause? Mechanical? Binding? Something the wrong shape? Belt stretch or spring? Backlash? Missed steps?
Thanks for taking a look.
-
Common causes of Z banding include:
- Running the bed heater in bang-bang mode, which is the default until you tune it and save the new heater parameters.
- Leadscrew issues - in which case the banding will have the same pitch as the leadscrews.
-
@dc42 No bang bang here. It is PID tuned and stays within 1c of target. As for lead screws it does seem to match the 1mm pitch. But would that mean a bent lead screw? They appear to be straight when I roll them on a flat surface. What else could cause it?
-
Is the banding the Bulge, contract, bulge type, or the left, right left type? I mean if one side is banding out is the opposite side banding in or out at the same layer?
-
@phaedrux said in Help me solve some Z Banding:
@dc42 No bang bang here. It is PID tuned and stays within 1c of target. As for lead screws it does seem to match the 1mm pitch. But would that mean a bent lead screw? They appear to be straight when I roll them on a flat surface. What else could cause it?
Both ends of the z-screws were constrained on my machine but I was told by the vendor that I might want to leave the upper ends free.
It did seem to work better.
Frederick
-
@t3p3tony it is definitely the bulge and contract type. Not left right wobble.
@fcwilt the lead screws are unattached at the top. Though when the bed is at Z0 the tops of the lead screws are even with the lead screw nuts. But the banding persists even when printing over 100mm when the tops of the lead screw would be exposed and free. Visually there doesn't appear to be able wobble in the lead screw as it rotates.
-
Try removing the wheels from the back corners. 4 wheels is an over constraint condition, liable to cause the bed to walk as it moves up and down. You really should only need the wheels at the corners closest to the leads screws that are on the right and left side in your first photo.
-
@mrehorstdmd I'll give it a shot.
-
@mrehorstdmd said in Help me solve some Z Banding:
Try removing the wheels from the back corners. 4 wheels is an over constraint condition, liable to cause the bed to walk as it moves up and down. You really should only need the wheels at the corners closest to the leads screws that are on the right and left side in your first photo.
Just to check if that was not lost in translation for me (and @Phaedrux already understood what you said anyway) and I am curious: are you proposing that on the backside the bed will only be "held up" by the leadscrew and otherwise kind of cantilevered mount only on the front side where the two leadscrews are?
-
@wilriker said in Help me solve some Z Banding:
@mrehorstdmd said in Help me solve some Z Banding:
Try removing the wheels from the back corners. 4 wheels is an over constraint condition, liable to cause the bed to walk as it moves up and down. You really should only need the wheels at the corners closest to the leads screws that are on the right and left side in your first photo.
Just to check if that was not lost in translation for me (and @Phaedrux already understood what you said anyway) and I am curious: are you proposing that on the backside the bed will only be "held up" by the leadscrew and otherwise kind of cantilevered mount only on the front side where the two leadscrews are?
No I don;t think that is what is being proposed. The bed will be held up by all three screws and 3 point define a plane, so it will stay level. If I understand correctly, Mark is saying (correctly in my opinion) that you only need 2 linear guides to constrain any side to side movement. 4 is overkill and there is a risk of binding if they aren't all perfectly aligned.
-
@phaedrux Given the problems you've had in the past with your OpenBuild wheels, are they all free to rotate? No flats like you've had in the past? Not over tightened the eccentric spacers by any chance?
-
@wilriker yes, like a cantilever with an extra screw to hold up the free, bouncy edge.
-
@deckingman said in Help me solve some Z Banding:
@phaedrux Given the problems you've had in the past with your OpenBuild wheels, are they all free to rotate? No flats like you've had in the past? Not over tightened the eccentric spacers by any chance?
That's the first thing I checked. Some of the Z axis wheel bearings were indeed failing and leaking lubricant similar to the ones I found on the X and Y axis. However even after switching them back to working delrin wheels and bearings there was no difference.
I should also make clear that the polycarbonate and delrin V slot wheels were not OpenBuilds. They are from Xinlong Factory on AliExpress. I have some OpenBuilds V wheel bearings on the way though. Even with the bad bearings the movement was smooth by hand.
@mrehorstdmd I understand the overconstraint situation, but with everything aligned and properly tensioned the motion is very smooth and low friction. But I will definitely give the 2 wheel solution a try later today.
Thanks for the feedback.
-
It only takes a few 10s of um of error to create a visible defect in the print, which is why chasing this sort of problem is so difficult. You can't see what's causes the defect, so you have to use your imagination, test and test and test until you find/fix the problem.
-
@mrehorstdmd Well I got a chance to remove the back wheels and test again. No difference.
My replacement pulleys, belt, pillow blocks and bearings have arrived though, so I'll see if that helps at all. Unfortunately the pillow blocks I received KFL08 and KP08 have very poorly inserted bearings. I've tried tapping them straight but it seems to be a losing battle. So I think I'll stick to the printed bearing blocks for now.
Now I'm thinking that I should have just ordered some replacement lead screws as well and just change everything out at once, rather than do all the disassembly and assembly again if this doesn't work. I was foolish and wanted to save $22.
-
The openbuilds pulleys measure almost perfectly round to within 0.01mm. That's far better than the pulleys I had before, so that's promising. The 1534mm continuous loop GT2 belt from openbuilds seems to be of better quality as well. The previous belt seemed to have a bit of an odd cut angle to it. The new one has a flat cut edge and the teeth seem more pronounced. It also has the same texture and appearance to the genuine Gates belts I have. Though they don't have a stamp to indicate they are actually Gates belts. The new bearings are also higher quality. Completely silent and smooth and just feel more solid.
Really hoping this does it.
-
I fixed it!! It took a better part of the day to tear it down and build it back up but at least now I can print without being ashamed of the quality.
Left is before, right is after. Same gcode.I did a complete realignment of the bearing blocks and bed mounts to make sure they were lined up. I also tightened up the V wheel tensioners on all 4 corners and ensured that the bed raised and lowered smoothly and evenly by hand. Plus I replaced the 40T lead screw and drive pulleys with new ones from OpenBuilds. This time using a 20T drive pulley giving me a 2:1 gear ratio. The belt was also replaced. The cheap toothless flanged idler pulleys on the belt tensioner were replaced with flanged 605 bearings which ran much smoother and didn't rub the belt like the old idler did.
I don't know if it was just one or all of those things, but the banding is completely gone. I suspect that the biggest issue was the pulleys. There was visible wobble and movement with the old ones. That's all gone now. It's hard to put a finger on it, but visually the quality of the belt movement just looks better than before.
Thanks everyone for the suggestions.