60 servos to control, a simple solution?

Thread Starter

Badvoc

Joined Mar 17, 2014
4
Hi Guys,

Try this one for size. For a dcc model railway I am building a Roundhouse, it will have approx. 30 pairs of doors, I would like them all to open but how do I go about controlling 60 servos without breaking the bank? All doors will be either open or closed and it is not envisioned that any two doors will be operated at the same time. So give me your thoughts someone must be able to come up with an elegant idea cause I can't
 

MaxHeadRoom

Joined Jul 18, 2013
28,688
Show some mechanical details on the size weight structure of the doors, I don't see needing 60 or even 30 servo's if all operate at the same time?
Max.
 

n1ist

Joined Mar 8, 2009
189
Any way to have the operating mechanism for the doors be part of the turntable? That way you only need two (or maybe 1) servo or motor on the turntable instead of one per door. If you need to have one per door, you could use a multiplexer or I/O expander to drive the selected data line of the servo.

/mike
 

tshuck

Joined Oct 18, 2012
3,534
A FPGA with sufficient I/O could drive them with ease, but a mechanical solution may save you from having to buy 60 servos...
 

John P

Joined Oct 14, 2008
2,026
To follow on to N1ist's idea, and depending on what kind of mechanism you have down below the table, you might use a moving device which would travel around with the turntable, hidden from view. When the turntable stopped, this mechanism would be in place to open the doors for whichever roundhouse track you'd selected. You could require the doors to be closed again before the turntable moves, or you could let the doors stay in the open position if you wanted, though that would mean you'd have to bring the turntable back to close them. Or maybe each pair of doors would be spring-loaded, so that when the mechanism wasn't there to open them, they'd just shut automatically.
 

MaxHeadRoom

Joined Jul 18, 2013
28,688
Is there any particular reason for wanting all doors to open when only one would normally be in use?
I see this in the Homework section so it is probably a theoretical question?
Max.
 

John P

Joined Oct 14, 2008
2,026
The more I think about this, the more it seems like a mechanical problem and not very likely to be an electronic design at all.
 

inwo

Joined Nov 7, 2013
2,419
There are small 90° rotary solenoids that would take fewer wires if in a matrix. <16 first guess.

ps.
Not enough thought into that. :(

A tiny gear motor would work though. The control would be a challenge. But still only an 8X8 matrix.
A sign that I helped design did this. (with some bugs)
 
Last edited:

Thread Starter

Badvoc

Joined Mar 17, 2014
4
Here is a little more detail. The turntable is a piece of real electrical wizardry that I have bought in so I do not wish to alter it in any way, it wouldn't do what I want any way. The idea is that the doors mounted in pairs (lightweight etched brass 21mm x 62 mm) would open one door at a time to represent a worker opening them manually, when the pair was open they would stay open until such time as it was chosen to close them, whatever other doors were doing so a mechanical solution would be in the order of a nineteenth centaury automaton, hence looking for a solution based on servos, as these would give the slow prototype opening I am looking for rather than a snap open snap shut of for instance a solenoid
 

sirch2

Joined Jan 21, 2013
1,037
I'm assuming a round-house is circular? If so, could you mount two rings inside above the doors driven by a servo. When the servo is on one ring moves clockwise and the other CCW simultaneously. On the rings you have iron or steel lugs and on the doors you have electromagnets. To open a given pair of doors you energize the electromagnets and start the servo to turn the rings, as the lugs go past the electromagnets they pull the doors with them.

One servo, 60 home made electromagnets and a controller...
 

inwo

Joined Nov 7, 2013
2,419
One set of 3 wires could connect all servos. (thru n.o. contacts at servo)

8 X 8 matrix, ie. 16 wires to power 60 enable relays, one of 60.

Pictured as relays. Solid state design should work the same.

Enable relays would route +5 and pulse to selected servo.

<20 wires/ control points.

Actually it could be programmed so that it would appear more than one door was moving at the same time. Possibly?
 

Thread Starter

Badvoc

Joined Mar 17, 2014
4
Sorry stirch2 but in this case a roundhouse is not quite what it sounds like it is more of a horseshoe so rings would not be possible
 

John P

Joined Oct 14, 2008
2,026
I'm imagining some kind of device that would crawl along a track above the roundhouse doors, and on command it would go to a designated door and grab an operating lever, and open or close that door.

This could be more complicated than anything else you're likely to build on the railroad. What's your level of expertise in setting up gadgets?
 

MrChips

Joined Oct 2, 2009
30,808
If the servos are to be located some distance from each other I would plan on using a distributed network.

You can plan on a simple 3-wire or 4-wire cabling system.

For optimum reliability, use 4-wire cabling, power, ground and twisted pair RS-485 network.

If the distances are not large you can get away with a simpler 3-wire system, power, ground and one TTL data line.

Each servo will be controlled by a simple 8-pin microcontroller unit (MCU). Serial data is transmitted simultaneously to all servos, Data is transmitted in a packet which will contain a 1-byte servo address.

Setting up the data transmission protocol is a piece of cake if you are an experienced MCU programmer. Each packet can be as simple as a 4-byte message consisting of

<start> <address> <command> <end>
 
Last edited:

John P

Joined Oct 14, 2008
2,026
If you're willing to use 60 servos (several dollars each!) then it's easy enough to run them all off a single processor. Just set up a selection network so that any given one can be driven, with no signal sent to the others; you might use a bunch of 74HC259 latches to deliver the signal, with a few more processor outputs to control them. I'm not very experienced with different kinds of servos, but I believe that a "digital" servo won't move if there's no signal applied to the input, so I think you can get away without the need to drive all the servos all the time.
 

Thread Starter

Badvoc

Joined Mar 17, 2014
4
Hi Guys, thanks for helping me to clarify my thoughts on this, I have now developed a solution that works for me and as ever the reality is keep it simple
 
Top