Feedback on Milliohm meter V2.0 - Page 1
Forum section: electronics / projects

author: OM222O
author_rank: Frequent Contributor
timestamp: February 13, 2019, 09:58:43 pm
content: Hey guysI wanted to create a milliohm meter a while back, using the 4 wire measurement method. The first prototype worked fine but had some issues, especially with op amp stability, very limited range and a few other minor issues. It also didn't look clean at all but was a good starting point.Version 2.0 replaces the 16 bit ADC with a 2 bit one, has 6 current ranges (up from 2) which means it can measure to about 200k\$\Omega\$ (I figured above that 4 wire measurement has no advantage over a regular voltage divider circuit). To keep high accuracy all the filter caps are C0G(NP0) and every resistor on the board is 0.1% with 15ppm temp co or better (except the giant 1ohm shunt, R3).I also redesigned the power button (it only turns on a fet, so virtually no current flows through it) to improve it's life and add to the stability of the entire circuit. my schematic is extremely messy at this point, so I will publish it after cleaning it up later. The PCB is meant to be used as a front panel on top of the box, which basically turns it into a 1 sided PCB which is less than ideal. The PCB itself is really crammed and I had to use a lot of vias and tracks under the display to make it work. Here are some small clips of me testing different sections of the PCB and the final design as of now. Please check them out and tell me what you think(I will only use the black and red plugs, not the non insulated one)Also here is a "block diagram" if you will:1) Power delivery2) MCU (Atmega328P-AU)3)ADC input filtering4) 24 bit ADC (ADS1219)5)1V voltage reference6)Current output stage7)different value shunt resistors + dual mosfets as switchesHere is a test of the OLED module using the IMPACT font (that will be customizable by end user!):https://streamable.com/8w75eAlso here is me getting excited way too much about the new power button design:https://streamable.com/dx1lzhttps://streamable.com/vxweyOverall it's taken me about 8 months to get to this stage and I'm very excited about it!I have kept the design goal as original: to achieve better than 1m\$\Omega\$ (and potentially even better 100u\$\Omega\$, although I don't have any calibrated equipment to confirm that!) for much cheaper than the industrial solutions on the market and I think I have been able to achieve itFuture upgrades that I currently have in mind are:1) adding protection to all inputs and power rails (not enough space on this PCB and the larger PCBs will cost a lot more. I'm ordering from JLCPCB and the limit on the PCB sizes is 100x100. my other option is to get a custom size box manufactured in china as the next size up box will exceed 100x100mm. please let me know if I can get cheap boxes made)2) adding common resistor footprints to the top of the PCB (between force and sense pins) to allow direct measurement on the board without any need for wires. For that please write the common low value shunt resistor footprints that you would like to use, I will add the most popular ones)Feel free to add more upgrades that you would like to see and provide some feedback on the overall design. what would you do differently? where can I improve this design?

author: station240
author_rank: Unknown
timestamp: February 13, 2019, 10:26:10 pm
content: The ground pour looks a bit close to tracks/pads, would make it less troublesome to repair/modify in the future with a bit more clearance.Rotate Q5 90 degrees clockwise to reduce the trace lengths to C1, battery, will also make it easier to solder.Check the contact resistance on those banana sockets, the 4 wire lead sets have gold plated connectors for a reason.Overall I do like the design, been looking at building something that requires miliohm measurements as well.How are you going on the software ?

author: DaJMasta
author_rank: Super Contributor
timestamp: February 13, 2019, 10:37:32 pm
content: +1 on the trace clearance, maybe your preferred fab can do it, but there's really no reason it's required at this density, so I'd add some extra to be sure, especially around the binding posts and things. Also probably worth setting your copper pours to remove unconnected copper - I see some islands between close traces that I don't think ever get grounded, so they'll just be little capacitvely coupled antennae sitting on your board waiting for the right frequency to come around to really mess with the stuff around them - if you just stop them from being generated you lose no shielding and prevent some of that.Hard to tell from the zoom level, but also worth making sure there are some thermal relieves around the pads that go directly to the ground plane, otherwise you're gonna have to park the iron there for a while to get your part stuck down.

