[SOLVED] Firmware settings issue after filament calibration

Original topic name: Filament extrusion calibrated, issue with loading/unloading.

Today I changed the number steps/mm for the extruder from 200 to 148.7.
That number is based on a calibration test where I would get 134.5mm filament length when I asked for 100mm.
The default steps (DEFAULT_AXIS_STEPS_PER_UNIT) was set to 200 by default so I calculated 200*100/134.5=148.7 steps/mm.
After firmware upload, I checked that when asking for 100mm filament, I get exactly 100mm.
I can now print with 100% flow as default setting.

The print quality is as expected, but I suddenly notice an issue with loading/unloading the filamentā€¦
When I load the filament, push it 15mm into the tube, the automatic feeding now stops about 100mm before the hot end.
When unloading the filament, the same happens, about 100mm too short retraction.

Is there another setting in the firmware I should now adjust as well to load/unload filament properly?
I tried to find it in configuration.h but could not see a setting for it (I must have overlooked).

Anybody have a clue on how to change the parameter?

Thanks
Erik

YouĀ“ll find the G-Code for Loading in Ultralcd.cpp (line823)
The function is called lcd_load_menu_EXT1_PLA

IĀ“m not familar with GCode, but you will find the values to change there.

Please let us know, if you got it right, and how.

Thanks for pointing this out beemeeup!
The code states 300mm + 200mm movement as far as I can see (and understand).
I think that 500mm is based on the original 200steps/mm which was incorrect as it extracted 134.5mm in the ā€˜real worldā€™.
When I multiply 500mm with 1.345 it becomes 672.5mm.
I think that 672.5 is the correct length now that I calibrated the steps/mm for the extruder as the original 500mm was based on the (incorrect) default value of 200steps/mm.
I will change the values tomorrow and see what happens (with the hot end disconnected).

Erik

PS. I have been printing some PLA Lego bricks with 100% flow and 100% infill without issues tonight, Iā€™m happy with the extruder calibration so far :).

Ok, I got it to work :).

When you change the default 200 steps/mm for the extruder, you need to make sure the other extrusion parameters are set correctly as well.
The original firmware is based on 200 steps/mm and so are the extrusion lengths when loading/unloading the filament (ultralcd.cpp).
So when you adjust your extruder steps, you also need to adjust these settings.

However, thereā€™s a sneak setting you want to take care ofā€¦
In the load/unload section of ultralcd.cpp you find 2 lines of code to feed the filament.
Since it had 2 different speeds I thought Iā€™d change my settings to 500mm on the first move, then the other 172mm for the second (slower) feed.
That didnā€™t work, I only got the 172mmā€¦
In the end I found a EXTRUDE_MAXLENGTH which is a calculated value of 380mm based on the printer size, and marlin will probably ignore any extrusion command greater than that value. So finally, I ended up dividing the commands to stay within that length (350mm and 322mm) and that works!

So, my filament load settings are now:

static void lcd_load_menu_EXT1_PLA() { lcd_print_load_message(); lcd_return_to_status(); enquecommand_P(PSTR("M117 Preparing...")); enquecommand_P(PSTR("M106 S165")); enquecommand_P(PSTR("G28")); enquecommand_P(PSTR("G90")); enquecommand_P(PSTR("M82")); enquecommand_P(PSTR("G0 F12000 X100 Y100 Z100")); enquecommand_P(PSTR("T0")); enquecommand_P(PSTR("T1")); enquecommand_P(PSTR("T0")); enquecommand_P(PSTR("M104 T0 S210")); enquecommand_P(PSTR("M109 T0 S210")); enquecommand_P(PSTR("G92 E0")); enquecommand_P(PSTR("M83")); enquecommand_P(PSTR("G1 E350 F2000")); enquecommand_P(PSTR("G1 E322 F1000")); enquecommand_P(PSTR("M117 Feeding filament")); enquecommand_P(PSTR("G1 E90 F50")); enquecommand_P(PSTR("G28")); enquecommand_P(PSTR("G90")); enquecommand_P(PSTR("M82")); enquecommand_P(PSTR("M104 T0 S0")); enquecommand_P(PSTR("T0")); enquecommand_P(PSTR("M84")); enquecommand_P(PSTR("M117 Vertex is ready ")); }

