Author Topic: Multislope Design  (Read 86052 times)

0 Members and 1 Guest are viewing this topic.

Offline new299Topic starter

  • Regular Contributor
  • *
  • Posts: 119
Multislope Design
« on: December 17, 2017, 06:53:39 am »
Perhaps this should really be in the beginners section, if so, perhaps some kind mod would move it.

I'm interested in trying to design a basic multislope ADC. As a first pass, I'd like to understand if something like the attached design might work, or if there's anything I've woefully misunderstood.

The design would use a microcontroller to control a DG411 switch, this would switch in the positive/negative references. LT1013s are being used to buffer the reference, and as the integrator, comparator. Later the design could be expanded adding more slopes etc. At present, I'm just trying to understand if the basic architecture is sane.

Any comments are most welcome!
 

Offline Kleinstein

  • Super Contributor
  • ***
  • Posts: 14496
  • Country: de
Re: Multislope Design
« Reply #1 on: December 17, 2017, 10:24:10 am »
The inverter for the reference does not work this way - it should be obvious, unless this should really go the the beginners section.

The way the reference current is switched is not the best choice: the switched current is a rather dynamic load to the reference - this is especially a problem for the rather slow "buffers". When switched off, it takes a relatively long time to discharge the switch side of the resistor - thus short off times are not working well. There are other more suitable configurations, like having only one resistor for the positive and negative reference current and switch between those two.

The LT1013 is not working well as a comparator. Many µCs have a much better comparator inside.

The LT1013 OP might not be the best choice for the integrator: it has rather high noise and bias current and also is rather slow. So the ADC would not give a really low noise and work well only at low speed, with a relatively large integrating capacitor. The more normal choice for the integrator would be a JFET based OP, like TL071, LF411 or better (e.g. AD711).

Most simple integrating ADC use an additional switch to reset the ADC to a well defined start.  There are ways to do without it, but this is the more difficult way.
 
The following users thanked this post: new299

Offline new299Topic starter

  • Regular Contributor
  • *
  • Posts: 119
Re: Multislope Design
« Reply #2 on: December 17, 2017, 02:11:24 pm »
Many thanks for your suggestions. I've modified the schematic as attached.

I assume reset would be implemented as a switch across the integrating capacitor?

Using a single resistor for both positive and negative references would imply a dual-slope configuration? I was planning to use a multislope run-up configuration, but also try dual slope (layout the circuit so I can use a single resistor for both references too).

Are there alternatives/switches schemes I am missing?
 

Offline Kleinstein

  • Super Contributor
  • ***
  • Posts: 14496
  • Country: de
Re: Multislope Design
« Reply #3 on: December 17, 2017, 03:06:37 pm »
One would be limited to dual slop, if only one resistor is used for the signal and both signs of the reference level.  Using one resistor for both signs of the reference still allows applying the input signal and reference. Using just one resistor would be having both switches connected before the resistor. The only case no longer allowed is having both references active at the same time. To avoid this problem (e.g. during transients) one might add separate small series resistors.

The other common switching scheme is using a SPDT switch connected at the integrator side on the resistor. Here the reference current is either send to the integrator or to ground. As the switch only sees low voltage, one can use a simple 74HC4053 for this: one for the input and one each for the two polarities. This scheme has the advantage that the current drawn from the reference is constant. Also the power dissipation in the reference path resistors is constant.

The true dual slope conversion uses the same resistor for the signal and the reference. So this would need a different circuit. I have seen such a combination: here the signal and reference signal are added in the input amplifier by using a switched capacitor for the reference. So as a side effect they also don't need an extra negative reference.  So the signal applied is either just the input or input +/- reference.

For the reference part and maybe the input amplifier, it is still good to use the LT1013 OP. The AD711 is only a good choice for the integrator. So it usually takes different.
 
The following users thanked this post: new299

Offline David Hess

  • Super Contributor
  • ***
  • Posts: 16907
  • Country: us
  • DavidH
Re: Multislope Design
« Reply #4 on: December 17, 2017, 03:29:42 pm »
Use another analog switch before the input signal buffer so that the autozero cycle can remove its offset voltage as well.  This is how fully integrated slope converters were able to achieve microvolt accuracy using low precision CMOS processes.

Study old designs like the Fairchild 3814 and Siliconix LD120/LD121A and LD111A/LD110.  Siliconix used a run-up design which extends the range of the integrator for less non-linearity error due to dielectric absorption so it is potentially better than the more common ICL7104 implementations.  By fixing the number of switching cycles, charge injection errors may be calibrated out; HP did this in their high resolution meters like the HP 3456A through HP 3458A.

https://xdevs.com/doc/HP_Agilent_Keysight/journals/1989-04_HP3458A.pdf

The simplest design I would attempt is to combine the run-up of the Siliconix parts (HP called this Multislope Runup) with the charge injection cancellation of the HP designs.  If that did not yield 10 times better linearity than the 40,000 count ICL7104 design, then I would be disappointed.
 
The following users thanked this post: new299

Offline CopperCone

  • Super Contributor
  • ***
  • Posts: 1415
  • Country: us
  • *knock knock*
Re: Multislope Design
« Reply #5 on: December 17, 2017, 03:45:05 pm »
how does charge cancellation of these switches work? I thought it was dependent on the voltage the switch is facing. At least the LTC1043 datasheet lead me to believe this.

I am interested in lockin amplifiers. I think the optical optimos devices have basically no injection.
« Last Edit: December 17, 2017, 03:47:30 pm by CopperCone »
 

Offline David Hess

  • Super Contributor
  • ***
  • Posts: 16907
  • Country: us
  • DavidH
Re: Multislope Design
« Reply #6 on: December 17, 2017, 03:53:47 pm »
how does charge cancellation of these switches work? I thought it was dependent on the voltage the switch is facing. At least the LTC1043 datasheet lead me to believe this.

I am interested in lockin amplifiers. I think the optical optimos devices have basically no injection.

This is different from minimizing the amount of charge.  Instead during the run-up cycle of the integrating converter, there are a constant number of switch cycles whether they are needed or not so the injected charge is constant and calibrated out during the zero calibration.  From the HP Journal that I linked:

An important requirement for any ADC is that it be linear. With the algorithm described above, multislope runup would not be linear. This is because each switch transition transfers an unpredictable amount of charge into the integrator during the rise and fall times. Fig. 6 shows two waveforms that should result in the same amount of charge transferred to the integrator, but because of the different number of switch transitions, do not.

This problem can be overcome if each switch is operated a constant number of times for each reading, regardless of the input signal. If this is done, the charge transferred during the transitions will result in an offset in all readings. Offsets can be easily removed by applying a zero input periodically and subtracting the result from all subsequent readings. The zero measurement must be repeated periodically because the rise and fall times of the switches drift with temperature and thus the offset will drift.

 
The following users thanked this post: new299, ogden

Offline new299Topic starter

  • Regular Contributor
  • *
  • Posts: 119
Re: Multislope Design
« Reply #7 on: December 18, 2017, 03:54:43 am »
Thanks David and Kleinstein for your helpful comments.

I've moved to using a single resistor for both references in the attached schematic. If I can get this design working, I'm wondering about modifying it to create a multi-slope run-down design. In this configuration, I could use the 74HC4053 to switch in the resistor on the integrator side, or switch to ground is that correct? Could I also use a DG419 here, though not strictly required?

I've also added in a autozero switch, using a DG419. I've reverted to the LT1013 for the reference buffers. Is there a better part to use for the input output buffers (I've currently left these as AD711s). I feel I don't have a strong grasp of the required specifications, and will try and read more about this.

Thanks again for your help.
 

Offline David Hess

  • Super Contributor
  • ***
  • Posts: 16907
  • Country: us
  • DavidH
Re: Multislope Design
« Reply #8 on: December 18, 2017, 05:15:30 am »
Is there a better part to use for the input output buffers (I've currently left these as AD711s). I feel I don't have a strong grasp of the required specifications, and will try and read more about this.

The input buffer is usually a low input bias current part to present a high input impedance to the source but the AD711 covers that.  This is needed if a high input impedance attenuator is used and it also makes overload protection easier.

One thing I do not quite understand in these designs is that the common mode rejection of the input buffer should limit the linearity yet in the past, they got by with truly terrible integrated CMOS input buffers.  The implication is that the input buffer should be a precision JFET or CMOS part with high common mode rejection like the currently available LT1793/LT1055/LT1056/LT1122/LT1022 or if you are adventuresome, the much higher precision LT1012 low input bias current *bipolar* part.  The AD711 is not bad in this respect either.  I seem to recall doing the calculations and concluding that integrated chipsets were limited to less than 4-1/2 digits of accuracy because of this and it might explain why some old multimeters bypassed the built in integrated CMOS input buffer and replaced it with a part like the AD542.  Or maybe most of the error contributed by the common mode rejection shows up as gain error instead of non-linearity.

I am not sure why the output buffer would be needed.  The integrator has a pretty low output impedance and should not have a problem driving the comparator.  Maybe isolation is needed?

I would start off using a less expensive part in place of the AD711 or any of the others above like the TL051.
 
The following users thanked this post: new299

Offline new299Topic starter

  • Regular Contributor
  • *
  • Posts: 119
Re: Multislope Design
« Reply #9 on: December 18, 2017, 07:23:50 am »
Thanks again! I maybe getting ahead of myself, but... for this kind of layout is there any reason to prefer through-hole parts over SMD (ICs)? I’ve read in reference circuits people sometimes worry about SMD parts being under additional mechanical tress, and this introducing error somehow? (I’ve seen this mentioned with respect to reference circuits mostly).

A normal ground fill would be acceptable? Are there any particular points I should take into consideration?
 

Offline Kleinstein

  • Super Contributor
  • ***
  • Posts: 14496
  • Country: de
Re: Multislope Design
« Reply #10 on: December 18, 2017, 09:36:34 am »
It should be Ok to use SMD parts. With a MUX at the input to do an automatic zero adjustment, there are no parts that are really critical with respect to DC performance. For very high accuracy THT parts may have a slight advantage of less leakage and less stress sensitivity for the resistors, but this is if you go for more than 7 digits. One advantage with THT parts is the option to have sockets and change the OPs later on. So one can first test with TL071 and later upgrade to something like OPA140 if needed.  For a hand soldered board one can mix SMD and THT.

The integrator should be a good quality JFET OP. The AD711 is just one such OP, there are other's. I mentioned it because it is was used in some older DMMs. However there are other choices - likely better ones too. For a first test a TL071 or LF411 should also be OK. It helps to have a good BW and low noise both in the LF and MHz range.

For a precision circuit a ground fill is not a good idea. Usually the better way is having a dedicated ground star point. Also decoupling can be important, it should be made the right way. Another important point can be the choice of the integrating capacitor. It should be a low loss (DA) type, like PP film or a good quality NP0 ceramic.

For good linearity the TC of the resistor for the input signal is also important: self heating could otherwise cause nonlinearity. Also having a higher power rating can help.  It is less important with the reference resistor(s), as here the current is constant.

Especially if a slower rundown slope is also used, it helps to have another amplifier following the integrator. Not just a buffer, but an amplifier with well defined saturation to help the comparator.

I don't think the last circuit diagram was updated. For the switching there are mainly two options:
1) 1 reference resistor and switching between +ref,-ref and maybe GND
2) 2 separate reference resistors (+ref and -ref) and switching at the integrator side with something like DG419 / 4053.
One should use the same type of switching for both the input and the reference. It also helps to have the same or at least similar resistance.
 
The following users thanked this post: new299, albert22

Offline new299Topic starter

  • Regular Contributor
  • *
  • Posts: 119
Re: Multislope Design
« Reply #11 on: December 18, 2017, 12:55:10 pm »
I don't think the last circuit diagram was updated. For the switching there are mainly two options:
1) 1 reference resistor and switching between +ref,-ref and maybe GND
2) 2 separate reference resistors (+ref and -ref) and switching at the integrator side with something like DG419 / 4053.
One should use the same type of switching for both the input and the reference. It also helps to have the same or at least similar resistance.

Thanks again, regarding the above. Does the attached schematic now correctly reflect option 1? Regarding "maybe GND", what would the purpose of grounding the reference resistor be. Would this be for use when reseting the integrator?

Thank you also for your layout suggestions. As suggested, it sounds like a good idea to use through-hole parts so I have the option of using socketed opamps and experimenting.

Regarding the output amplifier, I'm wondering what to do here. In particular I've been wondering if it might be interesting to try implementing the control logic with an FPGA at some point (or is this just wasted effort?). If I want to leave the FPGA option open, might having an onboard comparator simplify things? Otherwise I will likely use an AVR for the initial design, and assume its comparator is suitable.
 

Offline Kleinstein

  • Super Contributor
  • ***
  • Posts: 14496
  • Country: de
Re: Multislope Design
« Reply #12 on: December 18, 2017, 01:22:21 pm »
Grounding the reference current not used would keep the current through the resistor constant. Otherwise one would get a modulation in temperature too. In addition there is parasitic capacitance that would also change charge. Usually the break before make time of the switch (e.g. 4053) is so short that the integrator / GND side of the resistors would not change voltage very much due to the parasitic capacitance.

It is a good idea to have a similar switch also in series with the resistor used for the signal current. So there should be an additional DG419 after the input buffer. The switch resistance usually has a high TC, but if balanced for signal and reference this would no have that much of an effect.

One can implement the control logic in an AVR µC However for getting exact, prdictable timing it might need ASM programming , but this is possible. The only really time critical part would be the rundown phase, to stop the coarse rundown.
Unless you need a very fast converter, there is little advantage of using an FPGA instead - it's just more expensive and difficult to program.
Using the µC internal comparator just makes the HW simpler, an external LM311 would be about as good, likely even lower noise. However with an extra amplifier stage comparator noise does not matter much. With the AVR one could even use the µC internal ADC for an additional fine step for the residual charge after rundown.
 
The following users thanked this post: new299

Offline David Hess

  • Super Contributor
  • ***
  • Posts: 16907
  • Country: us
  • DavidH
Re: Multislope Design
« Reply #13 on: December 18, 2017, 02:57:09 pm »
I would use sockets for the operational amplifiers just so that I could start out with cheap TL051s until everything works and then change them to the much more expensive precision types.  It would be interesting to see how the accuracy is affected by different operational amplifiers.
 
The following users thanked this post: new299

Offline new299Topic starter

  • Regular Contributor
  • *
  • Posts: 119
Re: Multislope Design
« Reply #14 on: December 18, 2017, 04:33:56 pm »
Grounding the reference current not used would keep the current through the resistor constant. Otherwise one would get a modulation in temperature too. In addition there is parasitic capacitance that would also change charge. Usually the break before make time of the switch (e.g. 4053) is so short that the integrator / GND side of the resistors would not change voltage very much due to the parasitic capacitance.

It is a good idea to have a similar switch also in series with the resistor used for the signal current. So there should be an additional DG419 after the input buffer. The switch resistance usually has a high TC, but if balanced for signal and reference this would no have that much of an effect.

Thanks. If I've understood correctly the configuration I currently have is a multi-slope run up converter [1]? With a shared resistor for the positive and negative references. In this configuration, this resistor will therefore always have the same current flowing through it, is that correct? However if I were to move to a multi-slope run-down configuration [2], it would be valuable to switch the resistors to ground when not in use, to ensure that they are kept at the same temperature.

The purpose of the additional switch on the input signal is also for use in the multi-slope rundown configuration, and is used when removing the input signal current at the start of the run-down phase.

Perhaps the next stage is to modify the schematic so it represents a full multislope rundown configuration.

[1] https://upload.wikimedia.org/wikipedia/en/thumb/3/30/Multislope_runup.svg/500px-Multislope_runup.svg.png
[2] https://upload.wikimedia.org/wikipedia/en/thumb/f/f3/Multislope_rundown.svg/510px-Multislope_rundown.svg.png
 

Offline Kleinstein

  • Super Contributor
  • ***
  • Posts: 14496
  • Country: de
Re: Multislope Design
« Reply #15 on: December 18, 2017, 05:32:39 pm »
The question of mulit-slope run-up is more a question of the software / control: it needs (there is a way around that too) separate resistors for the input and reference, so that input and reference can be active at the same time. Using some feedback already during the integration of the input signal is usually the more important improvement over the dual slope mode.

For a multi-slope rundown it can help to have the configuration with switches at the integrator, as the resistors can keep there constant current, when not active to the integrator. This also helps to avoid a highly dynamic load to the reference amplifiers.
Unless the rundown needs to be super fast there is not that much need to use many slower slopes for the rundown. Especially when done with the µC to control, there will be some delay on switching and thus only 1 slower slope is likely enough. A suitable offset to the comparator could compensate the delay. The slower slope also needs extra adjustment measurements - so having more makes thinks rather complicated at a rather small gain in speed. To get the slower rundown reference one could in theory use both the positive and negative reference together, if they are intentionally slightly (e.g. 2-10%) different.

The pictures from Wikipedia are still only the very basic concept, so they don't care about the details of how the switches are made.

The switch for the signal current is needed for the rundown phase, so that integration of the input stops. The other purpose of the switch is usually compensation of the switch resistance. As the switch resistance is rather temperature dependent, it really helps. to have the same type of switch for both the signal and reference currents. It also helps to have the same resistance for signal and reference currents, so that the contribution of the switch will be the same.
 
The following users thanked this post: new299

Offline new299Topic starter

  • Regular Contributor
  • *
  • Posts: 119
Re: Multislope Design
« Reply #16 on: December 19, 2017, 12:25:33 pm »
Thanks again!

In the attached schematic (multislope_r5), I've modified the configuration to match that shown in the 3458a document previously linked.

Practically, I might just want to use a single large resistor in the same configuration as +/-S1024 if I've understood your suggestion correctly? (as multislope_r5a).

In the path from the input signal, I have one switch. In the reference paths two. Should I have the same number of switches in the reference and signal paths?
 

Offline Kleinstein

  • Super Contributor
  • ***
  • Posts: 14496
  • Country: de
Re: Multislope Design
« Reply #17 on: December 19, 2017, 02:09:13 pm »
It helps to have the same number of switches for the reference and the signal path. It would help to have a second switch for the signal two, even if this is just for compensation. It could be used to switching between the input and maybe 0.  The scheme as drawn with 2 switches is unusual, but still possible and it has some advantage too. The simple (and common, e.g. 34401, 3458, K2000,K2002)  solution is to use separate resistors for the + and - reference. It adds the need for two matched resistors, but there is a pair of resistors to make -ref anyway. So there is not that much added possible temperature drift. It helps if the switches are well matched.

The slower slope reference currents can use more switches as the resistance is higher anyway and they are used only for a small fraction.  So this could be just one large resistor and than switching the voltage if needed (e.g. full and - 1/8 of the reference).  The 3458 uses this scheme, even with just a 74HC14 as a switch (R2R like DAC ?). Due to the higher resistance self heating is not that important and the requited stability is also much lower.
 
The following users thanked this post: new299

Offline new299Topic starter

  • Regular Contributor
  • *
  • Posts: 119
Re: Multislope Design
« Reply #18 on: December 21, 2017, 01:36:16 am »
Thanks, I have made changes based on your suggestions.

I'm trying to understand which resistors are critical now.

If I've understood correctly, in the 3458a all the slope resistors (and the input resistor?) are part of the same network (which is part of U180?). This means the TCR tracking of all these resistors is good? [1].

Obviously, I don't have the option of having all resistors in the same network. However it might be possible to try having some of the resistors in the same network. It seems useful for example to have the input resistor and the largest slope resistor as part of the same network (well essentially on the same substrate/in same package?). Same would go for the negative reference resistors perhaps?

The output amplifier seems less critical.

Regarding what kind of resistor, I was thinking of doing the layout such that I could optionally try using foil resistors. Do you think this could help, or is it likely that the TCR of other parts of the circuit would make this pointless. There seem to be some nice networks containing 2 47K foil resistors which I could potentially use for the input/largest slope resistors [2].

I'd be interested in hearing thoughts on this, and if I've seriously misunderstood anything.

[1] Vishay Advantages of Precision Resistance Networks for Use in Sensitive Applications Technical Note: http://www.vishaypg.com/docs/63512/VFR_TN109.pdf
[2] https://www.ebay.com/itm/1x-300198-47K-4K7-4K7-47K-High-Precision-Custom-Networks-2-3-or-4-Resistors/121930640926
 

Offline Kleinstein

  • Super Contributor
  • ***
  • Posts: 14496
  • Country: de
Re: Multislope Design
« Reply #19 on: December 21, 2017, 09:56:52 am »
The multi-slope converter does not have that many critical resistors.  To keep it relatively simple I would definitely not use that many different slopes for the rundown as the 3458 does. The many steps are mainly for high speed - if you have enough time (e.g. another 50-100 µs) one slower slope should be all it takes. This is how the Keithley 2002 does it. Having only one fine slopes means there is only one resistor ratio to adjust or with a modern design to measure. The extra steps used in the 3458 allow for a faster conversion, but it is not helping with accuracy - more to the opposite.

Drift in the resistors has 3 effects:
1) a shift in the offset. This is not that critical, as one will most likely have a kind of auto-zero measurement anyway. Thus alternate signal and zero. There are other source of an DC offset (OPs, input amplifier) and 1/f noise is also reduced by the alternating measurements.  So this kind of drift is easy to compensate for.

2) Drift can also cause the gain of the ADC to change. For long term, there usually is a direct path from the input to the raw (e.g. 7 V) reference to adjust the gain. This takes some time and adds noise and thus is usually not done that often. So compensation is possible, but good stability is an advantage.

3) If the ratio of the fine a coarse slope changes, this effects the linearity. Old meters like the 3456 used very stable ratios, adjusted to the exact numbers wanted to simplify math. Not sure about the ratios in the 3458 - they might be fixed and critical, but a self calibration of those rations is also possible, so that ratio drift can be compensated for. Especially with just one slow slope a periodic adjustment is possible, at least to get rid of long term drift. However this adjustment will take some time, though the adjustment for just a single fine slope might not be so bad.

The resistors at the reference amplifier (e.g. +-10 V) part will effect the gain and especially the zero drift. The gain usually scales a little slower than linear with the resistors. Depending on the circuit it takes 3 or 4 resistors.

If 2 separate resistors (as with switching at the integrator) are used for the + and - reference path, these two resistors also effect the zero drift, just like the inverter. So good TCR matching (like R1*R2 = R3*R4) of these 4 resistors might help.  In a set of 4 one could try swapping two to get the better matching. The resistors also effects the gain. In theory the LT5400 network might be an option - but hard to solder and limited values. Also capacitive coupling might not be that much desirable.

If a single resistor and thus switching at the +-ref voltage side is used, the resistor is mainly for the gain and TCR matching to the input resistor would be good. The fine slope resistor (if a separate one is used) has only minor effect - more like effecting DNL, and not very much.
 
The resistor for the input path effects the gain. In addition this resistor can have an effect on INL due to self heating. So here a low TC / low voltage coefficient is also a good idea, not just TCR tracking.

The switches are in series to the resistors and thus there is a limited use in using extremely good resistors, if the switches are not coupled as well. AFAIK the switch resistance has an TCR of about 6000 ppm/K so with 100K in series to a 100 Ohms switch, there will be an effective TCR of about 6 ppm/K, though with reasonably good matching. However tracking of the switches will be less accurate if one is at +ref and one at -ref in the one ref resistor scheme.

There is no need to have the negative and positive ref at exactly the same magnitude. So there is no need for accurate value matching. In the scheme of switching at the integrator slightly (e.g. 5%) different voltages could even be an advantage, as they would also make up a fine slope (using both refs together). I would consider this a rather clever idea, as it comes at essentially no cost and there is no problem with having a higher impedance switch for the fine slope. At first using + and - reference together to get the small difference sounds like a bad idea, but this is only used for a very short time (e.g. 10 µs) and thus has little effect and the two sources are used anyway alternating, so the difference already matters.

For the 3458 the input and coarse slope resistors are part of the same network. Not sure about the very fine ones, but these are not critical and done with a reduced voltage anyway. The same network also contains the resistors for the reference scaling to go from 7 V to a +-12 V.
The TCR tracking will be very good. It also provides a large substrate for the input resistor to get low self heating to effect INL.

As one can relatively easy do adjustment measurements for the drift, I don't think one will need such super stable resistors for the first test. One could still get stable readings, if one uses not just a zero adjustment, but also a gain adjustment more often. It would just reduce the speed to maybe half.  With same value / same batch resistors, there is still a chance to get reasonable matching, even if not on the same substrate.

Due to the higher demand on the input resistor, one might use a better one here, even if this means not having matching to the reference resistor(s).  Having the option to change to a different form factor can be a good idea. My guess is the first board could start with something like 15 or 25 ppm/K (e.g. thin film) resistors - there are still chances the first layout might not work that well.  The first version is likely also much about getting the software right and finding those nasty points that don't work as supposed.

For me the really unknown is the stability of the charge injection of the switches and also jitter caused by the switches. So hard to tell how suitable the DG419 or 74HC5043 are.

The amplifier behind the integrator is not that critical - so no special resistors needed there.

Another point to look at can be the integrator itself. Most better DMMs use a kind of compound amplifier made from 2 OPs for the integrator. This can help to have a more ideal behavior. However it can also be tricky to get stable without too much ringing. I think that today there should be better OP available as for the old days DMMs where we have schematics from. Some of the choices found in the old plans look odd from todays perspective.  Chances are there are better alternatives today.
 
The following users thanked this post: new299, albert22, pigrew

Offline new299Topic starter

  • Regular Contributor
  • *
  • Posts: 119
Re: Multislope Design
« Reply #20 on: December 29, 2017, 08:37:34 am »
Thanks again for your detailed observations. I will work with thin film resistors at first, but try and do the layout such that I can try foil resistors/networks are the suggested points later if everything comes up correctly.

Based on your note regarding using multiple opamps in the integrator, I've been reviewing the Keithley 2000,2001 and 2002 schematics. As far as I can tell these all use off the shelf parts, and the design should be instructive. I've attached copies of the integrator sections of various (reverse engineered) schematics I've found online (thanks to TiN and others).

Based on the schematics, I've made note of the opamps used below. However, I don't fully understand how they are being combined, and what benefit this provides. Is there any good reference on this?

In the Keithley 2000, there's a OPA177 which provides some kind of offset, to the second opamp which is a AD711. But I'm not clear as to why. Any pointers you can give me would be most welcome.

Below are my notes on which parts are being used in the integrators, as I understand it:

Keithley 2000
Integrator opamps: OPA177GS AD711JR
Gain opamp: NE5534D
Integrator cap: 222...
Switches: VN0605T SD5400

Keithley 2001
Integrator opamps: OPA177GS OPA602AP
Gain opamp: NE5534D
Integrator cap: 10nF Polypropylene 10%
Switches: ??

Keithley 2002
Integrator opamps: OP177G AD711JR AD744JR
Gain opamp: ?
Integrator cap: 100nF? 2.2nF np0?
Switches: SD5400C
« Last Edit: December 29, 2017, 08:39:07 am by new299 »
 

Offline Kleinstein

  • Super Contributor
  • ***
  • Posts: 14496
  • Country: de
Re: Multislope Design
« Reply #21 on: December 29, 2017, 11:59:27 am »
I also though about building an integrating ADC and thus had looked at some points before.
In my understanding, using 2 OPs for the integrator serves 2 purposes:

For sufficient BW without excessive input bias and current noise one essentially needs a FET based amplifier for the Integrator. However the DC 7 low frequency specs of those OPs are usually not that good. The 2 OP circuit can kind of split the low frequency and high frequency part. With something like the OP177 for the low frequency / DC part and an AD711 for the fast part.

The 2nd effect of the 2nd OP is  that the input voltage is low even if a small capacitor is used. Otherwise one has a input voltage of about 1/ GBW / C_int. In a first approximation this isn't even that bad, as it is still linear, but GBW is not that stable and there can be second order effects. To reduce the input voltage it is a good idea to have the low frequency OP to be reasonably fast too. However for stability reasons the additional OP for the DC offset  should not be faster than the 1st. OP.  From the frequency response, I like the combination used by HP in the 34401: an AD711 as the fast part and an OP27 with a divider at the output for the "slow" part. The divider effectively reduces the GBW of the OP and in addition reduces the higher frequency noise contribution - though it won't be a big deal with the OP27, but it can be worth it for the OP177 or similar. However the OP27 has too much input current noise to be considered a good choice.

My personal favorite would be a combination with two OPA141 or similar OPs. These modern JFET OPs are in the higher frequency part better than the AD711.  The low frequency noise is surprisingly good - not much higher voltage noise than the OPA177 and essentially no current noise. A lower cost alternative would be an OPA134. There is a higher DC drift, but for good DC precision one would use a kind of AZ mode anyway.  A divider at the output of the additional OP (e.g. 1:10) should set a reasonable speed ratio with two equal OPs to get a stable and fast response.

The extra Gain stage before the comparator seems to be OK with the NE5534 used in many versions: It's low noise, fast and low cost.

Anyway the OP's usually use the same pinout. So one can change this later if needed.
 

Offline saturnin

  • Regular Contributor
  • *
  • Posts: 116
  • Country: cz
Re: Multislope Design
« Reply #22 on: December 29, 2017, 06:23:05 pm »
I replaced OP177 with ADA4077-1 (0.25 ?V p-p noise, lower input bias current) in my KEI2010. It helped to reduce the ADC noise. Reading Kleinstein's post I am now curious whether OPA140 (or cheaper OPA141) would be even better choice. It also has 0.25uV p-p noise, but lower bias current and its noise.

I am looking for better solution instead of AD744 too (used as the integrator). I am thinking about ADA4627-1. It has three times less p-p noise (typ.) than AD744. If the integrator can't benefit from high slew rate of ADA4627-1 then again OPA140 may be a better option.

This brings me to DMM7510. Why? I think it uses a very similar configuration as Kleinstein suggested, i.e. 2xOPA140 (see attached picture).

 
The following users thanked this post: TiN

Offline Kleinstein

  • Super Contributor
  • ***
  • Posts: 14496
  • Country: de
Re: Multislope Design
« Reply #23 on: December 29, 2017, 08:20:54 pm »
The ADA4077 looks really good from the datasheet. In most aspects a step forward from the OP177/OPA177.  The 2nd OP in the integrator is mainly important for the low frequency noise. I would expect especially the 1 Hz-25 Hz range to be important - lower frequencies are likely handled by the AZ mode and input switching anyway. With BJT based OPs the current noise is especially a problem, as the 1/f cross over for the current noise is usually relatively high - thus the noise matching impedance (voltage noise / current noise) gets lower at low frequencies. So a 0.2-0.3 pA /Sqrt(Hz) at 10 Hz is really good for the ADA4077 (compared to about 1 pA/Sqrt(Hz) for the OP177). Changing the OP to a faster type might also cause trouble, as too fast an OP here could make the compound integrator unstable. When comparing the voltage and current noise, the usual circuit should have an effective source impedance of the signal and 1 reference resistor in parallel. So with something like 50 K each a 0.2 pA noise would correspond to about 5 nV and thus less than the voltage noise. So I would not expect a big difference with the OPA140.

For the integrator OP, the important noise should be higher frequency noise, like the 1 MHz range. Low frequency errors would be compensated by the 2nd OP. A higher speed is only of limited use. As the OP is operated in it's linear range only, the slew rate parameter is usually not important, it is more like the GBW that matters.  Even with a small integrator cap, the slew rate would normally be still rather low, more like in the 1V/µs range. The advantage of a faster OP at the integrator would be faster settling and thus the possibility to use a faster modulation scheme and thus a smaller capacitor. This could be an advantage if high resolution is wanted at high speed. However a higher GBW would not help much if the modulation and cap stay the same. Keep in mind that the AD744 uses external compensation - this might be different from unity gain compensation. So it is hard to tell how fast the AD744 is actually in that circuit.

Both OPA141 and ADA4627 would give a significant improvement in higher frequency noise over an AD744.
For the higher frequency noise it is the combination of the integrator and the following gain stage (slope amplifier) that matters. The often used NE5534 is still not that bad and changing that OP might influence the timing.  A lower noise might help with the noise, if limited by the rundown phase.  However the resolution might be limited by the timing resolution or similar. So the advantage of a lower noise OP in an existing circuit might be limited. The effect would be most visible at short integration times (e.g. 1 ms).

Interesting note on the DMM7510. I already was quite sure the ADC is not under the second box - that is most likely the input amplifier.
 
The following users thanked this post: TiN

Offline saturnin

  • Regular Contributor
  • *
  • Posts: 116
  • Country: cz
Re: Multislope Design
« Reply #24 on: December 30, 2017, 12:30:36 am »
@Kleinstein, thank you for your inputs. 

I will probably stay with ADA4077 as further improvement wouldn't be that big to justify risk of damaging the PCB during repeated desoldering.

I am still tempted to replace AD744 though. I need to perform new search since I overrated significance of slew rate parameter as you confirmed. Maybe ADA4625 would be even better than ADA4627...

As concerns the slope amplifier (NE5534), I tried to replace it with LT1037, but it was little bit worse then, so I put NE5534 back.

I agree it is probably the input amplifier instead of the ADC under the grey shield in DMM7510. The same approach is used in KEI2182 and KEI2010 (where the input buffer and MUX are shielded too).
 

Offline Kleinstein

  • Super Contributor
  • ***
  • Posts: 14496
  • Country: de
Re: Multislope Design
« Reply #25 on: December 30, 2017, 08:30:21 am »
The ADA4625 is a really low noise OP - but also take quite some current.  To make full use of it one should also change the NE5534, as for the high frequency part these two work together. The LT1037 was a poor choice, because it's not unitiy gain stable. An OPA209 might work (if the input impedance is low enough) - it may need an extra cap to reduce the speed. Changing only the post amplification does not help, as the AD744 is much higher noise.  In the ADC circuit, it depends also on other factors if lower high frequency noise really results in much lower overall noise.
 
The following users thanked this post: new299

Offline saturnin

  • Regular Contributor
  • *
  • Posts: 116
  • Country: cz
Re: Multislope Design
« Reply #26 on: December 30, 2017, 10:44:36 am »
Yes, ADA4625 is rather hungry if we are talking about supply current (Iq~4.0 mA), but AD744 takes 3.5 mA already. Still better than ADA4627 (Iq~7.0 mA!)

I know LT1037 is stable with gains of 5 or greater. In the slope amplifier, its gain is set to 6 in vicinity of zero-crossing (gain resistors 49k9 and 10k). I ran a simple simulation, didn't see any issue at first glance, so I tried it. As I said, the result was not a disaster, just slightly worse (~20%) than with NE5534.
Maybe LT1037 was too fast? NE5534 uses 47p compensation capacitor, which should give ~4V/us slew rate. I admit I don't get why high slew rate is an issue in this case...I should study some theory  :)

