PDA

View Full Version : Hot Servos



The Master
- 1st August 2010, 22:06
Hi, Ive got 4 servos in an enclosed space and after running for a while ive noticed that they are getting very hot. Is this normal for servos? I also have 4 voltage regulators (1 for each servo) with heatsinks and they are pretty hot too. One of the servos is constantly making a noise (like its just correcting itself). I know this will use more current and cause more heat but they seem to be getting way too hot.

Archangel
- 2nd August 2010, 02:53
You might double check those regulators were not installed backwards ( power in the out and out the in) they get a bit hot that way and do not regulate too well. Ask ME how I know that :D

The Master
- 2nd August 2010, 09:45
Hi, The regulators are the correct way. I did make that mistake in the original design but luckily realised before i etched the PCB and plugged the servos in. They are running from a 12V supply so they probs wouldnt last long if the regulators were wrong.

The power supply is a desktop PSU (similar to a laptop PSU) and it is capable of outputting 7A. As far as i understand the voltage is correct so 7A shouldnt cause a problem but im not overloading them am i?

Ive opened the skull (yes, skull!) and turned the servos on. It seems that at least 3 of them are constantly twitching but its not noticable just by looking at them. I know that will cause a huge power drain through the regulators but i wouldnt have thought the servos would mind as they are designed to constantly correct their positions.

I think the slight twitching could be caused by my code but it is written in assembly and goes into a tight loop before the timer overflows so it should be accurate to 400ns.

Acetronics2
- 2nd August 2010, 20:00
Hi, The regulators are the correct way. I did make that mistake in the original design but luckily realised before i etched the PCB and plugged the servos in. They are running from a 12V supply so they probs wouldnt last long if the regulators were wrong.
.

(12v - 5v) * ~350 mA ( servo w/ small load ) = 2W per regulator

is it enough to show ???

.

The power supply is a desktop PSU (similar to a laptop PSU) and it is capable of outputting 7A. As far as i understand the voltage is correct so 7A shouldnt cause a problem but im not overloading them am i?

Ive opened the skull (yes, skull!) and turned the servos on. It seems that at least 3 of them are constantly twitching but its not noticable just by looking at them. I know that will cause a huge power drain through the regulators but i wouldnt have thought the servos would mind as they are designed to constantly correct their positions.

.

your servos should have no load other than moving parts of your skull ... especially no STATIC load ... ( like compressing a spring coil )
so, all moving parts have to be balanced to create a minimum load on the servo @ " neutral position " or steady positions ...

.

I think the slight twitching could be caused by my code but it is written in assembly and goes into a tight loop before the timer overflows so it should be accurate to 400ns.

I do not think it's a real problem ... theres a " deadband " around the steady position : about 2µs to 10µs ( from best to worse servos )

Now ... some servos draw not negligible current to hold position with very light loads ... some need quite a load to begin to draw current ...
This belongs to servo caracteristics ...

Say ... the smaller the servo, the Higher the current draw @ 1kg*cm torque i.e.

from 250 mA to 750 mA ... depending on the servo size and ... brand.:eek:

Alain

The Master
- 2nd August 2010, 21:54
I dont think the regulators are the main problem. They are getting quite hot but they have heatsinks on them and ive had one running hotter for a few hours without problems.

The skull is more balanced than any other that ive seen. The jaw servo is in the center instead of at the front. One problem ive heard with this kind of project is that when the power is cut the skull will look straight down. Mine doesnt have this problem. It remains exactly where it was so the servos definately arnt struggling to keep the skull in position.

I did have a servo tester (now blown up after forgetting the 5V regulator) and all 4 servos worked fine with that. If its not my code thats causing the buzzing then there must be some fault on the circuit but i cant find one.

As my code listens for serial data i cant jump into the tight loop too soon but i calculated that it should jump in over 3,000 instructions before the timer overflows. Theres no way my program uses that many instructions in one iteration of the main loop.

Heres my tight loop for servo 1


Servo_Loop1 ; Label: Servo1 tight loop

; Check if Timer3 has overflowed
BTFSS PIR2,1 ; If TMR3IF=1 Then: Skip the next line
GOTO Servo_Loop1 ; Nothing to do yet so go back to the start of the loop

BCF _pServo1 ; Turn the servo pin off

GOTO Servo_Next ; Goto the subroutine that sets up the next servo


The PIC runs at 10MHz with PLL (40MHz / 10MIPS). The servos were quite expensive but their deadband shouldnt be shorter than a few instructions.

