Routing servos through a transistor to avoid 'jump'

Hi all!
I am considering hooking up some servo motors through a transistor to avoid the servo ‘jump’ when i turn my power supply on.
Could anyone recommend one which could handle the current draw of 2 x servos with a max of about 200mA each please? Is there anything which could prove problematic with this approach?
I tried putting them through the only transistor which i had lying around which was the p2n2222a. it worked but i noticed that they were a bit ‘sluggish’ when working together which made me think that perhaps they couldnt handle the current…
Any help would be much appreciated. Thanks!

No way you're servo's are just drawing 200mA... That will be 200*0*mA with ease.

And what I found, even if you apply power later they will still jump a bit. If you're using t mainstream SG90 servo's try: a) Swap them for SG92. Cost just a couple of cents more and are way better b) connect a 4k7 resistor between Vcc and Signal of the servo.

No way you're servo's are just drawing 200mA... That will be 2000mA with ease.

Whenever i test them thats the max current i get. Is there some way that my multimeter isnt responding quickly enough? can i test it with an oscilloscope? i only have a cheap one with absolutely no frills. I'll check out that other servo. its more than a few cents more where im looking but if it is a lot better then it may be worth a look. why exactly is it so much better? thanks.

Are you testing the servos under load?
If you are simply moving the servo arm without physically connecting it to anything, then you are not taking meaningful measurements.

Prevent the arm from moving whil you command the servo to move. This will stall the motor. Measure current.
Do not do this for long periods as the servo might overheat.

Yeah, most multi meters are to slow. When the servo makes quick movements it will consume quite a bit. And try giving it some load, current goes up like a rocket.

Alright, might be little bit more then 2 cents. But around 3 dollar for a servo is still pretty good.

And why the SG90R's are better? They don't jump and they don't nearly jitter as much because they claim they are digital compared to the analog SG90.. I would say that's more then wroth it.

Are you testing the servos under load?

the load is minimal. about 40 grammes. ive come to the conclusion that they are way overkill ofr my needs in terms of torque but i used them purely out of convenience. slight digression but is there a less power hungry, low torque option out there or do you have to build it yourself?(position controlled motor that is)

Yeah, most multi meters are to slow. When the servo makes quick movements it will consume quite a bit. And try giving it some load, current goes up like a rocket.

is there any way that i can get a meaningful measurement without expensive equipment?

And why the SG90R's are better? They don't jump and they don't nearly jitter as much because they claim they are digital compared to the analog SG90.. I would say that's more then wroth it.

i'll order a few now.

If you really pay attention to the speed in which you move the servo the current may stay manageable. Only moment you can't really is when you turn it on. So turn them on (attach) them one by one with some time in between. And even better, detach them when you're done moving.

A way of measuring it is putting a low value resistor in series and measure across the resistor with the scope. With ohms law you can calculate the current.

I started with SG90's as well but after trying a SG92R I'm not going to buy SG90's again :p

If you really pay attention to the speed in which you move the servo the current may stay manageable. Only moment you can't really is when you turn it on. So turn them on (attach) them one by one with some time in between. And even better, detach them when you're done moving.

i have been turning them off indeed as they make an annoying rattle from time to time. attaching them doesnt bypass the initial jot which is felt when they are switched on which is where the transistor idea comes in. do you still not think that it is a good idea? when i tried it it seemed like a good solution. there was a small jolt when the base is connected but not nearly as much as the one which happens when they are connected before being fed a signal.

for the record i just took the motor out of the servo and tested its current. i got a fairly steady 75mA @ 5V. it did indeed jump up to about 100ish when powering up but it seems that unless these little guys are heavily burdened with a load they dont draw a great deal of current and nowhere near the full amp mark in my tests.

A way of measuring it is putting a low value resistor in series and measure across the resistor with the scope. With ohms law you can calculate the current.

i'll certainly look into this.

I started with SG90's as well but after trying a SG92R I'm not going to buy SG90's again :p

i look forward to testing mine out when they arrive!

I did some testing at the time and found the best way to be a resistor between Vcc and signal.Did you test that already?

I did tested switching them on later (when they are already attached) but they still shocked a bit. But the resistor keeps them dead solid. But they still jitter more than the SG92R.

I did some testing at the time and found the best way to be a resistor between Vcc and signal.Did you test that already?

worked like a charm! how does that actually work?

I think i would actually still like to isolate the servos from the power supply because they use 7mA even when they are idle and detached(i guess due to their inner circuitry perhaps?) and i want to leave my project switched on in sleep mode for long periods of time so that it can be activated using a touch sensitive button rather than a physical switch.

