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.
    • 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