element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet & Tria Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • About Us
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      • Japan
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Vietnam
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Personal Blogs
  • Community Hub
  • More
Personal Blogs
Frank Milburn's Blog Even More on Current Sources and a Kelvin (4-Wire) Milliohm Meter
  • Blog
  • Documents
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
  • Share
  • More
  • Cancel
Group Actions
  • Group RSS
  • More
  • Cancel
Engagement
  • Author Author: fmilburn
  • Date Created: 3 Oct 2018 6:27 AM Date Created
  • Views 6748 views
  • Likes 9 likes
  • Comments 51 comments
  • current source
  • milliohm measurement
  • op amps
Related
Recommended

Even More on Current Sources and a Kelvin (4-Wire) Milliohm Meter

fmilburn
fmilburn
3 Oct 2018

Introduction

This is the third post on the development of an inexpensive but reasonably accurate meter for measuring resistance in the milliohm range. In the first post a simple current source was described that created a 10 mA current  across a resistor that allowed the voltage drop to be measured using a multimeter and the resistance calculated.  A number of helpful suggestions were received and I ordered additional components based on that feedback.  In the second post a block diagram for the instrument was introduced and initial measurements were made with a microcontroller using the built-in ADC.  Some, but not all of the ordered parts have been received now and this post will update progress as I don't want John's popcorn to get stale.

 

A Change to the Design Objectives

I originally specified that the current to the DUT would not be greater than 10 mA.  Testing to date has indicated that meeting the desired accuracy will be difficult without amplification of the voltage difference across the DUT which adds some complexity and cost.  Accordingly, the specification is being changed to 100 mA across the DUT.

 

Component Status

First, I have to admit to making a mistake in the orders.  The MCP6N16 instrument amp comes in three versions with different minimum gain.  I wanted the version with minimum gain of 1 and ordered the version that has a minimum gain of 100.  Doh!  Always read the datasheet carefully.  For now I am substituting the MAX9619.  I also ordered a precision LDO voltage source from the TI store which has not been shipped yet.  Usually they are pretty quick. The volt meter I plan to use is still in shipment from China.

 

100 mA Current Source

This is the revised circuit, the only real changes being the addition of a MOSFET to handle the increased current and a new precision 0.1% 10 ohm resistor to set the current.  I am using an inexpensive ANENG multimeter to measure voltage but it does agree well with my bench meter.

image

And here are the results:

image

The tests are being performed the same way as previously using a coil of wire that has been center tapped.  The measured resistance of the full length of wire is 0.092 ohms as seen on top while the measured resistance of half the length is 0.046 ohms - exactly half.

 

Next Steps

The inexpensive voltmeter needs at least 4.5 V to operate so I will probably use either 4 x 1.5 V AAA batteries or USB power and a precision voltage source to set the current.  If I decide to use a microcontroller instead of a voltmeter then a 3V3 LDO will be used to power that.  The parts for Kelvin probes are on order.  Progress depends on the postal service now...

 

Past Posts on this Topic

More on Current Sources and a Kelvin (4-Wire) Milliohm Meter

Testing Current Sources for a Kelvin (4-Wire) Milliohm Meter

  • Sign in to reply

Top Comments

  • fmilburn
    fmilburn over 7 years ago in reply to shabaz +5
    Hi Shabaz, An update... I read the datasheet thoroughly and set up the LM334 as a temperature compensated current source as described in the datasheet. A IN4148 was substituted for the diode they used…
  • shabaz
    shabaz over 7 years ago in reply to fmilburn +5
    Hi Frank, That's very interesting! Is it figure 15 in the datasheet? There is a modification suggested here: https://www.electronicdesign.com/analog/what-s-all-lm334-stuff-anyhow that looks like it could…
  • fmilburn
    fmilburn over 7 years ago in reply to shabaz +5
    Shabaz,, Yes, using the circuit in Figure 15 with 1% resistors and the diode noted above. I am at the limit of the resolution of my multimeter and there was some bouncing back and forth so am not sure…
