Simultaneous Tools working



  • Hey,

    I want to run tool 0 (extruder) with tool 1 (fan) and able to turn on and off tool 1 as desired.

    I'll extrude 1000 mm of tool 0 while turning the fan on.

    the question isn't really about assigning a fan but if it's possible to run more than tool simultaneously and manually without running a g-code file. ?

    thanks



  • @cj-bravo You could create a third tool that uses both extruder drives and whatever heater/fan combination you want. You'd need to set the mixing ratio to 1.00:1.00



  • @deckingman

    ok

    so I can't activate two tools at the same time ?



  • @cj-bravo said in Simultaneous Tools working:

    @deckingman

    ok

    so I can't activate two tools at the same time ?

    I don't believe so. If it were possible, I can foresee many instances where sending certain commands would lead to havoc if more than 1 tool was active. However, there is nothing stopping you from creating a single tool that combines multiple extruders, heaters and fans.



  • @deckingman

    that is correct but my work flow can get messy cause as I understood there isn't a "stop" button for reprap.

    for instance: I extrude 1000 mm on tool 0 (with no fan) then I'd like to stop it from extruding (a potential 'stop button') then I'll hit tool 2 which has an extruder and fan setup.

    nowadays I hit the emergency stop button and wait for the system to reboot then I change the tool settings as needed.

    that's why I wanted to know if I can use two tool as the same time. Or a stop button for a quick fix to my settings- the reboot time is too long...



  • That sounds like a simple Tool Change sequence rather than 2 tools simultaneously in use!!



  • @cj-bravo Not sure that I fully understand what it is you are trying to achieve. Are you saying that you want to send a command to extrude a 1000mm of filament but at any time, you want to stop that extrusion from completing? If so, how would having 2 tools extruding simultaneously help? Or if that isn't the case, can you elaborate on what it is you actually want to achieve?

    You can of course set up an external trigger - potentially to connect a switch to use a spare end stop and use that trigger to run a macro - take a look at M581 and see if that will do want you want.



  • @deckingman said in Simultaneous Tools working:

    M581

    the story's like this:

    I have tool 0 which is an extruder with a heating element.
    I am running some experiments to test filament behavior with that extruder.
    what I usually do is to manually operate the extruder - e.g 1000mm in 5 mm/s with 140c temp.

    during that run I would like to stop the extruder and change it to a faster speed for instance - 10 mm/s.

    in order to change the speed nowadays I press "emergency stop" , change the speed and start again (reboot time is slow and need to redo settings).

    Ideally I'd like to have some way to change the speed instantly - like changing the temp tool.
    I know I can run a simple g-code and change the speed factor but I dont want the hassle of running a g-code file.

    That is the main scenario.

    the whole issue with the fans is that for tool 0 I also have 4 fans that I want to operate individually.

    Hence the question about multiple tools.
    I imagined tool 0 running the extruder with temp changes and then adding the fans (tools 1-3) to run along with tool 0.

    but you say that's not possible.

    another option is to assign the extruder to all the tools and a certain amount of fans to each tool.
    and just running it for short amounts (or emergency button when I want to change the tool).

    Anyway.. thats the issue.



  • you can adjust the speed on the fly using gcode
    such as you could just send G0 F1500 would set the speed to be 1500 mm/min for example. this can be entered in the console window of DWC.

    I believe this should take effect immediately but may need someone with a bit better knowledge to confirm.

    Doug


  • administrators

    @dougal1957 said in Simultaneous Tools working:

    I believe this should take effect immediately but may need someone with a bit better knowledge to confirm.

    It should take effect within approx. 2 seconds + 1 complete move.



  • Thanks David for the confirmation 2-3 seconds is considerably faster than a reboot.

    Doug

    p.s. see you at TCT.



  • @dougal1957

    if I enter in the console I still need the g-code to complete the move.

    Because it is a prototype extruder I want the ability to change settings on the fly and not have to wait for the last g-code command to finish it's move. that's why I hit the emergency every time. of course I can reduce feed amount that shortens the move time but it distrusts the flow.


  • administrators

    @CJ-BRAVO how about sending a move that was segmented into lots of short moves (1000 lines of G1 E1 for example). Then changes to feed rate or extrusion multiplier would be quick to come into effect.



  • @t3p3tony said in Simultaneous Tools working:

    @CJ-BRAVO how about sending a move that was segmented into lots of short moves (1000 lines of G1 E1 for example). Then changes to feed rate or extrusion multiplier would be quick to come into effect.

    👍 - or even 100 lines of 10mm would do the job I'd have thought.



  • interesting but I lost you..

    How should I do it?

    in the command console, a g-code file or a macro?

    would I be able to change the temperature at the same time ?



  • @cj-bravo said in Simultaneous Tools working:

    interesting but I lost you..

    How should I do it?

    in the command console, a g-code file or a macro?

    would I be able to change the temperature at the same time ?

    Any test editor such as notepad++. You just want the line G1 E1 (to extrude 1mm of filament). Then copy and paste that onto the next line. Then copy and paste those 2 lines to give you 4 and keep repeating it. If you want, use G1 E10 so that you only have to copy and paste 100 lines to get 1000 mm but you'll only be able to interrupt extrusion every 10mm.

    So you end up with
    G1 E10
    G1 E10
    G1 E10
    G1 E10
    etc.

    Save that as a text file then rename it so that it is "filename".g rather than "filename".txt and you can run it as a gcode file. Or simply delete the extension and you can run it as a macro.

    Edit. So instead of one long 1000 mm move, you end with multiple shorter moves that are carried out consecutively. When that is running, you can enter any gcode command "on the fly" and it will get executed in between those shorter moves. So if you can be arsed to make 1,000 off 1mm moves, it will respond fast. But if you can't and only have 100 moves of 10mm, you'll have to wait a bit longer before any command you enter will get executed. In a nutshell, you can't easily interrupt a move that has already started, but you can easily do something in between moves.



  • @deckingman

    Hey, it's been a while..

    So I've got an external trigger connected that running plenty of G1 E1 lines and the idea is ti be able to stop it any time I want. I triggered the code but the M0 / M1 ain't doing anything.... I remember I was able to to do it a while back with the same lines in the macros but not sure why its not working at the moment.

    thoughts?

    to recap: i'm looking to run an extruder for an unlimited time with the ability to stop it when ever an external trigger is hit.

    thanks!


  • administrators

    Would a long extruder move terminated early by triggering an endstop switch meet your requirement?



  • @dc42

    yes. that can work... how would I pull such a move?



  • @CJ-BRAVO said in Simultaneous Tools working:

    @deckingman

    Hey, it's been a while..

    So I've got an external trigger connected that running plenty of G1 E1 lines and the idea is ti be able to stop it any time I want. I triggered the code but the M0 / M1 ain't doing anything.... I remember I was able to to do it a while back with the same lines in the macros but not sure why its not working at the moment.

    thoughts?

    to recap: i'm looking to run an extruder for an unlimited time with the ability to stop it when ever an external trigger is hit.

    thanks!

    I think what David is suggesting would be a firmware feature that would do what you originally asked for. The idea of using a number of shorter move segments was just an idea to get around the existing limitation that a trigger will wait for the current move to finish.

    If David is suggesting a firmware modification, that might take a while because he has a lot of other stuff to do. In the mean time it might be best to try and get the segmented move approach working. So how are you initiating the M581 trigger and what are the lines that you have in the associated macro? A good way to see if the macro is being run is to use M291 at the beginnning to print a message.


Log in to reply