Shop OBEX P1 Docs P2 Docs Learn Events
Reading Small Voltages — Parallax Forums

Reading Small Voltages

ArchiverArchiver Posts: 46,084
edited 2004-02-09 23:09 in General Discussion
Hello again.

Can a Stamp read voltages as small as 1mV, and discriminate between
signals that differ in magnitudes similar to 1mV?

If not, is there a workaround that would allow me to use small
voltage values in the Stamp programming?

Perhaps a serial interface that would feed the values to the stamp?

I want to detect angular displacement using a Honeywell HMC1501
displacement sensor. Info is is at www.digikey.com, search for
HMC1501.

Thanks in advance.

Comments

  • ArchiverArchiver Posts: 46,084
    edited 2004-02-07 23:19
    Use an op amp to amplify the sensor signal with a gain that allows the
    sensor range to span 0 to 4 volts. Send this amplified signal through a
    12-bit A/D converter, where 2^12 = 4096, and use a reference value for
    the A/D = 4.096 volts. The Maxim MAX187 is one A/D example among others
    with this reference built in. The resulting Least Significant Bit (LSB)
    reading is then = 4 volts / 4096, or close to 1 mV. The MAX187 has a
    serial output for sending data to a Stamp.

    You may have to adjust the sensor's output to zero, before amplifying,
    which could be done with another op amp.

    Dennis

    Original Message
    From: Pablo Roufogalis L. [noparse]/noparse]mailto:[url=http://forums.parallaxinc.com/group/basicstamps/post?postID=L8SUSsXtPMyyEY7hx4U2RArk5vwzx1xI2L3cTERG8tPDFn1c-i5n3NtrEkZEHe1AKPFzjHxs]proufo@c...[/url
    Sent: Saturday, February 07, 2004 2:49 PM
    To: basicstamps@yahoogroups.com
    Subject: [noparse][[/noparse]basicstamps] Reading Small Voltages


    Hello again.

    Can a Stamp read voltages as small as 1mV, and discriminate between
    signals that differ in magnitudes similar to 1mV?

    If not, is there a workaround that would allow me to use small
    voltage values in the Stamp programming?

    Perhaps a serial interface that would feed the values to the stamp?

    I want to detect angular displacement using a Honeywell HMC1501
    displacement sensor. Info is is at www.digikey.com, search for
    HMC1501.

    Thanks in advance.



    To UNSUBSCRIBE, just send mail to:
    basicstamps-unsubscribe@yahoogroups.com
    from the same email address that you subscribed. Text in the Subject
    and Body of the message will be ignored.

    Yahoo! Groups Links
  • ArchiverArchiver Posts: 46,084
    edited 2004-02-08 01:42
    --- In basicstamps@yahoogroups.com, Dennis O'Leary <doleary@e...>
    wrote:
    > Use an op amp to amplify the sensor signal with a gain that allows
    the
    > sensor range to span 0 to 4 volts. Send this amplified signal
    through a
    > 12-bit A/D converter, where 2^12 = 4096, and use a reference value
    for
    > the A/D = 4.096 volts. The Maxim MAX187 is one A/D example among
    others
    > with this reference built in. The resulting Least Significant Bit
    (LSB)
    > reading is then = 4 volts / 4096, or close to 1 mV. The MAX187 has
    a
    > serial output for sending data to a Stamp.
    >
    > You may have to adjust the sensor's output to zero, before
    amplifying,
    > which could be done with another op amp.
    >
    > Dennis

    Hello Dennis and thanks for the reply.

    I don't understand the bit about adjusting the sensor's output to
    zero before amplifying. My apologies for my ignorance. I don't know
    much about these things.

    Another thing: would noise be an issue if I wanted to measure 1/4th
    of a mv, with a sensor range of, say, 50 mv?

    BTW, I need to measure both positive and negative values. Would I
    need a different A/D converter or a different scheme altogether? So
    the above should be a range of -50 to 50 mv.

    Many, many thanks in advance.
  • ArchiverArchiver Posts: 46,084
    edited 2004-02-08 04:54
    --- In basicstamps@yahoogroups.com, "Pablo Roufogalis L."
    <proufo@c...> wrote:
    > --- In basicstamps@yahoogroups.com, Dennis O'Leary <doleary@e...>
    > wrote:
    > > Use an op amp to amplify the sensor signal with a gain that
    allows
    > the
    > > sensor range to span 0 to 4 volts. Send this amplified signal
    > through a
    > > 12-bit A/D converter, where 2^12 = 4096, and use a reference
    value
    > for
    > > the A/D = 4.096 volts. The Maxim MAX187 is one A/D example among
    > others
    > > with this reference built in. The resulting Least Significant
    Bit
    > (LSB)
    > > reading is then = 4 volts / 4096, or close to 1 mV. The MAX187
    has
    > a
    > > serial output for sending data to a Stamp.
    > >
    > > You may have to adjust the sensor's output to zero, before
    > amplifying,
    > > which could be done with another op amp.
    > >
    > > Dennis
    >
    > Hello Dennis and thanks for the reply.
    >
    > I don't understand the bit about adjusting the sensor's output to
    > zero before amplifying. My apologies for my ignorance. I don't know
    > much about these things.
    >
    > Another thing: would noise be an issue if I wanted to measure 1/4th
    > of a mv, with a sensor range of, say, 50 mv?
    >
    > BTW, I need to measure both positive and negative values. Would I
    > need a different A/D converter or a different scheme altogether? So
    > the above should be a range of -50 to 50 mv.
    >
    > Many, many thanks in advance.


    Do a little reading about op-amps.

    This is NOT light reading at 464 pages, but might cover most
    everything.

    http://www.ee.nmt.edu/~thomas/data_sheets/op-amp-slod006a.pdf

    You can get an op-amp with positive and negative voltages so that you
    can read your +/- range.

    Depending on the sensitivity you need, you can use a pair of inputs
    on an op-amp and have one for inverting and one non-inverting so as
    to read one ADC input for + readings and one for - readings.

    The generic idea of the op-amp is that you connect your device to one
    input and by using a few resistors, your op-amp can ampliphy the
    signal.

    Select the correct resistors and your 50mV can enter and the op-amp
    can output 5 volts. The output would be linear, so 25mV would be 2.5
    volts and so on.

    The Analogue to Digital Controller (ADC) would then break your 5 volt
    signal into parts, 512, 1024 or 4096 (or some such) depending on the
    device. A 12 bit ADC will not be too expensive.

    So, one way is to use a +/- voltage op-amp and have your input -5 to
    0 to +5 volts.

    Another way is to use a dual op-amp and input 0 to 5 volts that
    represensts 0 to -50mV. And another channel that represents 0 to
    5V from a 0 to +50mV input.

    Google op-amp, check the sites like TI for data sheets. There are
    more sites than you can imagine that will walk you thru the basics.

    Once you have the basics, ask again, and we'll be able to offer some
    things to watch out for.

    BTW, Parallax has data sheets on connecting the ADC(s)

    Dave





    Dave
  • ArchiverArchiver Posts: 46,084
    edited 2004-02-08 11:57
    Many, many thanks Dave.

    Will check the document.

    I planned to use optical gratings and once the design was almost
    finalized, I bumped into a magnetic device for measuring angular
    deviation.

    Maybe by the time I finish this second scheme, I'll move to moir
  • ArchiverArchiver Posts: 46,084
    edited 2004-02-08 13:39
    --- In basicstamps@yahoogroups.com, "Pablo Roufogalis L."
    <proufo@c...> wrote:
    > Hello again.
    >
    > Can a Stamp read voltages as small as 1mV, and discriminate between
    > signals that differ in magnitudes similar to 1mV?
    >
    > If not, is there a workaround that would allow me to use small
    > voltage values in the Stamp programming?
    >
    > Perhaps a serial interface that would feed the values to the stamp?
    >
    > I want to detect angular displacement using a Honeywell HMC1501
    > displacement sensor. Info is is at www.digikey.com, search for
    > HMC1501.
    >
    > Thanks in advance.

    Pablo,

    I have a similar problem. I need to measure a -100 to +100 mv range
    from a DC current shunt. I've been told this can be done using a
    TLC2543 (Texas Instruments) ADC. This chip features 11 analog input
    channels, an external reference input, low internal noise, and a
    three-wire interface. It also has a bi-polar conversion mode, which
    has a range of 1/2 of the reference voltage. So, if you used a 100 mv
    reference, you would be able to convert -50 to +50 mv. Allegedly. I
    have the chip but haven't tried using it yet. It costs $9 from
    HobbyEngineering.

    I intend to power the chip using a UA723 precision voltage regulator
    (Texas Instruments). By setting the regulator's output to 5.12 volts,
    the finest resolution when using the TLC2543's internal reference
    would be 1 mv. I will be using a 204.8 mv external refernece for my
    current readings, giving me a range of -102.4 to +102.4 mv, with a
    resolution of 102.4/2048 mv, whatever that turns out to be! My 204.8
    mv reference will be obtained by a voltage divider from the 5.12
    output of the regulator.

    For noise rejection, try a low pass filter on the ADC input.
    Depending on the ADC you choose, a 1k to 10k low noise resistor in
    series with the input shouldn't affect the reading since the input
    current is so very small. Put a small capacitor from the ADC input to
    the chip's ground pin. Cap size will depend on the frequence range
    of your signal. You want to filter out the higher frequencies as much
    as possible.

    Finally, don't rely on a single reading. Take several and average them.

    Good luck!

    Russ
  • ArchiverArchiver Posts: 46,084
    edited 2004-02-08 15:41
    Pablo, Russ,

    > Depending on the ADC you choose, a 1k to 10k low noise resistor in
    > series with the input shouldn't affect the reading since the input
    > current is so very small.

    Rus is right about the series resisitor, especially if there is any chance
    the input voltage can exceed the vRef. I have burnt a TLC2543 this way. The
    chip can do a CMOS lockup and conduct a lot of current. Since I had
    foolishly powered the ADC from the vReg of a B2p40, I also burnt the onboard
    reg.


    >Put a small capacitor from the ADC input to
    > the chip's ground pin. Cap size will depend on the frequence range
    > of your signal. You want to filter out the higher frequencies as much
    > as possible.

    Oddly, that doen't seem to help me, although it should. I have tried .1 and
    .01uF caps, and it doesn't reduce the noise. I find the noise level to be
    about 1-3 mV depending on source. I also find that a .1 cap across the power
    input doesn't help. I guess this means my circuit is fairly quiet.

    Jonathan

    www.madlabs.info
  • ArchiverArchiver Posts: 46,084
    edited 2004-02-08 16:14
    --- In basicstamps@yahoogroups.com, "Jonathan Peakall" <jpeakall@p...>
    wrote:
    > Pablo, Russ,
    >
    > > Depending on the ADC you choose, a 1k to 10k low noise resistor in
    > > series with the input shouldn't affect the reading since the input
    > > current is so very small.
    >
    > Rus is right about the series resisitor, especially if there is any
    chance
    > the input voltage can exceed the vRef. I have burnt a TLC2543 this
    way. The
    > chip can do a CMOS lockup and conduct a lot of current. Since I had
    > foolishly powered the ADC from the vReg of a B2p40, I also burnt the
    onboard
    > reg.
    >
    >
    > >Put a small capacitor from the ADC input to
    > > the chip's ground pin. Cap size will depend on the frequence range
    > > of your signal. You want to filter out the higher frequencies as much
    > > as possible.
    >
    > Oddly, that doen't seem to help me, although it should. I have tried
    .1 and
    > .01uF caps, and it doesn't reduce the noise. I find the noise level
    to be
    > about 1-3 mV depending on source. I also find that a .1 cap across
    the power
    > input doesn't help. I guess this means my circuit is fairly quiet.
    >
    > Jonathan
    >
    > www.madlabs.info

    Jonathan,

    Have you used an oscilloscope to check the noise at the ADC input pin?
    What about the converter's Vdd pin? If you're running the ADC chip
    from the Stamp's Vdd, you can expect a bit of noise from that. This
    would be translated to a fluctuating reference voltage in the ADC.

    Try a resistor in series with the ADC's Vdd, with a pretty hefty
    capacitor to ground. Try a 100 ohm resistor and a 10 microfarad
    capacitor. Should stabalize the voltage a bit. Or do what I am going
    to do, use a precision regulator. It's easy for me to say this, as I
    have yet to actually build such a circuit! I will let you know when I do!

    Russ
  • ArchiverArchiver Posts: 46,084
    edited 2004-02-08 17:56
    What a coinkidink! Having just (finally) bought an oscilloscope, I dug out
    my TLC2543 circuit this weekend and I've spent the last two days trying
    every noise reduction method (and locations for those methods) that I knew.

    I'm using a 1.024 reference voltage so thats 0.25mv per step on the ADC
    (1024/4096). Going directly from my opamp to the TLC2543 with no noise
    reduction other than decoupling caps on the power pins, I was getting
    readings fluctuating by +/- 100 or so - REALLY jumpy.

    I tried many, many things and checked the scope. Lots of things helped a
    bit, several things actually made it worse! The best result I got was when I
    added an RC filter between the opamp output and ADC input and now I've got
    fluctuations of +/- 1. Considering the error spec'd on the datasheet is 1lsb
    anyway, thats about the best performance I can expect from this ADC!

    Anyway, try this - route your signal through a 1k (or higher) resistor to
    the ADC pin. Next run a 0.1uF cap from the ADC pin to ground. The closer to
    the ADC the two components are, the better.

    Thats it, simple, cheap, but man does it work wonders!

    Note: The cap may tend to keep your signal showing a little higher than a
    DMM would read - you'll have to compensate for that in software if its
    important to you.

    Oh yeah, I should tell you the scope readings too. Bear with me - new to the
    scope and I still haven't quite figured out the 1x/10x stuff. I assumed that
    when the probe is set to 10x, the reading on the scope would be 1/10th of
    the real value. When I have a wave that shows as 5mV high (volts/div set at
    5, 1x on probe - wave spans one vertical div) then switch the probe to 10x,
    the wave ends up showing as 2.5mv... So I'm not quite sure how to interpret
    the volts/div and probe setting now...

    Anyway. With no RC filter, probe at 1x, volts/div at 20mv, the wave spans 3
    divs - 60mV(?). Add in the RC filter and, at those settings, I see a solid
    flat line! I have to switch down to 5mV/div and then the wave spans one
    vertical division. With time/div set at .2uS I get about 5 peaks per div
    (only a 20MHz scope - I aint rich yet [noparse]:)[/noparse].

    If you can afford it, get yourself a scope. Its great being able to actually
    see what effects various things have on your circuit!

    >
    Original Message
    > From: Dennis O'Leary [noparse]/noparse]mailto:[url=http://forums.parallaxinc.com/group/basicstamps/post?postID=ysT6TKRtqz-OnRB5ySpu-103b57VM7zzcu7dC9bYZadY1Lq3MhWfpUoqqwAopn9vjt2VlosVH-8GlVhdxV4]doleary@e...[/url
    > Sent: February 7, 2004 3:19 PM
    > To: basicstamps@yahoogroups.com
    > Subject: RE: [noparse][[/noparse]basicstamps] Reading Small Voltages
    >
    >
    > Use an op amp to amplify the sensor signal with a gain that allows the
    > sensor range to span 0 to 4 volts. Send this amplified signal through a
    > 12-bit A/D converter, where 2^12 = 4096, and use a reference value for
    > the A/D = 4.096 volts. The Maxim MAX187 is one A/D example among others
    > with this reference built in. The resulting Least Significant Bit (LSB)
    > reading is then = 4 volts / 4096, or close to 1 mV. The MAX187 has a
    > serial output for sending data to a Stamp.
    >
    > You may have to adjust the sensor's output to zero, before amplifying,
    > which could be done with another op amp.
    >
    > Dennis
    >
    >
    Original Message
    > From: Pablo Roufogalis L. [noparse]/noparse]mailto:[url=http://forums.parallaxinc.com/group/basicstamps/post?postID=I8i8TfySCO0fzEePadzoTCv-myqvxG0uZxkjXf42kTd12vHF7qi54vuUh3GQD8qZNYfiJsDanA]proufo@c...[/url
    > Sent: Saturday, February 07, 2004 2:49 PM
    > To: basicstamps@yahoogroups.com
    > Subject: [noparse][[/noparse]basicstamps] Reading Small Voltages
    >
    >
    > Hello again.
    >
    > Can a Stamp read voltages as small as 1mV, and discriminate between
    > signals that differ in magnitudes similar to 1mV?
    >
    > If not, is there a workaround that would allow me to use small
    > voltage values in the Stamp programming?
    >
    > Perhaps a serial interface that would feed the values to the stamp?
    >
    > I want to detect angular displacement using a Honeywell HMC1501
    > displacement sensor. Info is is at www.digikey.com, search for
    > HMC1501.
    >
    > Thanks in advance.
    >
    >
    >
    > To UNSUBSCRIBE, just send mail to:
    > basicstamps-unsubscribe@yahoogroups.com
    > from the same email address that you subscribed. Text in the Subject
    > and Body of the message will be ignored.
    >
    > Yahoo! Groups Links
    >
    >
    >
    >
    >
    >
    >
    >
    >
    > To UNSUBSCRIBE, just send mail to:
    > basicstamps-unsubscribe@yahoogroups.com
    > from the same email address that you subscribed. Text in the
    > Subject and Body of the message will be ignored.
    >
    > Yahoo! Groups Links
    >
    >
    >
    >
    >
    >
  • ArchiverArchiver Posts: 46,084
    edited 2004-02-08 20:49
    Russ,

    I think you have a couple of misconceptions about how the TLC2543
    works that will need to be cleared up before you build anything or
    write your Stamp program or the Javelin class function. Read the
    data sheet very carefully!

    -- The chip does not have an internal reference. The reference for
    the chip is always the voltage applied to the external ref- and ref+
    pins. So if you need to switch between two different reference
    voltages, you will have to provide an external switch to do it.
    (There are some A/D converters that do provide an internal reference,
    for example, the TLV2556 does but the TLC2543 does not. The
    MAX1238/39 has a choice of internal reference to the power supply,
    internal to 4.096 volts, or externa. The MAX1270 has a selection of
    references and does in fact accept bipolar inputs below Vss when
    running on a single 5 volt supply.)

    -- The minimimum reference voltage stated on the TLC2543 data sheet
    for 12 bit resolution is 2.5 volts, from ref+ to ref-. Thus a 0.2084
    volt reference is way below the specification, and you probably can't
    get 12 bits of real resolution out of it. It does not hurt to try
    though, and it will probably be pretty good.


    -- Yes, the chip has a "bipolar" mode, but that does not mean it
    will, for example, read voltages from -104.2 to +104.w when you apply
    a 208.4 volt reference. What it means is
    +104.2 volts input output a code of 0
    0 volts input is a code of -2047
    +208.4 volts input is a code of +2047
    in twos complement. You would have to offset your truly bipolar
    input to take advantage of that. It might be possible to use a
    reference of -104.2 millivolts to ref- and +104.2 millivolts to ref+,
    and that would give you the input span you need. The data sheet does
    specify a common mode input range for the ref- down to 0.1 volt below
    the Vss supply. But you would have to try it to be sure there isn't
    some other gotcha'. It is not an application that is explicitly
    treated in the data sheet, and it is always dangerous to assume that
    a chip can do something that is over the edge of its intended design.
    You could also try the converter with Vss offset to a negative
    voltage. -- Or evaluate a different ADC such as the MAX1270, one
    designed for signals below Vss.

    -- Be sure to use protection resistors in the signals paths! Be
    careful with with bypassing and with the analog ground path in
    relation to ref-, to avoid noise.

    -- I have Stamp demo code for the TLC2543 posted at
    <http://www.emesystems.com/OL2tlc2543.htm>

    -- regards,
    Thomas Tracy Allen Ph.D.
    electronically monitored ecosystems
    mailto:tracy@e...
    http://www.emesystems.com



    >--- In basicstamps@yahoogroups.com, "Pablo Roufogalis L."
    ><proufo@c...> wrote:
    >> Hello again.
    >>
    >> Can a Stamp read voltages as small as 1mV, and discriminate between
    >> signals that differ in magnitudes similar to 1mV?
    >>
    >> If not, is there a workaround that would allow me to use small
    >> voltage values in the Stamp programming?
    >>
    >> Perhaps a serial interface that would feed the values to the stamp?
    >>
    >> I want to detect angular displacement using a Honeywell HMC1501
    >> displacement sensor. Info is is at www.digikey.com, search for
    >> HMC1501.
    >>
    >> Thanks in advance.
    >
    >Pablo,
    >
    >I have a similar problem. I need to measure a -100 to +100 mv range
    >from a DC current shunt. I've been told this can be done using a
    >TLC2543 (Texas Instruments) ADC. This chip features 11 analog input
    >channels, an external reference input, low internal noise, and a
    >three-wire interface. It also has a bi-polar conversion mode, which
    >has a range of 1/2 of the reference voltage. So, if you used a 100 mv
    >reference, you would be able to convert -50 to +50 mv. Allegedly. I
    >have the chip but haven't tried using it yet. It costs $9 from
    >HobbyEngineering.
    >
    >I intend to power the chip using a UA723 precision voltage regulator
    >(Texas Instruments). By setting the regulator's output to 5.12 volts,
    >the finest resolution when using the TLC2543's internal reference
    >would be 1 mv. I will be using a 204.8 mv external refernece for my
    >current readings, giving me a range of -102.4 to +102.4 mv, with a
    >resolution of 102.4/2048 mv, whatever that turns out to be! My 204.8
    >mv reference will be obtained by a voltage divider from the 5.12
    >output of the regulator.
    >
    >For noise rejection, try a low pass filter on the ADC input.
    >Depending on the ADC you choose, a 1k to 10k low noise resistor in
    >series with the input shouldn't affect the reading since the input
    >current is so very small. Put a small capacitor from the ADC input to
    > the chip's ground pin. Cap size will depend on the frequence range
    >of your signal. You want to filter out the higher frequencies as much
    >as possible.
    >
    >Finally, don't rely on a single reading. Take several and average them.
    >
    >Good luck!
    >
    >Russ
  • ArchiverArchiver Posts: 46,084
    edited 2004-02-08 20:55
    The 1x vs 10x probe work this way: The 1x is essentially a direct
    connection between the probe tip and the scope's input ami;ifier. The
    This is generally a 1 megohm load. The 10x setting places a 9 megohm
    resistor in seriew with the signal, thous making a 10:1 divider. The
    series resistor has a trimmer capacitor in parallel with it to
    compensate for the capacitance of the cable and scope input. In
    general, use the 10x setting because the 1x will place a capacitive
    load on your source, which means it could be masking the source
    sigmal/noise.

    You wrote: "With time/div set at .2uS I get about 5 peaks per div ..."

    This implies that your noise is 0.04us per cycle, which works out to
    about 25 megahertz. Seems to about the range of a cpu's clock. To
    reduce the noise, put the entire ADC, including a power supply that is
    separate from the computer, in a shielded box, with the box connected
    to ground.

    I have a Techtronix 464 scope. Got it on eBay for $200 or so. It's a
    beauty!

    --- In basicstamps@yahoogroups.com, PatM <pmeloy@s...> wrote:
    > What a coinkidink! Having just (finally) bought an oscilloscope, I
    dug out
    > my TLC2543 circuit this weekend and I've spent the last two days

    trying
    > every noise reduction method (and locations for those methods) that
    I knew.
    >
    > I'm using a 1.024 reference voltage so thats 0.25mv per step on the ADC
    > (1024/4096). Going directly from my opamp to the TLC2543 with no noise
    > reduction other than decoupling caps on the power pins, I was getting
    > readings fluctuating by +/- 100 or so - REALLY jumpy.
    >
    > I tried many, many things and checked the scope. Lots of things helped a
    > bit, several things actually made it worse! The best result I got
    was when I
    > added an RC filter between the opamp output and ADC input and now
    I've got
    > fluctuations of +/- 1. Considering the error spec'd on the datasheet
    is 1lsb
    > anyway, thats about the best performance I can expect from this ADC!
    >
    > Anyway, try this - route your signal through a 1k (or higher)
    resistor to
    > the ADC pin. Next run a 0.1uF cap from the ADC pin to ground. The
    closer to
    > the ADC the two components are, the better.
    >
    > Thats it, simple, cheap, but man does it work wonders!
    >
    > Note: The cap may tend to keep your signal showing a little higher
    than a
    > DMM would read - you'll have to compensate for that in software if its
    > important to you.
    >
    > Oh yeah, I should tell you the scope readings too. Bear with me -
    new to the
    > scope and I still haven't quite figured out the 1x/10x stuff. I
    assumed that
    > when the probe is set to 10x, the reading on the scope would be
    1/10th of
    > the real value. When I have a wave that shows as 5mV high (volts/div
    set at
    > 5, 1x on probe - wave spans one vertical div) then switch the probe
    to 10x,
    > the wave ends up showing as 2.5mv... So I'm not quite sure how to
    interpret
    > the volts/div and probe setting now...
    >
    > Anyway. With no RC filter, probe at 1x, volts/div at 20mv, the wave
    spans 3
    > divs - 60mV(?). Add in the RC filter and, at those settings, I see a
    solid
    > flat line! I have to switch down to 5mV/div and then the wave spans one
    > vertical division. With time/div set at .2uS I get about 5 peaks per div
    > (only a 20MHz scope - I aint rich yet [noparse]:)[/noparse].
    >
    > If you can afford it, get yourself a scope. Its great being able to
    actually
    > see what effects various things have on your circuit!
    >
    > >
    Original Message
    > > From: Dennis O'Leary [noparse][[/noparse]mailto:doleary@e...]
    > > Sent: February 7, 2004 3:19 PM
    > > To: basicstamps@yahoogroups.com
    > > Subject: RE: [noparse][[/noparse]basicstamps] Reading Small Voltages
    > >
    > >
    > > Use an op amp to amplify the sensor signal with a gain that allows the
    > > sensor range to span 0 to 4 volts. Send this amplified signal
    through a
    > > 12-bit A/D converter, where 2^12 = 4096, and use a reference value for
    > > the A/D = 4.096 volts. The Maxim MAX187 is one A/D example among
    others
    > > with this reference built in. The resulting Least Significant Bit
    (LSB)
    > > reading is then = 4 volts / 4096, or close to 1 mV. The MAX187 has a
    > > serial output for sending data to a Stamp.
    > >
    > > You may have to adjust the sensor's output to zero, before amplifying,
    > > which could be done with another op amp.
    > >
    > > Dennis
    > >
    > >
    Original Message
    > > From: Pablo Roufogalis L. [noparse][[/noparse]mailto[noparse]:p[/noparse]roufo@c...]
    > > Sent: Saturday, February 07, 2004 2:49 PM
    > > To: basicstamps@yahoogroups.com
    > > Subject: [noparse][[/noparse]basicstamps] Reading Small Voltages
    > >
    > >
    > > Hello again.
    > >
    > > Can a Stamp read voltages as small as 1mV, and discriminate between
    > > signals that differ in magnitudes similar to 1mV?
    > >
    > > If not, is there a workaround that would allow me to use small
    > > voltage values in the Stamp programming?
    > >
    > > Perhaps a serial interface that would feed the values to the stamp?
    > >
    > > I want to detect angular displacement using a Honeywell HMC1501
    > > displacement sensor. Info is is at www.digikey.com, search for
    > > HMC1501.
    > >
    > > Thanks in advance.
    > >
    > >
    > >
    > > To UNSUBSCRIBE, just send mail to:
    > > basicstamps-unsubscribe@yahoogroups.com
    > > from the same email address that you subscribed. Text in the Subject
    > > and Body of the message will be ignored.
    > >
    > > Yahoo! Groups Links
    > >
    > >
    > >
    > >
    > >
    > >
    > >
    > >
    > >
    > > To UNSUBSCRIBE, just send mail to:
    > > basicstamps-unsubscribe@yahoogroups.com
    > > from the same email address that you subscribed. Text in the
    > > Subject and Body of the message will be ignored.
    > >
    > > Yahoo! Groups Links
    > >
    > >
    > >
    > >
    > >
    > >
  • ArchiverArchiver Posts: 46,084
    edited 2004-02-08 21:25
    Hello and many thanks to all for the info and suggestions.

    I'm getting cold feet regarding this approach. Somewhat disappointed,
    I'll go back to optical gratings and high/low signals.

    If I don't get the results I need, I will try the Op-amp/ADC approach
    then, but at this point it doesn't seem to be a promising path. The
    noise figures mentioned here are similar to what I'll get as a signal
    from the device.

    Thanks again to all.
  • ArchiverArchiver Posts: 46,084
    edited 2004-02-08 22:36
    Thank you very much for your comments, Dr. Allen. You are quite
    correct. I have read so many data sheets in the past few weeks that
    they are getting all jumbled up in my mind! Yes, the MAX1270 appears
    to be a better choice for my application.

    I can amplify the 100 mv levels by 50x or so easily enough. Only one
    of my sources will actually be bi-polar, and this can be handled by
    biasing the op-amp appropriately (I think). I'm not used to using
    these 5-volt only devices, especially op-amps! In the "old days" I'd
    simply sum the input with a +100 mv level at the op-amp's - input
    terminal, or feed it into the + input. Not sure which I'd do.

    Glad it's not off the drawing board yet!

    Russ


    --- In basicstamps@yahoogroups.com, Tracy Allen <tracy@e...> wrote:
    > Russ,
    >
    > I think you have a couple of misconceptions about how the TLC2543
    > works that will need to be cleared up before you build anything or
    > write your Stamp program or the Javelin class function. Read the
    > data sheet very carefully!
    >
    > -- The chip does not have an internal reference. The reference for
    > the chip is always the voltage applied to the external ref- and ref+
    > pins. So if you need to switch between two different reference
    > voltages, you will have to provide an external switch to do it.
    > (There are some A/D converters that do provide an internal reference,
    > for example, the TLV2556 does but the TLC2543 does not. The
    > MAX1238/39 has a choice of internal reference to the power supply,
    > internal to 4.096 volts, or externa. The MAX1270 has a selection of
    > references and does in fact accept bipolar inputs below Vss when
    > running on a single 5 volt supply.)
    >
    > -- The minimimum reference voltage stated on the TLC2543 data sheet
    > for 12 bit resolution is 2.5 volts, from ref+ to ref-. Thus a 0.2084
    > volt reference is way below the specification, and you probably can't
    > get 12 bits of real resolution out of it. It does not hurt to try
    > though, and it will probably be pretty good.
    >
    >
    > -- Yes, the chip has a "bipolar" mode, but that does not mean it
    > will, for example, read voltages from -104.2 to +104.w when you apply
    > a 208.4 volt reference. What it means is
    > +104.2 volts input output a code of 0
    > 0 volts input is a code of -2047
    > +208.4 volts input is a code of +2047
    > in twos complement. You would have to offset your truly bipolar
    > input to take advantage of that. It might be possible to use a
    > reference of -104.2 millivolts to ref- and +104.2 millivolts to ref+,
    > and that would give you the input span you need. The data sheet does
    > specify a common mode input range for the ref- down to 0.1 volt below
    > the Vss supply. But you would have to try it to be sure there isn't
    > some other gotcha'. It is not an application that is explicitly
    > treated in the data sheet, and it is always dangerous to assume that
    > a chip can do something that is over the edge of its intended design.
    > You could also try the converter with Vss offset to a negative
    > voltage. -- Or evaluate a different ADC such as the MAX1270, one
    > designed for signals below Vss.
    >
    > -- Be sure to use protection resistors in the signals paths! Be
    > careful with with bypassing and with the analog ground path in
    > relation to ref-, to avoid noise.
    >
    > -- I have Stamp demo code for the TLC2543 posted at
    > <http://www.emesystems.com/OL2tlc2543.htm>
    >
    > -- regards,
    > Thomas Tracy Allen Ph.D.
    > electronically monitored ecosystems
    > mailto:tracy@e...
    > http://www.emesystems.com
    >
    >
    >
    > >--- In basicstamps@yahoogroups.com, "Pablo Roufogalis L."
    > ><proufo@c...> wrote:
    > >> Hello again.
    > >>
    > >> Can a Stamp read voltages as small as 1mV, and discriminate between
    > >> signals that differ in magnitudes similar to 1mV?
    > >>
    > >> If not, is there a workaround that would allow me to use small
    > >> voltage values in the Stamp programming?
    > >>
    > >> Perhaps a serial interface that would feed the values to the stamp?
    > >>
    > >> I want to detect angular displacement using a Honeywell HMC1501
    > >> displacement sensor. Info is is at www.digikey.com, search for
    > >> HMC1501.
    > >>
    > >> Thanks in advance.
    > >
    > >Pablo,
    > >
    > >I have a similar problem. I need to measure a -100 to +100 mv range
    > >from a DC current shunt. I've been told this can be done using a
    > >TLC2543 (Texas Instruments) ADC. This chip features 11 analog input
    > >channels, an external reference input, low internal noise, and a
    > >three-wire interface. It also has a bi-polar conversion mode, which
    > >has a range of 1/2 of the reference voltage. So, if you used a 100 mv
    > >reference, you would be able to convert -50 to +50 mv. Allegedly. I
    > >have the chip but haven't tried using it yet. It costs $9 from
    > >HobbyEngineering.
    > >
    > >I intend to power the chip using a UA723 precision voltage regulator
    > >(Texas Instruments). By setting the regulator's output to 5.12 volts,
    > >the finest resolution when using the TLC2543's internal reference
    > >would be 1 mv. I will be using a 204.8 mv external refernece for my
    > >current readings, giving me a range of -102.4 to +102.4 mv, with a
    > >resolution of 102.4/2048 mv, whatever that turns out to be! My 204.8
    > >mv reference will be obtained by a voltage divider from the 5.12
    > >output of the regulator.
    > >
    > >For noise rejection, try a low pass filter on the ADC input.
    > >Depending on the ADC you choose, a 1k to 10k low noise resistor in
    > >series with the input shouldn't affect the reading since the input
    > >current is so very small. Put a small capacitor from the ADC input to
    > > the chip's ground pin. Cap size will depend on the frequence range
    > >of your signal. You want to filter out the higher frequencies as much
    > >as possible.
    > >
    > >Finally, don't rely on a single reading. Take several and average
    them.
    > >
    > >Good luck!
    > >
    > >Russ
  • ArchiverArchiver Posts: 46,084
    edited 2004-02-09 13:57
    Assuming that your span is 5 volts, you can use a 12-bit ADC (like the
    LTC1298) and get 0.2 mV resolution. If you need more resolution, get a
    16-bit ADC.

    -- Jon Williams
    -- Applications Engineer, Parallax
    -- Dallas Office


    Original Message
    From: Pablo Roufogalis L. [noparse]/noparse]mailto:[url=http://forums.parallaxinc.com/group/basicstamps/post?postID=B8PoEhcnhdD1kKh4HjumyOQM6N2P_Oi1CN4KaaNRQ3boTcEb3cvstjoxKwQ2d0fKxvl6ezTH37SsZw]proufo@c...[/url
    Sent: Saturday, February 07, 2004 4:49 PM
    To: basicstamps@yahoogroups.com
    Subject: [noparse][[/noparse]basicstamps] Reading Small Voltages


    Hello again.

    Can a Stamp read voltages as small as 1mV, and discriminate between
    signals that differ in magnitudes similar to 1mV?

    If not, is there a workaround that would allow me to use small
    voltage values in the Stamp programming?

    Perhaps a serial interface that would feed the values to the stamp?

    I want to detect angular displacement using a Honeywell HMC1501
    displacement sensor. Info is is at www.digikey.com, search for
    HMC1501.

    Thanks in advance.



    To UNSUBSCRIBE, just send mail to:
    basicstamps-unsubscribe@yahoogroups.com
    from the same email address that you subscribed. Text in the Subject
    and Body of the message will be ignored.

    Yahoo! Groups Links







    This message has been scanned by WebShield. Please report SPAM to
    abuse@p....
  • ArchiverArchiver Posts: 46,084
    edited 2004-02-09 13:59
    Whoops ... pressed the wrong key on the calculator. A 12-bit ADC over a
    5-volt range will give you 1.2 mV resolution. As indiciated in another
    post, if you set your reference to 4.096 volts you can set the volts/bit
    to 1 mV.

    -- Jon Williams
    -- Applications Engineer, Parallax
    -- Dallas Office


    Original Message
    From: Jon Williams
    Sent: Monday, February 09, 2004 7:58 AM
    To: basicstamps@yahoogroups.com
    Subject: RE: [noparse][[/noparse]basicstamps] Reading Small Voltages


    Assuming that your span is 5 volts, you can use a 12-bit ADC (like the
    LTC1298) and get 0.2 mV resolution. If you need more resolution, get a
    16-bit ADC.

    -- Jon Williams
    -- Applications Engineer, Parallax
    -- Dallas Office


    Original Message
    From: Pablo Roufogalis L. [noparse]/noparse]mailto:[url=http://forums.parallaxinc.com/group/basicstamps/post?postID=E9K2mxF9Pbrpf9EjiaCUhXGKmiX-lw-OcmR3GwROIaziHKRCKMr-WcIHOm6eQ1g_avdFqmFWCEzeKw]proufo@c...[/url
    Sent: Saturday, February 07, 2004 4:49 PM
    To: basicstamps@yahoogroups.com
    Subject: [noparse][[/noparse]basicstamps] Reading Small Voltages


    Hello again.

    Can a Stamp read voltages as small as 1mV, and discriminate between
    signals that differ in magnitudes similar to 1mV?

    If not, is there a workaround that would allow me to use small
    voltage values in the Stamp programming?

    Perhaps a serial interface that would feed the values to the stamp?

    I want to detect angular displacement using a Honeywell HMC1501
    displacement sensor. Info is is at www.digikey.com, search for
    HMC1501.

    Thanks in advance.
  • ArchiverArchiver Posts: 46,084
    edited 2004-02-09 23:09
    Thanks Jon.

    I will use an optical grating first, with simple high/low logic,
    hoping it will do all I need.

    Thanks again.
Sign In or Register to comment.