MB6HC and 1XD Connection Issues
-
Hello, I can't seem to get my MB6HC and 1XD connected. I had a successful machine and firmware running that utilized the MB6HC and a 1LC, and now I'm attempting to daisy chain all 3 with the 1XD in the middle. All boards share the same ground!
In an attempt to test the connection between the MB6HC and 1XD, I unattached the 1LC and put the 1XD in it's place, but it wouldn't sync (status LED blinking quickly) or connect over CAN (M115 B122). I tried cycling the 1XD with the reset jumper pins, which didn't seem to make a difference either. I went to check my config with M98 but with the 1LC disconnected it threw all sorts of errors related to that board and made it difficult to see issues that would cause the 1XD to fail to connect. I also tested with all 3 boards daisy chained together and that didn't have an effect either.
The MB6HC and 1LC are both running v3.4.6, I'm not sure what to look at next. Here is my config.g and M122
; Enable network G4 S5 ;wait for board to start if {network.interfaces[0].type = "ethernet"} M552 P192.168.1.14 S1 else M552 S1 ;General Prefrences G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"RL1 V3" ; set printer name M669 K1 ; switch to CoreXY mode ; Drives M569 P0.0 S1 ; X motor runs M569 P0.1 S0 ; Y motor runs M569 P0.2 S1 ; Z1 motor runs M569 P0.4 S1 ; Z2 motor runs M569 P0.5 S1 ; Z3 motor runs M569 P20.0 S0 ; E moves M569 P0.3 S0 ; U motor runs M207 S1.5 F7200 Z0.2 M584 X0.0 Y0.1 Z0.2:0.4:0.5 E20.0 U0.3 ; Set drive mapping M350 X16 Y16 Z16 E16 U16 I1 ; configure microstepping with interpolation M92 X80.00 Y80.00 Z400.00 E685.37234 U100 ; set steps per mm M566 X900.00 Y900.00 Z60.00 E300 U900.00 ; set maximum instantaneous speed changes (mm/min) M203 X6000.00 Y6000.00 Z180.00 E7200 U17000.0 ; set maximum speeds (mm/min) M201 X500.00 Y500.00 Z20.00 E3000 U500.0 ; set accelerations (mm/s^2) M906 X800 Y800 Z800 U3800 I30 ; set motor currents (mA) and motor idle factor in per cent M906 E1200 I10 ; extruder current and idle factor M572 D0 S0.02 ; pressure advance-to be calibrated M84 S30 ; Set idle timeout ; Axis Limits M208 X0 Y0 Z-1 U0 S1 ;set axis minima M208 X100 Y100 Z38.45 U330 S0 ;set axis maxima M671 X-67.2193:182.5338:182.5338 Y54.4915:-72.3045:181.2875 S2 ; position of leadscrew/bed pivot point at front left, rear middle and front right ; Endstops M574 X1 S1 P"20.io1.in" ; configure switch-type (e.g. microswitch) endstop for low end on X via pin io0.in M574 Y2 S1 P"20.io2.in" ; configure switch-type (e.g. microswitch) endstop for high end on Y via pin io1.in M574 Z2 S1 P"0.io3.in+0.io4.in+0.io5.in" ; configure switch-type (e.g. microswitch) endstop for high end on Z M574 U2 S1 P"0.io6.in" ; configure switch-type (e.g. microwswitch) endstop ; Z-Probe M950 S0 C"20.io0.out" ; create servo pin 0 for BLTouch (use IO_4/5/7 for 6HC) M558 P9 C"20.io0.in" H5 F120 T6000 ; set Z probe type to bltouch and the dive height + speeds G31 P500 X-19.14 Y0 Z4.242 ; set Z probe trigger value, offset and trigger height M557 X0:80 Y12:100 P3 ; define mesh grid ; Heaters M308 S0 P"temp0" Y"thermistor" T100000 B3950 ; configure sensor 0 as thermistor on pin temp0 M950 H0 C"0.out0" T0 ; create bed heater output on out0 and map it to sensor 0 M307 H0 R0.075 K0.161:0.000 D3.07 E1.35 S1.00 B0 M140 H0 ; map heated bed to heater 0 M308 S1 P"20.temp0" Y"thermistor" ; configure sensor 1 as thermistor on pin temp1 M950 H1 C"20.out0" T1 ; create nozzle heater output on out1 and map it to sensor 1 M307 H1 R4.585 K0.421:0.683 D3.75 E1.35 S1.00 B0 V24.2 ; disable bang-bang mode for heater and set PWM limit M143 H1 S280 ; set temperature limit for heater 1 to 280C ; Fans M950 F0 C"20.out1" Q500 ; create fan 0 on toolboard out1 and set its frequency M106 P0 S1 H-1 ;T50 ; set fan 0 value. Thermostatic control is turned on M950 F1 C"20.out2" Q500 ; create fan 1 on toolboard out2 and set its frequency M106 P1 S0 H-1 ; set fan 1 value. Thermostatic control is turned off ;Relays M950 P2 C"0.io_7.out" ;Heater M42 P2 S0 ;Start in off position M950 P3 C"0.io_1.out" ;Clamps FWD M42 P3 S0 ;Start in off position M950 P4 C"0.io_8.out" ;Clamps REV ;M42 P4 S0 ;Start in off position ;M950 P5 C"0.io2.out" ;IPV DWN ;M42 P5 S0 ;Start in off position ;M950 P6 C"0.out9" ;IPV UP ;M42 P6 S0 ;Start in off position M950 P5 C"0.out2" ;Chamber Pressure M42 P5 S0 ;Start closed M950 P6 C"0.out1" ;IPV Direction M42 P6 S0 ;Start in down position M950 P7 C"0.io_0.out" ;Inlet Valve M42 P7 S0 ;Start closed M950 P8 C"0.out3" ;Emergency Valve M42 P8 S0 ;start closed ;Tool Definitions M563 P0 D0 H1 F0 ; tool 0 uses extruder drive 0 and heater 1. Fan 0 and Fan 1 are mapped to 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 ; Epilogue M556 S100 X0 Y0 Z0 ; Put your axis compensation here M912 P0 S0 ; Put your CPU temperature sensor correction here M501 ; load saved parameters from non-volatile memory M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; set voltage thresholds and actions to run on power loss T0
M122
122 === Diagnostics === RepRapFirmware for Duet 3 MB6HC version 3.4.6 (2023-07-21 14:11:38) running on Duet 3 MB6HC v1.02 or later (standalone mode) Board ID: 08DJM-9P63L-DJ3T8-6J9DG-3S46J-1V5Z8 Used output buffers: 3 of 40 (14 max) === RTOS === Static ram: 153252 Dynamic ram: 97772 of which 656 recycled Never used RAM 96136, free system stack 208 words Tasks: NETWORK(ready,33.3%,172) ETHERNET(notifyWait,0.0%,576) HEAT(notifyWait,0.0%,359) Move(notifyWait,0.0%,352) CanReceiv(notifyWait,0.0%,943) CanSender(notifyWait,0.0%,335) CanClock(delaying,0.0%,344) TMC(notifyWait,7.2%,92) MAIN(running,47.2%,925) IDLE(ready,12.2%,30), total 100.0% Owned mutexes: === Platform === Last reset 00:02:19 ago, cause: software Last software reset at 2024-02-18 16:31, reason: User, GCodes spinning, available RAM 96964, slot 2 Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x00400000 BFAR 0x00000000 SP 0x00000000 Task MAIN Freestk 0 n/a Error status: 0x00 Step timer max interval 126 MCU temperature: min 46.9, current 47.4, max 48.6 Supply voltage: min 24.2, current 24.2, max 24.3, under voltage events: 0, over voltage events: 0, power good: yes 12V rail voltage: min 12.1, current 12.3, max 12.5, under voltage events: 0 Heap OK, handles allocated/used 99/0, heap memory allocated/used/recyclable 2048/12/12, gc cycles 0 Events: 0 queued, 0 completed Driver 0: standstill, SG min 0, mspos 8, reads 58985, writes 14 timeouts 0 Driver 1: standstill, SG min 0, mspos 8, reads 58986, writes 14 timeouts 0 Driver 2: standstill, SG min 0, mspos 8, reads 58986, writes 14 timeouts 0 Driver 3: standstill, SG min 0, mspos 8, reads 58986, writes 14 timeouts 0 Driver 4: standstill, SG min 0, mspos 8, reads 58986, writes 14 timeouts 0 Driver 5: standstill, SG min 0, mspos 8, reads 58986, writes 14 timeouts 0 Date/time: 2024-02-18 16:34:01 Slowest loop: 3.06ms; fastest: 0.05ms === Storage === Free file entries: 10 SD card 0 detected, interface speed: 25.0MBytes/sec SD card longest read time 2.2ms, write time 0.0ms, max retries 0 === Move === DMs created 125, segments created 0, maxWait 0ms, bed compensation in use: none, comp offset 0.000 === MainDDARing === Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1 === AuxDDARing === Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1 === Heat === Bed heaters 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1, chamber heaters -1 -1 -1 -1, ordering errs 0 === 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 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 Code queue is empty === CAN === Messages queued 1209, received 0, lost 0, boc 1114 Longest wait 0ms for reply type 0, peak Tx sync delay 0, free buffers 50 (min 49), ts 696/0/0 Tx timeouts 0,0,139,0,0,13 last cancelled message type 30 dest 127 === Network === Slowest loop: 4.11ms; fastest: 0.03ms Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) Telnet(0) HTTP sessions: 1 of 8 = Ethernet = State: active Error counts: 0 0 0 1 0 0 Socket states: 5 2 2 2 2 0 0 0 = WiFi = Interface state: disabled Module is disabled Failed messages: pending 0, notready 0, noresp 0 Socket states: 0 0 0 0 0 0 0 0 === Multicast handler === Responder is inactive, messages received 0, responses 0
-
-
@dc42 the internal wire swap was it! Once I cut it open and swapped CANL and CANH they synced. Thank you much
-
@JRCL if a CAN-connected board won't sync with the master, this usually means that either there is a problem wit the CAN connection (e.g. CANL and CANH are swapped over in the cable), or you are powering the expansion board and the main board from different PSUs and you haven't connected the negative output terminals of the two PSUs together.
-
@JRCL Also make sure all boards are on the same firmware version. Obviously, you can't see this until the board connects, but you can force it to ask for a firmware update. On the 1XD, do this:
- Ensure that the correct expansion board firmware binary "Duet3Firmware_EXP1XD.bin" from the RRF 3.4.6 Github repository is present in the /firmware folder on the SD card.
- On Duet 3 Expansion 1XD, fit the CAN reset jumper, then power up. The CAN address will be reset to default and the board will request a firmware update. When re-syncing is complete, turn off power, remove the CAN reset jumper, then power up again.
- After updating expansion board firmware, you must restart the main board or at least re-run config.g in order to create any sensors, heaters, fans etc. that you have configured on that board in config.g.
(Above largely from https://docs.duet3d.com/User_manual/Machine_configuration/CAN_connection#updating-duet-3-expansion-board-firmware)
Ian
-
@dc42 the internal wire swap was it! Once I cut it open and swapped CANL and CANH they synced. Thank you much
-
-
-