Dynamic Table

Hi,

I just started using arduino for a project I'm working on and I must say it's more fun than I thought. I'm a graphic designer and was afraid to use electronics as I have no experience with this subject. However, the arduino has made this much easier!

I got it to work last night and was able to hook up a servo motor to an Arduino Uno. Now, I need more than 1 servo to run, so I did some research and was hoping you guys could point me in the right direction.

I'll start off by explaining what exaclty I am aiming to do:
Basically it's a table with 48 servo motors which would push cubes up and down. You could see it as a dynamic table surface.
The servo motors will have a gear attached to them so they roll the rail up and down and thus moving a specific cube.

  1. I'll need to buy an Arduino Mega instead of the Uno. As the mega can hold up to 48 servos. Am I correct?
    I will probably use this type of motor: http://iprototype.nl/products/robotics/servo-motors/mini-servo

  2. The arduino can't power the servos on its own, if I'm not mistaken. So I'll have to find an external power source (power outlet here in Belgium is 220V) How can I hook this up without hurting the hardware ( and myself :> ). I read something about the ground of all the servos, power source and arduino should be connected or the motors won't work.
    The main questions is how to distribute all the power to the servos without blowing them up.

This would get me started. As I said, I have no previous electronic experience and am just learning Ohm's law and stuff, but have a general idea how it works.

Thank you for helping a beginner out :slight_smile:

F

  1. I'll need to buy an Arduino Mega instead of the Uno. As the mega can hold up to 48 servos. Am I correct?

Correct.

  1. The arduino can't power the servos on its own, if I'm not mistaken. So I'll have to find an external power source (power outlet here in Belgium is 220V) How can I hook this up without hurting the hardware ( and myself :> ).

Those servos need 5V. The amount of power you need will depend on how much power each servo draws and how many will be moving at the same time. Worst case is probably 48 Amps. You may want to borrow a MASSIVE 5V power supply and measure the current draw in operation before buying a power supply that can handle the current (plus a margin of 50% or so).

Yes, all the Grounds (servo black wires, Arduino Ground, power -) connect together. All the +5V power (servo red wires, Arduino +5V, power +) wires connect together. The servo control wires (yellow or white wires) got to Arduino pins. (Note: If you switch to servos that use a voltage other than 5V you should provide a separate power supply for the Arduino.)

Thank you for the confirmation. I'll do some more research now :slight_smile:

@Frederic,
the good thing is you know about what this project is going to cost you. 48 servos are costly
by any reckoning.

The mini servos may be weaker than you think, so make sure what loads you'll need to move
before buying all 48. Also, rigging up 48 mechanical-anythings is going to be a lot of work, so
try to figure out the minimum mechanics/gearing you'll need. Ie, best if you can simply move
the blocks directly using the servo horns, without additional gears, etc.

So, build a small prototype first with a few servos, and see how that goes.

By US maths, the mini servos are only 22 oz-in [if I calc'ed correctly], which are quite weak.
The other servos on the bottom of the page cited are "standard" servos, at about 44 oz-in,
and the same price.

Roughly speaking, standard servos draw about 300-mA, while the mini-servos I assume will draw
about 1/2 as much current. That means overall current requirements will be in the 8-16 Amp
range, not quite as bad as 48-Amps. This is just an estimate.

8-Amps isn't too difficult to produce, 48-Amps is a REALLY BIG problem, depending upon how long
you need the table to go for at one time. For short periods, less than 1-hour, you could probably
power it from rechargeable NiMH D-cells, or even a 6V SLA [sealed lead-acid] battery.

There are also wallwarts around that can provide 2-4 Amps. You would need "regulated" ones, not
cheaper unregulated ones, for which the output voltage varies greatly with load. The other option
is a monlithic power supply that can provide 5-6V [must be regulated output] at 8-16 Amps or
whatever, but that might be the more expensive option.

I might try powering this lot from several different power sources, say 4 sources which each can
provide 5-6V at 2-4 Amps, and then splitting the servos into groups. All you need do is wire the
grounds of the different groups together, and back to the Arduino ground. The Arduino only
supplies control-signals to the servos and not power.

@oric_dan(333)

Thank you for all the tips! You are right, the other servo's look like they can hold more weight. I will probably buy those instead en group them together into 4 groups.
This way I can build 1 group and test it out before buying all the servo's.

I'll let you know in the following days/weeks how things go :slight_smile:

Thanks!

Thank you for all the tips! You are right, the other servo's look like they can hold more weight. I will probably buy those instead en group them together into 4 groups.
This way I can build 1 group and test it out before buying all the servo's.

The more powerful servos are also somewhat larger, so you need to take that into account too.
4 groups will be 12 servos/group, so I imagine you'll need roughly a 4-Amp supply for each group
when using the standard servos, but again, you'll want to build up a prototype with a minimum
#of servos, and test it.

Just a thought. Servos are really loud when they are moving. If you are going to have any more than a few moving at once, this might be really distracting. I cannot even imagine what 48 of them at once would be like but I imagine it wouldn't be pleasant.

A linear actuator using a stepper motor might be something to look into. You can find them on the wholesale places like alltronics.

This would be much more quiet and in some ways easier to implement mechanically but would be harder to implement electronically.

Also, if you aren't looking for precise positioning, then a DC motor geared to drive a threaded rod up and down might even do the trick and be both more quiet and simple to implement both mechanically and electronically.

@Sacman

They need to be precise. So I don't think DC motors will do the trick. The good thing about this project is that it's just a proof of concept. When this gets approved it would get build by people much more experienced than myself :stuck_out_tongue:

--

Below is a sketch of how I think the circuit should look like. Take notice that I decided NOT to move all the servos simultaniously. So I should be good with groups of 12 servos per adapter, taking in mind that I'll only move a maximum of 3-4 at a time. A wave like motion if you will..

The adapters: http://iprototype.nl/products/accessoires/power/adapter

Does this look ok?

Does this look ok?

Well it doesn't show very much does it?
What it does show however is that you are using pins 0 and 1, these are best left for the serial communication between the computer and the arduino. I would also add some hefty bulk decoupling capacitors on the ends of the power supply lines.
http://www.thebox.myzen.co.uk/Tutorial/De-coupling.html

Yeah, sorry, I'm new to this.
I basically meant that I would be using 48 pins on the arduino mega board, starting from the 53rd one.

Why would I need decoupling capacitors? I've tried hooking up some servo's and didn't need those parts.

I've tried hooking up some servo's and didn't need those parts.

Yes some but when you get all of them in, and so drawing a lot of current, then you will experience trouble without sufficient decoupling. Have you read the link?

I'm reading it as we speak :slight_smile: thanks.
Also, tonight I'll be attending an arduino workshop and ask them a few questions as well

Where are you that you found an Arduino workshop? That is too cool! I don't even have a maker/hacker space close by.

I am still quite the noob myself with only about 2 months under my belt but a lot of previous programming experience and once upon a very long time ago I was a Nuke ET in the Navy when microcontrollers were still in their infancy. I remember when one of my shipmates brought his computer on board for our Persian Gulf deployment and it had no hardrive and 64MB of RAM. It used 5" floppy disks.

Timelab (timelab.org) hosts workshops from time to time in their space in Ghent, Belgium. As it is only a 20min drive for me, I couldn't let this go by unnoticed :wink:

As for the table. I tried hooking up several servos and control them one by one.. So far so good! When problems start showing I'll get a good look at those decoupling capacitators. For now, it seems, I don't need them.. Time will tell.