I would remark I am quite happy with modifications I have already made. I managed to reduce noise from 0.55 uV rms to 0.31 uV rms (@ 10V range, 0V input, 10NPLC, 1024 samples).
 

Offline Kleinstein

  • Super Contributor
  • ***
  • Posts: 14496
  • Country: de
Re: Multislope Design
« Reply #27 on: December 30, 2017, 01:59:53 pm »
Getting 310 nV_RMS at 10 PLC is already quite good, something around 100 nV/Sqrt(Hz) for 1 single conversion or 140 nV/sqrt(Hz) with AZ mode.

The expected noise from the ADA4077 would be about  0.3 pA/sqrt(Hz) times about 50 kOhm (depends on the ADC circuit) and twice the OPs noise at about 2-5 Hz, thus  2 times maybe 15 nV/sqrt(Hz).  This would be total of maybe 35 nV/sqrt(Hz) and thus only a small fraction of the residual noise.

There are also other noise sources. One that is hard to avoid is the input resistors.  Effectively one has the input and a reference path resistor in series. Thus possibly some 40-60nV/sqrt(Hz) from the resistors alone, thus about 1/4 the observed noise.

The effect of the higher frequency noise of the integrator and slope amplifier and thus likely the AD744 would depend on the integration time: it limits the accuracy the residual charge can be determined. It somewhat depends on the exact mode, but the more usual way would be that this noise contribution goes down with one over integration time. So it would be most important at high sampling rates. Chances are it would not matter very much at 10 PLC - especially if the 10 PLC are real single conversions and not averaging over shorter conversions. So comparing the noise at different PLC settings could give some clues on the noise sources.

For using the LT1037 it could  be ringing that can be higher than with a well compensated NE5534. The noise of this OP is still small compared to the noise of the AD744. It is well possible the NE5534 will set the bandwidth for the comparator path - a faster OP would result in a higher BW and thus more noise seen by the comparator. The compensation not only sets the slew rate but also the bandwidth for the OP. If the ADC uses a slow rundown slope, I would not expect the slew rate to be relevant. I don't have an accurate way to calculate the noise from the higher frequency part of the integrator, but I would expect something like  OP_s higher frequency noise for the integrator and post amplifier combined times the square root of the bandwidth (e.g. post amplification) and the time constant of the integrator (cap time resistor at the input path) to be  the main factors. Replacing the AD744 with something lower noise might bring down that noise component by a factor of maybe 3. Reducing the BW is tricky as this might require longer delays and thus a slower rundown phase.

When building your own ADC, reducing the BW might be one option.
 
The following users thanked this post: new299

Offline Kleinstein

  • Super Contributor
  • ***
  • Posts: 14496
  • Country: de
Re: Multislope Design
« Reply #28 on: December 30, 2017, 04:28:09 pm »
I looked at the specs of the Keithley 2010. They show the noise at 0.1 PLC nearly 8 times higher than with 1 PLC. This kind of suggests the noise from the rundown phase is a major contribution at 0.1 PLC, and already present with 1 PLC.  However there is still a chance this is more like quantization noise and not the AD744.

The specs also suggest that the longest integration time directly supported might be 5 PLC and thus 10 PLC would be 2 readings at 5 PLC averaged. This makes sense since at some point the 1/f noise contribution (e.g. current noise from the OP177) would dominate over the noise from the rundown phase.
 

Offline saturnin

  • Regular Contributor
  • *
  • Posts: 116
  • Country: cz
Re: Multislope Design
« Reply #29 on: December 30, 2017, 11:54:24 pm »
The most likely KEI2010 supports true (not averaged) 10 NPLC. It can be set only via GPIB/RS232 though. Supported range of values is 0.01-10.00. You can set e.g. 9.63 NPLC. I wonder why they chose slow rate to be 5 NPLC. I would prefer 10 NPLC as it is in KEI2000/2015 (they use the same ASIC to control A/D conversion).

I found an OPA140, which left after an old project. Couldn't resist and replaced AD744 with it  :) The result? The noise was further reduced to 0.28 uV rms (it is the average from ten runs, 1024 samples taken in each run, conditions same as above). Next step is clear, I will try to upgrade the slope amplifier too. OPA209 suggested by Kleinstein (thanks!) looks really good...
 
The following users thanked this post: new299

Offline Kleinstein

  • Super Contributor
  • ***
  • Posts: 14496
  • Country: de
Re: Multislope Design
« Reply #30 on: December 31, 2017, 10:26:52 am »
Upgrading the slope amplifier would not give such a big advantage. A first and easier step could be changing the 47 K / 10 k resistors at the slope amplifier to maybe half (e.g. add another pair in parallel).  A little extra capacitance in parallel to the higher resistor might help to bring back the BW to the correct value.

The 10 K resistor produces more noise than the NE5534 and OPA140 together. The OPA209 would only be better with reduced resistance, otherwise current noise would cause more noise. Anyway the NE5534 is already lower in noise than the OPA140 - so no real need to change the NE5534.

I won't expect a large effect of the fast OP on the noise at 10 PLC. The effect should be more pronounced for the shorter integration times. So it would be interesting to look at something like 1PLC and 0.1 PLC noise, before changing the resistors.

p.s.:
A remark on the integration times. There are two noise sources that change with the integration time: one is the 1/f noise of the "slow" OP (the OP177 in the original circuit)  this noise gets higher for long integration in one piece. The second is the residual charge measurement (e.g. due to the integrator, slope amp, ..) - this gets higher at short integration. With long integration times one usually used the AZ mode, thus alternating between the signal and a zero. There is a point at which it is lower noise to use several conversions and average instead of a single long conversion. There is a good chance this point of the optimum integration time could be in the range of 1-5 PLC - this is especially true for modern DMMs with a focus on fast conversions.
« Last Edit: December 31, 2017, 12:10:45 pm by Kleinstein »
 

Offline Kleinstein

  • Super Contributor
  • ***
  • Posts: 14496
  • Country: de
Re: Multislope Design
« Reply #31 on: December 31, 2017, 01:54:45 pm »
One more thought on the resistor noise: making the 10K/47 K feedback circuit much lower impedance is limited, as more current will flow and this could lead to more "noise"/crap on the supply. One possible solution to avoid a much higher current and much of the resistor noise could be using 2 depletion mode FETs (e.g. JFETs) with a resistor in between in a kind of current limiting circuit - near zero crossing this can be low resistance (e.g. 1 K range). It is nonlinear, but this is not a problem, more like adding to the nonlinear function of the limiting diodes.

Attached is the suggested circuit for the inverting slope amp case, the non inverting is analog.  The choice of JFETs also sets the resistor. A type with low threshold is likely preferred.

p.s.: The red curve shown the input current. Full scale is +-2.4 mA.
« Last Edit: December 31, 2017, 01:58:59 pm by Kleinstein »
 
The following users thanked this post: chickenHeadKnob

Offline saturnin

  • Regular Contributor
  • *
  • Posts: 116
  • Country: cz
Re: Multislope Design
« Reply #32 on: January 01, 2018, 11:43:15 am »
Happy New Year to everyone!  :)

Interesting idea about feedback resistors and JFETs. I would rather not to change topology of the ADC circuitry in KEI2010 (prefer 1:1 replacement). Definitely inspiring for new designs though.

I performed more tests with various NPLC settings with my modified KEI2010:

NPLC    test result     specs
0.01        63 uV         135 uV
0.1          11 uV           11 uV
1          0.66 uV          1.4 uV
5          0.38 uV          1.2 uV
10        0.28 uV           N/A

I am surprised there is no improvement at 0.1 NPLC at all. Otherwise I am pretty satisfied with results. It is worth to note I have made more modifications than I mentioned here. (I don't want to spam in this thread. I will rather enter a new post once I am finished with performance tests.)

I also tried to find out what slope amplifier is used in DMM7510. I would bet it is AD847J - as it can be seen (with some imagination :)) in attached picture stolen from Dave's teardown video. So, they used 2xOPA140 as a composite integrator, AD847J as a slope amplifier (with 49K9, 10K gain resistors) and LT1116 as a comparator. The last two are used in KEI2002 too, so not such surprise.
 
The following users thanked this post: TiN

Offline Kleinstein

  • Super Contributor
  • ***
  • Posts: 14496
  • Country: de
Re: Multislope Design
« Reply #33 on: January 01, 2018, 04:29:47 pm »
It is really odd to see not improvement in the 0.1 PLC case. Maybe one could look at a time series or histogram plot, to see if there is something special happening, like a special point of hitting a kind of idle tone and this way a point with poor DNL.

After changing something at the ADC it would be a good idea to at least do some DNL tests with histograms. The histogram might also show if there is even a chance to get better or if quantization limit might already be reached.

The improvement at 0.01 PLC with about a factor of 2 over the specs looks quite good. This is actually a little more than I would expect from changing from an 16 nV/Sqrt(Hz) OP to a 6 nV/Sqrt(Hz) OP with still the 10 K resistor (and thus 13 nV/sqrt(Hz) of noise). There is some extra noise gain due the input capacitance to ground, that might explain why the integrator OP is slightly more important than the slope amplifier and resistor. This noise gain might also explain why they can get away with an OP that is not unity gain stable.  Also the specs are likely a bit conservative.

One might still change the 10K/47 K resistor pair to some lower value, but keep in mind it might also have negative effects due to more stress on the decoupling. The JFETs part was an idea to get a low impedance for low noise and still not so much more current it's not really changing the topology - it's just a nonlinear "resistor" replacement (or in parallel) for the 10 K. I can fully understand if you keep it this way.

Usually the better way to test such things would be a really self made ADC. I thought about an ADC design even before this thread. This kind of explains why I had some points at hand so fast. My concept is a little in between the 34401 and K2000 ADC, with an µC (AVR) for control. This could be good at intermediate integration times (e.g. 1 PLC), but with some limitations at the very short integration times. Limitations at long times are not an issue, as averaging is a real alternative - so I see no real need for a true 10 or 100 PLC mode, if resolution at 1 PLC is already high enough.
 
The following users thanked this post: TiN

Offline David Hess

  • Super Contributor
  • ***
  • Posts: 16907
  • Country: us
  • DavidH
Re: Multislope Design
« Reply #34 on: January 02, 2018, 01:23:27 am »
One might still change the 10K/47 K resistor pair to some lower value, but keep in mind it might also have negative effects due to more stress on the decoupling.

Excessive load on the output of an integrated operational amplifier will cause offset shifts and other problems due to self heating from the output transistors.  This is what ultimately limits open loop gain and settling time and why higher noise OP-07 type amplifiers and lower power parts can achieve better precision than OP-27 type amplifiers and higher power parts which require a much lower impedance feedback network to take advantage of their lower noise.  Using an external buffer to unload the amplifier output from its own feedback network and other loads largely if not completely solves this.

Precision operational amplifiers use a mirrored layout of the input differential pair (actually four transistors), the output transistors, and other functions to reduce thermal feedback but this only goes so far.  George Erdi came up with this designing the uA725 at Fairchild in 1969 and then moved to PMI where he used the same design ideas for the OP-07 and its predecessors.
 

Offline Kleinstein

  • Super Contributor
  • ***
  • Posts: 14496
  • Country: de
Re: Multislope Design
« Reply #35 on: January 02, 2018, 09:33:15 am »
The Keithley 2010 uses a non inverting slope amplifier. So the extra current would come from the slope amplifier (NE5534), that is running rather hot anyway. The problem is more that the current would also flow through ground and this way could cause some trouble.

Somewhat sorry for confusing with showing the inverting version for a slope amplifier - in this case the current would actually come from the integrator, and loading the integrator could be a problem. I would not worry so much about thermal effects (as there is a second OP that takes care of the DC part anyway). However loading could change the open loop gain and add to AC supply currents.

Anyway for experiments around an multi slope ADC a own design would be much more suitable than a precious DMM. Especially with the Keithley meter there is also the somewhat odd way they do the AZ calculation that add low frequency noise - this can also make the interpretation of the readings more difficult.
 

Offline new299Topic starter

  • Regular Contributor
  • *
  • Posts: 119
Re: Multislope Design
« Reply #36 on: January 02, 2018, 11:16:01 am »
Hi All,

Happy new year, and thank you for your many notes. I'm slowly understanding things better. In the attached schematic I've added a second opamp to the integrator which could be used to compensate for low frequency noise as suggested. All opamps are labelled as AD711s, but I would plan to try the various combinations suggested.

I've replaced the analog switches (DG4xxs) with JFETs. The Keithley 2001 appears to use JFETs driven by a LM339, and I've used the same scheme here. An example of the driver circuit is shown in the bottom left. Will this scheme work here? Which JFETs might be appropriate here?

Thanks again for all your help.
 

Offline Kleinstein

  • Super Contributor
  • ***
  • Posts: 14496
  • Country: de
Re: Multislope Design
« Reply #37 on: January 02, 2018, 05:40:38 pm »
I personly don't like switching with JFETs very much. It's quite an effort needed to drive the gates.  Fast switching and protection against excess gate current are kind of difficult to bring together.  Switching at the negative side would also need a voltage lower than the negative ref. voltage, witch kind of limits the useful voltage range. The choice of p-channel JFETs is very limited. JFETs also tend to have quite a spread in properties.
I would not consider the ADC in the K2001 a good solution - OK to learn from, but not to copy. They still use MOSFETs for the fast switching for the main feedback.

Switching at the very input is odd - the FET towards ground should be behind the other one - otherwise it would shorten the input and leave to OPs input open. There usually is no need for the same magnitude slow slope both positive and negative.

The switch for the zero phase might show too much leakage - so it usually take 2 or even 3 switches combined and a series resistor. If the zero comes from behind the post amplifier, it will also correct for offset drift of that OP. 

It is also odd to have switching for the reference current at both ends - the more usual way is using switches only at one side of the resistor. So either one reference resistor and switching at the +- Ref side or using 2 separate resistors for + and - Ref and use switches at the integrator. Switching at the integrator is kind of a little easier, as the level is near ground.  It is also a good idea to have some balance in the switch resistance, which is easier, when switching is at the integrator side. However switching at the +- Ref side can be lower resistance, but this is usually with MOSFETs instead of JFETs.
 

Offline new299Topic starter

  • Regular Contributor
  • *
  • Posts: 119
Re: Multislope Design
« Reply #38 on: January 03, 2018, 08:28:31 am »
Thanks for your comments Kleinstein. In the attached schematic, I've reverted back to the DG419.

Based on your preiovus notes, I feel I have a better understanding of opamp selection here. But the switching is less clear to me. I would guess the on resistance isn't very critical, as this can be corrected for with the zero compensation. Various keithley instruments use the SD5400, this doesn't appear to be generally available but the datasheet quotes "Low Interelectrode Capacitance and Leakage", and I'm assuming the capacitance of the device is important?
 

Offline Kleinstein

  • Super Contributor
  • ***
  • Posts: 14496
  • Country: de
Re: Multislope Design
« Reply #39 on: January 03, 2018, 09:40:46 am »
Keithley used the SD5400 for switching. These are 4 MOSFETs with separate substrate connection, which makes them somewhat similar to half a CMOS switch. AFAIK these chips tend to get obsolete. In addition they need the extra gate to control the 2 MOSFETs. Ready made SPDT CMOS switches are relatively similar and easier to use, though in theory the N-Channel FET only version might have a slight advantage of less controlling capacitance. Still I would consider the DG419 a reasonable replacement, as the ready made chips also include the gate drivers and make the circuit more compact. These switches also provide a reasonable break before make timing.

Though I am not so sure the DG419 is the best choice, as this is a rather high voltage version with thus more charge injection and internal capacitive coupling - there might be other alternatives with better parameters (e.g. max4053, ADG633). Even the 74HC4053 seem to work in the 34401. The on resistance can be important, but so does the change injection or more specific the fluctuations of the charge injection. One has to find a kind of balance between on resistance and charge injection. The on resistance is in series with the current setting resistors and can add quite a bit to the temperature coefficient. However most of that resistance can be balanced to compensate (in the 34401 they have a non operated switch in series just for compensation). This makes it attractive to have the 3 important switches in one chip and also use the same resistance for the reference and signal channels (R2=R3=R4). As the switch is keeping the input side at low voltage, there is no need for the switches to be made for a high operating voltage. Switches for lower voltage (e.g. 5 V or 12 V) often are better with charge injection.

There is no need for both polarities for the fine slope, one is enough. Having less switches at the integrator is attractive, as this reduces leakage and capacitance. I even think one can get away without an dedicated extra switch for the slow slope, if the two reference voltage are slightly different (e.g. +10 V and -11 V). When turning on both at the same time, this corresponds to a -1 V reference and thus a slower slope. For the coarse steps the relevant reference is the difference of the two ref voltages. Due to tolerances one can not rely on the two reference currents to be absolutely equal anyway and thus needs to consider different values anyway - which is easy as it only adds a small offset.

P.S.: one more point: when doing the switching at the integrator side, most of the meters have a ferrite bead or similar between switches and the integrator. This is likely to reduce the effect of charge spikes from charge injection. The exact function is still not clear to me, but it kind of makes sense.
« Last Edit: January 03, 2018, 09:55:37 am by Kleinstein »
 
The following users thanked this post: new299

Offline new299Topic starter

  • Regular Contributor
  • *
  • Posts: 119
Re: Multislope Design
« Reply #40 on: January 04, 2018, 01:43:45 am »
Thanks Kleinstein,

I've made a first crack at a layout attached. The second fine slope is present, but I will remove it in a future revision. I've used DG419s and a DG417 for the integrator switch. Analog do a low on resistance version of the DG419 (2Ohms on resistance, ADG1419) in the same package. I'm wondering if this is worth trying out.

As you can probably see, I'm still a bit confused about the grounding. I've tried using star grounding for all the grounds, but I'm less clear on what should happen with opamps. I've therefore pulled all the negative opamp rails back to the same point too. But this is perhaps not necessary?

I still need to think about the integrator capacitor selection, it's laid out for something like a SMD NP0, but I should probably modify the layout so a through hole PP could be used too.

 

Offline Kleinstein

  • Super Contributor
  • ***
  • Posts: 14496
  • Country: de
Re: Multislope Design
« Reply #41 on: January 04, 2018, 11:35:38 am »
Grounding and similar layout parts are really a difficult part of the design, but it is likely important to get really good performance. I would not be so much concerned about DC shifts, as there will be an offset to zeroed out anyway. Howver anything that changes can be tricky and also those nasty switching spikes can be difficult. So good decoupling is likely needed, especially for the switches, but also for the OPs.

The OPs would rund for most of the part on a +-15 V or similar supply. So the first line of decoupling would be from the +15 to the -15 V at the OPs. For the critical parts (sensitive points, but also noisy ones) one might consider extra isolating impedance (small resistors or ferrites) towards the global power. However there also needs to be a coupling from the supply (usually the negative side) to ground.

I don't think very low resistance switches like the ADG1419 are a good idea. A low resistance comes at the price of more leakage, more charge injection (or at least fluctuations if there is good compensation) and also stronger supply spikes on switching. Quite often the low resistance parts are also slower. Leakage and change injection are a little less critical when switching at the reference side - so at that position lower resistance part might be acceptable.  For switching at the integrator, it is more like looking for lower voltage parts like ADG633. There are also different requirements for the different switches - the fine slope and zero switch don't have to be low resistance at all.

Already the DG419 has quite some capacitance, which could be a problem with several of those switches.


 
The following users thanked this post: new299

Offline Kleinstein

  • Super Contributor
  • ***
  • Posts: 14496
  • Country: de
Re: Multislope Design
« Reply #42 on: January 05, 2018, 08:41:57 pm »
Here is my suggestion for a rather simple multislope converter controlled by an µC (AVR Mega 8 or similar). The circuit is simplified by leaving out a few more obvious parts, like the supply and decoupling. A clean supply and good decoupling is likely very important though. The circuit is to a large part inspired by the HP34401 ADC and the more classical multi-slope ADCs like in the Keitley 2000, with rundown phase with fast and slow slope. In addition the µC internal ADC (e.g. 10 Bit) can be used to measure the residual voltage.

The part on the left is an amplifer for the reference voltages. Noted as +-12 V though the right value would be more like +11 V and -12 V, thus two intentionally slightly different values.

IC1 A and IC1 B are the two OPs for the integrator. The 4 inductors at the switches (74HC4053) are ferrite beads inspired by the 34401 design. Not sure they are actually needed of might want parallel resistors in the KOhms range. This would be a part to check with real hardware. There is no extra slow slope, but combining the two slightly different slopes should work as a slow slope as well. The three resistors (shown as 50 K) at the 4053 should be the main critical resistors in the ADC circuit. Using 3 resistors of same value should give reasonable good compensation for the on resistance in the 4053.

IC4 is working as a slope amplifier in inverting configuration. Using the JFETs Q1/Q2 is optional if rather low resistors are used for super low noise - not sure this is really woth it unless one would go for 8 digits.  A first test could use just a resistor here. The inverting slope amplifier has the advantage that the output voltage range is limited to about +- 0.7 V around the ground / reference level. In addition there is little load to the ground / reference level. Here the reference level is set to about 1 V above ground by a divider. This allows to use the µC internal comparator to detect the crossing of the reference level.

As a kind of second amplification stage there is the OP IC6B as an inverting amplifier with an adjustable reference level. This level should be rather close (or identical) to the 1 V level used for IC4. This amplifier is supposed to be powered from 5 V just like the µC and amplifies the residual charge signal for the µC internal ADC. In addition the inversion is needed to get a hardware zero phase.

Q3 and Q4 (small N-MOS FETs - maybe other types, preferably small ones) are used as a switch for the zero signal. The two fets might be needed for good isolation for good precision. Depending on the mode of operation one might even get away without this HW zero path. R61 is used to add a little bit of negative voltage, to compensate for the shifted reference level used. The zero level would be at about 1/10 (set by R60/R61) of the -12 V reference and thus about 1.2 V (for the ADC) with the resistor values given.

Feedback during the runup phase will be via an extra comparator IC2. Comparison is towards a fraction of the input signal (at LSP1). The combination is also used in the 34401 and many other HP meters, though with using an inverted input signal added to the integrator output. Comparing to the input signal gives kind of a preview to the future integrator state. Due to this kind of preview, the speed of the comparator used for the feedback should not be that important - so chances are one can get away with the lower power 393 instead of the faster, but higher power LM311. Accuracy of FB during runup is not that critical anyway.

AFAIK the AVR µC does not use an internal PLL for it's clock. So I hope to get away without extra synchronization flipflops for the control signal. Depending on the µC used these might be a good idea (for the 2 reference signals). The control is separate to allow for using both refs at the same time.

The one point I am still not sure about is the shifted level for the slope amplifer. One drawback I get, is that the ground of the ADC is somewhat coupled to the µC ground for the µC internal ADC. It also needs quite a lot of extra resistors to shift levels. Maybe there is a better way ? I don't really like the idea of using something like a +-2.5 V supply for the µC, though it might be an option.

From the software side the AVR is fast enough to control the FB during runup. This is with SW in assembler and using the run time for the timing, which is kind of OK as the AVR has a predictable timing (no cache) and the software is not that complicated. Here it is more the integrator HW that sets the speed limit. I would prefer a rate slower than in the 34401, more like the K2000. It looks like the 34401 could use it's high frequency FB only at the price of a reduced input range and long neutral phases - however this adds quite some noise.

For the rundown phase the control by software (instead of dedicated HW) causes some extra delay on the order of 300 ns and thus similar to the delay due to the comparator. I don't think a slightly slower rundown phase should be a problem for a first test. When using the ADC for residual voltage, one might not even need the slow slope (except for super high resolution) and the hardware zero phase.
« Last Edit: January 05, 2018, 08:46:39 pm by Kleinstein »
 
The following users thanked this post: BravoV, new299, doktor pyta, floobydust, alm

Offline new299Topic starter

  • Regular Contributor
  • *
  • Posts: 119
Re: Multislope Design
« Reply #43 on: January 16, 2018, 08:08:03 am »
Thanks Kleinstein, the design looks really interesting! It will take me some time to understand it all.

Do you plan to do a layout of this too?
 

Offline Kleinstein

  • Super Contributor
  • ***
  • Posts: 14496
  • Country: de
Re: Multislope Design
« Reply #44 on: January 16, 2018, 12:45:39 pm »
I have a layout ready for a first test board - just need to find time to make the board. It is just for a test and thus has a few air wires to be added.
I also did some minor changes in the circuit.

For the way of operation I am not really sure. I see 2 promising modes of operation. One in the a feedback with reading the comparator at a fixed time to choose between two feedback PWM patterns (like 5% pos and 95% negative, and the other way around). This is about what the 34401 seems to do. This system is the easier one and will be thus my first test.
The other option would be looking also at the time when the comparator changes level and this way get a finer control with many more PWM levels. The second option might give better FB, but it is also computational more demanding and thus can not run that fast.

The HW is rather similar the the 34401: SPDT switches at the integrator. The main differences are:
1) also controlling the signal channel, which is only used for compensation at the 34401. 
   So the ADC will be more classical multislope with a separate rundown phase.
2) using the combination of the both refs to get a fine slope. It is a little higher noise, but not significant, as the fine slope is used only for a short time. It is a rather simple idea so I am surprised I have not found this in the plans of commercial DMMs.
3) using the ADC to measure the voltage after rundown (instead of in the fly in the 34401) - this should give extra resolution and low noise. The µC has the ADC anyway and compared to the comparator the ADC has lower BW, which is good for low noise.
 
The following users thanked this post: TiN, Vgkid, new299, doktor pyta, floobydust

Offline Kleinstein

  • Super Contributor
  • ***
  • Posts: 14496
  • Country: de
Re: Multislope Design
« Reply #45 on: January 27, 2018, 05:41:32 pm »
A short update:

I decided to go with a first test on a breadboard (the µC and UART interface is reusing an existing board) version first, with a slightly more simplified version. It uses no external comparator and thus the µC internal comparator for feed-back in the run-up phase too. I know this will lead to some INL/DNL errors due to DA of the integrating cap. However I see not reason an external comparator for a better run-up should not work - this one is not critcal for the final noise.

Anyway the ADC works reasonably, as far as I can tell so far.  Despite of using only a µC clocked at 8 MHz the rundown can be quite fast: about 60 µs - even with some room for improvements.  Currently it seem to be limited by mains hum - so hard to tell how much real noise. So far it's something like 1-5 ppm with a 18 ms integration in a multi-slope mode  and something like a little better than 0.1 % in a dual slope more with 20 µs integration and 60 µs (+ another 40 µs for the µC internal ADC) rundown.

I still need to write some of the GND based part (PC) software and the test measurements to bring the different scales together so it is a little hard to tell how high the noise really is.


Edit:
Attached is a scope picture of the integrator waveform at 20µs/div (500 mV/div ?). The initial sharp rise is the fast "rund-down", followed by an overshoot with fast rundown in the other direction and than a slow rundown (going up) and the horizontal phase (reference off) for the ADC to sample. After that comes the beginning of the next multi-slop run-up that starts as a 100 kHz triangle in this case.  So there is quite some overshoot due to delay of  the comparator (and µC program), but still the rundown can be quite fast. 
« Last Edit: January 27, 2018, 06:21:39 pm by Kleinstein »
 
The following users thanked this post: new299, doktor pyta

Offline new299Topic starter

  • Regular Contributor
  • *
  • Posts: 119
Re: Multislope Design
« Reply #46 on: January 28, 2018, 12:16:48 am »
Hi Kleinstein,

Wow! Sounds like great progress! How do you plan to reduce the mains hum? Would you try integrating over a complete power cycle as a way to attack this?

I would love to see pictures of your build/layout.

Do you plan on eventually making the gerbers available?
 

Offline Kleinstein

  • Super Contributor
  • ***
  • Posts: 14496
  • Country: de
Re: Multislope Design
« Reply #47 on: January 28, 2018, 08:22:49 am »
The steps to reduce mains hum will be integrating over a full cycle (20 ms) and adding some extra shielding. I had a software bug that made it around 18 ms instead of 20 ms.

Sill better shielding is needed, as to understand the noise it also helps to do measurements with much shorter integration time - up to the point of dual slope mode with very short integration time. With the 1 nF integration cap I could go down to 20 µs integration - though at limited resolution.

Besides better shielding, the next step would be the special modes to measure the reference ratios. Currently I only get raw data, like number of run-up steps, µs of positive and negative reference and the ADC steps.  So it takes three more steps to bring these 4 numbers together.
The step from run-up  steps to µs of pos and neg reference is relatively easy, as this is a fixed integer number that can be determined from the software simulation. The next is getting the ratio of positive to negative reference from a special operation of the ADC - I have the code ready, just have to test it.  For the ADC it might be enough to look at the noise, but for a faster and better value of the scale factor it would also need a special mode of operation.

I will make the layout available - but the current tests might give some changes to the circuit and the board might include something like an input amplifier.
So far the first point to change is that I have hardly a need for the hardware zero mode.

Attached is a picture of the circuit on the breadboard. Form right to left the Chips are:
OP07 to do inversion of the reference voltage (currently 5 V supply or the green LED)
74HC4053 to do the switching
OPA2134 (low noise audio JFET OP, 8 MHz GBW) for both OPs of the integrator
      the integration cap is the small sytroflex one near the scope probe
OP27 used for slope amplification  (slight overkill)
MCP6002 as final amplification for ADC (2. nd OP unused)
The white wire at the left is the output to the µCs ADC. The ribbon cable in the center top is the connection to a µC board with Mega48 µC.

The circuit is running at +-8 V and +5 V, as this are the supply I have at the breadboard.

 
The following users thanked this post: 3roomlab, new299

Offline Kleinstein

  • Super Contributor
  • ***
  • Posts: 14496
  • Country: de
Re: Multislope Design
« Reply #48 on: January 30, 2018, 01:20:02 pm »
A short note on progress:
 
The cal measurement to check the ratio of the positive and negative reference seems to work well and fast. So no need for long time stable resistors for the reference amplifier.

The Measurement for the µC internal ADC needs still a few tweaks - it runs through but the numbers still need to make sense.

Noise in the dual slope more is now down very much - good for about 14 bit resolution now.  It looks like some DA effect is visible, but just a little barely at the noise level. It would take a modified SW to get a longer soak time to keep the cap charged for more than about 50 µs.  So the polystyrene cap seems to be good enough.

For the board design I still have a few open points. One is the reference:
I guess I should include a reference on the ADC board. The LM399 is kind of simple, but it is more like long time stable and not really low noise. For the ADC test I would more prefer low noise but no need for long time stability. The long time value and the absolute scale would be due to measuring a reference through the normal input path anyway. My current idea would be something like 3 LM329 refs (essentially similar to LM399 but without the heater and a cheap plastic case and thus not long time stable).  Having 3  refs in series and thus 21 V nominal voltage would reduce the number of critical resistors in the reference amplifiers a little, as there would be little amplification towards the about 25 V difference between the positive and negative reference.

Is there a simple way to to a compensation for the possibly large TC of the LM329 ? I am afraid that buying a few more looking for the 3 refs to compensate is not that practical - chances are a batch from one source would be all one way.

I am currently using normal slow onto-couplers for the UART and thus 9600 baud.  This is just fast enough to send out the data from 20 ms integration in real time. Is there a value in faster transfer, e.g. for 1 ms integration time ? Even when doing the calculation in the µC it would be about 3-4 ms to send out 24 or 32 Bits.
 

Offline Kleinstein

  • Super Contributor
  • ***
  • Posts: 14496
  • Country: de
Re: Multislope Design
« Reply #49 on: January 30, 2018, 07:50:31 pm »
Another update:
I got a first real test in dual slope (no FB during integrate) with putting together the 3 result parts (fast rundown, slow rundown and adc for the residual charge. For a first test I measured the discharge of a capacitor. The plot only shows the last end of the discharge, starting at -300. The y scale is in a kind of arbitray units (around 10 mV at the capacitor), the x scale is just the number of reading (about 15 ms apart). The right graph is a magnified version at the end.

The residual scattering still looks like it contains a kind of dominant frequency, so it is not only noise, but likely still some hum left.
 

Offline Kleinstein

  • Super Contributor
  • ***
  • Posts: 14496
  • Country: de
Re: Multislope Design
« Reply #50 on: February 10, 2018, 10:13:13 am »
Another update:
I got the multislope mode running - the main problem was a software error, that added noise noise during runup.
Considering the rather low reference voltage (around 3.5 V) and the not so perfect layout (breadboard) I am kind of surprised on how low the noise can get. Currently the standard deviation for a simulated AZ mode (taking the difference of 2 consecutive readings and thus the Allan variation for 1 time step) is around 2.4 µV with a full scale range of around 3 V.  So it is good for 6 digits resolution. The direct readings don't show much extra LF noise and drift.

Chances are it gets better with a larger reference voltage: the resistor noise should go down with the square root of the increase in voltage, the noise contribution (relative to the range) of the OP would even go down linear.

I think it is now really time to make a board. The breadboard experiment still let to a slight change in the circuit (slope amplifier relative to GND and level shifting only after that).
Any idea for test that should be done with the breadboard version, before making a board ?

I am still unsure about the reference: I tend towards having a separate low noise reference with the ADC. For the long term there might be a second reference later (e.g. LM399) that would be used for the scale adjustment. However I am not so sure about what reference to use:
The LM399 is rather noisy (thus the idea of an extra reference).
An LTZ1000 is kind of expensive.
3 or 4  LM329 in series (the higher voltage makes 1 resistor less relevant) might be an option, but they could have a significant TC.
For the compensated zeners like 1N821 the noise data are kind of confusing me.

Any other good ideas for the reference ?
 

Offline Kleinstein

  • Super Contributor
  • ***
  • Posts: 14496
  • Country: de
Re: Multislope Design
« Reply #51 on: February 12, 2018, 05:50:36 pm »
Yet another update:

With a small change in circuit and maybe a contribution from SW (better adjustment of the internal ADC scale) I could reduce the noise even further, now at slightly below 1 µV for the difference of two consecutive conversions (to eliminate the 1/f noise, just like an AZ mode would do it).

The possible effect of the SW change make me think about a possible noise contribution: The ADC is kind of free running in a sense that the conversion start with a slightly different charge in the integrator ( the range covered by the µC internal ADC). This could be seen as a kind of natural dithering, when averaging more conversions for longer integration time. If there would be significant DNL errors, especially intervals too small this dithering effect would cause extra noise.  So using the argument the other way around, the relatively low noise - much of it can be accounted for - would also indicate that there should be no large DNL errors, at least not at the small range tested by the dithering.

Another result came from comparing two speeds of modulation during the run-up phase: There was very little difference in the noise. This means the switches (74HC4053) seem to contribute little to the noise - at least more frequent switching does not increase the noise. So chances are good one can get away with the 4053 switch (no need for ADG633 or max4053 - which seem to get hard to get anyway).  Also jitter seem to be not a serious problem with the AVR. So chances are that is could work without the extra flipflops for synchronization.

For the board it is now the question if low costs, low power, linearity or low noise would be more important ?
For the OPs I kind of have the problem that for testing a DIP form factor would be nice, but the good OP options for the most critical OP (OPA141 and ADA4077) are not available in DIP (at least not easy).
 

Offline chickenHeadKnob

  • Super Contributor
  • ***
  • Posts: 1059
  • Country: ca
Re: Multislope Design
« Reply #52 on: February 13, 2018, 03:21:58 am »
Yet another update:

For the board it is now the question if low costs, low power, linearity or low noise would be more important ?
For the OPs I kind of have the problem that for testing a DIP form factor would be nice, but the good OP options for the most critical OP (OPA141 and ADA4077) are not available in DIP (at least not easy).

This is the least of the problems listed, really its a non-problem. Simply order smt parts in soic packages and use dip adapter boards if you want to have a proto socket. They are not hard to solder. People should move to surface mount as it isn't that hard outside of BGA and WCLSP.

Soic to dip:https://www.ebay.ca/itm/20PCS-SOP8-SO8-SOIC8-TO-DIP8-Interposer-board-pcb-Board-Adapter-Plate/310575279861?hash=item484fbaaef5:g:0XkAAOSwtfhYqoh0

I vote for optimizing performance (linearity first then noise) other optimization can come after. Avidly watching your progress. cheers.
 

Offline Kleinstein

  • Super Contributor
  • ***
  • Posts: 14496
  • Country: de
Re: Multislope Design
« Reply #53 on: February 13, 2018, 09:34:53 pm »
I did a test to see how much DA in the integration cap would influence the INL. As far as I understood it, one possible effect of DA would be an INL error, depending on how the run-up phase is working.  So see the effect I had the idea of comparing two slightly different runup version with the same HW in an alternativ fashion. So there is one conversion with a slow rundup (24 µs modulation period) and one conversion with a faster run-up modulation (8.2 µs). Ideally those two versions would give the same result - however due to a slightly different integration time the scales are off a little, but not much. The idea is to compare the two methods. To get a better scaling I used he difference of the readings as a function of the reading of the "slow" mode. The idea behind this is that I expected INL errors due to DA to have a different dependence on the voltage for the two modulation methods.

To get a stronger effect, I also tried this measurement with a higher DA polyseter cap instead of the polystyrene cap used for the other tests.
On the scope some fast DA effect is visible (however hard to trigger - so no photo).
For a large part the measured curve looks really smooth. However there is a small wiggle in the curve just at the point when the slow mode passed 50% PWM - thus showing the worst DA effect.  The worst case error is a little more than 0.5 units of the ADC, which corresponds to about 12 µV.  With a range of about +-3 V this would be a +- 4 ppm local INL error. This would be a good number for a using a poor quality cap. 

However now comes the odd thing:  when doing the test with the much better PS type cap, the errors seems to be a nearly perfect copy, despite of a much lower expected (and observed one the scope)  DA.  So the error seems to come from something else than DA in the integration cap. Now these 4 ppm error are kind of a bad thing - though only very local, just a 1 mV range. A more normal DNL test might miss this. It is nor just an external disturbance - the data are from three runs passing the critical range.

The other result from these runs is that the noise seems to be not much worse with the faster modulation. So the switch is not yet critical for the noise. There seem to be some drift between the two modes of measurement. As they use the same HW, this is likely due to a drift in the charge injection, that is about 3 times more important in the fast mode.

Attached are curve for the difference in measured voltage in 2 modulation modes. Units are cycles of positive ref. which correspond to about 22 µV each. The curves a taken with a PS and PET integration cap.
 

Offline floobydust

  • Super Contributor
  • ***
  • Posts: 7219
  • Country: ca
Re: Multislope Design
« Reply #54 on: February 14, 2018, 04:18:04 am »
I'm not sure at what voltage the kink in the ramp occurs or the present schematic, the parts and such but what came to my mind is cross-over distortion. Some op-amps have low output-stage bias current, almost Class B. Maybe try add a pullup or pulldown resistor to the op-amp's output, to force it more into Class A; only a few mA at most for low self-heating.

Most MCU's have a bit of clock-noise on their I/O pins, so I add 50-100R series resistors to roll off. Just don't want MHz getting into the analog section. The 4053 ABC control lines I would see as one path and add resistors there. I find ferrite beads only work if the impedances are similar i.e. 600Z ferrite bead does almost nothing into an op-amp's high-Z input, or a circuit section with high, say >10k impedance.

Audio Precision finding polystrene capacitors having less DA than mica parts. That surprised me, but that was at ppm levels.
 

Offline orin

  • Frequent Contributor
  • **
  • Posts: 445
  • Country: us
Re: Multislope Design
« Reply #55 on: February 14, 2018, 06:22:29 am »
Audio Precision finding polystrene capacitors having less DA than mica parts. That surprised me, but that was at ppm levels.


I thought mica didn't have particularly good DA, but I haven't tested one.  Teflon is an order of magnitude better than any other capacitor I've tested, polystyrene, polypropylene or NP0 ceramic - and I've looked - to replace the integration capacitor in my HP 3455A.  Some Russian teflon capacitors have been the best so far, but to get 80nF, they are _huge_.

One is best off designing the AtoD converter to maintain an average voltage of 0V on the integration capacitor - unlike the 3455A where you can get a 2 to 3 count error due to DA (particularly noticeable with auto-cal on).
 

Offline Kleinstein

  • Super Contributor
  • ***
  • Posts: 14496
  • Country: de
Re: Multislope Design
« Reply #56 on: February 14, 2018, 03:43:04 pm »
I will likely use a polystyrene cap, as I have enough old ones to use. These caps are a few of the old parts that may actually be useful. Polystyrene caps are supposed to very good with DA, nearly as good as PTFE.  Mica is not good for DA, more like similar to mylar / PET film caps. The good thing about mica is the long term stability, but this is not an issue here. There is a small effect of the capacitance value (because of the ADC used for residual charge), but something like 1% drift is not a problem and it can be adjusted internally.  Anyway the test with the FKS type (PET) capacitor shows the ADC seems to be not that sensitive to DA. I had expected a much larger effect with some more ripples in the curve using the PET cap - but I could not see any extra errors. I can see the DA effect on the scope - right after the rundown, there is extra relaxation and it takes a few more 10's of µs for the voltage to settle. So maybe I did not see the DA effect as the waiting time before reading the value was long enough. The used SW version was not tuned for a fast rundown. So the good thing is that DA does not seem to be an issue, at least not from the rundown patterns. There might still be a longer time scale effect when switching between voltage levels.


Edit:  The test confirmed the capacitive coupling: it got worse with more wire at the sensitive nodes and got better (though not much) with some improvised shielding.
I think I have a good idea where that trouble might be coming from: There is likely some parasitic coupling from the output of the slope amplifier to the reference inputs to the 4053. If the zero crossings of the integrator get in sync with switching the reference (this is possible at the point where the wiggle is) the errors can add up over nearly 1000 switching events.  A test for this effect will be the next point.

I don't think the output stage of the OP is a problem. The OPA134 is an audio OP with a relatively high current consumption and likely an output stage with low corss-over distortion. In addition it is only the average current to cross zero, due to the modulation the current will be more like a square wave.
« Last Edit: February 14, 2018, 05:05:01 pm by Kleinstein »
 

Offline Kleinstein

  • Super Contributor
  • ***
  • Posts: 14496
  • Country: de
Re: Multislope Design
« Reply #57 on: February 17, 2018, 08:53:59 pm »
Today I tried a classical INL test with using a floating reference. As a don't have a good stable reference, I tried it with 2 new alkaline cells.  Not to load the cells too much I added an OP07 as an input buffer. For the larger voltage range 2 green LED are use as a reference, and a slightly larger resistor for the signal input (around15 K for the input and 12.8 K for reference). So full scale is around 4.5 V for the slow modulation mode and around 4 V for the fast modulation mode.
 
It kind of worked, but there is quite a lot of drift, likely from the batteries. So the result is not really useful showing less than about 50 ppm INL in the 1.6 V + 1.6 V vs. 3.2 V test.  There is a chance the switch did some transient shorts to the batteries - like no reliable break before make  :-- .

However there where side result:
1) The green LEDs are a low noise reference:  noise on a short is around 1 µV eff, and with the 3.x V batteries around 1.3 µV. So the LEDs are at least low noise :-+, though quite some TC.

2) with a larger voltage there is some DA effect visible from the average voltage in the integration cap. So the MKT cap did not work anymore - it left the working range of the µC internal ADC. Even with the PS cap there is some relaxation after rundown visible, about proportional to the voltage, and smaller (about half the size) with the faster modulation.

3) with the stationary voltage the slow an fast modulation mode produce slightly different results: the fast mode gives about 12 ppm lower reading. Not sure if this is INL or just a slightly off scale factor. Ideally the scale factor should be the same as the integration time is now identical. Chances are DA is causing this and much of the effect could be linear.

The test on the breadboard uses just one zero crossing comparator and thus a larger DA effect is expected compared to the final version using FB with a look ahead contribution from the signal, like many HP DMMs use.

The noise in the fast modulation mode is significant (about 2.5 times) higher than with the slower modulation. In the initial tests I did not notice the difference, but this was with a slightly slower version and more background.  The much higher noise is kind off odd, as much of the noise in the slow more is expected to be due to the OP and thus only a small part due to switching. With the 3 times faster modulation  (123 kHz compared to 41 kHz) I have expected a little higher noise, but only a factor of 3  (or square root of 3) for only the small part related to switching. So maybe some pulses get to short for the breadboard version.
 

Offline branadic

  • Super Contributor
  • ***
  • Posts: 2414
  • Country: de
  • Sounds like noise
Re: Multislope Design
« Reply #58 on: February 17, 2018, 10:05:41 pm »
Why not skipping the breadboard and doing some free wiring on a copper clad board? This way you can avoid the parasitics and learn about the critical points within the circuit. Thus you learn what to look for when laying out a printed circuit board.

-branadic-
Computers exist to solve problems that we wouldn't have without them. AI exists to answer questions, we wouldn't ask without it.
 

Offline David Hess

  • Super Contributor
  • ***
  • Posts: 16907
  • Country: us
  • DavidH
Re: Multislope Design
« Reply #59 on: February 18, 2018, 07:23:24 pm »
I wonder if an extra low input bias current integrator would allow using a length of Teflon coaxial cable as an integration capacitor.  RG-178 is 29 picofarads per foot so probably not less expensive than an actual Teflon capacitor.
« Last Edit: February 19, 2018, 12:46:12 am by David Hess »
 

Offline Kleinstein

  • Super Contributor
  • ***
  • Posts: 14496
  • Country: de
Re: Multislope Design
« Reply #60 on: February 18, 2018, 08:50:09 pm »
One might use a coax cable as a capacitor, but depending on the design of the integrator the needed cap is in the 0.5 to maybe 2 nF range. Thus this would be 5 to 20 meters.  So I don't think it is worth it.

As far as I can see the DA of the capacitor is not such a big problem. PTFE caps are supposed to be not that much better with DA than PS caps. Polystyrene caps are a little difficult to get, but not that much - at least in Germany one can still order them at something like 40 cents.  One problem with DA is that good specs are rare and DA is more than just one number, it also has a time dependence. There are also options to reduce the DA effect with a better feedback during run-up. Currently I have the very simple version with just the zero crossing comparator, which is known to be not that good. I had paned at least to use a second comparator with a mixture of the input signal - this would especially reduce the slow DA effect due to the average voltage during run-up. The next better step would be using a kind of fast, low resolution ADC to get a little more info for a better runup - accuracy would not be critical already 2 or 3 comparators could give better zero finding.
The other way to fight DA is using a fast modulation - however this makes coupling (see below) more critical.

The more tricky part so far is more like  (capacitive and via supply)  coupling from the slope amplifier, comparator and digital control lines to the integrator and reference current sources. With a little shielding it is visible on the breadboard, but not that bad anymore. I would expect only that one point with a 50% PWM during run-up to be really critical - that would be a rather narrow known range (around 0.1% of the range). A few other points are just visible for the breadboard version, but I doubt is would be with a reasonable layout.

Currently I am surprised how good the slower mode works, the faster modulation mode still has some odd points, like working most of the times, but something like one out of 10 readings (not a constant frequency) is off by about 2 ppm in addition to the normal noise. Without those out-layers the noise looks similar. So chances are the switches and digital jitter is not a problem.
 

Offline orin

  • Frequent Contributor
  • **
  • Posts: 445
  • Country: us
Re: Multislope Design
« Reply #61 on: February 19, 2018, 12:44:17 am »
PTFE was definitely better in my tests.  I posted the graphs I got from Bob Pease's DA test circuit here:

https://www.eevblog.com/forum/testgear/hp-3455a-last-digit-jitter-in-hi-res-auto-cal-mode/msg967855/#msg967855

And from later in that thread (my/original capacitor refer to the integration capacitor from my 3455A):

Quote
Now, as far as absorption is concerned, my capacitor is about the same as a good regular polypropylene capacitor.  I did't post the picture, but a pair of WIMA MKP 4 capacitors (33 and 47nF in parallel, http://www.wima.com/EN/mkp4.htm) gave a similar curve to the original capacitor and an 80nF polystyrene capacitor was a little worse.

The MKP capacitor datasheet claimed low DA.

I was running my test with Pease's circuit running with a frequency and duty cycle similar to what the 3455A AtoD converter uses, so it's possible that the teflon cap isn't so much better at a different frequency/duty cycle.

 

Offline David Hess

  • Super Contributor
  • ***
  • Posts: 16907
  • Country: us
  • DavidH
Re: Multislope Design
« Reply #62 on: February 19, 2018, 12:51:16 am »
I always found that qualifying capacitors yielded quite a variation in dielectric absorption and leakage between different types naturally but also between lots of the same capacitor.  I never had Teflon capacitors to test though.

Polystyrene has an annoyingly low maximum temperature.
 

Offline Kleinstein

  • Super Contributor
  • ***
  • Posts: 14496
  • Country: de
Re: Multislope Design
« Reply #63 on: February 19, 2018, 06:05:59 pm »
Especially at the low end DA can vary between caps. One factor might be humidity inside the cap. So far I am quite happy with the PS cap. I can see a slight effect of DA even with the low DA PS capacitor, but so far it is more like a small effect and I don't see a really viable option for a lower DA cap than the PS ones.  If I really look fine at the data one can see some "drift" / relaxation after the rundown phase, that is slightly different depending on the runup phase (likely the last pattern) - but so far this is in the 10 ppb range. So this would be something to correct if more than 8 digits are called for.

For the ADC it is more about keeping the charge small, so that less DA can build up.  Worst case I would consider numerical correction of the effect of the last pattern.
 

Offline branadic

  • Super Contributor
  • ***
  • Posts: 2414
  • Country: de
  • Sounds like noise
Re: Multislope Design
« Reply #64 on: February 19, 2018, 06:55:37 pm »
Have you tried compensating dieelctric absorption as shown in "Understand capacitor soakage to optimize analog systems"



-branadic-
Computers exist to solve problems that we wouldn't have without them. AI exists to answer questions, we wouldn't ask without it.
 
The following users thanked this post: Kalvin

Offline Kleinstein

  • Super Contributor
  • ***
  • Posts: 14496
  • Country: de
Re: Multislope Design
« Reply #65 on: February 19, 2018, 10:59:42 pm »
I have not tried the DA compensation and will likely not use analog compensation anyway. So far DA is visible, but it is not clear if it will really cause severe INL problems. Chances are that most of the effect of DA will be a slightly modified scale factor and thus not a real issue.  As far as I see there are three parts of DA  effecting the ADC: one is kind of the slow part that comes from the average voltage during one conversion. This to a large part would give a scale error and maybe some after effect when changing between voltages. Here the first step is to make this voltage small, by using a second comparator for the run-up. I am not so sure how good it works, but this should give a pretty good reduction.

The second part would be the change in average charge with feedback pattern. Depending on the voltage the average charge will change a little. Here it helps to make the feedback faster and maybe use a better feedback algorithm, e.g. by using more than one comparator or maybe even an ADC during run-up. I might try 2 comparators later as a kind of 1.5 bit flash ADC.  I did a crude initial test for this effect by comparing the two run-up modes (see earlier post). To my surprise the difference was pretty constant over most of the range, even with a mylar cap. I would expect this DA contribution to change with feedback mode and thus should show up in the difference between the two modes.

The faster mode still shows some odd extra noise (those 10% of points that are off), that i don't understand. This kind of makes the comparison more difficult. In addition there is some drift between the two mode - likely due to charge injection changing with temperature or supply voltage. So I may have to repeat the comparison with two intentionally slower modes - so less background and more DA effects expected.

Finally there is an effect from the very last part of the feedback pattern. It looks like that the very last part of the run-up phase has a minute effect. I read the residual charge after rundown twice with some 100 µs in between and for this time a change in voltage by about 1-4 ADC steps or about 20-80 µV for the capacitor is visible, depending on the run-up pattern, likely from a change in the last part, as i only saw like 2 cases. As the 100 µs waiting time is already more than the runup step size, I would not expect much more change with longer waiting. These 1-4 ADC steps are not very much (still well below noise for the 20 ms conversion) and may be better corrected numerical than in analog HW.
I guess I should somehow record the last part the the feedback for debugging.

DA might be one of the effects limiting the linearity. So it is kind of important. The best choice of modulation frequency depends on the DA and this way it effects the speed needed for the integrator and µC. The current tests are still a bit slower than the HP34401 design.. The 34401 design for some reason uses a very fast modulation and limits the useful range - likely to make this work with the slow integrator. I am not sure the high modulation frequency is because of DA, it could also  be because of the ADC used to measure the residual charge without a rundown.

So despite the possibly fast integrator (higher BW OPs) I would not go for such a fast modulation, unless there really is a problem with DA. I would more like hope to improve on the feedback mode to keep the charge small.  As I don't care very much about the fast conversion modes like < 1 ms, I also don't care very much about the slightly faster rundown that is possible with less charge to start with. For a 20 ms conversion I think some 120 µs for the rundown (without the second ADC conversion currently used) should be fast enough, and some of this is avoidable by reducing the comparator overshoot and a faster µC clock.
 

Offline branadic

  • Super Contributor
  • ***
  • Posts: 2414
  • Country: de
  • Sounds like noise
Re: Multislope Design
« Reply #66 on: May 13, 2018, 07:32:50 pm »
Any news on your topic?

-branadic-
Computers exist to solve problems that we wouldn't have without them. AI exists to answer questions, we wouldn't ask without it.
 

Offline Kleinstein

  • Super Contributor
  • ***
  • Posts: 14496
  • Country: de
Re: Multislope Design
« Reply #67 on: May 13, 2018, 08:20:39 pm »
I am still at the project. I had a layout nearly ready - only to find out that I ignored a type of capacitive coupling and had about the worst possible layout for that. To reduce it I had to redo the layout more or less from start.

I am still little unsure about the reference - will use 3 LM329 (in series) for a first test.  I know the LM329 is not that great with TC and not the very lowest noise. It is still possible to use low noise zeners (e.g. 1N825) in the same layout.

With a little luck I get a board ready this week.
 

Offline iMo

  • Super Contributor
  • ***
  • Posts: 4897
  • Country: vc
Re: Multislope Design
« Reply #68 on: July 07, 2018, 09:03:36 am »
@Kleinstein: any new results with your design?
 

Offline new299Topic starter

  • Regular Contributor
  • *
  • Posts: 119
Re: Multislope Design
« Reply #69 on: December 26, 2018, 09:18:10 am »
Hi,

I've restarted work on my design. I have my board working in a basic dual slope configuration currently, and am slowly working my way through various issues. You can find my notes here:

http://41j.com/blog/2018/12/multislope-adc-bring-up-dual-slope/

I'm currently trying to understand why I'm seeing such a big difference between the positive and negative slope speed. Thoughts and suggestions on how I should proceed in testing/evaluating issues are most welcome.
 
The following users thanked this post: iMo

Offline Kleinstein

  • Super Contributor
  • ***
  • Posts: 14496
  • Country: de
Re: Multislope Design
« Reply #70 on: December 26, 2018, 10:13:39 am »
The board looks nice - my design is still on the breadboard and using a low supply.

For the circuit I am surprised not to see diodes in the output amplifier to limit the output amplitude. The AVR usually does not like a full +-10 V signal at the comparator. The normal way is to have 2 antiparallel diodes parallel to the feedback resistor. This works even better of the amplifier at the output is inverting.

For the different gains in positive an negative direction I have no good idea. However I am a little surprised with the code. With ARUDINO C++ / C code it would be difficult to get an accurate timing. At least there are chances that delay may change a little if the compiler version changes, as the same C code not always gives the same machine code output.  So it might help to at least have the conversion part in ASM. However this can not explain the rather large difference positive to negative. The separate codes for positive and negative direction cause some discontinuity at zero, just near the zero readings from an AZ mode.

For high resolution it is normally a good idea to do the final integration from one direction only. This avoids different scale factors and an delay / offset of the comparator and slope amplifier would only add an offset.
The way I do it is the following: first always integrate up (at least 1-2µs, until the right sign is reached), than down til zero crossing and than slow up. So it is always the same sequence, just different times. One no longer needs a slow down unless one wants an additional very slow down as a last step.

Of cause one would still need to solve the different slope problem - not sure if this is more like a hardware problem or a software one. One could check the timing in the simulator.

To get the exact ratio of the up and down slope it could be a good idea to use the ADC circuit to also measure the ratio (e.g. in a special test mode).
 
The following users thanked this post: new299

Offline new299Topic starter

  • Regular Contributor
  • *
  • Posts: 119
Re: Multislope Design
« Reply #71 on: December 26, 2018, 01:35:10 pm »
For the circuit I am surprised not to see diodes in the output amplifier to limit the output amplitude. The AVR usually does not like a full +-10 V signal at the comparator.

No, it doesn't like it. I have a couple of dead Arduinos now. :) I'm currently using fractional gain on the output amplifier. I think I might want to move to a bipolar external ADC at some point. It might be useful for debugging if nothing else.

However I am a little surprised with the code. With ARUDINO C++ / C code it would be difficult to get an accurate timing. At least there are chances that delay may change a little if the compiler version changes, as the same C code not always gives the same machine code output.  So it might help to at least have the conversion part in ASM.

I agree. From previously experience, the overhead of even digitalWrite's is reasonably high, so the timing will not be accurate (but should be consistent I think). I will need to rewrite this.

However this can not explain the rather large difference positive to negative. The separate codes for positive and negative direction cause some discontinuity at zero, just near the zero readings from an AZ mode.

I cleaned the board in an ultrasonic cleaner, and then sat it in IPA for 30mins under agitation. This seems to have almost completed cleared up the slope differences. The flux I like (AMTECH NC-559-V2-TF) seems relatively low resistance. I previously had issues on this board with residual flux under the switches throwing measurements off as well. I wonder if I quit using this flux on these kinds of boards...

Anyway the current measurements as attached (and I've updated the blog post).
 

Offline Kleinstein

  • Super Contributor
  • ***
  • Posts: 14496
  • Country: de
Re: Multislope Design
« Reply #72 on: December 26, 2018, 02:48:05 pm »
For the signal send to the comparator one can relatively easy limit the signal in an inverting amplifier: just have two additional diodes back to back in in the feedback. This way the output is between some -0.8 and +0.8 V, still with a steep slope around the zero crossing. With a simple divider towards 5 V (e.g. 5 K and 22 K) the signal would be in a range suitable for the arduino internal comparator.  This is the way I use it.  An alternative would be using an external comparator (e.g. LM311).

For debugging I prefer the scope over reading with the µC. Though reading with the µC internal ADC can also help. Here a divider can help to bring the signal in the right range and avoid damaging the µC.

Even under the arduino environment one can directly write to the IO ports to avoid the extra delay from digitalWrite. For the beginning it is not that bad, as it only adds a fixed time delay - though at least consistent with the same program. The extra delay makes the use of the slow slope a little more difficult, as the added delay means there would be quite some time for the slow slope to make up the delay. So the slow slope should not be that much slower (maybe around a factor of 10). Still if there are some 5 µs lost in the reaction time this would be some 50 µs lost to make it up at -1/10 the slope.

For the program the possibly tricky part can be that  "IF (x ==0)"  and "IF (x > 0)"  may take a different time. Also for 16 bit numbers some operations may take a different time depending on the value. Getting code with a well defined run time is one of the few cases where assembler programming has a real advantage - in C one would at least need lots of testing (e.g. in the simulator) on the actual timing. For a first low speed, less accurate version it may still work in C.

If possible I would such an conductive flux for sensitive parts.
 
The following users thanked this post: new299

Offline new299Topic starter

  • Regular Contributor
  • *
  • Posts: 119
Re: Multislope Design
« Reply #73 on: January 02, 2019, 01:32:42 pm »
Small update. I attempted to rebuild the board using all ADG1419s. This did not work well. After reset the integration capacitor had a tendency to swing negative. Before (very slowly over 60s as before) drifting back to a positive value. I put this down to higher charge injection, does this seem correct?

The ADG1419 datasheet does not list charge injection. Can this be calculated from other parameters? The Vishay, and Maxim DG419s do, as do some other Analog parts. This leads me to believe that charge injection may not be well controlled in the ADG1419, and it might not be an ideal part for my application.

I'm thinking about building a board, just for measuring charge injection to test various parts and improve my understanding.
 

Offline Kleinstein

  • Super Contributor
  • ***
  • Posts: 14496
  • Country: de
Re: Multislope Design
« Reply #74 on: January 02, 2019, 02:28:33 pm »
For switching at the integrator the CMOS switches should not be very low resistance. So the ADG1419 are not a good choice. Usually charge injection goes up about like 1/R at a given voltage rating. So a high charge injection is very likely. The charge injection depends on the voltage level at the switch and the value near ground is close to optimum.

I use just simple 74HC4053 - except for missing tight the leakage specs they are quite suitable.  They are reasonable fast and thus suggest good jitter specs and 3 switches in a case is very convenient to the 3 main paths trough 1 chip.  I consider the on resistance about the right value. 
For leakage one might need to check before use and maybe select a good one - the typical specs are OK, it is just that they don't test them very much for such a cheap part.  I get a net charge injection for an ON/OF cycle of about 1 pC.

AFAIK the Fluke 8846 DMM also use HC4053.
 

Offline iMo

  • Super Contributor
  • ***
  • Posts: 4897
  • Country: vc
Re: Multislope Design
« Reply #75 on: January 03, 2019, 08:34:34 pm »
PF2019!
I've been trying to understand how the multislope works. Because of lack of parts I've done a simple simulation for the run-up phase. My understanding so far is following (an Example only):
1. I created 1000 chunks, 20us each, such it fits into 20ms
2. after resetting the integration Cap the logic is switching the VrefP and VrefN based on the comparator's output such it tracks the integrator around the zero (at 20us comp_output sampling period)
3. The binary counter (the top pane green indicator) shows the number of crossings through zero.

With 0V input I get something like 470 counts (runup zero crossings), With +10V and -10V I get ~250counts. The counts to input voltage dependency is V shaped therefore. Is that something I may expect or I miss something fundamental here?
« Last Edit: January 03, 2019, 08:57:47 pm by imo »
 

Offline Kleinstein

  • Super Contributor
  • ***
  • Posts: 14496
  • Country: de
Re: Multislope Design
« Reply #76 on: January 03, 2019, 09:07:39 pm »
The simulation is about what one should expect - at least at the very basic level. To get better accuracy there should be extra provisions to keep the number of switching events constant.

In a simple (though good) case the ref switches follow a sequence where the reference is
1)  fixed positive
2) positive or negative depending on 1 comparator reading
3) fixed negative
4) positive or negative depending on 1 comparator reading

The relevant number is not counting zero crossings, but the time the references are active (e.g. counting positive phased for step 2 and 4 in the example above).
 

Offline iMo

  • Super Contributor
  • ***
  • Posts: 4897
  • Country: vc
Re: Multislope Design
« Reply #77 on: January 03, 2019, 10:49:39 pm »
 ::)
By replacing a piece of wire I've been now counting the positive charge. My chunk of charge is 20us*I_ref and the total number of chunks is 1000 (=20ms).
With
Code: [Select]
10V inp I get  250
0V  inp I get  501
-10V inp I get 749
Looks much better :)
Thanks!

 

Offline iMo

  • Super Contributor
  • ***
  • Posts: 4897
  • Country: vc
Re: Multislope Design
« Reply #78 on: January 08, 2019, 01:04:19 pm »
..To get better accuracy there should be extra provisions to keep the number of switching events constant..
I think this scheme (a pwm like modulation) would be something you refer to.
The Vcomp transition from 1 to 0 - that is something I cope with. When compared to zero I get usually problems - Vintegr moves somewhere off for reasonable Ri,p,n, Tx and C values and when sweeping from -10 to 10V Vinp.
« Last Edit: January 08, 2019, 01:57:34 pm by imo »
 

Offline Kleinstein

  • Super Contributor
  • ***
  • Posts: 14496
  • Country: de
Re: Multislope Design
« Reply #79 on: January 08, 2019, 02:07:37 pm »
There are different possible schemes to get a constant number of switching events. The picture seems to have used a continuous PWM like sequence. It looks like 1 transition is simply by time. The other maybe from the zero crossing of the integrator with some delay.

How, and how accurate this is done during the run-up is not important, as the errors don't add up. A more crude or noisy control would only increase the excursions of the integrator a little. This can effect the average voltage of the integrator and thus the effect of dielectric absorption. However normally the modulation frequency is high enough (e.g. > 10 kHz) to not make his an issue even with a simple control scheme.

During run-up it's important to sum up the correct times for the references - so the reference switches should be in sync with a clock and not directly driven from the comparator.

The VCOMP signal is not the comparator, so not sure about this signal source or use.

The scheme I had described is a little different, with no fixed transitions, but fixed states.  Each Cycle has only 4 possible sequences, 1 dominant positive one dominant negative and 2 mixed, half and half. This corresponds to 2 readings taken from the comparator.
The continuous PWM way can have a slight advantage, but is more difficult to implement. The for step case is more like simple.
 

Offline iMo

  • Super Contributor
  • ***
  • Posts: 4897
  • Country: vc
Re: Multislope Design
« Reply #80 on: January 08, 2019, 04:15:15 pm »
..The scheme I had described is a little different, with no fixed transitions, but fixed states.  Each Cycle has only 4 possible sequences, 1 dominant positive one dominant negative and 2 mixed, half and half. This corresponds to 2 readings taken from the comparator..
Could you point us to a simple picture with the cycle, plz?
 

Offline Kleinstein

  • Super Contributor
  • ***
  • Posts: 14496
  • Country: de
Re: Multislope Design
« Reply #81 on: January 08, 2019, 04:42:42 pm »
The modulation scheme I described is from the US5200752  patent.

In short form this a 4 step cycle:
1.  fixed reference at positive for a short time (e.g. 2 µs) and read the comparator at the integrator output
2. depending on the comparator reading before chose positive or negative reference for a fixed time (e.g. 20 µs)
3.  like step 1, but with negative reference
4.  like step 2

The reference setting is changing from pos to neg either between steps 1 and 2 or between  2 and 3 .
The reference setting is changing from neg to pos either between steps 3 and 4 or between  4 and 1 .

Attached is a simulated (spread sheet) curve. The blocks mark the beginning of the steps mentioned above. The rundown phase has the steps in short sequence.

 
The following users thanked this post: razvan784, iMo

Offline iMo

  • Super Contributor
  • ***
  • Posts: 4897
  • Country: vc
Re: Multislope Design
« Reply #82 on: January 09, 2019, 12:52:37 pm »
Your scheme solves the issue with none-constant number of P and N switching. But the number of constant duration P and N phases is discrete and rather low, therefore the "runup resolution" is low (you count the number of those discrete phases).

My scheme above with "continuous pwm" during the runup has constant number of switching, and, the P/N is none-discrete in each sample period.
When the P or N "on" time will gate a 50MHz oscillator (an example) and will count its clock I may get for example 450000/450000 counts with Vin=0V and with 50us sampling period in the 20ms integration time frame (and maybe 50000/850000 with 10V, etc.)..
« Last Edit: January 09, 2019, 01:02:05 pm by imo »
 

Offline Kleinstein

  • Super Contributor
  • ***
  • Posts: 14496
  • Country: de
Re: Multislope Design
« Reply #83 on: January 09, 2019, 04:20:37 pm »
I know that the run-up resolution is limited. However in my view resolution is not the important point for the run-up phase. The first important point is the worst case charge at the end of run-up, which influences the length of the rundown phase. A second, related point is the needed integration capacitance which corresponds to the worst case charge in between. A smaller capacitance might lead to less noise for short integration times.  For short integration times the noise is often limited by higher frequency noise of the integrator and amplifier behind, and this gets better with a smaller capacitor.

However to longer integration times the integrated low frequency noise takes over. So there is a limited use in reducing the capacitance very much.  Depending on the details of the integrator and rest of the circuit something like < 1-10 nF for the cap would be nice to have the cross over at less than 20 ms. A smaller cap could still help with very fast conversions, but it also needs a faster amplifier in the integrator.

The continuous PWM type feedback can give a lower charge if the control is well made. Something like a factor of about 2 for the maximum charge and a little more (with a BW limited input signal) for the final charge. However the simple feedback directly from the comparator and a fixed time for the other transition (this is similar to the Adcmt 6581 DMM) is not really better than the simple 4 phase system. I think the 2 methods are about equal quality and similar effort. It would need a more advanced PWM feedback (e.g. using a fast ADC or the comparator timing) to get the slight advantage.

There is absolutely no need to use a very fast clock during run-up. It not about fine steps, but knowing the steps well.  So 10 µs steps are fine as long as the length is accurate (e.g.  to some 0.1-1 ns).  It only adds about 1 time step to the rundown time, that usually is more in the 100-500 µs range anyway. The main resolution comes from rundown. Here higher clock can help - though there are limits to how fast the comparator is or should be.
 

Offline iMo

  • Super Contributor
  • ***
  • Posts: 4897
  • Country: vc
Re: Multislope Design
« Reply #84 on: January 09, 2019, 04:59:15 pm »
The "continuous pwm" in my picture is intended for runup only. The worst case residual charge for run-down will be -10 or +10V.
The run-down will be the next process and a business as usual.

Imagine a simple DIY ADC with following spec:

1. run-up phase duration 20ms (50Hz suppression)
2. number of fixed steps in the run-up is 1000, each step is 20us
3. each runup step starts with VrefP (P) "on" and it is "PWM", where P/N ratio varies inside the step (in my picture the step is the period between T1 and T2 for example)
4. the number of P and N switchings in the runup is constant
5. total runup charge measurement: when the Vref P or N is active ("on"), it gates a "P" or "N" 20bits long binary counter, and the counter counts a 50MHz clock -> that way it measures the total runup P and N duration (the charge) with a 20ns resolution (1 million total counts in 20ms)
6. after the 20ms runup finishes the run-down phase starts, with whatever strategy you want (ie 16-20bit fast SAR as a "residue ADC", multislope, or other known approaches)
7. the run-down phase duration max 19ms
8. max ADC measurements per second: 25

With Ri, Rp, Rn around 20-50k and the integration cap=3n3-6n8 you may fit inside the 20us runup steps.

The resolution of runup:     16+ bits
The resolution of rundown: 14+ bits.
 :phew:




« Last Edit: January 09, 2019, 08:00:01 pm by imo »
 

Offline Kleinstein

  • Super Contributor
  • ***
  • Posts: 14496
  • Country: de
Re: Multislope Design
« Reply #85 on: January 09, 2019, 08:32:04 pm »
For the run-up resolution the counter clock is not relevant. The step size to set the resolution is the time it needs to get the worst case residual charge. So if the runup is using time intervals of 10 µs to set the references, the step size is usually this time. So the resolution is more like 20 ms / 10 µs = 2000 steps  or some 11 Bits.
For the rundown the resolution depends on the method used.  In the simple case of a single speed rundown with a comparator the resolution could be something like 10 µs  (the step size from the run-up) divided by the timing resolution (e.g. 50 ns with a 20 MHz clock). So the simple rundown would than have some 10 µs / 50 ns = 200 Steps  (near 8 bit). So in total it would be near 19 Bits (plus sign).

Here it is not really relevant what accuracy the run-up has - the total resolution til after the fast rundown is integration time (minus fixed part) divided by the timing resolution for the rundown. So something like 20 ms / 50 ns = 400,000 steps.  A different value for the run-up steps only moves resolution between the 2 phases. Longer Integration would give higher resolution. The timing resolution is limited by the comparator, not just the clock.

A way to higher resolution in a slower slope to get a higher resolution without a super fast and thus high bandwidth and thus higher noise comparator.  A 2 nd slope lower by a factor of 16  could add another 4 bits. A 50 ns timing resolution is already quite optimistic for the fast slope and even more for the slower slope(s).  The BW and thus timing resolution may need to be a compromise between a short rundown and low noise. So the gain in actual resolution from the slower slope(s) can be lower, as the slower slopes may need a reduced BW.

If a residue ADC is used, its useful resolution is limited, as the scale factor depends on the integrating capacitor and absolute value of the resistors. So the gain uncertainty can limit the useful resolution, depending on how and when the scale factor is calibrated.

The time for the rundown phase in the typical better DMMs is more like 100 µs - 2 ms, usually no need for more time. This time also includes a zero phase to discharge the integrator. So with 20 ms integration there can be something like 48-49 readings per second or with an auto zero mode some 24 readings per second. Many DMMs also need more than 20 ms for there full resolution, though it can help against 1/f noise to only use 20 ms. So the resolution at 20 ms can be a relevant target, even though the full resolution might still need averaging of several of those short readings.
 

Offline iMo

  • Super Contributor
  • ***
  • Posts: 4897
  • Country: vc
Re: Multislope Design
« Reply #86 on: January 09, 2019, 09:00:25 pm »
Thus do you say that knowing the charge budget coming from references during the run-up phase with, say, 100x better resolution, plays no role?
« Last Edit: January 09, 2019, 09:30:56 pm by imo »
 

Offline Kleinstein

  • Super Contributor
  • ***
  • Posts: 14496
  • Country: de
Re: Multislope Design
« Reply #87 on: January 10, 2019, 07:19:22 am »
One still has to know the charge budget during run-up very accurate, but one does not need a fine resolution setting the charge. So10 µs quantization is good enough, if those steps are know to something like 0.1 ns.

A coarse quantization only effects the time needed for the rundown phase and indirectly the required size of the integration capacitor.
 

Offline iMo

  • Super Contributor
  • ***
  • Posts: 4897
  • Country: vc
Re: Multislope Design
« Reply #88 on: January 10, 2019, 08:17:38 am »
Assuming "ideal" components (switches, references, comparator, integrator) and ideal precision/accuracy with any timings in runup (talking here runup only), and having two results from runup (in both cases the runup is 20ms long and all components are identical):

A. Pcharge/Ncharge = 674/326

B. Pcharge/Ncharge = 67443/32557

From what you wrote above the B has none benefit (compared to A) for the final result?
« Last Edit: January 10, 2019, 08:21:20 am by imo »
 

Offline Kleinstein

  • Super Contributor
  • ***
  • Posts: 14496
  • Country: de
Re: Multislope Design
« Reply #89 on: January 10, 2019, 05:01:54 pm »
Just the higher resolution of the numbers has no direct benefit, as it is not about resolution, but accuracy of the actual time.

A finer quantization during run-up can have a slight advantage in getting a slightly lower final charge, if the feedback algorithm is good. But it's more about the algorithm not the quantization. A lower charge would allow a slightly faster rundown.

If done in a good way the continuous feedback could have an advantage that it could get away with a slower (AFAIK up to factor of 2) modulation.  So I am still open to a better feedback alternative.

Maybe I have a look at the continuous feedback option again - not for more resolution, but to avoid coincidence of zero crossing and reference switching.  My standing here so far is that the simple fixed time + comparator (like ADCMT6581) way is likely not better than the simple step way and the better feedback I have in mind is a little slow and needs scary complicated ASM software.
 

Offline iMo

  • Super Contributor
  • ***
  • Posts: 4897
  • Country: vc
Re: Multislope Design
« Reply #90 on: January 11, 2019, 08:39:29 pm »
Here is a complete simulation of a Run-Up phase of a simple DIY Multislope integrating ADC built from junkbox parts. Intended for people who want to play with something more complex than blinking an LED and who want to learn.

The Runup is 20ms long, with 1000 fixed steps @20us.
The integrator is composite one, with slope amplifier and fast comparator.
There are also 3 counters - for VrefP, VrefN and Runup_Clk events.

In the below example the input voltage is a sine wave 4Vpp, at 4V DC.
The simulation itself runs till 20ms, exactly.
You may measure the residual voltage at the end of Runup phase therefore.

The sequences and timings are provided by various voltage sources and by a simple CMOS logic. Timing is considered precise.

The ADC strategy is to sample the comparator output @20us periods, and to switch the VrefP and VrefN references as required. The number of VrefP and VrefN switchings is not constant, but 1000 in total.

This is not a continuous pwm Runup, nor any high-end related stuff, but rather a wiki-like one example intended for hobby experimenters.

With the below ready example you should get VrefP=321 and VrefN=679 at the runup end. With Vinput=4V with no added sine wave you should get the same (as the 500Hz sine wave cancels out during integration).

With a -10V Vinput you may get VrefP=955 and VrefN=45, and vice versa with 10V at its input.

With Vinput=0V (input shorted) you should get VrefP=504 and VrefN=496.

The 3 voltages in the upper pane do represent the event counters, at the end of the simulation you may go with the cursors to the very end of the timescale and read out the counters and residual voltage values.

Enclosed is the .asc source and .plt file.
Worked with LTspice latest, and the Bordodynov library for some parts used. The parts were chosen as an example only. You may experiment with better parts when models are available.

Note:
1. Before you start to mess with different parts, R/C values and timings, try to run the stuff to get familiar with it.
2. Not all models of op-amps and switches work fine. Feel free to experiment.
3. The V1 schematics is rather complex, the simulation speed is about 30us/sec with a mainstream 2 core notebook. So take a nap.
4. You will get around 750MB of data (waveforms) with the example.

Provided as-is.

« Last Edit: January 12, 2019, 08:42:39 am by imo »
 
The following users thanked this post: jiemelar

Offline Kleinstein

  • Super Contributor
  • ***
  • Posts: 14496
  • Country: de
Re: Multislope Design
« Reply #91 on: January 11, 2019, 09:23:06 pm »
It's an interesting way of simulating more digital stuff. The simulation looks valid.

However a constant number of reference switching events is kind of a requirement to get good accuracy:

I get something like 2 pC of charge injection from a pos/neg/pos cycle for the reference switches. With a reference current of some 300 µA the 2 pC correspond to an equivalent timing error of some 6 ns or some 0.3 ppm of error for a difference of 1 switching cycle. The DG419 are relatively low resistance and may thus have even more charge injection.

So I don't think the suggested feedback method would really work.
If one does not want to program in ASM one could still use an µC to control the feedback and use 2 (+1 for the input) external flipflops to synchronize the reference switching to a constant clock (e.g. 200 kHz from the µCs timer). This way slight timing errors in from the program would not matter. 
 

Offline iMo

  • Super Contributor
  • ***
  • Posts: 4897
  • Country: vc
Re: Multislope Design
« Reply #92 on: January 12, 2019, 09:12:26 am »
And here is a Basic version, with minimum parts. It cannot be done simpler, afaik.
The simulation speed is about twice the above version.
Btw, I've seen an ADC in hardware (in situ), in this Basic configuration (better parts used) which claims 6.5digits.. Simple rundown phase used.

 

Offline ali_asadzadeh

  • Super Contributor
  • ***
  • Posts: 1914
  • Country: ca
Re: Multislope Design
« Reply #93 on: January 12, 2019, 09:50:39 am »
Nice topic :) ;)
ASiDesigner, Stands for Application specific intelligent devices
I'm a Digital Expert from 8-bits to 64-bits
 

Offline Kleinstein

  • Super Contributor
  • ***
  • Posts: 14496
  • Country: de
Re: Multislope Design
« Reply #94 on: January 12, 2019, 10:28:48 am »
And here is a Basic version, with minimum parts. It cannot be done simpler, afaik.
The simulation speed is about twice the above version.
Btw, I've seen an ADC in hardware (in situ), in this Basic configuration (better parts used) which claims 6.5digits.. Simple rundown phase used.

The implementation looks simple for a discrete parts solution or in the spice simulation. There are a few possible simplifications: e.g. using a single chip with 3 SPDT shwitches (e.g. 74HC4053). The logic part could also be done by a CPLD or µC. So the HW side could use less chips.
My current favorite is using a µC - a little similar to the early MS-ADCs, but with a modern faster µC in a single chip instead of a slow CPU plus support.

One can get high resolution even with a simple rundown, if the integration time is long enough. If an AZ OP is used in the integrator the useful integration time is no longer limited by 1/f noise. As an extreme the Solartron 7081 goes up to 8 digits without a slow slope, though only after some 50 seconds. The circuit is not a classical MS ADC, but more like a continuous integrating ADC.  However a classical MS ADC build in a similar way could perform similar.

Still I don't think using an AZ OP and very long integration is the modern way to go, as they are relatively noisy and with computer readout there is also value in good resolution at shorter times (e.g. 1-10 PLC).
 

Offline iMo

  • Super Contributor
  • ***
  • Posts: 4897
  • Country: vc
Re: Multislope Design
« Reply #95 on: January 12, 2019, 10:55:09 am »
.. There are a few possible simplifications: e.g. using a single chip with 3 SPDT shwitches (e.g. 74HC4053). The logic part could also be done by a CPLD or µC. So the HW side could use less chips.
My current favorite is using a µC - a little similar to the early MS-ADCs, but with a modern faster µC in a single chip instead of a slow CPU plus support..
The max voltage with 74HC4053 is +/-5V, afaik. That limits the part a bit.
I think nobody will mess with uC in the inguard logic today. A complete logic with counters and serial output (opto isolated) fits into a smallest fpga or mid cpld (iCE40, or similar). The verilog exercise is a weekend project for most today's talented builders with 6++ digits ambitions..  :)
« Last Edit: January 12, 2019, 11:04:17 am by imo »
 

Offline Kleinstein

  • Super Contributor
  • ***
  • Posts: 14496
  • Country: de
Re: Multislope Design
« Reply #96 on: January 12, 2019, 11:14:01 am »
If used to switch at the integrator input the +-5 supply limit of the HC4053 is not a problem. The signal switched is essentially at ground level (+- maybe 50 mV from transients) and even during turn on or errors the worst case current from a higher voltage is limited to some 0.2 - 0.5 mA.
There are some DMMs that use the HC4053: the HP34401 and the Fluke8845/6.

I know that modern designs seem to prefer CPLD or FPGA over µC. However from the noise problems a single chip µC should not be that much different from a FPGA. It kind of depends on the experience whether one prefers Verilog over hard core ASM. I personally prefer ASM -though I know it gets tricky if a 8 bit µC is no longer enough, as the faster ones tend to be not that predictable in the timing.
 

Offline jaromir

  • Supporter
  • ****
  • Posts: 338
  • Country: sk
Re: Multislope Design
« Reply #97 on: January 12, 2019, 07:39:39 pm »
I made this multislope runup (+simple rundown) integrating ADC. It has full scale range +-14V, with resolution up to tens of microvolts. Least significant digit is rather stable.
Inguard control logic is in single EPM240 CPLD, configuration written in Verilog. CPLD also contains UART for sending the output results via single wire. On the second picture you can see complete setup, taking measurement of CPLD power rail. Power supply is the big block with metallic standoffs providing floating supply for ADC and blue digital board, containing optocoupler for galvanic separation from ADC and PIC18F47K40 to convert ADC counts into voltage values.

This is just feasibility study; I'm working on more refined voltmeter project at the moment.
 
The following users thanked this post: Andreas, Squantor, iMo

Offline iMo

  • Super Contributor
  • ***
  • Posts: 4897
  • Country: vc
Re: Multislope Design
« Reply #98 on: January 13, 2019, 01:36:02 pm »
Here is a RunUp simulation of the Basic ADC which could fit above Jaromir's POC design well (concept with typical R/C/timing values, not the identical parts and detailed schematics).

It works nice with perfect runup results (see the comments in the schematics).

The OPA134 model does not work well, therefore I've been using the LT1022A instead.

Also I have replaced my Version1/2 DG419 switches with the MAX4659 models I found in my LTspice junkbox.

The simulation speed is now 10x of the previous one.

Fyi - the ADC's Vinput=5V DC with 2Vpp 500Hz sine on it returns 150 counts :).
« Last Edit: January 13, 2019, 02:16:35 pm by imo »
 

Offline Kleinstein

  • Super Contributor
  • ***
  • Posts: 14496
  • Country: de
Re: Multislope Design
« Reply #99 on: January 13, 2019, 01:53:46 pm »
It's only a small detail and may not effect the simulation: the switch for the input signal should be wired like the reference channels.

@jaromir:
The board looks nice. I find it a little odd to have the resistor for the input to the integrator at 200 K. This is rather high impedance and twice the resistance at the references. With equal resistors one would have a smaller input range, but also better compensation of the switch resistance.
 

Offline iMo

  • Super Contributor
  • ***
  • Posts: 4897
  • Country: vc
Re: Multislope Design
« Reply #100 on: January 13, 2019, 02:04:38 pm »
It's only a small detail and may not effect the simulation: the switch for the input signal should be wired like the reference channels.
Ok, thanks, fixed. Same results.

Code: [Select]
Vinput[V]         VrefP     Vresidual[mV]
-----------------------------------------
 14               60        -84.724598 
 10.001           100      -111.18542         
 10               100       -65.6633
 9.999            100       -20.195641
 5                150       -41.385211        5VDC+2Vpp_500Hz
 5                150       -41.934181
 1                190       -22.446172
 0.1              199       -18.161997
 0.01             200      -457.83404
 0.001            200       -49.337398
 0                200       -1.#INDV          (-580.12284µV closest)
-0.001            200        28.80118
-0.01             200       437.25276
-0.1              201        -2.7407967       << simul slow down
-1                210         2.2517985
-5                250        22.25494
-5                250        22.35401         5VDC+2Vpp_500Hz
-9.999            300         2.6997826
-10               300        48.327059
-10.001           300        93.820557
-14               340        69.571078
Values taken from the plot.
VrefP + VrefN = 400
« Last Edit: January 13, 2019, 07:19:28 pm by imo »
 

Offline iMo

  • Super Contributor
  • ***
  • Posts: 4897
  • Country: vc
Re: Multislope Design
« Reply #101 on: January 13, 2019, 07:31:53 pm »
@Jaromir: While reading the metrology section it seems to me even the vacuum filled caps are crap when used in the integrating ADC. Did you try with different types/materials in your prototype design?
 

Offline Kleinstein

  • Super Contributor
  • ***
  • Posts: 14496
  • Country: de
Re: Multislope Design
« Reply #102 on: January 13, 2019, 08:22:16 pm »
A good point of the multi-slope run-up it that it reduces the effect of the capacitor quality.  The usual candidates for good caps are PP (polypropylene), PS caps and NP0/C0G ceramic.  With sufficient fast modulation during the run-up, these caps should be well good enough.  There is a thread about the ADCMT6581 DMM. Even for 8.5 digits it gets away with a PP capacitor and only some 5 kHz of modulation and thus a 20 nF integration cap. I would consider this about the limit where you have to start worry about DA.

In my test setup I also tried polyester caps: it still kind of worked with some limitations. The effect of dielectric absorption gets clearly visible on the scope as quite some drift after the run-down. However the tolerance in my case could be in part due to the special way of operation, that is more tolerant to DA than the normal run-down. This was for test purpose to get an idea how the DA caused error would look like.

So I see no real need to look for better caps. In the   < 20 nF range all 3 types of good capacitors are readily available.

DA would be a problem only if very slow modulation (e.g. < 5 kHz) is aimed for. Even than there would be the option to use an accurate feedback algorithm to keep the average voltage about constant. This should suppress much of the DA effect (at least the slow part). Anyway a large integration cap has a disadvantage when it comes to noise and is thus not that attractive.
 

Offline jaromir

  • Supporter
  • ****
  • Posts: 338
  • Country: sk
Re: Multislope Design
« Reply #103 on: January 13, 2019, 11:39:54 pm »
I was curious about DA, so I made simple DA checker, or perhaps more DA experimenting tool.
It consists of two low leakage JFET switches, amplifier with low leakage opamp, plus MCU to switch the JFETs on and off; in order to charge the capacitor to 10V, then briefly discharge it to zero and then leave floating. Opamp amplifier allows observing the capacitor voltage during all phases, especially at the floating one. I abused MAX232 as JFET gate driver.
Attached are pictures of my setup, along with two measurement scope screenshots - one is grey PP capacitor, another one is soviet teflon type. Yellow trace is voltage on capacitor, blue trace is the same, with 10x amplification (plus notice different vertical scale). The voltage rise after discharge is effect of DA, very obvious on PP type, not much significant on PTFE type.

The differences are quite obvious; I tried a few more capacitors, the best were (in this order) teflon, polyester, polypropylene, polyphenylene-sulphide, NP0 ceramic. Worst were electrolytic, high capacitance ceramic were not much better.
Also, I tried different capacitors in my ADC setup. Capacitors with worse DA appeared to provide worse INL; but I have to recheck this again after I finish second version of my ADC.
 
The following users thanked this post: chickenHeadKnob, orin, doktor pyta, guenthert, iMo

Offline orin

  • Frequent Contributor
  • **
  • Posts: 445
  • Country: us
Re: Multislope Design
« Reply #104 on: January 14, 2019, 12:35:53 am »
 

Offline new299Topic starter

  • Regular Contributor
  • *
  • Posts: 119
Re: Multislope Design
« Reply #105 on: January 14, 2019, 07:39:59 am »
Hi all,

In order to improve my understanding I've been reading over the Keithley 2002 ADC schematics (originally from TiN). I've written up my notes here:

http://41j.com/blog/2019/01/notes-on-the-keithley-2002-adc

Most grateful for any further insights, or corrections. From what I can tell the 2002 uses current sources of ~+/- 450uA derived from the 7V reference. These are switched through the SD5400 into the integrator. This appears to be a dual slope ADC (rather than multislope).

The SD5400 in the 2002 seems to be driven by TTL input (5V). This limits it's range somewhat, but I guess this doesn't matter with 450uA and what I assume presents as a relatively low impedance load?
 

Offline Kleinstein

  • Super Contributor
  • ***
  • Posts: 14496
  • Country: de
Re: Multislope Design
« Reply #106 on: January 14, 2019, 11:58:24 am »
The Keithley 2002 uses current source, but it still it a multi-slope ADC. The current sources instead of simple resistors are just an attempt to reduce errors from not so ideal switches and the integrator input voltage. The second advantage is that the the switch resistance has little to no effect.

In addition to the 450 µA current sources there is another smaller current source of some 5 µA. It is always active, but can still be used as a single slower slope  for the rundown and only adds a small offset for the rest of the time. In this respect the ADC is rather similar to the K2000, that also uses a single fixed current.
So the ADC is multislope, though only with a single rather slow slope. So it is not that fast.

The switches are at the integrator input and thus only see a small voltage, e.g. from non ideal transient behavior of the integrator.
As the on Resistance does not matter with current sources, there is no need to use a higher gate voltage.
 
The following users thanked this post: new299

Offline new299Topic starter

  • Regular Contributor
  • *
  • Posts: 119
Re: Multislope Design
« Reply #107 on: January 14, 2019, 02:25:31 pm »
In addition to the 450 µA current sources there is another smaller current source of some 5 µA. It is always active, but can still be used as a single slower slope  for the rundown and only adds a small offset for the rest of the time.

Thank you for the clarification! I guess this is U815/Q807 I hadn't previously understood the purpose of this. Makes a lot more sense to me now!
 

Offline jaromir

  • Supporter
  • ****
  • Posts: 338
  • Country: sk
Re: Multislope Design
« Reply #108 on: April 30, 2019, 09:09:45 am »
Follow-up to my post from january 13th:
I made some more progress - respin the ADC PCBs, designed input amplifier (for now just follower/signal buffer, with autozero capability), digital board with MSP430 MCU, display/keyboard with MC9S08 MCU*, power supply with a few floating rails to achieve full isolation between "earthed" logic portion**  and floating ADC/input amp. Floating part is enclosed in separate metal box.
It is designed as six and half digit DVM, though it displays seven and half digits just to see how stable it is. I'll truncate it to six and half digits later.
The wiring is still quite messy, it's work in progress. I need to perform proper calibration and characterization.

* I deliberately chose MSP430 and MC9S08, because I never made any real projects with those. It was fun to discover peculiarities of those.
** There is  USB and RS232 connection options, plus bluetooth module - it is not used by now, not sure if it was good idea, after all.
« Last Edit: April 30, 2019, 09:12:44 am by jaromir »
 
The following users thanked this post: iMo

Offline iMo

  • Super Contributor
  • ***
  • Posts: 4897
  • Country: vc
Re: Multislope Design
« Reply #109 on: April 30, 2019, 10:48:14 am »
What is that metal can in the input amp?
Isn't cutting off last few digits a difficult task? :)
« Last Edit: April 30, 2019, 11:11:56 am by imo »
 

Offline jaromir

  • Supporter
  • ****
  • Posts: 338
  • Country: sk
Re: Multislope Design
« Reply #110 on: April 30, 2019, 11:46:48 am »
The metal can part is just 78M05 to generate local 5V for VL pin of CMOS switch.
Normal 78L05 or million of other ways of creating 5V bias would do the job too, but I have a lot of 78M05 in TO39.

Cutting of last digit can be done in may ways. In case software solution isn't available or desirable, strategically placed piece of duct tape will do the job just fine.
 
The following users thanked this post: iMo

Offline iMo

  • Super Contributor
  • ***
  • Posts: 4897
  • Country: vc
Re: Multislope Design
« Reply #111 on: April 30, 2019, 05:08:26 pm »
Ah, Metrology grade 78M05   :P
I've been using the duct tape too, currently covered last 5 digits on my DMM..
 

Offline Kleinstein

  • Super Contributor
  • ***
  • Posts: 14496
  • Country: de
Re: Multislope Design
« Reply #112 on: May 17, 2019, 04:11:49 pm »
I finally got a board made for the ADC already shown in response #48 (breadboard version).  The circuit has not changes that much - slightly different OPs are used (not all better) and an oscillator instead of just a crystal. So the hardware is a little similar to the 34401, with HC4053 switches, the normal 2 OP integrator and using the µC internal ADC for the residual charge instead of a reset. The main differences to the 34401 are that I added a rundown phase, the µC internal ADC is used with the integrator in hold mode and the references are a little asymmetric. The control is via the µC and thus no ASIC (2 OPs instead).

The board also includes a MUX and buffer (place on the board, but currently still external with 4 wires going there) for the input to get zero and reference readings to compensate for zero-point and gain drift.

The board is a slightly odd mixture of THT and SMD parts, and some optional / alternative parts not used.
Some of the bodged in parts  (the high value resistors and the large yellow cap) at the bottom are for measuring the average integrator voltage to check for DA contributions to INL - so not part of the normal ADC.  With suitable caps there is not much DA effect visible. At least for this circuit I see no need very very special caps: just PS or the NP0 caps I tested were well good enough.

The software is working so far (for most parts). For some reason the PCB version is still a little more noisy than the bread board version was. This could be in part due to a not that optimal OP (TLE2021) that sets the integrator noise, but I suspect some switching related noise too.
Due to a changed software most of the earlier linearity problems are gone.
 
The following users thanked this post: branadic, Squantor, iMo

Offline iMo

  • Super Contributor
  • ***
  • Posts: 4897
  • Country: vc
Re: Multislope Design
« Reply #113 on: May 18, 2019, 02:00:58 pm »
@ Jaromir and Kleinstein: Hopefully you will soon share your experience, results and designs such we may help with improvements.
"6 digits ADC for everyone" could be an interesting and feasible project  :)
 

Offline Kleinstein

  • Super Contributor
  • ***
  • Posts: 14496
  • Country: de
Re: Multislope Design
« Reply #114 on: May 18, 2019, 02:15:15 pm »
I will share the design soon.

Currently I still have a few minor problems (trouble with the UART, noise that is 2-3 times higher than it should be and some dependence on the load to the 5 V). Currently the noise is at about 1.5 µV RMS for the auto zero measurement - so already not that bad.
 
The following users thanked this post: sorin, Echo88, mycroft, ogden, 2N3055, iMo

Offline Kleinstein

  • Super Contributor
  • ***
  • Posts: 14496
  • Country: de
Re: Multislope Design
« Reply #115 on: May 19, 2019, 02:00:44 pm »
I found out that not all HC4053 behave the same. The 74HC4053 (2 samples) from ST I initially used caused higher noise than CD74HC4053 from TI and an old HEF4053.  Nominally specs are very close for the HC4053 parts - so it may need some testing there. My guess is things like the break before make time or charge injection could be different. However I am not sure other batches will behave similar.

With the CD74HC4053 the noise is now down to a little below 1 µV RMS.
 

Offline branadic

  • Super Contributor
  • ***
  • Posts: 2414
  • Country: de
  • Sounds like noise
Re: Multislope Design
« Reply #116 on: May 19, 2019, 03:07:50 pm »
Have you tested MAX4053 for comparison?

-branadic-
Computers exist to solve problems that we wouldn't have without them. AI exists to answer questions, we wouldn't ask without it.
 

Offline Kleinstein

  • Super Contributor
  • ***
  • Posts: 14496
  • Country: de
Re: Multislope Design
« Reply #117 on: May 19, 2019, 04:09:14 pm »
I have so far only tested 74HC4053 (2 units) from ST, CD74HC4053 from Ti (1x, the one I used ) and HEF4053 from Phillips. I will probably also order an max4053 and 74LVC4053. However I am not sure which parameter is really important. The main advantage of the max4053 is the better leakage specs - however leakage likely is not an important parameter. The lower speed (still faster than HEF4053) could be more important than lower leakage. It is more like charge injection and the supply current peaks I am worried about. The HEF4053 / CD4053 might be a little on the slow and high on resistance side this could effect jitter and the gain stability.

For some reason HP in the 34401 schematics has a ferrite bead at the VSS pin (negative supply). To me this looks odd as the voltage at this pin should not go much higher than some 200 mV even in peaks. I have tried this in combination with a capacitor to the VDD pin but it did not have much effect. The next try would be without the capacitor.

The noise is still a little higher with the faster modulation. So there is a chance things can get better with an even slower modulation (needs a larger integration cap). However I would prefer to understand and solve the root cause.
 
 

Offline splin

  • Frequent Contributor
  • **
  • Posts: 999
  • Country: gb
Re: Multislope Design
« Reply #118 on: May 20, 2019, 02:28:54 pm »
According to AoEv3 HP uses the NXP version of the 74HC4053 in the 34401A. It may or may not perform any better than the other manufacturer's versions but it would be a good starting point. It's possible that the ferrite beads in the 34401A may be matched specifically to the NXP HC4053's characteristics.

Any idea why HP included the 42.2K R440 to pull down the 100K Vin signal just before the switches but didn't bother with the 30K +/- reference signals? The 100K/42.2K node is at virtual ground when the switch is operated so the only impact of R440 would be due to the input offset voltage of the integrator, but I would have thought that would be negligable?

 

Offline Kleinstein

  • Super Contributor
  • ***
  • Posts: 14496
  • Country: de
Re: Multislope Design
« Reply #119 on: May 20, 2019, 06:04:50 pm »
100 K in parallel with 42.2k gives 30 K impedance. It helps to have the same resistance at the inputs to the 4053 as in this case the TC of the external resistance plus the switch resistance is matched. The same resistance is also important for the effect of residual input voltage at the integrator. This is not only the offset, but there is also a dynamic component.  Some of the errors only contribute if the impedance changes with reference setting. So resistance matching can help with linearity.

They could have started with 30 K and a smaller (e.g. 3.5 V) range  - possibly the design started with this. The 34401 was designed to follow the 3457. It is just the time when going from 3 V full scale to 10 V fulls scale. In my opinion using this combination at the input is one of the weaker points and adds to the noise.

The way the 34401 ADC works with continuous integration and no rundown it needs a rather high resolution from the run-up
and thus the fast modulation (essentially the same as in the 3458). However due to the slower integrator settling it requires relatively long fixed phases and thus a reduced voltage range. 

Using 100 K for the signal input helps to keep the self heating low and thus helps with linearity.

A looked the datasheets for the switches and found that there seem to be quite some internal capacitance inside the HC4053 - the power dissipation capacitance is quite high (some 38 pF). This suggests quite some current peak on switching. In this respect the 74LV4053 looks quite promising (only 5.3 pF). Though not in the specs I found, changes are charge injection and supply spikes could be quite good. Anyway my idea is to get the needed extra resolution from an extra rundown phase so that I can use a considerably slower (e.g. a factor of about 10) modulation, so that the switches should be less critical.

I think L401 and L402 are there to reduce charge injection by getting a higher impedance at the 4053. They also keep the very sharp peak from the integrator and ground.
L403 is a little odd: it's at the negative supply. Normally one would prefer a well decoupled supply for a chip. The extra impedance at the negative supply pin could effect the charge injection and switching speed. I would expect a slightly slower switching and possibly less charge injection.
 

Offline Andreas

  • Super Contributor
  • ***
  • Posts: 3279
  • Country: de
Re: Multislope Design
« Reply #120 on: May 20, 2019, 07:36:23 pm »
Have you tested MAX4053 for comparison?
Hello,

I would use the MAX4053A (lower leakage current).
Besides this the MAX4053A showed lowest INL against CD4051 and 74HC4051 in a 32 Bit resolution PWM-Divider.

With best regards

Andreas

« Last Edit: May 20, 2019, 07:45:12 pm by Andreas »
 

Offline splin

  • Frequent Contributor
  • **
  • Posts: 999
  • Country: gb
Re: Multislope Design
« Reply #121 on: May 21, 2019, 01:19:52 am »
100 K in parallel with 42.2k gives 30 K impedance. It helps to have the same resistance at the inputs to the 4053 as in this case the TC of the external resistance plus the switch resistance is matched.

The 42.2K is grounded at both ends when the switch is closed. If the integrator is perfect, there will be no offset, static or dynamic, so no current will flow in the 42.2K thus its TC and resistance will be irrelevant.

A good spot that the 100K//42.2K is 30K - which surely is to match the switching time of all three switches - since they will all have nearly identical capacitance (and inductance).

Quote
The same resistance is also important for the effect of residual input voltage at the integrator. This is not only the offset, but there is also a dynamic component.  Some of the errors only contribute if the impedance changes with reference setting. So resistance matching can help with linearity.

Sorry don't get why the source impedance seen by the integrator is relevant so long as the integrator is operating within its limits. I agree that any offset voltage, so long as it remains constant, will cause an offset to the output which will be calibrated out. As far as I am aware, the 3458A ADC integrator doesn't see constant input resistance during its operation.

Quote
They could have started with 30 K and a smaller (e.g. 3.5 V) range  - possibly the design started with this. The 34401 was designed to follow the 3457. It is just the time when going from 3 V full scale to 10 V fulls scale. In my opinion using this combination at the input is one of the weaker points and adds to the noise.

Noiser because of the higher thermal noise of the 100k resistor compared to 30k?  It's an interesting thought that they simply scaled the 3457 design; it would be interesting to understand how the ratio of the reference currents to the Vin current affects the linearity.
 
Quote
The way the 34401 ADC works with continuous integration and no rundown it needs a rather high resolution from the run-up and thus the fast modulation (essentially the same as in the 3458). However due to the slower integrator settling it requires relatively long fixed phases and thus a reduced voltage range. 

It doesn't have a rundown because it uses an ADC to measure the residual integrator charge, getting approx 3 digits from the run up (@ 1 NPLC) and 3 digits from the residual. From the service manual page 101:

Quote
Each analog-to-digital conversion begins when the multimeter is
triggered. The ADC starts by clearing the integrator slope count in U501.
At the end of the integration period, the slope count is latched.
The slope count provides the most significant bits of the input voltage
conversion. The least significant bits are converted by the on chip ADC
of CPU U500.

Quote
Anyway my idea is to get the needed extra resolution from an extra rundown phase so that I can use a considerably slower (e.g. a factor of about 10) modulation, so that the switches should be less critical.

A rundown will be slower than using an ADC to get the residual, but the linearity may be slightly better as the linearity of the integrator capacitor's voltage/residual charge relationship may be affected by dielectric absorbtion. Always returning the charge to zero should largely eliminate DA errors.
 

Offline Kleinstein

  • Super Contributor
  • ***
  • Posts: 14496
  • Country: de
Re: Multislope Design
« Reply #122 on: May 21, 2019, 01:20:57 pm »
The same impedance for all 3 inputs is importance mainly because of the switch resistance (some 70 Ohms for the HC4053) and the related high TC. So this is essentially the reason for the 42 K.
The 3458 uses different switches for the signal and references and thus could use different resistors for the input and the reference. The way it is used there (40 K for the references and 50 K for the input) is still not a solution I like - using also 50 K for the references and 25% higher reference level would have given lower noise.

The other point is the same resistance for the positive and negative reference. This helps that an non ideal zero voltage at the input of the integrator will produce the same offset. An non ideal input can come from the integrator offset (less critical as constant), but also from the settling after the references change.  A simple 1 OP integrator would have some kind of square wave of a few mV (depending on the OPs GBW and the integration cap). With the 2 OP integrator like used in the 34401 and most modern designs, reference switching causes a peak (some 10 mV range) that recovers to near zero after some 0.2 to 2 µS (depending on the  speed of the OPs). The problem is if these peaks have a slower contribution (that may not be visible on the scope) that extends to possibly the next phase.  The peaks are OK if the integrator is at always the same impedance at the input.  The constant impedance is only important in the run-up phase - the rundown phase has relatively few transitions in a fixed sequence (but variable timing) is thus less critical.

I don't think the 34401 ADC is more like an upscaled 3457. It is quite different in many points - the 3457 ADC actually works with 10 V full scale and the amplifier adds gain.  It only looks a little like they may had a 3 V full scale range in mind.  Changing the 100 K at the input to 30 K would make the ADC from the 34401 a perfectly good ADC for a 3 V full scale range, like it was common in the old days.
Using 100 K to a 10 V full scale range and 42 K to me looks like an after-though to make the ADC work with 10 V full scale, at the price of more noise. The resistors can actually be a major noise source for a good ADC. For the integrator with it's current input it may help to look at it as current noise. In this view the 42 K does not contribute to the signal but adds current noise. The 30 K resistors from the reference also add quite some current noise.

Using the auxiliary ADC to measure the voltage at the integrator output is fast, but it also has a limited resolution. The scale of the ADC depends on the integrator resistors and the capacitor. Especially the capacitor tends to be not that stable, so that a frequent check of the scale would be needed. So getting 3 digits from the residual charge is already on the optimistic side - it's more like 4 digits from the run-up and 2.5 digits from the µC internal ADC. The resolution from the run-up part is limited by the speed of the modulation. The very fast modulation of the 34401 has 2 negative consequences:
1) the fixed phases in the run-up patterns reduce the input range. In the 34401 only some +-3.5 V (if they would use 30 K from the input)  of the +-10 V reference range are actually used. Slower modulation (like in the 3457, K2000) could have allowed some +-8 V or so.
2) It needs a fast integrator. For the 34401 they choose the OP27 for the precision OP in the integrator, probably for speed reasons. For the noise performance the OP27 is a poor choice here, because of the current noise. Other older precision OPs (e.g. LT1001, OP177) are likely too slow.

A rundown phase needs some time, but not necessarily that much. The 3457 needs some 150 µs, my solution currently uses some 200 µs (120 µs with a single ADC conversion), with a possible speed up to the 50 µs range. So for a 20 ms conversion the time lost is not that relevant. For best precision one would likely anyway alternate between a zero and a signal reading anyway. So some time is anyway lost for the input switching and the continuous integrating version needs extra settling to start with.

The rundown, especially in the classical form does not help much with DA. It avoids possible nonlinearity of the capacitor - however most capacitors tend to be very linear (e.g. better than many resistors). The DA of the capacitors usually has 2 contributions: a fast one from dipole orientation, that happens on the 1-10µs scale and a slow one more from internal surface charges on the 1-10 seconds scale. The fast DA part can be a slight problem with the classical rundown with a comparator to stop the slope. However already a slower slope phase would reduce the fast effect as the last 10 µs before stop don't vary that much. An additional waiting time (some 10 µs) can further reduce this fast effect.
The slow DA mainly hides some charge proportional to the average integrator voltage and gives it back later. This effect does not depend much on the details of the ADC. It can be effected by the way the references a controlled during run-up, as this effects the average voltage. The nice point is that the expected DA related error would follow that average voltage curve, so one has a clear signature to look for. Attached is a curve for the average integrator voltage measured for an input voltage range around  the center (horizontal units about 42 µV).

A fast modulation and thus less charge stored in the capacitor is very effective suppressing DA. With a reasonable good capacitor DA should not be an issue for a modulation faster than about 20 kHz. The ADT6581 DMM (8 digits) even gets away with only 5 kHz and not very good feedback during run-up.
« Last Edit: May 21, 2019, 01:23:39 pm by Kleinstein »
 

Offline iMo

  • Super Contributor
  • ***
  • Posts: 4897
  • Country: vc
Re: Multislope Design
« Reply #123 on: May 21, 2019, 11:35:21 pm »
Quote
I think L401 and L402 are there to reduce charge injection by getting a higher impedance at the 4053. They also keep the very sharp peak from the integrator and ground.
L403 is a little odd: it's at the negative supply. Normally one would prefer a well decoupled supply for a chip.
The ferrite beads - sometimes it is enough to place a ferrite bead (or a small ferrite bar) close to a pcb track and watch the signal on the oscope's screen. You may see the noise or peaks lowers. Then you may insert the bead into the track in the final design.
 
The following users thanked this post: razvan784

Offline Kleinstein

  • Super Contributor
  • ***
  • Posts: 14496
  • Country: de
Re: Multislope Design
« Reply #124 on: May 22, 2019, 07:42:33 am »
Quote
I think L401 and L402 are there to reduce charge injection by getting a higher impedance at the 4053. They also keep the very sharp peak from the integrator and ground.
L403 is a little odd: it's at the negative supply. Normally one would prefer a well decoupled supply for a chip.
The ferrite beads - sometimes it is enough to place a ferrite bead (or a small ferrite bar) close to a pcb track and watch the signal on the oscope's screen. You may see the noise or peaks lowers. Then you may insert the bead into the track in the final design.
The spikes the ferrite beads are working on are still quite small. In addition they a superimposed by the "normal" charge injection and integrator input settling. So there is quite some normal background and and a little very fast bit (e.g. the rising edge) the ferrite beads are likely supposed to improve on. At least with my analog scope I see no chance to watch the effect live. If at all it would need a good DSO and averaging over many cycles (high resolution, box integration mode) in a special test mode of the circuit (for a stable signal). So far for me the ferrites are something like trying different version on pure chance and compare the outcome.
As the circuit is not very fast, I don't think just a ferrite on a trace would have enough effect. Anyway, there is not much trace to work on anyway.

My current problem are odd (likely high frequency) signals that cause odd EMI like effects. E.g. the reading changes quite a bit with a wire attached to the 5 V supply of the µC or ground at different points of the circuit. The problem is that the RF junk is likely to small to see on the scope.  Likely the xx4053 emits some RF spikes that cause funny effects from resonances somewhere in the circuit or attached wires.  I think the 4053 is the source, as the effects get much better with the slower HEF4053 version. I have some new xx4053, ferrites and better OPs ordered.
 

Offline iMo

  • Super Contributor
  • ***
  • Posts: 4897
  • Country: vc
Re: Multislope Design
« Reply #125 on: May 22, 2019, 01:56:17 pm »
Order a small ferrite toroid (ie smallest dia amidon 43 material), wind 10 windings for the oscope probe, cut the trace and go with a piece of wire through the toroid.
 

Offline Kleinstein

  • Super Contributor
  • ***
  • Posts: 14496
  • Country: de
Re: Multislope Design
« Reply #126 on: May 23, 2019, 05:28:57 pm »
The 74LV4053 works really well: considerably less EMI problems - this supports my suspicion the 4053 was the source, as the LV version has much smaller supply current peaks and is still a little faster.  The noise also went down a little compared to the HC4053 or HEF4053 versions. It's now at some 750 nV RMS and no longer much higher than what I know noise sources for (some 600 - 650 nV) with the current OPs in the circuit. 
After changing the critical OP I will likely also test the max4053, but I think the LV4053 has the advantage of not having the extra level shift stage,as it has no extra negative supply pin and using lower voltage FETs.

@IMO I may try the current probe suggesting in a few days. It looks a plausible way to check for current peaks, when one is anyway using bodge wires or THT ferrites for the supply. However the ferrite does have some effect. So chances are, I would not use a scope probe, but more like 50 Ohms termination at the scope.
 
The following users thanked this post: doktor pyta

Offline iMo

  • Super Contributor
  • ***
  • Posts: 4897
  • Country: vc
Re: Multislope Design
« Reply #127 on: May 23, 2019, 06:54:02 pm »
Sure the secondary winding feeding a coax w/ 50ohm termination is the right way to do it. It transforms the 50ohm down to a fraction of an ohm of the bodge wire.

I've acquired today 3 various 4053 versions, ordered another 2 incl Maxim. A pity it is a mix of PDIPs, SOICs and TSSOPs.

While reading 4053 DSs - the 74LV.. versions usually work with 0-5V only..
Nexperia LV:
Quote
..the analog inputs/outputs (nY0, nY1 and nZ) can swing between VCC as a positive limit and VEE as a negative limit. VCC-VEE may not exceed 6 V. For operation as a digital multiplexer/demultiplexer, VEE is connected to GND (typically ground). VEE and VSS are the supply voltage connections for the switch..
The only versions with >10V working area are the CD/HEF/MAX4053 and 74HC4053 afaik..
« Last Edit: May 23, 2019, 08:14:13 pm by imo »
 

Offline Kleinstein

  • Super Contributor
  • ***
  • Posts: 14496
  • Country: de
Re: Multislope Design
« Reply #128 on: May 23, 2019, 07:51:42 pm »
..
While reading 4053 DSs - the 74LV.. versions usually work with 0-5V only..

I know the LV version is for 0 and up to 5 V only. The 74HC and HEF4053 were also only powered from 0 and 5 V.  I tried some -0.7 V, but it did not really help, though from some typical curves the charge injection could be lower.
Die switches in the 34401 and my ADC are used in a kind of current steering way near zero voltage. So the actual voltage at the switches is about in the +-50 mV range - this is OK with a 0 and 5 V supply. If really needed I could shift the voltage to some +100 mV, but it would make things a little more complicated.

The main difference between the LV and HC version is that there is no separate negative supply, that could go up to some -5 V, and thus no internal level shifter circuit.  This and the likely smaller structure FETs for only some 6 V allows for less (about 1/7 ) current consumption and thus less current at the supply.
 

Offline iMo

  • Super Contributor
  • ***
  • Posts: 4897
  • Country: vc
Re: Multislope Design
« Reply #129 on: May 23, 2019, 08:18:55 pm »
I think it is not about powering the chip's logic (all are 0-5V Vcc except the old CDs) but the voltage at the switches. The voltages at the switches with LV have to stay within 0..Vcc, with the others they could go from say -7V to +7V (while their logic is powered 0..5Vcc only).
« Last Edit: May 23, 2019, 08:20:59 pm by imo »
 

Offline Kleinstein

  • Super Contributor
  • ***
  • Posts: 14496
  • Country: de
Re: Multislope Design
« Reply #130 on: May 23, 2019, 08:54:57 pm »
I think it is not about powering the chip's logic (all are 0-5V Vcc except the old CDs) but the voltage at the switches. The voltages at the switches with LV have to stay within 0..Vcc, with the others they could go from say -7V to +7V (while their logic is powered 0..5Vcc only).
The voltage at the switches has to stay within about -200 mV to Vcc+200 mV. A little more than the supply is allowed, more would cause extra leakage. Only with a large current (some 100 mA for the LV) beyond some 600 mV could cause real trouble (e.g. latch up). So the maybe -50 mV in peaks are not a problem to cause significant leakage. The worst case current is limited to some 300 µA and thus also safe.

The 74HC4053 in the 34401 is also only powered from 0 and 5 V, even with a ferrite at pin7 and thus possible positive peaks of some 50 mV there, so that the input can be even more negative relative to pin7. The HC4053 can tolerate a negative voltage only to a little below the level at pin 7. With pin 7 tied to ground the limits are about the same as with the LV version.
 
The following users thanked this post: iMo

Offline Andreas

  • Super Contributor
  • ***
  • Posts: 3279
  • Country: de
Re: Multislope Design
« Reply #131 on: May 23, 2019, 09:40:34 pm »
The only versions with >10V working area are the CD/HEF/MAX4053 and 74HC4053 afaik..
And the MAX4053A is the only one with integrated level shifters.
On the other devices you have to add external ones if working outside +/-5V in a 5V logic system.

with best regards

Andreas

 
The following users thanked this post: iMo

Offline Kleinstein

  • Super Contributor
  • ***
  • Posts: 14496
  • Country: de
Re: Multislope Design
« Reply #132 on: May 24, 2019, 05:57:32 pm »
I changes the "low frequency" OP in the integrator from the not so good TLE2021 to an OPA1641. It did some improvement in the noise and the settling of the integrator also got faster as expected from a faster OP.
Noise went down to the 700 nV RMS range for the simple difference of 2 readings (simple RMS). Still a little high than hoped for and the noise source I know off would cause, but I consider this good enough for the time being.

The MAX4053 did not give an improvement, at least not with an extra ferrite at pin 7. It even looks like charge injection seen as the difference between the slow and fast modulation mode is a little higher. For the current circuit the I got the best results from the 74LV4053 Next best was the  CD74HC4053 from Ti, HEF4053, max4053 and 74HC4053 from ST with a ferrite were about same level  and the worst  HC4053 (ST) without a ferrite was worst. As the LV4053 works good - I see no need for a further search.

It still looks like the fast modulation gives more noise, so I might test a slower modulation. The downsides of slow modulation are a stronger DA effect (should be OK down to some 20 kHz), a little longer rundown and more noise from reading the residual charge due to the larger integration cap - this would lead to more noise for short integration (e.g. < 5 ms). So one might have to find a compromise between good performance at >= 20 ms integration and 0.1-1 ms integration, which would be about the lower limit.

After noise, now comes the tricky part in building a high resolution ADC: that is linearity. My earlier version had a DNL problem just in the middle of the range, but I found a solution for this. So far it looks like the DNL is good. My crude test is looking at a slow discharge/charging of a large capacitor. Even if not a perfect exponential it should give a smooth curve and the deviation from a local fit is a first indication for local linearity.

A funny side note: The 5 V regulator use is an ET7805 (ESTEK)- it looks like this regulator is surprising low noise, but rather poor TC. So its a nice test source for a slowly drifting voltage  :-DD.

Attached is a plot of the 5 V supply drifting. RMS noise is about 2 µV RMS for the difference to a straight line (about 0.01 to 25 Hz). This includes noise of the LM329 reference of the ADC circuit.

« Last Edit: May 24, 2019, 06:48:52 pm by Kleinstein »
 
The following users thanked this post: chickenHeadKnob

Offline iMo

  • Super Contributor
  • ***
  • Posts: 4897
  • Country: vc
Re: Multislope ADC Design
« Reply #133 on: May 30, 2019, 09:05:00 am »
@Jaromir: While comparing recent posts w/ DIY designs the way you have done it - MCU+CPLD/FPGA - is the way..

I've been thinking on an MCU embedded into the FPGA (ie. my iCE40UP5k with embedded Forth+SDADC), but using a cheapo popular 32bitter - like the BPill's stm32f103, and a small CPLD/FPGA (where the bitstream could be stored in the MCU's memory) is something I would highly consider.

For example stm32f103 (or a clone) + iCE40LP384, the combo for <$4.

Except the low cost and much higher performance (than atmegaxx or msp430) the important point is the C and Verilog are easy to read and write (unlike the Forth or ASM) by a vast majority of DIY community.. And for the above combo there are open source dev tools available as well.

The analog part - I've been pretty curious about which solution from the recent DIY postings (Jaromir vs. Kleinstein) gives a better results at the lowest digits..

PS: I've thrown your verilog as-is into the IceCube2 and with iCE40LP384 32pin qfn $2 FPGA:

Code: [Select]
Final Design Statistics
    Number of LUTs      : 283
    Number of DFFs      : 151
    Number of DFFs packed to IO : 0
    Number of Carrys    : 66
    Number of RAMs      : 0
    Number of ROMs      : 0
    Number of IOs        : 11
    Number of GBIOs      : 1
    Number of GBs        : 3
    Number of WarmBoot  : 0
Device Utilization Summary
    LogicCells                  : 301/384
    PLBs                        : 48/48
    BRAMs                       : 0/0
    IOs and GBIOs               : 12/21
#####################################################################
                     Clock Summary
=====================================================================
Number of clocks: 1
Clock: adc_3|mclk | Frequency: 84.81 MHz | Target: 83.13 MHz
=====================================================================

The iCE40LP384 bitstream is 8kB large, and it fits as a C source into the 128kB stm32f103 memory easily, thus you do not need the hw bitstream flash memory. Moreover, you may reprogram the FPGA logic "on the fly" off the MCU. MCU+FPGA on the inguard pcb.
And as a bonus - you do not need an FPGA programmer hw (as you do not need a hw programmer for the stm32 provided you run an usb bootloader) :)
« Last Edit: May 31, 2019, 07:48:10 am by imo »
 

Offline jaromir

  • Supporter
  • ****
  • Posts: 338
  • Country: sk
Re: Multislope Design
« Reply #134 on: May 31, 2019, 12:10:58 pm »
Yes, my hardware could be optimized in many ways. I realize MSP430 isn't the most popular choice among hobbyists, after all, it isn't even the most popular choice of my own. I've chosen it just for higher fun factor (what was the point of the project).
Should I rework the kit for mass appeal, I'd probably end up with STM32, plus the ICE40 looks like sensible choice for programmable logic - I think we agree on this.

Also, your mention of inguard MCU along with PLD is really reasonable. During the design and development I had to make a few compromises because of not having a lot of "intelligence" in inguard part. Not much of power or fancy features needed, low power 8-bit MCU would be more than enough here.
I wonder if choosing low-end 8-bitter over slowly clocked ARM would make sense here, especially from EMC standpoint.

Thank you for recompiling the Verilog implementation. For EPM240 it takes a bit over 200 of 240 available logic cells. I didn't expect as much as 301 cells on ICE40.
 

Offline iMo

  • Super Contributor
  • ***
  • Posts: 4897
  • Country: vc
Re: Multislope Design
« Reply #135 on: May 31, 2019, 01:33:17 pm »
@Jaromir - your design is great and I wish I could order a kit from you for 99Euro  :P

Instead of my regular afternoon nap I took your verilog and replaced the uart output with reading the 32bit result reg via spi (sclk, miso, ss). It builds with 50LUTs less (251). A simple flag is needed to tell mcu (ie rising edge interrupt) the result is valid, so add 1LUT.
PS: it took me 10minutes inclusive compile time - to demonstrate the flexibility of your verilog.

I think 20-50MHz crystal clocked stm32 together with a small fpga (ie the LP384) in the inguard can easily be used, the 8bitter is not cheaper, and you get a pretty higher flexibility and performance. And you get a decent 12bit ADC for measuring the residuals and 20kB of ram for some simple DSP or faster measurements. As you have seen the FLUKE 8588A is using a Blackfin on the inguard board as well :)

PS: and the stm32f103 is arduino compatible..
« Last Edit: May 31, 2019, 02:02:14 pm by imo »
 

Offline Kleinstein

  • Super Contributor
  • ***
  • Posts: 14496
  • Country: de
Re: Multislope ADC Design
« Reply #136 on: May 31, 2019, 03:15:13 pm »
...
The analog part - I've been pretty curious about which solution from the recent DIY postings (Jaromir vs. Kleinstein) gives a better results at the lowest digits..
...
Jaromir's design in the current form likely has a slight advantage with gain stability, but it has definitely higher noise. The comparison is a little difficult though because of the slightly different ranges (+-14 V versus +-11 V). For the linearity it is hard to tell, as the measurement is not that easy -  I see a slight problem with a variable current through the resistors that set the reference current. So it really needs the tight thermal coupling of the LT5400.

For the design, I would not care too much which languish is more common. The bigger hurdle is more like having the knowledge about the parts (µC or CPLD) and the required tools. It tends to be easier to go from C to ASM on an AVR than to change to something like STM32 in C. With FPGAs the ability to solder the case (especially BGA type) can also be a deal breaker for DIY.  My design can work with DIP only parts, even on a bread board - my first tests were with only the µC and UART on an Aruduino like board and the rest on a bread-board.

I agree that CPLD + µC could make things easier, but it needs 2 environments / development tools. So it is attractive to get away with just a CPLD or µC.

PS. A faster µC could help with faster conversion rates and possibly doing digital RMS. Even a 12 Bit ADC of good speed could give a reasonable solution for digital RMS  (e.g. comparable to the analog AD637 or like solution in many respects).
« Last Edit: May 31, 2019, 03:19:26 pm by Kleinstein »
 

Offline iMo

  • Super Contributor
  • ***
  • Posts: 4897
  • Country: vc
Re: Multislope Design
« Reply #137 on: May 31, 2019, 06:07:23 pm »
My current understanding of the problems around the Multislope Precision ADC DIY design and its feasibility is as follows:

1. the real know-how and expertise is in the analog part and in the processes of handling the analog part such you will get the best results

2. the digital part - inguard and outguard - is the simple part. Any modern cheapo 32bitter can do, any cheapo CPLD/FPGA can do, it does not matter. I would be happy to have an MCU with good built in ADC (ie with an external Vref).

The other stuff like display, buttons, power source, usb/232/wifi/ethernet is just a business as usual.

I worked with 8080 asm, Z80 asm, 8051 asm, 68k asm, atmel's asm, pic's asm, but the acceptance of an asm based firmware is pretty low today. Not talking manageability of such a source. People do not work with asm today.

With FPGA/Verilog you do not care on how what asm instruction work, and how many clocks it is long, and how many nops you have to insert to compensate a loop, or how to shift a 24bit word 7bits left, or how to set the portB pin3 and 6.

DIY hw community is C/C++ positive, with more and more emphasis towards programmable logic (because most the tools are free, easy to handle and the small chips are cheap). Verilog/VHDL - ok, that is something people discuss from time to time. Thus the languages are pretty clear.

I would be happy to have a chance to buy a 10x10cm large ADC inguard board, for say XXEuro, with 6.5+digits capability +/-20V input ADC on it, with >1G input impedance, with the 399 on it, with a 10pin connector for +/-25V +/-15V and +5V external floating power sources, a 4pin connector which communicates via opto-isolated UART with "something".

I can flash the board through a 3pin SWD connector (both MCU and FPGA) with a $2 dongle, where the FPGA and MCU there are "standard"  C/C++/Verilog supported things. In addition a small I2C flash for calibration params wired to the MCU would be handy on the board.

The FPGA/CPLD bitstream bianary could be put into a C const array easily, and flashed together with the FW into the MCU. Upon reset the MCU loads the FPGA and that's it.

You may have several bitstreams stored in the MCU's memory and you may reconfigure the entire FPGA on the fly within a few milliseconds.

With that $4 combo you may measure every even ADC sample with Jaromir's algorithm, and every odd ADC sample with Kleinstein's algorithm, 25 samples per second (provided the analog part supports such an switch :) ).

You may put a simple CLI in the MCU, and talk to the board via set of "commands".
That all is easy today. People play with it every day. People run FreeRtos with CLI on the $2 BluePill.

What is not easy is the analog part and the processes around it, imho..
 

Offline jaromir

  • Supporter
  • ****
  • Posts: 338
  • Country: sk
Re: Multislope ADC Design
« Reply #138 on: May 31, 2019, 06:46:38 pm »
Jaromir's design in the current form likely has a slight advantage with gain stability, but it has definitely higher noise.
You are right with the noise. Your measurements indeed show lower noise than what I achieved. I tried to decrease the noise level, but it was fruitless.
At first I had OPA134 in integrator, changing it to OPA140 did bring just tiny bit of an improvement.
I thought that noise may be contributed by voltage approaching comparator switchover point too slow, so I tried to include slope amplifier after the integrator, in noninverting configuration with gain 10, but I didn't see much of a change. Opamp in amplifier was LT1115 because that was what I had on hand.
Perhaps you may point me to other possible sources of noise.
 

Offline Kleinstein

  • Super Contributor
  • ***
  • Posts: 14496
  • Country: de
Re: Multislope Design
« Reply #139 on: May 31, 2019, 08:13:26 pm »
It makes sense to look at the noise source. One way to look at noise is to separate the frequency ranges. It is mainly to ranges that really matter: one is the rather low frequency noise (e.g. some 10-100 Hz), that 'happens' during run-up. This is acting kind of as an error in the charge going into the integrator.

The other part is measuring the noise in the integrator, which is done during rundown or with the auxiliary ADC. This is more higher frequency noise (e.g. > 10 kHz up to maybe the MHz range with the comparator). There is not much noise from the intermediate frequency range, as this has to little BW to matter for the charge measuring and is averages out by the integrator to matter for the actual charge.
So it is mainly these 2 noise types:  low frequency for the run-up and high frequency for the rundown. These can be looked at quite separate. The shorter the integration time gets, the more important high frequency noise gets. Quite often (if no big mistake / weakness) at a few PLC and more the high frequency noise is not the main problem - this gets important for something like 5 ms integration and faster. A main way to fight the higher frequency noise is using a smaller integration cap and faster modulation. So for now I look at the low frequency part first:

With the common relatively high resistor values (e.g. 50 K or 100 K) to avoid self heating problems the resistors are a major noise source. The reference paths are essentially current sources, so high resistance here is good: so a higher reference voltage and larger resistors have some advantage, as it's a lower noise current source. So using some +-14 V for the references is already good compared to the often only 10-12 V in meters like the 34401 or 3458.

For the switches it is kind of natural to have the same resistance for the input and the reference paths, as it allows for some compensation. So this is my reference case. In this case the noise from the resistor at the input and the reference paths is the same size. So for the noise, one gets the noise, as if one would have twice the resistance as voltage noise source. If the resistors at the reference are chosen smaller (e.g. half) than the input side, the current noise goes up. At half the resistor values the noise referred back to the input is as if the resistor from the input goes up by the ratio. So the 200K in and 100K reference case already gives the noise of some 200 K + 400K = 600K. This is some 100 nV/sqrt(Hz) to start with. So to get really low noise, one may have to start with a smaller resistor at the input.

The twice higher resistor at the input also gives a noise gain of 3 to the voltage noise of the integrator. For the equal resistor case the noise gain is only at 2. Still with the OPA140 and a short integration (e.g. 1-5 PLC) the voltage noise is not that high. Going much slower will add 1/f noise of the OPs.
Another noise source is noise from the reference inverter this adds with a gain of 2 or 1 with the 2:1 or 1:1 resistor case.
Another, odd noise source is higher frequency (around the modulation frequency) noise from the reference, that is demodulated by the run-up modulation. This noise might contribute a little, but it should be easy to filter - at the very low noise level the RC filter at the LM399 makes some sense, even of only effecting > 1 kHz noise.

For the higher frequency noise, one may have to find a good balance of speed and noise bandwidth for the integrator. A faster integrator has more BW and thus more noise. So ideally one may have to accept that the last fine slope step is limited by the comparator / slope amplifier speed and may not give the full timing resolution. It can be difficult to find a good balance here (I avoid this problem by using the relatively low BW ADC). A fast comparator is not always better. A slope amplifier may have lower noise - though noise specs for comparators are rare, so hard to tell how good they are.  A smaller integrator cap and thus more run-up steps also help with the high frequency  noise. However the DG211 switches may not be suitable for really fast switching, as they have quite some charge injection. Also switching the voltage from 0 to Uref can additionally add some "charge" from parasitic capacitance - switching the unused references to ground has some advantages.  The switches also tend to produce quite some higher frequency glitches, that could lead to noise or linearity errors - though slow these can be a problem with the DG211. I had to really care about supply spikes / glitches - just massive decoupling at the chips was not working well. It was more like adding ferrites / resistors in the supply, at both the sensitive parts and the possible trouble sources.

The simple rundown with only one slow slope, that is not that slow likely has a limited resolution and thus some quantization noise. More resolution (e.g. smaller slow slope) could avoid the quantization noise. The ratio of 1:6 is more suitable for very fast conversions. It could well make sense to have a lower reference level like 1:16 or 1:30 - it still does not take that long.

From the experimental side one could check the higher frequency noise from very short conversions, like a run_up without feedback (e.g. some 10-100 µs). Here the higher frequency noise would be measurable on it's own - not much integrated low frequency noise at this speed. Another point is comparing 2 speeds of the modulation: this gives a hint if the extra noise is switching related or not. Switching related sources could be something like jitter or supply voltage noise, that effects the charge injection. Also some DNL problems may look like noise.

@jaromir: What are the integration times and modulation frequency during run-up ?
 
The following users thanked this post: jaromir, iMo

Offline jaromir

  • Supporter
  • ****
  • Posts: 338
  • Country: sk
Re: Multislope Design
« Reply #140 on: May 31, 2019, 10:09:19 pm »
Thank you much for detailed and valuable analysis. Your responses are goldmine of information.

In my case integration time is 20ms, with 200 runup cycles, ie. 100us per integration cycle.
DG211B is specified to have 1pC of charge injection by Visahy datasheet. I tried to select switches with charge injection as low as possible while withstanding +-15V on open switch.
I can try to experiment with both runup modulation speed as well as rundown speed. Slower rundown slope is not a major problem for me, as I'm not aiming at very fast acquisition, rather than slower and more precise measurement.
Also, I can easily try to filter the reference noise to some degree. There is even footprint for RC lowpass filter on the PCB, though the resistor is currently zero ohm link, but capacitor is fitted.
I guess the R17-C20 network in your design is added to cut down switching spikes from '4053. Is that correct? What kind of problem did the ADC exhibit without it?

Another thing I find intriguing is composite opamp in integrators of some ADCs, for example your design. This kind of composite circuit is not often used. What was your approach for selecting opamps (OPA1641/TLE2071) and resistor divider in between those?
 
The following users thanked this post: iMo

Offline Kleinstein

  • Super Contributor
  • ***
  • Posts: 14496
  • Country: de
Re: Multislope Design
« Reply #141 on: June 01, 2019, 03:43:31 pm »
R17 and C20 are kind of part of the compensation of the composite integrator. There is little need for these if a single OP integrator is used. Without these two the input voltage to the integrator and output of the OPA1641 showed quite some ringing. This required the short (fixed) phases in the modulation to be longer.

The idea of the compound integrator is to keep the input voltage to the integrator close to zero. With just a single OP, there would be some rectangular form residual voltage somewhere in the mV range, due to the limited GBW of the OP. If the resistors for the reference paths are not perfectly matched this can give a contribution to nonlinearity - by it's own the voltage is not a real problem.
The second OP reduces the residual voltage to some peak that decays after some 0.2-1 µs, depending on the speed used. The divider between the OPs is needed to adjust the stability / compensation. The 5:1 ratio is about right for same speed OPs. The choice of TLE2071 and OPA1641 is in part to the parts available at the time. When starting I used only a single OP integrator with a TLE2071 - at that time I had ordered parts from TME.eu and the TLE2071 was one they had at a reasonable price. In the compound integrator (and especially in my case with the ADC) the noise of the "fast" OP is not that critical - it is mainly speed. In the classical form the OP's noise may be more critical, as the comparator also reacts to higher frequency noise.

The OPA1641 is not that different from the OPA140 - just cheaper and slightly higher bias and offset. My other option here is an OPA145, the slower brother of the OPA140. For the test chose the fast OPA1641 to get a little more signal at the test point at the OPs ouput.

The 2 OP integrator is used in the HP34401, 34411, Keithley 2000, 2010, 2182, 2001 (some versions) - so it is not that exotic. the Keithley 2002 and 3458 even use 3 OPs - today one should get away with 2 OPs as the OPA140 is fast and precise. Besides the residual input voltage, the lack of high precision JFET OPs could have been a reason for the compound integrator. So just a single OPA140 may not be such a bad solution, if the resistors are well matched. The compound integrator is more like a thing for lower INL - it may even add some noise in the classical form.

With the charge injection the DG211 in deed does look good. One has to be a little careful with the front page numbers, as the charge injection depends on the voltage level.  Another point is that the circuit impedance also effects the charge injection. In the circuit with just single switches the capacitance of the loose end of the resistors acts as an additional  charge pulse. This extra charge pulse could upset the integrator quite a bit. It also take some time to get back to a stable off state (e.g. some 10 pF *100 K) - this could give an effect with very short off phases.

The reference noise is more like a small contribution. AFAIK some 100 nV/Sqrt(Hz) for the LM399 at some 10 KHz. So not that much filtering needed to reduce the 10 kHz by something like a factor of 5. It's a small noise contribution but avoidable.

Initially I also used the 4 phase modulation (to variable phases) during run-up. However for some reason the 2 sides/ positions in the cycle were not exactly equal and this can lead to quite some INL error just in the center of the range. This is because there is a chance from  pos / neg / pos / neg to  neg / pos / neg /pos over a very small range with changing many times between the 2 sub-phases nearly at once.

A simple test for the effect of higher frequency noise would be just doubling the integrator capacitor. This cuts the voltage at the comparator  in halve and about doubles the effect of higher frequency noise. So one could see if the higher frequency noise is that relevant at 1 PLC.  It helps to know which type of noise to fight.
Besides reducing the integration cap (which needs faster modulation) one could also increase the integration to 2 PLC. This reduces the effect of higher frequency noise by a factor of 2, and at 2 PLC the 1/f noise of the OPA140 is still very low. With older classical MS ADCs the optimum may very well be at more than 1 PLC - possibly even 10 PLC.
 
The following users thanked this post: chickenHeadKnob, jaromir

Offline iMo

  • Super Contributor
  • ***
  • Posts: 4897
  • Country: vc
Re: Multislope Design
« Reply #142 on: June 02, 2019, 09:50:25 am »
Here is a simulation of the Kleinstein's DIY MS ADC, the analog part.
You may use different opamps (with some models the simulation speed is low).
Timing is just a simple runup toggling, different from original.

Update: re-indexed relevant parts
« Last Edit: June 02, 2019, 10:37:54 am by imo »
 

Offline chickenHeadKnob

  • Super Contributor
  • ***
  • Posts: 1059
  • Country: ca
Re: Multislope Design
« Reply #143 on: June 02, 2019, 12:25:39 pm »
R17 and C20 are kind of part of the compensation of the composite integrator.

 I hope this isn't a stupid question. Did you mean R20 and C17 ?  Enjoying your commentary, some of the aspects are counter-intuitive to me.
 

Offline Kleinstein

  • Super Contributor
  • ***
  • Posts: 14496
  • Country: de
Re: Multislope Design
« Reply #144 on: June 02, 2019, 01:43:30 pm »
R17 and C20 are kind of part of the compensation of the composite integrator.

 I hope this isn't a stupid question. Did you mean R20 and C17 ?  Enjoying your commentary, some of the aspects are counter-intuitive to me.
Of cause it is R20 and C17.

For the OPs choice the second OP (with the capacitor in feedback) mainly needs to be fast. If at all higher frequency noise matters. The 1st OP in the compound integrator (with divider at the output) does not need to be so fast (though more than 1/5 the GBW of the other OP would be nice - faster OPs are effectively slowed down by the divider) and here low frequency noise and DC precision matters. Old Keithley meters used something like OPA177 (a little on the slow side) as a precision OP and AD711 for the fast part.

For the very fast switching spikes from the 4053 the HP34401 (and quite some other meters) and my ADC circuit use ferrite beads. I don't know exactly how they help, but they do improve the noise and settling of the integrator a little. The high speed of the HC4053 is a 2 sided thing: it keeps jitter low, but can also causes EMI issues from RF components not visible on the scope. However for the supply lines I more turned away from ferrites towards just resistors - they are just more predictable to me.
 
The following users thanked this post: chickenHeadKnob

Offline iMo

  • Super Contributor
  • ***
  • Posts: 4897
  • Country: vc
Re: Multislope Design
« Reply #145 on: June 02, 2019, 04:28:46 pm »
With ferrite beads (smd 75ohm). Found a MCP600x which works.
« Last Edit: June 02, 2019, 04:42:26 pm by imo »
 

Offline splin

  • Frequent Contributor
  • **
  • Posts: 999
  • Country: gb
Re: Multislope Design
« Reply #146 on: June 03, 2019, 01:41:38 am »
I'm guessing you probably chose the LT1028A just for the purpose of the simulation, but for a real implementation the input current noise, 4.7pA @ 10Hz, is much too high for this application - the noise due to the current noise exceeds the voltage noise for source impedance > approx 200 ohms. And you have 2 of them so the current noise will be 1.4X

The 40nA input bias current will cause a fair bit of offset, but so long as it stays constant, autozeroing will take care of that.

The 34401A op amp choice is a bit surprising (to me at least). The OP27 was a goto precison amp at the time so probably a reasonable choice, apart from the relatively high current noise. But why use an AD711? Its slower (4MHz GBW) and much noisier (2uVpp 0.1 to 10Hz) compared to the OP27 (8MHz, 90nVpp). Its a JFET so the bias current and current noise are much lower than the OP27 but that is pretty much irrelevant given they are already using an OP27. So why not use another OP27 or a faster non-precision, low noise amp? The AD711's full power bandwidth is only 200kHz; it does have a much higher slew rate of 20V/us compared to 2.8V/us for the OP27, but even that should be enough for the 34401A with a max dVc/dt of around 1V/us.

Of course it works well enough so perhaps it was a cost question - except that as a precision JFET I doubt it would have been particularly cheap either.
 

Offline Kleinstein

  • Super Contributor
  • ***
  • Posts: 14496
  • Country: de
Re: Multislope Design
« Reply #147 on: June 03, 2019, 05:58:52 am »
The OP choice in the 34401 surprises me too. The current noise of the OP27 can be a real problem at 10 PLC. The 2 nd OP may not need to be so low noise, but higher GBW would have definitely been an advantage. The µC internal  ADC used in the 34401 is not that fast, and thus does not react to the very high frequency noise.  At problem at the time could have well been that there where not many fast precision OPs.
The is another reason a don't like a BJT based OP at the integrator and thus prefer something like OPA140 and similar: the input can see small spike from switching that may exceed some 25 mV and at this point there can be additional input current for a BJT based input stage. At least one leaves the linear range.
The 34401 has another oddity with the resistors at the input, using an additional resistor to ground to effectively divide down the signal at the input.  The ASIC they build for it was probably the reason HP used it so much.



@IMO The MCP600x I use in my version before the µC internal ADC is not critical - its used with quite some delay. The MCP600x are just simple and common 5 V rail to rail OPs.  To speed up the simulation one can use the universal OP model from LTspice for non critical OPs.
 

Offline iMo

  • Super Contributor
  • ***
  • Posts: 4897
  • Country: vc
Re: Multislope Design
« Reply #148 on: June 03, 2019, 06:48:21 am »
Yes, the opamps in the above simulation are the "placeholders" only. With some opamps the simulation is slow or even not converging (ie OPA140).

Yes, it could be interesting to use the LTSpice "universal opamp" model and specify those several parameters it offers.

See below the LTspice model levels (from the LTspice library):
 

Offline iMo

  • Super Contributor
  • ***
  • Posts: 4897
  • Country: vc
Re: Multislope Design
« Reply #149 on: June 09, 2019, 01:13:44 pm »
Could we somehow summarize what type of opapms are shortlisted for the specific ADC stages?

Input buffer:
---------------
1. OPA140
2. OPA145
3. OPA189

Integrator:
---------------
1. OPA140
2. OPA1641+TLE2071

Slope amplifier:
--------------------
1. NE5534

LM399 buffer/inverter:
--------------------------
1. OP07
2. AD8676
3. TL072

Comparator:
---------------
1. LT1116
2. LT1016
3. LM311

??
« Last Edit: June 09, 2019, 01:23:58 pm by imo »
 
The following users thanked this post: valy1965

Offline Kleinstein

  • Super Contributor
  • ***
  • Posts: 14496
  • Country: de
Re: Multislope Design
« Reply #150 on: June 09, 2019, 03:34:08 pm »
The OPA189 or similar makes sense for the input buffer, only if one needs low drift without auto zero. Normally the OPA140 should be still lower drift than the integrator. Here it could be about the accuracy: The OPA140 OPA1641 has very high gain, but linearity may be limited by the still good CMRR. The OPA1641 OPA140has better CMRR, but less gain. Bootstrapping the OPA145 improves on the CMRR, but in the current form is a bit on the slow side.

For the Integrator OPA1641+TLE2071 is what I currently have, but other combinations are possible too. I don't even consider the TLE2071 a very good choice. Chances are OPA145+OPA1641 may work slightly better, as the OPA1641 has lower output impedance.
Just the single OPA140 may be good too. It can have some advantage in faster settling than the compound integrator, but would like very well matched resistors for the references. So it depends on the rest of the circuit.

The slope amplifier is relatively uncritical. It should be fast and low noise (e.g. less than the integrator), so the NE5534 is often kind of good enough and cheap. If a very fast comparator response is needed something like OPA209 (20 MHz GBW) could be an upgrade.

For the reference amplification it depends: in my form the amplification and load is static, so the OP07 is good enough. It contributes a little to the noise and drift, but not much. The AD8676 can be better and this may be needed for a rather dynamic loading to the reference.

In my circuit I use the µC internal comparator. With a slope amplifier the comparator noise should be no longer that critical and often the slope amplifier also sets the effective bandwidth. So the LM311 can be good enough in quite a few cases.

Quite often the OPs are not the really critical parts. The switches and the resistors can contribute quite a bit: quite some offset drift is due to a change in the ratio of positive to negative reference due to resistor drift. For this reason AZ OPs are of limited use there.

Quite often there is also a good enough: e.g. the OP07 are usually better than the LM399 reference when it comes to drift and noise. With only 20 ms (and up to some 100ms) integration the OPA140 or OPA145 for the integrator are lower noise than the usual 50-100 K resistors at the integrator: so there is limited use of even lower noise OPs here.

The integrator speed determines how fast the modulation can be.  A very fast modulation is mainly needed to allow a very small integration cap and this way reduce the higher frequency noise, that is relevant for very short integration (e.g. 1 ms).  As charge injection may also contribute, a very fast modulation is not good per se. Some 10-20 kHz should be fast enough to avoid DA related errors (at least the slow part), even without super fancy caps.
« Last Edit: June 10, 2019, 06:26:56 am by Kleinstein »
 

Offline iMo

  • Super Contributor
  • ***
  • Posts: 4897
  • Country: vc
Re: Multislope Design
« Reply #151 on: July 15, 2019, 04:42:49 pm »
While reading the service manual of the 3478A (the Mutlislope detailed description chapters) I find myself asking why the meter is just 5.5digits, when Jaromir's and Kleinstein's meters are attacking 7digits with ease.

The 3478A's MS algorithm and the hw around (ok, the opamps are rather oldish and the switches inside the hybrids have unknown parameters) is much more complex than the 2 designs above.

For example more complex phases, variable rundown currents, 6bit DAC for integrator's offset compensation, etc.

Does the additional 78's DMM circuitry limit the "achievable" resolution (like dividers, etc) while the MS ADC itself can do more?

How would the 78's MS ADC perform with modern parts?
« Last Edit: July 15, 2019, 05:23:45 pm by imo »
 

Offline Kleinstein

  • Super Contributor
  • ***
  • Posts: 14496
  • Country: de
Re: Multislope Design
« Reply #152 on: July 15, 2019, 05:34:02 pm »
The ADC inside the 3478 is more like a reduced version of the 3457 (near 7 digit performance). AFAIK it uses slower control buy a CPU but possibly the same hybrid (though possibly lower grade ones). The 3478 is also one of the better 5.5. digit ones.
The old Multi-slope II ADC still has a few weak points:  The modulation is relatively slow and the integration cap relatively large this results in some noise contribution from the comparator / slope amplifier. This is especially important for relatively short integration.

The integrator has one reference path always connected and is only switching one side - this increases the noise gain for the integrator OP and adds extra noise from the resistors. Using the difference of positive and negative current also adds to drift / uncertainty.
With relatively slow control the theoretical resolution is also limited. The CPU used is considerably slower than the modern single chip µC or FPGA.
The 3457 with an ASIC for faster control is considerably better resolution.
I don't think the ADC solution is especially good, as it is quite some effort. But this was about the state of the art by that time.

My design is more like an improvement from the HP34401 on. It is also made with a simple circuit in mind, making it even simpler than the ADC in the 34401, despite of better performance. It also uses quite a few function inside the µC (ADC and comparator). With parts from the 1980s the circuit would not be that simple either.  Better OPs also help as there is no more need for analog offset compensation.
 
The following users thanked this post: iMo

Offline jaromir

  • Supporter
  • ****
  • Posts: 338
  • Country: sk
Re: Multislope Design
« Reply #153 on: July 15, 2019, 07:18:57 pm »
Though Kleinstein gave his answer, here are my two cents:

While reading the service manual of the 3478A (the Mutlislope detailed description chapters) I find myself asking why the meter is just 5.5digits, when Jaromir's and Kleinstein's meters are attacking 7digits with ease.

I'm aiming at 6,5 digits with my design. My design is simpler than comparable designs from 30-40 years ago because:
1, I keep feet on the ground: I do not shoot for high acquisition rates and have realistic 6,5 digit resolution in mind. Having high throughput of meaningful data is difficult and I'm not doing it.
2, New analog components. With better analog components, one can sometimes do less compromises, omit compensations, corrective circuits, cherry-picked components. That makes overall circuit much simpler and less laborious to build and setup.
3, FPGA/CPLD - this is expansion of point 2: in older TE there is often quite bit of circuitry to workaround that they didn't want to roll new ASIC for each meter. With FPGA and CPLD for a few bucks I can make he digital circuitry as needed and save five+ digit USD stash for ASIC. Alternatively - as Kleinstein demonstrated - MCU with appropriate peripheral set can do great job for fast digital circuitry, unthinkable in i8049 era.
4, Standing on shoulders of giants. I can take inspiration from patents, repair manuals and technical notes written by a lot of clever folks, sharing their hard earned knowledge.

All those points are doing the ADC design much simpler, less time consuming and therefore cheaper; available within reach of average hobbyist within limited time frame during lunch hours or evenings when kids are sleeping.
 
The following users thanked this post: iMo

Offline Rerouter

  • Super Contributor
  • ***
  • Posts: 4694
  • Country: au
  • Question Everything... Except This Statement
Re: Multislope Design
« Reply #154 on: July 16, 2019, 08:45:43 am »
It seems most of the current multislope designs in the wold can trade resolution off for aquisition rate, could either of your designs do the same, or is there some fundamental limit that would prevent say 50x the sample rate but only resolving to 3.5 digits (and similar steps in between)
 

Offline Kleinstein

  • Super Contributor
  • ***
  • Posts: 14496
  • Country: de
Re: Multislope Design
« Reply #155 on: July 16, 2019, 09:54:09 am »
The ability to trade in resolution for speed is a general feature of the multi-slope ADC (and also the sigma delta ADC).
There are several effects that limit the range and how a shorter conversion effects the resolution/noise:

Towards very short conversions the resolution goes down proportional to the integration time. It depends on the design wether this limit is more due to the theoretical resolution (e.g. time steps for the last rundown) or from the higher frequency noise that can limit the useful resolution for the final charge reading. So there is a practical limit on how good a timing resolution helps.
Towards very short conversions there is also the time lost for the rundown, that limits the useful maximum sampling rate. It does not make much sense to have integration much shorter than the rundown time.

The other effect that can limit the effective resolution is low frequency noise. This noise (if not dominated by 1/f noise) goes down with the square root of the integration time only. So it takes 4 times the integration time to reduce this noise by a factor of 2.  In the 1/f noise dominated range longer integration does not help any more. This extra 1/f noise limit can often be circumvented by using averaging of shorter integrations.
Often the real integration is only up to some 10 PLC and slower conversions are averaging with a zero reading in between.

So there are usually 2 ranges: resolution (theoretical resolution and noise) going up proportional to integration time T at short times.  At long times the resolution (noise limited) goes up with the square root only. This also applies to averaging of shorter conversions to circumvent the 1/f noise.   

Where the cross over between the two ranges is depends on the design - older designs with not so high timing resolution or relatively slow modulation tend to have the proportional to T regime up to some 10 PLC or so. For a good design it helps if the cross over to low frequency limitation is well below the 1/f noise range.
 
The following users thanked this post: iMo

Offline jaromir

  • Supporter
  • ****
  • Posts: 338
  • Country: sk
Re: Multislope Design
« Reply #156 on: July 16, 2019, 10:02:07 am »
...is there some fundamental limit that would prevent say 50x the sample rate but only resolving to 3.5 digits (and similar steps in between)
You can go as fast as you wish.
Integrating ADCs do have great feature - you can have fixed integration time in multiplies of power line period (20, 40, 60, 80... etc. ms for 50Hz) and thus suppressing the power line noise right at the ADC level, with no need for digital filtering.
Having shorter integration times is indeed possible, but you are losing this advantage, so if you are into higher acquisition rates and you don't need much of resolution, there is nothing that keeps you from using other ADC types, like SAR. There is plenty of ADCs with 10-12bits of resolution running up to few MSPS, often even inside modern MCUs.
 

Offline Rerouter

  • Super Contributor
  • ***
  • Posts: 4694
  • Country: au
  • Question Everything... Except This Statement
Re: Multislope Design
« Reply #157 on: July 16, 2019, 11:34:51 am »
In the meanwhile, Any chance I could see the Mux / Integrator parts of your original PCB layout, Having a crack at re-spinning Klenstein's as a bit of a personal learning experience on high precision layout, but the 4053 does not make it easy to escape route the positive supply rail, and would like to see what the other side of the fence looks like with yours Jaromir. Equally the analog ground run to the integrator is a bit weird to me, its low impedance essentially, but has to be treated as a very high impedance signal best I can tell, having the input and analog ground treated almost like a differential pair.
 
The following users thanked this post: splin

Offline iMo

  • Super Contributor
  • ***
  • Posts: 4897
  • Country: vc
Re: Multislope Design
« Reply #158 on: July 16, 2019, 11:37:34 am »
Now, what about the 3 resistors at the integrator's input - Jaromir's 200k+100k+100k, vs Kleinstein's 50k+50k+50k.

There is the resistor's thermal noise, TC, ratio matching TC, the switches On resistance and self-heating to consider.

I've been thinking to use the LT5400 there - either 4x100k or 4x10k version (there is none other suitable version there available, afaik). Perhaps the 4th resistor as a heater with 4x10k version (the 100k creates only 9mW at 30V, not sure it is enough).

What would be the right optimal choice, considering the OPA140 as the integrator and LV4053 or DG switches??

PS: It is my current understanding nobody here considers to build a high speed MS ADC here.
A few/couple measurements per second max would be great with 6.5digits, or less for 7digits with longer integration..
« Last Edit: July 16, 2019, 12:18:30 pm by imo »
 

Offline Rerouter

  • Super Contributor
  • ***
  • Posts: 4694
  • Country: au
  • Question Everything... Except This Statement
Re: Multislope Design
« Reply #159 on: July 16, 2019, 11:46:27 am »
Kleinsteins is 25K+25K+25K, he paralleled the resistors. there is a FB resistor on both paths that I'm not quite sure of the value of, which would increase the reference resistance,
 

Offline jaromir

  • Supporter
  • ****
  • Posts: 338
  • Country: sk
Re: Multislope Design
« Reply #160 on: July 16, 2019, 01:17:21 pm »
...would like to see what the other side of the fence looks like with yours Jaromir.
There is dedicated thread about my design here https://www.eevblog.com/forum/metrology/diy-6-5-digit-voltmeter/ all with complete schematics, PCB layout, source files and stuff.
That being said, I'm not claiming this is the best possible design. In the meantime I found a few flaws with the PCBs and will do respin. I released all files to public, so anyone is invited to discuss, study and improve it. When I do respin, I'll surely update the uploaded files or start public repository, so it doesn't get too messy.
 
The following users thanked this post: iMo

Offline Kleinstein

  • Super Contributor
  • ***
  • Posts: 14496
  • Country: de
Re: Multislope Design
« Reply #161 on: July 16, 2019, 02:04:32 pm »
The resistors at the integrator are kind of a balance between noise from the resistors and errors due to self heating and the switch resistance.
In my configuration with 3 equal resistors the resistor contribution to the noise is as if 2 of the resistors are in series, contributing there voltage noise. So with 3 x 50 K one get the noise from 100 K which is about 40 nV per square root Hertz. The OP in the integrator contributes about twice its voltage noise. So for an OPA140 and 25 Hz  (assuming a 20ms signal / 20 ms zero cycle) this would be some 8 nV/sqrt(Hz). So the resistor is actually more important for the noise than this OP.
I know a few more other noise sources, as the reference amplification, the buffer, but these should be small (e.g. 10 nV range).
For the difference of 2 readings (signal and zero) one effectively has a noise bandwidth of 100 Hz. So the measured noise of some 700 nV RMS corresponds to some 70 nV/Sqrt(Hz) for the single conversion. So there is still some noise not accounted for.
With 25 K resistors the noise goes down to some 550-600 nV.  It looks like I have some 1/f type noise, as the noise gets worse at 2 PLC and 4 PLC. For the time being I consider the noise low enough.

With 100 K resistors for the integrator one would be at some 60 nV from the resistors. If the specified -<45 dB noise level for the LT5400 is true, the excess noise should still be not too bad. So the overall noise could still be good. With very stable resistors like the LT5400 one could get away without the extra 7 V reading in between.

Using a 4 th resistor as a heater is possibly. The 2 reference resistors see a constant power. The maximum signal voltage is at about 12 V. So a voltage up to 12 V would be enough for compensation. As there is usually alternating zero and signal reading the heater could get away with some 8.5 V or so as the maximum.  Due to the good TC matching in the LT5400 I see no real need for heating though.  Power compensation would be more a thing for something like NOMCA type resistors with less perfect TC matching.

Attached are the PCB files for the TOP and bottom.  The bottom needs an additional connection drawn in red, as there was a mistake. With SMD type ferrites and without the initial error the layout may even get simpler. The board is an odd mixture of SMD and THT. The 4053 is the DIP16 below the center of the board.  I had used resistor symbols in the circuit for the ferrite beads - these should have very little DC resistance. These are kind of a copy from the HP34401 configuration.

I consider the placement of 4053, integrator and resistors good - the position of the buffer amplifier and LM399 so close to the DG408 is more of a problem. The supply to the 4053 should still have some filtering. That is currently done with a bodge and cut.
 
The following users thanked this post: iMo

Offline jaromir

  • Supporter
  • ****
  • Posts: 338
  • Country: sk
Re: Multislope Design
« Reply #162 on: July 16, 2019, 02:59:10 pm »
...Perhaps the 4th resistor as a heater...

LT5400 does have exposed pad, and manufacturer suggests to connect it to quiet analog ground, to decrease resistor-resistor capacitance; groundplane helps to decrease self-heating, too.
« Last Edit: July 16, 2019, 03:05:16 pm by jaromir »
 

Offline iMo

  • Super Contributor
  • ***
  • Posts: 4897
  • Country: vc
Re: Multislope Design
« Reply #163 on: July 16, 2019, 07:16:11 pm »
I wanted to use the exposed pad as the contact place where to measure the temperature of the package while heated. But it seems it is not required with the 5400 (see above).
4x10k is too low then?
« Last Edit: July 16, 2019, 07:18:53 pm by imo »
 

Offline Kleinstein

  • Super Contributor
  • ***
  • Posts: 14496
  • Country: de
Re: Multislope Design
« Reply #164 on: July 16, 2019, 09:08:29 pm »
With 10 K resistors and some 14 V reference (twice the raw 7 V from LM399 / LTZ1000) there would be quite some power: some 20 mW for 2 of the resistors and up to about 10 mW for the 3 rd resistor. Even with the thermal pad the temperature rises by some 40 K/W. So 10 mW of variable heat would result in 0.4 K temperature variations.

The second problem it that the switch resistance gets more important.

A third problem is that the integrator would need to cope with larger current jumps. The usual OPs (like OPA140, OPA172) have an open loop output impedance in the 100 Ohms range and a 2.8 mA current jump would thus cause spikes up to 280 mV. This could well exceed the linear range even of JFET based OPs. A two step transition could halve the step, but it is still quite a lot.

So the 10 K array is  on the low side,  likely causing higher INL errors.  A 100 K array (like Jaromir uses) may be a little on the high noise side. Still some 60 nV (compared to some 40 nV with 50 K) from the resistors is not that bad, especially for a first test. Though a little tricky from the layout, there could be the option to have a second array in parallel, if really lower noise is needed.
At least for a 1st test there are also MORN resistor arrays. These are same size as the LT5400, but cheaper and also available as 50 K and 20 K.
For comparison the HP3458 uses 40 K and 50 K resistors and +-12 V reference. Noise wise this is slightly worse than 3x50 K and +-14 V reference. They use some 10 K für the high speed modes - so using 10 K resistors (though with only 12 V reference) is not totally out of question.

The integrator resistors are important for the ADC gain stability and the one for the input can effect INL due to self heating. The critical parameter is TC matching if the resistors are coupled - so the LT5400 is really good quality.
The gain stability is also effected from the resistors used to amplify the reference. Here 4x10 K resistors is a suitable value.
 
The following users thanked this post: iMo

Offline Rerouter

  • Super Contributor
  • ***
  • Posts: 4694
  • Country: au
  • Question Everything... Except This Statement
Re: Multislope Design
« Reply #165 on: July 17, 2019, 08:31:24 pm »
Kleinstein might I ask what the value of R102 and R35 are, It seems to me that these should be very close to 0 ohms to prevent the references and bufffered input from effecting each other,
Equally I'm suprised you have not needed a negative supply on the 4053, as the internal switch resistance in the chip should mean the negative references input should be some small negative voltage.
 

Offline Kleinstein

  • Super Contributor
  • ***
  • Posts: 14496
  • Country: de
Re: Multislope Design
« Reply #166 on: July 17, 2019, 08:56:39 pm »
R35 and R102 are ferrite beads. So likely something like 0.1 Ohms of ohmic resistance and some lossy inductance.  Currently there are 300 Ohms nominal (at 100 MHz) - I am not sure if this is right.
The CMOS switches actually also work a little (like 200 mV) outside the supply range. So up to about -200 mV are OK without a negative supply.  For highest performance a slight negative supply may be good, as for the 74 HC4053 charge injection is supposed to be minimal with some -0.5 to -1 V supply, at least for some manufacturers that show a curve.  I have tried it with a negative supply, but at least the way I had it (with just a diode to get some -0.6 V) did not help.
With some 50-100 Ohms of switch resistance and some 200-500 µA of maximum current, the voltage should only reach some -20 to -50 mV.
However it is an argument against using much higher reference currents with 4053 switches.

The switching part I use is to a large part similar to the HP34401. This also includes the ferrites. I don't fully understand why, but they did some improvement.
 

Offline Rerouter

  • Super Contributor
  • ***
  • Posts: 4694
  • Country: au
  • Question Everything... Except This Statement
Re: Multislope Design
« Reply #167 on: July 18, 2019, 11:18:38 am »
Still working on the routing, It breaks a lot of conventions I'm used to, everything has to be planned as a differential current loop to prevent any kind of cross talk or interference with the measurement, meaning there are vastly different requirements for how quiet the ground should be for a given area, e.g. R35 seems like you would just connect it to the same ground as the analog filter, but that is not quite correct, the ferrite beads ground needs to be well away from it as its switching significant currents compared to the sensitivity of the system and its performance does not effect the measurement at all, its just giving that current somewhere to flow, and how the input filter needs to be almost directly at the input of U11, as that is the only place it forms a current loop with ground,

As far as I can see, the analog ground used for the integrator needs to be treated like a differential return all the way back to J2, with the references referenced off that point. but leaving something having to be done about all the current from the zener... I', slowly unwrapping it all, but I can see why people say laying out these boards can be harder than designing them. I suppose once its built up into a well planned block it will be a reusable module, but wow does this strain the brain.

In these type of circuits, how much effort is generally put to having ground planes on the reverse side of the board overlap the chips, as that could increase power supply noise coupling in, but I would imagine the shielding being a bigger benefit.

Or have I accidentally started trying to design far better than is actually required?
 

Offline Kleinstein

  • Super Contributor
  • ***
  • Posts: 14496
  • Country: de
Re: Multislope Design
« Reply #168 on: July 18, 2019, 02:00:25 pm »
I also think keeping the analog / signal ground separate is a good idea. I just consider it as a separate, e.g. analog signal, though I have a connection (via a wire) at one point. In theory the connection could later be external too, e.g. at the output therminal or the voltage sense wire of a shunt. One could even consider to have the signal ground at a level of something like +300 mV to essentially get a negative supply to the 4053.

For the current to the zener reference, there is a resistor to provide most of the negative side current from the -13.5 V reference and not through ground. Anyway the residual current is constant and thus less critical. The really critical one is variable current.

For low frequency DC a ground plane is usually not the right thing to do - it is more like star ground. In may layout I did a few compromises on this, where there should be not much current (e.g. input to the NE5534), especially not much variation in current.

The digital part may like a ground plane. One point that worked well for me is to no only isolate those parts that are sensitive to RF interference (e.g. analog VCC of the µC), but also have the same resistor or ferrite type insulation for those parts that produce interference. It may be a good idea to add even a few more such resistors, e.g. in the supply to the OPs for the reference amplification. Ideally one would a void to have a low impedance supply trace to both side of the decoupling caps. Just a cap is not a good filter - a cap and resistor is much better.

The layout may be tricky, but it looks like other meters (e.g. the ADV6581) get away with some really odd choices in the layout / placement. So one may not have to overdo it in the first try.
I see some odd effects around the DG408 MUX, like different inputs behaving a little different. It may be a good think to keep the reference with it's heat a little more away from the DG408. Another thermal to observe is that the buffer amplifier is a variable heat source and should thus be not to close to sensitive resistors. This may be a little less critical with really good resistors as an LT54000 array. From my circuit, there is one more idea: the filter capacitor for the reference can be from the -14 V instead of GND. This gives effectively 1/3 the filter frequency.
 

Offline iMo

  • Super Contributor
  • ***
  • Posts: 4897
  • Country: vc
Re: Multislope Design
« Reply #169 on: July 18, 2019, 08:12:00 pm »
I would not put the voltage regulators on the ADC board as they are a large source of heat. I think Jaromir had recognized that too as he moved the regulators off his ADC board (compared to his prototype).
 

Offline jaromir

  • Supporter
  • ****
  • Posts: 338
  • Country: sk
Re: Multislope Design
« Reply #170 on: July 18, 2019, 08:20:18 pm »
That is correct observation.
It's always advisable to have little thermal gradients on sensitive PCBs.
 

Offline Rerouter

  • Super Contributor
  • ***
  • Posts: 4694
  • Country: au
  • Question Everything... Except This Statement
Re: Multislope Design
« Reply #171 on: July 19, 2019, 10:41:23 am »
Kleinstein for your design, It looks like by trimming R77 to a slightly lower resistance (about 14.3K) it reduces the references ground current to almost 0, is there a particular reason behind it being 15K flat, or could it be trimmed like this so ground is just a null point. Just trying to rework things to have there be a very quite signal ground shared by the references and integrator, so the less current I dump on it the cleaner things should get.

I'm also not quite sure how to manage the power rails, as it ends up that the integator charge current is looping through the supply rails, not the signal ground, meaning I need to make a very quiet connection between the integrator op amps supply rails and the buffer op amps rails, as that is where that half of the current loop is flowing
« Last Edit: July 19, 2019, 10:49:03 am by Rerouter »
 

Offline Kleinstein

  • Super Contributor
  • ***
  • Posts: 14496
  • Country: de
Re: Multislope Design
« Reply #172 on: July 19, 2019, 12:32:14 pm »
The ground current compensation with R77 can be tuned for better compensation if needed. I originally had 2 resistors in parallel to get fine steps if needed - though one turned out unusable.
For the current to the integrator, one has to separate the AC an DC part. The integrator itself can only sink AC current, as the current has to go through the cap. The other current path is from the reference currents either to ground or the integrator.
For the current to the integrator, I have the relatively large resistors (150 Ohms) in the supply and the AC current going through 2 x 2.2 µF (C6 and C14) to the ground to join with the current from the switches.  150 Ohms * 2.2 µF is large compared to the modulation period (some 25 µs) - so not much of the AC current flows through the global supply.

The 5534 and the integrator share the same supply island with 150 ohms for separation, as there can be quite some current flowing between them, through R12. Originally I planed with a lower value for R12 to reduce it's noise (it could be important with a larger integration cap). Currently the 5 K from R12 give more noise than the NE5534 - though this higher frequency noise is still low and would be an issue only for very short integration (e.g. < 1 ms).

The DC path is from the supplies via the buffer amplifier through the integrator resistor (R3) towards and than through the 4053  directly to ground or kind of mirrored at the integrator and reference sources through the 4053 to the same ground point. I would not worry that much about the DC part flowing through the supplies - thats what the supplies are good for.
 

Offline jaromir

  • Supporter
  • ****
  • Posts: 338
  • Country: sk
Re: Multislope Design
« Reply #173 on: July 19, 2019, 09:22:47 pm »
I studied design of 34401 once more and one thing caught my eye:
The third switch (pins 3,4,5 and 9 of 4053), controlling input current from ADC input to integrator is constantly open *. In Kleinstein's design - which I considered to be similar to 34401 - this switch is operated by MCU. I have to admit his approach is easier to grasp for me.
If ADC input is never disconnected from integrator, how is integration time defined?
How do they perform residual integrator charge readout? I guess it's better to have integrator output voltage stable during readout, no matter how it's performed, that suggests turning the input off during that phase.

---------------------------------------------------------------------
* pin 9 is grounded, so that pin 4 is switched to pin 5 and pin 3 is never used.
 

Offline Kleinstein

  • Super Contributor
  • ***
  • Posts: 14496
  • Country: de
Re: Multislope Design
« Reply #174 on: July 19, 2019, 10:09:45 pm »
The 3rd switch of the 4053 always fixed and thus the input always connected also looks odd to me. For the normal operation this is not a problem: the ADC in the µC is relatively fast and reads the charge in the integrator on the fly, at some point in time. This time is effectively the start of the integration. A second later reading sets the end.
However there are a few difficulties, odd points still unclear to me:
1) the modulation is very fast, especially for the integrator used. This seems to limit the input range and require the large resistor for the input signal - noise wise a poor decision.
2) reading on the fly it is not clear on how much of the current phase / reference setting is effecting the reading.
   The last run-up step has likely only partial effect, but it is not clear how much.
3) the resolution is rather limited, as the ADC must cope with a relatively large voltage range of a full run-up step.
  This could kind of explain the limited resolution of the 34401.

Even if not needed for the measurement, I would very much like to have the option to turn off the input do do the internal calibration of the auxiliary ADC scale. They may get away with switching at the very input to ground.

When switching between the input signal and zero reading, one still has to wait for the input amplifier to settle. So the continuous integration is not such a big advantage, as the non AZ mode is quite noisy from the OP27 anyway.

Some of the Solartron DMMs also have the input signal continuously connected, though they do not use an extra ADC, but the comparator timing.

I also see my design as based on the 34401, at least its a good point to compare: the 2OP integrator, 4053 switch, no integrator reset and using the µC internal ADC for residual charge reading. The improvement is mainly from the added rundown phase (so mainly a 'software' point), that adds to the resolution and from using better OPs in the integrator.
 

Offline jaromir

  • Supporter
  • ****
  • Posts: 338
  • Country: sk
Re: Multislope Design
« Reply #175 on: July 19, 2019, 11:42:57 pm »
Taking measurements of integrator output "on the fly" is possible, and as far I understand, it's done by 80C196 processor. It's got 10-bit ADC and integrator output is routed to one of ADC inputs, confirming this idea. This allows to omit zero comparator and slope amplifier, both being critical components to integrating ADCs. So far so good.
On the other hand, the internal ADC isn't particularly stellar and I can see some compromises being made here:
- S&H sample time is 1,33us (8 states per 167us as it runs at 12MHz) in fast mode, compared to tens us period of modulation frequency.
- ADC has resolution of 1024 levels, but minimal 256 levels - minimum 8 bits, maximum 10 bits of resolution.
- ADC has INL of +-4 LSB
- ADC has DNL of +-2 LSB
- DS requires maximum input impedance 1,2kOhm maximal, but R405 and R407 are 4,16kOhm total. I guess violating this parameter is somehow worsening the internal ADC parameters even more.
I wonder how many bits (or digits of result) are they getting from rundown phase.

The Solartron DMMs has different ADC principle; mark-space type, as described in patent US3942172. I'd say it sits somehow closer to sigma-delta ADCs than to integrating ADCs.
« Last Edit: July 19, 2019, 11:45:15 pm by jaromir »
 

Offline Rerouter

  • Super Contributor
  • ***
  • Posts: 4694
  • Country: au
  • Question Everything... Except This Statement
Re: Multislope Design
« Reply #176 on: July 20, 2019, 03:08:51 am »
Kleinstein what would you have used (or like to have used) for C13?

Never laid out a reference before, But think its coming up quite nicely, still any input would be appreciated,

main goal is just to improve on the layout without increasing the BOM to the level of the LTZ1000 madness.

Only connection left here is to escape the zener voltage to the input MUX, but that is what the third thermal leg is intended for.
 

Offline Kleinstein

  • Super Contributor
  • ***
  • Posts: 14496
  • Country: de
Re: Multislope Design
« Reply #177 on: July 20, 2019, 10:04:07 am »
For the proposed layout, it would be a good idea to have R4-R7 well matched. These resistors effect the ADC gain and thus the scale factor. So I would at least try to keep them together, or even better use a resistor array  (e.g. AORN, NOMCA, MORN or LT5400-10K). 10 K resistors should also be Ok.

Especially with a resistor array one could consider a slight change: create the asymmetry / slow slope not with R8 parallel to R7, but an extra divider at the + input of U8. Though not that critical, TC matching would matter inside the extra divider and not from R8 to R4-7.

With not so good resistors I currently do a gain measurement for every reading (just like old Keithley 19x DMMs) - this slows down the measurement and adds some noise. It could be still attractive for a low cost version.

For the filter cap C13 a relatively large values is beneficial. I currently have 4.7 µF and R22 now at 5 K. A slightly larger cap (e.g. 10 µF could be used, but they tend to become physical large. As the reference is usually a constant voltage and some warmup is needed anyway polyester cap (e.g. MKS) should be good enough. I would be a little suspicious about MLCC there. To a lesser degree this also applies to C26, C28 but the 100 nF MLCCs may be OK.  As an additional modification the lower side of C13 is now connected to the -13.x V output. This essentially works as a x3 capacitance multiplier. So now I have 3 x 4.7 µF x 5 K  or just short of 75 ms.

The main idea is to have the capacitor to average / filter the reference over the time of a whole measurement cycle (either signal and zero or signal, zero and 7 V). This should help ta avoid some avoidable noise of the reference without too much effort.
As the reference value is not really used in the zero reading this would make it somewhat sensitive to reference noise at around 16 / 25 Hz. This unwanted part is relatively easy to filter out - there is not much to be done about low frequency noise (e.g. < 1 Hz). The main purpose is to get rid of that extra relatively high frequency band that is avoidable. So the target filter time constant should be larger than some 50-100 ms. The minimum requirement for the filter is to keep out the >20 KHz noise, which is easy.

If the MUX in front of the ADC causes significant charge pulses on switching, one could consider an extra buffer for the 7 V to the MUX, especially if the fast gain adjust mode is used.

For the 34401 ADC, I also have some problems to see how they get there resolution for short conversions. The limited resolution of the µC internal ADC may explain that they still use 10 PLC despite of quite some 1/f noise from the OP27.  One method they may use could be reading the auxiliary ADC multiple times and average. This would correspond to a kind of soft ends of the integration time. However this would come at the disadvantage of more time lost in AZ switching. Much of the multislope II ADC is described in US patent 5117227  - though I still kind of miss those details.
 

Offline Rerouter

  • Super Contributor
  • ***
  • Posts: 4694
  • Country: au
  • Question Everything... Except This Statement
Re: Multislope Design
« Reply #178 on: July 20, 2019, 10:41:58 am »
Any objection to using COG dielectric for the 100nF capacitors in this part of the circuit. Those polyester are big, Can certainly do for C13 as Its value rules out COG but for all other specs seems like its just as suitable

I can lay out for a resistor array, I suppose the question is how much do they cost and please give an exact model and I'll lay it out. (Should it not be a 5K array?)
e.g. I see this and would think its suitable, but you may feel differently, (Try and pick something that is normally stocked)
https://au.mouser.com/ProductDetail/Vishay-Beyschlag/ACASA5001U5001P1AT?qs=sGAEpiMZZMvrmc6UYKmaNaT%2FGf4mI0tTOw5gJ49cnpM%3D

If we need a better ADC for the residue, that is not a problem, Make use of the adjustable ADC Vref in the arduino to get the resolution where you need it. (I know its not the best ADC, but we can make better use of its features)

Give me an idea on what you mean for the slow slope and I can probably lay it out.

Also should that also not imply R2-1/R2-2 / R1-1/R1-2 / R3-1/R3-2 should be using a resistor array to increase matching?

edit: (Moving C13 to -15V makes things a lot easier on my side, that was the only other part left possibly adding noise to the ground)
edit2: Yep, that poly is a big-one
« Last Edit: July 20, 2019, 11:25:02 am by Rerouter »
 

Offline Kleinstein

  • Super Contributor
  • ***
  • Posts: 14496
  • Country: de
Re: Multislope Design
« Reply #179 on: July 20, 2019, 12:20:17 pm »
For C26 C28 COG caps should be OK too. Even X7R has a good chance to be good enough.  They may be even smaller than 100 nF - in theory 10 nF would be good enough, not to amplify 20 kHz. 100 nF is just convenient when using film caps anyway.

C13 should be towards the -14 V reference output , not -15 V supply.

The SMD resistor arrays linked are more like at the low end. They may still need to use the frequent gain adjustment.
Still they are definitely an option for a low cost version, and they should no be so difficult to solder. I currently have individual resistors and rather poor gain stability (well possible my resistors are outside of there 15 ppm/K specs).

I though of something like the MORN series:
https://www.mouser.de/ProductDetail/Vishay-Thin-Film/MORNTA5001AT5?qs=sGAEpiMZZMvrmc6UYKmaNaFuYzg9D8IyI2HjpkrNNLo%3D
At a little over $3 they are not that expensive and TC matching may be good enough to get away without the frequent adjustment.

AFAIK they could use the same footprint as LT5400  ( better specs, but 2.5 times the price), just without the exposed pad for improved thermals.
There is not need for accurate value matching - so the cheaper versions are sufficient.

The ADC in the 80196 used in the 34401 looks like it could be limiting performance. This is because there is no rundown phase in between and thus more contribution from the auxiliary ADC. In the 34401 the auxiliary ADC has to cover some +-1-2 µs worth of reference current. In my solution the auxiliary ADC only covers some 12 ns, and the ADC can work in hold mode. So it is much less demanding.

The 10 Bit ADC in the AVR is good enough for my version. I don't even need the full resolution - currently only some 200 LSB used, leaving plenty of head-room and tolerance for the trimmer adjustment. The ADC would be a little more critical in a version without the slow slope and thus symmetrical +-14 V reference. If the fast rundown resolution reaches some 100 ns the 10 Bit ADC should be sufficient.

Attached is the schematics for an slightly changed reference part. R19,R21 now set the slow slope. The voltage levels would be some 5% smaller, but this should not be an issue.
 

Offline Rerouter

  • Super Contributor
  • ***
  • Posts: 4694
  • Country: au
  • Question Everything... Except This Statement
Re: Multislope Design
« Reply #180 on: July 20, 2019, 12:33:59 pm »
Schematic attached where?

I should be able to just include both the MSOP and the 0603 array footprints, looks like they fit together pretty well.

Also for the AVR you are using, don't forget that you can use the analog comparitor for any ADC pin, not sure if that helps simplify some stuff for you, but the option is there,

Edit: Resistor Network Change Over done, not that much needed to be altered, just some nudging to make it fit
« Last Edit: July 20, 2019, 01:21:34 pm by Rerouter »
 

Offline Kleinstein

  • Super Contributor
  • ***
  • Posts: 14496
  • Country: de
Re: Multislope Design
« Reply #181 on: July 20, 2019, 01:23:03 pm »
Sorry for leaving out the schematics.

R1-R3 should also be good matching. R3 is even more critical, as it can contribute to nonlinearity.
So an array for R1-R3 is probably a good idea. The alternative would be really good resistors like BMF or good wire wounds.
For a low cost version the fast gain measurement is still an option to compensate for much of the thermal effects.

The analog comparator pins are not that bad positioned. So I have no need to route the comparator through the ADC mux. This would also need to turn off the ADC. So for a very fast conversion the µC internal ADC conversion could no longer overlap the next run-up. At least in my layout the lines to the comparator are not a problem.
 
For a time I was considering an external comparator because the AVR is faster waiting for an external signal (3 cycle loop) than waiting for the internal comparator (4 cycle loop). However a 3 cycle loops also has downsides and the µC internal ADC turned out to be surprisingly accurate: The ADC readings do not scatter over much more than the range of the time step.
The accuracy of the comparator is nice but with the ADC as the next step not important.

Edit:
There is no need to adjust the asymmetry / slow slope. It is much easier to measure the slow slope and use the measured value instead of a nominal. The same is true for the reference of the µC internal ADC: the ratio relative to the main reference can be measured relatively fast.  These internal cal measurements are quite fast (some 20-200 ms). The values are also not that critical, so that an adjustment every month or maybe year  /  20 C temperature change could be enough.  Only just after turn on is not the best time.
« Last Edit: July 20, 2019, 01:32:50 pm by Kleinstein »
 

Offline Rerouter

  • Super Contributor
  • ***
  • Posts: 4694
  • Country: au
  • Question Everything... Except This Statement
Re: Multislope Design
« Reply #182 on: July 20, 2019, 02:21:31 pm »
Updated as you suggested, It does alter the output voltages closer to +13.4 and -12.2 as far as I can see, do we need to relabel the reference voltages?

And attached is more or less your schematic, but with tiny tweaks, like both op amps use +-15V and R77 is 14.3K to reduce ground current seeing as it only changes the final output by a few ppm.

Edit: For the R1 - R3 array, Is having larger values in parrellel benificial, or would a 4 resistor array be suitable, if there is a benifit would a series/parrellel arrangement for each be beneficial, e.g. 12 resistors in total.
« Last Edit: July 20, 2019, 02:38:47 pm by Rerouter »
 

Offline iMo

  • Super Contributor
  • ***
  • Posts: 4897
  • Country: vc
Re: Multislope Design
« Reply #183 on: July 20, 2019, 03:06:46 pm »
Your RN201 - the pin 2 should be connected to pin 1 (not 8 ).
 

Offline Kleinstein

  • Super Contributor
  • ***
  • Posts: 14496
  • Country: de
Re: Multislope Design
« Reply #184 on: July 20, 2019, 03:47:38 pm »
The supply current for the OPs would be towards the power ground, not the signal ground. So I don't see a problem using only 15 V for one of the OPs. There is not need for balancing the current to the supply ground.

For the resistors R1-R3 using resistors in parallel / series could be an option in some cases. It very much depends on the arrays and an available values:  e.g. the LT5400 is only available in 100 K and 10K (which would be too low). 100 K should work, though 50 K would have a slight advantage with noise. So here 2 in parallel might be an option - though relatively expensive. Populating the 2 nd array is of cause optional.

With the relatively cheap and small SMD networks like ACASA, one could consider using 2 or even 3 in series (e.g. 20 K, maybe 10 K) to spread out heating and get slightly better TC matching from statistical mixing. Parallel connection would be more difficult from the layout and high value resistors may have higher excess noise (thinner film). The 4 th resistor each could in theory be used for power compensation (e.g. heating controlled via an DAC).

NOMCA resistors come with 7 or 8 resistors anyway - so a combination would be natural.
 

Offline Rerouter

  • Super Contributor
  • ***
  • Posts: 4694
  • Country: au
  • Question Everything... Except This Statement
Re: Multislope Design
« Reply #185 on: July 20, 2019, 09:04:46 pm »
IMO can you explain your reasoning. It matches his schematic. And that first resistor does not have a steady state current like the other resistors.

For your LT5400 option what would be your preference 2x 10K in series or 3x 100K in parrellel. The 10K sounds better for thermal matching but less sure if 20K is getting to low.
 

Offline iMo

  • Super Contributor
  • ***
  • Posts: 4897
  • Country: vc
Re: Multislope Design
« Reply #186 on: July 20, 2019, 09:10:50 pm »
IMO can you explain your reasoning. It matches his schematic.
Doublecheck the wiring of the first two 5k resistors wired to the IC9'th inverting input..
 

Offline iMo

  • Super Contributor
  • ***
  • Posts: 4897
  • Country: vc
Re: Multislope Design
« Reply #187 on: July 20, 2019, 09:26:00 pm »
- S&H sample time is 1,33us (8 states per 167us as it runs at 12MHz) in fast mode, compared to tens us period of modulation frequency.
It could be they use the modulation patterns (see below) where the S-0 and S+0 are there for some long enough time allowing even a slow ADC to take a sample..

From HP Journal Apr 1989
« Last Edit: July 20, 2019, 09:28:00 pm by imo »
 

Offline jaromir

  • Supporter
  • ****
  • Posts: 338
  • Country: sk
Re: Multislope Design
« Reply #188 on: July 20, 2019, 09:41:20 pm »
This got me thinking for a moment.
Actuating two switches at once can't compensate input current (from ADC input) into integrator; all you can do is cancel two strong runup sources, achieving the same effect as having both switches turned off.
 

Offline Rerouter

  • Super Contributor
  • ***
  • Posts: 4694
  • Country: au
  • Question Everything... Except This Statement
Re: Multislope Design
« Reply #189 on: July 20, 2019, 10:30:39 pm »
Yep, My mistake, Here is the fixed one with the resistor arrays for the input resistors
« Last Edit: July 20, 2019, 10:32:29 pm by Rerouter »
 

Offline iMo

  • Super Contributor
  • ***
  • Posts: 4897
  • Country: vc
Re: Multislope Design
« Reply #190 on: July 21, 2019, 08:07:56 am »
RN202/203 - I would use 7-2 or 6-3 for the heater :)
 

Offline Kleinstein

  • Super Contributor
  • ***
  • Posts: 14496
  • Country: de
Re: Multislope Design
« Reply #191 on: July 21, 2019, 08:40:38 am »
The 34401 ADc circuit does not have independent control over the positive and negative references, they both come from a single xx74 flip-flop.  Otherwise it would make sense to at least turn of the references (or use both together) when reading the ADC on the fly. This would at least reduce the slope - there is still the input signal, so only a factor 3-4 advantage in worst case.
So the 34401 has to do ADC sampling with one reference active. This would add 2 partially counting phases at the start and end of the conversion. This could be a kind of internal calibration factor, that could likely be determined from test measurements (e.g. with zero input), possibly together with the auxiliary ADC scale.

The switching scheme with both reference on or both of has pros and cons. The good thing is that the step in current to the integrator is smaller. So the transient peak at the integrator would be smaller. the negative side is having two peaks and even. In addition there is a small change to get some nonlinearity, if the two cases of getting near zero are not behaving exactly the same, e.g. due to parasitic capacitance that is different. I had a similar case, that cause noticeable linearity problems right in the center of the range:  in this range the use of both cases suddenly changes from one extreme case to the other. So even very minute differences get very visible.  Anyway this is a simple software question and thus easy to change / fix afterwords.

For the asymmetry part in the references, I start to get 2 nd thoughts about the alternative version with R19/R21: the extra divider has more effect on the difference value. So it depends if this is more attractive. If matching between R19/R21 is very good, its a good way, but in a simple form the single resistor reasonable matching the array may be easier. I think it's not clear if R19/R21 matching is more than 3 times better than R7 to R8 matching in the old case.

For the resistor quality I see mainly 2 cases:
1) really good resistors /  arrays, so that one can use infrequent gain measurement, just like used in many modern meters.
2) simpler resistors and a gain measurement for every conversion. This is slower (3 conversions instead of 2) and slightly higher noise (some extra noise effectively added to the reference).
This is a software question and one could still use the 1st. version for fast readings and the 2nd for slower ones.
Case 1 likely would need something like LT5400 or similar quality. If one accepts to use case 2 with the extra reading, the resistor TC is less important. Than the physical size of the resistors may matter, so they don't cool too fast over the 60 ms cycle. So there is slightly limited value of intermediate quality resistors. In the data-sheet of the ACASA resistor arrays I have not found noise specs. If rather poor in this aspect, it could be a deal breaker. So it may be worth a test before a final layout.

When using LT5400 for the integrator, the resistor value choice is a balance between noise and INL.  For the 3458 design they found some 300 µA reference current a good value for good INL. The 34401 uses some 330 µA. So I would prefer 100K resistors, either 1 x or 2 x in parallel. Even with 100 K resistors low noise levels (good enough for a LM399) should still be possible. I had tested an earlier ADC version (still on the bread board) with some 105 K resistors - the noise was higher, but still acceptable.

Only 2 x 10 K in series would be on the low side - lower noise, but possibly INL problems as the current steps would be higher. Maybe I should first test such high current level to see if I get visible INL problems. However INL testing is difficult and I still have some problems with switching to do the test.

The choice of the resistors is a difficult one. And good resistors (e.g. LT5400 at some $9) could easily be the most expensive parts. For a low cost version and as a 1st test one can get away with simpler resistors and the extra conversion.

For the layout, i don't think one would need that much cut outs: the LM399 temperature is about constant and thus not so problematic. Everything behind the MUX is not that sensitive to small offsets. I would more consider the option to have either the LM399 or an external reference - e.g. like in the Keysight 34465/34470.
The heat source I would be more worried about is the input buffer. So a few holes or a small cut there may be worth it.
 

Offline iMo

  • Super Contributor
  • ***
  • Posts: 4897
  • Country: vc
Re: Multislope Design
« Reply #192 on: July 21, 2019, 09:10:18 am »
What about to layout a single package 4x10k for reference and a single package for 4x100k input, with the pads shape where both LT5400 incl. thermal pad (there are two grades available afaik) and those cheaper networks in similar package would fit? That would be the simplest solution, imho.

These latest DIY designs profit from using "modern" parts (thus making the design simpler), I would not mess with single resistors there.. The final effort needed with using higher TC ratio matching parts is not worth $10 price difference.

PS: could we somehow tell what will be the "noise increase in practical measurements" when using 100k vs. 50k input resistors?
« Last Edit: July 21, 2019, 09:27:34 am by imo »
 

Offline iMo

  • Super Contributor
  • ***
  • Posts: 4897
  • Country: vc
Re: Multislope Design
« Reply #193 on: July 21, 2019, 09:57:45 am »
..It's got 10-bit ADC and integrator output is routed to one of ADC inputs, confirming this idea. This allows to omit zero comparator and slope amplifier, both being critical components to integrating ADCs..
..I wonder how many bits (or digits of result) are they getting from rundown phase..

While looking at the schematics the output of the integrator has 3 connections:
1. XADIN - via 100k directly from the buffered input stage
2. COMP - it goes to the Asic (U501-A)
3. FLASH - it goes to 80C196, Slow_10bit_ADC0

While the XADIN mixes with integrator's output aprox 1:10 I think it may work as an overload (out of range) indication and the COMParator inside the Asic could be of more comp levels (ie. a "4-8bit Flash ADC" ??).

PS: As the Asic is orchestrating the 7474 toggling (+/-refs) the flash_ADC's results inside the Asic follow the integrator's output with say ~50ns delay..
The ADC value is then made of coarse ADC in 80C196 and the Asic's flash_ADC value (could be 10-14 noise free bits in total).
The Asic has got all its Addr and Data lines wired in parallel with the 196, thus it may write the Flash_ADC results into the memory (an external 32kB sram) and the 80C196 makes some statistics to get even better results then.

PPS: the signal names "COMP" and FLASH" have been chosen by HP to mislead the competitors, it seems :)
« Last Edit: July 21, 2019, 11:28:31 am by imo »
 

Offline Rerouter

  • Super Contributor
  • ***
  • Posts: 4694
  • Country: au
  • Question Everything... Except This Statement
Re: Multislope Design
« Reply #194 on: July 21, 2019, 10:32:49 am »
Kleinstein,
For R19 / R21, 2ppm tracking ratio arrays are about $1.80 in sot23, pick a ratio that is available that suits you and its easy to route in.
e.g. https://au.mouser.com/datasheet/2/414/DIV23-1551440.pdf

My understanding is for most of these resistor arrays, the absolute value doesn't matter at all, only that there relative tracking PPM is as close to 0 as possible, lets say better than 2ppm
As such, we don't really need to lock things to the LT5400, there are tens of alternatives in similar packages that meet that specification, All the use cases are relative, not absolute, it doesn't matter that that 25K became a 25.068, so long as all 3 have, or am I inferring that incorrectly. even your recent respin lets us lock down a fixed ration with R19/R21 instead of R8 being a mystery on the old one.

E.g. for the input resistors, we can use another morna array at 2ppm tracking for a 25K input resistance, I know its not the <1ppm of the LT5400, but in reality I feel it should be sufficient, and leaves us alternatives with higher values in the same series.
https://au.mouser.com/datasheet/2/427/morn-795262.pdf

You mentioned an external reference input, plan out the circuit and I can route it,

And finally added some more tabs to make it a bit more rigid, I was more trying to prevent board flex from upsetting the reference,

IMO, flipped around your resistor, now do we want to run current to heat that resistor, and how do you plan to implement it, or do we just use it to measure that resistor, e.g. use the second amp of the MCP6002 to measure the current from the positive reference and amplify it to an ADC or similar.

Edit: Is it not easier to measure the temperature of the array to better than 1C? this seems like it could be the easiest solution, then pulse some power every few seconds to hold it there. I can place an SMD NTC right next to it.
« Last Edit: July 21, 2019, 11:55:07 am by Rerouter »
 

Offline iMo

  • Super Contributor
  • ***
  • Posts: 4897
  • Country: vc
Re: Multislope Design
« Reply #195 on: July 21, 2019, 10:38:35 am »
I think you must have some Temperature feedback to keep the temp constant. As I wrote above I was thinking to use the thermal pad as the point where to thermally couple an NTC or a diode.
The big Q is whether it is needed with LTC5400 and its 0.2ppm/K ratio matching TC..
« Last Edit: July 21, 2019, 10:41:21 am by imo »
 

Offline jaromir

  • Supporter
  • ****
  • Posts: 338
  • Country: sk
Re: Multislope Design
« Reply #196 on: July 21, 2019, 12:13:11 pm »
While looking at the schematics the output of the integrator has 3 connections:
1. XADIN - via 100k directly from the buffered input stage
2. COMP - it goes to the Asic (U501-A)
3. FLASH - it goes to 80C196, Slow_10bit_ADC0

While the XADIN mixes with integrator's output aprox 1:10 I think it may work as an overload (out of range) indication and the COMParator inside the Asic could be of more comp levels (ie. a "4-8bit Flash ADC" ??).

PS: As the Asic is orchestrating the 7474 toggling (+/-refs) the flash_ADC's results inside the Asic follow the integrator's output with say ~50ns delay..
The ADC value is then made of coarse ADC in 80C196 and the Asic's flash_ADC value (could be 10-14 noise free bits in total).
The Asic has got all its Addr and Data lines wired in parallel with the 196, thus it may write the Flash_ADC results into the memory (an external 32kB sram) and the 80C196 makes some statistics to get even better results then.

PPS: the signal names "COMP" and FLASH" have been chosen by HP to mislead the competitors, it seems :)

XADIN is the same as ADIN, but has reverse polarity (not just buffered signal) and is amplified roughly 1,2x.
COMP is mixture of those two signals 1:12.
I have no idea what is the deal here.

The only IC that really receives the output of integrator is 80C196.

Stitching together results of slow ADC in 80196 and fast ADC in ASIC (we have no idea, if there is really one) IMHO brings more problems than it solves, especially on fast moving target, as is the output voltage of integrator. With +-4LSB INL of slow ADC there is no way of getting reasonable 10 bits, let alone 14 bits.
Since we are speculating, I don't believe there is much more involved analog circuitry inside the ASIC than one or few analog comparators or opamps. There is no reference going inside the ASIC (though the reference goes to 80C196) and whole ASIC is fed by "dirty" 5V rail. COMP pin is sitting between two digital outputs. I can't imagine how would anybody place ADC in here.
 

Offline Kleinstein

  • Super Contributor
  • ***
  • Posts: 14496
  • Country: de
Re: Multislope Design
« Reply #197 on: July 21, 2019, 12:19:13 pm »
The noise from the integrator resistors is one of the larger components, but not the only noise source. Currently I get an effective noise level for a single conversion of about 60 nV/Sqrt(Hz) with 25 K resistors. With 50 K (but also a few other small changes) I had down to some 70 nv/Sqrt(Hz). This corresponds to the noise of a 220 K receptively 300 K resistors. The simple resistor noise should contribute twice the resistor value as a noise source. So 50 K rep. 100 K of this were due to the resistors. With 3x100 K resistors the expected noise would at about a 450 K equivalent and thus around 85 nV/sqrt(Hz).  This is still very good and normally considered worth 8.5 digits, if the reference is good. I have not yet tested 100 K on the PCB - but it did work with the breadboard version and +-7 V reference.

Jaromirs configuration with 200 K for the input and 2x100K for the reference should contribute like a 600 K resistor (200K + 2x200K). The big downside there is the 200 K for the input and less for the reference.  Just going to 3 x 100 K and thus a slightly reduced range (e.g. +-12 V  ? instead of +-14 V limited by the buffer) should reduce the noise quite a bit.

So I think a single MSOP foot print with thermal pad for the LT5400 (100K) should be OK. This would also fit (just ignore the thermal pad) a lower cost MORN - 50 K array.  Fitting the ASAZA (0612) size array would likely be borderline and tricky, as it is smaller and different pitch.
A second food-print is parallel is likely tricky from the layout, though possible (e.g. other side of the board).

In both cases the lower precision version should be sufficient - I see little need for much better than 0.5% matching of the resistor values.

For the ASAZA SMD arrays, I would consider using 2 x 20 K in series, but to be sure it may need a noise test up-front.

TC matching at the integrator is for 2 reasons:  gain drift and INL due to self heating. Gain drift is essentially directly set by the TC matching of the resistors. There is a part from the reference amplification and a part from the integrator. Comparing with other DMMs,  I would consider 2 ppm/K acceptable and 5 ppm/K (like with the ASAZA) would be more like on the lower end of the 6 digit DMMs. The INL part depends on the self heating: with these small chips even 100 K cause quite some temperature rise. 100 µA at 10 V give 1 mW and thus some 0.1 ... 0.5 K of temperature rise. With 5 ppm/K this would cause a 0.5...2.5  ppm of INL error. The self heating part could in theory be compensated by applying an additional voltage to the 4 the resistor to keep the total chip power approximately constant. The voltage could come from a small e.g. 8 bit DAC controlled from the last ADC result. So it would not be temperature regulation but a calculated power compensation.

The other mitigating option is measuring the gain more often. This also includes the thermal INL effect as the temperature change is usually slow. With the very low noise ADC to start with this is less of a disadvantage than it was in the K19x and similar meters in the old days.

Without the frequent gain measurement it makes sense to aim for <1 ppm/K range TC matching. With less perfect TC matching I would consider that either power compensation or the frequent gain measurement would be a good idea.
With the 0.2 ppm/K matching of the LT5400 should not need power compensation - due to the 100 K resistance the power is low anyway.

The other positive point about the LT5400 is that it has specified <-45 db current (flicker) noise while the other arrays often only give < -30 dB  (actual noise could still be better, depending on resistor value). Form my estimates a -30dB noise level could already be noticeable.


For the 34401 configuration: the   XADIN path goes to the inverted input signal. HP used this in some DMMs to reduce the effect of dielectric absorption. So the comparator signal is no longer suitable for an ADC in the ASIC.
My guess is that they called the ADC signal flash, as they may initially have planed with an flash ADC and later changed to the 80196 internal one.

By adding the inverted input signal to the comparator signal, the average integrator output changes less with the applied input voltage. The average integrator voltage is an important factor to set the effect of long time scale dielectric absorption. So keeping this more constant could reduce DA related errors.

However the extra part from the input signal only compensates for the linear part - so the DA part that is avoided is just a small contribution to gain, not INL. Though likely not helping with INL as intended, it still has a positive effect: it reduces the swing and thus allows for a smaller integrator cap and thus less noise for very short conversions and a smaller range for the µC internal ADC.

In my case, I decides against a similar part, as the slope amplifier is shared for the comparator and residual charge ADC. A second comparator for run-up is probably causing more problems than good.
 
The following users thanked this post: jaromir, iMo

Offline Rerouter

  • Super Contributor
  • ***
  • Posts: 4694
  • Country: au
  • Question Everything... Except This Statement
Re: Multislope Design
« Reply #198 on: July 21, 2019, 12:35:01 pm »
0612 arrays are easy to add with the MSOP8, It just conflicts with the option of a thermal pad, as such I may run them under but leave the traces coated, if someone wants to use the 0612 array, then they can just scratch back the solder mask a little.

I can just throw a zone fill under the resistor array to add some thermal mass to it if it really must stay as constant as possible, 24 vias and a plane make for a lot of mass for components on this scale.
« Last Edit: July 21, 2019, 01:07:27 pm by Rerouter »
 

Offline iMo

  • Super Contributor
  • ***
  • Posts: 4897
  • Country: vc
Re: Multislope Design
« Reply #199 on: July 21, 2019, 01:37:59 pm »
Another question still floating around - do we really need the composite integrator? Is an OPA140 (for example) not enough?
 

Offline jaromir

  • Supporter
  • ****
  • Posts: 338
  • Country: sk
Re: Multislope Design
« Reply #200 on: July 21, 2019, 01:41:50 pm »
Rerouter:
Be prepared that the final circuit can be somehow different from what are you designing now. Don't forget to leave ways for "alternative plans" during the circuit tweaking and modifying. For example, if you are going to use resistor network, consider also placing footprints for discrete resistors. Bring out a lot of test points, that can be repurposed for components pins soldering. You may need to throw in decoupling cap here and there. If using THT components, design the holes to be larger, so you can resolder components with less risk of pad damage.
 

Offline Kleinstein

  • Super Contributor
  • ***
  • Posts: 14496
  • Country: de
Re: Multislope Design
« Reply #201 on: July 21, 2019, 02:55:15 pm »
Another question still floating around - do we really need the composite integrator? Is an OPA140 (for example) not enough?
This is a good question.  I think it depends, as even the OPA140 will leave a small approximately square signal at the input. Depending on the reference current and cap this can be some 10 mV or so.
The amplitude should be +- I_ref / (2*Pi*GBW*C). So with a 1 nF cap., 10 MHz GBWand  300 µA Iref this would be some +-5 mV

If the impedance stays really constant with reference switching, that is good resistor matching for the positive and negative side, one should get away with a single OP integrator. With some 0.1% resistor matching the 2.5 mV residual square wave would correspondent so to some  5 mV/14 V *0.1%  or around 0.3 ppm of INL error from this effect. With a smaller capacitor the error could go up and down with a larger.

A 2 OP integrator will make the circuit more tolerant to resistor mismatch, as the residual voltage would be only fixed length pulses, that would ideally not cause an error even if the resistor do no match.

There is one more possible point: the OP for the integrator gets a input voltage dependent power dissipation (should be highest with an input near zero) and thus could cause a small thermal effect. with the 2 OP integrator the DC critical OP is the "slow" one and this one does not get mach variable power.

A downside of the 2 OP integrator is likely slower settling to a current step. This would mainly be an issue with really fast modulation that usually comes with a small integration cap. The circuit for the 2 OP integrator is that way that one can leave out the "slow" OP and get the 1 OP integrator as a fall back. So a layout could easily alow for both options  :).

So a 1 OP integrator (e.g. OPA140, OPA1641, maybe OPA827 - expensive but faster) is a real option if the resistor matching is good and the integration cap not very small.
 
The following users thanked this post: iMo

Offline iMo

  • Super Contributor
  • ***
  • Posts: 4897
  • Country: vc
Re: Multislope Design
« Reply #202 on: July 21, 2019, 04:16:36 pm »
@Kleinstein: FYI - here is the simulation of the analog part V10 (the digi part is just toggling) of your MS_ADC with some parts added (the ferrite bead in Vee of the 4053) and with OP27 and AD711 as I can see in 34401A schematics. The opamps with their critical params as the universal opamps level3.

With HP's values of the input resistors (30k) and integration capacitor (440pF) and 220pF against GND, the modulation freq looks like >100kHz for, say, <=10Vpp at the integrator, otherwise the integrator's output will be saturated.

Also when looking at the 34401A pcb I can see there the 2 ferrite beads in the integrator's input signal path are "huge in size", compared to the third one (in 4053 Vee). I wish I knew their values :)

PS: the V11 below is with your parts and values in the analog part (40kHz mod).
« Last Edit: July 21, 2019, 05:30:18 pm by imo »
 

Offline jaromir

  • Supporter
  • ****
  • Posts: 338
  • Country: sk
Re: Multislope Design
« Reply #203 on: July 21, 2019, 05:33:15 pm »
 
The following users thanked this post: iMo

Offline Kleinstein

  • Super Contributor
  • ***
  • Posts: 14496
  • Country: de
Re: Multislope Design
« Reply #204 on: July 21, 2019, 05:48:50 pm »
The ADC from the 34401 is reused in quite few instrument. I  just found in the 34420 schematics that the ferrites are supposed to be 150 Ohms. This is usually the impedance at 100 MHz. So this are not that unusual ferrites. The ones I tried on my board are now 300 Ohms (0805 form factor) and before where some unknown (recycled) THT ones. I have not tried other ferrites yet.

In my case the ferrite at the 4053 is not relevant any more - the 74LV4053 does not use an extra pin for the negative supply.
One could still include the ferrite in case a different chip is used (e.g. HC4053, max4053, DG4053, CD4053).

The 34401 uses a rather fast modulation. AFAIK its around 600 kHz.  The fast resolution is also needed to get the resolution, as there is no rundown part. 20 ms integration and 600kHz would be some +-6000 counts from the run up. So even with a full 10 Bits from the residual ADC this would be only some +-million counts. Due to the extra voltage swing when at higher input voltage  the full 10 Bit resolution would not be fully useful - likely only some 9 useful bits.
AFIAK the run-up part used 2 patterns with some 400 ns positive and some 1200 ns negative or the other way around. So the actual integrator pattern in the 34401 looks a little different.
I also use two such patterns, but slower: more like 1 µs positive and 24 µs negative or 24 µs positive and 1 µs negative.

For watching the integrator the output of the "slow OP" (OP27 in the 34401 circuit) in the compound integrator is good test-point. It should give am amplified form of the square wave that would be present in an 1 OP integrator.
 

Offline iMo

  • Super Contributor
  • ***
  • Posts: 4897
  • Country: vc
Re: Multislope Design
« Reply #205 on: July 21, 2019, 06:02:17 pm »
..The 34401 uses a rather fast modulation. AFAIK its around 600 kHz..
..For watching the integrator the output of the "slow OP" (OP27 in the 34401 circuit) in the compound integrator is good test-point. It should give am amplified form of the square wave that would be present in an 1 OP integrator.
This is with 600kHz modulation (simple toggling) and HP part values and opamps.
Green is the OP27's output and the Blue is the AD711's output.
Looks nice :)

PS: HP's 600kHz Mod period could be = 416.66ns + 1250.00ns = 5cycl + 15cycl of 12MHz
« Last Edit: July 21, 2019, 06:28:40 pm by imo »
 

Offline Rerouter

  • Super Contributor
  • ***
  • Posts: 4694
  • Country: au
  • Question Everything... Except This Statement
Re: Multislope Design
« Reply #206 on: July 21, 2019, 08:34:49 pm »
Jaromir. Give any thoughts on what to include and I will. A board respin only takes a week and while things are digital most of the changes have only taken minutes.

I will be loosening things up with probe points. This is just the framework. Would 1mm through hole test points be enough. Or do you have some pcb mount clip hooks you would like it to cater to.

Discrete vs array gets tricky. Mainly because the footprints cannot coexist like the dirt cheap arrays and the msop type ones. I could leave room on the back. But that will add capacitance and a risk of crosstalk to 3 sensitive nodes. Im not sure how that will effect things.

I prefer SMD for most things because its very easy to do a horizontal transfer of the parts to a new PCB. Equally I'm using Kicad so anyone should be able to modify it to there hearts content. If you want the design files early. Just ask.
 

Offline Kleinstein

  • Super Contributor
  • ***
  • Posts: 14496
  • Country: de
Re: Multislope Design
« Reply #207 on: July 21, 2019, 08:48:23 pm »
I had a look at noise data for thin film resistors. Form these, quite some small resistor show high noise that would be not really suitable. so for the Cheap ASAZA arrays I am afraid chances are high they may be too noisy. At least I would not bet on them before doing a noise measurement.

With noise specs they tend to be not very specific (e.g. < 30 dB for whole series, though  low values could be better than high resistors).

For the ADC part, especially the resistors in mind here, parasitic capacitance is not that critical. So THT and SMD Footprint combined would be an option. The really critical part is the integrator input on the other side of the 4053.
 

Offline Rerouter

  • Super Contributor
  • ***
  • Posts: 4694
  • Country: au
  • Question Everything... Except This Statement
Re: Multislope Design
« Reply #208 on: July 21, 2019, 08:52:46 pm »
https://au.mouser.com/datasheet/2/427/morn-795262.pdf

And what about the MORN arrays? they have a similar noise figure, I suppose right now you could technically drop in a 100K lt5400 on the same footprint, but in that case I would just need to know what else would change.
« Last Edit: July 21, 2019, 09:05:45 pm by Rerouter »
 

Offline Rerouter

  • Super Contributor
  • ***
  • Posts: 4694
  • Country: au
  • Question Everything... Except This Statement
Re: Multislope Design
« Reply #209 on: July 22, 2019, 02:05:59 am »
I should also ask. Those integrator input filter capacitors. What kind of capacitors where you thinking. Its still in COG area as far as value. But if it needs to be poly then so be it
 

Offline Kleinstein

  • Super Contributor
  • ***
  • Posts: 14496
  • Country: de
Re: Multislope Design
« Reply #210 on: July 22, 2019, 06:55:36 am »
For the small caps at the reference voltage amplification COG is OK. They don't even have to be 100 nF, some 22 nF maybe 10 nF should be good enough. More does not help much, though it does not hurt.

For the caps at the integrator COG is also OK. Even if I did not use the cap directly to ground, I would keep it as an option. The choice can depend on the OPs and may need some iterations - so a little space  around those foot-prints may be good to easy removal / re-soldering.

The MORN resistor arrays are a good option (already mentioned) and they should fit the LT5400 footprint (just no thermal pad connection). I see no additional change needed - likely twice the capacitance for integration cap, when a 50 K value instead of 100K LT5400 is used, but this does not effect the layout.

To have the option to use an external reference (e.g. LTZ1000 board) it would need something like 2 or 4 pins adjacent to the LM399, so one could fit a 6 or 8 pin pin-header. The extra pins would be for  -15 V (or the -13 V reference level) to do ground current compensation and maybe one for a temperature sensor (going to the input mux). For mechanical reasons it may be better to have at least 8 pins, using the extra ones for doubled ground pins.

For the R19/R21 divider I would consider a ratio of about 1:20  to 1:50, likely best at around 1:30 or so. I don't see a good standard value here from the DIV23 series. However this divider is less critical (about by a factor of 20-50). So the small 4 resistor SMD array ACASA as 1K/10K should be Ok, used as  2x1 K parallel to 2x10K in series = 1:40 should be OK.
https://www.mouser.de/ProductDetail/Vishay-Beyschlag/ACASA1001S1002P100?qs=sGAEpiMZZMvrmc6UYKmaNfQm27WGhZG85qVnRW9dDAw%3D

« Last Edit: July 22, 2019, 07:04:30 am by Kleinstein »
 

Offline Rerouter

  • Super Contributor
  • ***
  • Posts: 4694
  • Country: au
  • Question Everything... Except This Statement
Re: Multislope Design
« Reply #211 on: July 22, 2019, 09:30:04 am »
So for C11, C37, C37, keep it a prototyping space, Do you have any thoughts on exactly what kind of footprints you want for the integrator cap if not a 0805 SMD, I would assume a 5 and 15mm spaced set of through holes for various types of integrator capacitors

Heres the first part of the options you wanted jaromir and Kleinstein, Again if you think of it, its not hard to layout.
Mostly adding the 7 way header with all the connections I think you would need for a reference combined with bulking up the through hole pads in the area a fair amount and providing footprints for discrete resistors on the back

For the temp sensor, is it something you want for both the LM399 and the LTZ1000, or just on the header, as I can approach it a few ways,

Edit: I should ask why you have the heater enable connection, I just added it as your schematic had it, was it so you could measure the heater current?
« Last Edit: July 22, 2019, 09:38:31 am by Rerouter »
 

Offline Kleinstein

  • Super Contributor
  • ***
  • Posts: 14496
  • Country: de
Re: Multislope Design
« Reply #212 on: July 22, 2019, 10:18:53 am »
I would just keep the LM399 reference on board and 4 additional pins close to the 399, so that one can alternatively use an external LTZ1000 reference board.  The sensor / read back signal would be just at the header for the external reference.The extra jumper to disable the 399 heater is not really needed - I had it in my initial board, because there were vias anyway.

For the integration cap C11, just a 0805 footprint is OK - depending on the resistors the integrator cap would be something like 1-3 nF COG with no really high demand. Low leakage would be good and thus a guard trace below.
For C37,C17, R20 just a little more space for the tweezers would be a good idea, as one may have to change them.
 

Offline Rerouter

  • Super Contributor
  • ***
  • Posts: 4694
  • Country: au
  • Question Everything... Except This Statement
Re: Multislope Design
« Reply #213 on: July 22, 2019, 11:07:12 am »
To make clear, I'm just breaking out all these signals so people can play and do whatever they please for the reference, be it removing the LM399 and hooking the LTZ1000 direct to the zener pin provided, or even remaking the whole reference circuit externally and connecting it, there just there for people to play, I should ask the zeners on the reference amplifiers outputs, do they need to be anything special? I doubt it, but doesn't hurt to ask.

For the integrator, I assume I need to Guard both op amps Pin 2 with signal ground, to make the only way current can flow in to that node is via the capacitor? easily done. any other points I should be aware of?

Also been working on the bootstrap supply, I'm assuming based on the power level everything can be sot23 for the transistors, R202 was just me adding a 0 ohm jumper to make the layout more symmetrical for potential alterations.
 

Offline Kleinstein

  • Super Contributor
  • ***
  • Posts: 14496
  • Country: de
Re: Multislope Design
« Reply #214 on: July 22, 2019, 12:57:10 pm »
For the input buffer, the original circuit did not work that well. It is a little slow to react to input jumps and needs some extra caps to make it stable with load at the output. So I use a slightly different buffer now, not bootstrapped in the classical sense, but with a 2 nd OP to provide the supply. This version works much better. Attached is an update buffer version, similar to the one tested (omitting one more transistor and driving the other side with the OP). The SOT23 transistors are OK - just keep in mind they can be significant variable heat sources. In the old version the 2 TO92 ones were coupled to reduce the thermal effect.

The zener diodes at the references amplification are not critical - anything from some 3-9 V would be OK. They are there to extend the output range of the OPs. I would prefer some 5.6 V that would also be used in the new version of the bootstrapped supply.

The node at the input of the integrator should not be excessively large, to avoid leakage currents and parasitic coupling (e.g. to the control signals. The signal ground for guarding should be OK.  For the 4053 it may be a good idea to have the critical integrator input part at the upper side and the +5 V supply more at the other side. The ground return path at the 4053 is already near ground so I don't see need for guarding there.
The 4053 switch chip does produce quite some supply current spike when switching. In don't think it would need extra decoupling to get a stiff supply to the 4053. It is more like avoiding spikes going out from the 4053 supply and GND pins.
The 5 V supply to the 4053 also should be reasonable stable. The resistor for isolation should not be a problem as the current is essentially constant. However the 5 V regulator position and ground return could be an issue. At least with an HC4053 on the breadboard there was an effect from the 5 V supply to the result (some 1 mV/V). So even a separate local regulator for the 4053 might be an option.
« Last Edit: July 22, 2019, 03:16:16 pm by Kleinstein »
 

Offline Rerouter

  • Super Contributor
  • ***
  • Posts: 4694
  • Country: au
  • Question Everything... Except This Statement
Re: Multislope Design
« Reply #215 on: July 22, 2019, 01:53:29 pm »
I can just gaurd the entire node, makes things easier,

For your schematic, any chance of shifting things around, the references and values are kinda piling over one another.

Hapy to revise that part as its not quite the right shape for a good fit for what I am trying to do.

In the image I have not yet replaced the integrator capacitor footprint, was more concerned about escaping all the digital, supplies and non signal grounds,

I'm also thinking to do the same type of guard ring with the input buffer signal out of the mux, to use it to guard the signal all the way back to the input mux pin. to my knowledge it wont really hurt anything by doing it, even if it doesnt really effect anything, this is really just because a high impedance signal is sitting next to a supply pin on the op amp.
 

Offline Kleinstein

  • Super Contributor
  • ***
  • Posts: 14496
  • Country: de
Re: Multislope Design
« Reply #216 on: July 22, 2019, 05:00:16 pm »
I would not take so much priority to guard traces. They are mainly important in a high humidity environment. Especially between the SO8 pins they make soldering rather difficult.  So I would only have them where they are not a problem. The main critical path is from the integrator output or later the slope amplifier and the integrator input. A constant leakage current, like from the supplies is not yet a problem. It is more like larger open areas that might collect surface charge - but in this case there is space for a guard.

For the buffer input, it depends on the use whether this node is really sensitive. There are 2 options for a use as a voltmeter:
A) with just the buffer and thus only protection before the mux. To reduce the charge pulse on switching it would better have some extra pre-charge phase and an another auxiliary buffer (also useful for protection) before the MUX. If gain (e.g. 1 V range)  is needed the buffer would be changed to an amplifier.

B) the other version would use another amplifier / buffer before the MUX (e.g.  LTC2057 or discrete slow chopper amplifier) in front of the MUX. So the signals to the MUX are normally relatively low impedance and one could use 1 PLC even for slow conversions without penalty on the input bias. The input would only see switching of the chopper amplifier, that can be better optimized for low bias current / charge spikes than the full swing (0 V to signal and maybe 7 V in between) switching at the ADC.

From the partial layout I see the 4053 somewhere far a way from the integrator resistors, the integrator and the µC. Ideally there should be relatively short connections to all 3 sides. So the 4053 switches are kind of a central part. With the orientation of the 4053 like in the picture the µC would be best somewhere to the left (maybe bottom). The resistors would be more to the bottom, may be right. The integrator would be best above the 4053. The connection from the reference part to the resistors is not that critical - so this could be longer if required.
A smaller C11 would already simplify things quite a bit. Even if a alternative THT version is wanted (e.g. for a PP cap) something like 5 mm spacing would be sufficient. I think there are also a few connections and 2 ferrites still missing.

I know the layout around the 4053 is tricky, one may consider to swap the gates A and C on the 4053. It takes compromises (e.g. extra vias) somewhere. The signal at pins 2,5 and 12 is near ground (only a ferrite to ground) and thus a less sensitive to leakage. If nothing else helps I would even consider a wire link as kind of local 3 rd layer.

I have changed the buffer circuit file in the last post a little to make it more readable.
 

Offline iMo

  • Super Contributor
  • ***
  • Posts: 4897
  • Country: vc
Re: Multislope Design
« Reply #217 on: July 22, 2019, 05:16:29 pm »
I would just keep the LM399 reference on board and 4 additional pins close to the 399, so that one can alternatively use an external LTZ1000 reference board.  The sensor / read back signal would be just at the header for the external reference.
LTZ1000 via a standard 0.1in 4 pin male/female is something the volnuts would be shocked :)
I've seen the 34470's piggybacked version and it looks so cheap..
You would need a quality connector there, imho.


 

Offline Rerouter

  • Super Contributor
  • ***
  • Posts: 4694
  • Country: au
  • Question Everything... Except This Statement
Re: Multislope Design
« Reply #218 on: July 22, 2019, 09:02:57 pm »
The Integrator output is a regulated low impedance node, that doesn't sound like a critical node, I assume by "later the slope amplifier and the integrator input" That you want me to Guard U4's Pin 2 with signal ground to keep out the noise of the fast switching output.

I'll shuffle things around to get the integrator closer to the 4053, The "Summing Node" in the picture is who gets the ferrite to the integrator input, the ferrite connection to ground will be going off to analog ground along with R23's ground connection, as you are mostly just using ground there for even power dissipation in the resistor array, It doesn't need to share the exact same ground,

I have not yet reworked RN202 into supporting discrete resistors on the back, but that will happen once I get the input buffer and integrator sorted.

 

Offline Kleinstein

  • Super Contributor
  • ***
  • Posts: 14496
  • Country: de
Re: Multislope Design
« Reply #219 on: July 22, 2019, 09:43:19 pm »
I would just keep the LM399 reference on board and 4 additional pins close to the 399, so that one can alternatively use an external LTZ1000 reference board.  The sensor / read back signal would be just at the header for the external reference.
LTZ1000 via a standard 0.1in 4 pin male/female is something the volnuts would be shocked :)
I've seen the 34470's piggybacked version and it looks so cheap..
You would need a quality connector there, imho.

4 Pins would be difficult - I think it takes at least 5.  If there is not much variation in the heat flow, I don't see a really big problem using the 0.1 in headers for a reference. 0.1 ppm of the 7 V reference is nearly 1 µV and it takes thermal gradient in different metals to generate thermal EMF. Pins that are close together tend to have rather symmetric gradients.
It may not be absolute volt nut style, but not too bad either. I don't think the construction in the 34470 is such a bad idea - I don't remember the mechanical connection, that would be more my concern.
Anyway the board would only set the pin spacing and those 2.54 mm are rather common.

For the shielding: the integrator output node and the slope amplifier part are not critical in the sense that they are sensitive to react to small currents or capacitive coupling. They are the possible sources of unwanted coupling. So the guard can be important between the summing node and the integrator output ( e.g. under the integration cap), while a guard between the summing node and the supply is less important. I am not sure the coupling from the slope amplifier is really that bad, but it is at least a possible source for nonlinear effects. There is no need for a guard around U4, if at all more like a shield. It should be enough to keep it a little away from the input side of the integrator and the 4053 to avoid extra capacitive coupling.
 

Offline Rerouter

  • Super Contributor
  • ***
  • Posts: 4694
  • Country: au
  • Question Everything... Except This Statement
Re: Multislope Design
« Reply #220 on: July 23, 2019, 09:46:21 am »
IMO, what connector would you like to suggest as an alternative, as No matter what you do, there will be Copper - Solder - Some Metal - | - Some Metal - Solder - Copper, So may as well beat the curve and just use solid core copper wire to bridge the gap.

I've bunched the integrator up to make that node much smaller, and added the updated guard trace, I'll also seperatly guard the integrator output with analog ground once I figure out the new placement for the slope amplifier.

For the input mux, you have the GND, Zener and Temp inputs all being low impedance inputs, so if you wanted to do a double buffer Its not a problem, would just mean buffering the 5 other inputs, or putting something else we want on those inputs that is already buffered.

Edit: when I work out what ferrite to go with, I'll nudge it up a little and just connect directly across 4053 pin 1 and 3, leaving the 2-5-12 node to have a similar orientation ferrite positioned across 4-6 but not actually connecting to that ground,

Edit2: for true volt-nuttery I will be removing any silk screening that touches the integrator node or guard trace, just takes some time.
« Last Edit: July 23, 2019, 10:34:00 am by Rerouter »
 

Offline iMo

  • Super Contributor
  • ***
  • Posts: 4897
  • Country: vc
Re: Multislope Design
« Reply #221 on: July 23, 2019, 10:17:40 am »
IMO, what connector would you like to suggest as an alternative..
I would recommend at least the "rounded precision" male/female 0.1" pins, and use 2 for each signal.
 

Offline Rerouter

  • Super Contributor
  • ***
  • Posts: 4694
  • Country: au
  • Question Everything... Except This Statement
Re: Multislope Design
« Reply #222 on: July 23, 2019, 10:30:37 am »
so essentially for my part that just means change a 1x07 to a 2x07, easy enough, jeez, If i knew volt nuts where this easy to please....

At a glance none of the reference LTZ1000 boards out there have any kind of methods for mounting, so would you like to suggest what I should provide as far as say some holes for plastic spacers or similar?,
The current cutouts on the LM399 could technically be used to zip tie a piece of foam over it, but it doesnt help people who want to bodge in an LTZ1000,

If there is an agreed apon standard board, I could even plan a space for it, as the current LM399 area is pretty busy, So I was already thinking about expanding it a little. (space as in dimensions and input connection locations)
 

Offline iMo

  • Super Contributor
  • ***
  • Posts: 4897
  • Country: vc
Re: Multislope Design
« Reply #223 on: July 23, 2019, 10:40:28 am »
so essentially for my part that just means change a 1x07 to a 2x07, easy enough, jeez, If i knew volt nuts where this easy to please....
They will not be pleased, sure, I am definitely not a volnut and I would consider that as a "suboptimal" solution.

The slots around the 399 - in past I saw volnuts wrote the slots are actually worsening the situation, better to have a bigger mass of copper around the pins (in a symmetrical way) without the slots.

PS: the rectangular shaped 0.1" female/male headers are, imho, not suitable for messing with uV precise signals. The female part is just a simple Y fork shaped, and when messing with the connector for too long (especially when you use only a few pins) it may loose a good contact fast. Those connectors are ok for Arduino folk, and when you insert in once and let it be for years connected.

Imagine you knock on your ADC case and the voltage readings will jump +/- 100uV :)
« Last Edit: July 23, 2019, 11:00:19 am by imo »
 

Offline Rerouter

  • Super Contributor
  • ***
  • Posts: 4694
  • Country: au
  • Question Everything... Except This Statement
Re: Multislope Design
« Reply #224 on: July 23, 2019, 11:05:25 am »
To me it is just a plated through hole, spaced 0.1" apart, what you solder in to it is your own choice, The hole is also suitably large so a multi meter probe could poke it without slipping during debugging after construction. and this is just an option space breaking out all the reference signals so people can do what they like. again, If you have a better suggestion that still fits e.g. a 0.1" spacing but needs some more room, now is when its easy to make room for.

Now the slots I thought where to take stress off the chip, I was weighing up doing something a bit more curvy to let it expand and contract with a twist translation, but that was a bit hard.

So they want a thermal mass around the pins to reduce any differential EMF issues, easily done. again point me at where they discuss it and I can address it,

Knocking on the ADC case causing an offset would not be too big an upset. so long as it settled right back where it started,

Currently the reference polyester capacitor is the heaviest thing in there, and I would guess that will couple some flex in to the PCB, so not quite sure how to marry that with the LM399 if slots are out.
« Last Edit: July 23, 2019, 11:11:58 am by Rerouter »
 

Offline iMo

  • Super Contributor
  • ***
  • Posts: 4897
  • Country: vc
Re: Multislope Design
« Reply #225 on: July 23, 2019, 11:36:45 am »
Quote
So they want a thermal mass around the pins to reduce any differential EMF issues, easily done. again point me at where they discuss it and I can address it,
https://www.eevblog.com/forum/metrology/lm399-based-10-v-reference/

https://www.eevblog.com/forum/metrology/lm399-based-10-v-reference/msg617201/?topicseen#msg617201

Quote
Knocking on the ADC case causing an offset would not be too big an upset. so long as it settled right back where it started,
It will not settle back with crappy contacts, be sure..
« Last Edit: July 23, 2019, 11:45:11 am by imo »
 

Offline Kleinstein

  • Super Contributor
  • ***
  • Posts: 14496
  • Country: de
Re: Multislope Design
« Reply #226 on: July 23, 2019, 01:04:53 pm »
I don't think it need the slots around the LM399. With it's relatively long leads the Lm399 is not sensitive to board stress - if at all it is the heat from the 399 that can cause some board stress and long time drift in SMD parts close by. So I would go without the slots.

The integrator looks better  - things would tighten up even more if the OPs are rotated clockwise.
A guard trace only makes sense without the solder mask and this is tricky for soldering so close to the pins.

For the references there are a few LTZ1000 board with connectors, especially HP A9 board for the 3458. Another type of connector / pin out is probably OK too. The 34470 type looks mechanical not very robust though. Even just wires soldered to the holes are also an option.

For the signals to the MUX, it may be good to also have some series resistance with the zero reading, just for symmetry.
The temperature signal is not critical - resolution is good anyway and MUX channels are likely plenty.
The 7 V reference signal to the MUX can actually be a little tricky.  In some cases the filtered signal would be better than directly from the LM399 - in this case an extra buffer (e.g. OP as a follower) might be beneficial.

The input section with protection and amplifier / gain changing would be a different topic - more like a separate board.
Just for initial test, some resistors as a minimal protection level could be OK.
If at all I would leave possible additions at the inputs for the end, if it turn out that is much space left.
 

Offline Rerouter

  • Super Contributor
  • ***
  • Posts: 4694
  • Country: au
  • Question Everything... Except This Statement
Re: Multislope Design
« Reply #227 on: July 23, 2019, 01:34:07 pm »
Not a volt nut, and again, pick a connector if you prefer it for the purpose. Its just copper at this point, It could be 5x5mm copper pads if you would prefer to spot weld copper - copper if you really want to keep to the same metals  :P

Ok, So I read that thread slightly differently, Strain / Stress is not a resulting factor, more the better the thermal isolation of the regulator the hotter the leads meaning any thermal gradients are amplified, so doesn't really rule out slots, just means top focus is that the zener pins are the exact same temperature, so high thermal mass would actually benefit the LM399, the faster heat is sunk from the part, the lower the gradient at the cost of power consumption

So I'll revise him

On to Kleinstein,
I've checked a number of cheap PCB vendors and there minimum silkscreen thickness means what you see is what you would get, a line of solder mask separating the guard trace from the SOIC pins, does that make things easier for you, or still not quite, I'm too used to soldering wire strands to MSOP pins, So I'm not the best general reference for what is or is not easy to solder.

I'd prefer to not rotate the integrator op amps, as the other orientation makes other parts harder to route, what exact parameter are you trying to work by minimizing that node to such an extent?

There will be lots of room left on the PCB, its bigger than 50 x 50mm, and not a good shape for 50 x 100mm, meaning work on a maximum of 100 x 100mm which leaves tonnes of room. This is why I hold no issue with adding connectors, Big through hole test points, or alternative footprints,

Planning the middle left to be AVR and bottom left power supplies, leaving almost the entire right side to input
 

Offline iMo

  • Super Contributor
  • ***
  • Posts: 4897
  • Country: vc
Re: Multislope Design
« Reply #228 on: July 23, 2019, 03:22:58 pm »
For the references there are a few LTZ1000 board with connectors, especially HP A9 board for the 3458. Another type of connector / pin out is probably OK too. The 34470 type looks mechanical not very robust though. Even just wires soldered to the holes are also an option.
The 34470A's LTZ1000 board connector is a joke. It could easily be the problems with 34470 ACAL (see the thread) come from that connector. I cannot remember whether the board itself is actually mechanically supported other than free hanging on that cheapo connector.
 

Offline branadic

  • Super Contributor
  • ***
  • Posts: 2414
  • Country: de
  • Sounds like noise
Re: Multislope Design
« Reply #229 on: July 23, 2019, 03:58:38 pm »
For the reference I suggest looking at teardown pictures of Wavetek 7000 and the like, a bare copper ring around the reference on top and bottom layer, though they use a four layer board.



-branadic-
« Last Edit: July 23, 2019, 04:44:42 pm by branadic »
Computers exist to solve problems that we wouldn't have without them. AI exists to answer questions, we wouldn't ask without it.
 

Offline iMo

  • Super Contributor
  • ***
  • Posts: 4897
  • Country: vc
 

Offline Kleinstein

  • Super Contributor
  • ***
  • Posts: 14496
  • Country: de
Re: Multislope Design
« Reply #231 on: July 23, 2019, 04:13:58 pm »
The row of hole could already be good enough for an external reference.  For mechanical reasons another point to screw down or just another few pin could be sufficient.

I don't think the 34470 ACAL problem is due to the connector. I would more expect things like thermal effects, a software problem (e.g. with temperature compensation) and maybe DA in filter caps. Due to the usually very fast modulation in the Keysight ADCs, I don't think it's DA in the ADC itself.


With a 100x100 board i can imagine enough space for at least a simple input stage:
A possible input part could be an AZ amplifier like LTC2057 with selectable gain of 1 and about 10.
A gain much higher than 10 has limited use, as even with a gain of 10 the amplifiers noise would already be about as high as the ADC noise. Protection for higher voltage and a divider at the input would however naturally take up quite some space, just for the minimum spacing and a relay. Control could be via SPI from the AVR.
 

Offline iMo

  • Super Contributor
  • ***
  • Posts: 4897
  • Country: vc
Re: Multislope Design
« Reply #232 on: July 23, 2019, 05:55:08 pm »
A possible input part could be an AZ amplifier like LTC2057 with selectable gain of 1 and about 10.
I think Jaromir did a negative experience with the 2057 as the input buffer (input noise with high impedance).
PS:
2057  170fA/sqrt(Hz)
1050  1.8fA/sqrt(Hz)
1152  0.6fA/sqrt(Hz)
« Last Edit: July 23, 2019, 06:17:05 pm by imo »
 

Offline Kleinstein

  • Super Contributor
  • ***
  • Posts: 14496
  • Country: de
Re: Multislope Design
« Reply #233 on: July 23, 2019, 08:47:59 pm »
The LTC2057 has quite a bit of current noise, so it will be a problem with really high impedance sources (e.g. > 300 K). The noise resistance and thus the impedance for lowest noise figure is supposed to be at some 70 K. So it should be acceptable for moderately low impedance sources. The input bias current may need compensation (or possibly selected 2057). It would also need some filtering at the input (e.g. a few 100 pF and some resistors, inductors).
For the use in combination with a MUX an AZ OP may present some extra challenges - there may be additional current spikes if the slew rate reaches the limits. Also input filtering is tricky. Before the MUX at the ADC there is relatively little use for an AZ OP anyway, as one would normally to some chopping with the MUX. So the buffer directly at the ADC can be a simple JFET type - no need for AZ.

There are not that many auto zero OPs for a 30 V supply range available and most (if not all) of them (e.g. ADA4522, OPA189 or MCP6V51) have even higher current noise. The LT1050 / 1152 are for some 15 V. Such OPs would need some bootstrapping for the supply - still possible for a buffer.  Due to their high noise there would be little use of gain anyway.

A high voltage (e.g. +-15 V), low noise (current noise and voltage noise) zero drift input stage is a topic on it's own. So far my best bet would be something like a slightly simplified (no bootstrapping for the OPs supply) copy of the input stage of the old Datron 1281 DMM: a discrete slow chopping amplifier in sync with the ADC, so that the ADC also provides residual ripply filtering. Low current spikes may need some trimming.

I consider using the MUX from the input for auto zero even more challenging, as the switches operate with variable voltages and sees a voltage jump. So balancing charge injection is much more complicated than at a chopper with near zero voltage over the switches.
 

Offline Rerouter

  • Super Contributor
  • ***
  • Posts: 4694
  • Country: au
  • Question Everything... Except This Statement
Re: Multislope Design
« Reply #234 on: July 23, 2019, 09:45:27 pm »
To better understand it. The charge injection issue is for charge being coupled into the inputs of the mux or its output to the buffer?
 

Offline Kleinstein

  • Super Contributor
  • ***
  • Posts: 14496
  • Country: de
Re: Multislope Design
« Reply #235 on: July 24, 2019, 07:18:09 am »
Charge injection is acting on both side of the MUX, input and output. How much charge comes from both sides depends on the impedance on both side. With low impedance sources (e.g. less than some 20-100 K) the MUX input should recover before the ADC conversion starts.

With an AZ amplifier one often uses some filtering at the inputs and the extra capacitance can make the recovery slow, so that is may takes longer to fully settle after a charge pulse from switching.
 

Offline Rerouter

  • Super Contributor
  • ***
  • Posts: 4694
  • Country: au
  • Question Everything... Except This Statement
Re: Multislope Design
« Reply #236 on: July 24, 2019, 07:38:33 am »
I should also ask, for R10 / R11, how much current can be expected as a maximum, I'm working hard to keep any DC currents off the signal ground because the trace that leads back to the signal connector ground point will end up being about 0.1 Ohms of resistance, so it doesn't take much current to make some noticeable offsets. I will reduce this as I can, but there are limits.

I've shielded the output of the integrator node, (no solder mask gap, so just a shield), Are there any other nodes you would want shielded, currently I'm thinking both mux digital pins,
 

Offline Kleinstein

  • Super Contributor
  • ***
  • Posts: 14496
  • Country: de
Re: Multislope Design
« Reply #237 on: July 24, 2019, 08:16:33 am »
R10/R11 are used to compensate the OPs offset and for the small residual voltage to make the OP move. So it depends on the OP U2.  E.g. with an OPA172 this would be something like typical 0.2 mV and 1 mV max. for the offset. The AC part could be some 5 mV of so, depending on the integrator current. So the current would be something around 1 µA  DC + maybe 5 µA AC.
I would not worry about the DC part at all, as it's constant and thus just an offset to the ADC.  The AC part may be more of a problem, as it could in principle be an INL source.  At only 5 µA and with a relatively short trace, this should not be so much.
One may consider slightly larger values for R10/R11 (e.g. 2 K and 10 K).

Shielding may be good from the control signals to the 4053 towards the analog part. The signal next to those lines is the near ground (still with a ferrite) signal, that may not be that sensitive. So one could get away without much shielding there.
The point I still have a slight problems with, are high frequency signals on the 5 V and maybe power ground - so the decoupling at the µC and 4053 can be relatively critical - not just the capacitors, but also the layout to them.
The digital signal to the MUX are usually operated during rundown and only once. So there is some time for recovery at the inputs. It's more the supply current spike during switching that could be a possible error source.  This is also the reason for the series resistor in the supply I added in the updated input buffer schematic.
 

Offline Rerouter

  • Super Contributor
  • ***
  • Posts: 4694
  • Country: au
  • Question Everything... Except This Statement
Re: Multislope Design
« Reply #238 on: July 24, 2019, 08:33:53 am »
5uA AC means up to 500nV AC offset, So I'll route him on analog ground, It ends  back at the same connection point, just routed completely separate

Attached, means everything thing digital / 5V is shielded to ground, to your liking?

The extra cap and resistor are just for the option of giving the mux a negative rail, e.g. -5V, If you don't use it, you would just bridge it to ground at the regulator footprint.

Edit: this is also why I wanted to null the reference ground current, the original 160uA meant 16uV, the AC component was far lower, but I suspect in your old circuit some of this appeared as non linear behaviour, expecially the slope amplifiers R23, sure it only has 10uA max on average, but it changes with the itegrator value, which I would assume is the worst kind of offset for this circuit.
« Last Edit: July 24, 2019, 09:48:10 am by Rerouter »
 

Offline iMo

  • Super Contributor
  • ***
  • Posts: 4897
  • Country: vc
Re: Multislope Design
« Reply #239 on: July 24, 2019, 09:13:28 am »
Let me ask why do you plan 2 buffers actually?
There is a bootstrapped buffer after the mux, the another one is planned before the mux.

Considering, say, +/-12V range you may need a single buffer before the mux, bootstrapped one, with switchable 10M or "high" impedance.

With say >12V range you would need a ~1:10 divider, placed after the bootstrapped buffer, made of an LT5400 array, for example 9k/1k or 18k/2k or 100k/10k or 200k/20k, etc.
Input impedance 10M or "high".
The LT5400 could be reused in the buffer's feedback for x10 range as well.

Something like:

10M/High --> bootstrapped buffer ----> LT5400 /10 or 1:1 or x10 ---> MUX ----> ADC input

An idea I did in an another thread (2057 is just a placeholder there, you may place a bootstrapped buffer there, even with +/- 130V Vcc/Vee (?? mind the divider's mWatts), R5/R9 is an LT5400):
« Last Edit: July 24, 2019, 09:49:14 am by imo »
 

Offline Kleinstein

  • Super Contributor
  • ***
  • Posts: 14496
  • Country: de
Re: Multislope Design
« Reply #240 on: July 24, 2019, 10:13:14 am »
For the negative supply pin at the 4053, i would consider the series ferrite like in HPs 34401 design. I tired this as a bodge and it did help a little. My guess is the ferrite slows down the switching and this way reduces interference and maybe ringing. I expect a similar effect of a ferrite with a negative supply.  The negative supply would likely not be good at -5 V, more like -1 V to get low charge injection.

I would expect  R11 to be relatively close to the central analog ground point anyway.

In the layout I have not seen C6 and C14 - these may need a larger (e.g. 1206 footprint), to still get 2-5 µF at some 15 V at the capacitor.

For the general setup of a voltmeter there are several options. I favor the type with 2 amplifier stages, so a little like the Datron 1281 or Kethley 200x, as opposed to most HP meters with a single amplifier.

A single amplifier with AZ switching at the amplifiers input is tricky to get the charge injection / leakage low for the MUX directly at the input. This is more of a problem with my ADC to usually work at 1 PLC may be 2 PLC, os opposed to old meters often using 10 PLC for highest resolution.

The 2 stage concept has a chopping/AZ amplifier (could be just 2057 for a simple version with a little more bias/ current noise) at the input and only