Shop OBEX P1 Docs P2 Docs Learn Events
Huge voltage drop on robot? Why? — Parallax Forums

Huge voltage drop on robot? Why?

bulkheadbulkhead Posts: 405
edited 2006-02-11 11:01 in Robotics
I have a servo driven robot that has a lifting mechanism which uses 3 high torque servos. The drive system uses 2 high torque servos (modded for continuous rotation). I have no problem driving around, but when I use the 3 servos to start lifting a load, they start straining, and the voltage drops A LOT. With both 6.0V batteries I have tested it with, each dropped to below 4.0V when the 3 lift servos were put under a load. Under normal driving conditions (and while at idle, only the stamp drawing current), voltage is around 5.8-5.9V. What is going on here? Do the servos short out the battery when they are stalled? How can I protect my batteries? (I think one is already damaged, it won't charge fully).

Comments

  • Chris SavageChris Savage Parallax Engineering Posts: 14,406
    edited 2006-02-03 04:02
    You need batteries with sufficient current as well as sufficient voltage.· What is the current rating on these batteries you're using?

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Chris Savage
    Parallax Tech Support
    csavage@parallax.com
  • bulkheadbulkhead Posts: 405
    edited 2006-02-03 04:09
    Well, the first are Sanyo 3600mah sub-C size batteries (from an RC car). These are typically tested at 30-35 amp discharge rates and range from 1.13-1.18V under such a load. The second battery is made of 2/3A size 1050mah batteries that are rated for 10-20 amps. Both these batteries showed similiar voltage drop patterns despite the fact that one is about 3 times larger (in capacity and discharge capability, based on the numbers I have). What's interesting is that my stamp doesn't reset even though the voltage is below 4.0V-it still functions fine.
  • Beau SchwabeBeau Schwabe Posts: 6,547
    edited 2006-02-03 04:31
    How close in proximity are the batteries to the servos? Are the leads long? ...and where are you measuring the voltage?

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Beau Schwabe

    IC Layout Engineer
    Parallax, Inc.
  • bulkheadbulkhead Posts: 405
    edited 2006-02-03 05:34
    Well, the battery is located between two servos, the ground wire (black) goes directly to a breadboard, so like 5 inches. The power wire goes to a switch which has a 12 inch lead, so that totals around 24 inches and then some, before it too is plugged into the breadboard. Could this length wire cause this? I'm measuring the voltage on the breadboard's power lines. The servos are all plugged into the breadboard.

    Edit: Could it be the fact that I'm running all the current through the breadboard? How much current are these things designed to handle?
  • Beau SchwabeBeau Schwabe Posts: 6,547
    edited 2006-02-03 06:01
    What happens if you measure the voltage directly at the battery? If the servo motors are pulling lots of current, I would suspect
    that long leads might be a problem. What wire guage are you using?

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Beau Schwabe

    IC Layout Engineer
    Parallax, Inc.
  • LoopyBytelooseLoopyByteloose Posts: 12,537
    edited 2006-02-03 17:00
    It is a bit hard to tell you how much current the servos are intended to handle unless there is a published specification.

    As you have discovered - Lift takes a lot more power than rolling along on a level floor. Larger wires directly from the batteries to the servo motors may help quite a bit because it is a tempory peak load.
    The control wire to the BasicStamp can remain small.

    If you really want lift, you may have to solder heavy gauge wires into the servo. Even then, the PC board inside may limit you because you have to go through the PWM logic. Don't let the low voltage decieve you.

    For example, I got an old school bus that needed a new set of cables from the battery to the starter. Merely 12volts, but 5/8" thick arc welding cable was required. Each cable was 8 feet long as the battery was not under the hood.

    If you really believe these servos are your best choice, you might remove the circuit boards and just run the two motor wires from them into an appropriate 3-5amp H-bridge.

    Also, the breadboard really has 'high resistance' connections.· You loose a lot of power at each·plugin point·by going thorough it.· It is really intended for light current loads.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    "When all think alike, no one is thinking very much.' - Walter Lippmann (1889-1974)

    ······································································ Warm regards,····· G. Herzog [noparse][[/noparse]·黃鶴 ]·in Taiwan

    Post Edited (Kramer) : 2/3/2006 5:04:43 PM GMT
  • bulkheadbulkhead Posts: 405
    edited 2006-02-04 03:57
    Well, I figured since servos are equipped with that wire (20-22gauge?) that it should be fine The power wires I believe are rated for 12A at 12V. Could the breadboard's resistance really cause this? It doesn't feel warm or anything after I run it. Also, if I shorten the wire, would it help significantly?

    I notice on the PSC, all the servos are driven through the two tiny power leads. If these are too small to run high torque servos, then what could? Can the PSC really drive 15 (or is it 16? I don't remember) servos, if each servo is stalled and draws 2 amps each?
  • LoopyBytelooseLoopyByteloose Posts: 12,537
    edited 2006-02-04 08:02
    Certainly, imagine how small the actuall contact surface area is when a 22 gauge wire is inserted into the breadboard. It is certainly less than the 22 gauge by quite a bit.

    Most printed circuit boards will only carry 2-3amps. So having a 10 amp relay on a printed circuit board is only 'de-rating' the relay [noparse][[/noparse]which will make it have a much longer useful life].

    You are limited by your weakest link.

    You have not mentioned if your servos actually stall. Stalling really generates a lot of demand on the motors. 20-22 gauge is a bit on the small side, so length might matter, but 90% of electrical failures are at the connections - especially when they are not soldered.

    The amount of time in use might not allow you to notice heat [noparse][[/noparse]though there may be some].

    Why not try to jury rig the servos directly to the batteries or a bigger supply and do a stationary lift test to determine that they are adequate. In the end, you may require a battery that is too big and heavy for the robot. And, you need to really consider not using a breadboard if you are going into more powerful circuits.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    "When all think alike, no one is thinking very much.' - Walter Lippmann (1889-1974)

    ······································································ Warm regards,····· G. Herzog [noparse][[/noparse]·黃鶴 ]·in Taiwan
  • bulkheadbulkhead Posts: 405
    edited 2006-02-05 00:50
    Hm, so if I understand this correctly, I can add capacitors on the power line of the battery to provide surges of current? What are the "polarity one way things" you are talking about?
  • LoopyBytelooseLoopyByteloose Posts: 12,537
    edited 2006-02-07 19:12
    I teach English to Chinese and even I am having trouble with trevorh's message. TOO informal to be clear.

    And I have doubts that adding capacitors will be necessary.

    Additionally, I think your motors may not be able to do the lift regardless of wire or battery. You need to establish that first or you are just wasting your efforts by looking in the wrong places for solutions.

    Have you actually weighed what your are trying to lift? Can you figure out how much leverage is working against you to increase friction and add to demands on the servos motor?

    Have you tested the operation without anything being lifted?

    These are important observations.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    "When all think alike, no one is thinking very much.' - Walter Lippmann (1889-1974)

    ······································································ Warm regards,····· G. Herzog [noparse][[/noparse]·黃鶴 ]·in Taiwan
  • gibbmangibbman Posts: 98
    edited 2006-02-07 20:10
    Kramer made me laugh out loud with:
    I teach English to Chinese and even I am having trouble with trevorh's message
    I teach several topics to Ukranians, and I also suffer confusion with the post.

    Jim

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    In the end, it seems that it's all about getting the LEDs to blink....
  • bulkheadbulkhead Posts: 405
    edited 2006-02-08 05:19
    Well, it does the lifting task perfectly fine if my battery is fully charged, but after a minute of use, it struggles to lift it. The battery takes an hour and 15 minutes to charge if its fully discharged. After a minute of use, it only charges for a few minutes before the charger says the battery is full. I don't know if this means that very little current is used, or if the battery is simply damaged and will not take a charge. I do admit that the load the servos are attempting to lift is pretty large, but would this really lead to battery damage?

    I'm going to get a new battery pack from radioshack this weekend (GP3300), then I'll know for sure whether I just have a bad battery, or whether the servos cause the battery to get damaged. I may also check out the fuses they have there, it might be a way to check the peak current that the servos draw and find out whether this current surpasses the capabilities of the battery.
  • allanlane5allanlane5 Posts: 3,815
    edited 2006-02-08 15:07
    Ni-Cd battery packs will put out a LOT of current, so that shouldn't be a problem. Now, if you let them put out that current too long, you can 'reverse' the voltage on one of the internal cells -- which means it won't take a charge anymore.

    You really need to measure your current at full load to answer your question. And what does "I do admit that the load the servos are attempting to life is pretty large" mean? What is your gearing? "Pretty Large" -- does that mean a human? 100 pounds? 10 ounces?

    The short answer is, a servo is designed to put out a certain torque, for a certain load, with a specified voltage. The resulting current will be what the resulting current will be. A battery is designed to maintain a certain voltage, supplying current for some period of time.

    I don't know that you've told us the Amp-Hour rating of your batteries.

    If you have a 1000 mA-hour battery, and you're driving your servo's with 3 amps each, then that's 9 amps leaving the battery.

    A 1000 mA hour battery can put out 9-amps for (Let's see, 1 Amp * 60 Minutes == 9 Amps * X minutes, X == 60/9, X == 6.67) for 6 and 2/3 minutes.

    So measure your current, check the specifications on your battery, and you can answer your own question.
  • bulkheadbulkhead Posts: 405
    edited 2006-02-09 01:37
    With the load being pretty large, I mean the servos are at a pretty large mechanical disadvantage (the short end of the lever). The batteries I'm using are supposedly rated for 3.6Ah, and they are supposed to be able to discharge at a constant rate of around 35 amps. Given that the voltage drop only occurs when I run the 3 servos that do the lifting task, I doubt that these servos can together draw more than 35 amps, although it may be possible that when the servos stall, they somehow short the battery.

    The weird thing is that when I try to measure current using my multimeter (rated for up to 10 amps), with the leads hooked up to the power line of the battery, my robot just goes crazy, all the servos just start jerking simultaneously. I'm going to see if I can check the current using a system of fuses instead.

    Well, thanks everyone for all the help. I'll report back once I get it tested with the new battery.
  • Beau SchwabeBeau Schwabe Posts: 6,547
    edited 2006-02-09 01:43
    bulkhead,

    is there anyway that you can post a schematic of what you have? The "plug and blow" fuse method that you are
    suggesting is not the correct way to proceed with things.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Beau Schwabe

    IC Layout Engineer
    Parallax, Inc.
  • LoopyBytelooseLoopyByteloose Posts: 12,537
    edited 2006-02-09 09:01
    I suspect that you simpily expect too much from the batteries.

    They manage a first time lift, but at 35amps your wire should be larger [noparse][[/noparse]10 gauge or more] and you are not going to get much more thant one cycle out of them.

    In the batteries are rated at 3300ma, you only have 10 minutes of available use UNDER USUAL circumstances. I don't think you have harmed the batteries. You seem to need something much larger [noparse][[/noparse]like a gel cell or automotive battery].

    Also Nicads and NiMH batteries usually require a 12-14hour recharge period to properly recharge on a properly designed charger.· It could be that you are just too impatient with charging them.· You need Lithium batteries to get a quick charge time.

    I am trying to identify which part of the design is the weakest link.
    Apparently the servos are fine. As you do get one lift.

    If the supply were large enough, the wire would seem to work [noparse][[/noparse]but may be get hot if too small].
    After all it does lift for awhile.

    You may simply be stuck with providing external power if you cannot fit in a large enough battery.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    "When all think alike, no one is thinking very much.' - Walter Lippmann (1889-1974)

    ······································································ Warm regards,····· G. Herzog [noparse][[/noparse]·黃鶴 ]·in Taiwan

    Post Edited (Kramer) : 2/9/2006 4:18:55 PM GMT
  • Paul BakerPaul Baker Posts: 6,351
    edited 2006-02-09 14:37
    Actually a 35 Amp load for a 3.6Ah battery is 6 minutes and 10.3 seconds. The normal circumstances point is extremely valid, when the capacity rating for a rechargable battery is provided it is measured using a certain load. If more current is drawn in an actual circuit, the measured capacity will be exponentially less according to the difference between the test load and actual load (in the reverse a lighter load will increase the measured capacity of the battery). Another point to consider is that all batteries have an internal resistance, it is typically small enough that it is not noticed at small loads, but at high loads the measured voltage across the battery terminals will significantly decrease because of this internal resistance. This resistance is inherent to all batteries because of the internal composition and chemistry.

    The way to measure the current of the servo in question when it is under heavy load is by measuring it when all other servos are disconnected from the power source. It sounds like you are taxing the batteries to the point where the battery's resistance is coming into play. While the small voltage drop across the sense resistor in your DMM shouldn't effect the operation of the circuit, if the circuit is on the edge of being "broken" the additional small resistance of the DMM can be the straw that breaks the proverbial camel's back.

    The heart of the issue here isn't the batteries, its how you designed the mechanical system the servo connects to. Your servo as mentioned by others, was designed to experience a certain maximum load as dictated by the torque rating of the gear reduction. You are pressing the servo into doing something far beyond what it was designed to do. Beyond the issue of draining the batteries at a rapid rate, you are severely decreasing the lifetime of the servo, continued operation beyond its design parameters will cause either the motor driving transistor to burn out or the insulation in the motor windings to melt and short. In a sense its a very good thing that your batteries Smile out so early, because it is likely keeping the servo from going into meltdown.

    You need to either:

    1. Further reduce the gear ratio, this will slow down the operation of the lifting mechanism, but it will also increase the torque the servo can provide while still remaining withing acceptable operating parameters.


    2.·You have a beam and fulcrum system, shorten the boom (length of beam on the load side), this will decrease the height of lift but will decrease the mechanical advantage of the system to an acceptable level, or


    3. Get a heavy-duty servo designed to provide the torque required (at the cost of still draining your batteries quickly because of the increased current required to operate the heavy duty servo).

    As you see every solution has a significant disadvantage, welcome to the world of design trade-offs.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    ·1+1=10

    Post Edited (Paul Baker) : 2/9/2006 2:57:06 PM GMT
  • SN96SN96 Posts: 318
    edited 2006-02-09 17:53
    I was thinking the same thing that it sounds like the servos are over worked. A counter balance system with weights on the opposite end of the fulcrum would help a lot. Helper springs can also be used to assist the servos when lifting. These two things although would help, it is best to get servos with a closer match to the torque required to operate the arm with a reserve for loads.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Mike

    ·
  • LoopyBytelooseLoopyByteloose Posts: 12,537
    edited 2006-02-11 11:01
    Sadly, we never have gotten enough informaton about the whole set up to get beyond speculation.

    Of course, if you fix the weakest link, the next weakest becomes the failure point. The whole system has to be brought up to a reliable configuration.

    Servos are very useful to create a bench-top prototype to prove a design and to write software.

    But, if you want to scale up to a larger system controlled by the same device, many different areas of engineering have to come into play.

    When you are 'pushing the envelope' it can oftend exhibit failure rather than sucess. The value is that it teaches you where your lack of knowlegde lies.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    "When all think alike, no one is thinking very much.' - Walter Lippmann (1889-1974)

    ······································································ Warm regards,····· G. Herzog [noparse][[/noparse]·黃鶴 ]·in Taiwan
Sign In or Register to comment.