Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login

    DUET MB6HC + SBC (PI4B) communication issue with 1HCL

    Scheduled Pinned Locked Moved Solved
    Accessories and Add-ons
    3
    5
    295
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Tumaundefined
      Tuma
      last edited by

      Hi there,
      I am currently working on a big volume 3D printer with a Duet MB6HC which should control 5 NEMA23 through 5 1HCL expansion boards.
      It seems to be quite challenging getting those two connected together and I am not surre where I'm failing.

      This is my set up: the Duet MB6HC board in SBC mode via a Raspberry Pi 4 model B with its integrated operating system. The connection between the Raspberry and the Duet board seems to be working correctly and I can control it through DWC (in addition to this, now the Duet board is powered with 24V and its SD card is removed).

      Additionally, we have a 1HCL expansion board powered at 24V connected via the CAN-BUS port through a SJ11 cable.

      By strictly following the instructions from the Duet website, we are encountering the following issues:

      The Duet board does not communicate with the expansion board (the leds still blink asynchronously).
      I tried many ways but nothing worked so far.

      Here's my config:

      ; Configuration file for Duet 3 MB 6HC (firmware version 3.3)
      ; executed by the firmware on start-up
      ;
      ; generated by RepRapFirmware Configuration Tool v3.3.16 on Mon Oct 30 2023 18:23:15 GMT+0100 (Central European Standard Time)
      
      ; General preferences
      G90                            ; send absolute coordinates...
      M83                            ; ...but relative extruder moves
      M550 P"VulcanONE"                 ; set printer name
      
      G4 S1
      
      ; Drives
      M569 P121.0 S1                 ; physical drive 121.0 goes forwards
      M569 P0.1 S1                   ; physical drive 0.1 goes forwards
      M569 P0.2 S1                   ; physical drive 0.2 goes forwards
      M584 X121.0 Y0.1 Z0.2          ; set drive mapping
      M350 X16 Y16 Z16 I1            ; configure microstepping with interpolation
      M92 X80.00 Y80.00 Z400.00      ; set steps per mm
      M566 X900.00 Y900.00 Z60.00    ; set maximum instantaneous speed changes (mm/min)
      M203 X6000.00 Y6000.00 Z180.00 ; set maximum speeds (mm/min)
      M201 X500.00 Y500.00 Z20.00    ; set accelerations (mm/s^2)
      M906 X800 Y800 Z800 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 X230 Y210 Z200 S0         ; set axis maxima
      
      ; Endstops
      ; WARNING: No endstops configured
      
      ; Z-Probe
      M558 P0 H5 F120 T6000          ; disable Z probe but set dive height, probe speed and travel speed
      M557 X15:215 Y15:195 S20       ; define mesh grid
      
      ; Heaters
      
      ; Fans
      
      ; Tools
      
      
      ; Custom settings are not defined
      
      
      

      Moreover, although we manage to communicate with the board via SBC, we cannot connect the board to the network through Ethernet. Is that possible a general CAN communication issue?

      droftartsundefined Tumaundefined 2 Replies Last reply Reply Quote 0
      • droftartsundefined
        droftarts administrators @Tuma
        last edited by

        @Tuma Please post the response to sending M122 in the console. The most common problem is that the firmware version on the mainboard and the firmware version on the expansion board is different. If the Raspberry Pi and Duet are up to date, but it still doesn't connect, then you can force a firmware update on the expansion board; see https://docs.duet3d.com/User_manual/Machine_configuration/CAN_connection#factory-resetting-a-tool-or-expansion-board

        If you need to factory reset a board:

        • On those boards having a (CAN) reset jumper (e.g. EXP1XD), fit the jumper and then power up the board

        The board will reset its address and CAN bus speed to default and request firmware from the main board.

        Don't forget to remove the jumper afterwards.

        Additionally, check that you have wired the CAN cable between the boards correctly, and that bus termination is correct. See https://docs.duet3d.com/User_manual/Machine_configuration/CAN_connection#wiring-scheme

        @Tuma said

        Moreover, although we manage to communicate with the board via SBC, we cannot connect the board to the network through Ethernet. Is that possible a general CAN communication issue?

        If you are in SBC mode, you connect the Ethernet cable to the Raspberry Pi, not the Duet. In standalone mode (no Raspberry Pi), you need to have some extra commands in the config to enable Ethernet; see https://docs.duet3d.com/en/How_to_guides/Getting_connected/Getting_connected_to_your_Duet

        Can you explain how you have connected so far, and how you are trying to connect the Ethernet?

        Ian

        Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

        Tumaundefined 1 Reply Last reply Reply Quote 0
        • Tumaundefined
          Tuma @droftarts
          last edited by

          @droftarts Hi, and thanks for the support. I reply to you point by point.

          Here's the response:

          M122
          === 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 (SBC mode)
          Board ID: 08DJM-9P63L-DJ3T8-6J1FL-3SJ6T-K87ZB
          Used output buffers: 1 of 40 (12 max)
          === RTOS ===
          Static ram: 153252
          Dynamic ram: 65368 of which 0 recycled
          Never used RAM 132052, free system stack 208 words
          Tasks: SBC(ready,0.5%,496) HEAT(notifyWait,0.0%,373) Move(notifyWait,0.0%,352) CanReceiv(notifyWait,0.0%,943) CanSender(notifyWait,0.0%,335) CanClock(delaying,0.0%,344) TMC(notifyWait,7.3%,92) MAIN(running,91.2%,1265) IDLE(ready,1.1%,30), total 100.0%
          Owned mutexes: HTTP(MAIN)
          === Platform ===
          Last reset 00:07:50 ago, cause: power up
          Last software reset at 2023-11-02 16:31, reason: User, GCodes spinning, available RAM 132052, slot 0
          Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0044a000 BFAR 0x00000000 SP 0x00000000 Task SBC Freestk 0 n/a
          Error status: 0x00
          Step timer max interval 134
          MCU temperature: min 24.9, current 39.8, max 40.0
          Supply voltage: min 24.3, current 24.4, max 24.4, under voltage events: 0, over voltage events: 0, power good: yes
          12V rail voltage: min 12.1, current 12.2, max 12.4, under voltage events: 0
          Heap OK, handles allocated/used 0/0, heap memory allocated/used/recyclable 0/0/0, gc cycles 0
          Events: 0 queued, 0 completed
          Driver 0: standstill, SG min 0, mspos 8, reads 21406, writes 11 timeouts 0
          Driver 1: standstill, SG min 0, mspos 8, reads 21403, writes 14 timeouts 0
          Driver 2: standstill, SG min 0, mspos 8, reads 21403, writes 14 timeouts 0
          Driver 3: standstill, SG min 0, mspos 8, reads 21406, writes 11 timeouts 0
          Driver 4: standstill, SG min 0, mspos 8, reads 21406, writes 11 timeouts 0
          Driver 5: standstill, SG min 0, mspos 8, reads 21406, writes 11 timeouts 0
          Date/time: 2023-11-06 10:46:19
          Slowest loop: 1.03ms; fastest: 0.05ms
          === Storage ===
          Free file entries: 10
          SD card 0 not detected, interface speed: 37.5MBytes/sec
          SD card longest read time 0.0ms, 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 -1 -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 doing "M122" 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 2357, received 0, lost 0, boc 3762
          Longest wait 0ms for reply type 0, peak Tx sync delay 0, free buffers 50 (min 49), ts 2352/0/0
          Tx timeouts 0,0,470,0,0,0 last cancelled message type 30 dest 127
          === SBC interface ===
          Transfer state: 5, failed transfers: 0, checksum errors: 0
          RX/TX seq numbers: 18913/18913
          SPI underruns 0, overruns 0
          State: 5, disconnects: 0, timeouts: 0 total, 0 by SBC, IAP RAM available 0x2ab5c
          Buffer RX/TX: 0/0-0, open files: 0
          === Duet Control Server ===
          Duet Control Server v3.4.6
          Code buffer space: 4096
          Configured SPI speed: 8000000Hz, TfrRdy pin glitches: 0
          Full transfers per second: 0.06, max time between full transfers: 43.6ms, max pin wait times: 48.4ms/2.6ms
          Codes per second: 0.00
          Maximum length of RX/TX data transfers: 2980/692
          **

          I cannot see the 1HCL firmware.

          I made multiple reset on the expansion (following the procedure).

          I am currently using an RJ11 from FAEG (model FG15263 plug + plug 6/4) with four cables: is that correct?

          about the Internet connection I explain badly: with SBC I use normal WIFI and everything seems work.
          I also try disconnects the raspberry, reinstall its original SD card in the duet, and via YAT (that sees correctly the board and the firmware) trying to configuring the IP while connected to the router. when then I type the IP in the browser bar it says "connection timeout" (but all this process without the Raspberry and with the SD installed). So it could be considered a completely different "scenario".

          Hope I explain myself better.

          thank you again for the support.

          1 Reply Last reply Reply Quote 0
          • Tumaundefined
            Tuma @Tuma
            last edited by

            @Tuma Dear,
            I discovered the issue was the cable (didn't see the twisted colors).

            My bad and thank you again for the support.

            dc42undefined 1 Reply Last reply Reply Quote 0
            • dc42undefined
              dc42 administrators @Tuma
              last edited by

              @Tuma thanks, I'll mark this as solved then.

              Duet WiFi hardware designer and firmware engineer
              Please do not ask me for Duet support via PM or email, use the forum
              http://www.escher3d.com, https://miscsolutions.wordpress.com

              1 Reply Last reply Reply Quote 0
              • dc42undefined dc42 marked this topic as a question
              • dc42undefined dc42 has marked this topic as solved
              • First post
                Last post
              Unless otherwise noted, all forum content is licensed under CC-BY-SA