Maestro Steppers not working



  • Hey, first I'll mention this is my first post so I'm sorry if I miss anything.

    So I was in the process of converting a CR-10 to use a Duet Maestro + BLtouch and thermocouple. I had everything working and decided I should update the firmware (from I believe an early version of 2.0) to the latest. After the update, I couldn't get any of the motors to power. When homing or anything I could still freely move the motors with my hand. I have checked all my connectors to no avail. In addition, all the lights are on when the board is receiving power. I've tried M122 M906 and see nothing abnormal (ill add those below with config). I've also tried different firmware configs without all the other additions to see if they were causing it. Lastly, I see no visible damage to the board.

    Note: one oddity is that when I switched a motor and map it to E1 the motor receives enough power to resist being turned by hand.

    Results of M122:
    M122
    === Diagnostics ===
    RepRapFirmware for Duet 2 Maestro version 2.03beta3 running on Duet Maestro 1.0
    Board ID: 08DGM-95762-FD3TD-6JKD4-3S86N-1T8VD
    Used output buffers: 3 of 20 (17 max)
    === RTOS ===
    Static ram: 19592
    Dynamic ram: 87292 of which 0 recycled
    Exception stack ram used: 208
    Never used ram: 23980
    Tasks: NETWORK(ready,660) HEAT(blocked,1232) MAIN(running,3920) IDLE(ready,204)
    Owned mutexes:
    === Platform ===
    Last reset 00:01:15 ago, cause: software
    Last software reset at 2019-04-18 21:14, reason: User, spinning module GCodes, available RAM 23916 bytes (slot 2)
    Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x04432000 BFAR 0xe000ed38 SP 0xffffffff Task 0x4e49414d
    Error status: 0
    Free file entries: 10
    SD card 0 detected, interface speed: 15.0MBytes/sec
    SD card longest block write time: 0.0ms, max retries 0
    MCU temperature: min 46.7, current 47.4, max 47.5
    Supply voltage: min 12.1, current 12.1, max 12.1, under voltage events: 0, over voltage events: 0, power good: yes
    Driver 0: ok, read errors 0, write errors 0, ifcount 0, reads 0, timeouts 1126
    Driver 1: ok, read errors 0, write errors 0, ifcount 0, reads 0, timeouts 1126
    Driver 2: ok, read errors 0, write errors 0, ifcount 0, reads 0, timeouts 1127
    Driver 3: ok, read errors 0, write errors 0, ifcount 0, reads 0, timeouts 1127
    Driver 4: ok, read errors 0, write errors 0, ifcount 0, reads 0, timeouts 1127
    Driver 5: ok, read errors 0, write errors 0, ifcount 0, reads 0, timeouts 1126
    Driver 6: ok, read errors 0, write errors 0, ifcount 0, reads 0, timeouts 1126
    Date/time: 2019-04-18 21:15:34
    Slowest loop: 2.30ms; fastest: 0.07ms
    I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0
    === Move ===
    Hiccups: 0, FreeDm: 169, MinFreeDm: 169, MaxWait: 0ms
    Bed compensation in use: none
    Bed probe heights: 0.000 0.000 0.000 0.000 0.000
    === MainDDARing ===
    Scheduled moves: 0, completed moves: 0, StepErrors: 0, LaErrors: 0, Underruns: 0, 0
    === AuxDDARing ===
    Scheduled moves: 0, completed moves: 0, StepErrors: 0, LaErrors: 0, Underruns: 0, 0
    === Heat ===
    Bed heaters = 0, chamberHeaters = -1 -1
    === GCodes ===
    Segments left: 0, aux move: no
    Stack records: 1 allocated, 0 in use
    Movement lock held by null
    http is idle in state(s) 0
    telnet is idle in state(s) 0
    file is idle in state(s) 0
    serial is idle in state(s) 0
    aux is idle in state(s) 0
    daemon is idle in state(s) 0
    queue is idle in state(s) 0
    lcd is idle in state(s) 0
    autopause is idle in state(s) 0
    Code queue is empty.
    === Network ===
    Slowest loop: 9.60ms; fastest: 0.03ms
    Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) Telnet(0)
    HTTP sessions: 1 of 8
    Interface state 5, link 100Mbps full duplex

    M906 results:
    Motor current (mA) - X:1000, Y:1000, Z:1000, E:1000:1000:1000:1000, idle factor 30%

    Config.g:

    ; Configuration file for Duet Maestro (firmware version 1.21)
    ; executed by the firmware on start-up
    ;
    ; generated by RepRapFirmware Configuration Tool v2 on Sat Apr 06 2019 22:11:37 GMT-0400 (Eastern Daylight Time)

    ; General preferences
    G90 ; Send absolute coordinates...
    M83 ; ...but relative extruder moves

    ; Network
    M550 P"My Printer" ; Set machine name
    M552 P0.0.0.0 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 S1 ; Drive 0 goes forwards
    M569 P1 S1 ; Drive 1 goes forwards
    M569 P2 S1 ; Drive 2 goes forwards
    M569 P3 S1 ; Drive 3 goes forwards
    M350 X16 Y16 Z16 E16 I1 ; Configure microstepping with interpolation
    M92 X80.00 Y80.00 Z4000.00 E420.00 ; Set steps per mm
    M566 X900.00 Y900.00 Z12.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 X1000 Y1000 Z1000 E1000 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 X300 Y300 Z400 S0 ; Set axis maxima

    ; Endstops
    M574 Z1 S0 ; Set active low and disabled endstops
    M574 X1 Y1 S1 ; Set active high endstops

    ; Z-Probe
    M558 P64 H5 F100 T2000 ; Set Z probe type to bltouch and the dive height + speeds
    G31 X0 Y30 Z0 P25 ; Set Z probe trigger value, offset and trigger height
    ;M557 X15:300 Y35:300 S20 ; Define mesh grid

    ; Heaters
    M305 P0 T100000 B4138 R2200 ; Set thermistor + ADC parameters for heater 0
    M143 H0 S120 ; Set temperature limit for heater 0 to 120C
    M305 P1 X150 T"K" ; Configure thermocouple for heater 1
    M143 H1 S300 ; Set temperature limit for heater 1 to 300C

    ; Fans
    M106 P0 S0.3 I0 F500 H T45 ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned on
    M106 P1 S1 I0 F500 H1 T45 ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned on

    ; Tools
    M563 P0 D0 H1 ; 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

    ; Automatic saving after power loss is not enabled

    ; Custom settings are not configured

    Thanks!



  • Interesting that you have motor holding when explicitly mapping to E1.

    Try adding a M584 command at the beginning of the Drives section to explicitly map every driver, and see if that helps. Something like this:

    ; Drives
    M584 X0 Y1 Z2 E3:4 ; or whatever your drive mapping is.
    M569 ; etc.

  • administrators

    @mylespol said in Maestro Steppers not working:

    Supply voltage: min 12.1, current 12.1, max 12.1, under voltage events: 0, over voltage events: 0, power good: yes
    Driver 0: ok, read errors 0, write errors 0, ifcount 0, reads 0, timeouts 1126
    Driver 1: ok, read errors 0, write errors 0, ifcount 0, reads 0, timeouts 1126
    Driver 2: ok, read errors 0, write errors 0, ifcount 0, reads 0, timeouts 1127
    Driver 3: ok, read errors 0, write errors 0, ifcount 0, reads 0, timeouts 1127
    Driver 4: ok, read errors 0, write errors 0, ifcount 0, reads 0, timeouts 1127
    Driver 5: ok, read errors 0, write errors 0, ifcount 0, reads 0, timeouts 1126
    Driver 6: ok, read errors 0, write errors 0, ifcount 0, reads 0, timeouts 1126

    The above explains what is happening, but not why. The main processor is unable to set up the TMC2224 drivers via the UART interface even though the power monitor indicates that they are receiving power. I suspect either a hardware failure or a bug in the 2.03beta3 firmware. Please install the 2.02 stable release and see whether that helps.



  • @nhof
    Sadly no change, still free spinning

    @dc42
    From switching to 2.02 the M122 command returns

    M122
    === Diagnostics ===
    RepRapFirmware for Duet 2 Maestro version 2.02(RTOS) running on Duet Maestro 1.0
    Board ID: 08DGM-95762-FD3TD-6JKD4-3S86N-1T8VD
    Used output buffers: 1 of 20 (9 max)
    === RTOS ===
    Static ram: 19476
    Dynamic ram: 92848 of which 0 recycled
    Exception stack ram used: 200
    Never used ram: 18548
    Tasks: NETWORK(ready,672) HEAT(blocked,1260) MAIN(running,3940) IDLE(ready,204)
    Owned mutexes:
    === Platform ===
    Last reset 00:00:25 ago, cause: software
    Last software reset at 2019-04-18 21:14, reason: User, spinning module GCodes, available RAM 23916 bytes (slot 2)
    Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x04432000 BFAR 0xe000ed38 SP 0xffffffff Task 0x4e49414d
    Error status: 0
    Free file entries: 10
    SD card 0 detected, interface speed: 15.0MBytes/sec
    SD card longest block write time: 0.0ms, max retries 0
    MCU temperature: min 44.4, current 44.7, max 45.0
    Supply voltage: min 0.0, current 12.1, max 12.1, under voltage events: 0, over voltage events: 0, power good: yes
    Driver 0: ok, read errors 0, write errors 0, ifcount 0, reads 0, timeouts 442
    Driver 1: ok, read errors 0, write errors 0, ifcount 0, reads 0, timeouts 442
    Driver 2: ok, read errors 0, write errors 0, ifcount 0, reads 0, timeouts 441
    Driver 3: standstill, read errors 0, write errors 1, ifcount 13, reads 434, timeouts 0
    Driver 4: standstill, read errors 0, write errors 1, ifcount 13, reads 434, timeouts 0
    Driver 5: ok, read errors 0, write errors 0, ifcount 0, reads 0, timeouts 441
    Driver 6: ok, read errors 0, write errors 0, ifcount 0, reads 0, timeouts 441
    Date/time: 2019-04-19 12:46:54
    Slowest loop: 2.99ms; fastest: 0.06ms
    I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0
    === Move ===
    Hiccups: 0, StepErrors: 0, LaErrors: 0, FreeDm: 240, MinFreeDm: 240, MaxWait: 0ms, Underruns: 0, 0
    Scheduled moves: 0, completed moves: 0
    Bed compensation in use: none
    Bed probe heights: 0.000 0.000 0.000 0.000 0.000
    === Heat ===
    Bed heaters = 0, chamberHeaters = -1 -1
    === GCodes ===
    Segments left: 0
    Stack records: 1 allocated, 0 in use
    Movement lock held by null
    http is idle in state(s) 0
    telnet is idle in state(s) 0
    file is idle in state(s) 0
    serial is idle in state(s) 0
    aux is idle in state(s) 0
    daemon is idle in state(s) 0
    queue is idle in state(s) 0
    lcd is idle in state(s) 0
    autopause is idle in state(s) 0
    Code queue is empty.
    === Network ===
    Slowest loop: 5.24ms; fastest: 0.03ms
    Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) Telnet(0)
    HTTP sessions: 1 of 8
    Interface state 5, link 100Mbps full duplex

    So sadly I'm guessing something managed to kill drivers 0-2?


  • administrators

    I think it's more likely that a fault is preventing the main processor talking to those drivers. Perhaps a bad PCB trace or via. Is there any sign of damage to PCB traces?



  • I can't say that I see any, would pictures of the board be helpful?


  • administrators

    @mylespol said in Maestro Steppers not working:

    I can't say that I see any, would pictures of the board be helpful?

    If you can't see any, then probably not. I suggest you ask your supplier to replace your Duet under warranty.


 

Looks like your connection to Duet3D was lost, please wait while we try to reconnect.