Im going to go over my code again tomorrow because ive already found some stupid mistakes in it so there might be more. 1 thing i can think of is that i dont allow 18ms between pulses. There is a gap but i think its more like 10ms. That should be fine though right?

Dave
- 2nd August 2010, 22:37
The Master , If I were you I would seriously look at the power supply for the servos. If it is not STIFF ENOUGH because of lack of current availability, the closed loop circuitry inside could be trying to compensate for it. I would take a scope or at least a AC voltmeter and watch the +5 volts that power the servos. If you are seeing more than a hundred millivolts or so, the supply is WEAK... This is also probably the case when you say that the servos make a buzzing sound when they are at a stable position, assuming the input pulse width is stable... Just my thoughts...

Dave Purola,
N8NTA

The Master
- 3rd August 2010, 07:07
Heres the PSU i am using. http://www.rapidonline.com/Electrical-Power/Power-Supplies/Desktop-PSUs/90W-Desktop-switch-mode-PSU/79713. Even the smaller 2A one ive got provides a very clean power source. Do you think its worth adding a big capacitor just incase though?

mackrackit
- 3rd August 2010, 10:04
If you think the power supply is not adequate test with one that you know is. In this case an automobile battery should do. Large and clean, power wise that is.

The Master
- 3rd August 2010, 12:19
I think the power supply should be fine but i will try a large capacitor when i get home to see if that helps at all. I also have a PC PSU laying around that i can test with and ive run servos from that before so i know its clean enough.

Dave
- 3rd August 2010, 14:26
The Master , You are missing the point... I said look at the +5 volts running the servos, not the main PSU... The servos are operated by +5 volts arn't they?

Dave Purola,
N8NTA

The Master
- 3rd August 2010, 14:48
So even if the main PSU is very clean the power after the regulators might not be? Would that happen because the servos are drawing more power than the regulators are happy with?

Bruce
- 3rd August 2010, 16:02
The hot servos are probably due to having them in a small enclosure with several hot regulators and heatsinks.

Twitching & noise from servos is normally due to improper pulse timing, or insufficient power supply.

Most regulators have thermal shut-off built-in, and will drop-off if they get too hot, or the load attempts to draw more current than they can provide. And the hotter a regulator gets, the less efficient it becomes, so it can't provide anywhere near its rated max output.

A quick way to test this would be to just remove the servos and regulators from the skull, and bench-test everything. If the regulators still get hot, try placing a small fan close by aimed at the heatsinks.

If everything runs cool, and you still hear noise, or see twitching from the servos, then check your pulse timing, and output of each regulator with a load on each servo.

The Master
- 3rd August 2010, 17:03
I think the root problem is the twitching. Ive seen other people do the same kind of setup and they didnt mention an overheating problem. If the servos are constantly moving then they will be drawing a lot more power which obviously makes the regulators hot. The regulators arnt getting very very hot. The heat is mostly coming from the servos. I think thats because the motors are constantly moving backwards and forwards and generating a lot of heat.

During initial tests with the special servo controller i operated them in the enclosed space and had no heat issues at all so im pretty confident its because of the twitching. One thing i didnt do before was test on this power supply. I will add the capacitors to see if they make any difference

mackrackit
- 3rd August 2010, 17:34
From post #1

I also have 4 voltage regulators (1 for each servo) with heatsinks and they are pretty hot too
From post #5

I dont think the regulators are the main problem. They are getting quite hot but they have heatsinks on them
From post #13

The regulators arnt getting very very hot.
What happened? are they getting cooler? :p

Can you provide the specs for the motors? Make and/or model ?

