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

    Sammy C21 and servo control

    Scheduled Pinned Locked Moved
    Duet Hardware and wiring
    3
    17
    776
    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.
    • PCRundefined
      PCR @Gixxerfast
      last edited by

      @gixxerfast which firmware on the duet and which on the sammy or more which firmware is the sammy fork based?

      Rrf changed some servo stuff with 3.4 b7

      Gixxerfastundefined 1 Reply Last reply Reply Quote 0
      • Gixxerfastundefined
        Gixxerfast @PCR
        last edited by Gixxerfast

        @pcr They are both the latest AFAIK but I haven't kept up with the latest on the forum. The mini5+ is on 3.4.0beta7+7 and the Sammy is the absolutely latest 3.4-dev named 3.4.0beta7+8. For the Sammy there's no late commits I could see that would affect servos (I think).

        I have compiled the latest firmware from 3.4-dev for the 1LC as well. Of the configurations below, only the Sammy doesn't work.

        M950 S0 C"124.pa04" Q50 ; Sammy C21 board
        M950 S1 C"io2.out" Q50 ; Duet3 mini5+
        M950 S2 C"121.io0.out" Q50 ; 1LC Toolboard
        
        

        Voron V2.4 (#1317) with Duet 3 Mini5+ Wifi and 1LC v1.1 Toolboard
        Voron V0.1 (#637) with Duet 3 Mini 5+ Wifi and 1LC v1.2 Toolboard
        Ender 3 Pro with BTT SKR-2 + RRF

        1 Reply Last reply Reply Quote 0
        • Gixxerfastundefined
          Gixxerfast
          last edited by

          As an update, I have changed the 10K pullup resistor to a 4.7K between 3.3V and pa04 and now it works better but still a bitt jittery.

          If I run the stepper motors, then afterwards it's not possible to run the servo anymore until I reset the board.

          The 1LC has a 5V io0.out signal so that works without any problems. The Duet mini5+ do have 3.3V gpio signals (AFAIK) but they must be higher/"stronger" than what the SAMC18G can produce on 3.3V.

          I can note that even when running via the 1LC or the mini5+ I power the Servo via my board, so the supply is good.

          Voron V2.4 (#1317) with Duet 3 Mini5+ Wifi and 1LC v1.1 Toolboard
          Voron V0.1 (#637) with Duet 3 Mini 5+ Wifi and 1LC v1.2 Toolboard
          Ender 3 Pro with BTT SKR-2 + RRF

          JoergS5undefined 1 Reply Last reply Reply Quote 0
          • JoergS5undefined
            JoergS5 @Gixxerfast
            last edited by JoergS5

            @gixxerfast according to https://www.electronicoscaldas.com/datasheet/MG90S_Tower-Pro.pdf the R90G is a 5 V based servo (starting at 4.8 V), so I would decouple Sammy from it by using a level shifter and use a dedicated 5 V source for the servo. There were a few discussions here about hobby servos, e.g. https://forum.duet3d.com/topic/24939/hobby-servo-wiring

            Gixxerfastundefined 1 Reply Last reply Reply Quote 0
            • Gixxerfastundefined
              Gixxerfast @JoergS5
              last edited by

              @joergs5 Yes, I've come to that conclusion also. But I need to understand why it's not working correctly right now before I make any further changes.

              The board is simply a Duet adaptation of the Klipper based ERCF Easy brd (multifilament filament feeder) and there they are using a Seeeduino XIAO which has as I understand it a SAMD18G. They are feeding this micro servo 3.3V signal and it seems to work reliably.

              My board has a separate 5V voltage converter.

              Now, the main culprit here seems to be my pullup for the driver UARTs (4K7 to 3.3V) and when that's used the servo signal isn't working anymore. I've added a 100nF decoupler but that doesn't help. If I add another pullup to the servo signal line then it works, but jittery.

              Unfortunately the TMC2209 step sticks has a 10K pulldown on the UART pin.

              Voron V2.4 (#1317) with Duet 3 Mini5+ Wifi and 1LC v1.1 Toolboard
              Voron V0.1 (#637) with Duet 3 Mini 5+ Wifi and 1LC v1.2 Toolboard
              Ender 3 Pro with BTT SKR-2 + RRF

              JoergS5undefined 2 Replies Last reply Reply Quote 0
              • JoergS5undefined
                JoergS5 @Gixxerfast
                last edited by JoergS5

                @gixxerfast I am confused what you are using and at which pins.
                Especially "Unfortunately the TMC2209 step sticks has a 10K pulldown on the UART pin." => do you use the uart pins of the ERCF??

                I would check that

                • all ground are connected, so the signal is well defined
                • the jittery line doesn't have other signals on the line
                • current is enough
                • no flow back from 5V to 3.3V

                The L7805 in the schema is 5 V. => the servo connector is 5V in the schema. Did you use this connection J1 ?

                Gixxerfastundefined 1 Reply Last reply Reply Quote 0
                • Gixxerfastundefined
                  Gixxerfast @JoergS5
                  last edited by

                  @joergs5 said in Sammy C21 and servo control:

                  @gixxerfast I am confused what you are using and at which pins.
                  Especially "Unfortunately the TMC2209 step sticks has a 10K pulldown on the UART pin." => do you use the uart pins of the ERCF??

                  I would check that

                  • all ground are connected, so the signal is well defined
                  • the jittery line doesn't have other signals on the line
                  • current is enough
                  • no flow back from 5V to 3.3V

                  Yes, I use UART to communicate with the "smart drivers" TMC2209. That connects from TX (PA22) & RX (PA20) of the SAMC21G to pin 14 on the BTT TMC2209 step stick. There they have added a 20K pulldown instead of what Duet uses a pullup. So I got the advice from DC42 to try a 4.7K pullup to counter the effect of that.

                  1bea8223-424f-4236-aa70-de037834f318-image.png

                  My board uses a LMP78 1.5A 5V that's used to power the Sammy C21 and to power out to the Servo

                  Voron V2.4 (#1317) with Duet 3 Mini5+ Wifi and 1LC v1.1 Toolboard
                  Voron V0.1 (#637) with Duet 3 Mini 5+ Wifi and 1LC v1.2 Toolboard
                  Ender 3 Pro with BTT SKR-2 + RRF

                  JoergS5undefined 1 Reply Last reply Reply Quote 0
                  • JoergS5undefined
                    JoergS5 @Gixxerfast
                    last edited by

                    @gixxerfast said in Sammy C21 and servo control:

                    The board is simply a Duet adaptation of the Klipper based ERCF Easy brd (multifilament filament feeder) and there they are using a Seeeduino XIAO which has as I understand it a SAMD18G. They are feeding this micro servo 3.3V signal and it seems to work reliably.

                    My statement was about this sentence. I think the ERCF is using 5 V for the servo and this is the reason why it works:

                    seeeduino.jpg

                    The SERVO gets 5V from DCDC-5V L7805, and the signal from the Seeeduino.

                    Gixxerfastundefined 1 Reply Last reply Reply Quote 0
                    • JoergS5undefined
                      JoergS5 @Gixxerfast
                      last edited by

                      @gixxerfast said in Sammy C21 and servo control:

                      My board uses a LMP78 1.5A 5V that's used to power the Sammy C21 and to power out to the Servo

                      This is what I don't understand: where is the servo connected and how is it related to the UART of the TMC2209?

                      Gixxerfastundefined 1 Reply Last reply Reply Quote 0
                      • Gixxerfastundefined
                        Gixxerfast @JoergS5
                        last edited by

                        @joergs5 Which is what I wrote above 🙂 :

                        My board uses a LMP78 1.5A 5V that's used to power the Sammy C21 and to power out to the Servo
                        

                        The signal comes form the Sammy.

                        Voron V2.4 (#1317) with Duet 3 Mini5+ Wifi and 1LC v1.1 Toolboard
                        Voron V0.1 (#637) with Duet 3 Mini 5+ Wifi and 1LC v1.2 Toolboard
                        Ender 3 Pro with BTT SKR-2 + RRF

                        1 Reply Last reply Reply Quote 0
                        • Gixxerfastundefined
                          Gixxerfast @JoergS5
                          last edited by

                          @joergs5 said in Sammy C21 and servo control:

                          and how is it related to the UART of the TMC2209?

                          This is the main question. They should not be related IMO, but they are. The need to pull upp the signal for the driver UART somehow disturbs the Servo signal from PA04.

                          Now when I have removed the pulldown on the step stick and also then the pullup on the UART line, the Servo can be controlled nicely. However I still don't understand how this is related to each other.

                          Voron V2.4 (#1317) with Duet 3 Mini5+ Wifi and 1LC v1.1 Toolboard
                          Voron V0.1 (#637) with Duet 3 Mini 5+ Wifi and 1LC v1.2 Toolboard
                          Ender 3 Pro with BTT SKR-2 + RRF

                          JoergS5undefined 1 Reply Last reply Reply Quote 0
                          • JoergS5undefined
                            JoergS5 @Gixxerfast
                            last edited by

                            @gixxerfast one possibility how they could be related is that the current in total is too high. (And if it's too high, there is also a risk for damage). Can you measure the currents?

                            Gixxerfastundefined 1 Reply Last reply Reply Quote 0
                            • Gixxerfastundefined
                              Gixxerfast @JoergS5
                              last edited by Gixxerfast

                              @joergs5 No I can't. I have simulated it in ltspice, but that's a very simplified model, and there the currents are very low. Though I don't know how the TMC2209 behaves.

                              I should have about 250mA to play with and I'm thinking that if the Seeeduino XIAO can handle it, then the Sammy C21 should also. The Seeeduino 3.3V LDO can only deliver a max of 200mA and then it has to power the SAMD18G as well.

                              Voron V2.4 (#1317) with Duet 3 Mini5+ Wifi and 1LC v1.1 Toolboard
                              Voron V0.1 (#637) with Duet 3 Mini 5+ Wifi and 1LC v1.2 Toolboard
                              Ender 3 Pro with BTT SKR-2 + RRF

                              1 Reply Last reply Reply Quote 0
                              • JoergS5undefined
                                JoergS5
                                last edited by JoergS5

                                @gixxerfast I just checked how much the SG90 draws, in stall maximum 0.7 A *), so in total with the other components maybe 1.5 A is not enough.

                                *) according to https://protosupplies.com/product/servo-motor-micro-mg90s/

                                Gixxerfastundefined 1 Reply Last reply Reply Quote 0
                                • Gixxerfastundefined
                                  Gixxerfast @JoergS5
                                  last edited by

                                  @joergs5 No I don't think so, it should be quite enough. It's not like I'm stalling the Servo yet anyway.

                                  I'll just leave it for a while again.

                                  Voron V2.4 (#1317) with Duet 3 Mini5+ Wifi and 1LC v1.1 Toolboard
                                  Voron V0.1 (#637) with Duet 3 Mini 5+ Wifi and 1LC v1.2 Toolboard
                                  Ender 3 Pro with BTT SKR-2 + RRF

                                  JoergS5undefined 1 Reply Last reply Reply Quote 0
                                  • JoergS5undefined
                                    JoergS5 @Gixxerfast
                                    last edited by

                                    @gixxerfast good luck, I hope you find the reason. I have the Sammy-C21 also, but have to install the firmware first.

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