Welcome! Log In Create A New Profile

Advanced

Filament diameter compensation

Posted by RGN01 
Filament diameter compensation
April 30, 2017 05:32AM
After battling to get a good print with a new filament I measured it and discovered that it was 1.67mm instead of the expected 1.75mm.

This explained why I wasn't getting a good print even after pushing the feed multiplier up to 1.05. I created a spreadsheet to help make the compensation calculations easier when faced with non-specification filament.

To use, simply measure the filament diameter in several places, average those measurements and then use the table to find the feed rate multiplier to arrive at the intended volume of feed.

I hope this is useful.

Richard
Attachments:
open | download - Filament Diameter Compensation.pdf (23.1 KB)
Re: Filament diameter compensation
April 30, 2017 08:46AM
Um, if you're measuring and calculating the filament diameter, why don't you just use that diameter when you slice? Or use volumetric extrusion and enter that filament diameter when you print (M200 d1.67 in this case). Extrusion multiplier/flow is used in lieu of measuring filament diameter. You print a test part and calculate extrusion multiplier/flow based on measuring the print. You really only need to do one or the other to ensure repeatable results.

I prefer to use measured filament diameter in 20-30 places to calculate the average diameter. I mark that diameter on the spool for future use. You can do the same with extrusion multiplier/flow.

Of course, neither method works if you don't calibrate the extruder...

Edited 1 time(s). Last edit at 04/30/2017 08:47AM by the_digital_dentist.


Ultra MegaMax Dominator 3D printer: [drmrehorst.blogspot.com]
Re: Filament diameter compensation
April 30, 2017 09:02AM
The reason I take this approach is simplicity - I slice the item with the 'nominal' filament size and can then save the GCODE for future use, making it easy to reprint it later using filaments that vary in size.

I do this quite a bit, often making the same item in different colours of filament - these can vary quite a bit in diameter so the approach of amending the flow multiplier works well. Effectively slice once and then make any necessary changes at print time. To date I've been doing this intuitively, increasing the flow rate by trial and error - now I can do it with a bit more logic behind it. Now that I have this table I will simply write the multiplier number on the spool after calculating it.

Works for me - and may help others who may also be very interested in the approach you mention.

Richard
Re: Filament diameter compensation
April 30, 2017 10:37AM
I do the same. In Simplify 3D it makes sense since you have a general setting for the default filament diameter (3 or 1.75mm) and an additional multiplier to adjust for the variation. I mark all my spools with the factor so i can just enter it at the machine when needed. My table is nearly identical to yours, just a bit shorter since i draw the line of usefullnes at 1.65mm and 1.82. Above and below i reject the filament since the extruder might run into mechanical problems.


[www.bonkers.de]
[merlin-hotend.de]
[www.hackerspace-ffm.de]
Re: Filament diameter compensation
April 30, 2017 11:12AM
If you alter the .FFF file for simplify3D you can have filament diameter for each material... I've done this for lots of settings, so that I can set it for layer height / material.

Its quite simple to do, simply open the .fff file in notepad and navigate to the section for material profiles. Search feature is quite handy here. Then add the settings you would like to change fore that material, for example


I can't remember what I've edited in here, but you can see filament diameter, price and density, cooling speed and g-code Z offset. And also for layer height/quality:


So now I can edit bottom / top layers, skirt layers, bridging multiplier, and first layer height/width

Its important to note that these can't conflict... For example, you may want to alter temperature with layer height, but that will conflict with your temp settings in the material profile. So it's not a fully automated process, but it does make S3D a damn sight easier and quicker to use.
*EDIT - excuse the image, inserting the code on the forums does weird things.

Edited 4 time(s). Last edit at 04/30/2017 11:36AM by Origamib.
Re: Filament diameter compensation
April 30, 2017 01:16PM
Quote
RGN01
The reason I take this approach is simplicity - I slice the item with the 'nominal' filament size and can then save the GCODE for future use, making it easy to reprint it later using filaments that vary in size.

I do this quite a bit, often making the same item in different colours of filament - these can vary quite a bit in diameter so the approach of amending the flow multiplier works well. Effectively slice once and then make any necessary changes at print time. To date I've been doing this intuitively, increasing the flow rate by trial and error - now I can do it with a bit more logic behind it. Now that I have this table I will simply write the multiplier number on the spool after calculating it.

Works for me - and may help others who may also be very interested in the approach you mention.

Richard

Interesting approach, but using a table to convert filament diameter to a flow/extrusion multiplier is completely unnecessary. You're already measuring and calculating average filament diameter. If you really like simplicity, all you have to do is tell the slicer (any slicer) that the filament diameter is 1.128379 mm when slicing, then give the printer the average diameter at print time, either via LCD menu (if you have LCD and run smoothieware), or use M200 command from the computer that's controlling your printer (works OK with any firmware, AFAIK). There's an explanation of volumetric extrusion here: [reprap.org]


