Laser filament monitor
-
I wouldn't open the bottle of champagne yet though. Whilst it could offer gross calibration, precise calibration would require some manual input such as filament average diameter in order to get close to exact correct steps/mm. But its a big step in the right direction. A laser sensor to measure filament diameter and roundness and you'd be a lot closer to an auto-calibrating extruder.
I don't agree. The extruder steps/mm should be exactly what comes out of the extruder, and as such can be measured by the filament monitor. If the extrusion amount needs to be compensated for the filament diameter not being quote what not should be, IMO that is best compensated for in the slicer settings or the extrusion factor, not by setting the extruder steps/mm to a deliberately wrong value.
-
I think there are so many parameters influencing extrusion that steps/mm does not have to be that precise. I don't bother anymore to have a perfect match: I prefer printing a small part, check the top layer, and adjust extrusion ratio. And this ratio can have large variations with the extrusion temperature, speed and so (depending on the part I'm printing, and the final aspect and/or mechanical properties I need, I often change the printing temperature within 25°C range, and speed in a factor of 2).
However, the sensor output should be reproductible, and always give the same steps/mm value for a given filament.
-
@fma:
I think there are so many parameters influencing extrusion that steps/mm does not have to be that precise. I don't bother anymore to have a perfect match: I prefer printing a small part, check the top layer, and adjust extrusion ratio. And this ratio can have large variations with the extrusion temperature, speed and so (depending on the part I'm printing, and the final aspect and/or mechanical properties I need, I often change the printing temperature within 25°C range, and speed in a factor of 2).
However, the sensor output should be reproducible, and always give the same steps/mm value for a given filament.
Quite so. I find that the optimum extrusion factor depends on the filament - and not just because of variations in the the diameter.
I am hoping that the laser filament sensor will show the correct movement amount regardless of filament type, at least at low speeds. But more testing will be needed to confirm that, which will be easier when we have the prototypes.
-
I agree that it will enable you to set steps/mm if you're measuring mm moving past it accurately and consistently. But this is only the relationship between motor steps and linear filament movement, not filament extruded volumetrically, which is actually what we need to measure, albeit no scheme for doing so has proved fruitful.
As to whether you should use an extrusion multiplier in a slicer or change your steps/mm to compensate for variations in filament diameter (the cross-sectional area is obviously what you really need to measure) is semantic in that what is physically happening is that one motor turns pushing filament through a nozzle, you just need to know how much to turn the extruder to get the right amount of material out, any and all settings that contribute to this are all just different ways to label the same thing.
If the filament is softer and the drive gear bites into it harder reducing it's effective diameter then the filament monitor should be able to compensate for this automatically, so that great news.
If you want to make a genuinely autocalibrating extruder (not necessary for us enthusiasts/pros who've been printing for years, but quite important for a true consumer 3D printer) then you need to measure the cross-sectional area to cope with any filament you chose to load.
-
If you want to calibrate volumetric extrusion, then I agree, in principle you need to measure filament diameter too. But standard practice is to calibrate linear extrusion. If the filament is of high quality, then the diameter will be tightly controlled so it will also give you sufficiently accurate volumetric extrusion too. Nevertheless, different filaments swell by different amounts after extrusion, so even accurate volumetric extrusion doesn't guarantee that you won't need to adjust the extrusion factor.
-
Sure measuring die-swell would be hard. The only idea that might be feasible for true auto calibration of the extruder would be to extrude onto a glass section at the side of the bed, from a precise z-height, and measure using a CCD scanner sensor, or something similar the width of filament extruded then change the steps/mm and extrude again. In theory it would account for all necessary factors.
-
IMO, even with a perfectly calibrated extruder there may still be a need to alter the extrusion multiplier to compensate for say models which have a lot of short slow moves vs models which have predominantly long fast moves. Another factor which is related to that is temperature and by that I mean the temperature throughout the filament from outside edge to the core. The filament itself is a very poor thermal conductor so when printing at high(ish) speed, there is less time in the melt chamber so the inner core may be significantly cooler than the outer surface. So even measuring die swell at one fixed speed/temperature combination might not be a practical solution.
-
The schematic for Prusa's laser sensor has been published in his github. The part number on the print is PAT9125SEL
https://github.com/prusa3d/PRUSA_Laser_filament_sensor/blob/master/rev.02/laser-sensor.pdf
Slightly off topic but he has also published the power panic circuit. From the picture, I think it may need a slot routed in the pcb between L and N to meet UL creep distance.
-
Thanks, that confirms that the sensor we chose is the same one.
-
The schematic for Prusa's laser sensor has been published in his github. The part number on the print is PAT9125SEL
https://github.com/prusa3d/PRUSA_Laser_filament_sensor/blob/master/rev.02/laser-sensor.pdf
Slightly off topic but he has also published the power panic circuit. From the picture, I think it may need a slot routed in the pcb between L and N to meet UL creep distance.
Can confirm slot! Just received MK3.
-
Happy to hear that the laser sensor is on the way ;).
Would be happy to test it.
Had problems lately with filamentgrinding.
That would be a thing of the past then. -
For a while I've been toying with the idea of a filament thickness detector.
I often do 20 hour prints on 2.5kg spools, so the thickness of filament can vary a bit within a single print.
Supplier states 1.75mm +/- 0.05mm but I have found it to be closer to 0.08mmThe idea I've had so far is to use a digital tire gauge caliper, it's inexpensive, fairly accurate, and has a built-in serial output.
Reading the output with a small microcontroller (ESP8266) I can then adjust the flowrate.
For actual filament movement; A 16 bit resolution rotary encoder with a extruder gear on it.
I know these solutions are more mechanical than the current suggestions, but maybe they can inspire some new thoughts.
-
Does the section of your filament vary that much?
You need to measure the diameter in both directions, as the filament can be oval, and the section remaining the same…
-
@fma:
Does the section of your filament vary that much?
You need to measure the diameter in both directions, as the filament can be oval, and the section remaining the same…
Over a whole 2.5kg spool, it can vary quite a lot.
Yes, checking for OVALness will be very difficult, I have not thought of a solution to it yet
-
There are some very expensive laser-based diameter and roundness testing devices but they're $1500… Its whether there is a way to do it for a lot less, rotating the laser filament monitor that Duet3D are playing with around the filament?
-
…The idea I've had so far is to use a digital tire gauge caliper, it's inexpensive, fairly accurate, and has a built-in serial output.
http://www.ebay.co.uk/itm/NEW-Digital-Tyre-Tire-Tread-Brakes-Shoe-Pad-Wear-Depth-Gauge-Caliper-0-25mm-/321762696307
Reading the output with a small microcontroller (ESP8266) I can then adjust the flowrate.Nice idea, but would you press the gauge against the filament using a spring or something? I guess when a whole spool of filament passed this plastic toy, there would be a huge abraded hole in it.
-
I've just had notification that the prototype PCBs for the laser filament sensor are on their way to me from HK! I only ordered them last Sunday.
-
That's good news David
-
Nice to hear.
-
…The idea I've had so far is to use a digital tire gauge caliper, it's inexpensive, fairly accurate, and has a built-in serial output.
http://www.ebay.co.uk/itm/NEW-Digital-Tyre-Tire-Tread-Brakes-Shoe-Pad-Wear-Depth-Gauge-Caliper-0-25mm-/321762696307
Reading the output with a small microcontroller (ESP8266) I can then adjust the flowrate.Nice idea, but would you press the gauge against the filament using a spring or something? I guess when a whole spool of filament passed this plastic toy, there would be a huge abraded hole in it.
Idea was to have a small pulley attached to the end of the guage, (similar to pulleys found in extruders) so there will be no friction.