Hi all,
I have spent some time with the M1203 command, although I'm happily married...
I always thought the acceleration and planner of the firmware of the CraftBot had some work left to do, but after trying different settings I have a much more positive attitude towards it.
The default setting of that value is:
M1203 A66 D44 F240
With me it was always looking inconsistent. Especially small segments of infill were printed as if the printer was hesitating each line. Sometimes it seemed segments were printed unaccelerated and others seemed very slow accelerated.

I have tried some different settings. In general I print all with 80mm/s and the perimeter and top layer at 40mm/s. The current of the steppers raised to : M906 X50
M1203 A0 D0 is resulting in unaccelerated prints: beautiful skin but very slow.
M1203 A3 D3 is resulting in very slow acceleration and deceleration. Sounds nice though, but unnecessary slow.
M1203 A99 D99 is resulting in fast acceleration / deceleration; bang-bang style and noises.

But what surprised me was that the F value was not a minimum speed value in general, but seemed more the threshold were acceleration was applied or not. The default setting is F240 = 4mm/s. I tried several settings in combination with different acceleration values, and it seemed that a higher value of F1200 = 20mm/s was giving a much consistent behavior in acceleration planning. As if speed-changes under that value weren't accelerated anymore.

The small segments weren't printed hesitated anymore, but rapid and sounding regular. Also the applying of acceleration seemed more consistent, although that was a more subjective feeling, judging the sound.
The end result, the perimeter seemed less troubled with ringing, as the pressure on the extruder was more constant with a steep acceleration.

The problem with acceleration is, is that the depressurization of the extruder is always too late when braking and too early when accelerating. This problem can be addressed by adding an algorithm in the firmware that compensates for that. Or, when not having that feature, by making the acceleration as steep as possible the mechanics of the printer allow. At least a higher F value seems to improve the skin of the print because of a little more constant pressure in the extruder.

I was wondering if others have the same results as I have, or maybe another set of combinations for this M1203 value.
For now I have added to my startGcodes the following commands:
M906 X50
M1203 A88 D66 F1200
For me resulting in a faster and more consistent movement during print and probably a nicer skin.

To rule out the effect of filament fumes to my findings: I hope others would like to try it and report back their findings!
Bart




www.craftbot.nl



September 25, 2015

Bartaar Bartaar
Service partner
1663 posts

22 replies


@Bart
Thanks for sharing this great info.

I briefly tried your recommended settings. Please note that I did not test it with a complete print job.

It seemed (I think) to print a bit smoother, though it's louder (due to increased motor current and higher print speed), but with less banging at sharp turns.

CraftBot still vibrates a lot more than I like to see at print speed of 80mm/s though. I already added two dampers for motors X & Y.

September 25, 2015

3DForms 3DForms
Superstar
1774 posts

Ha Paul, I don't like the sounds either. I have exchanged the linear bearings of one CraftBot to the massive plastic ones of Igus Drylin / some hardened smooth rods. It seems more silent, but there's still a 'rattle' somewhere I can't find. The same Rattle as in all three my CraftBots. I still got my fingers though, although trying to 'feel' everywhere while printing ;-)
Maybe the the current back to 33 and the speed to 30/60 with that acceleration settings is a good combo. I try later.
But I'm glad you have about the same first impression about that tweaked M1203 settings.
Bart

September 25, 2015

Bartaar Bartaar
Service partner
1663 posts

@Bart
Someone mentioned the rattling might be due to the energy chain (mid section) banging against the metal guide for the energy chain. He suggested putting a small padding between the chain & and metal guide.

Not sure if your rattling is due to the above issue or not.

September 26, 2015

3DForms 3DForms
Superstar
1774 posts

I have tried that as well, but that wasn't it either. It's driving me nuts! Nuts I say!
whoehahahahaquequeBart

September 26, 2015

Bartaar Bartaar
Service partner
1663 posts

@Bart
Btw, nice online store you have for CraftBot Plus. Great guide on your web site as well, although I don't understand German Dutch.

September 26, 2015

3DForms 3DForms
Superstar
1774 posts

