Water-Cooling | Using PWM Tac on Flow Sensor to Trigger E-Stop
Been working on my Senior Project of Water-cooling a Tool-changing 3D printer with the goal of printing HT Plastics (PEEK, PEKK, Etc.). I am using the HevORT as the "printer" and using E3D's hardware for the tool-changing operations.
I am looking for redundancy here, I want a "failsafe" for my water loop should my pump stop working. I found this "flow indicator" and from what I see, it uses a 3 pin connection, and typically plugs into a fan header on a motherboard, this makes sense to me.
Check it out HERE
My question is, how would I trigger an "E-Stop", or "Kill heat" command with this Flow meter's Tach reading "zero", which would indicate a stoppage of flow.
Let me know if you have any ideas.
Thanks in advance.
It looks like it has a tach signal? In that case it could be monitored like a fan.
Then once you have the tach reading you could use daemon.g in RRF3 and conditional gcode to monitor the RPM and pause if it drops.
pipersw last edited by pipersw
ok, how do for read tacho in gcode ?
check the object model once you have the fan configured.
the object model browser plugin in 3.2 might be the easiest way to find the value.
@Phaedrux from what I've researched yes, appears to be a tach signal, like PWM fans. So, reprap newb question, is there anyway to run a macro command from this conditional? Or could it sequentially run pause.g and then cancel.g? Just thinking out loud.
In short, yes.
OwenD last edited by OwenD
Yes, you can react in whatever fashion you choose.
You should have the flow sensor in the return line just before the radiator.
Something like this in daemon.g should work. (You'll need to adjust levels to suit your sensor and flow rate. Mine runs at about 3500rpm)
Likewise you'll need to adjust the fan ID to suit your configuration.
;Check if water pump is running correctly if (heat.heaters.current > 55) ; only react if extruder temp is over 55 degrees C (or whtever you have it configured to start/stop at) if fans.rpm <= 1000 ; Coolant pump RPM off or low echo "Water pump fault - shutting down - RPM : " ^ fans.rpm M112; emergency shutdown M81 S1 ; turn off power when fans have turned off elif (fans.rpm > 1000) && (fans.rpm < 3000) echo "WARNING: Water pump RPM low - RPM : " ^ fans.rpm if (state.status=="processing") ; check if we're printing M25 ; pause print so you might be able to save it using M119 ;M41 P5 S1 ; activate output connected to externally powered latching relay here to sound alarm M0 ; unconditional stop. If axes are homed and a print is being canceled will run cancel.g otherwise will run stop.g M81 S1 ; turn off power when fans have turned off else ;echo "Coolant OK - RPM : " ^ fans.rpm
pipersw last edited by
@OwenD thank you so much! I will be implementing this in my build, I appreciate it!
OwenD last edited by
@Jordan_Miller41 you may want a day of a few seconds at the start of daemon.g
Something like G4 S2
Otherwise there's a possibility that if you do a restart when the nozzle is hot, it may initiate a shutdown before the fan/impeller is up to speed.
@OwenD good thing to think about, I will be attempting to integrate this logic here in the next few weeks when the parts all roll in.