Notifications
Clear all

How to use and tune the new linearity correction?  

Page 1 / 2
  RSS
stahlfabrik
(@stahlfabrik)
Honorable Member
How to use and tune the new linearity correction?

Hi everyone

Any tips on how to calibrate the new moiree defeating linear correction?

Best regards
stahlfabrik

Posted : 28/04/2018 2:19 pm
vaxxi
(@vaxxi)
Estimable Member
Re: How to use and tune the new linearity correction?

I assume you've seen XPila's comment ?

Posted : 28/04/2018 2:21 pm
stahlfabrik
(@stahlfabrik)
Honorable Member
Topic starter answered:
Re: How to use and tune the new linearity correction?

Thank you - I knew I read that before but did not know where to (or better how) to find it - and which Prusa Dev did it.

So anyone with additional information from the wild?

Posted : 28/04/2018 10:15 pm
vaxxi
(@vaxxi)
Estimable Member
Re: How to use and tune the new linearity correction?

I don't have the time to run tens of cube tests, but I had a Calicat with a vertical moire clearly visible on its head, in the Y axis direction. After enabling the E correction, the moire effect was seriously diminished (almost invisible) and diagonal instead of vertical. So the correction does something, but the exact E coefficient might vary from printer to printer, just like the PINDA height.

Posted : 29/04/2018 1:15 am
stahlfabrik
(@stahlfabrik)
Honorable Member
Topic starter answered:
Re: How to use and tune the new linearity correction?

I started to print a series of different cubes - each with a different value 0.01 apart. Not completely done yet but it’s hard already to decide which one is closest to perfection.
What lightning do you use to decide which one is best?

Sadly XPilas pics are super crappy as would be mine from an iPhone 5s:-)

Posted : 29/04/2018 10:54 pm
Crunch
(@crunch)
Estimable Member
Re: How to use and tune the new linearity correction?

How does one disable correction on all axes as described by XPila below?

Decrease correction by 0.01 does he mean starting at 1.100 then printing 1.099 etc? This would take a lot if tests prints no?

Disable correction for all axes, print the sample gcode (diagonal moire should be visible).
Enable correction for E axis, good starting value is 1.100, print the sample. If you have luck, moire disappears.
Decrease correction by 0.01, print sample, compare it. Repeat this step until moire disappears.
Fine tune correction (+-0.005).

The Latest Firmware can be found here https://github.com/prusa3d/Prusa-Firmware/releases
Open Firmware Issues https://github.com/prusa3d/Prusa-Firmware/issues

Posted : 30/04/2018 12:16 am
eric.d14
(@eric-d14)
Eminent Member
Re: How to use and tune the new linearity correction?

Does this require a custom firmware build with the experimental options enabled or is it accessible from console gcode?

Posted : 30/04/2018 2:23 am
stahlfabrik
(@stahlfabrik)
Honorable Member
Topic starter answered:
Re: How to use and tune the new linearity correction?


How does one disable correction on all axes as described by XPila below?

Decrease correction by 0.01 does he mean starting at 1.100 then printing 1.099 etc? This would take a lot if tests prints no?

Disable correction for all axes, print the sample gcode (diagonal moire should be visible).
Enable correction for E axis, good starting value is 1.100, print the sample. If you have luck, moire disappears.
Decrease correction by 0.01, print sample, compare it. Repeat this step until moire disappears.
Fine tune correction (+-0.005).

As far as I understand you cannot. The 3.2.0 firmware just offers the E value to be modified. His words are a few months old - I did not look into it then - I can just guess that there were also the other axis accessible back then?

Posted : 30/04/2018 7:35 am
stahlfabrik
(@stahlfabrik)
Honorable Member
Topic starter answered:
Re: How to use and tune the new linearity correction?


Does this require a custom firmware build with the experimental options enabled or is it accessible from console gcode?

Hi Eric, it is in settings-menu in 3.2.0-RC2.

Posted : 30/04/2018 7:36 am
Crunch
(@crunch)
Estimable Member
Re: How to use and tune the new linearity correction?

has anyone have settings they can share that have worked for them

The Latest Firmware can be found here https://github.com/prusa3d/Prusa-Firmware/releases
Open Firmware Issues https://github.com/prusa3d/Prusa-Firmware/issues

Posted : 30/04/2018 8:21 pm
stahlfabrik
(@stahlfabrik)
Honorable Member
Topic starter answered:
Re: How to use and tune the new linearity correction?

I think I have found my setting:

first I had to learn what to look out for, so I did a huge sweep over the range until I understood how to decide:-)

Still I do not know if I want to take the highest value, where the moiree is gone? Or any value where the moiree is gone? because to me it looks like at one point, the moiree is gone and seems so stay gone?

The value seems highly personal - I still had moiree with the recommended starting values of 1.110. It is gone with 1.055 - maybe already with 1.060.

If you ask yourself how the moiree looks: go for >1.13

Posted : 30/04/2018 9:05 pm
Rainer
(@rainer)
Trusted Member
Re: How to use and tune the new linearity correction?

That pic looks very familiar 😀 . i used single wall cubes to calibrate and ended up using 1.065 as my correction value.

Blog: https://schlosshan.eu
Thingiverse: https://www.thingiverse.com/rainers/collections/rainers-customizable-things
Prusaprinters: https://www.prusaprinters.org/social/6508-rainer/collections/6900
Happy printing 😉

