• Tags
  • Documentation
  • Order
  • Register
  • Login
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
707
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.
  • undefined
    Jordan_Miller41
    last edited by 20 Jan 2021, 13:42

    Hello all,

    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.

    • Jordan
    1 Reply Last reply Reply Quote 1
    • undefined
      Phaedrux Moderator
      last edited by 20 Jan 2021, 15:47

      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

      undefined 1 Reply Last reply 21 Jan 2021, 01:12 Reply Quote 0
      • undefined
        pipersw
        last edited by pipersw 20 Jan 2021, 15:52

        ok, how do for read tacho in gcode ?

        1 Reply Last reply Reply Quote 0
        • undefined
          Phaedrux Moderator
          last edited by 20 Jan 2021, 18:57

          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
          • undefined
            Jordan_Miller41 @Phaedrux
            last edited by 21 Jan 2021, 01:12

            @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
            undefined 1 Reply Last reply 21 Jan 2021, 05:12 Reply Quote 0
            • undefined
              Phaedrux Moderator
              last edited by 21 Jan 2021, 05:06

              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
              • undefined
                OwenD @Jordan_Miller41
                last edited by OwenD 21 Jan 2021, 05:12

                @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
                undefined 1 Reply Last reply 24 Jan 2021, 19:36 Reply Quote 1
                • undefined
                  pipersw
                  last edited by 21 Jan 2021, 09:12

                  Thanks !!

                  1 Reply Last reply Reply Quote 0
                  • undefined
                    Jordan_Miller41 @OwenD
                    last edited by 24 Jan 2021, 19:36

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

                    • Jordan
                    undefined 1 Reply Last reply 24 Jan 2021, 20:50 Reply Quote 0
                    • undefined
                      OwenD @Jordan_Miller41
                      last edited by 24 Jan 2021, 20:50

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

                      undefined 1 Reply Last reply 26 Jan 2021, 21:13 Reply Quote 0
                      • undefined
                        Jordan_Miller41 @OwenD
                        last edited by 26 Jan 2021, 21:13

                        @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
                        6 out of 11
                        • First post
                          6/11
                          Last post
                        Unless otherwise noted, all forum content is licensed under CC-BY-SA