Stuttering Duet Board



  • My printer: CoreXY - Three Z Stepper Motors
    Firmware Name: RepRapFirmware for Duet 2 WiFi/Ethernet
    Firmware Electronics: Duet WiFi 1.02 or later + DueX5
    Firmware Version: 2.01(RTOS) (2018-07-26b2)
    WiFi Server Version: 1.21RC4(08b3)
    Web Interface Version: 1.21-RC4
    VIN 24.5V, BLTouch, 0.9 Steppers for all axes, 1.8 for extruder
    E3D V6 with Bondtech BMG extruder

    Problem is when the Duet is running for at least five minutes, the print stops and starts, like its buffering. I slowed the print down to a crawl and this behavior continues, less than 10 mm/s. The MCU temp is below 50 when this happens. I calibrated the MCU temp at room temperature and included the adjustment in my config.g. I tried changing SD cards, but that did not help. I hope it's a small issue with my config!
    Thanks for your help.

    Here is my config.g

    ; Configuration file for My Printer
    ; Communication and general
    M111 S0 ; Debug off
    M550 PRailCore300ZL ; Machine name and Netbios name (can be anything you like)
    ;*** If you have more than one Duet on your network, they must all have different MAC addresses, so change the last digits
    M540 P0xBE:0xEF:0xDE:0xAD:0xFE:0xEE ; MAC Address

    ;*** Wifi Networking
    M552 S1 ; Turn network on
    M552 P192.168.86.239 ; Machine IP address
    M555 P2 ; Set output to look like Marlin
    M575 P1 B57600 S1 ; Comms parameters for PanelDue

    G21 ; Work in millimetres
    G90 ; Send absolute coordinates...
    M83 ; ...but relative extruder moves

    ; Axis and motor configuration
    M584 Z5:6:7 ; Z steppers are 5 (front left) 6(rear left) 7(right) on the duex5
    M667 S1 ; CoreXY mode
    M569 P0 S0 ; Drive 0 goes forwards (change to S0 to reverse it)
    M569 P1 S1 ; Drive 1 goes backwards
    M569 P2 S1 ; Drive 2 goes forwards
    M569 P3 S0 ; Drive 3 goes forwards
    M569 P4 S0 ; Drive 4 goes forwards
    M569 P5 S0 ; Drive 5 goes backwards
    M569 P6 S0 ; Drive 6 goes backwards
    M569 P7 S0 ; Drive 7 goes backwards

    ;Leadscrew locations
    M671 X-36:-36:293 Y20:276:147 S7.5 ;Front left, Rear Left, Right S7.5 is the max correction - measure your own offsets, to the bolt for the yoke of each leadscrew

    M350 X16 Y16 Z16 E16 I1 ; set 16x microstepping for axes& extruder, with interpolation
    M574 X1 Y1 Z0 S0 ; set homing switch configuration (x,y at min, z at max)
    M906 X1000 Y1000 Z1000 E700:700:1000:1000:1000:1000:1000:1000:1000 I60 ; Per Kraegar's email
    ;M906 X900 Y900 Z900 E700 I60 ; Set motor currents (mA)
    M201 X3000 Y3000 Z20 E1000 ; Accelerations (mm/s^2)
    M203 X24000 Y24000 Z900 E3600 ; Maximum speeds (mm/min)
    M566 X1000 Y1000 Z30 E20 ; Maximum jerk speeds mm/minute
    M208 X260 Y280 Z300 ; set axis maxima and high homing switch positions (adjust to suit your machine)
    M208 X0 Y0 Z-0.5 S1 ; set axis minima and low homing switch positions (adjust to make X=0 and Y=0 the edges of the bed)
    M92 X201.5 Y201.5 Z1600 E415 ; steps/mm, X/Y may be more around 201.5 for accuracy

    ; Thermistors
    M305 P0 T100000 B4240 R4700 H0 L0 ; Put your own H and/or L values here to set the bed thermistor ADC correction
    ;M305 P1 T100000 B4240 R4700 H0 L0 ; Put your own H and/or L values here to set the first nozzle thermistor ADC correction
    M305 P1 X200 ; Use PT100 thermistor

    M307 H1 A478.2 C213.6 D3.8 S1.00 V24.5 B0 ; Heater 1 model
    M570 S360 ; Hot end may be a little slow to heat up so allow it 180 seconds
    M143 S285

    ; Fans
    M106 P0 H-1 ; disable thermostatic mode for fan 0
    M106 P1 H-1 ; disable thermostatic mode for fan 1
    M106 P2 H-1
    M106 P0 S0 ; turn off fans
    M106 P1 S0
    M106 P2 S0

    ; Tool definitions
    M563 P0 D0 H1 ; Define tool 0
    G10 P0 S0 R0 ; Set tool 0 operating and standby temperatures
    ;*** If you have a single-nozzle build, comment the next 2 lines
    ;M563 P1 D1 H2 ; Define tool 1
    ;G10 P1 S0 R0 X0 Y17 ; Set tool 1 operating and standby temperatures

    ; Z probe and compensation definition
    ;*** If you have a switch instead of an IR probe, change P1 to P4 in the following M558 command
    ;M558 P4 X0 Y0 Z1 ; Z probe is an IR probe and is not used for homing any axes
    ;G31 X0 Y30 Z2.00 P500 ; Set the zprobe height and threshold (put your own values here)

    ;BLTouch - leave commented out if using a IR Probe
    M307 H7 A-1 C-1 D-1
    M558 P9 X0 Y0 Z1 H5 F50 T6000 A5 S0.02

    G31 X2 Y42 Z2.66 P25 ; Customize your offsets appropriately.

    M912 P0 S-3.5 ; Adjusts CPU Temperature readout

    ;*** If you are using axis compensation, put the figures in the following command
    ;M556 S78 X0 Y0 Z0 ; Axis compensation here

    M208 S1 Z-0.2 ; set minimum Z
    ;
    T0 ; select first hot end

    ;M501


  • administrators

    In Due+DueX5 setups, this issue can be caused by a poor ground connection between the Duet and DueX5, resulting in I2C errors. Do you have a very short and thick wire connected between the negative terminals of the VIN terminal blocks on the Duet and DueX5, as instructed in the wiring instructions on the wiki?



  • Thanks for the response David. I am using a 24V 20A 500W Max power supply and have separate wires (14 AWP silicon) from the power supply to the Duet Wifi and Duex5. Should I also have a ground wire connecting the two negative VIN terminal blocks (Duet Wifi & DueX5)?


  • administrators

    @gregc said in Stuttering Duet Board:

    Thanks for the response David. I am using a 24V 20A 500W Max power supply and have separate wires (14 AWP silicon) from the power supply to the Duet Wifi and Duex5. Should I also have a ground wire connecting the two negative VIN terminal blocks (Duet Wifi & DueX5)?

    From https://duet3d.dozuki.com/Wiki/Duex2_and_Duex5_Features#Section_Wiring:

    VIN and GND terminals of the Duex5 to the corresponding terminals of the Duet WiFi. Do not run separate ground wires from each terminal block back to the power supply unless the power supply is very close (less than 100mm) to the Duet WiFi and DueX5. You can run separate +VIN wires back to the power supply if you wish.

    and:

    Important! You must have a reliable low-resistance connection between the negative (ground) terminals of the two VIN terminal blocks. Failure to do so may result in high currents flowing in the ground connectors of the ribbon cable and may cause damage to the Duet WiFi or Duex5. Preferably, make this connection using either solid core wire, or stranded core wire with ferrules of the correct size crimped on securely. Re-tighten the terminal block screws regularly for the first few days of use, to make sure there is no creep in the wires causing the screws to become loose.



  • Thanks. I changed the wiring and I am still getting the same error. I am going to take my Duetwifi from my DC42 Delta and will try it on my CoreXY, and visa versa.


  • administrators

    Does your M122 report list any I2C errors when this problem occurs?



  • i'll check tonight and will report back tomorrow.
    Thanks again.



  • Here are the before and after M122 reports.
    After has a "DueX I2C errors 2462"

    11:16:36 PM
    M122
    === Diagnostics ===
    RepRapFirmware for Duet 2 WiFi/Ethernet version 2.01(RTOS) running on Duet WiFi 1.02 or later + DueX5
    Board ID: 08DGM-956GU-DJMSJ-6J1FA-3SJ6J-TAQVF
    Used output buffers: 1 of 20 (9 max)
    === RTOS ===
    Static ram: 28476
    Dynamic ram: 96240 of which 16 recycled
    Exception stack ram used: 320
    Never used ram: 6020
    Tasks: NETWORK(ready,400) HEAT(blocked,1192) MAIN(running,3540)
    Owned mutexes:
    === Platform ===
    Last reset 00:01:17 ago, cause: reset button or watchdog
    Last software reset at 2018-08-17 17:19, reason: User, spinning module GCodes, available RAM 5976 bytes (slot 3)
    Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0041f000 BFAR 0xe000ed38 SP 0xffffffff Task 0x4e49414d
    Error status: 0
    Free file entries: 10
    SD card 0 detected, interface speed: 20.0MBytes/sec
    SD card longest block write time: 0.0ms, max retries 0
    MCU temperature: min 28.8, current 31.3, max 31.6
    Supply voltage: min 24.4, current 24.5, max 24.8, under voltage events: 0, over voltage events: 0
    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 not available
    Driver 7: standstill, SG min/max not available
    Driver 8: standstill, SG min/max not available
    Driver 9: standstill, SG min/max not available
    Expansion motor(s) stall indication: no
    Date/time: 2018-08-18 23:16:35
    Slowest loop: 28.78ms; fastest: 2.96ms
    === 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 -1 -1 -1, chamberHeaters = -1 -1
    Heater 1 is on, I-accum = 0.0
    === 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
    autopause is idle in state(s) 0
    Code queue is empty.
    === Network ===
    Slowest loop: 16.05ms; fastest: 0.01ms
    Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) Telnet(0)
    HTTP sessions: 1 of 8

    • WiFi -
      Network state is running
      WiFi module is connected to access point
      Failed messages: pending 0, notready 0, noresp 0
      WiFi firmware version 1.21RC4(08b3)
      WiFi MAC address 60:01:94:73:54:18
      WiFi Vcc 3.37, reset reason Turned on by main processor
      WiFi flash size 4194304, free heap 17136

    WiFi IP address 192.168.86.35
    WiFi signal strength -49dBm, reconnections 0, sleep mode modem
    Socket states: 0 0 0 0 0 0 0 0
    === Expansion ===
    DueX I2C errors 0

    11:18:25 PM
    M122
    === Diagnostics ===
    RepRapFirmware for Duet 2 WiFi/Ethernet version 2.01(RTOS) running on Duet WiFi 1.02 or later + DueX5
    Board ID: 08DGM-956GU-DJMSJ-6J1FA-3SJ6J-TAQVF
    Used output buffers: 1 of 20 (16 max)
    === RTOS ===
    Static ram: 28476
    Dynamic ram: 96276 of which 16 recycled
    Exception stack ram used: 484
    Never used ram: 5820
    Tasks: NETWORK(ready,400) HEAT(blocked,1192) MAIN(running,3540)
    Owned mutexes:
    === Platform ===
    Last reset 00:03:06 ago, cause: reset button or watchdog
    Last software reset at 2018-08-17 17:19, reason: User, spinning module GCodes, available RAM 5976 bytes (slot 3)
    Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0041f000 BFAR 0xe000ed38 SP 0xffffffff Task 0x4e49414d
    Error status: 0
    Free file entries: 9
    SD card 0 detected, interface speed: 20.0MBytes/sec
    SD card longest block write time: 0.0ms, max retries 0
    MCU temperature: min 31.3, current 32.9, max 32.9
    Supply voltage: min 24.4, current 24.5, max 24.7, under voltage events: 0, over voltage events: 0
    Driver 0: standstill, SG min/max 0/214
    Driver 1: standstill, SG min/max 0/124
    Driver 2: standstill, SG min/max 0/0
    Driver 3: standstill, SG min/max not available
    Driver 4: standstill, SG min/max not available
    Driver 5: standstill, SG min/max 48/240
    Driver 6: standstill, SG min/max 43/229
    Driver 7: standstill, SG min/max 51/241
    Driver 8: standstill, SG min/max not available
    Driver 9: standstill, SG min/max not available
    Expansion motor(s) stall indication: yes
    Date/time: 2018-08-18 23:18:24
    Slowest loop: 232.36ms; fastest: 2.96ms
    === Move ===
    Hiccups: 0, StepErrors: 0, LaErrors: 0, FreeDm: 240, MinFreeDm: 236, MaxWait: 122958ms, Underruns: 0, 0
    Scheduled moves: 13, completed moves: 13
    Bed compensation in use: none
    Bed probe heights: 0.000 0.000 0.000 0.000 0.000
    === Heat ===
    Bed heaters = 0 -1 -1 -1, chamberHeaters = -1 -1
    Heater 1 is on, I-accum = 0.0
    === GCodes ===
    Segments left: 0
    Stack records: 2 allocated, 1 in use
    Movement lock held by aux
    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 5
    daemon is idle in state(s) 0
    queue is idle in state(s) 0
    autopause is idle in state(s) 0
    Code queue is empty.
    === Network ===
    Slowest loop: 234.35ms; fastest: 0.08ms
    Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) Telnet(0)
    HTTP sessions: 1 of 8

    • WiFi -
      Network state is running
      WiFi module is connected to access point
      Failed messages: pending 0, notready 0, noresp 0
      WiFi firmware version 1.21RC4(08b3)
      WiFi MAC address 60:01:94:73:54:18
      WiFi Vcc 3.38, reset reason Turned on by main processor
      WiFi flash size 4194304, free heap 15672
      WiFi IP address 192.168.86.35
      WiFi signal strength -50dBm, reconnections 0, sleep mode modem
      Socket states: 0 0 0 0 0 0 0 0
      === Expansion ===
      DueX I2C errors 2462


  • David,
    Does my DueX I2C errors 2462 mean my DueX 5 board is dead?
    Thanks


  • administrators

    Please try firmware 2.02beta1. It fixes I2C errors caused by task switching in the middle of an I2C transaction.



  • Thank you David. I will give it a try.



  • Firmware Name: RepRapFirmware for Duet 2 WiFi/Ethernet
    Firmware Electronics: Duet WiFi 1.02 or later + DueX5
    Firmware Version: 2.02beta1(RTOS) (2018-08-12b5)
    WiFi Server Version: 1.21RC4(08b3)
    Web Interface Version: 1.22.1

    Unfortunately my latest M122 contains "DueX I2C errors 9602"

    7:42:48 PMM122
    === Diagnostics ===
    RepRapFirmware for Duet 2 WiFi/Ethernet version 2.02beta1(RTOS) running on Duet WiFi 1.02 or later + DueX5
    Board ID: 08DGM-956GU-DJMSJ-6J1FA-3SJ6J-TAQVF
    Used output buffers: 1 of 20 (14 max)
    === RTOS ===
    Static ram: 28476
    Dynamic ram: 98316 of which 0 recycled
    Exception stack ram used: 460
    Never used ram: 3820
    Tasks: NETWORK(ready,400) HEAT(blocked,1192) MAIN(running,3476)
    Owned mutexes:
    === Platform ===
    Last reset 00:03:56 ago, cause: power up
    Last software reset at 2018-08-20 17:31, reason: User, spinning module GCodes, available RAM 3740 bytes (slot 0)
    Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0441f000 BFAR 0xe000ed38 SP 0xffffffff Task 0x4e49414d
    Error status: 0
    Free file entries: 10
    SD card 0 detected, interface speed: 20.0MBytes/sec
    SD card longest block write time: 0.0ms, max retries 0
    MCU temperature: min 26.9, current 32.8, max 33.0
    Supply voltage: min 24.4, current 24.5, max 24.7, under voltage events: 0, over voltage events: 0
    Driver 0: standstill, SG min/max 0/1023
    Driver 1: standstill, SG min/max 0/1023
    Driver 2: standstill, SG min/max 0/0
    Driver 3: standstill, SG min/max not available
    Driver 4: standstill, SG min/max not available
    Driver 5: standstill, SG min/max 65/219
    Driver 6: standstill, SG min/max 59/202
    Driver 7: standstill, SG min/max 65/200
    Driver 8: standstill, SG min/max not available
    Driver 9: standstill, SG min/max not available
    Expansion motor(s) stall indication: yes
    Date/time: 2018-08-20 19:42:47
    Slowest loop: 180.60ms; fastest: 3.09ms
    === Move ===
    Hiccups: 0, StepErrors: 0, LaErrors: 0, FreeDm: 240, MinFreeDm: 236, MaxWait: 14990ms, Underruns: 0, 0
    Scheduled moves: 24, completed moves: 24
    Bed compensation in use: none
    Bed probe heights: 5.000 5.000 5.000 0.000 0.000
    === Heat ===
    Bed heaters = 0 -1 -1 -1, chamberHeaters = -1 -1
    Heater 0 is on, I-accum = 0.0
    Heater 1 is on, I-accum = 0.3
    === GCodes ===
    Segments left: 0
    Stack records: 2 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 ready with "M408 S0 R11" in state(s) 0
    daemon is idle in state(s) 0
    queue is idle in state(s) 0
    autopause is idle in state(s) 0
    Code queue is empty.
    === Network ===
    Slowest loop: 196.78ms; fastest: 0.01ms
    Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) Telnet(0)
    HTTP sessions: 1 of 8

    • WiFi -
      Network state is running
      WiFi module is connected to access point
      Failed messages: pending 0, notready 0, noresp 0
      WiFi firmware version 1.21RC4(08b3)
      WiFi MAC address 60:01:94:73:54:18
      WiFi Vcc 3.37, reset reason Turned on by main processor
      WiFi flash size 4194304, free heap 15672
      WiFi IP address 192.168.86.30
      WiFi signal strength -53dBm, reconnections 0, sleep mode modem
      Socket states: 0 0 0 0 0 0 0 0
      === Expansion ===
      DueX I2C errors 9602

  • administrators

    The most likely causes of all those I2C errors are:

    1. Inadequate ground connection between the Duet and the DueX5. If this is the cause, there will probably be no I2C errors until you start moving the motors.
    2. Faulty DueX5
    3. Faulty ribbon cable.

    Please test whether you get I2C errors when the motors haven't moved since power up, or after you send M18 to turn them off. Also please post a photo showing how you have connected the grounds of the Duet and DueX5 together.



  • David, the DueX I2C errors 20094 occurred after printing about eight layers of a 40x40 test cube. I cancelled the print and sent an M18 command, but the error remained. Here is a photo of my wiring. I am using 14 AWG silicon covered wires for the VIN terminals. I also tried another ribbon cable.

    0_1534878574540_IMG-0870.JPG

    2:55:59 PMM122
    === Diagnostics ===
    RepRapFirmware for Duet 2 WiFi/Ethernet version 2.02beta1(RTOS) running on Duet WiFi 1.02 or later + DueX5
    Board ID: 08DGM-956GU-DJMSJ-6J1FA-3SJ6J-TAQVF
    Used output buffers: 1 of 20 (18 max)
    === RTOS ===
    Static ram: 28476
    Dynamic ram: 98316 of which 0 recycled
    Exception stack ram used: 484
    Never used ram: 3796
    Tasks: NETWORK(ready,400) HEAT(blocked,1192) MAIN(running,1660)
    Owned mutexes:
    === Platform ===
    Last reset 00:21:44 ago, cause: power up
    Last software reset at 2018-08-20 17:31, reason: User, spinning module GCodes, available RAM 3740 bytes (slot 0)
    Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0441f000 BFAR 0xe000ed38 SP 0xffffffff Task 0x4e49414d
    Error status: 0
    Free file entries: 10
    SD card 0 detected, interface speed: 20.0MBytes/sec
    SD card longest block write time: 0.0ms, max retries 0
    MCU temperature: min 36.4, current 36.5, max 36.9
    Supply voltage: min 24.4, current 24.5, max 24.7, under voltage events: 0, over voltage events: 0
    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 not available
    Driver 7: standstill, SG min/max not available
    Driver 8: standstill, SG min/max not available
    Driver 9: standstill, SG min/max not available
    Expansion motor(s) stall indication: yes
    Date/time: 2018-08-21 14:55:58
    Slowest loop: 180.64ms; fastest: 97.54ms
    === 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.015 -0.010 -0.012 0.000 0.000
    === Heat ===
    Bed heaters = 0 -1 -1 -1, chamberHeaters = -1 -1
    Heater 0 is on, I-accum = 0.0
    Heater 1 is on, I-accum = 0.4
    === GCodes ===
    Segments left: 0
    Stack records: 2 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 ready with "M408 S0 R50" in state(s) 0
    daemon is idle in state(s) 0
    queue is idle in state(s) 0
    autopause is idle in state(s) 0
    Code queue is empty.
    === Network ===
    Slowest loop: 196.77ms; fastest: 0.08ms
    Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) Telnet(0)
    HTTP sessions: 1 of 8

    • WiFi -
      Network state is running
      WiFi module is connected to access point
      Failed messages: pending 0, notready 0, noresp 0
      WiFi firmware version 1.21RC4(08b3)
      WiFi MAC address 60:01:94:73:54:18
      WiFi Vcc 3.37, reset reason Turned on by main processor
      WiFi flash size 4194304, free heap 15752
      WiFi IP address 192.168.86.30
      WiFi signal strength -51dBm, reconnections 0, sleep mode modem
      Socket states: 0 0 0 0 0 0 0 0
      === Expansion ===
      DueX I2C errors 20094


  • David,
    Is it time for me to order a new Duex5?
    Thanks


  • administrators

    If you are certain that the ground connection between the two is good then I think there is a possibility that your DueX5 has an intermittent fault, and you should ask your supplier to replace it under warranty. https://www.duet3d.com/warranty


Log in to reply