Parents
  • shabaz
    shabaz over 7 years ago

    Hi Frank!

     

    I'm wondering if it is possible to use a dual-stage design, i.e. separate the current source from the final signal output stage, i.e. use an op-amp for the voltage amplification across the load, but perhaps with a lower-current source, since 100mA might make it more difficult, because the reference resistor will get warm and maybe drift. That op-amp you mention (in a min gain of 10 version) could also be used for the second stage.

     

    Any of the current source ideas could be used for the first stage, but I think the LM334 would be attractive (but means your first stage would not be an op-amp, so depends if this is a hard limitation or not : ) because the power in the resistor is really small (since the internal reference inside it is 68mV), i.e. if a 6.8ohm resistor is used, power dissipated in the resistor is 0.68mW.  Then for the desired 1mohm to 10 ohm range, if the meter is 0-2V (as an example) then a gain of 20 is needed (i.e. compatible with the min. gain of 10 version). Or for an op-amp version, it could be the same as the circuit you have now of course (with the reference resistor value changed). These are just some ideas, maybe unnecessary if the resistor won't drift much (or if you find in the end that less than 100mA is fine too, for the particular multimeter you use).

    • Cancel
    • Vote Up +4 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • fmilburn
    fmilburn over 7 years ago in reply to shabaz

    Hi Shabaz,

     

    An update... I read the datasheet thoroughly and set up the LM334 as a temperature compensated current source as described in the datasheet.  A IN4148 was substituted for the diode they used.  I came up with nonstandard resistor values so I put the closest values I had in.  The initial test was about 2% off the desired 10 mA current (not unexpected based on what was in the datasheet) so R1 was adjusted by adding another resistor in parallel until within 1%.  Voltage was varied over the range of interest and here are the results for the full length of test wire:

    image

    Things look good above 2.5V input (the planned instrument will have at least 3V) but notice there is a slight rise in the measured current at 5V.  This may be due to temperature from increased voltage which the datasheet warns of or just increase of temperature as it heats up in time in still air.  I left it on for an hour at 5V and from that point on it was stable although I am unable to make measurements with the resolution I would like.

     

    I added another tap in my test wire at quarter length.  The results are:

    Full Length:  0.092 Ohms

    Half Length: 0.045 Ohms

    Qtr Length:  0.022 Ohms

     

    The accuracy appears to fall off as it nears the bottom of the multimeter range but all is as expected.  I will look into adding amplification next.

    • Cancel
    • Vote Up +5 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • shabaz
    shabaz over 7 years ago in reply to fmilburn

    I think you're right, one of the formulas needs the Vf entered I think.. what transistor are you planning to use? I know the 2N3904 is more popular in the US, whereas in the UK the BC547 is very common. But I have 2N3904 here too, so if that's the one you plan to use, then I'll use the same one here too!

    • Cancel
    • Vote Up +3 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • fmilburn
    fmilburn over 7 years ago in reply to shabaz

    I have the 2N3904 and will get started with that.

    • Cancel
    • Vote Up +3 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • fmilburn
    fmilburn over 7 years ago in reply to shabaz

    Hi Shabaz,

     

    I set up a spreadsheet to calculate R1 and R2 and input the values you determined empirically (nice tests by the way).  Here is an example of input and output:

    image

    Note that the calculated R2 / R1 is 7.8 and not the 10 from the datasheet.  I got pretty close to these values by using two resistors in series:

    R1 = 15 + 2.2 = 17.4 measured

    R2 = 100 + 33 = 134 measured

     

    I started with the diode I already had in the circuit, IN4148.  I measured the current through it to be 4.23 mA and the voltage drop to be 687 mV which is lower than the Vf your diodes are showing.  The  current out Iset (which ideally would be 10 mA) was 9.83 mA.  I plan to redo the calculations for the actual Vf and / or change out the diode but thought I would post this in case I don't complete it tonight.

     

    Since it is sensitive to Vf and maybe other stuff, I will try a trimmer pot to see how well that works also.

    • Cancel
    • Vote Up +4 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • fmilburn
    fmilburn over 7 years ago in reply to shabaz

    Hi Shabaz,

    Just noticed something....  The tempco in your test drops as the current goes up, but in the TI chart it goes up.  Am I misunderstanding?

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • fmilburn
    fmilburn over 7 years ago in reply to shabaz

    One final post for the night...  I put the numbers into the spreadsheet for the IN4148 - Here is the resulting calculation:

    image

    For R1 I am still using 17.4 Ohms so that is off a bit.  For R2 I took out the 33 Ohm resistor and replaced it with a 100 Ohm trim pot as the datasheet says to vary R2.  Then I fired up the circuit and adjusted R2 until the current was measuring exactly 10.00 mA.  The measured resistance for R2 was 130.5 Ohms and above it was 134 Ohms.  So a 3.5% change in resistance was needed to correct a 1.7% original error in current.  My feeling is that a trim pot is needed to insure better than 1% accuracy.  I am using a cheap trim pot but it seemed fairly stable.  The Newark site is down for me but it looks like you can get a single turn 50 ohm version with 100 ppm / deg C temperature coefficient for less than a dollar which I think would be acceptable.

     

    An observation on flexibility:  With the LM334  it would be difficult to change current settings to measure larger resistors.  It would be more straight forward to switch sensing resistors with a microcontroller if using the op amp approach.

     

    I spoke to my friend today who has all the nice equipment.  He is going to let me borrow his Keithley current meter.  At least it will look good in the pictures :-)

    • Cancel
    • Vote Up +5 Vote Down
    • Sign in to reply
    • More
    • Cancel
