Emergency Stop Button
-
Hi Guys,
I'm trying to add a physical emergency stop button as an extension to the software emergency stop, to stop everything except the fans (in case the the tools are hot).
I have a Mushroom button connected in N/C to io4 3.3v and in, with the following at the bottom of my config.g, but it just doesn't work. What have I got wrong;
; Emergency Stop M950 J1 C"io4.in" M581 P1 T0 S0 R0
Config.g;
; Configuration file for Duet 3 MB 6HC (firmware version 3.3) ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v3.3.13 on Mon Sep 19 2022 16:04:20 GMT+0100 (British Summer Time) ; General preferences M575 P1 S1 B57600 ; enable support for PanelDue G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"Duet 3" ; set printer name M669 K1 ; select CoreXY mode ; Network M552 P192.168.0.72 S1 ;ip address M554 P192.168.0.1 ;gateway M553 P255.255.255.0 ;subnet mask ; Bed Leadscrew Positions M671 X5:278 Y175:175 P2.0 ; middle left, middle right ;xxxxx G4 S1 ;wait for expansion boards to start ; 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 M569 P0.3 S1 ;M569 P0.4 S1 M569 P121.0 S0 ; physical drive 0.3 goes forwards M584 X0.0 Y0.1 Z0.2:0.3 E121.0 ; set drive mapping ;M584 X0.0 Y0.1 Z0.2:0.3:0.4 E121.0 M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation M92 X80.00 Y80.00 Z400.00 E330.12; set steps per mm M566 X900.00 Y900.00 Z60.00 E120.00 ; set maximum instantaneous speed changes (mm/min) M203 X6000.00 Y6000.00 Z180.00 E1200.00 ; set maximum speeds (mm/min) M201 X500.00 Y500.00 Z20.00 E250.00 ; set accelerations (mm/s^2) M906 X900 Y900 Z900 E800 I30 ; set motor currents (mA) and motor idle factor in per cent M84 S30 ; Set idle timeout ; Axis Limits M208 X-2 Y-8 Z0 S1 ; set axis minima M208 X330 Y330 Z400 S0 ; set axis maxima ; Endstops M574 X1 S1 P"!121.io1.in" ; configure switch-type (e.g. microswitch) endstop for low end on X via pin !io1.in M574 Y1 S1 P"!io2.in" ; configure switch-type (e.g. microswitch) endstop for low end on Y via pin !io2.in ; Z-Probe ;M574 Z1 Z1 S2 ; set endstops controlled be probe ;M558 P8 C"^!121.io0.in" H5 F120 T6000 ; set Z probe type to switch and the dive height + speeds ;G31 P500 X-46 Y-19 Z1.51 ; set Z probe trigger value, offset and trigger height ;M557 X19:244 Y-2:304 P12 ; define mesh grid ; Z-Probe M950 S0 C"121.io0.out" ; create servo pin 0 for BLTouch on tool board M558 P9 C"121.io0.in" H10 F120 T6000 ; set Z probe type to bltouch and the dive height + speeds on tool board G31 P25 X-39 Y-17 Z3.74 ; set Z probe trigger value, offset and trigger height M671 X5:278 Y175:175 P2.0 S5 ; define positions of Z leadscrews, 5mm maximum correction M557 X10:254 Y-2:304 P3 ; define 12x12 mesh grid; ; Heaters M308 S0 P"temp0" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin temp0 M950 H0 C"out0" T0 ; create bed heater output on out0 and map it to sensor 0 M307 H0 R0.187 K0.192:0.000 D1.89 E1.35 S1.00 B0 ; disable bang-bang mode for the bed heater and set PWM limit M140 H0 ; map heated bed to heater 0 M143 H0 S120 ; set temperature limit for heater 0 to 120C M308 S1 P"121.temp0" Y"thermistor" T100000 B4138 ; configure sensor 1 as thermistor on pin temp1 M950 H1 C"121.out0" T1 ; create nozzle heater output on out1 and map it to sensor 1 M307 H1 R2.498 K0.275:0.349 D6.79 E1.35 S1.00 B0 V24.0 ; disable bang-bang mode for heater and set PWM limit M143 H1 S280 ; set temperature limit for heater 1 to 280C ; Fans M950 F0 C"121.out2" Q500 ; create fan 0 on pin out4 and set its frequency M106 P0 C"Part Cooler" S0 H-1 ; set fan 0 name and value. Thermostatic control is turned off M950 F1 C"121.out1" Q500 ; create fan 1 on pin out5 and set its frequency M106 P1 C"Extruder Cooling" S1 H1 T45 ; set fan 1 name and value. Thermostatic control is turned on ; Tools M563 P0 S"Hemera" D0 H1 F0 ; 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 ; Custom settings are not defined ; Emergency Stop M950 J1 C"io4.in" M581 P1 T0 S0 R0 ; Miscellaneous M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; set voltage thresholds and actions to run on power loss T0 M501
Dizzwold.
-
@Dizzwold looks fine to me config wise. how do you have it wired?
-
Forgot this in my post;
FIRMWARE_NAME: RepRapFirmware for Duet 3 MB6HC FIRMWARE_VERSION: 3.4.5 ELECTRONICS: Duet 3 MB6HC v1.01 FIRMWARE_DATE: 2022-11-30 19:35:23Hi Jay s,
Thank you for your reply.
I did have it wired to io_4, '3.3v' and 'in'.
I've then tried it with 'in' and 'gnd', which made it work when releasing the emergency stop button.
So I changed;
M950 J1 C"io4.in"
to
M950 J1 C"!io4.in"
; Emergency Stop M950 J1 C"!io4.in" M581 P1 T0 S0 R0 M582 T0
Which now seems to work.
Dizzwold.
-
@jay_s_uk
M115
FIRMWARE_NAME: RepRapFirmware for Duet 3 MB6HC FIRMWARE_VERSION: 3.4.6 ELECTRONICS: Duet 3 MB6HC v1.01 FIRMWARE_DATE: 2023-07-21 14:11:38Yet more issues with this emergency stop button.
I've had to disconnected everything an move the printer. Just fired it up, and no end of issues.
I've found that this was caused by the Emergency stop button.
I've tested the switch to check it's connected and working.
Connected to the NC terminals of the switch.
Wired to "io4 in"and 3.3v
With the following code. The machine runs as normal without the button press, but when I press the button, nothing happens. It does not switch everting Off?
; Emergency Stop M950 J1 C"io4.in" M581 P1 T0 S0 R0 M582 T0
If I invert the code its just in a perpetual emergency stop.
Any ideas?
Dizzwold.
-