Dual Axis Z Homing Firmeware 3.2-beta4.1



  • Hello,

    I have a problem with the homing of my Dual Z Axis Dual endstop.

    Circuit: Duet 2 WiFi (2WiFi)
    Firmware: RepRapFirmware for Duet 2 WiFi/Ethernet 3.2-beta4.1 (2020-12-02)
    Duet WiFi Server Version: 1.25beta0

    Randomly the homing doesn't work:

    • A motor doesn't stop on the end switch.
    • Be a motor does not start.
    • Be one of the two motors is running in the wrong direction.

    Generally the first homing following a restart of the board normally passes the problems that occur afterwards.

    My configuration file :

    ; Drives
    M569 P5 S1                                      ; physical drive 5 goes forwards
    M569 P6 S0                                      ; physical drive 6 goes forwards
    M569 P7 S1                                      ; physical drive 7 goes forwards
    M569 P8 S1                                      ; physical drive 8 goes forwards
    M569 P9 S1                                      ; physical drive 9 goes forwards
    M569 P3 S0                                      ; physical drive 3 goes forwards
    M569 P4 S0                                      ; physical drive 4 goes forwards
    M584 X9 Y7 Z6:8 U5 E3:4                                  ; set drive mapping
    M350 X128 Y128 U128 E32:32 I0                           ; configure microstepping with interpolation
    M350 Z16 I1
    ;M92 X80.28 Y80.22 Z6400 U80.28 E404.64:412.89          ; set steps per mm
    M92 X641.91 Y641.76 Z1600 U641.91 E809.28:813.99          ; set steps per mm
    M566 X900.00 Y900.00 Z120.00 U900.00 E1000.00:1000.00      ; set maximum instantaneous speed changes (mm/min)
    M203 X9000.00 Y9000.00 Z480.00 U9000.00 E3600.00:3600.00 ; set maximum speeds (mm/min)
    M201 X900.00 Y900.00 Z300 U900.00 E5000.00:5000.00 ; set accelerations (mm/s^2)
    M906 X1000 Y1000 Z800 U1000 E600:600 I50              ; set motor currents (mA) and motor idle factor in per cent
    M84 S30                                                  ; Set idle timeout
    
    ; Axis Limits
    M208 X-52.05 Y6.5 U18 Z-0.2 S1
    M208 X307 Y330 Z350 U363 S0
    ; Endstops
    M574 X1 S1 P"!duex.e6stop" 
    M574 Y1 S1 P"duex.e4stop"
    M574 Z1 S1 P"!duex.e3stop+!duex.e5stop"
    M574 U2 S1 P"!duex.e2stop"	
    

    My HomeZ.g :

    ; homez.g
    ; called to home the Z axis
    ;
    ; generated by RepRapFirmware Configuration Tool v3.1.4 on Tue Oct 27 2020 19:22:16 GMT+0100 (heure normale d’Europe centrale)
    
    G91
    M913 Z40
    G1 H2 Z2 F300
    G1 H1 Z-355 F180
    G90
    M913 Z100
    G92 Z0.21
    
    G91
    G1 H1 Z10 F1000
    G90
    

    My HomeAll.g :

    ; homeall.g
    ; called to home all axes
    ;
    ; generated by RepRapFirmware Configuration Tool v3.1.4 on Tue Oct 27 2020 19:22:16 GMT+0100 (heure normale d’Europe centrale)
    
    G91
    M913 X40 Y40 U40 Z40
    G1 H2 Z2 F300
    G1 H1 X-350 Y-350 U350 F1800
    G1 H2 X5 Y5 U-5 F6000
    G1 H1 X-350 Y-350 U350 F60
    G1 H1 Z-355 F180
    
    G90
    M913 X100 Y100 U100 Z100
    G92 Z0.21
    

    I don't know if it's a firmware bug or a configuration problem (I don't think it's a configuration problem) I checked my end switches and even replaced them and the problem never went away.

    Sorry for my English I use an online translator being French speaking.

    Christophe


  • administrators

    As your endstops are all connected to the DueX, the most likely reason is a breakdown in I2C communication.

    1. When the problem next occurs, please run M122 and post the report here.
    2. Please confirm that you have a short thick ground wire between the ground pins of the VIN terminals of the Duet and DueX5, as recommended in the wiring instructions; and check that the screws in the VIN terminal block are tight.


  • 1 axis did not stop on the endstop, it was blocked and then raised by about 10 mm.

    M122 While the axis was blocked :

    M122
    === Diagnostics ===
    RepRapFirmware for Duet 2 WiFi/Ethernet version 3.2-beta4.1 running on Duet WiFi 1.02 or later + DueX5
    Board ID: 08DJM-9178L-L4MSN-6J9FG-3SJ6M-983UR
    Used output buffers: 1 of 24 (24 max)
    === RTOS ===
    Static ram: 24188
    Dynamic ram: 102428 of which 60 recycled
    Never used RAM 3372, free system stack 93 words
    Tasks: NETWORK(ready,175) HEAT(blocked,308) DUEX(blocked,35) MAIN(running,314) IDLE(ready,20)
    Owned mutexes: WiFi(NETWORK)
    === Platform ===
    Last reset 00:30:04 ago, cause: power up
    Last software reset at 2020-12-14 19:10, reason: User, GCodes spinning, available RAM 2988, slot 2
    Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0041f000 BFAR 0xe000ed38 SP 0xffffffff Task MAIN
    Error status: 0x0c
    MCU temperature: min 29.5, current 29.8, max 30.3
    Supply voltage: min 23.7, current 23.8, max 24.1, under voltage events: 0, over voltage events: 0, power good: yes
    Driver 0: position -33411, standstill, SG min/max not available
    Driver 1: position 4171, standstill, SG min/max not available
    Driver 2: position 2880, standstill, SG min/max not available
    Driver 3: position 233013, standstill, SG min/max not available
    Driver 4: position 0, standstill, SG min/max not available
    Driver 5: position 0, standstill, SG min/max not available
    Driver 6: position 0, ok, SG min/max 0/124
    Driver 7: position 0, standstill, SG min/max not available
    Driver 8: position 0, standstill, SG min/max 0/188
    Driver 9: position 0, standstill, SG min/max not available
    Driver 10: position 0
    Driver 11: position 0
    Date/time: 2020-12-14 22:41:15
    Cache data hit count 2341359914
    Slowest loop: 8.09ms; fastest: 0.10ms
    I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0
    === Storage ===
    Free file entries: 8
    SD card 0 detected, interface speed: 20.0MBytes/sec
    SD card longest read time 3.8ms, write time 1.5ms, max retries 0
    === Move ===
    FreeDm 168 (min 168), maxWait 809ms, bed compensation in use: none, comp offset 0.000
    === MainDDARing ===
    Scheduled moves 440, completed moves 439, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state 3
    === AuxDDARing ===
    Scheduled moves 0, completed moves 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
    === Heat ===
    Bed heaters = 0 -1 -1 -1, chamberHeaters = -1 -1 -1 -1
    === GCodes ===
    Segments left: 0
    Movement lock held by HTTP
    HTTP is idle in state(s) 1 8, running macro
    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
    Daemon is idle in state(s) 0
    Autopause is idle in state(s) 0
    Code queue is empty.
    === Network ===
    Slowest loop: 200.86ms; fastest: 0.11ms
    Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0), 0 sessions
    HTTP sessions: 1 of 8
    - WiFi -
    Network state is active
    WiFi module is connected to access point 
    Failed messages: pending 0, notready 0, noresp 112
    WiFi firmware version 1.25beta0
    WiFi MAC address bc:dd:c2:2d:66:6e
    WiFi Vcc 3.46, reset reason Turned on by main processor
    WiFi flash size 4194304, free heap 24048
    WiFi IP address 192.168.200.205
    WiFi signal strength -57dBm, mode 802.11n, reconnections 0, sleep mode modem
    Clock register 00002002
    Socket states: 0 0 0 0 0 0 0 0
    === DueX ===
    Read count 2, 1.94 reads/min
    

    M122 at the end of the homing Z :

    === Diagnostics ===
    RepRapFirmware for Duet 2 WiFi/Ethernet version 3.2-beta4.1 running on Duet WiFi 1.02 or later + DueX5
    Board ID: 08DJM-9178L-L4MSN-6J9FG-3SJ6M-983UR
    Used output buffers: 1 of 24 (24 max)
    === RTOS ===
    Static ram: 24188
    Dynamic ram: 102428 of which 60 recycled
    Never used RAM 3372, free system stack 93 words
    Tasks: NETWORK(ready,175) HEAT(blocked,308) DUEX(blocked,35) MAIN(running,314) IDLE(ready,20)
    Owned mutexes: HTTP(MAIN)
    === Platform ===
    Last reset 00:31:02 ago, cause: power up
    Last software reset at 2020-12-14 19:10, reason: User, GCodes spinning, available RAM 2988, slot 2
    Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0041f000 BFAR 0xe000ed38 SP 0xffffffff Task MAIN
    Error status: 0x0c
    MCU temperature: min 29.5, current 29.8, max 30.4
    Supply voltage: min 23.7, current 23.8, max 24.1, under voltage events: 0, over voltage events: 0, power good: yes
    Driver 0: position -33411, standstill, SG min/max not available
    Driver 1: position 4171, standstill, SG min/max not available
    Driver 2: position -565120, standstill, SG min/max not available
    Driver 3: position 233013, standstill, SG min/max not available
    Driver 4: position 0, standstill, SG min/max not available
    Driver 5: position 0, standstill, SG min/max not available
    Driver 6: position 0, ok, SG min/max 34/91
    Driver 7: position 0, standstill, SG min/max not available
    Driver 8: position 0, standstill, SG min/max 146/146
    Driver 9: position 0, standstill, SG min/max not available
    Driver 10: position 0
    Driver 11: position 0
    Date/time: 2020-12-14 22:42:13
    Cache data hit count 2412836347
    Slowest loop: 8.28ms; fastest: 0.10ms
    I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0
    === Storage ===
    Free file entries: 8
    SD card 0 detected, interface speed: 20.0MBytes/sec
    SD card longest read time 3.9ms, write time 0.9ms, max retries 0
    === Move ===
    FreeDm 169 (min 168), maxWait 0ms, bed compensation in use: none, comp offset 0.000
    === MainDDARing ===
    Scheduled moves 440, completed moves 440, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
    === AuxDDARing ===
    Scheduled moves 0, completed moves 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
    === Heat ===
    Bed heaters = 0 -1 -1 -1, chamberHeaters = -1 -1 -1 -1
    === GCodes ===
    Segments left: 0
    Movement lock held by HTTP
    HTTP is ready with "M122" in state(s) 0 8, running macro
    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
    Daemon is idle in state(s) 0
    Autopause is idle in state(s) 0
    Code queue is empty.
    === Network ===
    Slowest loop: 200.32ms; fastest: 0.11ms
    Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0), 0 sessions
    HTTP sessions: 1 of 8
    - WiFi -
    Network state is active
    WiFi module is connected to access point 
    Failed messages: pending 0, notready 0, noresp 113
    WiFi firmware version 1.25beta0
    WiFi MAC address bc:dd:c2:2d:66:6e
    WiFi Vcc 3.46, reset reason Turned on by main processor
    WiFi flash size 4194304, free heap 24048
    WiFi IP address 192.168.200.205
    WiFi signal strength -58dBm, mode 802.11n, reconnections 0, sleep mode modem
    Clock register 00002002
    Socket states: 0 0 0 0 0 0 0 0
    === DueX ===
    Read count 0, 0.00 reads/min
    

    M119 after Z homing:

    Endstops - X: at min stop, Y: at min stop, Z: at min stop, U: at max stop, Z probe: at min stop
    

    No blockage, one of the motors went directly up to the endstop without dropping down:

    === Diagnostics ===
    RepRapFirmware for Duet 2 WiFi/Ethernet version 3.2-beta4.1 running on Duet WiFi 1.02 or later + DueX5
    Board ID: 08DJM-9178L-L4MSN-6J9FG-3SJ6M-983UR
    Used output buffers: 10 of 24 (24 max)
    === RTOS ===
    Static ram: 24188
    Dynamic ram: 102428 of which 60 recycled
    Never used RAM 3372, free system stack 93 words
    Tasks: NETWORK(ready,175) HEAT(blocked,308) DUEX(blocked,35) MAIN(running,314) IDLE(ready,20)
    Owned mutexes: WiFi(NETWORK) HTTP(MAIN)
    === Platform ===
    Last reset 00:45:05 ago, cause: power up
    Last software reset at 2020-12-14 19:10, reason: User, GCodes spinning, available RAM 2988, slot 2
    Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0041f000 BFAR 0xe000ed38 SP 0xffffffff Task MAIN
    Error status: 0x0c
    MCU temperature: min 30.0, current 30.3, max 30.7
    Supply voltage: min 23.8, current 23.8, max 23.9, under voltage events: 0, over voltage events: 0, power good: yes
    Driver 0: position -33411, standstill, SG min/max not available
    Driver 1: position 4171, standstill, SG min/max not available
    Driver 2: position -320, standstill, SG min/max not available
    Driver 3: position 233013, standstill, SG min/max not available
    Driver 4: position 0, standstill, SG min/max not available
    Driver 5: position 0, standstill, SG min/max not available
    Driver 6: position 0, standstill, SG min/max 0/99
    Driver 7: position 0, standstill, SG min/max not available
    Driver 8: position 0, ok, SG min/max 0/184
    Driver 9: position 0, standstill, SG min/max not available
    Driver 10: position 0
    Driver 11: position 0
    Date/time: 2020-12-14 22:56:16
    Cache data hit count 3519317334
    Slowest loop: 8.14ms; fastest: 0.12ms
    I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0
    === Storage ===
    Free file entries: 8
    SD card 0 detected, interface speed: 20.0MBytes/sec
    SD card longest read time 3.4ms, write time 1.0ms, max retries 0
    === Move ===
    FreeDm 169 (min 168), maxWait 3661ms, bed compensation in use: none, comp offset 0.000
    === MainDDARing ===
    Scheduled moves 479, completed moves 479, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
    === AuxDDARing ===
    Scheduled moves 0, completed moves 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
    === Heat ===
    Bed heaters = 0 -1 -1 -1, chamberHeaters = -1 -1 -1 -1
    === GCodes ===
    Segments left: 0
    Movement lock held by HTTP
    HTTP is ready with "M122" in state(s) 0 8, running macro
    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
    Daemon is idle in state(s) 0
    Autopause is idle in state(s) 0
    Code queue is empty.
    === Network ===
    Slowest loop: 200.41ms; fastest: 0.11ms
    Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0), 0 sessions
    HTTP sessions: 1 of 8
    - WiFi -
    Network state is active
    WiFi module is connected to access point 
    Failed messages: pending 0, notready 0, noresp 126
    WiFi firmware version 1.25beta0
    WiFi MAC address bc:dd:c2:2d:66:6e
    WiFi Vcc 3.46, reset reason Turned on by main processor
    WiFi flash size 4194304, free heap 24048
    WiFi IP address 192.168.200.205
    WiFi signal strength -57dBm, mode 802.11n, reconnections 0, sleep mode modem
    Clock register 00002002
    Socket states: 0 0 0 0 0 0 0 0
    === DueX ===
    Read count 3, 37.32 reads/min
    

    For the wiring (16 AWG)

    IMG_20201214_220627_resized_20201214_105132707.jpg

    Small precision all the same, all the axes are wired on the Duex 5 only the extruders are wired on the duet 2 wifi. This problem only concerns the homing of the printer and makes prints for several hours (24H for the last one) without any worries and without any defect on the prints (idex printer).

    The 3 heaters go through mosfet

    24V power supply

    Christophe.


  • Moderator

    You may wish to try moving the Z motors and endstops to the mainboard to test.


Log in to reply