Comment
  • fmilburn
    fmilburn over 7 years ago in reply to shabaz

    One final post for the night...  I put the numbers into the spreadsheet for the IN4148 - Here is the resulting calculation:

    image

    For R1 I am still using 17.4 Ohms so that is off a bit.  For R2 I took out the 33 Ohm resistor and replaced it with a 100 Ohm trim pot as the datasheet says to vary R2.  Then I fired up the circuit and adjusted R2 until the current was measuring exactly 10.00 mA.  The measured resistance for R2 was 130.5 Ohms and above it was 134 Ohms.  So a 3.5% change in resistance was needed to correct a 1.7% original error in current.  My feeling is that a trim pot is needed to insure better than 1% accuracy.  I am using a cheap trim pot but it seemed fairly stable.  The Newark site is down for me but it looks like you can get a single turn 50 ohm version with 100 ppm / deg C temperature coefficient for less than a dollar which I think would be acceptable.

     

    An observation on flexibility:  With the LM334  it would be difficult to change current settings to measure larger resistors.  It would be more straight forward to switch sensing resistors with a microcontroller if using the op amp approach.

     

    I spoke to my friend today who has all the nice equipment.  He is going to let me borrow his Keithley current meter.  At least it will look good in the pictures :-)

    • Cancel
    • Vote Up +5 Vote Down
    • Sign in to reply
    • More
    • Cancel
