So after the previous failure with using a lower value sense resistor (which was probably not the real issue), I decided to keep the 100 ohm resistor in place and just buffer the reading with an opamp. I tested it on a breadboard first to empirically verify it wasn’t a really dumb idea.
I mean, it may be a really dumb idea, but it worked as I hoped.
Here you can see the top of the board with poorly drilled holes and a mash-pot of resistors. It’s a prototype and my Mouser order that included an assortment of 1% metal film resistors didn’t arrive yet, so I used what I had available. When I ran out of carbon film 5% I used what was left of the metal films. I even had to resort to 1/8 watt resistors on the attentuator following the opamp. The header has expanded to 8 pins so you can either monitor the original voltage or half voltage. At the least one resistor in the attenuator should be socketed or a trim pot. Ideally we’d be able to measure the value of the resistor network or the trim pot from the micro itself, but that adds a lot of complexity — but perhaps a 4:1 muxer for each ADC would be in order, along with detection for over-voltage before the attenuator so we can just sample the before that.. then we could actually add gain to the opamp instead of operating at unity to measure low Idss/Vpp devices more accurately.
Wouldn’t it be nice if I had real 2×4 headers, cables to plug into them, and better sockets for the JFETs? Ah well, it will do for now! I have yet to test it, I’m working on a new board design with relays (or maybe a muxer with low On resistance), the microcontroller and extra ADCs on board.. Of course that means I’ll need a way to create 2 layer boards of higher quality than what I’ve been producing.. and vias.. oh fun.
Updates to come!