Posted : 01/05/2018 8:41 am
Nospoon
(@nospoon)
Eminent Member
Re: How to use and tune the new linearity correction?


has anyone have settings they can share that have worked for them

There's no universal setting that works for everyone, you need to figure out the value that works for your printer. There is now a test tower gcode included on the wiki page, so just use that.

Posted : 10/05/2018 11:58 pm
stahlfabrik
(@stahlfabrik)
Honorable Member
Topic starter answered:
Re: How to use and tune the new linearity correction?

I am curious how that new calibration tower works out for me. Has anybody tried it yet?

Posted : 11/05/2018 5:56 pm
jettoblack
(@jettoblack)
Trusted Member
Re: How to use and tune the new linearity correction?

I just tried the tower and ended up with a best setting around 1.05 - 1.06, same as you.

Posted : 11/05/2018 7:44 pm
stahlfabrik
(@stahlfabrik)
Honorable Member
Topic starter answered:
Re: How to use and tune the new linearity correction?

I did it too! Also 1.05 or 1.06 - again:-)

So I now wonder if one could do the milli tower for the range 1.045 to 1.065 for example.

Will look into the code...

Posted : 11/05/2018 8:24 pm
stahlfabrik
(@stahlfabrik)
Honorable Member
Topic starter answered:
Re: How to use and tune the new linearity correction?

Where in the firmware can I find the
TMC_SET_WAVE_Exxx code?

I can’t find it. I must be stupid.

Posted : 11/05/2018 8:53 pm
Nospoon
(@nospoon)
Eminent Member
Re: How to use and tune the new linearity correction?

The surface difference was super subtle on my test tower, ended up with value of 1.055.

Posted : 11/05/2018 9:20 pm
stahlfabrik
(@stahlfabrik)
Honorable Member
Topic starter answered:
Re: How to use and tune the new linearity correction?


Where in the firmware can I find the
TMC_SET_WAVE_Exxx code?

I can’t find it. I must be stupid.

It is "obfuscated" -LOL:

In Marlin_main.cpp:
else if (strncmp_P(CMDBUFFER_CURRENT_STRING, PSTR("TMC_"), 4) == 0)
{
if (strncmp_P(CMDBUFFER_CURRENT_STRING + 4, PSTR("SET_WAVE_E"), 10) == 0)
{
uint8_t fac = (uint8_t)strtol(CMDBUFFER_CURRENT_STRING + 14, NULL, 10);
tmc2130_set_wave(E_AXIS, 247, fac);
}
else if (strncmp_P(CMDBUFFER_CURRENT_STRING + 4, PSTR("SET_STEP_E"), 10) == 0)
{
uint8_t step = (uint8_t)strtol(CMDBUFFER_CURRENT_STRING + 14, NULL, 10);
uint16_t res = tmc2130_get_res(E_AXIS);
tmc2130_goto_step(E_AXIS, step & (4*res - 1), 2, 1000, res);
}
}[code]

Posted : 12/05/2018 12:39 am
stahlfabrik
(@stahlfabrik)
Honorable Member
Topic starter answered:
Re: How to use and tune the new linearity correction?

One more post in to complete the monolgue:

I now made myself a fine tune tower for the range of 1.046 to 1.063 like this:
sed -e 's/TMC_SET_WAVE_E30/TMC_SET_WAVE_E46/g; s/TMC_SET_WAVE_E40/TMC_SET_WAVE_E47/g; s/TMC_SET_WAVE_E50/TMC_SET_WAVE_E48/g; s/TMC_SET_WAVE_E60/TMC_SET_WAVE_E49/g; s/TMC_SET_WAVE_E70/TMC_SET_WAVE_E50/g; s/TMC_SET_WAVE_E80/TMC_SET_WAVE_E51/g; s/TMC_SET_WAVE_E90/TMC_SET_WAVE_E52/g; s/TMC_SET_WAVE_E100/TMC_SET_WAVE_E53/g; s/TMC_SET_WAVE_E110/TMC_SET_WAVE_E54/g; s/TMC_SET_WAVE_E120/TMC_SET_WAVE_E55/g; s/TMC_SET_WAVE_E130/TMC_SET_WAVE_E56/g; s/TMC_SET_WAVE_E140/TMC_SET_WAVE_E57/g; s/TMC_SET_WAVE_E150/TMC_SET_WAVE_E58/g; s/TMC_SET_WAVE_E160/TMC_SET_WAVE_E59/g; s/TMC_SET_WAVE_E170/TMC_SET_WAVE_E60/g; s/TMC_SET_WAVE_E180/TMC_SET_WAVE_E61/g; s/TMC_SET_WAVE_E190/TMC_SET_WAVE_E62/g; s/TMC_SET_WAVE_E200/TMC_SET_WAVE_E63/g' PLA_MK3_ECOR_TOWER.gcode > PLA_MK3_fine_ECOR_TOWER.gcode

I will test it now. SOOO much easier than printing all these cubes:-)

Edit:

It works like a charm - although it is NOT easy to pic out the optimal step at the milli resolution:-)

So yeah, with a simple search and replace you could create your fine tune tower.

Posted : 12/05/2018 1:03 am
Page 1 / 2
Share: