After quite some time here is a small update on the ADC. Attached a new version of the PC side software. This time for FreePascal / Lazarus (a free IDE similar to Dephi). The function has not changed very much, mainly the possibility to run with USB-UART adapters and Win7/8/10.
For the ADC board, I still have 2 rather odd effects, that are rather resistant to changes to the circuit:
First there still is some effect, that initially looked like a delayed effect. One reading is to a small fraction effecting the next reading. However ever it turned out that much of the effect is not from the actual ADC reading, but the selected channel at the input mux. The really odd point is that a similar effect is still present with just switching the control lines at the µC, even without the DG408 MUX in the socket.
The effect of the MUX channel is not nice, but as long as it is stable (it is hard to change even if I try) one can subtract it as a channel specific offset.
To get only the delayed effect from the ADC and buffer, but not the mux, the effecting voltage is varied externally. 2 zero readings are compared with different readings before. Reusing a program part made for a slightly different purpose the sequence is 0 V, variable voltage, 0 V and 7 V reference. Ideally the 2 zero readings should read the same, maybe with a small offset from the different active channels before. There is a small effect of the variable voltage on the next reading, not much, but just visible. For noise reduction the data points are the average over 50 sequences at 1 PLC each. The curve combines data from going up and down in the voltage several times.
A known mechanism to cause such a delayed effect is the slow part of the dielectric absorption in the integration cap. However this should have the opposite sign and is expected to be a little weaker (e.g. 10 ppb range). Chances are the observed effect is something like a thermal effect.
The second odd point is that different run-up version give a slightly different result. The main nasty point here is a slight difference in gain (close to 1 ppm) for negative readings compared to positive ones between two versions with different minimal pulse length. Chances are the version with longer minimum pulse length is less effected, but this is not sure, as only the difference can be measured with high resolution.