i still havent quite wrapped my head around how to use a transitor as a switch. im reading an article now. making my head spin a little. would you be able to recommend one which would be able to switch my (assumed)max 400mA load?

It works by severely degrading the performance of the servo so that it can't move quickly.

Here's a tutorial on MOSFETS I just happen to have in my copy-paste buffer: http://www.electronics-tutorials.ws/transistor/tran_7.html

If you want to switch them, be sure to put the signal line at the sleep level as well. Aka, if you high side switch the servo's you must make the signal line LOW as well (or floating). Otherwise there is a change of phantom powering the servo's via the signal line which is a bad idea.

@MorganS, I must say I never use them full speed but I never notice degradation in speed with that fix as well.

Hey thanks for that folks. I had a TIP31C power transistor lying about and tried using that as my switch. It works but again the servos are a bit 'sluggish'. i tested the voltage at the collector and it is 4.6v and at the emitter its 3.6v so its dropping a volt which id imagine is what is causing the servos to act as they are. I am using a 200ohm resistor to connect to the base from the microcontroller as it seems to pull too much current without it. Could anyone enlighten me as to why there us such a difference between collector and emitter voltage? ps. my understanding of transistors is still very limited. Thanks!

Using a BJT withing base resistor = asking to burn the thing ;)

But you tested the collector and have a lower voltage at the emitter. So that sounds like you placed it on the high side / in the plus line? That will indeed drop quite a bit. A BJT needs 0,6V (roughly, will go up under load) on it's base compared to the emitter. You're base is at a max of 4,6V (because I assume the Arduino gets the same voltage) but probably even lower because of the drop in the resistor due to base current. Which will already give you max 4V on the emitter. Add the extra losses between collector and emitter for higher currents and 1V drop is not weird.

If you want to switch HIGH (in the plus line) side, use a PNP or p-channel. If you want to try this transistor, use it low side aka in the GND line. But don't forget to make the servo signal line HIGH (aka NOT only detaching) before turning off the transistor.

When you talk of low side and high side do you mean to connect positive to the emitter for low side and connect positive to the collector for high side?

No, I talk about in which line the transistor is. High side => transistor in the line to Vcc Low side => transistor in the line to GND

Are these 2 circuits representative of the differences which you are talking about? if not them i am unsure what you mean…

Kind of, but it's not the connector to the transistor that matters, ONLY the location. Because you could do the same with a mosfet or a switch or a relay etc.

It's only because you use a NPN to do both high side and low side switching that results in these two circuits because of the direction of current in a(n amplifying) BJT. Which is in a NPN from C to E.

But as you saw, because B must be higher then E, a NPN results in a lot of loss when used as a high side switch because the E is what tries to go to Vcc (on the C) but it must stay under B. So in order to for E to reach C, B has to be higher then C.

With a NPN on the low side this is not an issue because E is tied to GND so it's not hard to make B higher then E which then pulls C to GND (on the E).

That's why it's more common to use a PNP / P channel to do high side switching (with semi-conductors). But to use a PNP high side the C goes to Vcc and the E to the load. And the B is also mirrored, this now needs to be lower then E to turn on. Which is not hard now because the E is tied to Vcc.

[edit] I just see you now use a different transistor then before... A TIP120 which is (darlington) PNP where as the TIP31C you talked about before is a NPN. So I assumed the drawing to be of a NPN but that would obvious make the current path through the transistor wrong :p

Ok…i think i get that. i must say its a lot easier when i just imagined transistors to be as simple as relays! is the included image the best approach then?it seemed to pull about the same current as when it (the motor) was connected directly…ps. You were right at the beginning. I am using a TIP31C!! Too many abstract numbers on the brain!

Yeah, they are a bit more complex. But that’s mainly because:
a) They only work in one direction. Both the control signal and the “switch contact” have a polarity
b) The control and the switch side share a pin, the emitter or source.

If you would apply the same to a relay (and point a is a thing for some relays, at least on the control side) it would be the same :wink: Then, at least for switching, it kind of be the same as: (quick hand drawing)
relay_as_BJT.jpg

But yes, that would be the way (at least if you mean TIP31C ;)). Out of convention it would make sense to draw it the other way around to keep Vcc at the top and GND at the bottom. And try to learn the symbols. They tell you much more then how they connect to the device. Not all BJT’s use the order BCE.

Also, again, BEFORE you then turn off the transistor be sure to make the servo signal line HIGH or floating (aka input)!