Duet3D Logo

    Duet3D

    • Register
    • Login
    • Search
    • Categories
    • Tags
    • Documentation
    • Order

    UV LED control for syringe extruder

    Gcode meta commands
    4
    8
    183
    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.
    • bludin
      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

      dc42 1 Reply Last reply Reply Quote 0
      • Moved from General Discussion by  Phaedrux Phaedrux 
      • Phaedrux
        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

        bludin 1 Reply Last reply Reply Quote 0
        • bludin
          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
          • OwenD
            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.

            bludin 1 Reply Last reply Reply Quote 1
            • dc42
              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

              bludin 1 Reply Last reply Reply Quote 0
              • bludin
                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

                OwenD 1 Reply Last reply Reply Quote 0
                • bludin
                  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
                  • OwenD
                    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