Duet Firmware 1.22 XY Inaccuracy?



  • I posted a problem I had about a week ago that I thought was related to PID of the hot end. After a brief discussion and correcting my config files, recalibrating everything I could, I rand some test prints and I am getting the same printing issues.

    History: About 2 years ago I hand built an Omerod 2 based off of plans from Reprappro's website (just around the time they closed shop). Since then I was using firmware 1.14 and everything was printing very very good.

    I decided it was now time to try and get a better print out of the printer and extend some of the axis. So I disassembled and reassembled the printer using long arms and some GT2 belts (2mm pitch) with some 16 tooth gears. Which I just went and used prusa's calculator to get the proper steps.

    After which I printed somethings out with my printer. Everything still working well and properly layering, etc. I then decided it was a good time to upgrade my firmware from 1.14 to 1.22. After which I started getting layering problems. In the attached picture you can see what is going on. The prints are at .2mm layer heights, the left cylinder is using a PID, the right one is BangBang. As you can see (zoom in if you can) the layers slowly oscillate in a visibly repeated pattern.

    0_1535996938714_Cyclinder.jpg

    To emphasize the problem only began after going from 1.14 to 1.22. Here is the rest of the information:

    Firmware Name: RepRapFirmware for Duet
    Firmware Electronics: Duet 0.85
    Firmware Version: 1.22 (2018-07-26b2)
    Web Interface Version: 1.21.2-dc42

    0_1535997118968_config.g
    0_1535997136563_config-override.g



  • Your config-override.g would indicate you are still using bang-bang control on the heat bed.

    https://duet3d.dozuki.com/Wiki/Tuning_the_heater_temperature_control
    I think you should give that another read and re-run your heater tuning and use M500 to save the results to the config-override.



  • What would running a PID on the heatbed do for the printing that is going on?

    Regardless, I did the autotune on the heated bed as well:
    0_1536006271365_config-override.g

    And that did not change how the layers do not stack on eachother precisely. I also used a 2nd silcing software to make a new model and test it as well. It also does the same thing.



  • Is the banding a wobble left and right or are the layers getting thicker and thinner? It's hard to see from the off angle photo.

    But possible cause can include thermal expansion and movement of the bed which is often caused by using bang bang since it causes the bed to heat up and then power off and repeat.

    Has there been any other mechanical changes lately as well?

    If it makes you feel any better I'm also trying to trouble shoot some banding issues.



  • All that was done besides lengthening the X and Y axis is change the belts from MXL to GT2 (and the gear and bearing as well).

    The layers appear to wobble, not so much thicker and thinner. The picture I put up is of the seam sides so you can see how the beginning does not match the end. And it is multi axis, not just the X or the Y. My calibration parts printed almost perfectly squared. Aside from the XZ axis deviating .25mm over 80mm, everything else is square.

    There is no wobble in anything that was not there from the original build. For instance the X axis on the printer is an arm that sticks out over the bed with no support on the other end. If I grab the X carriage there is no play in the back and forth. If I grab the bed there is no play either.

    It only really wiggles at speeds over 15mm/s. But when I print, I print the inside at 70mm/s with 3 perimeters. The outer perimeter being printed at 10mm/s, and the prints come out looking very nice.

    That being said, the printed tests are coming out at 10 mm/s. And the effect in the pictures is less on a .4mm print then on a .2mm. I am at this moment printing a .1mm layer height now just to compare all 3 (photo coming when done).

    It is the weird banding that gets worse as the layer height shortens that makes me think there is a firmware error since it has such a repeatable pattern regardless of the shape of the object. That, and this did not happen with the old firmware.



  • Bang bang bed heat often causes banding. Two possible causes:

    1. Thermal warping of the heatbed at full power causes the surface to “heave” or “breathe” as the bed ticks on and off. This can change Z height of layers by a meaningful amount, so you get banding.
    2. Voltage sag from the bed being on full power can create changes in extruder heater temp or cooling fan speed, which likewise can cause banding.

    Try bed PID and see if it helps.



  • Here are three different layer heights: .1, .2, and .4 all side by side. You can see the banding is within the same regions across all of them. the .4 being less noticeable:

    0_1536025011706_.1 .2 .4 layer.jpg

    @RCarlyle I already did the auto tune on the bed in a previous response. And for good measure, it is not the bed, here is a print I did with the bed off:

    0_1536025028864_heated bed off.jpg



  • Can you try a vase mode print?



  • Ok, turning off the heatbed proves it is not the heatbed, that’s helpful.

    The thing about questioning whether the firmware upgrade is causing subtle but inaccurate Cartesian XY motions on a box/cylinder print is that it... well, it really just doesn’t happen like that. As far as the printer firmware is concerned, it’s doing the SAME THING in X and Y on each of those layers. Only the Z height changes. There’s just no algorithm mechanism for banding like that to come from picking up and dropping microsteps or whatever. (Other types of print flaws can come from autoleveling etc, but not regular horizontal banding.) And thousands of other people use that firmware version without having XY issues. So the odds that there’s a firmware issue in basic motion code that only affects your particular printer is pretty low. It’s not impossible, but definitely not the first thing we want to look at, you know?

    This is an M5x0.8 threaded rod Z stage, I think? I can’t help but notice in your 0.4 layer print photo that the inside surface shows alternating layer banding, like you’d expect If the issue is Z screw wobble... 0.4 layers / 0.8 pitch...

    If your layers are sampling a screw wobble sine wave with period = 0.8mm, finer layer heights will show it clearly while coarser layer heights will only show wobble if the layer height matches screw orientations that push on something. Don’t know if this is your issue, but let’s try to rule it out.

    Could also be a crooked screw nut or off-center screw motor coupler or whatever, I’m not familiar enough with the Ormerod to really say.

    To check for screw wobble issues, print three ~6mm tower boxes spaced some distance apart (50-100mm?) using a fine layer height (0.1 is good) and then look if the banding is actually a spiral, different pitch from what you saw before, etc. Printing multiple narrow towers at a distance apart ensures each tower cools adequately, breaks up thermal oscillation banding, messes with mechanical backlash a bit, and helps make spiral screw wobble more visible.



  • Have you tried downgrade, for check its a firmware issue?



  • @Phaedrux - I will give that a try.

    @RCarlyle I was only thinking a firmware issue because the Duet I am using is an 0.8.5. As far as the Z Screw is concerned, it is an M5 .8mm thread. It sits on top of a gear that is bolted to the nema motor with a bearing for the center. When the Rod is removed, the gear has some play via the bearing center. The X Carriage itself is riding on a 12mm linear shaft with 2 bearings, and it is stabilized by a 40 x 80 extrusion where 2 10mm bearing "pinch" it. The X axis is moved by an m5 nut sitting in the X axis, so when the motor spin it pushes the X Axis up.

    So I set out seeing what would happen if I mess with the threaded rod. It seems that is I push it to or away from the X axis, there is no movement. However, if I pull or push the rod parallel to the x axis it will cause a slight movement in the x axis. The rod, when it is raising or lowering the device does "wobble" (if I watch the top of the rod). I am going to flip the rod over and see if the unused side gives different results. As well as try your multi tower test.

    @peirof - That would be my last resort. Going back to 1.14 would be a bit of work as I need to download and build the firmware myself, and then find the correct Duet Web Control to go with it.



  • I really think this is a mechanical issue. As you said you've done some work on it recently in addition to the firmware update.

    But if you wanted to test firmware without going all the way back to 1.14 you could try 1.18. I don't think it will help though.



  • @Phaedrux I agree more now on the hardware. As I was reversing my threaded rod, I noticed the m5 nut that hold the carriage moves and wobbles quite a bit, unlike the m5 nuts that the gear was using to turn the rod. So, I have turned the rod upside down and swapped m5's just to see what happens. Tomorrow I will most likely hit the local metal shop and get a new m5 threaded rod and nuts and then figure out how to upgrade to a leadscrew.



  • Thanks for the help. The problem has been found and partially fixed.

    0_1536037762776_fix.jpg

    Tomorrow I will get a new M5 and nuts and see how it goes.



  • Awesome. Now if only I can get my banding problem fixed. 🙂



  • Wobbly Z Nut maybe?





  • I see, with my z nut, I could literally move it up and down and wiggle it quite a bit.


  • administrators

    Any time you get banding, check whether the pitch of the banding exactly matches the pitch of the leadscrew or threaded rod. If it does, it's almost certainly caused by a mechanical problem.


 

Looks like your connection to Duet3D was lost, please wait while we try to reconnect.