Stepper Motors shuts off a few minutes after PnP machine is ON
-
i have 11 axes in total configured on 1 x Duet3 6XD + 4 x 3HC expansion boards
-
X & Y are driver by external drivers each using Nema 34 closed loop Motors ( DC Max Current = 6A )
-
Z , U, V are Shared Z-Axis driven by Duet3 3HC Drivers (3HC Board 1 ) using Nema 17 Stepper Motors (DC Max Current = 1.7A )
-
W, A, B, C , D, 'G are Rotational axis driven by Duet3 3HC Drivers (3HC Board 2 & 3 ) using Nema 11 Stepper Motors ( DC Max Current = 0.8A )
Below is my config.g file and i have disabled the idle configs but still have the same issue. am i missing something ? Any quick help. When i look at the Duet DWC it says status is idle even though no idle commands are configured . The Stepper motors on all other axes (Z,U,V,W,A,B,C,D & 'G ) apart from X & Y that are externally driven seem to shut off after about 6 or 7 mins. When i send M17 command it does nothing. The Stepper motors are ok , no overheating or anything like that, they are cool to luke warm on touch
; Configuration file for Duet 3 MB 6XD (firmware version 3.3) ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v3.3.16 on Tue Dec 05 2023 09:51:46 GMT-0500 (Eastern Standard Time) ; General preferences G21 ; Set millimeters mode G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"PNP" ; set printer name ; Wait a moment for the CAN expansion boards to start G4 S2 ; Network if {network.interfaces[0].type = "ethernet"} M552 P15.0.0.200 S1 ; enable network and set IP address M553 P255.255.255.0 ; set netmask M554 P15.0.0.1 ; set gateway else M552 S1 M586 P0 S1 ; enable HTTP M586 P1 S0 ; disable FTP M586 P2 S0 ; disable Telnet ; Drives ;Physical Drives CAN ID = 0 M569 P0.0 S0 T5:5:10:10 ; X-Axis physical drive 0.0 goes backwards on CAN ID = 0 - Duet 6XD Drive 0.0 with 2.5us timings between pulses M569 P0.1 S0 T5:5:10:10 ; Y-Axis physical drive 0.1 goes forwards on CAN ID = 0 - Duet 6XD Drive 0.1 with 2.5us timings between pulses M569 P0.2 S1 T5:5:10:10 ; 'H-Axis physical drive 0.2 goes forwards on CAN ID = 0 - Duet 6XD Drive 0.2 with 2.5us timings between pulses (Microstep Driver) ;Physical Drives CAN ID = 1 = All Shared Z Axes (Z, U, V ) each with a single Stepper Motor M569 P1.0 S1 ; Z1 (Z) Axis physical drive 1.0 Rotates Clockwise or Anticlockwise to move CAM driven dual nozzles down and up on Z axis on CAN ID = 1 - Duet 3HC Drive 1.0 M569 P1.1 S1 ; Z2 (U) Axis physical drive 1.1 Rotates Clockwise or Anticlockwise to move CAM driven dual nozzles down and up on U axis on CAN ID = 1 - Duet 3HC Drive 1.1 M569 P1.2 S1 ; Z3 (V) Axis physical drive 1.2 Rotates Clockwise or Anticlockwise to move CAM driven dual nozzles down and up on V axis on CAN ID = 1 - Duet 3HC Drive 1.2 ;Physical Drives CAN ID = 2 = C Axes ( W, A, B ) M569 P2.0 S0 ; C1 (W) Axis physical drive 2.0 Rotates forwards and backwards on CAN ID = 2 - Duet 3HC Drive 2.0 - C 360°-continuous, but linear feed-rate M569 P2.1 S0 ; C2 (A) Axis physical drive 2.1 Rotates forwards and backwards on CAN ID = 2 - Duet 3HC Drive 2.1 - C 360°-continuous, but linear feed-rate M569 P2.2 S0 ; C3 (B) Axis physical drive 2.2 Rotates forwards and backwards on CAN ID = 2 - Duet 3HC Drive 2.2 - C 360°-continuous, but linear feed-rate ;Physical Drives CAN ID = 3 = C Axes (C, D, 'G) M569 P3.0 S0 ; C4 (C) Axis physical drive 3.0 Rotates forwards and backwards on CAN ID = 3 - Duet 3HC Drive 3.0 - C 360°-continuous, but linear feed-rate M569 P3.1 S0 ; C5 (D) Axis physical drive 3.1 Rotates forwards and backwards on CAN ID = 3 - Duet 3HC Drive 3.1 - C 360°-continuous, but linear feed-rate M569 P3.2 S0 ; C6 ('G) Axis physical drive 3.2 Rotates forwards and backwards on CAN ID = 3 - Duet 3HC Drive 3.2 - C 360°-continuous, but linear feed-rate M584 X0.0 Y0.1 Z1.0 U1.1 V1.2 W2.0 A2.1 B2.2 C3.0 D3.1 'G3.2 S0 ; LIN R0 = LINEAR, R1 = ROTATION M350 Z16 U16 V16 W16 A16 B16 C16 D16 'G16 I1 ; configure microstepping with interpolation. Irrelevant for external drives X, Y, & 'B (X & Y = Dip Switches 3200= SW1=ON,SW2=ON,SW3=OFF,SW4=OFF,SW5=ON,SW6=ON) M92 X64.00 Y64.00 Z20.00 U20.00 V20.00 W8.888 A8.888 B8.888 C8.888 D8.888 'G8.888 ; set steps per mm, 50mm/rev. (X & Y = Currently 3200 pulse/rev / 50 revs = 64 Steps) M566 X900.0 Y900.0 Z900.0 U900.0 V900.0 W7200.0 A7200.0 B7200.0 C7200.0 D7200.0 'G7200.0 P1 ; set maximum instantaneous speed changes (mm/min) and use Jerk policy 1 M203 X126000.00 Y126000.00 Z24000.00 U24000.00 V24000.00 W3600000.00 A3600000.00 B3600000.00 C3600000.00 D3600000.00 'G3600000.00 ; set maximum speeds/feedrate (mm/min) M201 X5000.00 Y5000.00 Z2000.00 U2000.00 V2000.00 W180000.00 A180000.00 B180000.00 C180000.00 D180000.00 'G180000.00 ; set accelerations (mm/s^2) ; M906 Z800.0 U800.0 V800.0 W500.0 A500.0 B500.0 C500.0 D500.0 'G500.0 I30 ; set motor currents (mA) and motor idle factor in per cent. This is irrelevant for external drives (X & Y ) ; M84 S30 ; Set idle timeout M564 H0 ; Sets homing, H0 allows mvmnt wo homing ; Axis Limits M208 X0 Y0 Z-70 U-70 V-70 W-360000 A-360000 B-360000 C-360000 D-360000 'G-360000 S1 ; Set axis minima M208 X1698 Y2225 Z70 U70 V70 W360000 A360000 B360000 C360000 D360000 'G360000 S0 ; Set axis maxima ; Triggers -- Two triggers, one for X and one for Y, and set them to pause the machine M581 T1 X Y S1 R0 ; invoke trigger 1 (pause) when an inactive-to-active edge (correct for NO switches) is detected on input 1 or input 2 at any time ; Endstops ; For X and Y Axis M574 X1 S1 P"!0.io1.in" ; configure active high endstop switch for low end on X via pin io1.in M574 Y1 S1 P"!0.io2.in" ; configure active high endstop switch for low end on Y via pin io2.in ; For Z-Axis (Shared Z,U,V) - Up/down) -- CAM Driven Dual Nozzles ( 1 Motor rotates up/down to drive 2 Nozzles ) M574 Z1 S1 P"!1.io0.in" ; configure active high endstop switch for low end on Z via pin 1.io0.in M574 Z2 S1 P"!1.io1.in" ; configure active high endstop switch for High end on Z via pin 1.io1.in M574 U1 S1 P"!1.io2.in" ; configure active high endstop switch for low end on U via pin 1.io2.in M574 U2 S1 P"!1.io3.in" ; configure active high endstop switch for High end on U via pin 1.io3.in M574 V1 S1 P"!1.io4.in" ; configure active high endstop switch for low end on V via pin 1.io4.in M574 V2 S1 P"!1.io5.in" ; configure active high endstop switch for High end on V via pin 1.io5.in ; For Rotational Axes only (W, A, B, C, D, 'G(g)) M574 W1 S1 P"!2.io0.in" ; configure active high endstop switch for low end on W via pin 2.io0.in M574 A1 S1 P"!2.io1.in" ; configure active high endstop switch for low end on A via pin 2.io1.in M574 B1 S1 P"!2.io2.in" ; configure active high endstop switch for low end on B via pin 2.io2.in M574 C1 S1 P"!3.io0.in" ; configure active high endstop switch for low end on C via pin 3.io0.in M574 D1 S1 P"!3.io1.in" ; configure active high endstop switch for low end on D via pin 3.io1.in M574 'G1 S1 P"!3.io2.in" ; configure active high endstop switch for low end on 'G via pin 3.io2.in ;***Inputs ; SMC NPN Vacuum Pressure Digital Sensors -ZSE30A-01-N-L (Not Z-Probe) ; Digital NPN Signal Outputs (Black wire (output 1) for direct control to switch it ON/OFF). M950 J1 C"!2.io3.in" ; Duet 3 3HC CAN_ID 2 Port 4- Vacuum Sensor Nozzle 1 M950 J2 C"!2.io4.in" ; Duet 3 3HC CAN_ID 2 Port 5- Vacuum Sensor Nozzle 2 M950 J3 C"!2.io5.in" ; Duet 3 3HC CAN_ID 2 Port 6- Vacuum Sensor Nozzle 3 M950 J4 C"!3.io3.in" ; Duet 3 3HC CAN_ID 2 Port 4- Vacuum Sensor Nozzle 4 M950 J5 C"!3.io4.in" ; Duet 3 3HC CAN_ID 2 Port 5- Vacuum Sensor Nozzle 5 M950 J6 C"!3.io5.in" ; Duet 3 3HC CAN_ID 2 Port 6- Vacuum Sensor Nozzle 6 ; Integrated SMC CM85 Lingera Vacuum Generators (Negative pressure) IO pins for the Nozzles to pickup SMT parts ; Digital NPN Signal Outputs (Black wire (output 1) for direct control to switch it ON/OFF) . M950 J8 C"!0.io3.in" ; Duet 3 3HC CAN_ID 0 Port 3- VG1 - Vacuum Sensor Nozzle 1 M950 J9 C"!0.io4.in" ; Duet 3 3HC CAN_ID 0 Port 4- VG2 - Vacuum Sensor Nozzle 2 M950 J10 C"!0.io5.in" ; Duet 3 3HC CAN_ID 0 Port 5- VG3 - Vacuum Sensor Nozzle 3 M950 J11 C"!0.io6.in" ; Duet 3 3HC CAN_ID 0 Port 6- VG4 - Vacuum Sensor Nozzle 4 M950 J12 C"!0.io7.in" ; Duet 3 3HC CAN_ID 0 Port 7- VG5 - Vacuum Sensor Nozzle 5 M950 J13 C"!0.io8.in" ; Duet 3 3HC CAN_ID 0 Port 8- VG6 - Vacuum Sensor Nozzle 6 ;***Analog Inputs ; SMC NPN Vacuum Pressure Digital Sensors -ZSE30A-01-N-L (Not Z-Probe) -- Analog Output (White wires (Output 2) for reading Pressure values). M308 S1 P"4.io0.in" Y"linear-analog" B4725 C7.06e-8 A"VG1 Pressure" F0 ; Duet 3 3HC CAN_ID 3 Port 1- Vacuum Sensor Nozzle 1 M308 S2 P"4.io1.in" Y"linear-analog" B4725 C7.06e-8 A"VG2 Pressure" F0 ; Duet 3 3HC CAN_ID 3 Port 2- Vacuum Sensor Nozzle 2 M308 S3 P"4.io2.in" Y"linear-analog" B4725 C7.06e-8 A"VG3 Pressure" F0 ; Duet 3 3HC CAN_ID 3 Port 3- Vacuum Sensor Nozzle 3 M308 S4 P"4.io5.in" Y"linear-analog" B4725 C7.06e-8 A"VG6 Pressure" F0 ; Duet 3 3HC CAN_ID 3 Port 6- Vacuum Sensor Nozzle 6 ; M308 S5 P"^4.io2.out" Y"linear-analog" B4725 C7.06e-8 A"VG4 Pressure" F0 ; Duet 3 3HC CAN_ID 3 Port 4- Vacuum Sensor Nozzle 4 ; M308 S6 P"^4.io5.out" Y"linear-analog" B4725 C7.06e-8 A"VG5 Pressure" F0 ; Duet 3 3HC CAN_ID 3 Port 5- Vacuum Sensor Nozzle 5 ;***Outputs ; The VGs Discrete digital inputs therefore triggered with following commands to ON / OFF M950 P0 C"!0.out3" Q500 ; Duet 3 6XD (V_OUTLC1 , GND ) to Phoenix Contact 24V Relay 1 ( A1+, A2- ). Allocate OUT3 to Relay 1 M42 P0 S1 ; set 100% PWM on OUT3 out3 pin ( OFF or CLOSE VGs == X6(R1) is OFF) -- Start in a Closed VG status ;M42 P0 S0 ; set 0% PWM on OUT3 out3 pin ( ON or OPEN VGs == X6(R1) is ON) M950 P1 C"!0.out4" Q500 ; Duet 3 6XD (V_OUTLC1 , GND ) to Phoenix Contact 24V Relay 1 ( A1+, A2- ). Allocate OUT4 to Relay 2 M42 P1 S1 ; set 100% PWM on OUT3 out3 pin ( OFF or CLOSE VGs == X7(R2) is OFF) -- Start in a Closed VG status ;M42 P1 S0 ; set 0% PWM on OUT3 out3 pin ( ON or OPEN VGs == X7(R2) is ON) M950 P2 C"!0.out5" Q500 ; Duet 3 6XD (V_OUTLC1 , GND ) to Phoenix Contact 24V Relay 1 ( A1+, A2- ). Allocate OUT5 to Relay 3 M42 P2 S1 ; set 100% PWM on OUT3 out3 pin ( OFF or CLOSE VGs == X10(R3) is OFF) -- Start in a Closed VG status ;M42 P2 S0 ; set 0% PWM on OUT3 out3 pin ( ON or OPEN VGs == X10(R3) is ON) M950 P3 C"!0.out6" Q500 ; Duet 3 6XD (V_OUTLC1 , GND ) to Phoenix Contact 24V Relay 1 ( A1+, A2- ). Allocate OUT6 to Relay 4 M42 P3 S1 ; set 100% PWM on OUT3 out3 pin ( OFF or CLOSE VGs == X11(R4) is OFF) -- Start in a Closed VG status ;M42 P3 S0 ; set 0% PWM on OUT3 out3 pin ( ON or OPEN VGs == X11(R4) is ON) M950 P4 C"!0.out7" Q500 ; Duet 3 6XD (V_OUTLC1 , GND ) to Phoenix Contact 24V Relay 1 ( A1+, A2- ). Allocate OUT7 to Relay 5 M42 P4 S1 ; set 100% PWM on OUT3 out3 pin ( OFF or CLOSE VGs == X12(R5) is OFF) -- Start in a Closed VG status ;M42 P4 S0 ; set 0% PWM on OUT3 out3 pin ( ON or OPEN VGs == X12(R5) is ON) M950 P5 C"!0.out8" Q500 ; Duet 3 6XD (V_OUTLC1 , GND ) to Phoenix Contact 24V Relay 1 ( A1+, A2- ). Allocate OUT8 to Relay 6 M42 P5 S1 ; set 100% PWM on OUT3 out3 pin ( OFF or CLOSE VGs == X13(R6) is OFF) -- Start in a Closed VG status ;M42 P5 S0 ; set 0% PWM on OUT3 out3 pin ( ON or OPEN VGs == X13(R6) is ON) ; Enable All the drives M17 ; Enable All the drives M575 P1 B115200 S7 ; Set Serial comms parameters for TX and RX for the RS485 MODBUS RTU to FX3U-48MR PLC ; Heaters ; Fans ; Tools ; Custom settings are not defined
-
-
@developeralgo222
since the rated current for my Nema 17 motors is 1.7A and for Nema 11 is 0.8A . I will test with M906 @ 80% of the rated Current by just sending peak current but no idle time i.e 100% (always on = No idle timeout ) . This is only when the PnP Machine is running which is about 20 to 30 mins per complete jobM906 Z1360 U1360 V1360 W560 A560 B560 C560 D560 'G560 I100
-
@developeralgo222 I’d think it was more likely the default behaviour of M84. You have commented that out in your config.g.
Ian
-
@droftarts
By commenting out M84 command and using the above modication , seems to work but has issues. i think i spoke too soon. it will shut off the motors after a while and i am not sure whyM906 Z1360 U1360 V1360 W560 A560 B560 C560 D560 'G560 I100
then just use openPnP commands
ENABLE_COMMAND to send M17 to Duet3 6XD Controller DISABLE_COMMAND to send M18 to Duet3 6XD Controller
This way if the PNP machine is started and operational it will have the axes and motors enabled and as soon as all jobs are done and PnP machine is disabled in openPnP it will send a command to Duet3 6XD to disable all axes and motors