Jerk/accel settings not working for me
-
I like to use S3D's interface to control it. So I have the starting grounds of the accel/jerk set into my starting script, then I tweak it live through the serial communication box. I have confirmed it happens on both USB and SD card, so it isn't S3D. I will certainly add a video as soon as I can! I believe its going to be very hard to see/hear on camera, but will certainly try. However, the strange artifact on the print that are caused by the jerks are very easy to see
That is my full configuration, generated by the builder they reccomend, then some parts added by me. By default, i beleive the firmware is set to Cartesian mode, so its unnecessary to add M667 S0, but I will do so and try again.
-
Try reducing microsteppimg from 256x to a more normal 16x with interpolation. Don't forget to change all your steps per mm to suit.
-
Here is a video of a small piece i was testing out today, didn't come out too pretty. It happens mostly around that arc and the hole it prints at the very end. Listening is going to be way more useful than watching it. I still cant seem to figure out why marlins jerk/accel settings have to differ so much from this new firmware. The jerk settings in the video are 480 and 1000 accel. Printing at about 35mm/sec.
https://streamable.com/u50xx@deckingman, thanks for the reply! As stated in my original post, I've tried 16, all the way to 256 with the same results. I even have tried interpolation.
-
Do you have acceleration values specified in your slicer? Cura also has the ability to specify jerk values. That could be overriding your config values.
In cases like this it's probably best to go back to something fairly basic and conservative and go from there.
Ideally for the Duet steppers you're going to want to use 16 microsteps with interpolation. So start there.
Then make sure your steps per mm for all axis are correct.
Bellow are the speed, jerk, and accel settings I'm using. It's a CoreXY, but my values were adapted from my previous cartesian as a starting point.
[c]; ############################
; 4 - DRIVES
; ############################M569 P0 S0 ; Drive 0 (x) goes backwards
M569 P1 S0 ; Drive 1 (y) goes backwards
M569 P2 S0 ; Drive 2 (z) goes backwards
M569 P3 S1 ; Drive 3 (e) goes forwards
M350 X16 Y16 Z16 E16 I1 ; Configure microstepping with interpolation
M92 X200 Y200 Z3200 E837 ; Set steps per mm
M906 X1000 Y1000 Z1200 E800 I30 ; Set motor currents (mA) and motor idle factor in per cent
M84 S30 ; Set idle timeout; ############################
; 5 - SPEEDS
; ############################M566 X700 Y700 Z20 E220 ; Set maximum instantaneous speed changes (mm/min)
M203 X9000 Y9000 Z600 E6000 ; Set maximum speeds (mm/min)
M201 X3500 Y3500 Z100 E9000 ; Set maximum accelerations (mm/s^2)
M204 P2000 T3000 ; Set printing and travel accelerations; FEEDRATE CONVERSIONS
; 20mm/s = F1200
; 70mm/s = F4200
; 120mm/s = F7200[/c] -
I manually change my settings during the print. Once I find it working the best I've seen it, I'll put that into the config file and work from there and repeat. My slicers is not overriding me at all, I'm using S3D with a basic start up script that homes and primes the nozzle now. After trying settings similar to yours and exactly yours, my prints turn out awful.
I don't like to brag or be full of myself in any way, but I am known to have some of the best prints in town, and what I'm seeing is nowhere close to my standards. I have to raise to unbelievable jerk to complete oval or circular items, but then that ruins any and every corner or small detail of any other part.
Also, with 16 interpolation, I notice significantly worse results, mostly in the Z
-
To be sure you could confirm your settings are active by running the acceleration/jerk commands without any variables, the bot will tell you whats live at the moment.
I did not hear any abnormal sounds on the big arc, only part where i could hear a issue was the small bolt hole at the end of the clip. Are all the axis's moving freely, with a small round bolt hole and the axis's moving really slow stopping and changing direction any binding or axis stiction it might also cause issues like that as a axis catches then frees rapidly.
-
I'm leaning towards the impression that there is some underlying problem here that in itself is nothing to do with jerk and acceleration settings but more to do with the fact that setting them really low helps to mask this underlying problem. Thinking it through we know that the force to move an object = mass x acceleration. So logic dictates that by reducing the acceleration we reduce the force required. Therefore it would seem logical to deduce that one or more motors are not capable of supplying the torque required to accelerate the mass at anything like a reasonable rate.
Things to check off the top of my head.
I notice that the motor currents are set to 750 mA which would imply that they are maybe 1 amp motors? Are they adequate for the job - check the spec. Also, does it help if you increase the current to say 90% of the rated current.
Is the power supply adequate? What is lowest voltage that you see when printing?
Are all the axis is free of any binding?
Edit. Try running M122 at the end of a print and check for missed steps or under voltage events.
-
I do appreciate all of your help, very much so! Thank you!
I can confirm mechanically everything is okay. Swapped out the for the old board just to verify once again. Everything works near flawlessly with the rambo running marlin. I upgraded so I could have WiFi, quieter printer, and a nice display.
These are the default settings sent with the printer and they work great on the rambo with marlin and repetier. I have not had to change the jerk much but have lowered accel when i was printing with my old board running marlin.
Jerk X240 Y240 Z24 E60
Accel X3000 Y3000 Z30 E2000After reading what was in M122, there were no errors/missed steps. The steppers were defined 0.75a in marlin firmware but I tried 0.85a and 1a as my steppers are 1a, There was no noticeable difference with any of those current changes. You'd think that the accel and jerk settings would all be somewhat the same among firmware, to a degree. Maybe marlin and repetier have more optimized jerk/accel code for 3D printing.
This is all pretty frustrating.
-
I can't comment on what Marlin does as I have no experience if using it. One things that stands out with the settings you listed above is that the extruder jerk is very low. More normal settings would be in the order of 600. Try that.
-
I have indeed tried that as someone else recommended that, no difference. 60 was also set by the manufacturer, and it worked great prior.
-
Please post the GCode of the circles or ovals etc. that you are trying to print that print jerkily. We've seen issues before with slicers generating tiny non-extruding moves between extruding moves. S3D still does that when printing skirts, but thankfully not the rest of the time.
Extruder jerk of 60 is very low, and if you use pressure advance you will certainly need a lot more. I suggest at least 600.
-
Sorry for taking a bit to reply, I had to put my old board on for a bit to finish a project. 60 does seem low after looking at everyone else's, but it worked PERFECT on marlin which really throws me off that this firmware is so different when it comes to the jerk and accel. I have attempted it with 2 slicers, S3D and Idea maker, both same jerky motion, nothing is smooth. Here is my gcode though, feel free to check it out!
https://drive.google.com/file/d/1dwXWh0slnOdZQeG-oGh5iy_89H0ujWp4/view?usp=sharing
-
That's some of the worst GCode I have ever seen. It includes lots of really tiny segments, which means very low extrusion distances, but it's only giving the extrusion distance to 4 decimal places when it needs at least 5. So the extrusion rate is varying erratically.
I have seen S3D do this before when generating the skirt, but not for the actual print as it is here.
For Marlin to be printing this without jerking, it must be ignoring the extruder jerk limit completely.
You might get reasonable results if you set the extruder jerk limit very high in M566. But IMO a better solution is to use a slicer that generates better GCode.
-
I do appreciate your help with this.
I'm not seeing any "really tiny segments" that you wouldn't find in other sliced models using a different slicers. The gcode produced by ideamaker and cura look very similar to the one produced by S3D. The model has been exported in an average STL resolution and an extremely high 100MB version, which shows no difference either. Do keep in mind, its not only with this one item, its with all of my prints I have attempted. I've yet to produce a part that I would consider acceptable, which really bugs me since this has never been an issues for me. I love the screen, internet interface and the how quiet my printer is now, I'd love to switch all of my printers over to this system, but i need to address this issue first. Do you recommend a slicer that's better than Cura, S3d, or ideamaker, that would prove a point here that its the slicer and not firmware?
I cranked the extruder jerk up to 6k, then to 60k, no difference with quality one bit from 60 and 600.
Thanks!
-
Last time I compared the outputs, Cura produced better GCode than S3D.
Can you share the STL model you are starting from?
-
Since the part I've been printing is a customers, I can't share the actual part. But, I will post a small section of it below(its the section that was featured in the gcode above). Last night, I tried the same model in cura, with the same results I was getting on S3D.
https://drive.google.com/file/d/16teyQzuT7mKSkqpj_Cpv5Gk7gJUY4pch/view?usp=sharing
-
After playing with it this last week, I think I will be switching back to the rambo board with Marlin shortly since the only fix I've found for this jerk issue is printing at half of my normal speed which really isn't acceptable to me.
I will probably check back in a few months to see if any firmware updates have fixed the issue.
Thank you for all your help guys! I am still up for suggestions if you guys have any. I'd like to use this board over the rambo since the hardware capabilities are far superior.
-
@Ret,
1. Before you do that, could you try an earlier version of firmware - prior to 1.20 (say 1.19). The reason I suggest it is that there are similarities in the behaviour that you are seeing and something I saw back in January. It's in this very long thread which is mostly related to pressure advance behaviour with multiple extruders (mixing hot end). https://www.duet3d.com/forum/thread.php?id=1999&p=3. Unfortunately I went off on my travels and since then I haven't had chance to do much printing this year. I'm still on 1.20 RC "something" so things may have changed again. At that time, David had recently changed something in the firmware that I think was to do with pressure advance behaviour but the result was that I was getting jerky behaviour on arcs. My memory is a bit hazy but IIRC it seemed that the firmware had become more sensitive to gcode which produced varying segment sizes for arcs.
2, If you do go back to Rambo / Marlin, please report back if it fixes your problem. I'm sure David will "pull out all the stops" to implement a fix if it can be shown that another board/firmware does something better than Duet.
-
@Ret, please share the gcode that Cura generated, so that I can see whether it has the same issue as the S3D gcode.
-
I sliced the model STL sample that was posted earlier in Slic3r PE and the extruder moves were to 5 decimal places. Without the full model it's hard to know what the orientation it is printed in, but to test it I rotated it so that the flat part of the circle is to the bed. I did a test print of the first few mm.
The part is very thin, and I suspect that S3D is trying to lay a line thinner than the nozzle diameter and is breaking it up into small sections of extruding and not extruding.
You can force Slic3r to do similar behavior by turning off detect thin walls, which merges the inner walls into a single gap fill move. Slic3r seems to handle it a lot better.
That's just a thought though.
Here is what Slic3r generated