author: OM222O
author_rank: Frequent Contributor
timestamp: February 13, 2019, 10:48:06 pm
content: The software has been pain and agony! first I had to create my own library for ADS1219 (nothing was available for arduino!), then I had to create my own bitmaps from the font because u8glib doesn't support symbols like omega, and u8g2 eats more than 75% of memory just for diplay, so NOPE! automatic ranging and effectively getting the best solution has been another can of worms, but it's coming along really nicely. I just need to spend some more time with it. I definetly agree that rotating Q5 makes life a lot easier and I have plenty of space for it. As for the contact resistance: doesn't matter at all! it only creates some burden voltage. as I said the FSR range of the ADS1219 is 2.048 volts, so 3V burden voltage at 1A = 3ohm! that would be 3 watts just in the wires + connectors ... I don't think it's that bad tbh (plus it would be an easy upgrade to find a drop in replacement). What foot prints do you recommend for front panel testing? I'm considering 0603,0805,1206 and 2512 so far, but I've seen ones with 4 wire connections already made and large metal tabs on both sides. I'm not sure what footprint they are but they look something like:The clearance of traces is recommended by JLCPCB themselves and I haven't had issues with ordering them from the past so I don't think that will be an issue at all, but might increase it to 10mil just in case. I have disabled the "keep islands" setting, can you please show where there is one between tracks? If there is any, it should go away with increased clearance as it might be connected by 1 or 2 mills.

author: Doctorandus_P
author_rank: Super Contributor
timestamp: February 14, 2019, 01:19:54 am
content: I've always found these 4 terminal SMD resistors a bit weird.When a "normal" SMD resistor is soldered on a PCB you have a nicely conductive solder blob on each side of the resistor.Then you can easily add a 4 terminal connecton by designing the PCB traces right.Current gets fed in from the outside, and measurement wires are taken from the inside of the pads.Also:What you describe as: "Pain and agony!" and "another can of worms" is stuff that is all simply part of the normal design cycle of writing software."arduino" is nice to get an easy start to get your first blinking led project, but there will come a day you have to write some serious software yourself to advance your project.

author: djacobow
author_rank: Super Contributor
timestamp: February 14, 2019, 03:35:45 am
content: AD has an app note on getting four wire performance out of regular two terminal resistors. I tried it on an AC power meter i designed, but never got around to trying to characterize the benefit. I will say that i found soldering the fancy footprint by hand to be unpleasantly fiddly.Check it out here:https://www.analog.com/en/analog-dialogue/articles/optimize-high-current-sensing-accuracy.html

author: DaJMasta
author_rank: Super Contributor
timestamp: February 14, 2019, 05:05:07 am
content: Quote from: OM222O on February 13, 2019, 10:48:06 pmIt looked like between some of the vertical traces from U1 there are some, but at this resolution it's hard to tell. If they are indeed connected, that prevents the issue.

author: OM222O
author_rank: Frequent Contributor
timestamp: February 14, 2019, 05:44:07 am
content: I have made the pads larger to show the maximum size of the nuts (I'm assuming this will also allow better contact),rotated Q5 and added the version number to the PCB as well. I checked the clearance and it was already 10 mills, no sense in making it any larger. The PDF versions that are attached, have much much better resolution than the uploaded jpgs, feel free to have a look at them.Anything else you would want to see changed?

author: Siwastaja
author_rank: Super Contributor
timestamp: February 14, 2019, 02:03:51 pm
content: Quote from: djacobow on February 14, 2019, 03:35:45 amIt's a nice, classic appnote, but it's a shame it lacks the probably(?) most commonly used footprint (attached). This footprint has the advantage of not relying so much on specific solder paste patterns, which may vary in quality.

author: OM222O
author_rank: Frequent Contributor
timestamp: February 15, 2019, 12:33:58 am
content: Update:Here is the schematic as I promised (you can download higher quality PDF which is attached):Any parts that would choose differently? any upgrades you can think of? Any feedback is appreciated!

author: Andbro
author_rank: Regular Contributor
timestamp: June 19, 2019, 08:07:20 pm
content: Hi,It's very interesting. Do you have a photos of the the finished product?Do you work on the new version?Do you sell PCB and firmware?ThanksAndre