And the unload code:

static void lcd_unload_menu_EXT1_PLA() { lcd_return_to_status(); enquecommand_P(PSTR("M117 Preparing...")); enquecommand_P(PSTR("M106 S165")); enquecommand_P(PSTR("G28")); enquecommand_P(PSTR("G90")); enquecommand_P(PSTR("M82")); enquecommand_P(PSTR("G0 F12000 X100 Y100 Z100")); enquecommand_P(PSTR("T0")); enquecommand_P(PSTR("T1")); enquecommand_P(PSTR("T0")); enquecommand_P(PSTR("M104 T0 S210")); enquecommand_P(PSTR("M109 T0 S210")); enquecommand_P(PSTR("G92 E0")); enquecommand_P(PSTR("M83")); enquecommand_P(PSTR("G1 E15 F50")); enquecommand_P(PSTR("M117 Unloading filament")); enquecommand_P(PSTR("G1 E-375 F2000")); enquecommand_P(PSTR("G1 E-375 F2000")); enquecommand_P(PSTR("G28")); enquecommand_P(PSTR("G90")); enquecommand_P(PSTR("M82")); enquecommand_P(PSTR("M104 T0 S0")); enquecommand_P(PSTR("T0")); enquecommand_P(PSTR("M84")); enquecommand_P(PSTR("M117 Vertex is ready ")); }

This leaves me with a proper (I hope) calibrated extruder and I can now use 100% flow as base settings for my PLA :).

Erik

Thank you for this! I have had this issue as well. None of the three PLA filaments I have tried matches anything near the default E-steps, so I have also had to lower it significantly, leading to the load/unload problem. I will try this asapā€¦ :slight_smile:

Hi,
Thanks alot for this findings!

For you lazy ones, Iā€™ve made all the necessary updates to the marlin files,
they can be found here, toghether with updated Repetier Host Settings for Cura:
http://www.speedyshare.com/5wgNc/flow-rate-fix.zip

Both ABS and PLA profiles have been updated to unload and load the filament properly.
Iā€™ve keept the same ratio between slow and fast feeding as the original firmware when loading the filament (Iā€™ve simply added a second line for fast feed to keep the extrusion under the EXTRUDE_MAXLENGTH)

Iā€™ve also updated the Vellman version string with a F (as in fixed flow rate) ā€œM:1.0 V:1.1F HEAD:1ā€

//BR, Mikael Granberg

1 Like

Nice!

If itā€™s ok whith you guys Iā€™ll put this on the Wiki.

@raby
Naturally, if you want to use my modified firmware please go ahead!
Just make sure I donā€™t get any false credits for finding the solution though :slight_smile:

//Cheers,

Mikael Granberg

Certainly you donā€™t need my permission for it?
If it is good info, put it up on the wiki :)!

Erik

@raby @migra @h60

I read this topic and wondered if this is still actual or has Velleman implemented this already in the latest firmware?
I think notā€¦ I resume it is an improvement for every Vertex user, so I will gratefully use the updated firmware. But in the zip-file there are 2 other files named FIX_PLA.RCF and FIX_SINGLE_HEAD.RCP. What do I have to do with those?

Thanks

[quote=ā€œsvdvā€]@raby @migra @h60

I read this topic and wondered if this is still actual or has Velleman implemented this already in the latest firmware?
I think notā€¦ I resume it is an improvement for every Vertex user, so I will gratefully use the updated firmware. But in the zip-file there are 2 other files named FIX_PLA.RCF and FIX_SINGLE_HEAD.RCP. What do I have to do with those?

Thanks[/quote]

i had the same problem and it got solved. you have to go into the slicer settings and there you can import in the section filament the FIX_PLA.RCF file and in the Extruder section you can import the FIX_SINGLE_HEAD.RCP file. I hope i could help you.

Thank you very much Recoon.
No problems with Ikea do-it-yourself kits, but this things are hard to find :slight_smile: