-
Reducing noise by using jumper wires
03/24/2023 at 21:38 • 1 commentBy putting some distance between the FPGA and the DDC112 board, the noise is reduced to about 5fA (100ppm at the range of 50pA). This would mean that either the inductance of the jumper wires act as a filter for the power supply and ground lines, or that EM radiant noise comming from the FPGA is reduced.
I tried to add a separate 5V power supply form a regulated 9V battery, to see if there was still some noise comming from the positive side of the power supply. With this new setup, the noise is still around 5fA, so no improvement. (Wich is good news, since I don't want to be limited to battery-supplied operation.)
To further investigate the effect of proximity of the two cards, I put back the FPGA on top of the analog card, and got still the same noise.
Adding two small inductors ( ~100nH or 1uH, I can't measure the wire inductance with my LCR meter since it's too low) in series with 5V and ground lines (or some kind of choke transformer) would probably do the same thing as the jumper wires.
Two things might help :
- A better Faraday shielding of the analog portion of the circuit.
- Complete isolation from USB ground, wether by wirelessly transmitting data (and power the circuit with a battery), or by using a whole bunch of optoisolators and power isolators. In both cases, it's a project in itself.
By placing the box inside aluminum foil, I get an alternance of values from -0.012pA to -0.016pA in a regular alternating pattern. If this systematic error was corrected, I would get a noise of about 0.5fA, or 10ppm, wich would be in good agreement of the datasheet (~10ppm at range 1 (50pC) and 50pF of input capacitance). This is probably due to the fact that the two integrators don't have exactly the same capacitance. A background correction could measure the mean of the two signals and correct accordingly.
This points me to a small bug regarding data transmission. As my code rely on the sending of a \n (ascii=10) character, sometimes I got incorrect length of string because some other byte also have this exact value. I'm not at all constrained by speed of data transfer, so doubling the number of bytes to get all the data seems the way to go.
The effect of alternating between two charge values is also seen in test mode, with the 13pC charge injected, however the amplitude is greater (0.2pC, compared to ~0.05pC when there is no signal at the input). It would be a good idea to mesure if the correction is relative or absolute. (In case of a mismatch of integrator capacitance, the effect is on gain, so it would be a percentage of the reading.)
-
Measuring performances
03/15/2023 at 19:54 • 0 commentsNoise
I'm using a ~60pF photodiode, 3x3mm, directly hooked up on the input of the DDC112, in photovoltaic mode (no bias), as indicated in the datasheet. The second input is left floating.
I'm seeing a bias current input of about -0.15pA on both inputs. The dark current from the photodiode is probably below this level.
The datasheet specifies a noise of max 6ppm of FSR. At 350pC, this means 3.5fC. I'm seeing a fluctuation of about 50fC, no matter the range used. This points out to some external noise of unknown origin. I guess I could add more shielding around the DDC112 to form a better faraday cage, use a better insulator material for the PCB, and isolate furthermore the analog power supply. Maybe the fact that the 5V digital power comes from the USB port doesn't help. Anyway, finding and adressing the exact source of this extra noise is another project in itself.
Per specification, at the lowest range (50pC), we should be able to get a noise below 1fC, or in the order of 3000 electrons. It's very small in the electronic world, but very big in regard to camera sensors (read noises in order of 1e-)
Light sensitivity
I'm using a white source of known power, settable between 1fW to 10pW. Light is sent directly onto the photodiode with a 1mm fiber optic. The entire circuit is put in a black box to avoid surrounding lighting getting in. With everything in place, I'm seeing about 0.3pA with an input of 1pW. This is well in accordance with sensitivity of about 0.3A/W for 500nm. It's great that I can show that the relationship still holds for this particular circuit at low light levels.
With a noise of 0.05pA, this means that I can measure light in the range of 1pW to 1nW with a resolution of 0,1pW. Pretty impressive, considering the fact that i'm doing this with a 30$ chip.