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

    Servo on a Duet 2 Wifi + Duex5

    Scheduled Pinned Locked Moved
    Using Duet Controllers
    servo rrf3.2 duet2 wifi duex5
    4
    13
    910
    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.
    • Fabio 0undefined
      Fabio 0
      last edited by

      Hello,
      I am trying to use a little servo (SG90) on my Duet2 WiFi (RRF 3.2).
      I have it connected to the PWM servo port 3 (PWM3) on the Duex - as it is the only unused heater I have.

      Configuring it with

      M950 S0 C"!duex.pwm3"
      

      Then trying to make it move:

      M280 P0 S100
      

      Of course I tried all the other definitions for that header (exp.heater5, exp.18, !duex.e4heat), and different values for S, to no avail.

      The servo works (I tried it connected to a PI). The wiring is signal on leftmost header pin, 5V center and GND on the rightmost.

      Any ideas? THanks!

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

        @fabio-0
        https://forum.duet3d.com/topic/13016/rrf3-and-servo/9?_=1621456861076

        You need a pull up resistor

        Edit:
        Incorrect link replaced
        False statement deleted

        Duex should already have high level on the servo connector

        (UTC+1)

        Fabio 0undefined 1 Reply Last reply Reply Quote 1
        • Fabio 0undefined
          Fabio 0 @DIY-O-Sphere
          last edited by

          @diy-o-sphere said in Servo on a Duet 2 Wifi + Duex5:

          https://forum.duet3d.com/compose?tid=13016&title=RRF3 and servo

          Using the "^" to enable the pullup resistor change nothing... I have no movement whatsoever.

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

            Can you test with one of the other PWM capable pins on the Duex?

            Can you send M950 S0 by itself and see what it reports back?

            Do you also happen to be using a Bltouch?

            Please share your config.g and the results of M122 and M98 P"config.g".

            I also notice you're using fw 3.2, might want to update to 3.3.

            https://github.com/Duet3D/RepRapFirmware/releases/download/3.3/Duet2and3Firmware-3.3.zip

            Upload that zip file in the system tab in DWC.

            Z-Bot CoreXY Build | Thingiverse Profile

            Fabio 0undefined 1 Reply Last reply Reply Quote 0
            • Fabio 0undefined
              Fabio 0 @Phaedrux
              last edited by Fabio 0

              @phaedrux
              I do not use a BlTouch.
              I have updated to RRF 3.3, now I have connected the power of the servo to a buck converter for the 5v, with just the signal wire to the PWM pin of the header. The servo seems to move, but I cannot really control the range of movement. Not sure whether is a frequency issue.

              The other PWM servo ports are unavailable as I am using the corresponding heater ports on the Duex5.
              I have tried connecting the signal to the Fan- pin on one of the Fan PWM headers (still giving power through the buck converter) and defining it as a fan, but did not work.

              M950 S0:

              GPIO/servo port 0 pin (exp.heater5,exp.18) frequency 700Hz
              

              m122.txt

              config.g

              EDIT: For some reason M42 works whereas M280 doesn't.
              So, not sure whether I had a voltage issue on that particular PWM servo header... using the buck converter for the power seems to be working, though.
              Thanks for the help.

              Phaedruxundefined 2 Replies Last reply Reply Quote 0
              • Phaedruxundefined
                Phaedrux Moderator @Fabio 0
                last edited by

                @fabio-0 said in Servo on a Duet 2 Wifi + Duex5:

                I do not use a BlTouch.

                Reason I asked is because it uses a servo pin as well and that's usually servo 0, so you would have to use the next available servo index, 1. But not the case here.

                @fabio-0 said in Servo on a Duet 2 Wifi + Duex5:

                The other PWM servo ports are unavailable

                Yes, I know, but temporarily testing the servo with one could tell us if it's the servo having the problem or the port.

                @fabio-0 said in Servo on a Duet 2 Wifi + Duex5:

                frequency 700Hz

                You could experiment with different frequencies with M950 Q

                Z-Bot CoreXY Build | Thingiverse Profile

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

                  @fabio-0 said in Servo on a Duet 2 Wifi + Duex5:

                  EDIT: For some reason M42 works whereas M280 doesn't.

                  Ah, well at least it's working. Still don't understand why though.

                  Z-Bot CoreXY Build | Thingiverse Profile

                  Fabio 0undefined 1 Reply Last reply Reply Quote 0
                  • Fabio 0undefined
                    Fabio 0 @Phaedrux
                    last edited by Fabio 0

                    @phaedrux
                    Gotcha.
                    by the way, I had to use exp.heater5, as !duex.pwm did not work.
                    I will play with the frequency, but now at 700 and with M42 it seems to finally respond as it should.
                    Also, theoretically it should work also on one of the PWM fan ports, but it doesn't.

                    Phaedruxundefined DIY-O-Sphereundefined 2 Replies Last reply Reply Quote 0
                    • Phaedruxundefined
                      Phaedrux Moderator @Fabio 0
                      last edited by

                      @fabio-0 said in Servo on a Duet 2 Wifi + Duex5:

                      !duex.pwm did not work.

                      I wonder if removing the inversion (!) would have helped...

                      Z-Bot CoreXY Build | Thingiverse Profile

                      Fabio 0undefined 1 Reply Last reply Reply Quote 0
                      • Fabio 0undefined
                        Fabio 0 @Phaedrux
                        last edited by

                        @phaedrux
                        I had tried that, no dice.

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

                          @fabio-0 you definitely should not have the inversion when using a PWM connector on a Due X. But also you should not use a frequency as high as 700Hz.

                          This should work:

                          M950 S0 C"duex.pwm3"
                          M280 P0 S100

                          If you test the pin using M42, then M42 P0 S1 should make the control output go to +5V, and M42 P0 S0 should make it go to 0V.

                          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

                          Fabio 0undefined 1 Reply Last reply Reply Quote 0
                          • DIY-O-Sphereundefined
                            DIY-O-Sphere @Fabio 0
                            last edited by

                            @fabio-0 said in Servo on a Duet 2 Wifi + Duex5:

                            PWM fan ports

                            Here you definitely need a pullup resistor

                            (UTC+1)

                            1 Reply Last reply Reply Quote 0
                            • Fabio 0undefined
                              Fabio 0 @dc42
                              last edited by

                              @dc42 said in Servo on a Duet 2 Wifi + Duex5:

                              280 P0 S100

                              Ok, sorry to come back to this post so late but I had other issues and I could not test further...

                              Now I managed to free other 3 heater ports on the Duex, so I got rid of the buck converter as I could connect all 4 servos to 4 pwm ports on the Duet.
                              Nothing works anymore.

                              I tried also this configuration but nothing... The only visible thing that happens when I invoke a M42 or M280 command is that the corresponding heater led lights up (and remains up). So, it could be that the ports do not deliver the 5v? Before, using only the signal pin they worked with an external 5v supply...

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