Can't run pressure advance g-code
-
@gbartsch My turn to apologize for being tardy.
Your sample prints definitely have no pressure advance happening at all.
If your extruder jerk setting is too low it can limit Pressure Advance ability to function. Maybe that is what is happening.
Check the 'Side effects of Pressure Advance' section at the bottom of the page.
Pressure Advance was working for 2.04 as far as I can remember but I still think it is worth upgrading as @Phaedrux suggested. You do have to do it in the order he suggested.
Do post your config to get it checked before trying to print with the new firmware. There are a few significant changes. If only I had written them down.
-
@tas said in Can't run pressure advance g-code:
If your extruder jerk setting is too low it can limit Pressure Advance ability to function. Maybe that is what is happening.
Thank you!
Well that might be the problem as my jerk is lower than default even. My machine is the Cartesian style with heavy X and Y movements so I lowered the jerk to reduce shaking. I'll increase it and run the test.
M566 X800.00 Y800.00 Z24.00 E300.00 ; set maximum instantaneous speed changes (mm/min)
-
@tas said in Can't run pressure advance g-code:
Do post your config to get it checked before trying to print with the new firmware. There are a few significant changes. If only I had written them down.
I posted my config.g files in my firmware post (https://forum.duet3d.com/topic/31263/idiot-s-guide-to-upgrading-duet-firmware/10) and am looking at the differences. There are a number of them and I'm gathering that sorting them out will be the trickiest part of upgrading firmware; the other steps seem easy.
-
@gbartsch I have set my max E jerk to 3000. I also had it at 300 to begin. I have an E3D V6 on a Creality Ender 5 Pro x-carriage with an LGX Lite bowden setup.
Setting the max to a high value does not force it to use that setting it simply allows it to go that high if the gcode commands require it.
This should not affect the X and Y. The M566 parameters are per axis so E only affects extruder jerk. It shouldn't make your printer shake.
It would be great if that change can solve your problem.
-
@gbartsch Funny! We were posting at the same time. I saw your other post and thought I would add a note about the jerk setting in this one as I think it is more relevant to this topic.
I did see your config files and will let the experts have a look. It should be very straight forward. Just go through the steps in order as @Phaedrux laid out above.
It takes a while but it is not difficult because I was able to do it.
-
@tas said in Can't run pressure advance g-code:
You do have to do it in the order he suggested.
His explanation was very clear and if those steps - combined with rebuilding the config.g file - are most of what is involved in upgrading the firmware I'm feeling more confident about it.
-
@tas said in Can't run pressure advance g-code:
I did see your config files and will let the experts have a look. It should be very straight forward. Just go through the steps in order as @Phaedrux laid out above. It takes a while but it is not difficult because I was able to do it.
I really appreciate everyone's help. Much of this doesn't seem to bad if people with knowledge guide me along. I'm hoping I can understand the overall schema through this and be able to keep up from here on.
-
@tas said in Can't run pressure advance g-code:
I have set my max E jerk to 3000. I also had it at 300 to begin. I have an E3D V6 on a Creality Ender 5 Pro x-carriage with an LGX Lite bowden setup. Setting the max to a high value does not force it to use that setting it simply allows it to go that high if the gcode commands require it. This should not affect the X and Y. The M566 parameters are per axis so E only affects extruder jerk. It shouldn't make your printer shake.
I changed my max E jerk to 3000 but there was no change to the print. I'm thinking the best thing to do now is upgrade the firmware and revisit this issue after. I'm quite at a loss here.
-
-
Well I give up trying to run the code in my slicer; I can't get it to work in either PrusaSlicer or SuperSlicer.
But I could send commands from the console and pressure advance does work when added to my filament g-code so I'm happy.
I can say it wasn't working for a long time because the extruder stepper shaft moves differently now than before; I can see the stepper rotation indicator move with slight twitches at the end of each path.
Thank you everyone for your suggestions!
-
@gbartsch The code in your first post is 'meta' Gcode. This was introduced into RRF with RRF 3.01, and has been extended with each new version. It won't work on RRF 2.x. See https://docs.duet3d.com/User_manual/Reference/Gcode_meta_commands
I expect a low extruder jerk was stopping it from working when sending the commands directly.
If you don't want to update to RRF 3.x, I would recommend updating from 2.04 to the final 2.x version, 2.05.1, just for bug fixes - you won't have to change your config then. Also, you can always revert back to 2.x if you find 3.x too troublesome to get working. Just make sure you do a backup of your 2.x config!
Ian
-
@droftarts said in Can't run pressure advance g-code:
I expect a low extruder jerk was stopping it from working when sending the commands directly.
Thank you.
That sounds very likely given pressure advance is working now. In my post here (https://forum.duet3d.com/topic/31263/idiot-s-guide-to-upgrading-duet-firmware/68?_=1675395364890) everyone helped me upgrade to RRF 3.4.5 and everything is working now and I'm the happiest person ever!
I'll read up on the 'meta' Gcode. I'm not sure why that isn’t working for me. But pressure advance is being applied to my prints at least.
-
@gbartsch Sorry, I think I'm mistaken; the code in your first post should run in PrusaSlicer, and on each layer where it matches the condition, PrusaSlicer should put the code in. It is not meta Gcode. So something may have changed in PrusaSlicer that stops the code working. What version of PrusaSlicer are you using? Also, check the Gcode that PrusaSlicer generates, looking for M572 commands.
Ian
-
@droftarts said in Can't run pressure advance g-code:
What version of PrusaSlicer are you using? Also, check the Gcode that PrusaSlicer generates, looking for M572 commands.
I'm using PrusaSlicer 2.5.0 and SuperSlicer 2.4. The M572 commands are indeed in the G-code. I'm running a print again with the code dutifully in place but crickets; nothing.
-
@gbartsch It's the D parameter in the M572 command. You don't have four extruders, do you? Because you have set it to D3. Which would be after D0, D1 and D2. I think you have put the driver number (ie where X=0 Y=1 Z=2 and E=3). The D parameter refers to the extruder number, so D0 is the first extruder.
Edit: I see this was pointed out earlier by @tas. Check you are using Gcode with D0 rather than D3.
Ian
-
@droftarts said in Can't run pressure advance g-code:
Check you are using Gcode with D0 rather than D3.
Thanks. I have been using D0 after @tas clarified that.
At this point I've changed so many variables and settings, and used different slicers, etc., that I don't know what wasn't working, BUT now that code runs through the slicer and is working.
I ran a coarse test and then narrowed the range down for a second test with finer ranges and now have a pressure advance value that's working well with PET-G. I'll run the test again with PLA and I'm really eager to see how all my machine's new settings with work with Ninjaflex. I really can't believe how much pressure advance is helping already.
I have a direct drive extruder (homemade with 78mm from the center of the drive gear to the nozzle tip) but seem to require quite a high pressure advance of S0.650 (2.85mm PET-G). Here's a picture (sorry for the poor quality).
Even though I don't know why it wasn't working, it is now, so I can say the issue is solved. Thanks a lot to everyone who helped with this!
-
-