Filament force measurement system
-
The idea
Measure the force required for extrusion during transient.
The approach is not new, we tackle the task similar to- Duet forum thread
- Renkforce rf2000 uses a similar system
How we do it - mechanics
- Separate extruder from cold/hot end with load cells TAL220G
- A first fixture is used to screw the extruder on top of the load cells. The extruder has a M7 thread wich is used with an aluminium tube to fix it to the fixture and with a short PTFE tube inside to guide the filament to the coldend.
- A second fixture is an angled bracket used to screw the load cells on the MGN12H carriage.
- A third fixture represents the cold end and aligns with the filament path from the extruder. The 4mm hole at the top is used to provide for another short PTFE tube that guides the filament to the heatbreak. A M7 thread at the bottom allows to attach a E3D V6 hotend.
All three mentioned fixtures were manufactured by 3CTS and it became possible for me to realize this idea at all. Thanks guys!
How we do it - electronics + software
- One of the load cells is attached to a HX711, which in turn is connected to a raspberry pi zero w. There is four load cells, as I was not sure for how much force I needed to prepare for and the 1.5kg sensors were cheap and readily available (the 3kg option was not in stock at the time, so I went for it this way). I guess it could make sense to remove two of the four sensors and improve the sensitivity - but I find the result satisfying already.
- Software readout is done according to Github link
- The HX711 is supplied with 5V from the Pi and takes 80 samples per second, which seems to be sufficient for useful readings, but does not give insight if you want to see what is happening during a retract (which takes only ~10ms in my setup).
- Display the readings at a webpage and embed it within the Duet Web Control.
Gallery - first and second fixture
Gallery - third fixture/coldend
Gallery - full assembly
Exemplary reading
Here you can take a look at the readings from an exemplary print with three retractions taking place. unit=grams
Well, I am still playing with it trying to find out what information can be gained from this system. For now, it helped me dial in retraction and pressure advance, but in the end it does not waive calibration prints. Any suggestions welcome!
-
@wurstkarton said in Filament force measurement system:
For now, it helped me dial in retraction and pressure advance,
Very interesting. Can you explain how you use these force measurements to calibrate pressure advance and retraction?
Also, would be nice to correlate the force vs time graph with the motor position, in microstep ('electrical' position) and with an actual rotational decoder ('mechanical' position).
EDIT: One more question, does the force correlate proportionally to the pressure at the nozzle?
EDIT2: Is the force them same if you actually print or print in the air, with nozzle not touching the bed? (To understand the potential back pressure from the print itself)
-
@wurstkarton
What would it take to integrate the loadcell readings into RRF? Would it make sense to establish a constant pressure print mode? (like constant volume slicing)
I also see opportunities to detect skipped extruder-steps and help tuning filament temp. -
@zapta said in Filament force measurement system:
@wurstkarton said in Filament force measurement system:
For now, it helped me dial in retraction and pressure advance,
Very interesting. Can you explain how you use these force measurements to calibrate pressure advance and retraction?
Well, I am still trying to understand it myself.
The idea is to perform the typical K-factor calibration test where you vary the speed on a straight line and check for the change in extrusion force. You want the force to change quickly to its next static value without much overshoot.
For retraction it's similar (you want the force to disappear (it will be a bit negative) after retraction and be back at its static value after unretract), you can also check the Airtripper webpage. Something similar was done there, but for a bowden system.Also, would be nice to correlate the force vs time graph with the motor position, in microstep ('electrical' position) and with an actual rotational decoder ('mechanical' position).
I guess you could do that, but I'd need some sort of information from the Duet to process in the Pi to align time with the motor position.
EDIT: One more question, does the force correlate proportionally to the pressure at the nozzle?
Yes, pretty much. This depends on how you apply the principle of intersection. The load cell is placed between coldend and extruder. You will see any force that can move the load cell:
- The force required to "press" filament through the nozzle+heatbreak.
- The force required to pull filament from the roll.
What you will not see in the measurement:
- The force from touching the heatbed with the nozzle. (in comparison the renkforce rf2000 fixture would see this)
EDIT2: Is the force them same if you actually print or print in the air, with nozzle not touching the bed? (To understand the potential back pressure from the print itself)
I think you can see a difference, but I did not pay attention to it (yet). If the nozzle is too close to the bed, then you need much more force to press the filament through. Hence, we should see that in the measurement (but you cannot measure the distance to the bed just by touching it with the nozzle).
-
@o_lampe said in Filament force measurement system:
@wurstkarton
What would it take to integrate the loadcell readings into RRF?For now, I just use the webcam functionality of DWC to display the readings.
Would it make sense to establish a constant pressure print mode? (like constant volume slicing)
Not really, I do not think that it would help. At every corner or turn the nozzle takes, the pressure will not (and must not) be constant (you need to decelerate there and hence extrusion rate will reduce and hence pressure too).
I also see opportunities to detect skipped extruder-steps and help tuning filament temp.
Yes, this should work.
-
@wurstkarton said in Filament force measurement system:
The HX711 is supplied with 5V from the Pi and takes 80 samples per second
It's not that difficult to increase the sampling rate up to 140 samples/sec by adding a crystal and changing a jumper. The data sheet has the necessary information. For example, I increased mine to 100Hz with a 13824000 HZ crystal.
-
@zapta said in Filament force measurement system:
@wurstkarton said in Filament force measurement system:
The HX711 is supplied with 5V from the Pi and takes 80 samples per second
It's not that difficult to increase the sampling rate up to 140 samples/sec by adding a crystal and changing a jumper. The data sheet has the necessary information. For example, I increased mine to 100Hz with a 13824000 HZ crystal.
Thanks for the info, but I think also 140 samples/sec are not enough. I'd guess I need 1k samples a second to make a real difference for taking a closer look at e.g. retraction.
Nothing that could not be solved with a reasonable DAC and instrumentation amplifier, but nothing that I'll do soon... -
Here is a video on the topic, measuring the force applied on the hotend by the extruder, in a dedicated test contraption.