Shop OBEX P1 Docs P2 Docs Learn Events
Data Logging Current Usage — Parallax Forums

Data Logging Current Usage

ArchiverArchiver Posts: 46,084
edited 2003-07-28 19:59 in General Discussion
Hi,

I'd like to use a Basic Stamp to log current drawn by a robot. This is for a
robot-combat type of thing, so ideally, I'll be able to monitor and record
relatively high currents over a 3 to 5 minute period. The amperage will be
anywhere from 0 to 50 amps at a given time, and I can afford relatively grainy
sampling rates (i.e. every 1/10th of a second would be more than fine).

I've already designed a stamp application to measure temperature and battery
voltage within the robot (largely based on stuff from this list and the Parallax
site), but I'd also like to get an indication of the current being pulled from
my battery packs.

I'm generally OK with the basicstamp stuff, but I'm not experienced with
measuring current flow with anything other than a DMM. Are there different
strategies for creating a microcontroller readable current indicator?
Simplicity is more important than accuracy.

Thanks for any ideas -- it's a great group.

Joe

[noparse][[/noparse]Non-text portions of this message have been removed]

Comments

  • ArchiverArchiver Posts: 46,084
    edited 2003-07-27 03:29
    In a message dated 7/26/2003 6:23:37 PM Pacific Daylight Time,
    joe@j... writes:

    > I'm generally OK with the basicstamp stuff, but I'm not experienced with
    > measuring current flow with anything other than a DMM. Are there different
    > strategies for creating a microcontroller readable current indicator?
    > Simplicity is more important than accuracy.
    >
    > Thanks for any ideas -- it's a great group.
    >
    > Joe

    Joe,

    To measure current the inexpensive way, here is one approach.

    Connect a 0.01 ohm in series with the positive or negative lead that carries
    the current you want to measure. The resistor will need a heat sink (there is
    probably a large mass on your robot you can use to mount the resistor, the
    mass will act as your heat sink).

    You will monitor the voltage across this resistor. The voltage is equal to
    the amps times the resistance. 50 amps across 0.01 ohms will yield 0.5 volts. 0
    amps consumption will yield 0 volts across the resistor. The resitor acts to
    convert current into a voltage.

    This 0.5 volts (at 50 amps) can then be amplified times 10 with an op-amp for
    a 5 volt output at 50 amps.

    An analogue to digital converter can be used to convert the 5 volts to a
    digital byte (8 bits), something the stamp can understand.

    The resistor needs to be very small (0.01 ohms) for minimal voltage loss to
    your robot at the maximum current consumption. For example, if the resitor was
    0.1 ohms, at 50 amps consumption there will be 5 volts across the resitor,
    that means 5 volts less available to your robot.

    This should get you started.



    [noparse][[/noparse]Non-text portions of this message have been removed]
  • ArchiverArchiver Posts: 46,084
    edited 2003-07-27 03:32
    Forgot to mention......www.caddock.com is just one source for the 0.01 ohm
    resistor.

    AND, you need to confirm if the resistor body ( the section that will be heat
    sinked) is isolated from the leads.

    In a message dated 7/26/2003 7:30:17 PM Pacific Daylight Time,
    smartdim@a... writes:

    > >I'm generally OK with the basicstamp stuff, but I'm not experienced with
    > >measuring current flow with anything other than a DMM. Are there different
    >
    > >strategies for creating a microcontroller readable current indicator?
    > >Simplicity is more important than accuracy.
    > >
    > >Thanks for any ideas -- it's a great group.
    > >
    > >Joe
    >
    > Joe,
    >
    > To measure current the inexpensive way, here is one approach.
    >
    > Connect a 0.01 ohm in series with the positive or negative lead that carries
    >
    > the current you want to measure. The resistor will need a heat sink (there
    > is
    > probably a large mass on your robot you can use to mount the resistor, the
    > mass will act as your heat sink).
    >
    > You will monitor the voltage across this resistor. The voltage is equal to
    > the amps times the resistance. 50 amps across 0.01 ohms will yield 0.5
    > volts. 0
    > amps consumption will yield 0 volts across the resistor. The resitor acts to
    >
    > convert current into a voltage.
    >
    > This 0.5 volts (at 50 amps) can then be amplified times 10 with an op-amp
    > for
    > a 5 volt output at 50 amps.
    >
    > An analogue to digital converter can be used to convert the 5 volts to a
    > digital byte (8 bits), something the stamp can understand.
    >
    > The resistor needs to be very small (0.01 ohms) for minimal voltage loss to
    > your robot at the maximum current consumption. For example, if the resitor
    > was
    > 0.1 ohms, at 50 amps consumption there will be 5 volts across the resitor,
    > that means 5 volts less available to your robot.
    >
    > This should get you started.
    >



    [noparse][[/noparse]Non-text portions of this message have been removed]
  • ArchiverArchiver Posts: 46,084
    edited 2003-07-28 08:50
    Smartdim wrote:

    >Connect a 0.01 ohm in series with the positive
    > negative lead that
    >carries the current you want to measure.

    One way of doing this without placing an additional
    resistor is to look at a main power lead from the
    battery. These are often rather thinner than is ideal
    and cause voltage drop. Although the resitance is
    'unknown' you could calibrate the circuit with an
    inline ammeter.

    As a more hitech approach what about this:

    http://www.maxim-ic.com/quick_view2.cfm/qv_pk/3801

    a coulomb counter 1 wire circuit. This uses very low
    external resitances so voltage drop minimal. You'ld
    know battery usage too!

    Adrian


    Adrian


    =====
    -
    *********************************************

    ________________________________________________________________________
    Want to chat instantly with your online friends? Get the FREE Yahoo!
    Messenger http://uk.messenger.yahoo.com/
  • ArchiverArchiver Posts: 46,084
    edited 2003-07-28 14:19
    You've already gotten two good answers.
    I'd like to add -- a paper clip can be
    made into a good current sensor resistor.

    Take a fairly thick paper clip, straighten
    it out, and measure its resistance. You want
    the .01 ohm mentioned earlier. Cut the proper
    length (as measured by your ohm-meter) and
    solder your wires to it.

    I don't know that I'd take this approach
    for 50 Amps -- a commercial unit with good
    heat-sinking might be better for this.

    --- In basicstamps@yahoogroups.com, "Joe McCartin" <joe@j...> wrote:
    > Hi,
    >
    > I'd like to use a Basic Stamp to log current drawn by a robot.
    This is for a robot-combat type of thing, so ideally, I'll be able to
    monitor and record relatively high currents over a 3 to 5 minute
    period. The amperage will be anywhere from 0 to 50 amps at a given
    time, and I can afford relatively grainy sampling rates (i.e. every
    1/10th of a second would be more than fine).
    >
    > I've already designed a stamp application to measure temperature
    and battery voltage within the robot (largely based on stuff from
    this list and the Parallax site), but I'd also like to get an
    indication of the current being pulled from my battery packs.
    >
    > I'm generally OK with the basicstamp stuff, but I'm not experienced
    with measuring current flow with anything other than a DMM. Are
    there different strategies for creating a microcontroller readable
    current indicator? Simplicity is more important than accuracy.
    >
    > Thanks for any ideas -- it's a great group.
    >
    > Joe
    >
    > [noparse][[/noparse]Non-text portions of this message have been removed]
  • ArchiverArchiver Posts: 46,084
    edited 2003-07-28 14:48
    You could always try a Hall Effect sensor. It does nothing to your power leads.
    You just run the wire off your battery through the center of the sensor, and
    the sensor will convert the magnetic field strength into a voltage that is
    proportional to current. Getting hall effect sensors designed for this purpose
    can be tricky... I've used some from LEM (www.lem.com) with great success.

    In a message dated 7/26/2003 6:23:37 PM Pacific Daylight Time,
    joe@j... writes:

    > I'm generally OK with the basicstamp stuff, but I'm not experienced with
    > measuring current flow with anything other than a DMM. Are there different
    > strategies for creating a microcontroller readable current indicator?
    > Simplicity is more important than accuracy.
    >
    > Thanks for any ideas -- it's a great group.
    >
    > Joe
  • ArchiverArchiver Posts: 46,084
    edited 2003-07-28 16:58
    As current monitoring is important, there are integrated circuit
    chips available to help out with that function. Two that come to
    mind are the Zetex ZXCT1009 <http://www.zetex.com/isense> and the
    Maxim MAX471/472. You provide the sense resistor, and the chip has
    the op-amp and other circuit inside that scales the signal for your
    ADC or RCtime.

    A 0.002 ohm resistor carrying 50 amps will drop 0.1 volt, which is
    about right for the current sensing chips. (50 amps * 0.1 volt = 5
    watts). To make the resistor, look up the copper wire gage you are
    using in a table, which will show you the resistance per unit length.
    Calculate the length that gives 0.002 ohm, and solder the sense wires
    onto the power leads that far apart. That goes on "high side", the
    positive side of the battery. The sense wires go to the chip and
    the output of the chip to the ADC or to RCtime.

    -- Tracy


    >In a message dated 7/26/2003 6:23:37 PM Pacific Daylight Time,
    >joe@j... writes:

    >The amperage will be anywhere from 0 to 50 amps at a given time, and
    >I can afford relatively grainy sampling rates (i.e. every 1/10th of
    >a second would be more than fine).
    >
    >
    >> I'm generally OK with the basicstamp stuff, but I'm not experienced with
    >> measuring current flow with anything other than a DMM. Are there different
    >> strategies for creating a microcontroller readable current indicator?
    >> Simplicity is more important than accuracy.
    >>
    >> Thanks for any ideas -- it's a great group.
    >>
    >> Joe
    >
    >Joe,
    >
    >To measure current the inexpensive way, here is one approach.
    >
    >Connect a 0.01 ohm in series with the positive or negative lead that carries
    >the current you want to measure. The resistor will need a heat sink (there is
    >probably a large mass on your robot you can use to mount the resistor, the
    >mass will act as your heat sink).
    >
    >You will monitor the voltage across this resistor. The voltage is equal to
    >the amps times the resistance. 50 amps across 0.01 ohms will yield
    >0.5 volts. 0
    >amps consumption will yield 0 volts across the resistor. The resitor acts to
    >convert current into a voltage.
    >
    >This 0.5 volts (at 50 amps) can then be amplified times 10 with an op-amp for
    >a 5 volt output at 50 amps.
    >
    >An analogue to digital converter can be used to convert the 5 volts to a
    >digital byte (8 bits), something the stamp can understand.
    >
    >The resistor needs to be very small (0.01 ohms) for minimal voltage loss to
    >your robot at the maximum current consumption. For example, if the resitor was
    >0.1 ohms, at 50 amps consumption there will be 5 volts across the resitor,
    >that means 5 volts less available to your robot.
    >
    >This should get you started.
  • ArchiverArchiver Posts: 46,084
    edited 2003-07-28 19:59
    Ampsense makes very nice DC hall effect current sensors. I've used the 100
    amp unit with very good success.

    Try the AMP50 at $16.00 a pop or the AMP100 at $19 bucks. Not cheap but they
    are small, light weight and easily interface to an ADC.

    Find Ampsense at http://www.ampsense.com

    Hank
Sign In or Register to comment.