Blasphemy! It's Dutch!
But thank you! It's really fun and nice to help beginners with 3D printing. Takes a lot of time though. I try to make a post of all questions I get with email.

September 26, 2015

Bartaar Bartaar
Service partner
1663 posts

Ah, Dutch it is. Sorry. :-)

September 26, 2015

3DForms 3DForms
Superstar
1774 posts

You have to be a CraftBot dealer too, Paul! It takes the same amount of time as you spent here ;-) And people are actualy listening to you!
Also: Attila promised* a huge party for all re-sellers, so we can have fun together in Budapest!















* No he didn't....

September 26, 2015

Bartaar Bartaar
Service partner
1663 posts

Yes, party for all CraftBoter in Budapest at Bart's expense. ;-)

I'm still learning a lot about 3D printing. I don't have quite the experience you have. Won't be able to help them with more technical support like optimizing acceleration/deceleration setting for the CraftBot. Your customers are lucky to get support from you.

Anyway, I don't think my wife would let me become a CraftBot re-seller. :-)

September 26, 2015

3DForms 3DForms
Superstar
1774 posts

My wife is an architect as well, and we are already working together for 25 years in our architectural office. Still fun, but I assume she doesn't mind I spent some time in another part of the building. I'm reluctant to ask her if she actually does mind ;-)
So you don't need the approval of your wife actually... just don't ask...

September 26, 2015

Bartaar Bartaar
Service partner
1663 posts

But if you have time to test the alternative acceleration settings with speeds and objects you normally use, I would be happy, as I'm not sure it's actually behaving well in all circumstances and with all kind of objects (probably not).

September 26, 2015

Bartaar Bartaar
Service partner
1663 posts

I am trying your acceleration settings with 70mm/s print speed earlier but did not get good top layers.

I guess I need to increase my hotend temp a bit more to accommodate faster flow for higher speed.

Will find more time to test various settings with your acceleration settings.

So far, I'm very pleased to be able to print at higher speed than before.

Thank you for your wonderful tip.

September 26, 2015

3DForms 3DForms
Superstar
1774 posts

That is strange what you found out about the F value. This sporadic lack of acceleration has been my only major issue with Craftbot, I'm excited to experiment with this as soon as I can. I will also see if I can redo my acceleration test video with your settings.

Original test: Youtube

September 30, 2015

Matthew L Matthew L
Exalted
703 posts

Bart, this works for me, 50 mm/s is perfect now! 70 is better as well, but you can hardly expect quiet operation at these speeds.

September 30, 2015

Franci Kopac Franci Kopac
Honored
338 posts

Seems to work for me also, Thanks Bart!
More testing is needed but the diferance so far is night and day.
I uploaded a video clip with the changes in effect.
I agree also with the smoother extrusion pressure, the top surface seems much better.
Stepper currents are still at default, I have yet to have any issue with the motors skipping steps.

October 1, 2015

Matthew L Matthew L
Exalted
703 posts

Good to hear! And I'm happy you all find about the same results.

For me the F value of the M1203 seems to resemble the maximum "jerk" setting as used in Marlin and Sailfish. It's in the same ballpark too.

For users unfamiliar with the term "jerk": As "acceleration" is a derivative from "speed", is "jerk" a derivative from "acceleration" , so describes the change of acceleration:
http://physics.info/kinematics-calculus/

Bart

October 1, 2015

Bartaar Bartaar
Service partner
1663 posts

Maybe jerk is the derivative of acceleration in physics, but in Marlin software jerk means the allowed instanteous speed change at the corners. The acceleration and 'physics jerk' are infinite there in theory.

Here with CraftBot the direction changes instanteously at constant speed, so there are big jumps in the speed vector along with the theoretical infinites. If you want to avoid this, you either have to stop completely at every corner or round the corners. In practice, we have to find the speed jump, that the mechanical parts allow.

The mechanical parts 'know the physics', so the corners will be rounded, there will be some ringing, we have to find a tolerable level.

October 1, 2015

psanyi psanyi
Exalted
949 posts

