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

    UV LED control for syringe extruder

    Scheduled Pinned Locked Moved
    Gcode meta commands
    4
    8
    418
    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.
    • bludinundefined
      bludin
      last edited by

      I've built a nice syringe extruder tool for our E3D Toolchanger. Controlling the extrusion should be simple enough as it is largely analogous to filament extrusion. But I also need to control some UV LEDs to cure the extruded photopolymer and for practical reasons, I would like to (ab)use the hotend heater power for this (I'm open to proposals though). Basically, the LEDs should turn on as soon as extrusion starts and continue for an adjustable period (0.5-5") after extrusion stops. Would anybody know if and how this can be achieved?
      TIA, Beat

      dc42undefined 1 Reply Last reply Reply Quote 0
      • Phaedruxundefined Phaedrux moved this topic from General Discussion
      • Phaedruxundefined
        Phaedrux Moderator
        last edited by

        My first thought would be to do some post processing to find the extrusion start and then trigger the LEDs that way. If you wanted a more dynamic way of doing it you might be able to come up with some conditional logic and run it in deamon.g

        https://docs.duet3d.com/en/User_manual/Reference/Gcode_meta_commands

        Z-Bot CoreXY Build | Thingiverse Profile

        bludinundefined 1 Reply Last reply Reply Quote 0
        • bludinundefined
          bludin @Phaedrux
          last edited by

          @phaedrux Thanks for the hint, I will give it a try.
          Would it be possible to have G10/G11 call a retract/unretract macro?

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

            You can use M571 to set an output on during extrusion.
            You'd then have to figure out how to delay turning it off.
            I would think a timer relay with off delay would work.

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

              @bludin would it be sufficient to turn on the UV light during the start GCode, and then in the end GCode to delay for a short while and then turn it off?

              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

              bludinundefined 1 Reply Last reply Reply Quote 0
              • bludinundefined
                bludin @OwenD
                last edited by

                @owend thanks, also for making me aware of M571. I will consider moving to hardware-based solutions of I can't find one in software

                OwenDundefined 1 Reply Last reply Reply Quote 0
                • bludinundefined
                  bludin @dc42
                  last edited by

                  @dc42 thanks. that might be a viable workaround in many situations. I don't know yet how tight the off-timing needs to be to have all extruded material cured (at least to the point where it becomes dimensionally stable) while making sure that the curing does not propagate into the nozzle.

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

                    @bludin
                    About the only way I can think to do it in software is a bit convoluted.
                    EDIT: on second thought no need for half these steps
                    1: Use M571 to control an output pin . There doesn't need to be anything connected to it. relay or mosfet module
                    2: Connect to output of the relay to a GPIO pin
                    3: Create a trigger.g file for both rising & falling trigger events to update a couple of global variables with the led state required and current time.

                    4: Monitor the output pin in daemon.g to turn the led on and off when the sate is off and the current time > set time plus delay

                    Monitor the output in daemon.g.
                    Turn on the led if it's high and also set the stop time to "now + 5 seconds"
                    If it's low and current time is > stop time, turn off LED

                    You'd need to do the whole lot in a while loop if you need timing less than 10 seconds as that's the default cycle time for daemon.g

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