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

    General guidelines for accessing tool board I/O

    Scheduled Pinned Locked Moved
    General Discussion
    4
    15
    564
    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.
    • kb58undefined
      kb58
      last edited by kb58

      Duet 3 6HC v1.01 (3.3 release) + Toolboard 1.1 (latest sw release)

      I just completed construction of a cubeXY printer, and watching all the wires in the harness flex as the head moved moves around makes me nervous about its reliability. It was enough to back up a few steps and add a tool board, which is communicating via CAN without issue... now what?

      I haven't found any reference for accessing the tool board's I/O. I had everything connected directly to the Duet 3 6HC, and now a good portion needs to be moved over to the tool board, and don't know how. The extruder, thermistor, heater, fans, and X endstop are all mocking me. Pretty sure that there's a reference here someplace but I haven't found it yet!

      Scratch-built 350mmx350mm coreXY, linear rails, ballscrews, 3 Z axis, Duet3 6HC, v3.3, Tool Board v1.1, BondTech LGX + Mosquito hot end

      1 Reply Last reply Reply Quote 0
      • Phaedruxundefined
        Phaedrux Moderator
        last edited by

        See if any of this helps. In general though, when you want to target a canbus expansion board you need to include the canbus address as a prefix. 0 is the mainboard, and the expansion boards depend on what address you've assigned.

        https://duet3d.dozuki.com/Wiki/Duet_3_Mainboard_6HC_Hardware_Overview
        https://duet3d.dozuki.com/Wiki/Getting_Started_With_Duet_3
        https://duet3d.dozuki.com/Wiki/Duet_3_Tool_Board
        https://duet3d.dozuki.com/Wiki/CAN_connection

        Z-Bot CoreXY Build | Thingiverse Profile

        kb58undefined 1 Reply Last reply Reply Quote 0
        • kb58undefined
          kb58 @Phaedrux
          last edited by

          @phaedrux Okay, so prefix CAN boards with their address, with I'm guessing a "." after that.

          For example, I had this for the X endswitch when it was plugged into the Duet3 6HC board: M574 X1 S1 P"io1.in"

          As an example, say I want to connect this X endswitch to io2 on the tool board. Would I convert the above code to the following?:
          M574 X1 S1 P"121.io2.in"

          Scratch-built 350mmx350mm coreXY, linear rails, ballscrews, 3 Z axis, Duet3 6HC, v3.3, Tool Board v1.1, BondTech LGX + Mosquito hot end

          1 Reply Last reply Reply Quote 0
          • Phaedruxundefined
            Phaedrux Moderator
            last edited by

            Yes you got it.

            If you want examples, I suggest creating a config with the online tool. You can add expansion boards etc and assign their pins to things and see the final config.

            https://configtool.reprapfirmware.org/Start

            Z-Bot CoreXY Build | Thingiverse Profile

            1 Reply Last reply Reply Quote 0
            • kb58undefined
              kb58
              last edited by kb58

              Duet 3 6HC v1.01 (3.3 release) + Toolboard 1.1 (latest sw release)

              Much of the toolboard-controlled I/O is starting to work, thank you for the mentoring. This includes the hot end heater, thermistor, and X endswitch, so I know that adding the CAN address prefix is working.

              What's not working are the fans. I thought they would be a no-brainer:

              M950 F0 C"121.out1" Q500
              M106 P0 T55:60 H0 C"Part Fan"

              M950 F1 C"121.out2" Q500
              M106 P1 T45 H1 C"Hot end Fan"

              Sending an M106 P0 (or P1) S1 has no effect.

              The part cooler fan connects to the 4-pin Out1 connector, with fan+ going to +VOUT, and fan- going to out1.

              The hot end fan connects to the 3-pin Out2 connector, with fan+ going to +VOUT, and fan- going to out2. I am assuming that the driver is intended to pull the fan- to ground, especially since there is no ground pin.

              These fans worked fine when connected to the 6HC board using the very same config code, so I'm stumped.

              [edit] The fans are 24V, and the toolboard jumper is in-place.

              Scratch-built 350mmx350mm coreXY, linear rails, ballscrews, 3 Z axis, Duet3 6HC, v3.3, Tool Board v1.1, BondTech LGX + Mosquito hot end

              1 Reply Last reply Reply Quote 0
              • kb58undefined
                kb58
                last edited by kb58

                Well I'm half way there. Giving up getting the fans to go on with the M106 command, I was surprised that the hot end fan went on correctly when the extruder heater reached its target. The mystery for that is how come it goes on as it should in normal operation, but I can't manual command it on or off?

                The other half - the bed fan - still does not work. It's very odd how they're both being initialized at the same time with nearly identical configuration commands, yet one works and one doesn't. I shall persevere.

                Scratch-built 350mmx350mm coreXY, linear rails, ballscrews, 3 Z axis, Duet3 6HC, v3.3, Tool Board v1.1, BondTech LGX + Mosquito hot end

                Phaedruxundefined 1 Reply Last reply Reply Quote 0
                • Phaedruxundefined
                  Phaedrux Moderator @kb58
                  last edited by

                  @kb58 said in General guidelines for accessing tool board I/O:

                  The mystery for that is how come it goes on as it should in normal operation, but I can't manual command it on or off?

                  If you want to command it manually you have to turn off thermostatic control with H-1.

                  I'm curious to know why you'd want to the part cooling fan to come on when the bed heater does.

                  Z-Bot CoreXY Build | Thingiverse Profile

                  kb58undefined 1 Reply Last reply Reply Quote 0
                  • kb58undefined
                    kb58
                    last edited by

                    So these are the two remaining troublemakers:

                    M950 F0 C"121.out1" Q500
                    M106 P0 T55:60 H0 C"Part Fan"

                    M950 F1 C"121.out2" Q500
                    M106 P1 T45 H1 C"Hot end Fan"

                    Commanding different G commands, they don't complain about the above not being defined, making me think that the M950 definitions are probably correct. Likewise, manually sending G106 commands to turn the fans on or off don't error out, either, but they don't do anything. I suspect I'm not referencing the fans correctly, like maybe it needs a "121." in front of something...

                    Scratch-built 350mmx350mm coreXY, linear rails, ballscrews, 3 Z axis, Duet3 6HC, v3.3, Tool Board v1.1, BondTech LGX + Mosquito hot end

                    dc42undefined 1 Reply Last reply Reply Quote 0
                    • kb58undefined
                      kb58 @Phaedrux
                      last edited by kb58

                      @phaedrux "...I'm curious to know why you'd want to the part cooling fan to come on when the bed heater does..."

                      I'm just getting everything up and running. I understand your question, but I first want to ensure that "everything is responding to reason" before fine tuning what happens and when. I agree that the part cooler should be coming on only after X layers have been deposited, but right now I'm obsessing on why it's not working at all. Ironically, the BLTouch, the thing I most worried about fussing with, worked right away, and yet the silly fans are having fun with me.

                      Scratch-built 350mmx350mm coreXY, linear rails, ballscrews, 3 Z axis, Duet3 6HC, v3.3, Tool Board v1.1, BondTech LGX + Mosquito hot end

                      1 Reply Last reply Reply Quote 0
                      • Phaedruxundefined
                        Phaedrux Moderator
                        last edited by

                        Usually the part cooling fan wouldn't be thermostatically controlled at all, it would be gcode controlled by the slicer.

                        The other thing missing from your M106 lines is an S value to use.

                        Try this to test the fan M106 P0 H-1 S1

                        Z-Bot CoreXY Build | Thingiverse Profile

                        kb58undefined 1 Reply Last reply Reply Quote 0
                        • kb58undefined
                          kb58 @Phaedrux
                          last edited by

                          @phaedrux Ah, okay, shows how new I am to this. I'll look around in PrusaSlicer and see where that can be enabled... once I know the fan control is working. And thank you!

                          Scratch-built 350mmx350mm coreXY, linear rails, ballscrews, 3 Z axis, Duet3 6HC, v3.3, Tool Board v1.1, BondTech LGX + Mosquito hot end

                          Phaedruxundefined 1 Reply Last reply Reply Quote 0
                          • Phaedruxundefined
                            Phaedrux Moderator @kb58
                            last edited by

                            @kb58 said in General guidelines for accessing tool board I/O:

                            PrusaSlicer and see where that can be enabled

                            The filament tab has the cooling options. It automatically targets the default fan0. So as long as you just have fan0 left as normal manual control it should "just work" if you have it configured in the slicer.

                            M106 P0 H-1 S0

                            S0 so that it starts in an off state.

                            Z-Bot CoreXY Build | Thingiverse Profile

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

                              @kb58 there are some restrictions listed at https://duet3d.dozuki.com/Wiki/Duet_3_firmware_configuration_limitations. One of these is that a thermostatically-controlled fan driven from a CAN expansion board can only be controlled by a temperature sensor connected to the same board. This will be why you were unable to make the part cooling fan turn on depending on the bed temperature.

                              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

                              DIY-O-Sphereundefined 1 Reply Last reply Reply Quote 1
                              • DIY-O-Sphereundefined
                                DIY-O-Sphere @dc42
                                last edited by

                                @dc42

                                I have converted my machine to toolboard.
                                Everything works without problems. I have found a few small things that could be improved in the documentation.
                                However, I came across the limitation "The main board does not react to heater faults on expansion boards by pausing the print" which frankly bothered me. And I wonder if there is a date for a relase that will remove this restriction.
                                Is this a security risk?

                                (UTC+1)

                                dc42undefined 1 Reply Last reply Reply Quote 0
                                • dc42undefined
                                  dc42 administrators @DIY-O-Sphere
                                  last edited by

                                  @diy-o-sphere this is scheduled for fixing in release 3.4.

                                  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
                                  • First post
                                    Last post
                                  Unless otherwise noted, all forum content is licensed under CC-BY-SA