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

    Tool distribution board problem?

    Scheduled Pinned Locked Moved Unsolved
    Duet Hardware and wiring
    2
    23
    1.1k
    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.
    • dc42undefined
      dc42 administrators @Marcossf
      last edited by

      @marcossf you must have the two bypass jumpers installed on the tool distribution board next to any of the 4 small CAN connectors that do not have a tool board attached.

      You may find that a connected tool works even if the bypass jumpers for its connector are in place. But we can't guarantee that.

      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

      Marcossfundefined 1 Reply Last reply Reply Quote 0
      • Marcossfundefined
        Marcossf @dc42
        last edited by

        @dc42 This way is how we did:

        49e7c0ee-f21d-4afd-8a1a-bf4d8aa25d68-image.png

        And it seems to works.

        The customer will not have access to this board (or any other) so it isn't possible to remove or put jumpers depending on the head installed. Thinking in doing it by switches ruins the user experience.

        Is there a problem it can stay like this?
        It would be better to leave the jumpers 0 removed and the rest set in, due to the possibility that the heads are present or not in 1 and 2 positions? Obviously in 0 connector there will always be one, and position 3 never will have one.

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

          @marcossf said in Tool distribution board problem?:

          The customer will not have access to this board (or any other) so it isn't possible to remove or put jumpers depending on the head installed. Thinking in doing it by switches ruins the user experience.

          Does the customer have the ability to add or remove tool heads? If so, what process does the customer go through to do that?

          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

          Marcossfundefined 1 Reply Last reply Reply Quote 1
          • Marcossfundefined
            Marcossf @dc42
            last edited by

            @dc42

            e80a4893-97aa-405e-82ad-ed6fecfedac4-image.png

            The user can choose a tool, connect it (power and canbus connectors) and lock it in any printhead craddle. The 1LC is inside each printhead. The distribution board is in the back of ZUV carriage. Could be one, two or three prinheads at any given time.

            Would it be better to leave the jumpers closed? If it detects any header connected to the distribution board anyway it would be a good solution.

            As you may know as we asked in other post, we installed two microswitches on each toolhead to know where the printhead is and which type is. Still not implemented any software to do this, just fitted the hw at this moment.

            1c446e54-1e0e-45b8-bdf6-c1d53fab3114-image.png

            Marcossfundefined 1 Reply Last reply Reply Quote 0
            • Marcossfundefined
              Marcossf @Marcossf
              last edited by

              Diag B20 to B21 with distribution board with all bypass jumpers fitted:

              Last software reset time unknown, reason: AssertionFailed, available RAM 4320, slot 0
              Software reset code 0x0120 ICSR 0x00000000 SP 0x20003dbc Task   Freestk 130 bad marker
              Stack: 00000544 000230c4 00019c25 20003154 00016da3 20003154 00016475 20000ed0 00000000 00000001 0000828d 200071c8 200071c8 200071e0 00000000 20000f50 0001165f 0002247c 00022538 00021b8c 00019bc5 200071c8 200071c8 20000f50 00008405 200071d8 000009c6
              Driver 0: position 0, 80.0 steps/mm, standstill, SG min/max 0/0, read errors 0, write errors 0, ifcnt 9, reads 35805, writes 0, timeouts 0, DMA errors 0, steps req 0 done 0
              Moves scheduled 0, completed 0, in progress 0, hiccups 0, step errors 0, maxPrep 0, maxOverdue 0, maxInc 0, mcErrs 0, gcmErrs 0
              Peak sync jitter 0/9, peak Rx sync delay 197, resyncs 0/0, no step interrupt scheduled
              VIN: 23.8V
              MCU temperature: min 24.3C, current 34.9C, max 35.1C
              Ticks since heat task active 247, ADC conversions started 423990, completed 423989, timed out 0, errs 0
              Last sensors broadcast 0x00000000 found 0 2 ticks ago, loop time 0
              CAN messages queued 33, send timeouts 0, received 1022, lost 0, free buffers 37, min 37, error reg 0
              dup 0, oos 0/0/0/0, bm 0, wbm 0, rxMotionDelay 0
              Accelerometer detected: no
              I2C bus errors 4619, naks 4619, other errors 4619
              
              
              25/6/2021 19:24:19: m122 b21: Diagnostics for board 21:
              Duet TOOL1LC firmware version 3.3 (2021-06-15 16:12:58)
              Bootloader ID: not available
              Never used RAM 4044, free system stack 2789 words
              Tasks: Move(notifyWait<null>,0.0%,153) HEAT(delaying<null>,0.0%,117) CanAsync(notifyWait<null>,0.0%,65) CanRecv(notifyWait<null>,0.0%,76) CanClock(notifyWait<null>,0.0%,65) TMC(notifyWait<null>,2.9%,57) MAIN(running<null>,92.2%,436) IDLE(ready<null>,0.0%,41) AIN(delaying<null>,4.9%,142), total 100.0%
              Last reset 00:07:06 ago, cause: power up
              Last software reset data not available
              Driver 0: position 0, 80.0 steps/mm, standstill, SG min/max 0/0, read errors 0, write errors 0, ifcnt 9, reads 36041, writes 0, timeouts 0, DMA errors 0, steps req 0 done 0
              Moves scheduled 0, completed 0, in progress 0, hiccups 0, step errors 0, maxPrep 0, maxOverdue 0, maxInc 0, mcErrs 0, gcmErrs 0
              Peak sync jitter 0/9, peak Rx sync delay 210, resyncs 0/0, no step interrupt scheduled
              VIN: 24.1V
              MCU temperature: min 20.5C, current 31.3C, max 31.3C
              Ticks since heat task active 117, ADC conversions started 426110, completed 426109, timed out 0, errs 0
              Last sensors broadcast 0x00000000 found 0 122 ticks ago, loop time 0
              CAN messages queued 27, send timeouts 0, received 1024, lost 0, free buffers 37, min 37, error reg 0
              dup 0, oos 0/0/0/0, bm 0, wbm 0, rxMotionDelay 0
              Accelerometer detected: no
              I2C bus errors 4619, naks 4619, other errors 4619
              
              
              25/6/2021 19:24:20: m122 b22: Diagnostics for board 22:
              Duet TOOL1LC firmware version 3.3 (2021-06-15 16:12:58)
              Bootloader ID: not available
              Never used RAM 4044, free system stack 2789 words
              Tasks: Move(notifyWait<null>,0.0%,153) HEAT(delaying<null>,0.0%,117) CanAsync(notifyWait<null>,0.0%,65) CanRecv(notifyWait<null>,0.0%,76) CanClock(notifyWait<null>,0.0%,65) TMC(delaying<null>,2.9%,57) MAIN(running<null>,92.2%,436) IDLE(ready<null>,0.0%,41) AIN(delaying<null>,4.9%,142), total 100.0%
              Last reset 00:07:08 ago, cause: power up
              Last software reset data not available
              Driver 0: position 0, 80.0 steps/mm, standstill, SG min/max 0/0, read errors 0, write errors 0, ifcnt 9, reads 35817, writes 0, timeouts 0, DMA errors 0, steps req 0 done 0
              Moves scheduled 0, completed 0, in progress 0, hiccups 0, step errors 0, maxPrep 0, maxOverdue 0, maxInc 0, mcErrs 0, gcmErrs 0
              Peak sync jitter 0/8, peak Rx sync delay 209, resyncs 0/0, no step interrupt scheduled
              VIN: 24.2V
              MCU temperature: min 23.5C, current 33.7C, max 33.8C
              Ticks since heat task active 87, ADC conversions started 428080, completed 428080, timed out 0, errs 0
              Last sensors broadcast 0x00000000 found 0 92 ticks ago, loop time 0
              CAN messages queued 27, send timeouts 0, received 1022, lost 0, free buffers 37, min 37, error reg 0
              dup 0, oos 0/0/0/0, bm 0, wbm 0, rxMotionDelay 0
              Accelerometer detected: no
              I2C bus errors 4619, naks 4619, other errors 4619
              

              Same diag but with the 0, 1 and 2 bypass jumpers removed, 3 fitted.

              25/6/2021 19:27:10: m122 b20: Diagnostics for board 20:
              Duet TOOL1LC firmware version 3.3 (2021-06-15 16:12:58)
              Bootloader ID: not available
              Never used RAM 4044, free system stack 2789 words
              Tasks: Move(notifyWait<null>,0.0%,153) HEAT(delaying<null>,0.0%,117) CanAsync(notifyWait<null>,0.0%,65) CanRecv(notifyWait<null>,0.0%,76) CanClock(notifyWait<null>,0.0%,65) TMC(delaying<null>,2.9%,63) MAIN(running<null>,92.2%,436) IDLE(ready<null>,0.0%,41) AIN(delaying<null>,4.9%,142), total 100.0%
              Last reset 00:00:29 ago, cause: power up
              Last software reset time unknown, reason: AssertionFailed, available RAM 4320, slot 0
              Software reset code 0x0120 ICSR 0x00000000 SP 0x20003dbc Task   Freestk 130 bad marker
              Stack: 00000544 000230c4 00019c25 20003154 00016da3 20003154 00016475 20000ed0 00000000 00000001 0000828d 200071c8 200071c8 200071e0 00000000 20000f50 0001165f 0002247c 00022538 00021b8c 00019bc5 200071c8 200071c8 20000f50 00008405 200071d8 000009c6
              Driver 0: position 0, 80.0 steps/mm, standstill, SG min/max 0/0, read errors 0, write errors 0, ifcnt 9, reads 14501, writes 9, timeouts 0, DMA errors 0, steps req 0 done 0
              Moves scheduled 0, completed 0, in progress 0, hiccups 0, step errors 0, maxPrep 0, maxOverdue 0, maxInc 0, mcErrs 0, gcmErrs 0
              Peak sync jitter 0/8, peak Rx sync delay 193, resyncs 0/0, no step interrupt scheduled
              VIN: 23.8V
              MCU temperature: min 30.4C, current 32.2C, max 32.2C
              Ticks since heat task active 49, ADC conversions started 29042, completed 29041, timed out 0, errs 0
              Last sensors broadcast 0x00000000 found 0 54 ticks ago, loop time 0
              CAN messages queued 33, send timeouts 0, received 166, lost 0, free buffers 37, min 37, error reg 0
              dup 0, oos 0/0/0/0, bm 0, wbm 0, rxMotionDelay 0
              Accelerometer detected: no
              I2C bus errors 4619, naks 4619, other errors 4619
              
              
              25/6/2021 19:27:13: m122 b21: Diagnostics for board 21:
              Duet TOOL1LC firmware version 3.3 (2021-06-15 16:12:58)
              Bootloader ID: not available
              Never used RAM 4044, free system stack 2789 words
              Tasks: Move(notifyWait<null>,0.0%,153) HEAT(delaying<null>,0.0%,117) CanAsync(notifyWait<null>,0.0%,65) CanRecv(notifyWait<null>,0.0%,76) CanClock(notifyWait<null>,0.0%,65) TMC(delaying<null>,2.9%,57) MAIN(running<null>,92.2%,436) IDLE(ready<null>,0.0%,41) AIN(delaying<null>,4.9%,144), total 100.0%
              Last reset 00:00:32 ago, cause: power up
              Last software reset data not available
              Driver 0: position 0, 80.0 steps/mm, standstill, SG min/max 0/0, read errors 0, write errors 0, ifcnt 9, reads 16024, writes 9, timeouts 0, DMA errors 0, steps req 0 done 0
              Moves scheduled 0, completed 0, in progress 0, hiccups 0, step errors 0, maxPrep 0, maxOverdue 0, maxInc 0, mcErrs 0, gcmErrs 0
              Peak sync jitter 0/8, peak Rx sync delay 195, resyncs 0/0, no step interrupt scheduled
              VIN: 24.1V
              MCU temperature: min 26.8C, current 28.8C, max 28.8C
              Ticks since heat task active 93, ADC conversions started 32086, completed 32086, timed out 0, errs 0
              Last sensors broadcast 0x00000000 found 0 98 ticks ago, loop time 0
              CAN messages queued 27, send timeouts 0, received 175, lost 0, free buffers 37, min 37, error reg 0
              dup 0, oos 0/0/0/0, bm 0, wbm 0, rxMotionDelay 0
              Accelerometer detected: no
              I2C bus errors 4619, naks 4619, other errors 4619
              
              
              25/6/2021 19:27:15: m122 b22: Diagnostics for board 22:
              Duet TOOL1LC firmware version 3.3 (2021-06-15 16:12:58)
              Bootloader ID: not available
              Never used RAM 4044, free system stack 2789 words
              Tasks: Move(notifyWait<null>,0.0%,153) HEAT(delaying<null>,0.0%,117) CanAsync(notifyWait<null>,0.0%,65) CanRecv(notifyWait<null>,0.0%,76) CanClock(notifyWait<null>,0.0%,65) TMC(delaying<null>,2.9%,63) MAIN(running<null>,92.2%,436) IDLE(ready<null>,0.0%,41) AIN(delaying<null>,4.9%,144), total 100.0%
              Last reset 00:00:34 ago, cause: power up
              Last software reset data not available
              Driver 0: position 0, 80.0 steps/mm, standstill, SG min/max 0/0, read errors 0, write errors 0, ifcnt 9, reads 17189, writes 9, timeouts 0, DMA errors 0, steps req 0 done 0
              Moves scheduled 0, completed 0, in progress 0, hiccups 0, step errors 0, maxPrep 0, maxOverdue 0, maxInc 0, mcErrs 0, gcmErrs 0
              Peak sync jitter 0/8, peak Rx sync delay 195, resyncs 0/0, no step interrupt scheduled
              VIN: 24.2V
              MCU temperature: min 29.5C, current 31.7C, max 31.7C
              Ticks since heat task active 174, ADC conversions started 34418, completed 34417, timed out 0, errs 0
              Last sensors broadcast 0x00000000 found 0 179 ticks ago, loop time 0
              CAN messages queued 28, send timeouts 0, received 193, lost 0, free buffers 37, min 37, error reg 0
              dup 0, oos 0/0/0/0, bm 0, wbm 0, rxMotionDelay 0
              Accelerometer detected: no
              I2C bus errors 4619, naks 4619, other errors 4619
              

              I don't see relevant differences, and I don't know how to interpret most of the values. It's in the wiki?

              Removing a printhead (powered off, of course) while respect the order (0,1,none) gives same results except for the missing printhead.

              So, would left jumpers out on 0,1,2 and 3 IN? Could be damage?

              Marcossfundefined dc42undefined 2 Replies Last reply Reply Quote 0
              • Marcossfundefined
                Marcossf @Marcossf
                last edited by

                At this moment we have it like this:

                e3294b35-f145-4c22-affb-7977d935e8f8-image.png

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

                  @marcossf said in Tool distribution board problem?:

                  So, would left jumpers out on 0,1,2 and 3 IN? Could be damage?

                  No, that will not cause damage.

                  A better way than leaving the jumpers fitted on the tool board would be to connect the two CANL pins together on your user-accessible connector, and also connect the two CANH pins together. In other words, move the bypass links closer to the tools. That will make the CAN 'stubs' shorter by the length of the cable from the tool board to the user-accessible connector.

                  An even better way would be to provide dummy tool plugs that connect the two CANL pins together and the two CANH pins together, and instruct the user to fit a dummy plug in any position that does not have a tool connected.

                  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

                  Marcossfundefined 1 Reply Last reply Reply Quote 1
                  • Marcossfundefined
                    Marcossf @dc42
                    last edited by

                    @dc42 It's a good idea!

                    We can easily do a dummy connector for plug it in the can bus cable as a terminator, in case weren´t present the printhead.

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

                      @marcossf just to be clear, a dummy plug isn't a terminator, it's a bypass for a missing tool.

                      A bus terminator is a 120 ohm resistor (or two 60 ohm resistors if using split termination) at the very end of the bus. Its purpose is to prevent the signal from being reflected back along the bus when it reaches the end.

                      The Duet 3 main board has a permanent terminator fitted. All CAN expansion boards except tool boards have two jumpers that can be fitted to enable the termination resistors. The tool distribution board has a single jumper that can be fitted to enable the termination resistor.

                      The tool distribution board also has a pair of bypass jumpers for each tool board connection.

                      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
                      • Marcossfundefined
                        Marcossf
                        last edited by

                        @dc42 OK, understood. If we do a connector reachable for the user when no tool is present in the distribution board, in our case acts as bypass for this tool, not as the resistance terminator.

                        The distribution board will be leaved with the jumpers fitted as we showed in the last photo and cannot be reachable for the user.

                        The user will be instructed to put the "blank" connector when weren't tool in the 1 and 2 printhead cables, and follow the cable order if empty printhead from last one to the first one.

                        But in all the test we did without "terminating", all the times could be able to locate the board of the printheads present. Still testing a lot of things.

                        May I could not to explain properly. I'm sorry.

                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post
                        Unless otherwise noted, all forum content is licensed under CC-BY-SA