Blobs after changing to Duet 2
-
Hi guys
I recently ripped out the original board of my Wanhao D6 and replaced it with a Duet 2 Wifi. So far everything on the mechanical side works just fine.
Previously I was running Marlin 2 with linear advance and I got more or less perfect closed outer loops (Z-seam) with no protruding blobs at either the beginning or the end. There was just the little gap left from the two meeting radii of the nozzle.
Slicer: Silmplify 3D V4.1.2 (not V5, but that's another topic...)
Relevant Specs:
Bondtech BMG
Mosquito Hotend
E motor: 25mm pancake 1.8°
Distance between gears and nozzle: approximately 80mm capricorn lined (85A TPU no problem)These hardware values where not changed during the swap from Marlin to RepRap.
Now the problem: Since the change I was not able to get rid of the blobs when closing loops. With exactly the same slicer settings which worked perfectly fine before, I now got blobs. Expected that so I tuned pressure advance. Perfect value for my setup was 0.055. Perfectly reasonable I think.
This got rid of the blob formed when starting the the outer loop but the blob at the end remained unchanged.Since then I tried 4 different slicers with the same and different settings (Simplify 3D, PrusaSlicer, Cura, IdeaMaker(which I'm definitely going to switch to if S3D doesn't deliver))
I tried slow and fast retraction speeds (30 - 80mm/s)
low and high E acceleration (500 - 4000mm/s^2)
low and high E jerk (5 - 50mm/s)
Even the microstepping of the extruder (16x w/o interpolation, 32x, 64x,)
PA values from 0 to 0.3 (0.15 and more got rid of the blobs but left holes and infill unattached to the walls)
All combinations of retraction, wiping, coasting, negative restart distance, when to retract , when not to.The problem which I'm fighting is the transition from the inner loop to the outer loop. When the printer finishes the inner loop and moves out, the nozzle sort of squeezes the starting of the inner loop out at an angle. When the outer loop gets there, this "ramp" pushes out the filament and creates the blob.
This is a video where you can see what I'm talking about:
https://1drv.ms/v/s!Alyk1AJNCCDtlQuoWNDrPOjT2JnS?e=jv7cYaI really need some help I'm losing my mind between tiny cubes and cylinders.
Those were the transitions with Marlin.
Filament is exactly the same, it's dry, temp is way on the low end (180°C) , just a different color (Extrudr PLA NX-2)
This is now
My current config.g
M350 X16 Y16 Z16 I1 ; configure microstepping 16x for X / Y / Z with interpolation to 256 M350 E32 I0 ; configure microstepping 32x for E without interpolation M92 X80.0 Y80.0 Z800.0 E830.00 ; set steps per mm M203 X15000.00 Y15000.00 Z1000.00 E5000.00 ; set maximum speeds (mm/min) M201 X750.00 Y750.00 Z200.00 E500 ; set accelerations (mm/s^2) M566 X420.00 Y420.00 Z18.00 E300 ; set maximum instantaneous speed changes (mm/min) M906 X800 Y800 Z800 E700 I0 ; set motor currents (mA) and motor idle factor in per cent M84 S600 ;set idle timeout M572 D0 S0.055 ;set pressure advance
I'm quite sure I'm missing something in the firmware.
Thanks in advance for the help. -
@PXP11 Looks like it could be a slight over temp or over extrusion issue. Are you sure you’ve used the correct settings for your thermistor? Also have you printed a single and double wall cube test to calibrate the extrusion factor?
To be honest I’ve had bad luck with blobs from simplify 3d. With PrusaSlicer they are almost nonexistent but I keep coming back to s3d due to the custom supports and interface.
-
I'm using the slice engineering high temp thermistor. It's a preset in the configurator tool so it should be ok.
I have the extrusion multiplier set at 97% and the 0.8mm / 0.4mm walls are all to spec.I think PrusaSlicer is quite powerful for beginners and intermediates but the solid infill on slopes with no real way to configure it keeps me driving nuts. And the general lack of fine tuning options (e.g. temp change at layer x) as well.
-
@PXP11 said in Blobs after changing to Duet 2:
PA values from 0 to 0.3 (0.15 and more got rid of the blobs but left holes and infill unattached to the walls)
That's normal. 0.15 sounds about right for your tube length. To get rid of the attachment gaps increase the infill and skin overlap in the slicer.
-
@Phaedrux
Well according to https://duet3d.dozuki.com/Wiki/Pressure_advance its not.
Also I calibrated the PA with https://marlinfw.org/tools/lin_advance/k-factor.html I just replaced all the the M900 with M572 and all the K with S. Worked perfectly. The best line was at 0.055.
The provided python script never worked for me. It had "IndentationError" everywhere and it only went in positive X so on the last lines it was like 4.5 meters away from the start point...!On this print I started with 0.0 PA and went up to 0.3 in increments of 0.05 every 3mm or so.
And here is what I think indicates that 0.15 is too high of a PA value because the infill starts to separate from the wall due to the lack of material extruded at 0.15 PA. And the tears when the loop starts are ugly and way too visible.
-
@PXP11 in those tests it looks like the seam position is set to random. Align it to a single point.
-
@Phaedrux
Well yes that's the point of testing it and exposing the single transitions. It always looks better if they are aligned but I wanted to see what the individual loops look like..
And on round parts there is never a corner to hide the seam. -
yes but it's a lot easier to see the difference in pressure advance values when they are lined up.
-
@Phaedrux
Do you think it's a PA problem then? Because to me it doesn't make sense. If I go as high as 0.15 the holes are there because of the delayed start of the outer loop, not because of the ending which is the problem. And I mean holes, there will literally be a gap and the start of the loop is underextruded because the correct pressure isn't there jet.My normal settings which I had before and I used on the green print from the initial post were as follows:
Retraction: 0.4mm
Retraction speed: 60mm/s
Wipe: 0.2mm
Coasting: None
perform retraction during wipe: enabled
K for linear advance was 0.45 (if that helps anyone here )Is there something RepRap handles differently when it comes to retraction and interpreting gcode? Could it have to do something with interpolation. Something how the stepper is controlled? Am I missing something basic?
-
All I can suggest at the moment would be to go through the tuning described in the pressure advance documentation link again.
Tune your retraction first. 60mm/s for speed seems reasonable. 0.4mm seems a bit low for distance maybe.
Don't use wipe or coasting in the slicer.
Your acceleration and jerk values are quite low. I would increase them, as a slow layer transition or delay during a retraction could allow time for some oozing.
M201 X750.00 Y750.00 Z200.00 E500 ; set accelerations (mm/s^2) M566 X420.00 Y420.00 Z18.00 E300 ; set maximum instantaneous speed changes (mm/min)
Try these instead
M201 X900 Y900 Z200.00 E3000 M566 X900 Y900 Z120.00 E3000
-
@Phaedrux
How do I make the python script work then? (http://www.sternwolken.de/tmpup/3dprint/pressureadvance2.py)
I copy it out of the browser into Notepad++
I change the required values line 4 to 30
Save it in a folder as "pressureadvance2.py"
Right click in the folder and open windows powershell
Put in "python pressureadvance2.py > pressureadvance2.gcode"
Hit enter
It creates pressureadvance2.gcode but the file is empty.What am I doing wrong???
If i copy the modified "pressureadvance2.py" and put it directly in python it spits out some gcode but like I said earlier I get "IndentationError: unexpected indent" and the X values which are bs.
; layer 99, pressure advance: 0.198 M572 D0 S0.198 G1 X17935.000 Y142.520 E0.7982 F6000 G1 X17940.000 Y142.520 E0.1996 F300 G1 X17960.000 Y142.520 E0.7982 F6000 G1 X17980.000 Y142.520 E0.7982 F6000 G1 X17985.000 Y142.520 E0.1996 F300 G1 X18005.000 Y142.520 E0.7982 F6000 G1 X18025.000 Y142.520 E0.7982 F6000 G1 X18030.000 Y142.520 E0.1996 F300 G1 X18050.000 Y142.520 E0.7982 F6000 G1 X18070.000 Y142.520 E0.7982 F6000 G1 X18075.000 Y142.520 E0.1996 F300 G1 X18095.000 Y142.520 E0.7982 F6000 G1 X18095.000 Y143.000 E0.0192 F6000
-
@PXP11 said in Blobs after changing to Duet 2:
What am I doing wrong???
I'm no python expert. I would just use the manual option to change the PA value every few layers, or to use the slicer script to have it more automated.
-
@Phaedrux
Seems to me that the PA value of around 0.06 is actually ok.
Well I'm kind of in a dead end right now. I'll do some further testing... maybe non linear extrusion could help?
-
You can use a narrower range of values to get it more dialed in. Maybe between 0.04 and 0.08 in 0.005 steps.
I don't think non-linear extrusion will be a help at this point unless you're really on the edge of pushing your volumetric rate and are getting some filament slippage from back pressure.
But otherwise, what are the remaining print issues with a PA value of 0.06?
-
Please provide the GCode file for the cylindrical print that shows the blobs.
What linear advance setting were you using in Marlin?
-
I thought acceleration and instantaneous speed change for the extruder should be higher for pressure advance to function properly? On my printers I have the acceleration for my extruder at 2000 and the instantaneous speed change at 1200.
-
@JamesM said in Blobs after changing to Duet 2:
I thought acceleration and instantaneous speed change for the extruder should be higher for pressure advance to function properly? On my printers I have the acceleration for my extruder at 2000 and the instantaneous speed change at 1200.
Yes, that's true. If the E jerk and acceleration are too low, printing acceleration will be reduced so as not to exceed them when applying pressure advance.
-
One other thing that might be worth trying is the jerk mode, which is the
M556M566 P parameter. Using P1 makes the jerk policy more like Marlin's jerk policy, at least when Marlin is not configured to use junction deviation. -
@dc42 said in Blobs after changing to Duet 2:
One other thing that might be worth trying is the jerk mode, which is the M556 P parameter.
Am I correct in the assumption that you mean M566 ... P1, because M556 is Axis skew compensation? I was actually curios and wondered if Marlin and RepRap use different acceleration profiles. But as far as I can understand this setting (M566...P1) sort of tackles the same problem. Can I understand this setting sort of a smoothing parameter which allows some deviation from the path by foreseeing of the gcode lines?
So my Marlin settings where as follows:
Acceleration: 750 /750 /100 /500
Jerk: (theoretically) 42 /42 /18 /30 (XY overridden by junction deviation, E by Lin advance)
Junction Deviation: 0.02mm
S-curve acceleration: enabled
Linear advance: K0.056I tried the higher numbers for Z and E:
M201 X750.00 Y750.00 Z200.00 E3000 M566 X600.00 Y600.00 Z240.00 E3000
The result was only marginally improved, still bad.
Here is the gcode from the little cylinder: test_cylinder.gcode
One of the problematic retractions would be at line 1708:1706 G1 X73.815 Y39.038 E0.0126 1707 G1 X73.423 Y39.109 E0.0126 *1708 G1 X73.369 Y39.116 E-0.4000 F657 1709 G1 X73.224 Y39.134 F657 1710 ; feature infill 1711 ; tool H0.200 W0.600 1712 G1 X65.834 Y32.721 F15000 1713 G1 E0.4000 F4800 1714 G1 X73.147 Y25.409 E0.4902 F1642 1715 G1 X73.287 Y25.426 E0.0067 1716 G1 X73.660 Y25.493 E0.0179
This is a retraction during wipe movement. S3D calculates the resulting move between wipe and retraction distance. In conjunction with the printing speed this gives the resulting (low) feed (E speed was set @80mm/s).This was always this way and has worked for me so far.
@dc42
Is there something similar to Junction Deviation in RRF, because you mention M566P1 is like Marlin without it? -
@PXP11 said in Blobs after changing to Duet 2:
Am I correct in the assumption that you mean M566 ... P1
Yes, sorry.
@PXP11 said in Blobs after changing to Duet 2:
Is there something similar to Junction Deviation in RRF, because you mention M566P1 is like Marlin without it?
Not yet, but it will come. The main difference with JD is how the amount of jerk allowed varies with cornering angle.