I’m just starting to use servos on my layout. I’m also getting into the Arduino thing pretty deep. I plan on cutting over to servos to operate my turnouts controlled by an Arduino.
I’m starting out with the SG90 (cheapo, 10 for $14) servos and I have found out not all servos are alike. Is this a common thing? Some are noisy and some are not as smooth operating as others. Some draw as little as 9ms at idle (not moving) while others draw as much as 31ma at idle.
My servo supply voltage is regulated 5 volt from a switching (clean) 10 amp power supply.
I have 5 old Futaba servos (leftover from my RC boating days) operating the doors on my roundhouse for several years that I’ve never had any problems with. I currently use a servo tester on a rotary switch to operate the doors. They will be moved to an Arduino later.
But they do all seem to work fine. I think out of about 15 or so I got in multiple batches I had one give me problems.
The default Arduino servo library moves them at a pretty fast speed, which increase the start up (inertia) current and is louder than if they moved at a slower speed. There is an alternate library that has a variable speed but I haven’t played with that. The two I pulled out of my drawer to test my design with seem to be pretty much the same. I don’t think I’ve seen that high of a 31ma idle - my whole circuit with 4 leds, arduino, and 2 servers doesn’t draw 31ma when just sitting there. If I put back pressure on the servo though, the current shoots up.
There also are ‘digital’ servos which operate a lot smoother but the downside is they draw more current.
Also look for ones that actually say Tower Pro on them, those are the real ones, ones without the Tower Pro name are knockoffs. And of course a more familiar brand like Futaba are even better quality, but of course you pay for that.
There’s a lot of stuff about planes and helicopters here but also a good deal of servo info:
All of the SG90s I bought are Tower Pro. The first one I tried was real noisy, the second had high current at idle. I opened up the noisy servo and lubed the gears with white Lithium grease and that helped but didn’t totally eliminate the noise.
I installed the noisy servo in my camera car and it works very good. This is a link to a 30 second clip of the servo in my camera car:
None of them have 180° movement, maybe 120°. I tried the SG90 Hack on a couple of the servos to get 180° but they go flaky at the end of one direction so that’s a no go.
Since I am mostly using them for turnouts and maybe crossing gates, that they don’t turn a full 180 degrees doesn’t really bother me. One of the two I am using on the bench is actually stuck to a small piece of styrene which is in turn stuck to the bottom of a Peco turnout, which still has the spring in it.
If I had known the servo max rotation was 120° I could have used a different gear ratio. I’ve had more problems with my camera car project than I can put up with so I’ll just get used to the 120° pan rather than change out the gears. Everything works very good right now.
The 120° rotation is plenty for my other ventures on my layout.
Mel
Modeling the early to mid 1950s SP in HO scale since 1951
For those of you that are using or planning to use the Tower Pro SG90 9G servos I have a caution warning for you.
I have been experimenting with them for the last three days. As Randy pointed out they are cheap and don’t even come close to my 20 year old Futaba servos.
They are much noisier and they will draw excessive current at idle if there is as much as 1 gram of back pressure on the servo actuator when positioned. My Futaba’s idle at 6ma with 4 grams back pressure, the SG90s will draw as much as 30ma with 2 grams of back pressure. A constant 30ma drain on the SG90 = a very hot motor.
Once the SG90 is positioned by removing the data wire the servo idles at 4ma and holds its position easily at 15 grams. The SG90 Data Sheet says approximately 180°, out of the twenty servos I bought two have 120°, eighteen have between 90° to under 180° rotation, the majority in the vicinity of 90° to 100°.
Those look slightly different to mine in one detail - it appears the wires come out of the plug at right angles. I ahve some that have the red-orange-brown leads as well as black-white-red.
Which hack are you doing? The only one I see is for continuous rotation. Definitely not useful for turnout controllers. Could make an Arduino mini-bot that way though, if fitted with wheels.
The simple pivot method used for the servo mounts for turnouts I have effectively runt he piano wire over center so there is little or no back pressure. The other thing I keep experimenting with is shutting off the power after moving, but I’m out of pins on the Arduino to add a pair of power control pins (through a MOSFET) - just disconnecting the signal like can make the servo do odd things, the right way is to turn off the power feed. Tam Valley has an inline device he calls the servo quieter which appear to work with any sort of servo driver. Not sure what he does, it’s basically a male and female connector back to back with a small shrink wrapped board in the middle. Best I can think of is that it is a small PTC polyfuse but at what current level do you make it trip such that it actually cuts power but doesn;t interfere with operation? And I guess you would have to grade the servos so they all draw approximately the same current. I might order one to check it out. Otherwsie, I think I will be ok at least for turnout control because of the over center nature of the link. It seems to work ok on my test one, but that is just operating through 60 thou styrene, not 3/4" plywood subroadbed and cork or homasote roadbed. I didn’t have problems with the ones on my previous layout, controlled by the Singlets, but those had the older Motrak mounts and I had to set the travel limits on each one or else the buzzed constantly and heated up.
The three Tower Pro servos I tested seem to be stable with the data line disconnected. Just touching the servo actuator makes them draw excessive current that doesn’t go away unless you tweak the shaft or the control pot for minimum current. I don’t like that at all.
Is your plan to drop the 5 volts to the servos? I only tried removing the control wire to three servos and they didn’t appear to be squirrely, I’ll spend some more time checking them to be on the safe side.
A better quality servo probably won’t have a problem, my Futaba servos work great. Any drag on the SG90s draws high current, at 30ma the motor gets hot enough to eventually melt the plastic housing.
Mel
Modeling the early to mid 1950s SP in HO scale since 1951
</
I would like to just drop the control signal, as that is doable without using any extra lines. Getting the timing down is a problem, all the examples of this are basically set the position, then delay 1 second, then disconnect. That’s not even remotely practical for something that has a user interface (pushbuttons) and controls more than one turnout - the Lenz LS150 stationary decoder is like this as well, for the duration of the pulse on one output (which can be set to several seconds) it no longer responds to any other commands. I’m thinking about somehow tracking the time since the position was last changed (so SET_POS = CUR_POS) and if this has been more than a certain number of milliseconds, issue a servo.detach. The routing invoked when SET_POS <> CUR_POS will of course do a servo.attach first. I think that might work, and be non-blocking as far as scanning the inputs for new commands.
I haven’t even started thinking about other uses for servos, and what sort of controller I would need. I do want to have a couple of stations with train order semaphores.