Help with input conditioning for low current measurement - Page 1
Forum section: electronics / projects

author: devguy
author_rank: Newbie
timestamp: March 08, 2025, 03:20:52 am
content: Hi,I have a circuit I have been using for detecting small currents from a light detecting diode. The range of input needs to be from 50nA to 200uA.I am looking for single rail solution. My board has 24V, 6.5V and 3.3V available.I have been using a 16-bit ADC and cannot quite get down to the minimum current measurement. The ADC has a +/- 2.048V range but for single ended input, only uses 0-2.048V. I have ordered some 24 bit ADC to ensure I have no issue getting small enough LSB.The circuit I use (Attache) is a simple current to voltage convertor and requires that offset bias to stop output locking with input values below 0V.I am wondering if I should maybe run my Amp and ADC from 6V and increase the gain of this amp to generate 6V and follow with a voltage divider to bring back into range 0-2.048V? This would also lower the effect of the bias offset.I am also not sure if I need to add some active filtering after the input? Any help to improve noise performance and dynamic range fed to the ADC would be much appreciated.

author: mtwieg
author_rank: Frequent Contributor
timestamp: March 08, 2025, 01:00:55 pm
content: What is the actual measurement resolution you want?How fast do you need to measure the current with that resolution? How fast it your ADC/MCU able to sample the raw signal?Depending on those answers, simply oversampling (i.e. averaging numerous ADC samples into one measurement) may be all that's required to meet your spec.You should definitely use an anti aliasing filter. Its bandwidth should be less than half the ADC sample rate.As for the offset due to the LED bias voltage, there are a few ways to deal with that, depending on the specific ADC used. If the ADC has differential inputs, connecting one of those to the bias voltage instead of GND may be sufficient. Otherwise you can use a difference amplifier to subtract the offset before the ADC.

author: devguy
author_rank: Newbie
timestamp: March 08, 2025, 09:58:08 pm
content: Thanks for your reply.The measurements are slow moving, the system can update them say once a second.I only really need resolution of around 1000 steps but I needed a much lower LSB to resolve the lowest input level (50nA).After taking a look around, I learned I can reduce the dark current to help lower noise at low level;es by configuring the input as photovoltaic insteac of photoconductive mode. Only change required is to connect the Anode to the bias input (vref) instead of ground so the sensor has zero bias current when no light detected.I also thought maybe increase the supply rail to 5V on the input circuit (the ADC connects to micro using I2c so they get pulled up to 3.3V) and increasing gain on the input stage to get range from vref to 5V, then through a voltage divier with a filter cap to reduce max to 2.048V and finally through another op amp buffer to the ADC. My thinking is that this allows input to be scaled to fully match the maximum input of the adc. The ADC does have differntial input modes. I think your idea of connecting Vref to Ain(neg) is a good idea. I have attached the circuit of modified input.

author: mtwieg
author_rank: Frequent Contributor
timestamp: March 10, 2025, 12:44:25 pm
content: Quote from: devguy on March 08, 2025, 09:58:08 pmOk then depending on the ADC sample rate, oversampling may be all you need to meet your spec.QuoteSounds fine.QuoteThis I don't follow. If the ADC's max input voltage is 2.048V, then why supply the opamp with 5V? A 3.3V supply should be plenty.QuoteWhether this approach works or not depends greatly on the specific ADC (some require fully differential inputs and not "pseudo-differential" inputs like this). Please share the part number of your ADC.

author: jwet
author_rank: Frequent Contributor
timestamp: March 11, 2025, 02:55:48 pm
content: Your dynamic range is 4000/1 (200 uA/50 nA). If you want to make 200 uA come out as 2v, this is a 10K transresistance amp. (feedback R). You can add C to slow it down and limit noise BW- 100 nF would be 160 Hz which sounds plenty fast and will help with noise. With 10k of gain, you'll get .5 mV out of the amp with minimum input (50 nA). Your bipolar 16 bit ADC has a lsb of 4.096/65535 or .0625 mV, so your minimum current is 8 LSB's- seems fine. Dark current should be much less than that your min irradiance signal out of 50 nA so its only a few lsbs. This is not a tough spec for any decent photo diode. If you don't need the speed, I would run in photovoltaic mode. The 5v bias, etc doesn't apply in PV mode. The amplifier should be something with an input bias << 50 nA, CMOS amps are easy to find these days. The post amp/filter shouldn't be necessary, you've got all the signal you can handle and you can filter in the transimp front end. You might want to put a 100 ohm and 1nf on the output of amp to keep the sample and hold in the ADC happy, these take a little slug of current.It should just work- you're very close.

author: Terry Bites
author_rank: Super Contributor
timestamp: March 12, 2025, 02:05:59 pm
content: See this:https://tools.analog.com/en/photodiode/It will help you work out the (very) necessary frequency compensation.Diode and any cable used need to be taken into account.See attched. Help with intercept and slope on a single supply.