Reduced quality prints from Marlin to Duet 2 Wifi



  • Hi,

    I posted this over on Reddit but was advised to post it here for potentially more help.

    I've got a highly modified Ender 3 (E3D V6, Titan extruder, BL Touch, NEMA 0.9 degree stepper motors, basically only the frame remains) which used to print perfectly, I mean absolutely perfectly, using various boards running Marlin 1.1.9. I've since decided to move to a Duet 2 Wifi as I really liked the look of the interface and the reported high quality of prints.

    Since this time I've had a massive degradation in print quality, I'm talking ringing, layer shift (5 layers in a row last night!), stringing, rough surfaces, gaps in walls, gaps in skins etc. Everything that I tuned out on Marlin has returned, but worse, on Reprap. I've since re-uploaded the firmware from the Reprap builder and now the Z axis fails to move during the print, or it just skips the layers entirely.

    So where am I going wrong? What could be causing the poor surface quality? X Y Z and E steps have been calibrated, retraction is the maximum recommended for the E3D V6 (3.5mm) and flow rate is all correct. I'd deem myself relatively experienced in troubleshooting a cartisan 3D printer, but this really has me stumped. Since posting on reddit I've increased my motor ampage to 1A and that's helped on the speed front (doesn't look so lazy any more whilst printing) but it's just a mess otherwise.[0_1562695253338_config (10).zip](Uploading 0%)

    Currently it's turning into a £120 paper weight, so help would be appreciated.

    Here is my config.g file.
    [0_1562695324157_config.json](Uploading 0%)

    0_1562695348755_config.g



  • @fl630 Nothing much leaps out at me from your config.g - there are a few things that could be tweaked but nothing that explains all you problems.

    Layer shifts are almost always caused by something mechanical - e.g a loose pulley, the print head catching on a blob or some such and shifting the entire build surface, or some other mechanical defect.

    Rough surfaces and gaps are almost always an indication of the wrong temperature or wet filament. So yor indicated temperature may bot be the true temperature. Have you run a heater tune? https://duet3d.dozuki.com/Wiki/Tuning_the_heater_temperature_control
    Do you have the correct parameters for the thermistors? Stringing could also be a function that the actual temperature (as opposed to the indicated temperature) is too high.

    The Z axis failing to move is most likely a mechanical issue. How is the Z axis configure (I'm not familiar with an Ender 3). That could again be due to a loose pulley or some sort of binding.



  • What firmware version are you using?

    What is the max rated current for the motors? Ideally you should set them at 70-85% of the max.

    I think your E jerk is low for a Titan and V6 (I assume direct). You're using 300, try 3000.

    Your X Y jerk is maybe a little high at 1200, try 900.

    Are you using pressure advance? I'd suggest trying M572 D0 S0.05 This may allow you to reduce the retraction amount.

    Is your slicer configured to modify the acceleration or jerk on a per print move type basis?

    You may wish to try using a new feature from 2.03 that mimics the jerk policy used in Marlin. M566 P1 enabled it.



  • @deckingman thanks for the reply. The gaps in the walls have been on multiple filaments, all PLA, from various brands. I had PID tuned in the past numerous times but having thought about it, I've re-uploaded my settings a few times and not run another since, rookie error! I've just re-uploaded to see if it fixes my Z issue and will run another PID tune.

    As for the Z issue, I'm clueless to it. It homes, moves and ABL's fine, just in the print it doesn't rise. Very strange, again, hopefully a firmware re-upload will fix it.

    @Phaedrux Firmware is 2.03. Motors are these rated to 1.68A. The Titan and V6 combo I am running is a bowden setup. The whole reason I have so much stuff is so I can print myself the parts for a BLV MGN Cube, where I will go for a DD setup.

    I'm using Cura 4.1, acceleration is set at 500mm/s, jerk only at 10mm/s. With this in mind I think the firmware would be more limiting?



  • @fl630 the firmware uses mm/min and the slicer and Marlin use mm/s. So your config has 1200mm/min.

    However, the firmware doesn't limit the values as it might with Marlin. Since reprapfirmware is configured on the fly, so whatever the slicer tells it to use for acceleration or jerk it will use. The values in config.g are just the defaults that get set at bootup.

    The slicers don't send anything to change the max speed though so that one will apply from config.g unless you manually change it yourself.

    For tuning purposes it may be best to disable the acceleration and jerk settings in the slicer so that you can configure them on the fly during a print to fine tune the values.



  • For PID tuning you will either need to use m500 to save the results to config-override and then add m501 to the end of config.g to load those values, or you will need to copy them from config-override into config for them to persist between reboots.



  • You may want to compare your thermistor values to those suggested by E3D to ensure they are correct for the semitek. Your temps could be quite a bit off from what you had in Marlin.


  • administrators

    Common reasons for poor print quality when changing to a Duet are:

    • Printing at different temperatures than before. This can be because a you have set the wrong thermistor in your config.g file, or you were using the wrong thermistor table in Marlin. Either way, the temperature setting that worked well before no longer works well, because the actual temperatures are different.
    • Not tuning the bed heater. If you don't tune the bed heater, RRF defaults to using bang-bang control for the bed heat instead of PID. This can give rise to artefacts, typically layers not lining up well.
    • Not using the same acceleration, maximum speed or jerk settings in RRF that you used in Marlin. The Marlin settings you were using may be as compiled into the firmware or as written to EEPROM.
    • Not using the same motor settings (motor current, and driver mode if applicable).

    Gaps in wall suggest that the extruder may be skipping steps. This could be because the extrusion temperature is lower than before, or the extruder motor current is lower.



  • @dc42 said in Reduced quality prints from Marlin to Duet 2 Wifi:

    Common reasons for poor print quality when changing to a Duet are:

    • Printing at different temperatures than before. This can be because a you have set the wrong thermistor in your config.g file, or you were using the wrong thermistor table in Marlin. Either way, the temperature setting that worked well before no longer works well, because the actual temperatures are different.
    • Not tuning the bed heater. If you don't tune the bed heater, RRF defaults to using bang-bang control for the bed heat instead of PID. This can give rise to artefacts, typically layers not lining up well.
    • Not using the same acceleration, maximum speed or jerk settings in RRF that you used in Marlin. The Marlin settings you were using may be as compiled into the firmware or as written to EEPROM.
    • Not using the same motor settings (motor current, and driver mode if applicable).

    Gaps in wall suggest that the extruder may be skipping steps. This could be because the extrusion temperature is lower than before, or the extruder motor current is lower.

    Thank you @dc42. I've run an M303 tune to my usual temperatures, saving with a M500. I've set the thermister values as recommended by E3D and they report true in config.g.

    Bed heating is still on bang-bang, I didn't consider PID as a setting, but they prints adhere very well, perhaps too well. I'll try out other settings.

    I've increased the extruder amperage from 0.8A to 1.2A, which is what my X and Y are set to, to see if it helps. Currently I've seen a considerable improvement in past prints, however it's still not great in some areas. I just printed a plant pot and it's night and day compared to my past prints, but you can see despite the perfect looking top layer, there is a gap between the walls and infill on various other parts. I'm currently printing a Benchy to see if I can improve.

    Here's some shots of the plant pot, printed in Iron Grey 3D Filaprint PLA, 205/55 temps at 60mm/s.

    Front
    0_1562775463236_IMG_20190710_165404.jpg

    Rear
    0_1562775813869_IMG_20190710_165355.jpg

    Inside walls are rough, showing stringing.
    0_1562775532896_IMG_20190710_165431.jpg

    Base
    0_1562775494174_IMG_20190710_165417.jpg



  • Did you add M501 at the end of your config.g?
    You need that to load the settings saved with M500

    You could also try to decrease your jerk settings a little. Jerk in Marlin works different than in RepRapFirmware.

    Your values are
    M566 X1200.00 Y1200.00 Z24.00 E300.00 ; Set maximum instantaneous speed changes (mm/min)
    M201 X500.00 Y500.00 Z100.00 E5000.00 ; Set accelerations (mm/s^2)

    I would try to use more cautios paramters and bump them up after successful prints.
    M566 X600.00 Y600.00 Z24.00 E300.00 ; Set maximum instantaneous speed changes (mm/min)
    M201 X500.00 Y500.00 Z50.00 E3000.00 ; Set accelerations (mm/s^2)

    More like this. Give it a try.


  • administrators

    @fl630 said in Reduced quality prints from Marlin to Duet 2 Wifi:

    Bed heating is still on bang-bang, I didn't consider PID as a setting, but they prints adhere very well, perhaps too well. I'll try out other settings.

    I suggest you tune the bed heater so that you can use PID. the images you posted suggest that the layers don't line up very well.



  • Extruder jerk is too low...that should be 1000+ range at least. On my Taz6 which I converted to the Duet and a bondtech extruder these are my values. The taz has a heavy moving bed so I set my x and y fairly conservative.

    M566 X500.00 Y500.00 Z150.00 E1500.00 ; Set maximum instantaneous speed changes (mm/min)
    M203 X8400.00 Y8400.00 Z250.00 E10000.00 ; Set maximum speeds (mm/min)
    M201 X1000.00 Y1000.00 Z250.00 E1500.00 ; Set accelerations (mm/s^2)

    I would also work on testing out pressure advance looking at your prints. I have a feeling that getting the bed in PID mode as dc42 recommended along with getting the extruder jerk and pressure advance going you will see big improvements.

    As stated, just doing M500 like in marlin doesn't put the tuning values into use.....you have to either manually enter them into your config.g or put the M501 in your config.g so they are loaded from the config-overrride.g file which is created when you do an M500.



  • Thanks all. I reduced jerk settings on X and Y and the latest benchy has come out the best yet. Ringing around its hull has reduced, not quite perfect, but considering where I was before I started this thread it's chalk and cheese. @JamesM I'll try the increase on the E motor, I've set it to 1500 and will try it out. I'm using a bowden setup though if that makes any difference.

    I've set up the PID tuned heated bed, using the code M307 H0 B0 S1.0, which the reprap configuration gives me (the only difference I can see with my current config.g). The thermistor values however I'm not sure what to set. The Creality thermistor is a "100K ohm NTC 3950FB Thermistor". Would you just use the standard M305 P0 T100000 B4138 R4700 values? Or does the "3950FB" relate to the B in the above code?

    Thanks again for all of your help, I'm starting to enjoy my printer again!



  • I have those 3950 thermistors on my taz6 for both the bed and the stock hexagon hotend when I use it and the values I use for them are what you listed...

    M305 P0 T100000 B4138 R4700

    With the bowden it will take a bit to dial in the pressure advance but it's definitely worth it. It's been a long time since my Ender 3 had a bowden setup so I don't remember the values I used to use. I've got a direct drive Bondtech clone with an E3D V6 on mine and direct drive I'm using values between .06 - .08 depending on the type of filament. I think it may have been .6 to .9 range when it was bowden.

    When using pressure advance if you have a low extruder jerk, your print will slow down a lot when coming to the end of a line especially with a bowden setup.



  • @JamesM I'm back on this after being away on work away from my printer.

    I've enabled pressure advance with 0.1 according to the Duet website, however found this bit of code https://pastebin.com/1jD64HgH

    Has anyone tried this calibration? I'm not amazing at reading Gcode, does it sort it all itself?

    Thanks!



  • That looks like a modified version of an old calibration test for Marlins linear advance. It draws a series of lines back and forth with varying amounts of pressure advance and you're supposed to find the line that gives the most even start and stop.

    I haven't had much luck with it, as all the lines look basically the same, but I don't use much PA to begin with on a direct drive. For a bowden system it may be more apparent. There's also the issue that it's only a single first layer so it's likely to be squished down a bit which isn't a great real world test.

    I think a better way to test would be to print a slightly more complex model with some height and varying the PA value every 10 layers or so, then you can get a better idea of the changes as the model progresses. You can either insert the PA command into the gcode file, or issue it manually from the gcode console.

    If you have a PAnelDue, something like this can be very handy for live tuning. https://forum.duet3d.com/topic/6181/tuning-macros-menus-accel-jerk-retraction-pressure-advance

    There's also this script for trying to find a good PA value.

    https://forum.duet3d.com/topic/6698/pressure-advance-calibration


 

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