Society of Robots - Robot Forum
Electronics => Electronics => Topic started by: bilals on March 15, 2010, 11:56:35 AM
-
Hello,
I was using a 6V battery (2300mAh) to operate Axon II with 18 servos connected.
When initiating the servos as in here:
servosInit(&bank1, TIMER1_COMPAREA);
servosInit(&bank2, TIMER3_COMPAREB);
servosInit(&bank3, TIMER1_COMPAREB);
...etc, for all 12 banks with 18 servos
The Axon resets repeatedly. Could not help fixing it.
I had to add a delay after each sevosInit command as in here:
servosInit(&bank1, TIMER1_COMPAREA);
delay_ms(100);
servosInit(&bank2, TIMER3_COMPAREB);
delay_ms(100);
servosInit(&bank3, TIMER1_COMPAREB);
delay_ms(100);
....etc
This solved the problem, however. When later, started using the actSpeed commands for only 3 servos at a time (with delay):
act_setSpeed(&Leg1_servo_1,50);
delay_ms(20);
act_setSpeed(&Leg2_servo_1,50);
delay_ms(20);
act_setSpeed(&Leg3_servo_1,50;
delay_ms(20);
The Axon started reseting again.
I connected an identical battery in parallel with the previous one. Hence became 6V (4600mAh). The Axon resets but less frequently than before.
I cant seem to find a solution other than increasing the delay. But this is impractical.
Is there a way to fix this ? Is there a battery powerful enough to handle all servos (no matter how many servos i operate at the same time) ?
BTW, does anyone by any chance have the datasheet for this servo type:
JR Servo - DS8911 - FET.Digital
I cant seem to find one anywhere.
-
I would look into powering the Axon from a separate battery.
It might be a pain but should solve this problem.
Addition questions:
I guess the Axon is powered by a 5 voltage linear regulator. Is this reg a LDO?
If not then 6V is not nearly high enough. Even with an LDO regulator there isn't much voltage overhead the allow for voltage drop when the servos draw current.
-
Use bigger batteries if you can but for a quick fix solder two big caps across the battery leads. Just make sure the polarity is right and the voltage is high enough ;D.
-
Ni-mh batteries have a C rate (discharge rate) of about 1-2, so for your batteries, that's about 2-4 Amps a pack before voltage drops too far.
Servo's can draw up to 500mA a piece. so for 18 Servos: 9 Amps peak.
9 Amps / 3 means you will need at least three packs to avoid voltage dropping too low.
-
Once you've sorted your power issue then you may want to download the next release of WebbotLib version 1.16. Not available yet - but imminent.
see http://www.societyofrobots.com/robotforum/index.php?topic=10113.0 (http://www.societyofrobots.com/robotforum/index.php?topic=10113.0)
-
Servo's can draw up to 500mA a piece. so for 18 Servos: 9 Amps peak.
9 Amps / 3 means you will need at least three packs to avoid voltage dropping too low.
Actually, peak can often be closer to 1A per servo - although it'll only last a few milliseconds, thats an eon for an mcu.
bilals, what battery and what servos are you using? Since you already have everything built, measure the current draw with a multimeter to help you choose a better battery setup.
And yea, with that many servos, using a dual power supply for the Axon II might be the better option.
-
Opps, even worse.
it'll only last a few milliseconds, thats an eon for an mcu.
You got that scene at the end of Star Trek First Contact (where Data debates joining the borg for a few uS) stuck in my head now, LOL.
-
Thanks all for the help.
bilals, what battery and what servos are you using? Since you already have everything built, measure the current draw with a multimeter to help you choose a better battery setup.
This is the battery iam using (2 of them):
http://www.trossenrobotics.com/store/p/5916-NiMH-Rechargable-Battery-6v-2300mAh.aspx (http://www.trossenrobotics.com/store/p/5916-NiMH-Rechargable-Battery-6v-2300mAh.aspx)
And as i said before i am using this type of servos (seems that there is no datasheet. Please help find it):
JR Servo - DS8911 - FET.Digital
http://www.helipross.com/servo-same-8711-jr-ds8911-ultra-torque-sx-digital-servo.html (http://www.helipross.com/servo-same-8711-jr-ds8911-ultra-torque-sx-digital-servo.html)
I havent really built the robot, i am just testing.
Once you've sorted your power issue then you may want to download the next release of WebbotLib version 1.16. Not available yet - but imminent.
see http://www.societyofrobots.com/robotforum/index.php?topic=10113.0 (http://www.societyofrobots.com/robotforum/index.php?topic=10113.0)
I cant wait to use the new version as i have the same problem (Jitterness).
-
Guys, will a battery of volatage =>7.2 solve the problem ?
-
Guys, will a battery of volatage =>7.2 solve the problem ?
No, it will probably fry you servo.
-
OK, a 6V battery but instead of 4600mAh, 10000mAh. Will that help ? Or has nothing to do with it ?
-
If the problem is voltage drop in connections, wires and board traces then no.
If the voltage drop is at the battery then yes.
How you looked at what voltage drops you are getting as the servos draw current? And where these drops occur?
-
The battery datasheet will tell you current output, and if you're lucky, voltage at X current output. That value needs to be higher than what your servos are using. If one battery can't do it, put more in parallel. NiCAD batteries can do more current output than NiMH types.
You also need to measure current and voltage with a multimeter.
-
Personally I would simply separate VS from VL. I wish this was easier on the Axon2 (IE like the boards from Lynxmotion, where I simply remove a jumper and add the second battery into the VL terminal...)
I have two different Hex robots with 18 servos on them. One with SSC-32 and Bot Board 2 with Basic Atom Pro, and the second with a Basic Micro Arc32 (not yet released)). Both of these have separate batteries for VL and I don't have any problems. I was running my Phoenix (Arc32) with a 9v battery and a 1600mah battery from Lynxmotion) The only problem is you have to recharge often. Have since switched to 2800mah battery.
Kurt
-
I wish this was easier on the Axon2 (IE like the boards from Lynxmotion, where I simply remove a jumper and add the second battery into the VL terminal...)
I decided against the jumper because:
- its easy to lose the jumper
- takes a non-insignificant amount of board space
- limited jumper current (Axon can handle 4x the current of most other servo boards)
- additional cost (if its only $1 more for ~1000 units, thats $1k sunk)
- most people rarely change jumpers, so soldering isn't a hassle
I delayed shipping the Axon II an extra month because of this jumper decision (and prototyping/testing it). Wasn't an easy decision to make!