Sampling Filament Compression Force
Posted: Mon Mar 11, 2019 3:03 pm
Problem:
My Cura projects have different settings based on the profile of the part I'm printing. If I turn on the fan at a low height, the plate cannot keep up with the loss of heat, and there is a much greater risk of part delaminating from the bed. So, for the lower heights, I restrict fan operations. I also print at 250C with a .7mm nozzle to keep print times down. The part fans are needed to keep the part cool for this, so I also use minimum layer times. If I'm manually monitoring, I'll lower my nozzle temp to 220C and keep up the print speed. If the nozzle is too cold, the extruder forces become too high, and the extruder skips steps. There's a lot of conflicting needs between print quality, print speed, and heat management.
What I want to do:
Measure filament force as a feedback to manage some of these parameters.
I like my first layers hot and gooey for good adhesion, but after that, regulate filament rate and hot end temperature to match a Cura value. Maybe max calories per cubic centimeter?
How to do it:
It seems like this is not a Cura problem, but the Duet or other controller issue.
There's a strain gauge already built into the HE300. It's very noisy though, and the compression force is not transmitted through the tabs. A modified attachment could be made that causes filament force to be carried through the tabs/arms. I think if the strain gauge were sine wave modulated, and by analyzing in the frequency domain, a very good signal could be obtained.
During printing, if a desired nozzle pressure is known, and if the actual pressure is too low, then the travel speed can be increased, the nozzle temp can be decreased, or the filament rate can be increased.
Benefits:
Elimination of curled up corners that are too hot.
Elimination of filament grinding
Elimination of skipped extruder steps (related to grinding above)
Another method of automatic plate leveling (non contact) by printing a layer 1 mesh and iteratively modifying head height based on force feedback.
Another observation not related to this is that I would like to be able to set a nozzle temperature curve based on layer time. This would benefit by having other parameters adjust. Another idea would be to calculate how much heat is going into the part in a specific area. If more heat is going in than is being released, then either increase the layer time, or decrease the nozzle temperature. For maximum production, I manually decrease nozzle temperature now.
So, my question is, is anyone working on anything like this? Some of the features I'm interested in:
1) Modify nozzle temperature based on layer time
2) Incorporate noise tolerant force measurement (electronics work required). However, there may be benefits anyway with little or no hardware modification by analyzing in the frequency domain (no modulation), allowing known sources of error to be removed from the signal of interest.
3) Incorporate filament force into Duet/Cura (this is a big feature)
My Cura projects have different settings based on the profile of the part I'm printing. If I turn on the fan at a low height, the plate cannot keep up with the loss of heat, and there is a much greater risk of part delaminating from the bed. So, for the lower heights, I restrict fan operations. I also print at 250C with a .7mm nozzle to keep print times down. The part fans are needed to keep the part cool for this, so I also use minimum layer times. If I'm manually monitoring, I'll lower my nozzle temp to 220C and keep up the print speed. If the nozzle is too cold, the extruder forces become too high, and the extruder skips steps. There's a lot of conflicting needs between print quality, print speed, and heat management.
What I want to do:
Measure filament force as a feedback to manage some of these parameters.
I like my first layers hot and gooey for good adhesion, but after that, regulate filament rate and hot end temperature to match a Cura value. Maybe max calories per cubic centimeter?
How to do it:
It seems like this is not a Cura problem, but the Duet or other controller issue.
There's a strain gauge already built into the HE300. It's very noisy though, and the compression force is not transmitted through the tabs. A modified attachment could be made that causes filament force to be carried through the tabs/arms. I think if the strain gauge were sine wave modulated, and by analyzing in the frequency domain, a very good signal could be obtained.
During printing, if a desired nozzle pressure is known, and if the actual pressure is too low, then the travel speed can be increased, the nozzle temp can be decreased, or the filament rate can be increased.
Benefits:
Elimination of curled up corners that are too hot.
Elimination of filament grinding
Elimination of skipped extruder steps (related to grinding above)
Another method of automatic plate leveling (non contact) by printing a layer 1 mesh and iteratively modifying head height based on force feedback.
Another observation not related to this is that I would like to be able to set a nozzle temperature curve based on layer time. This would benefit by having other parameters adjust. Another idea would be to calculate how much heat is going into the part in a specific area. If more heat is going in than is being released, then either increase the layer time, or decrease the nozzle temperature. For maximum production, I manually decrease nozzle temperature now.
So, my question is, is anyone working on anything like this? Some of the features I'm interested in:
1) Modify nozzle temperature based on layer time
2) Incorporate noise tolerant force measurement (electronics work required). However, there may be benefits anyway with little or no hardware modification by analyzing in the frequency domain (no modulation), allowing known sources of error to be removed from the signal of interest.
3) Incorporate filament force into Duet/Cura (this is a big feature)