ScaleRobotics
- 3rd August 2010, 17:52
[QUOTE=The Master;92102 1 thing i can think of is that i dont allow 18ms between pulses. There is a gap but i think its more like 10ms. That should be fine though right?[/QUOTE]

That might be some of your twitching. They should have 20mS between start of pulse and next start of pulse.

tenaja
- 3rd August 2010, 18:43
Friction can contribute to servo heat. If the mechanism can't easily and smoothly move one servo step, then it can oscillate.

For this type of app, I've used digital servos. They have several benefits... the first of which is no heat when they are not moving. They are easier on the PIC mcu program, too, because you can give them a single pulse and they'll remember the target--instead of a continual string of pulses.

The Master
- 3rd August 2010, 20:20
The regulators are hot but they arnt incredibly hot. Like it said, ive got another circuit where the regulator is running even hotter without any problems.

The servos im using are 3 X Hitec HS-645 MG and 1 X Hitec HS-5645 MG Digital.

Ive tried unplugging all but one servo then connecting a capacitor to it. There is no change at all.

There is almost no restriction at all in the mechanism. I can move it freely with my hand when the power is off. The servos only have to move the weight of the skull. (The mechanism (http://www.reaperfx.com/pics/grim-reaper-v2/P1000573.jpg))

Ive just done a test that i should have tried ages ago. I unplugged my PIC and powered up the circuit. All of the servos jumped to a random position (as they always do with no signal) then they stopped. No twitching or buzzing. The servos and the regulators are all remaining very cool. Im going to do some more maths and see if i can make my program a bit better

The Master
- 3rd August 2010, 20:24
On the 20ms pause. Ive read that it should be on for 1-2ms then off for about 18ms. How sensitive are servos to that gap? My understanding is that the length of time the pin goes high for is the most important. The pause in my program will vary depending on how long the pins are on for. That has been fine in the past with a similar type of servo

tenaja
- 3rd August 2010, 20:46
Sounds like a code issue. Have you looked at the output pulses on a scope? If the signal pulses vary at all, that can drain the batteries.

The 18mS isn't critical with the digital servos, but the analog servos are all different; some could just power down, and some could cause more drain.

The Master
- 3rd August 2010, 21:34
Ive taken a look at the signal with my scope. At first it was showing a 1.4ms pulse with a 6ms gap. I found out that i hadnt cleared the Timer3 interrupt flag. Ive updated my code and now im seeing a 1.4ms pulse with a 19.2ms gap but its now worse than it was before. Originally the servos were constantly buzzing but now they are visibly moving constantly.

While ive been messing about with it ive been testing the digital servo on its own and it seems that it holds its position silently no matter how big or small the gap is. Its the 3 standard servos that are causing all the buzzing. I even plugged one of the standard servos into the socket for the digital servo just to be sure but i still had the problem

tenaja
- 4th August 2010, 04:46
I've seen old servos do that. Do you have another signal generator (or rc tx) that you can test them with?)

The Master
- 4th August 2010, 07:09
Unfortunately i dont. The only other thing is a special servo tester from Hitec but that went pop about a week ago

Acetronics2
- 4th August 2010, 16:48
The regulators are hot but they arnt incredibly hot. Like it said, ive got another circuit where the regulator is running even hotter without any problems.

The servos im using are 3 X Hitec HS-645 MG and 1 X Hitec HS-5645 MG Digital.



Hi,

Bad news ...

The HS645 are rated 1 Amp each ... but their real problem is a very poor position holding caracteristics .
This servo is well known for its lack of precision AND its Hysteresis ...

That explains what you get as a behaviour.

Only solution is to change them ...

Try some old Futaba S9402 ( good discounts ... VERY good servos )

AND try to forget about Hitech products ... you'll really save your $$$ !!! ;)

Alain

The Master
- 4th August 2010, 18:25
All of these servos worked fine when i was using the Hitec servo tester. I would have thought the digital servo would be the first to complain if there were any problems but thats the only one working.

The Futaba S9402 is £65.50. I need 3 of those so its a bit expensive. Ive been looking at some Hitec HS-5625MG digital servos. They are very slightly better than the analog ones im currently using but they are digital so i shouldnt have a problem with them. They are only £35.99 each which is still gonna be expensive but not as much.

I would like to know what went wrong though. I cant believe that 3 perfectly good servos would suddenly mess up at the same time like this. They were holding their positions very well when i was first testing them. There was no buzzing and they wernt struggling to move the skull at all.

By the way, i have completely removed one of the analog servos from the skull and powered it up. Its still twitching. I think its even worse than when its in the skull

The Master
- 4th August 2010, 18:52
I just remembered that i had an old Sanwa SRM-102 servo laying around. I tried plugging that in and it holds its position very well. It is a little jumpy if i try to turn the arm but this servo has always been like that.

Acetronics2
- 4th August 2010, 21:09
I cant believe that 3 perfectly good servos ...

This is waaayyyy optimistic !!!

the test has been made by very serious guys with a high level servo tester ...
that wasn't MY experience but the ( very bad ) results of tests ...

ALL Those results have been published as a program called "Servormances" ... only available in French, halas.
Here you can get it ...
http://www.teaser.fr/~osegouin/aeromode/servos.phtml

You ALSO can ask P. Cesarrato a "kit" of his servo tester ... he sells it @ " friend price " ( no much more than the components price ...)
I join some description of the used tester manual ...

Add to that I have been dealing with R/C stuff for ... over 40 years. If I tell you to forget about Hitech products, It's ALSO because I personnaly have tested, repaired ... and thrown their products to the Wastebox !!!

Want some copies of the ( constructive ...) mails I've sent to and received from their technical staff ???
They even do agree their servos are " not so good " ... and , of course, always promise they will correct them !!!

Talking price ...

you can get much, much better prices ( ~ half what you tell !!! )... but may be NOT from your local reseller or any " robotics shop " !!!
Also have a look to Futaba S3302 ...

Alain

The Master
- 4th August 2010, 21:26
So far i have got my old Sanwas from www.rapidonline.co.uk and my new Hitec servos from www.servoshop.co.uk. There isnt a local place i can go to and buy any but if you can recommend a website (preferably in the UK) then i will have a look.

The Master
- 4th August 2010, 21:31
Hmm, Even if these servos arnt very good i still dont believe that 3 brand new ones would suddenly fail in the same way at the same time. There must be some reason behind it. My biggest worry is that i spend yet more money on more expensive servos and only get the same problem

mackrackit
- 4th August 2010, 21:49
All three might fail at the same time being they are all driven by the same in-correct code? You have already stated that the code was not good and with out the servos connected to the MCU all was well...

The Master
- 4th August 2010, 22:49
Thats true. The code was originally wrong. It was causing very short pauses of about 6ms. I assume digital servos are fine with really short gaps but could something like that actually break the servos? Or could it just be that the invalid code caused the initial buzzing and the heat caused the rest of the damage?

Acetronics2
- 5th August 2010, 09:29
Hi,

So ... let's resume.

IF those 3 wonderful servos are " so good " ... why not test their behaviour into the skull, with a so simple 555 based servo driver ( 10 components is a maximum ) that will produce neat-known signals ...

here is one of them:
http://www.hvlabs.com/555servo.html

would certainly save time to everyone and, may be money to you ...

Alain

The Master
- 5th August 2010, 11:05
Ok, sounds like a good idea. Ill try and make a 555 circuit tonight. Im pretty confident the signal from my circuit is fine now (it works on the digital servo and the old Sanwa). Im all for saving money though so ill see how the 555 goes.

The Master
- 6th August 2010, 16:54
Unfortunately the 555 has the same results. Again the scope shows quite a good signal. There are very slight variations in the line but they are present even when nothing is connected to the scope. They definately wont cause this problem. Ive zoomed right in and measured the pulses and they are identical width.

I accidentally extended the pause time through my PIC circuit to 30ms and they were twitching even more. I would expect that from analog servos but it seems that if i gradually decrease the pause time they gradually become more stable but 6ms is the shortest i can go to and at that they are back to buzzing and only moving very slightly. Its like the pause time the servos require has become shorter

falingtrea
- 6th August 2010, 17:03
I see that servos have an input voltage range of 4.8VDC to 6VDC. If that power is not clean could it cause the jitter? Are servos ratiometric, so to speak?

The Master
- 6th August 2010, 17:09
The slight variations on my scope are background noise. We are talking like 2mV. Im pretty confident that the supply and signal are both cleaner than my scope is showing and theres no way i could get it any cleaner.

Acetronics2
- 6th August 2010, 17:18
I see that servos have an input voltage range of 4.8VDC to 6VDC. If that power is not clean could it cause the jitter? Are servos ratiometric, so to speak?

Hi, Tim

servos are Theoretically not supply sensitive , actually it is very, very, un noticeable.

This, Halas, is the new proof those hum... servos are to avoid ...

reducing the pause between two pulses only increases the energy given to hold the position ...
what confirms the steady position behaviour is very very bad ... see my #23 post ...

No other solution than select good ones instead of those ...

or try to modify the servo amp gain and dead band ( 10% success ... no more, and 90% risk of oscillating around the position.)

One certitude: amplifier parameters have not been optimised ( often seen for Hitech servos ... )

Alain

The Master
- 6th August 2010, 17:22
I think im going to try to avoid analog servos all together from now on. Digital servos seem to work way better.

Thanks for all your help anyway. I will get some new digital ones and see if i can return these.

Acetronics2
- 6th August 2010, 18:32
I think im going to try to avoid analog servos all together from now on. Digital servos seem to work way better.

Thanks for all your help anyway. I will get some new digital ones and see if i can return these.

Hi,

It's not a digital or analogic servos problem, but a quality problem ...
try to choose ones from well known brands ( Futaba, JR, Graupner ...) and of course, not the " first prices " ones , the price won't be so much higher ... ;)

Chinese or Corean brands still are " no so reliable ", may be one day they'll become ... may be.

Alain