Shop OBEX P1 Docs P2 Docs Learn Events
Electrical Gurus Needed :) ---- Measuring The Millivolt With High Accuracy — Parallax Forums

Electrical Gurus Needed :) ---- Measuring The Millivolt With High Accuracy

idbruceidbruce Posts: 6,197
edited 2018-05-04 12:16 in Propeller 1
As many of already know, I like the idea of new concepts. However, since most of my time has been devoted to care of my bedridden mother, I rarely have time to think outside the box. As we all know, life goes on, regardless of our current circumstances. Well... The other day I came across a real world problem that requires a real world solution, and I have most of it figured out, except for the circuitry to make it work.

I want to build a probing device, capable of measuring 25,000 mV and if that is impossible, due to silicon available, I would like to make a reader with auto ranging 10.0 mV.

I have been exploring this possibility for several days now, and I would like to know what the gurus have to say about making this work with a P1.

I am open to various IC designs, regardless of cost, as well as designs made with discreet components. The main requirement is that the accuracy be compatible with a well respected Fluke meter.

Any takers?
«13456

Comments

  • Something like this, maybe?

    https://www.aliexpress.com/item/ADS1115-16-Bit-ADC-4-Channel-Channel-Analog-to-Digital-Conversion-Module-ADJUSTABLE/32787199580.html

    You will need a resistive divider ahead of it to get the full 25V range. But it should give you sub-millivolt resolution. Precision and accuracy will depend upon how carefully you adhere to good analog practices.

    -Phil
  • Heater.Heater. Posts: 21,230
    Get a moshimeter: https://moosh.im/mooshimeter

    Higher accuracy and resolution than a Fluke. Higher sampling rate as well.

    If you want all that but working with a P1 then I guess you are into op-amps and ADC's and all that.

    Perhaps you could specify the requirement more clearly. 25,000 mV is 25 Volts. What accuracy and resolution do you need there?

  • Heater

    Come on.... I have been here a while... I thought I was being pretty darn specific...

    25V down to the millivolt!

    Oh VDC, my bad :)
  • Phil

    I would really like to do it with the ADS1115, because I already have the P1 software for it, but I lack the circuitry for the accuracy.
  • jmgjmg Posts: 15,173
    idbruce wrote: »
    I want to build a probing device, capable of measuring 25,000 mV and if that is impossible, due to silicon available, I would like to make a reader with auto ranging.

    Much information is missing, - you need to specify the LSB you need, do we infer you want 1mV LSB at 25V ?
    Next info needed is Stability and Drift, and Precision of reference, as well as reading rate.

    eg 25,000 to 1mV is 40ppm LSB, and ~15b of ADC precision.

    You can get single-digit ppm references, and 15b of true precision is not a big problem these days. Almost any 24b ADC will give 18~20 bits that are useful, better ones of course give more :)

    One low cost example, in a easy to use SO16N package would be NAU7802 $1.31/100 (+ external reference)

    References start from sub 20c/100 for ±0.5% 20ppm/°C Typical, but you probably want to move further up the curve... which goes UP a long way ;)

    If we look for better than 0.1% and better than 10ppm, the prices start at
    MAX6071BAUT25 ~$1.50/100 ±0.08% 8ppm/°C 4.8µVp-p
    MAX6070AAUT25+T ~ $2.21/100 ±0.04% 6ppm/°C 4.8µVp-p
    LM4140ACM-2.0/NOPB ~$3.50/100 ±0.1% 3ppm/°C 2.2µVp-p
    MAX6350CSA $9.56/100 ±0.02% 1ppm/°C 3µVp-p
    VRE3025JS Apex Microtechnology $80.09/100 ±0.01% 0.6ppm/°C 1.5µVp-p 3µVrms




  • tonyp12tonyp12 Posts: 1,951
    edited 2018-05-03 22:11
    So you need 25'000 steps, 16bit is 65000 steps and LSB is normally so so, that leaves pretty accurate 15bit or 32000 steps more than what you need.
    But you would need to get the 0-25V down to 0 to 5V (or 0 to 2V etc) to within the range of the ADC, I guess 0.1% resistors divider is pretty accurate but draws current,
    and if trying to combat that with high resistor values and the ADC's source impedance will skew the result, so try 4.7kΩ and 1kΩ

    With a 4chan ADC, you could hook up a 0.1% voltage reference on one channel to calibrate it each time:
    https://www.mouser.com/ProductDetail/Microchip-Technology/MCP1501T-12E-CHY?qs=sGAEpiMZZMuBck1X%2b7j9fI3/Im/4so8enY8q1CjCEZA=

    More stuff here:
    https://electronics.stackexchange.com/questions/42710/how-to-read-high-voltages-on-microcontroller
  • The INA219 is easy to use. I've put it into two industrial designs and it's worked well. Being and I2C part it can share the EEPROM bus pins.
  • jmg

    As usual, the guru speaks above my understanding :) But... I try to retain what the teacher is teaching :)

    Basically what I need in high accuracy is rounded to the nearest 1/10.

    So for example 25000.0mV (max), but high accuracy.

    Of course, I could be delirious, but this is what I think I need.
  • jmgjmg Posts: 15,173
    ...and to divide that 25V down to what can be read, you'll need some decent, serious resistors - not from the resistor bins...

    That 40ppm LSB means you need low drift resistors, and one example might be
    RG2012L-333-L-T05 Susumu RES SMD 33K OHM 0.01% 1/10W 0805 $2.88/100 33 kOhms ±0.01% 0.1W, 1/10W ±2ppm/°C

    You can pay more and get down to ±0.2ppm/°C , which you might choose to do, if you had selected one of the top-end references :)
  • jmg

    Okay.... So can I get by with the ADS1115 as Phil suggests, with some very high quality resistors for a voltage divider, or should I pursue another avenue?
  • jmgjmg Posts: 15,173
    idbruce wrote: »
    jmg

    As usual, the guru speaks above my understanding :) But... I try to retain what the teacher is teaching :)

    Basically what I need in high accuracy is rounded to the nearest 1/10.

    So for example 25000.0mV (max), but high accuracy.

    Of course, I could be delirious, but this is what I think I need.

    So you are saying you want 0.1mV LSB ? - that's 17.93 bits, so not impossible in silicon, but it's also a LSB of now 4ppm, so those drift numbers of Reference and Resistors matter a lot - otherwise that last digit just waves in the breeze.

    One single degree of temperature change, can easily equate to 5 counts of reading, if you chose a cheapest ±0.5% 20ppm/°C ref.

    If we take the two top end references,
    MAX6350CSA $9.56/100 ±0.02% 1ppm/°C 3µVp-p
    VRE3025JS Apex Microtechnology $80.09/100 ±0.01% 0.6ppm/°C 1.5µVp-p 3µVrms

    that 1ppm version needs 4 degree change to move 1 count, and the 0.6ppm one, needs ~ 7 degrees.
  • idbruceidbruce Posts: 6,197
    edited 2018-05-03 22:33
    jmg
    So you are saying you want 0.1mV LSB ? - that's 17.93 bits, so not impossible in silicon, but it's also a LSB of now 4ppm, so those drift numbers of Reference and Resistors matter a lot - otherwise that last digit just waves in the breeze.

    One single degree of temperature change, can easily equate to 5 counts of reading, if you chose a cheapest ±0.5% 20ppm/°C ref.

    If we take the two top end references,
    MAX6350CSA $9.56/100 ±0.02% 1ppm/°C 3µVp-p
    VRE3025JS Apex Microtechnology $80.09/100 ±0.01% 0.6ppm/°C 1.5µVp-p 3µVrms

    that 1ppm version needs 4 degree change to move 1 count, and the 0.6ppm one, needs ~ 7 degrees.

    If you end up with more accurate results than a Fluke meter... We already know you are an electrical genius :)

    Tell me what to purchase and it will be purchased and we will use this thread as a testing bed for my project (of course I am assuming upon your generosity to share, what you have already shared, which of course is based upon your brilliant understanding of electrical circuitry).

    Just for the record:
    I respect your electrical opinion the most.
    I respect koroneko's opinion for the most overall P1 knowledge.
    and I respect Jason Dorie's opinion as it applies to C programming.

    I could be wrong in my assessment, but that is where my head is.
  • jmgjmg Posts: 15,173
    idbruce wrote: »
    jmg

    Okay.... So can I get by with the ADS1115 as Phil suggests, with some very high quality resistors for a voltage divider, or should I pursue another avenue?
    It all depends how important that LSB is to you... :)

    16 bits of true precision, is ~15ppm LSB, or 0.381mV in your case - if that is ok, you can select a 16b ADC.

    What reading rate do you need, and do you need mains rejection ?

  • idbruceidbruce Posts: 6,197
    edited 2018-05-03 22:44
    0.381mV is not acceptable

    EDIT: I need it to the nearest 1/10 of a mV.
  • jmgjmg Posts: 15,173
    idbruce wrote: »
    If you end up with more accurate results than a Fluke meter...

    hehe, that depends very much on which Fluke meter you mean... :)

    eg I can find , for circa US$1600
    http://en-us.fluke.com/products/bench-instruments/8845a-8846a-6-5-digit-precision-multimeters.html
    6.5 digit resolution Basic V DC accuracy of up to 0.0024%
  • tonyp12tonyp12 Posts: 1,951
    edited 2018-05-03 22:58
    You need 0.1mV steps?, thought you just wanted nearest 1mV.

    Here is a 20bit in a easy soldering 1.27mm pitch soic:
    http://www.analog.com/media/en/technical-documentation/data-sheets/2420f.pdf

    But have extra long conversation rate of 7.5 samples/second, you did not say how many samples per seconds you need.
  • tonyp12
    You need 0.1mV steps

    That is exactly what I need, but highly accurate.
  • Heater.Heater. Posts: 21,230
    1mv in 25 volts is a resolution of 0.004%

    I don't think this is going to be easy. Even with a 16 bit ADC.

    Accuracy is a whole other story,

    Perhaps it would help if you said what it is you want to measure, in what environment?
  • jmgjmg Posts: 15,173
    edited 2018-05-03 23:03
    idbruce wrote: »
    0.381mV is not acceptable

    EDIT: I need it to the nearest 1/10 of a mV.

    OK, so that means you need 18 bits or better, so you need a ADC above 16b - what reading rate ?

    I'd think it could still be a good idea to include a TI INA2xx series part (mentioned above) in the design as a simple sanity check.
    The best precision INA2xx part I think is the INA226 / INA233, which specs 16b ADC, 0.02%, and that includes the divider resistors. ie that's better than most hand held meters, and i2c.


    JonnyMac wrote: »
    The INA219 is easy to use. I've put it into two industrial designs and it's worked well. Being and I2C part it can share the EEPROM bus pins.

    The appeal of these parts, is all the work is done, in one small package. The INA233 specs 36V DC reading, and typical errors of 0.02%, with a 1.25mV LSB.
    So not good enough for the 0.1mV target, but easy to include as a 'sanity check' device. (eg you could use this part to calibrate a lower cost resistor divider)
    This family of parts does need ~ 20uA of Vin ability (since they target battery monitor) - the OP has not said what the 25V DUT comes from ?

  • Do you really need 0.1 mV steps at the full 25V range? Or just at lower ranges, say, 0-1V, 0-2V, 0-5V, etc?

    -Phil
  • Heater.Heater. Posts: 21,230
    edited 2018-05-03 23:16
    What?

    1/10th of a millivolt over a 25 volt range is about 0.0004%

    This aint going to happen. Even with a 16 bit or more ADC. There is all that analog stuff to worry about.

    Does anyone here have a meter that can tell the difference between 25.0000v and 24.9999v ?

    How much did you pay for it?





  • jmgjmg Posts: 15,173
    Heater. wrote: »
    Does anyone here have a meter that can tell the difference between 25.0000v and 24.9999v ?
    How much did you pay for it?

    See my link above to a Fluke 6.5 Digit DMM - yes, not cheap.
    I do not have one of those, but I do have a HP 3478a, which is 5.5 digits, and I see 60 listed on eBay...

  • Phil
    Do you really need 0.1 mV steps at the full 25V range? Or just at lower ranges, say, 0-1V, 0-2V, 0-5V, etc?

    You got me to double check things, and now I realize, folks are going to hate me :)

    In my defense, I am under more pressure than most folks, so please forgive me.

    Although devulging more information than I wanted to, I think it is only fair, considering my blunder, to share more valid information.

    The fact of the matter is that I am using voltage drop to monitor current draw.

    When I stated 25,000 mV earlier in the post, I actually want to measure 25,000 mA, but I intend to do that through voltage drop. The voltage drop will be measured in mV, to the nearest 10th.


  • jmgjmg Posts: 15,173
    idbruce wrote: »
    When I stated 25,000 mV earlier in the post, I actually want to measure 25,000 mA, but I intend to do that through voltage drop. The voltage drop will be measured in mV, to the nearest 10th.

    We still do not know your full scale here. ie what resistor that 25A flows thru ?
    Grab the data on the INA233 mentioned above, as that has both Voltage and Current channels, and it has a current Shunt span of –81.9175 ~ 81.92 mV, with a LSB of 2.5 μV
    (so a whole lot more precise than your 100 μV)
    Highest precision here would be with a ~ 3.2 milliohm resistor (80mV at 25A), or you might choose 2.5 milliohms to give you a 1mA LSB for 25A at 62.5mV drop, fullscale is 32.768A )

  • I use the LF356 OP configured to the 1MA analog meter output. Instead of the 1 ma meter I put the output across a 10k resistor then feed it to a INA117 amp. Works great for shunts just add input divider for higher voltage.
    1743 x 948 - 197K
  • Heater.Heater. Posts: 21,230
    This is worse.

    If you are going to measure current via a voltage drop across a sense resistor now you need a resistor that is 0.0004% accurate as well.

    You may have noticed how most meters specify less accuracy for current than volts.

    What are you trying to do? There may be another way.
  • jmgjmg Posts: 15,173
    edited 2018-05-04 02:08
    Heater. wrote: »
    ..
    If you are going to measure current via a voltage drop across a sense resistor now you need a resistor that is 0.0004% accurate as well.

    Yes, but it seems current sense R's are getting more available, I can find this for example

    Y14730R00500B0R Vishay Foil Resistors RES 0.005 OHM 0.1% 3W 3637 439 - Immediate $28.66/1 5 mOhms ±0.1% 3W ±5ppm/°C


    and at 25A, that's hitting 3.125W, so not quite low enough..

    2mOhms is only showing at ±25ppm/°C , and that hits 1.25W at 25A

    There is Y14880R00200B9R SMD 0.002ohms 0.1% 3w $6.19/250 ±15ppm/°C



    Looks like lowest offered at that better ±5ppm/°C is 3mOhms

    Y14730R00300B0R Vishay Foil Resistors RES 0.003 OHM 0.1% 3W Standard Lead Time 22 Weeks $7.41/1k 3 mOhms ±0.1% 3W ±5ppm/°C

    So maybe 2 (or more) of those in parallel can turn amps into volts.. with low enough drift & reasonable precision.

    google also finds these https://www.mouser.com/datasheet/2/427/wsbm8518-244388.pdf
    Something you use a spanner to mount !
    Claims sub 20ppm and sub milliohm values, but you do need to calibrate the initial resistance.
    500uOhms is 312mW, on something that large, that's going to be a modest temperature change.

    If you are looking for changes/variations only, that might do ?

  • Or I use a bench top fluke, keysight etc. then bring in the displays via the RS232
  • Heater.Heater. Posts: 21,230
    Vishay make some great stuff. But 0.005 Ohms at 0.1% does not get us close to the accuracy Bruce requires.

    Now, they might be workable, if you can get the finished machine calibrated at NIST.

    Getting the resolution would be easier, still not easy.

  • Peter JakackiPeter Jakacki Posts: 10,193
    edited 2018-05-04 02:17
    Ok, I have a little experience in these matters but it seems as if a magic chip and resistors can solve everything. This is so wrong, as you can do this with very simple circuitry or expensive chips but it is all useless unless you can get the pcb layout and ground correct, as well as a stable reference and power supply. For really low noise think multi-layer pcb.

    Now as for the shunt resistor I have actually clamped into huge bus bars and calibrated current for that section but this was with 3-phase AC mains where you can also use current transfomers. But if you are handling DC then using the conductor as the shunt is possible as mentioned. It doesn't hurt to mesaure temperature at the same time as you may need to compensate for that too but your calibration should take that into account anyway.

    Multimeters typically use dual-slope conversion which is slow but cancels out errors. I have used 24-bit A/D chips too but even with really good layouts etc you lose lsbs. However, you can average and filter your readings to clean up the lsb quantitization noise as well as the electrical noise.

    The other problem is that your requirements are a "secret" so you can't tell us every little detail where any one detail might be a game changer.
Sign In or Register to comment.