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

    Connect a water flow sensor --> will M591 P7 work in Laser mode?

    Scheduled Pinned Locked Moved Solved
    Laser Cutters
    4
    50
    2.2k
    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.
    • paulg4hundefined
      paulg4h
      last edited by paulg4h

      Hello,

      I plan to add a flow sensor to detect and monitor the water flow for the laser tube cooling.

      Can I use it as a smart filament sensor like in printer mode to pause the execution when the flow gets to low?

      Many Thanks in advance!

      cosmowaveundefined 1 Reply Last reply Reply Quote 0
      • cosmowaveundefined
        cosmowave @paulg4h
        last edited by

        @paulg4h
        i have added my flow sensor (acting like a switch) on the E0 endstop with:

        M950 J1 C"!^E0STOP"
        

        then i activate a trigger (trigger2.g) when no flow is detected:

        M581 P1 T2 S0 R0
        

        Mankati FSXT+, DeltaTowerV2, E3D MS/TC

        1 Reply Last reply Reply Quote 0
        • paulg4hundefined
          paulg4h
          last edited by

          Many thank's for your support, I will try it and report if its working for me too!

          cosmowaveundefined 1 Reply Last reply Reply Quote 0
          • cosmowaveundefined
            cosmowave @paulg4h
            last edited by

            @paulg4h
            Eventually it is important which FW you use!

            My code is for RRF 3.3, i don't know if it works in earlier versions...

            Mankati FSXT+, DeltaTowerV2, E3D MS/TC

            paulg4hundefined 1 Reply Last reply Reply Quote 0
            • paulg4hundefined
              paulg4h @cosmowave
              last edited by

              @cosmowave
              Which flow sensor to you use exactly?

              I use this one:
              https://www.hobbytronics.co.uk/datasheets/sensors/YF-S201.pdf

              I also use the RRF in the latest beta version 3.3-RC3_2

              cosmowaveundefined 1 Reply Last reply Reply Quote 0
              • cosmowaveundefined
                cosmowave @paulg4h
                last edited by

                @paulg4h
                My sensor is different to yours, because it is acting like a switch (only on or off). I don't know the correct word in english, internally is something like a floating body.

                Your sensor is measuring the flow like a tacho signal. So, i think you should write an other routine to detect your flow.
                I think, the duet board has the possibility to read tacho signals...

                Mankati FSXT+, DeltaTowerV2, E3D MS/TC

                paulg4hundefined 1 Reply Last reply Reply Quote 0
                • paulg4hundefined
                  paulg4h @cosmowave
                  last edited by paulg4h

                  @cosmowave

                  like the smart filament sensor for printers, but is this usable in laser mode too?

                  Which sensor to you use?

                  cosmowaveundefined o_lampeundefined 2 Replies Last reply Reply Quote 0
                  • cosmowaveundefined
                    cosmowave @paulg4h
                    last edited by

                    @paulg4h
                    I use this one:
                    (https://www.conrad.ch/de/p/binsack-durchfluss-sensor-4001-2-a014-17007-messbereich-0-5-0-6-l-min-1-st-1304754.html)

                    Mankati FSXT+, DeltaTowerV2, E3D MS/TC

                    1 Reply Last reply Reply Quote 0
                    • o_lampeundefined
                      o_lampe @paulg4h
                      last edited by

                      @paulg4h said in Connect a water flow sensor in laser mode:

                      like the smart filament sensor for printers, but is this usable in laser mode too?

                      Why not? The filament sensor causes the printer to pause. It's your choice, what you put into the pause-macro.
                      Another option would be an thermistor to check water temp, but that's a slow reaction.

                      cosmowaveundefined dc42undefined 2 Replies Last reply Reply Quote 0
                      • cosmowaveundefined
                        cosmowave @o_lampe
                        last edited by

                        @o_lampe
                        A temp sonsor will not be the best solution in case of a leak!

                        Mankati FSXT+, DeltaTowerV2, E3D MS/TC

                        paulg4hundefined 1 Reply Last reply Reply Quote 0
                        • paulg4hundefined
                          paulg4h @cosmowave
                          last edited by paulg4h

                          I think a flow sensor and a thermistor would be the best solution, if any of them are triggered the laser should be pause the job.

                          Same for the lid switch.

                          1 Reply Last reply Reply Quote 1
                          • dc42undefined
                            dc42 administrators @o_lampe
                            last edited by

                            @o_lampe said in Connect a water flow sensor --> will M591 P7 work in Laser mode?:

                            @paulg4h said in Connect a water flow sensor in laser mode:

                            like the smart filament sensor for printers, but is this usable in laser mode too?

                            Why not? The filament sensor causes the printer to pause. It's your choice, what you put into the pause-macro.
                            Another option would be an thermistor to check water temp, but that's a slow reaction.

                            The filament monitor code for laser, magnetic and pulse-generating sensors looks for differences between commanded and measured extrusion. So you can't use it for a laser because there is no extrusion.

                            OTOH you could configure a dummy fan with tacho, with your sensor connected to the fan tacho input. Then use the daemon.g file to monitor the tacho reading.

                            Duet WiFi hardware designer and firmware engineer
                            Please do not ask me for Duet support via PM or email, use the forum
                            http://www.escher3d.com, https://miscsolutions.wordpress.com

                            1 Reply Last reply Reply Quote 1
                            • paulg4hundefined
                              paulg4h
                              last edited by

                              @dc42
                              Many thanks, now I get the rpm from the sensor, but maybe you are so kind to tell me how to read the value in daemon.g and check if it is below a threshold and pause the machine in that case.

                              http://192.168.199.203/rr_model?key=fans
                              returns:
                              {"key":"fans","flags":"","result":[{"actualValue":0,"blip":0.10,"max":1.00,"min":0.10,"name":"","requestedValue":0,"rpm":203,"thermostatic":{"heaters":[]}}],"next":0}

                              cosmowaveundefined 1 Reply Last reply Reply Quote 0
                              • cosmowaveundefined
                                cosmowave @paulg4h
                                last edited by

                                @paulg4h
                                you should have a look to the object model for correct naming... i'm not at the machine...
                                But it will be something like this:

                                if fans[n].rpm < xxx
                                    M25
                                

                                Mankati FSXT+, DeltaTowerV2, E3D MS/TC

                                paulg4hundefined 1 Reply Last reply Reply Quote 0
                                • paulg4hundefined
                                  paulg4h @cosmowave
                                  last edited by paulg4h

                                  @cosmowave
                                  this is now my daemon.g content

                                  if job.duration = null
                                      ; No job ignore sensor reading
                                  else
                                      ; Check Water Flow
                                      if fans[0].rpm < 100
                                          G4 P10
                                          if fans[0].rpm < 100
                                              G4 P10
                                              if fans[0].rpm < 100
                                                  M25
                                                  M118 S"No Water flow!" 
                                      ; Check water temperature
                                      if sensors.analog[0].lastReading > 35
                                          G4 P10
                                          if sensors.analog[0].lastReading > 35
                                              G4 P10
                                              if sensors.analog[0].lastReading > 35
                                                  M25
                                                  M118 S"Water to hot!"
                                  
                                  paulg4hundefined 1 Reply Last reply Reply Quote 0
                                  • paulg4hundefined
                                    paulg4h @paulg4h
                                    last edited by

                                    @dc42 @cosmowave

                                    Now even with three times reading the rpm and the delay the job pauses with the message no water flow.

                                    How can I prevent this?

                                    cosmowaveundefined 1 Reply Last reply Reply Quote 0
                                    • cosmowaveundefined
                                      cosmowave @paulg4h
                                      last edited by

                                      @paulg4h
                                      First: check if your rpm is > 100

                                      Mankati FSXT+, DeltaTowerV2, E3D MS/TC

                                      1 Reply Last reply Reply Quote 0
                                      • paulg4hundefined
                                        paulg4h
                                        last edited by

                                        @cosmowave this works now, many thanks!

                                        paulg4hundefined 1 Reply Last reply Reply Quote 0
                                        • paulg4hundefined
                                          paulg4h @paulg4h
                                          last edited by paulg4h

                                          For everyone now the water flow sensor and even the water temperature monitored by RRF worked and pause the job when the water flow is to low or the water temperature is to high.

                                          I use the YF-S201 as Flow Meter connected to the SKR 1.4T Board on the BLTouch Connector (servo and probe) pins. The thermistor is connected to the bed thermistor input also.

                                          then I add in config.g

                                          ; Tools --> Laser Water Flow
                                          M950 F0 C"!fan0+^probe"                          ; Fan 0 uses the Fan0 output, but we are using a PWM fan so the output needs to be inverted, also we are using probe as a tacho input with pullup resistor enabled
                                          
                                          ; Tools --> Laser Water Temperature
                                          M308 S0 P"bedtemp" Y"thermistor" T100000 B4092 ; configure sensor 0 as thermistor on pin bedtemp
                                          

                                          then add the daemon.g file with this content too:

                                          if job.duration = null
                                              ; No job ignore sensor reading
                                          else
                                              ; Check Water Flow
                                              if fans[0].rpm < 100
                                                  G4 P10
                                                  if fans[0].rpm < 100
                                                      G4 P10
                                                      if fans[0].rpm < 100
                                                          G4 P10
                                                          if fans[0].rpm < 100
                                                              M25                            ; pause job
                                                              M118 S"No Water flow!"         ; write msg
                                              ; Check water temperature
                                              if sensors.analog[0].lastReading > 35
                                                  G4 P10
                                                  if sensors.analog[0].lastReading > 35
                                                      G4 P10
                                                      if sensors.analog[0].lastReading > 35
                                                          M25                                 ; pause job
                                                          M118 S"Water to hot!"               ; write msg
                                          

                                          Many thank's for all your help!

                                          o_lampeundefined 1 Reply Last reply Reply Quote 0
                                          • o_lampeundefined
                                            o_lampe @paulg4h
                                            last edited by

                                            @paulg4h
                                            Thanks for sharing!
                                            I'm just wondering, if there's a different way to code this (G4 P10)?
                                            Eg. using a counter variable or iteration?
                                            You can keep it like that, but if there's more code in daemon.g (for Lid control?) you don't want daemon.g to stick in a if-iteration with lots of G4.

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