Wow Bart, this definitely makes a huge difference. I tried printing a standard 20x20x20 block at 100% infill at 50mm/s. At default settings, it was making somewhere around 75 dB according to my iPhone sound meter. And depending on which diagonal direction it was doing the fills, some directions would sound slightly better, others really terrible.

Then I added your two lines to my start up Gcode. Exact same settings otherwise, and it's basically at 70 dB now regardless of direction.

There is definitely much less of the initial slam slam slam, until it gets to half way, and the acceleration/deceleration kicks in. Now it's like that the entire fill layer.

One weird thing is, the Z lowering now sounds weirder (not sure if louder or quieter). Or perhaps it's because of the other stuff got quieter, the Z stands out more.

Anyway, great work, thank you!

October 9, 2015

Avianna Avianna
Friendly
175 posts

The "quieter" print just finished, and it didn't just sound better, it was a better print!

The first print, the corners were typical, bulging and not nice and sharp (because of overshoot). With your settings, the quieter print's corners are beautiful!

The top surface finish is slightly improved as well!

October 9, 2015

Avianna Avianna
Friendly
175 posts

@ Avianna: Thanks for taking the time for testing that settings, and great the print is improving!
5dB is a lot, as I seem to recall that 3dB difference is twice the 'noise', because it's a logarithmic scale.
I wrote above that unaccelerated printing is 'always' giving the best results, but I tried it yesterday, with 20mm/s print speed, and it wasn't nice at all. But than again, I was printing Cura "vase mode" so the Z axis was climbing each print segment, with a lot of noise and shaking as well. So I can imagine that the noise of the Z-axis is indeed more present and louder, as the used acceleration settings are pretty steep as well.

October 10, 2015

Bartaar Bartaar
Service partner
1663 posts

I've attached a logic analyzer to my CraftBot, so I'm able to record what is happening during prints. I've analyzed some test prints and found the meaning of the M1203 A and D parameters. For some reason known only to the developers, the CraftBot does not use constant acceleration, but the acceleration is proportional to the speed, so the speed is not linear, but an exponential function of time. Let v(0) be the starting speed, then the v(t) = v(0)*exp(A*t) for acceleration and v(t) = v(0)*exp(-D*t) for deceleration. The upper limit is the actual feedrate from the Gcode, the lower limit is the F parameter from M1203.

This causes some weird behavior. For example, if the M1203 F is lower, than the 37 percent of the initial speed, then the CraftBot spends more time slowing down to this speed, than it would take to fully stop if the initial deceleration kept constant. This is why Bart's modification is so beneficial, it avoids those low speeds.

The maximum acceleration is speed*A, for example with A88 and 80 mm/s it is about 7000 mm/s^2 or 0.7g, a bit heavy.

The other problem is, that the acceleration/deceleration logic only looks at two segments at a time, which can cause bangs, if the sharp turn is after a short segment. Also the firmware does not regard the extrusion as an extra dimension, somewhat 'perpendicular' to XYZ. If there is a line with E only, the firmware treats it as if it went horizontally with positive X and zero Y speed. If an extra extrusion or retract comes after a horizontal line, then you get a bang too, because X and Y stops and E starts instantly.

I hope, that the firmware will be fixed and uses constant acceleration as anyone else, but do not expect it, to be honest, so I have a trick against bangs. I have written a program for inserting CraftWare color codes into gcode files generated by KISSlicer some time ago. Now I've modified it to change the feedrate of short segments. This way the short segments, that would surprise CraftBot will be done in slow speed.

The default parameters: the segments shorter than 2 mm are done at F900.

It works with CraftWare generated gcode files too.

Enjoy.

October 17, 2015

psanyi psanyi
Exalted
949 posts

"Yeah mr. White!", Yeah, Science Bitch!".
Or something similar.. .
Thanks Psanyi for this scientific approach and giving more insight! I'll try your program later.
CraftUnique is planning to improve the acceleration in the next firmware release AFIK, so hopefully the "default'' settings will result in a faster print as well, resolving that small segments speeds too.

Bart

October 18, 2015

Bartaar Bartaar
Service partner
1663 posts
To start a discussion or reply to a post please Login or Create an account.