My Duet3 MB6HC crushed at sensorless homing
-
Hi everyone!
This is my first post at here.Now,I'm developing open source 5-axis CNC milling machine.
https://github.com/ryotakito/E-mocX5
I applied sensorless homing at linear axis (X,Y,Z-axis) of this machine.
But,homing of only Y-axis often failed.
(X and Z-axis have no problem.)Details
- Board:Duet3 MB6HC
- Motor:NEMA23 (rated amp:2.8A)
- Axis configuration:X,Y,Y,Z,A,C
- M574 X,Z-axis: single motor detection
Y-axis: multi motor detection
Machine will stop and console show me "G28 (Y) Emergency Stop! Reset the controller to continue." when Y-axis carrier hit at home position.
And,duet3 will no longer accept operations,but I can load and overwrite gcodes like config.g and homeall.g e.t.c.
STATUS LED stays on at maximum brightness.I thought it is caused by overcurrent at first.
But, it sometimes occur at low current and sometimes don't occur at a little higher current.
And, it occured every time at same parameter.
Then, I checked consol and log using M122.But actual crashed time of Duet3 and Last reset time are not match.
So,I think there is another reason why that occur.I want you to tell me what cause that.
Thank you for reading my poor english. -
-
Here I show config.g, homeall.g, homey.g, and consol.
Comment out may be wrong( because these are developping)config.g
; Configuration file for Duet 3 (firmware version 3) ; executed by the firmware on start-up ; ; Settings for E-moc X5 ; generated by HRMK ; General preferences G90 ; send absolute coordinates... M550 P"E-moc X5 v2" ; set printer name ; Network M552 P192.168.0.56 S1 ; enable network and acquire dynamic address via DHCP M586 P0 S1 ; enable HTTP M586 P1 S0 ; disable FTP M586 P2 S0 ; disable Telnet ; Drives M569 P0.0 S1 ; physical drive 0.0 goes backs M569 P0.1 S1 ; physical drive 0.1 goes backs M569 P0.2 S1 ; physical drive 0.2 goes backs M569 P0.3 S0 ; physical drive 0.3 goes forwards M569 P0.4 S0 ; physical drive 0.4 goes forwards M569 P0.5 S0 ; physical drive 0.5 goes forwards M584 X0.0 Y0.1:0.2 Z0.3 A0.4 C0.5 ; set drive mapping M350 X8 Y8 Z8 A8 C8 I1 ; configure microstepping with interpolation M92 X200.00 Y200.00 Z200.00 A223.4567 C222.222222222222 ; set steps per mm M566 X60.00 Y60.00 Z60.00 A60.00 C200.00 ; set maximum instantaneous speed changes (mm/min) M203 X7000.00 Y7000.00 Z7000.00 A2000.00 C3000.00 ; set maximum speeds (mm/min) M201 X400.00 Y400.00 Z400.00 A100.00 C400.00 ; set accelerations (mm/s^2) M906 X2400 Y2400 Z2400 A2900 C2400 I100 ; set motor currents (mA) M915 P0.0 S3 F0 R0 M915 P0.1:0.2 S3 F0 H240 R0 M915 P0.3 S3 F0 R0 M564 S1 H0 ; Disable jog commands when not homed ; Axis Limits M208 X-327 Y-295 Z-295 A-95 C-99999. S1 ; set axis minima M208 X0 Y0 Z0 A140 C99999. S0 ; set axis maxima ; Endstops M574 X1 S3 M574 Y1 S4 M574 Z1 S3 ; configure active-high endstop for low end on Z via pin io3.in M574 A1 S1 P"io4.in" ; configure active-high endstop for low end on A via pin io4.in M574 C1 0 P"io5.in" ; configure active-high endstop for low end on C via pin io5.in ;Emergency stop M950 J1 C"^io6.in" ; configure active-high endstop for Emergency stop via pin io6.in M581 P1 T0 S1 R0 ;Touch probe M558 P5 C"!io7.in" F1200:400 T6000 H-1 ; configure active-high endstop for Touch probe via pin io7.in ; Tools ; Custom settings are not defined M453 M501 ; Load config_override
homeall.g
; homeall.g ; called to home all axes ; ; generated for E-moc X5 by HRMK G91 ; relative positioning M201.1 Z150 M400 M913 Z45 M400 G1 H1 Z500. F2000 ; move quickly to Z axis endstop and stop there (first pass) M400 M913 Z100 M400 G1 H2 Z-5. F6000 ; go back a few mm M400 M913 Z45 M400 G1 H1 Z200.F2000 ; move slowly to Z axis endstop once more (second pass) M400 M913 Z100 M400 M201.1 Y150 Z400 M400 M913 Y45 M400 G1 H1 Y300 F2000 M400 M913 Y100 M400 G1 H2 Y-5 F4000 ; go back a few mm M400 M913 Y45 M400 G1 H1 Y300 F2000 M400 M913 Y100 M400 G1 H2 Y-5 F4000 ; go back a few mm M400 M913 Y45 M400 G1 H1 Y20 F2000 ; move slowly to Y axis endstop once more (second pass) M400 M913 Y100 M400 M201.1 Y400 M400 M913 Y100 M400 M201.1 X150 M400 M913 X20 M400 G1 H1 X350 F2000 ; move quickly to X axis endstop and stop there (first pass) M400 M913 X100 M400 G1 H2 X-5 F4000 ; go back a few mm M400 M913 X20 M400 G1 H1 X10 F2000 ; move slowly to X axis endstop once more (second pass) M400 M913 X100 M400 G1 H2 X-16 F4000 ; go back a few mm M201.1 X400 M400 M913 X100 M400 G1 H1 A-200 F1000 ; move quickly to A axis endstop and stop there (first pass) G1 H2 A5 F1000 ; go back a few deg G1 H1 A-200 F800 ; move slowly to A axis endstop once more (second pass) G1 H2 A5 F1000 ; go back a few deg G1 H1 C-360 F1800 ; move quickly to C axis endstop and stop there (first pass) G1 H2 C5 F1800 ; go back a few deg G1 H1 C-200 F500 ; move slowly to C axis endstop once more (second pass) G1 H2 C3 ; go back a few deg G90 ; absolute positioning G92 Z0 ; set Z position to axis minimum G92 X0 ; set X position to axis minimum G92 Y0 ; set Y position to axis minimum G92 A-85 ; set A position to axis minimum G92 C0 ; set C position to axis minimum G90G0A0 ; go back to A0 M400 M913 X100 Y100 M400 ; Uncomment the following lines to lift Z after probing ;G91 ; relative positioning ;G1 Z5 F40 ; lift Z relative to current position ;G90 ; absolute positioning
homey.g
; homey.g ; called to home the Y axis ; ; generated for E-moc X5 by HRMK G91 ; relative positioning ;G1 H2 Y-20 F4000 M201.1 Y150 M400 M913 Y45 M400 G1 H1 Y300 F2000 M400 M913 Y100 M400 G1 H2 Y-5 F4000 ; go back a few mm M400 M913 Y45 M400 G1 H1 Y300 F2000 M400 M913 Y100 M400 G1 H2 Y-5 F4000 ; go back a few mm M400 M913 Y45 M400 G1 H1 Y20 F2000 ; move slowly to Y axis endstop once more (second pass) M400 M913 Y100 M400 G92 Y0 ; set Maschine position Y-5 G90 ; absolute positioning M201.1 Y400 M400 M913 Y100 M400
Consol and result of M122
homey.g and M122
2024/10/17 20:34:06 m122 === Diagnostics === RepRapFirmware for Duet 3 MB6HC version 3.5.2 (2024-06-11 17:13:58) running on Duet 3 MB6HC v1.02 or later (standalone mode) Board ID: 0JD4M-958L1-M24TD-6JKDD-3S46K-91TPX Used output buffers: 3 of 40 (19 max) Error in macro line 4 while starting up: Heater 0 not found === RTOS === Static ram: 155360 Dynamic ram: 120296 of which 0 recycled Never used RAM 67408, free system stack 152 words Tasks: NETWORK(1,ready,40.8%,182) ETHERNET(5,nWait 7,0.1%,316) HEAT(3,suspended,0.0%,355) TMC(4,nWait 6,9.2%,53) MAIN(1,running,49.6%,444) IDLE(0,ready,0.3%,29), total 100.0% Owned mutexes: === Platform === Last reset 00:00:40 ago, cause: software Last software reset at 2024-10-17 20:33, reason: User, Gcodes spinning, available RAM 67408, slot 1 Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x00400000 BFAR 0x00000000 SP 0x00000000 Task MAIN Freestk 0 n/a Error status: 0x00 MCU temperature: min 40.8, current 41.2, max 41.4 Supply voltage: min 23.9, current 24.0, max 24.1, under voltage events: 0, over voltage events: 0, power good: yes 12V rail voltage: min 12.2, current 12.2, max 12.3, under voltage events: 0 Heap OK, handles allocated/used 99/2, heap memory allocated/used/recyclable 2048/32/0, gc cycles 0 Events: 0 queued, 0 completed Driver 0: standstill, SG min n/a, mspos 432, reads 24730, writes 15 timeouts 0 Driver 1: standstill, SG min 0, mspos 720, reads 24701, writes 44 timeouts 0 Driver 2: standstill, SG min 0, mspos 176, reads 24702, writes 44 timeouts 0 Driver 3: standstill, SG min n/a, mspos 592, reads 24731, writes 15 timeouts 0 Driver 4: standstill, SG min n/a, mspos 16, reads 24732, writes 14 timeouts 0 Driver 5: standstill, SG min n/a, mspos 528, reads 24732, writes 14 timeouts 0 Date/time: 2024-10-17 20:34:05 Slowest loop: 9.66ms; fastest: 0.07ms === Storage === Free file entries: 20 SD card 0 detected, interface speed: 25.0MBytes/sec SD card longest read time 2.3ms, write time 0.0ms, max retries 0 === Move === DMs created 125, segments created 3, maxWait 13221ms, bed compensation in use: none, height map offset 0.000, max steps late 0, min interval 0, bad calcs 0, ebfmin 0.00, ebfmax 0.00 no step interrupt scheduled Moves shaped first try 0, on retry 0, too short 0, wrong shape 0, maybepossible 0 === DDARing 0 === Scheduled moves 11, completed 11, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1 === DDARing 1 === Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1 === Heat === Bed heaters -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1, chamber heaters -1 -1 -1 -1, ordering errs 0 === GCodes === Movement locks held by null, null HTTP is idle in state(s) 0 Telnet is idle in state(s) 0 File is idle in state(s) 0 USB is idle in state(s) 0 Aux is idle in state(s) 0 Trigger is idle in state(s) 0 Queue is idle in state(s) 0 LCD is idle in state(s) 0 SBC is idle in state(s) 0 Daemon is idle in state(s) 0 Aux2 is idle in state(s) 0 Autopause is idle in state(s) 0 File2 is idle in state(s) 0 Queue2 is idle in state(s) 0 Q0 segments left 0, axes/extruders owned 0x0000000 Code queue 0 is empty Q1 segments left 0, axes/extruders owned 0x0000000 Code queue 1 is empty === CAN === Disabled Longest wait 0ms for reply type 0, peak Tx sync delay 0, free buffers 50 (min 50), ts 98/0/0 Tx timeouts 0,0,97,0,0,0 last cancelled message type 30 dest 127 === Network === Slowest loop: 6.93ms; fastest: 0.03ms Responder states: MQTT(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) Telnet(0) HTTP sessions: 1 of 8 = Ethernet = Interface state: active Error counts: 0 0 0 0 0 0 Socket states: 5 2 2 2 2 0 0 0 === WiFi === Interface state: disabled Module is disabled Failed messages: pending 0, notrdy 0, noresp 0 Socket states: 0 0 0 0 0 0 0 0 === Multicast handler === Responder is inactive, messages received 0, responses 0 2024/10/17 20:33:45 G28 Y Emergency Stop! Reset the controller to continue. 2024/10/17 20:33:45 緊急停止、再接続を試みます...
homeall.g
2024/10/17 21:03:42 Emergency Stop! Reset the controller to continue. Error: G91: Machine is halted Error: M201.1: Machine is halted Error: M400: Machine is halted Error: M913: Machine is halted Error: M400: Machine is halted Error: G1: Machine is halted Error: M400: Machine is halted Error: M913: Machine is halted Error: M400: Machine is halted Error: G1: Machine is halted Error: M400: Machine is halted Error: M913: Machine is halted Error: M400: Machine is halted Error: G1: Machine is halted Error: M400: Machine is halted Error: M913: Machine is halted Error: M400: Machine is halted Error: G1: Machine is halted Error: M201.1: Machine is halted Error: G92: Machine is halted Error: G90: Machine is halted Error: Failed to home axes XAC 2024/10/17 21:03:41 緊急停止、再接続を試みます...
-
@HRMK Because of the message "Emergency Stop! Reset the controller to continue." I think homing the Y axis is triggering the emergency stop button. Possibly interference, trapped or broken wire to the emergency stop button? To test, comment out these lines, reset, then home Y:
;Emergency stop M950 J1 C"^io6.in" ; configure active-high endstop for Emergency stop via pin io6.in M581 P1 T0 S1 R0
Ian
-
@droftarts Thank you for your opinion.
I tried to that and the machine did no longer crashes.I changed the Emergyency stop configuration to external trigger.
As a result, the external trigger was triggered while homey.g was runnning.So, Maybe the emergyency stop button and something are interfering.
I'm going to search the causing.
Thank you droftarts! -