Ultra MegaMax Dominator 3D printer: [drmrehorst.blogspot.com]
Re: Filament diameter compensation
April 30, 2017 01:43PM
So, my workflow is like this:

  1. Open Repetier Host
  2. click Server
  3. select a saved 'print' (GCode)
  4. hit Print
  5. select Manual Control
  6. type in the multiplier (calculated once per spool)

Then go and do something else, checking the print periodically using the webcam and wait for Repetier to tell me it is finished..

That's it - pretty simple, I'd say and best of all I can have someone do it for me without having to explain how to change slicer options or change settings on the LCD.

As I said, works for me! thumbs up

Richard
Re: Filament diameter compensation
April 30, 2017 02:01PM
I realize that having someone tell you the effort you put into compiling a table was wasted because the firmware can deal with the filament diameter anyway, is a bit of a forehead slapping, "Doh!" experience, but if you like using the table that you worked so hard on, keep using it.

Whatever floats yer boat...

Edited 1 time(s). Last edit at 04/30/2017 02:03PM by the_digital_dentist.


Ultra MegaMax Dominator 3D printer: [drmrehorst.blogspot.com]
Re: Filament diameter compensation
April 30, 2017 02:49PM
3 minutes with Excel doesn't quite hit the 'worked so hard on' scale for me but, hey, I was just trying to help others with a handy, easy, free way to do something. I really didn't expect a lecture!

Different strokes for different folks cool smiley

Richard
Re: Filament diameter compensation
April 30, 2017 03:06PM
Quote
RGN01
3 minutes with Excel doesn't quite hit the 'worked so hard on' scale for me but, hey, I was just trying to help others with a handy, easy, free way to do something. I really didn't expect a lecture!

Different strokes for different folks cool smiley

Richard
Three minutes? What took you so long? winking smiley


[www.bonkers.de]
[merlin-hotend.de]
[www.hackerspace-ffm.de]
Re: Filament diameter compensation
April 30, 2017 03:11PM
I made my morning coffee while doing it! thumbs up

Richard
Re: Filament diameter compensation
April 30, 2017 04:37PM
My policy is to buy good quality filament that is made accurately enough that I don't need to worry about variations in filament diameter. It costs a little more but I'm not just buying a consistent filament diameter, I'm also buying a filament composition that I know has good adhesion properties and a known extrusion temperature on my printers that produces good results.

I guess if you print high volumes then you might want to use cheaper filament. I found ESun filament quite accurate, although I sometimes had to adjust the extrusion factor in the printer interface by a few percent for best results. Once I found an ideal value, that would work well for the whole roll.



Large delta printer [miscsolutions.wordpress.com], E3D tool changer, Robotdigg SCARA printer, Crane Quad and Ormerod

Disclosure: I design Duet electronics and work on RepRapFirmware, [duet3d.com].
Re: Filament diameter compensation
April 30, 2017 05:22PM
Sorry, but i have yet to have a single filament that was 1.75mm for more than a meter of length. The variations may be often minor, but rolls with slightly more or slightly less are absolutely common. I had them from Esun as well. Even quality products like Taulman or Extrudr show quite a bit of divergence.
If you want to print good quality you have to take the exact diameter into account.


[www.bonkers.de]
[merlin-hotend.de]
[www.hackerspace-ffm.de]
Re: Filament diameter compensation
April 30, 2017 06:49PM
Haven't there been various attempts at filament diameter measurement and feedback, have they all failed because you really need to measure cross sectional area?

I start a print with generic extrusion multiplier settings and then tweak it by altering flow depending on how it prints.


Simon Khoury

Co-founder of [www.precisionpiezo.co.uk] Accurate, repeatable, versatile Z-Probes
Published:Inventions
Re: Filament diameter compensation
May 01, 2017 02:49AM
Have been thinking about this for a few days.

Am testing an idea and prototyping parts for the design at the moment to have an off-printer diameter sensor mounted after the spool.

Logic is :

Take 2 measurements of the filament diameter ( at 90 degrees apart to account for oval shaped filament ), and repeat the process multiple times for each 10mm of filament.

Average out the values, calc the new flow rate, and store the value in memory.

The encoder ( that measured each 10mm segment ) also tracks the amount of filament between the sensor and the extruder gear ( as it has a teflon tube from the sensor to the extruder and knows the distance from sensor to gear ).

As a measured section of filament gets to the extruder gear, the sensor controller adjusts the flow rate in Marlin.

This way the flow rate would be updated for every 1cm of filament as it reaches the extruder.
Re: Filament diameter compensation
May 01, 2017 09:23AM
Re: Filament diameter compensation, % of area?
July 23, 2017 09:43PM
I make filament corrections by altering the extrusion factor.

I didn't download the spreadsheet, but was curious if the sheet is using the filament difference in diameter or difference in area to compensate ?

Why does that matter? If you compare two sizes, one is 1.75Ø and the other is 1.65Ø, (about .004" difference) the diameter of the smaller is 94% of the larger, but the area, thus the material being delivered is 89% of the larger.

Would you want to extrude 110% for the 1.65Ø filament?
Sorry, only registered users may post in this forum.

Click here to login