12 x XM430-W210-T controlled by Raspberry Pi 4

Hi!
I’m new in the robotis world and I like to develop a 4-legged robot with Raspi 4 and 12 x XM430-W210-T. (3 servos per leg)
Am I on the right way, when I do it like this:

  • I would use a U2D2 (https://emanual.robotis.com/docs/en/parts/interface/u2d2/) between my servos and my Raspi.
  • I could connect the Raspi to the U2D2 by using the UART interface, when switching it to 3.3V on the U2D2.
  • I could build a breakout-board where I put 4 x TTL-Ports in chain and connect it to the one TTL-Port on the U2D2.
  • At each port I will connect 3 servos in chain (for every leg).
  • I need a stable power supply which I can grind into the 4 TTL-Ports.
  • The DYNAMIXEL SDK provides python3 classes to communicate with the Dynamixels.
  • Optional I can connect the U2D2 via USB to a Windows PC to configure the servos.

Does anyone have a good idea for a power supply? The XM430-W210-T has a stall torque of 2.7A. That means I would need about 32,4A in worst case. With 12V and a realistic estimation 25A should be fairly enough. I would use something like this: https://www.robotshop.com/eu/en/dimension-engineering-syren-25a-6v-24v-regenerative-motor-driver.html

I am happy about all information and assessments!

Marcus

Hi Marcus,

Sorry I know I am probably not the best person to answer this as I don’t have a U2D2 have not used your servos… I have mostly used either AX servos or XL430-W250 servos and have used several different servo controller boards. Mostly for play but also for some Hexapods and have done a quad but never did get it to walk very well (AX servos).

Also hopefully someone from Robotis will give a more complete answer when they get back from vacation.

U2D2 - I assume you would connect this up a USB port on the RPI. I am not sure if you can connect it up to the Hardware Serial port on the RPI4. I believe it mainly connects USB to either DXL (TTL servos) or DXL (RS485 servos) or it has TTL UART connection. But I don’t think it has the ability to connect the 4 pin UART connections to the servos. But again could be wrong.

Connecting up to all of the servos, I would run a connection from the U2D2 probably to a HUB. I am not sure if Robotis sells a hub now or not… But one that Trossen now sells:

https://www.trossenrobotics.com/3-pin-x-series-power-hub.aspx

Has 6 XL like connections as well as an XL320 connection. Originally was setup to be able to XL320 connection from OpenCM9.04 board…

But from a hub like this I would then connect up to each leg. Now depending on real power requirements of these servos, I might use two hubs, and provide separate power to each of the hubs.

My guess is Robotis would maybe recommend some of:

But not sure best way to wire these with only 3 TTL connections. That is one from U2D2, then you need 4 more connections could use one per leg, where you have to daisy chain these to the next one, and then have one connection left for leg?

Power: When I am playing around with the code and other things I usually power my robots from some form of 12v wall wart. Something like: http://www.robotis.us/smps-12v-5a-ps-10-us-110v/ Although that one is only 5 amps. I normally use one from Trossen: https://www.trossenrobotics.com/12v10a-power-supply
Which is 10 amps.

If I actually want it to walk without cables, will then typically use a 3S Lipo. Which one? I don’t know, it often depends on your needs and space and … Example I think the highest capacity one that Robotis sells is:

But then you are carrying that weight. Also maybe you want more than one battery like, maybe 2. So do you have room for 2 of that size or are you better off with the smaller, cheaper, lighter 1000mah versions?

Also remember that the more weight your robot has to carry, the harder the servos have to work. So sometimes larger heavier multiple batteries could be partially self defeating.

Again sorry hopefully someone will give you a more definitive answer. But hopefully you might get something of this.

Good luck and have fun!

Thanks so far for this extensive answer! :slight_smile:

U2D2: That’s right and I have read over this line: “U2D2 is able to connect ROBOTIS controllers that support 4Pin UART communication such as OpenCM9.04, CM-150 and CM-200 to the PC with the enclosed USB cable.” …so I will connect the U2D2 with USB.
(My idea was to use UART to skip big and heavy USB-Plugs and cables.)

Power Hub: 4 times the “U2D2 Power Hub Board Set” would be big and heavy. So my idea is to have one board for power supply (https://www.robotshop.com/eu/en/dimension-engineering-syren-25a-6v-24v-regenerative-motor-driver.html) and one self-made 4-port hub for the 4 legs. When I get it right, the 4 plugs just have to be wired in chain. There I would connect also the stable 12V from my power supply.

Battery: As I need 12V for the servos I would use a 4S Lipo. When I assume 1A avarage for 1 servo when moving and 2A for two Raspis and some electrcity, we have 14A -> 14.000mAh for 1 hour. If I like to use the bot for about 20min I would need 4500mAh - 5000mAh. e.g.: https://hobbyking.com/de_de/zippy-compact-4500mah-4s-35c-lipo-pack.html?queryID=52ad023fa1d5c84f17bdde2fe5ab70d8&objectID=24755&indexName=hbk_live_magento_de_de_products - 466g

…I know the problems of weight. My last bot was about 3.8kg and had 6 standard servos, 1.2N stall. Now I have 2.3N (about twice the performance) and about 1kg more (because of accu & servos). The strength of the servos of the last bot have been more than enough, so I think I can get a little bigger this time.

I’m still interested in all ideas, especially concerning my concept of the self-made hub! :nerd_face:

Kind wishes, Marcus

P.S.: Thats my last one: The servos have been too inaccurate, the center of gravity was too high and the latency of the spatial was too big… the next one should be better… https://youtu.be/esmmn6JMYlo

Self made hub:
The one I showed of one from RobotShop is actually one I made myself… I then exported the design files and any one can order them…

IMG_0336-(002)

Again nothing really special. When ordering from OSHPark I ordered the thinner boards with thicker copper

But then again I also use my own servo controller often using one with a Teeny 3.x or 4.x processor. Some of which I have an RPI connector on it and same form factor. I often find I have more fun playing around in the microcontroller code than I do with the Robot code, but for me the main point is to have some fun!

As for 4S versus 3S - I think your servos should work with either. I know with some of the earlier Dynamixels that some up on Trossen had better luck of not frying a servo at 3S voltage, when something went wrong. But I don’t remember the details. I think it had something to do with how quick you needed to detect things overheating or over torque… But again I don’t remember much more of the details (like which servos they were using).

looks like a fun project!

1 Like