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

    Controlling a mosfet with "exp.heater3"

    Scheduled Pinned Locked Moved Solved
    General Discussion
    4
    17
    445
    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.
    • Exerqtorundefined
      Exerqtor
      last edited by

      So i'm trying to controll a rather large external "bed mosfet" with "exp.heater3" pin on a Duet 2 Wifi running RRF 3.4.0-b6, but i can't seem to get it to react.

      I've got "M950 P0 C"exp.heater3" in the config.g, and i've made one on and one off macro with "M42 P0 S0" and "M42 P0 S100".

      3.3V hooked up to the signal + and "exp.heater3" wired to the - signal terminal, the config part of it should be good then right?

      And if the mosfet ain't "turning on" it's potentially because it need more than 3.3V for instance? In that case could i just swap the singal + for a 5v or even 12/24v without causing any harm to the Duet?

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

        @exerqtor you will certainly damage the Duet if you connect the + input of the mosfet switch to 12/24V. You may damage it if you connect it to +5V.

        You could try connecting the mosfet switch input between +3.3V and ground and then between +5V and ground to see if it needs more than 3.3V.

        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

        Exerqtorundefined 1 Reply Last reply Reply Quote 1
        • Exerqtorundefined
          Exerqtor @dc42
          last edited by Exerqtor

          @dc42
          Ok thanks!

          While i got you "on the line" šŸ˜‚ The whole reason behind needing this mosfet is to get a means to supply 3.3V to the enable pin of an external stepper i'm using so that i can disable it. With your wealth of knowledge, do you have a better/alternative soultion to this problem?

          T3P3Tonyundefined 1 Reply Last reply Reply Quote 0
          • T3P3Tonyundefined
            T3P3Tony administrators @Exerqtor
            last edited by

            @exerqtor what does the external stepper driver datasheet say as far as enable signal levels required? They are normally the same as step and dir.

            If you are using step and dir from the expansion header to control the external driver I would use the enable line for the same driver set (e.g. if you are using E3_STEP and EĀ£_DIR then use E3_EN as well. If you need to invert the enable logic see the R parameter of M569:
            https://duet3d.dozuki.com/Wiki/M569

            www.duet3d.com

            Exerqtorundefined 1 Reply Last reply Reply Quote 0
            • Exerqtorundefined
              Exerqtor @T3P3Tony
              last edited by Exerqtor

              @t3p3tony

              I tried using E2_EN earlier but i couldn't get it to work either 😬

              This is what it want:
              alt text

              So basicly i want it open when in use, and supply it with 3.3V when not in use šŸ˜…

              T3P3Tonyundefined 1 Reply Last reply Reply Quote 0
              • T3P3Tonyundefined
                T3P3Tony administrators @Exerqtor
                last edited by

                @exerqtor how did you have it setup, did you try inverting the logic like I mentioned? You can measure the voltage on hat pin using a voltmeter to confirm its working as expected.

                www.duet3d.com

                Exerqtorundefined 1 Reply Last reply Reply Quote 0
                • Exerqtorundefined
                  Exerqtor @T3P3Tony
                  last edited by

                  @t3p3tony said in Controlling a mosfet with "exp.heater3":

                  @exerqtor how did you have it setup, did you try inverting the logic like I mentioned? You can measure the voltage on hat pin using a voltmeter to confirm its working as expected.

                  I tried with "M569 P5 S1 R0 T2.5:2.5:0.02:0.02" and "M569 P5 S1 R1 T2.5:2.5:0.02:0.02", and it didn't really behave like i would expect with either of them, the stepper motor still kept on/got hot.

                  T3P3Tonyundefined 1 Reply Last reply Reply Quote 0
                  • T3P3Tonyundefined
                    T3P3Tony administrators @Exerqtor
                    last edited by

                    @exerqtor even when you sent M18?

                    www.duet3d.com

                    Exerqtorundefined 1 Reply Last reply Reply Quote 0
                    • Exerqtorundefined
                      Exerqtor @T3P3Tony
                      last edited by

                      @t3p3tony
                      I've allways been using M84, maybe that's why I haven't got it working 😬 I'll hook it up to E2_EN and try it with "M18 E0" soon.

                      T3P3Tonyundefined 1 Reply Last reply Reply Quote 0
                      • Exerqtorundefined Exerqtor marked this topic as a question
                      • T3P3Tonyundefined
                        T3P3Tony administrators @Exerqtor
                        last edited by

                        @exerqtor M84 should also work to disable the motor if it is idle. Check to see the voltage switches you get when its running/ disabled

                        www.duet3d.com

                        Exerqtorundefined 1 Reply Last reply Reply Quote 0
                        • Exerqtorundefined
                          Exerqtor @T3P3Tony
                          last edited by

                          @t3p3tony

                          Yeah the problem is that the TMC2100 don't really have any way of getting idle since duet/rrf can't speak with it so to say. That's why i want to use the auto feature with CFG6/enable open while printing so that it at least can turn down the current by 2/3 if it's idle šŸ˜…

                          But yeah i'll check out what the E2_EN puts out in the different states soon😊

                          Exerqtorundefined 1 Reply Last reply Reply Quote 0
                          • Exerqtorundefined
                            Exerqtor @Exerqtor
                            last edited by Exerqtor

                            @exerqtor said in Controlling a mosfet with "exp.heater3":

                            @t3p3tony

                            > Yeah the problem is that the TMC2100 don't really have any way of getting idle since duet/rrf can't speak with it so to say. That's why i want to use the auto feature with CFG6/enable open while printing so that it at least can turn down the current by 2/3 if it's idle šŸ˜…

                            But yeah i'll check out what the E2_EN puts out in the different states soon😊

                            Soooo it does indeed output 3.3V and works, must have had a bad crimp or something earlier that left it open all the time. Hence why it never turned off the driver(or something).

                            Just out of curiosity, how does it the MCU handle it when lets say i just heat up the hotend and do do extrusions and retractions thru either DWC or PanelDue? Will it deploy a "M84 En" in the end of each extruder move, or will it just stay on until i manually send that command? Not that it's a big deal or anything, just curious/good to know how it's handeled.

                            T3P3Tonyundefined 1 Reply Last reply Reply Quote 0
                            • Exerqtorundefined Exerqtor has marked this topic as solved
                            • T3P3Tonyundefined
                              T3P3Tony administrators @Exerqtor
                              last edited by

                              @exerqtor M84 stops the idle hold. i.e. turns off the current after the motor has been idle for a set amount of time (or immediately if sent without an S parameter. M906 specifies the % of full current that is used when idle. While the printer is in use if M84 or M18 are not sent, the motors will idle, not turn off.

                              www.duet3d.com

                              o_lampeundefined 1 Reply Last reply Reply Quote 0
                              • o_lampeundefined
                                o_lampe @T3P3Tony
                                last edited by o_lampe

                                @t3p3tony said in Controlling a mosfet with "exp.heater3":

                                M906 specifies the % of full current that is used when idle. While the printer is in use if M84 or M18 are not sent, the motors will idle, not turn off.

                                That's the downside of having external drivers, the FW-current reduction doesn't work for them.

                                @Exerqtor The modern TMC2209 has a smart-current feature. This will make it run cooler. They can be jumper-configurated, same way as the TMC2100.

                                Exerqtorundefined 1 Reply Last reply Reply Quote 0
                                • Exerqtorundefined
                                  Exerqtor @o_lampe
                                  last edited by

                                  @o_lampe said in Controlling a mosfet with "exp.heater3":

                                  @t3p3tony said in Controlling a mosfet with "exp.heater3":

                                  M906 specifies the % of full current that is used when idle. While the printer is in use if M84 or M18 are not sent, the motors will idle, not turn off.

                                  That's the downside of having external drivers, the FW-current reduction doesn't work for them.

                                  @Exerqtor The modern TMC2209 has a smart-current feature. This will make it run cooler. They can be jumper-configurated, same way as the TMC2100.

                                  Seems bo be like that, i think i'm going to get a little mostfetboard with a IRF520 on and run it between E2_EN and the enable input on the driver so that it's open when enabled, that way i at least get the automatic idle current reduction from the TMC2100 working.

                                  o_lampeundefined 1 Reply Last reply Reply Quote 0
                                  • o_lampeundefined
                                    o_lampe @Exerqtor
                                    last edited by

                                    @exerqtor said in Controlling a mosfet with "exp.heater3":

                                    that way i at least get the automatic idle current reduction from the TMC2100 working.

                                    No, disabling the driver requires a new homing sequence because Duet forgets stepcount.
                                    For an extruder you can use G92 E0 for homing, but only if you use relative extrusion
                                    You might also loose control over FW-retraction. Make sure you know the state of G10/G11 before disabling.

                                    Exerqtorundefined 1 Reply Last reply Reply Quote 0
                                    • Exerqtorundefined
                                      Exerqtor @o_lampe
                                      last edited by Exerqtor

                                      @o_lampe
                                      GreatšŸ˜‚

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