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

    Tool w Toolboard knocked off didn't stop, fire hazard

    Scheduled Pinned Locked Moved
    General Discussion
    toolboard
    3
    8
    362
    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.
    • BeosDocundefined
      BeosDoc
      last edited by

      I have a tool changer system and my tool, hemera extruder with toolboard 1LC and tool selected switch, was knocked off the tool head somehow and sat on the heated bed. Since it has a tool selected ID switch when it was dislodged it should have detected the disconnect (no tool change command issued) it should have stopped extruding and turned off the heater and also stopped/paused the printing (moving the XYZ axis). It didn't do any of that, instead it kept on printing and extruding until it was done printing and then pushing the tool off the bed onto the wooden table (CoreXY and move the carriage back left, out of the way, when finished). Luckily I was here and heard a loud thump, ran in and kept it from starting a fire.

      If you have a tool changer with a loaded/mounted tool and has a switch to detect which tool and that it is mounted and all of a sudden gets unmounted or knocked off, during printing, without a command to change tools it should stop or pause the print and stop extruding and turn off the heater! And of course give an error message.

      Duet 3, toolboard 1LC using version 3.2-RC2. I looked at V3.2 notes and didn't see any mention of this issue.

      1 Reply Last reply Reply Quote 0
      • jay_s_ukundefined
        jay_s_uk
        last edited by

        How are you monitoring the switch?
        Are you using daemon.g?

        Owns various duet boards and is the main wiki maintainer for the Teamgloomy LPC/STM32 port of RRF. Assume I'm running whatever the latest beta/stable build is

        1 Reply Last reply Reply Quote 0
        • BeosDocundefined
          BeosDoc
          last edited by

          Oh forgot to mention Duet 3 is in standalone mode. I shouldn't have to monitor it, the toolboard 1LC has a tool mounted switch switch connection, the firmware should be monitoring it just like it does with nozzle temperature to make sure the heater didn't fall out.

          There also was a time before that it wasn't fully mounted and the system gave me a message that I was attempting to extrude from unselected tool but still continued printing with that tool just not extruding.

          1 Reply Last reply Reply Quote 0
          • T3P3Tonyundefined
            T3P3Tony administrators
            last edited by

            Hi @BeosDoc It is possible to configure a switch to act as a trigger so that if the switch disconnects it pauses the print. Please share your config.g to see if its setup that way.

            This is not something that is automatic as not everyone has a tool board actually on a tool changer with multiple tools, so not everyone has a switch.

            www.duet3d.com

            1 Reply Last reply Reply Quote 1
            • BeosDocundefined
              BeosDoc
              last edited by BeosDoc

              That makes sense. Where's the documentation on how to do that?

              Obviously my config.g doesn't have it but here it is anyway:

                 ; Configuration file for Duet 3 (firmware version 3)
                 ; executed by the firmware on start-up
                 ;
                 ; generated by RepRapFirmware Configuration Tool v3.1.4 on Sat Nov 14 2020 22:27:05 GMT-0600 (CST)
                 
                 ; General preferences
                 G4 S1											; Delay for 1 second to give toolboard time to catch up on reset
                 G90                                              ; send absolute coordinates... 
                 M83                                              ; ...but relative extruder moves
                 M550 P"Tron Duet3"                                    ; set printer name
                 M669 K1                                          ; select CoreXY mode
                 
                 ; Network
                 M552 Pxxx.xxx.x.xxx S1                              ; enable network and set IP address
                 M553 P255.255.255.0                              ; set netmask
                 M554 Pxxx.xxx.x.x                                   ; set gateway
                 M586 P0 S1                                       ; enable HTTP
                 M586 P1 S0                                       ; disable FTP
                 M586 P2 S0                                       ; disable Telnet
                 
                 ; Drives
                 M569 P0.0 S0                                    ; physical drive 0.0 goes backwards
                 M569 P0.1 S0                                    ; physical drive 0.1 goes backwards
                 M569 P0.2 S1                                    ; physical drive 0.2 goes forwards (Z FL(front left))
                 M569 P20.0 S0                                    ; physical drive 1.0 goes backwards
                 M569 P0.3 S1                                     ; physical drive 0.3 goes forwards (Z BL)
                 M569 P0.4 S1                                     ; physical drive 0.4 goes forwards (Z FR)
                 M569 P0.5 S1                                     ; physical drive 0.5 goes forwards (Z BR)
                 M584 X0.0 Y0.1 Z0.2:0.3:0.5:0.4 E20.0                    ; set drive mapping
                 M350 X16 Y16 Z16:16:16:16 E16 I1                       ; configure microstepping with interpolation
                 M92 X200.00 Y200.00 Z800.00:800.00:800.00:800.00 E408.00         ; set steps per mm
                 M566 X900.00 Y900.00 Z100.00:100.00:100.00:100.00 E800.00     ; set maximum instantaneous speed changes (mm/min)
                 M203 X48000.00 Y48000.00 Z2000.00:2000.00:2000.00:2000.00 E10000.00 ; set maximum speeds (mm/min)
                 M201 X1500.00 Y1500.00 Z400.00:400.00:400.00:400.00 E2000.00       ; set accelerations (mm/s^2)
                 M906 X2100 Y2100 Z1600:1600:1600:1600 E1100 I30            ; set motor currents (mA) and motor idle factor in per cent
                 M84 S30                                          ; Set idle timeout
                 
                 ; Axis Limits
                 M208 X0 Y0 Z0 S1                                 ; set axis minima
                 M208 X400 Y548 Z390 S0                           ; set axis maxima
                 M671 X-5:-5:355:355 Y20:370:370:20 S10			; leadscrews near each corner
                 
                 ; Endstops
                 M574 X1 S1 P"io0.in"                             ; configure active-high endstop for low end on X via pin io0.in
                 M574 Y1 S1 P"io1.in"                             ; configure active-high endstop for low end on Y via pin io1.in
                 M574 Z1 S2                                       ; configure Z-probe endstop for low end on Z
                 
                 
                 ; Z-Probe
                 M558 P9 C"^io7.in" H10 F120 T9000 A4                 ; set Z probe type to unmodulated and the dive height + speeds
                 M950 S0 C"io7.out"
                 G31 P500 X43 Y-22 Z2.18                            ; set Z probe trigger value, offset and trigger height. add for closer, sub for farther
                 M557 X38:390 Y00:370 S20                         ; define mesh grid
                 
                 ; Heaters
                 M308 S0 P"temp0" Y"thermistor" T100000 B4138 A"Bed"     ; configure sensor 0 as thermistor on pin temp0
                 M950 H0 C"out1" T0                               ; create bed heater output on out0 and map it to sensor 0
                 M307 H0 R0.638 C553.0 D3.91 S1.00 V31.5				; PID mode for temp0
                 M140 H0                                          ; map heated bed to heater 0
                 M143 H0 S160                                     ; set temperature limit for heater 0 to 160C
                 M308 S1 P"20.temp0" Y"pt1000" R2200 A"NzT0"               ; configure sensor 1 as PT1000 on pin 1.temp0
                 M950 H1 C"20.out0" T1                             ; create nozzle heater output on 1.out0 and map it to sensor 1
                 M307 H1 B0 S0.75                                 ; disable bang-bang mode for heater  and set PWM limit
                 
                 ; Fans
                 M950 F3 C"20.out2" Q5000                          ; create fan 4 on pin 20.out2 and set its frequency
                 M106 P3 S255 H1 T45 C"Hemera Fan"                 ; set fan 3 value. Thermostatic control is turned on
                 M950 F0 C"out7" Q500                             ; create fan 1 on pin out3 and set its frequency
                 M106 P0 S0 H-1 C"L Fan"                                  ; set fan 1 value. Thermostatic control is turned off
                 M950 F1 C"out8" Q500                             ; create fan 2 on pin out4 and set its frequency
                 M106 P1 S0 H-1 C"R Fan"                          ; set fan 2 value. Thermostatic control is turned off
                 M950 F2 C"out9" Q500							 ; create Nozzle LEDs on pin out9
                 M106 P2 S0 H-1 C"Noz LED"
                 
                 ; Tools
                 M563 P0 D0 H1 F0:1 S"Tool 0"                       ; define tool 0
                 G10 P0 X0 Y0 Z0                                  ; set tool 0 axis offsets
                 G10 P0 R0 S0                                     ; set initial tool 0 active and standby temperatures to 0C
                 
                 ; Filament Sensor
                 ;M591 D20 P1 C"0.io1.in" S1		 				; Detect filament issues
                 M591 D0 P1 C"20.io1.in" S1
                 
                 ; Set up the dock indicator switches on the Hemera tools
                 M950 J0 C"20.io2.in"
                 
                 ; Custom settings
                 M308 S2 Y"mcu-temp" A"MCU"
                 ;M912 P0 S-8.4
                 
                 ; Miscellaneous
                 ;M575 P1 S1 B57600                                ; enable support for PanelDue
              
              1 Reply Last reply Reply Quote 0
              • jay_s_ukundefined
                jay_s_uk
                last edited by

                use an external trigger.
                you'll probably have to have some if statements in etc
                e.g. if T1 then...
                https://duet3d.dozuki.com/Wiki/Gcode#Section_M581_Configure_external_trigger

                Owns various duet boards and is the main wiki maintainer for the Teamgloomy LPC/STM32 port of RRF. Assume I'm running whatever the latest beta/stable build is

                1 Reply Last reply Reply Quote 0
                • BeosDocundefined
                  BeosDoc
                  last edited by

                  Sorry, that kinda points me in the right direction but doesn't look like that would cover what is needed.

                  You can have if statements in g files?

                  jay_s_ukundefined 1 Reply Last reply Reply Quote 0
                  • jay_s_ukundefined
                    jay_s_uk @BeosDoc
                    last edited by

                    @BeosDoc yes. Using meta code.
                    So when the switch is triggered, the code would then check if that particular tool is active.
                    https://duet3d.dozuki.com/Wiki/GCode_Meta_Commands

                    Owns various duet boards and is the main wiki maintainer for the Teamgloomy LPC/STM32 port of RRF. Assume I'm running whatever the latest beta/stable build is

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