UNSOLVED Motor Phase A/B disconnected - External stepper drivers

  • Hi All,

    I just recently updated my duet2 wifi v 1.03 to the latest firmware v3.1.1 and I'm noticing a strange "motor phase A/B disconnected" error on two drives that feed into an external driver circuit. I dug through the forums and noticed other users posting about similar issues on previous firmware versions when driving steppers directly from the duet however my specific instance appears different. I'm a bit perplexed as to the root cause given I'm passing the step and direction signals through a logic shift breakout to bring the logic up to 5v. The motors I'm driving are 570 n*cm running at 5 amps/phase at 72 volts DC, pushing lead-screws for X and Y directions. I just ran a print without any noticeable quality issues other than the console streaming errors every few seconds. I have a hard time believing its a connectivity issue as I'm using locking connectors on all of my connections and have run this setup for about a year on older firmware without issues.

    I've attached a photo of the error prompts and a copy of the M122 output with the hope that someone in the community may have had experience resolving this issue before.
    Error Message.JPG
    === Diagnostics ===
    RepRapFirmware for Duet 2 WiFi/Ethernet version 3.1.1 running on Duet WiFi 1.02 or later + DueX5
    Board ID: 08DGM-95BLL-N6PSS-6JTD8-3SD6S-9KTBL
    Used output buffers: 3 of 24 (14 max)
    === RTOS ===
    Static ram: 27980
    Dynamic ram: 95644 of which 44 recycled
    Exception stack ram used: 536
    Never used ram: 6868
    Tasks: NETWORK(blocked,268) HEAT(blocked,504) DUEX(suspended,160) MAIN(running,1732) IDLE(ready,80)
    Owned mutexes: WiFi(NETWORK)
    === Platform ===
    Last reset 01:02:51 ago, cause: software
    Last software reset at 2020-08-02 17:57, reason: User, spinning module GCodes, available RAM 6868 bytes (slot 1)
    Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0041f000 BFAR 0xe000ed38 SP 0xffffffff Task MAIN
    Error status: 0
    MCU temperature: min 37.4, current 39.5, max 41.2
    Supply voltage: min 11.5, current 11.9, max 12.1, under voltage events: 0, over voltage events: 0, power good: yes
    Driver 0: standstill, SG min/max not available
    Driver 1: standstill, SG min/max not available
    Driver 2: standstill, SG min/max not available
    Driver 3: standstill, SG min/max not available
    Driver 4: standstill, SG min/max not available
    Driver 5: standstill, SG min/max not available
    Driver 6: standstill, SG min/max 0/480
    Driver 7: standstill, SG min/max 0/416
    Driver 8: standstill, SG min/max 0/0
    Driver 9: standstill, SG min/max 0/1
    Date/time: 2020-08-02 18:59:53
    Cache data hit count 4294967295
    Slowest loop: 56.49ms; fastest: 0.13ms
    I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0
    === Storage ===
    Free file entries: 10
    SD card 0 detected, interface speed: 20.0MBytes/sec
    SD card longest read time 2.9ms, write time 9.7ms, max retries 0
    === Move ===
    Hiccups: 0(0), FreeDm: 169, MinFreeDm: 128, MaxWait: 864621ms
    Bed compensation in use: none, comp offset 0.000
    === MainDDARing ===
    Scheduled moves: 6353, completed moves: 6353, StepErrors: 0, LaErrors: 0, Underruns: 0, 0 CDDA state: -1
    === AuxDDARing ===
    Scheduled moves: 0, completed moves: 0, StepErrors: 0, LaErrors: 0, Underruns: 0, 0 CDDA state: -1
    === Heat ===
    Bed heaters = 0 -1 -1 -1, chamberHeaters = 3 4 -1 -1
    Heater 0 is on, I-accum = 0.0
    Heater 1 is on, I-accum = 0.2
    Heater 3 is on, I-accum = 0.0
    Heater 4 is on, I-accum = 0.4
    === GCodes ===
    Segments left: 0
    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
    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
    Daemon is idle in state(s) 0
    Autopause is idle in state(s) 0
    Code queue is empty.
    === Network ===
    Slowest loop: 61.97ms; fastest: 0.00ms
    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 0
      WiFi firmware version 1.21
      WiFi MAC address ec:fa:bc:0b:fb:8e
      WiFi Vcc 3.38, reset reason Unknown
      WiFi flash size 4194304, free heap 10832
      WiFi IP address
      WiFi signal strength -66dBm, reconnections 0, sleep mode modem
      Socket states: 0 0 0 0 0 0 0 0
      === DueX ===
      Read count 1, 0.02 reads/min

  • Here's the config.g

    ; Drives + Mapping
    M569 P0 S1 ; Drive 0 goes backwards
    M569 P1 S0 T2.5:2.5:5:0 ; Drive 1 goes forwards
    M569 P2 S0 ; Drive 2 goes forwards
    M569 P3 S0 T10 ; Drive 3 goes forwards
    M569 P4 S1 ; Drive 4 goes backwards
    M569 P5 S0 ; Drive 5 goes forwards
    M569 P6 S1 ; Drive 6 goes backwards - Z
    M569 P7 S1 ; Drive 7 goes backwards - Z
    M569 P8 S1 T2.5:2.5:5:0 ; Drive 8 goes backwards - Y
    M569 P9 S0 T2.5:2.5:5:0 ; Drive 9 goes forwards - X
    M584 X9 Y8 Z6:7 E4:3 ; Apply custom drive mapping


    M350 X4 Y4 I0 ; configure microstepping without interpolation
    M350 Z16:16 E16:16 I1 ; configure microstepping with interpolation
    M92 X40.00 Y40.00 Z3316.00:3316.00 E148.00:148.00 ; set steps per mm
    M566 X900.00 Y900.00 Z12.00:12.00 E120.00:120.00 ; set maximum instantaneous speed changes (mm/min)
    M203 X12000.00 Y12000.00 Z180.00:180.00 E1200.00:1200.00 ; set maximum speeds (mm/min)
    M201 X500.00 Y500.00 Z20.00:20.00 E250.00:250.00 ; set accelerations (mm/s^2)
    M906 X2000 Y2000 Z1300:1300 E1800:1800 I30 ; set motor currents (mA) and motor idle factor in per cent
    M84 S1500 ; Set idle timeout

  • Moderator

    What firmware version were you running before that didn't give the errors?

  • Moderator

    @Print3d said in Motor Phase A/B disconnected - External stepper drivers:

    WiFi firmware version 1.21

    Unrelated, but your wifi server version is a bit out of date. You may want to update it by uploading the 3.1.1 zip file as is to the /sys folder to update anything that needs updating.

  • @Phaedrux I have 5 duet wifi boards (1 beta, two gen 1 boards and two duet 2 WiFi boards v1.03) they are all coupled with duex5’s... I’ve been running this same mechanical setup without issue since the beta duet WiFi came out several years ago however this last jump I did was from firmware 2.0 to 3.1.1.

    My only issue on 2.0 was freezing after pause and I used to run separate parallel arduinos and raspberry pi’s to DHT sensing, webcams, data logging, etc. I’d really hate to revert back to 2.x because 3.1.1 will allow me to dramatically simplify the circuitry for our machines.

    I also noted that there have been several other posts referencing similar disconnect A/B issues on x/y motors... Is it possible there’s just a bug in 3.1.1 related to x/y driver declarations, use of duex5 or pulling the external step/dir/enable pins?

    Also I have since updated the WiFiserver and re-flashed the board over the bossa port the issue remains.

  • Moderator

    Thanks. I've asked DC42 to take a look.

  • administrators

    The reason for the messages is that you are using a DueX5, which has drivers 8 and 9 installed, but then you have no motors connected because you have external drivers installed instead. So of course RRF is warning about the not-connected motors.

    Try setting the X and Y motor currents to 0 or to a very low value (e.g. 100) in the M906 command.

Log in to reply