Children
  • shabaz
    shabaz over 7 years ago in reply to fmilburn

    Hi Frank,

     

    Sorry I missed mentioning, that's a great idea to have the trim capability. You're right, the '334 possibly isn't the best approach if there will be different current settings : ( That could get very awkward. One possible option is to have a separate circuit per setting (since the '334 is cheap) but that could get tiresome quickly : ) especially if there are many settings, so some other current source method may be preferable for that.

    I tried these settings today, although the test is still running. It's very sensitive to air currents cooling different parts at different speeds perhaps, so I put it on soft packaging foam and a bowl on top to try to seal it up..

    image

    The two resistors are on the proto board:

    image

    They're basically many parallel SMD resistors to get to the values needed. I'm using these settings currently:

    image

    This is the results so far, just running at 5V since the it seems fairly insensitive to reasonable voltage changes. Apologies for poor snapshots from mobile phone:

    image

    So, it shifted about 7uA from the start, but it did stabilise and reach some equilibrium, but it took 16 minutes to get there, and after that it's been sitting at 10.1408mA and unchanging. This is at about 23.8 deg C room temperature (I'm not measuring inside the bowl but outside). I don't know yet what shift there will be when the room temperature changes!

    • Cancel
    • Vote Up +4 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • fmilburn
    fmilburn over 7 years ago in reply to shabaz

    Hi Shabaz,

    That looks really good and well within the requirements I set out.  I see the measured current is pretty close to the desired current in your spreadsheet.  What are the actual values you are using for R1 and R2?  Also, I am curious about the instrument you are recording the data with.  I am about to start testing again, this time using the 2N3904 as the diode.  My work area is pretty drafty, I may need to cover things up as well.

    • Cancel
    • Vote Up +3 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • shabaz
    shabaz over 7 years ago in reply to fmilburn

    Hi Frank,

    I'm using:

    R1: three 51 ohm resistors in parallel (this should provide 17.0 ohms)

    R2: four resistors in parallel: 18.2k, 220R, 549R, 549R  (this should give 121.3 ohms)

     

    17.0 and 121.3 are a few tens of mohm lower than the Excel worksheet result, since the breadboard contacts will add a bit.

    I switched on the heating (and have been sitting in 25.2 degrees C - really hot!!) and from what I've seen, I don't believe the drift is any more than 80ppm/degC and might even be half of that. I can't be precise, because the bowl is Pyrex (i.e. heat insulator) so I lifted it for about 5 minutes in the now warmed room (and the readings shot up due to imbalances - so you'll probably find the same thing, that covering it is necessary!) and then put the bowl back on, and the value dropped to slightly lower than the 10.1408mA that I'd recorded at equilibrium before. It is still settling, but the room temperature is changing because I had to turn the heating off, I can't bear 25.2 degrees C any more image

     

    From all that, my best guesstimate is -30 to -80ppm/degC change (i.e. current dropped by about 0.3uA to 0.8uA with 1 degree C increase in temperature), and I believe that is going to be mainly from the resistors, since they were either 100ppm/degC or 50ppm/degC resistors (they were in my box of spare resistors, and I only checked that I picked 1% ones, I didn't look up the ppm).

    They were all normal thick film resistors since this was all I had. All were 0603 sized except the 220R resistor happened to be 0805 sized.

    So, if it gets a reasonably stable supply (a change of -100mV, i.e. down to 4.9V from the 5V that I was testing at, causes a drop of about 0.3uA) then I'm hoping it is definitely stable enough for milliohm measurements, but will be reassured by your findings, in case I made some mistake.

     

    I'm using a new Keithley DMM6500, which I chose for the Bluetooth Unleashed competition. I will write a review of it when I've used it more, right now I really don't know what it does, but the logging is extremely useful, and it looks packed with functionality. I have a very old Keithley model 2015, which I was worried would fail any day, since it is way beyond normal service life by a decade : ), and uncalibrated.

    • Cancel
    • Vote Up +3 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • fmilburn
    fmilburn over 7 years ago in reply to shabaz

    HI Shabaz,

    That is really good information and I am quite encouraged.  I did not make as much progress as you today but will write it up.  My instruments are not as good as yours so I am thinking about how best to get a read on temperature influence.  When I borrow the Keithley from my friend next week that will help.  I need to start working on amplification as well since I'd like to design a PCB and get it off to a Chinese prototype house next week.

    • Cancel
    • Vote Up +4 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • fmilburn
    fmilburn over 7 years ago in reply to fmilburn

    Hi shabaz - wanted to make sure you saw this.  I also put a summary at the bottom of the comments.

     

    I am somewhat embarrassed to put my temperature test alongside yours but here it is.  I mounted a hair dryer on my PCB vise and pointed it towards the setup from a safe distance and on the low heat setting.  Another meter was set up to read temperature with an open air sensor alongside the components.  Temperature was observed to bounce back and forth 1 degree C during the test.   The test was done twice with similar readings both times.  Here is the setup.

    image

    It behaved in a strange manner.  The current at T= 0 is 10.008 mA.  Temperature in open air at the location was immediately varying back and forth 37-38 C and stayed there.  Current started dropping very quickly and then started to recover after maybe 15 seconds.  At approximately T = 30 seconds it was 9.983 mA having recovered somewhat.  After a few minutes it slowly came back up to 9.996 mA where it stayed for some 10 minutes until I stopped the test after 15 minutes.  This is a mess of open air stuff but perhaps still useful.  The different components make the behavior nonlinear and they actually seem to compensate for each other after a while.  So it varied from about .017 mA per degree C to 0.01 mA per degree C.  Not as good as your results - maybe the resistors or just the crazy act of blowing hot air on it.  Still, not too bad.  Notice that the voltage reading across the DUT varied only between 10.02 to 10.04 mV for these three readings.  Funny stuff.

    • Cancel
    • Vote Up +4 Vote Down
    • Sign in to reply
    • More
    • Cancel
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube