5990 resetting problem

I’m having a problem using 2 hitec 5990tg servos. I am running the servos through the HSERVO command in the atom 28 pro microcontroller, and about 50% of the time that I reprogram the atom, I have to manually unplug the servos and plug them back in to get the servos to work again. Then same thing happens some of the time when I reapply power to the circuit without changing the program.

I tested it by using an analog seiko servo and never have the same issues, it only happens with the digital servos.

Any ideas on why this may be happening and how to fix it?

try programming the servo’s with a HMI Programmer Kit!
:wink:

iv never used digital servos so the problem could be more exstensive but i beleive you need to program them first.

You do not need to program the Hitec servos.

Your digital servos are drawing a lot more power than the seiko servo. You are probably resetting the Atom not the servos. Tell me more about your power supply here…

my bad! :blush:

eh it’s np. The programmer for Hitec digital servos allows you to adjust the direction of rotation, deadband, CW and CCW rotation limit, and stuff like that.

learn something every day. lol… ill go now, im spamming! :smiling_imp:

The servos are currently being run at no load tested both through a voltage regulator and a battery. I think it has to do with the startup sequence for the atom being inconsistant, thoughts?

digital servos are not going to care about startup as they reject signals that are out of range. so long as you eventually have a recognizable r/c servo pulse they should respond. if you are banging the power rails around it may be possible to confuse them however.

please define / describe your “voltage regulator”… and your power supply while you are at it. also please verify you have separate supplies for VL and VS connected on the atom, and that the servos are being powered from the VS rail.

The information you have provided is pointing in the direction of the Atom resetting due to servo power demands drawing down a single supply. To prove this you can add a sound command at the very top of the program before your main loop. If the atom resets it will beep and you will know for sure. As I and Eddie have asked. Please go into more detail with your regulator, battery, and other powering options. This is an easy fix if you can please give us more information.

Since the servos are running unloaded I doubt that its the power supply. I was using a 3amp switching regulator from dimension engineering, and for the main power to the seiko servo, I have been using a motorcycle battery, i’m positive the atom isn’t completely resetting because I have other functions that run fine, and the symptoms don’t occur using analog servos.

I am also having a problem using the HSERVO and the servo commands on the atom on the same servo, for certain portions of the code I would like the servo to hold its position, but there are long inactivity periods as well where I would like to have it cut out of the circuit. I have tried setting the postion value to -16000 to make the servo idle, but that just sends it hard into the limit stops, and i’ve also tried just sending a low signal to the pin. Does anyone know what to send the servo to make it idle? thanks.

Did you do the suggested sound command outside the loop? The process of elimination is the only way to narrow down the possibilities. And just because the digital servo is not under load doesn’t mean anything. Digital servos are always “ON” meaning it is always holding position, there for it is constantly drawing power.

if by “idle” you mean sit at the 0 degree position then 1.5ms pulse every 20ms… continuously.

if by “idle” you mean remove torque from the output arm the only way to do that is to remove power from the servo.

there is some basic information people generally need to supply to get useful help in solving problems relating to servos and the different controller boards. the amount of useful help you can expect to receive is directly proportional to your ability to supply that information. read some other “my this or that isn’t working” threads on the forum and you will discover that just because you think it’s all wired and configured right doesn’t either make it so or guarantee your explaination of how you have it wired is giving the people trying to help you a clear image of the situation. you are obviously very actively trying to solve the problem which is great, but there are a set of diagnostic steps generally used to solve problems for folks via the forum and it generally starts with a clear depiction of excatly what is connected and how things are jumpered. :unamused:

Troubleshooting is a process of elimination. You suspect possible problems, you determine a method of testing, you implement the test, and from the results you either hit it or eliminate it from the list of possible problems. We can provide you with things to try and from that point we are at your mercy to actually do it. We all have been doing servo based robotics for a long time. Personally I have been at it for 15 years. If we recommend you try something and the only result is that you determine it’s not likely, then the whole process breaks down.

You seam to want to go into the software direction, but you don’t even post the code you are using. There are some minor differences in how analog servos differ from digital servos as far as how they respond to code. There is a huge difference in the actual motor and drive circuitry. Digital servos draw more current.

Is your Atom Pro a 24 or 28 pin unit? The older 24 pin units (3664) don’t have a power on reset circuit. So I remember having to hit the reset button from time to time to get a good start in the old days. Why this would be worse with one servo over the other is beyond me, if that is the case.

Digital servos differ in another way. They respond to 1100uS to 1900uS not the 500uS to 2500uS analog servos work with. If you are generating pulses outside the 1100uS to 1900uS range the digital servos would ignore the pulses. But this would not be random, it would be repeatable.

We obviously want to be helpful. Please provide more information.