Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login

    Water-Cooling | Using PWM Tac on Flow Sensor to Trigger E-Stop

    Scheduled Pinned Locked Moved
    Duet Hardware and wiring
    4
    11
    742
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Phaedruxundefined
      Phaedrux Moderator
      last edited by

      It looks like it has a tach signal? In that case it could be monitored like a fan.

      https://duet3d.dozuki.com/Wiki/Connecting_and_configuring_fans#Section_Connecting_3_or_4_wire_fans

      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.

      Z-Bot CoreXY Build | Thingiverse Profile

      Jordan_Miller41undefined 1 Reply Last reply Reply Quote 0
      • piperswundefined
        pipersw
        last edited by pipersw

        ok, how do for read tacho in gcode ?

        1 Reply Last reply Reply Quote 0
        • Phaedruxundefined
          Phaedrux Moderator
          last edited by

          check the object model once you have the fan configured.

          https://duet3d.dozuki.com/Wiki/Object_Model_of_RepRapFirmware

          the object model browser plugin in 3.2 might be the easiest way to find the value.

          Z-Bot CoreXY Build | Thingiverse Profile

          1 Reply Last reply Reply Quote 0
          • Jordan_Miller41undefined
            Jordan_Miller41 @Phaedrux
            last edited by

            @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.

            • Jordan
            OwenDundefined 1 Reply Last reply Reply Quote 0
            • Phaedruxundefined
              Phaedrux Moderator
              last edited by

              In short, yes.

              See here: https://duet3d.dozuki.com/Wiki/Macros#Section_daemon_g
              https://duet3d.dozuki.com/Wiki/GCode_Meta_Commands

              Z-Bot CoreXY Build | Thingiverse Profile

              1 Reply Last reply Reply Quote 0
              • OwenDundefined
                OwenD @Jordan_Miller41
                last edited by OwenD

                @Jordan_Miller41
                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[1].current > 55) ; only react if extruder temp is over 55 degrees C (or whtever you have it configured to start/stop at)
                	if fans[1].rpm <= 1000 ; Coolant pump RPM off or low
                		echo "Water pump fault - shutting down - RPM : " ^ fans[1].rpm
                		M112; emergency shutdown
                		M81 S1 ; turn off power when fans have turned off
                	elif (fans[1].rpm > 1000) && (fans[1].rpm < 3000)
                		echo "WARNING: Water pump RPM low - RPM : " ^ fans[1].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[1].rpm
                
                Jordan_Miller41undefined 1 Reply Last reply Reply Quote 1
                • piperswundefined
                  pipersw
                  last edited by

                  Thanks !!

                  1 Reply Last reply Reply Quote 0
                  • Jordan_Miller41undefined
                    Jordan_Miller41 @OwenD
                    last edited by

                    @OwenD thank you so much! I will be implementing this in my build, I appreciate it!

                    • Jordan
                    OwenDundefined 1 Reply Last reply Reply Quote 0
                    • OwenDundefined
                      OwenD @Jordan_Miller41
                      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.

                      Jordan_Miller41undefined 1 Reply Last reply Reply Quote 0
                      • Jordan_Miller41undefined
                        Jordan_Miller41 @OwenD
                        last edited by

                        @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.

                        • Jordan
                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post
                        Unless otherwise noted, all forum content is licensed under CC-BY-SA