Author Topic: EEVblog 121GW Multimeter Issues  (Read 331579 times)

rattnallen and 3 Guests are viewing this topic.

Offline dcac

  • Regular Contributor
  • *
  • Posts: 200
Re: EEVblog 121GW Multimeter Issues
« Reply #1200 on: May 27, 2020, 09:15:34 pm »
I did some test with an hacked routine for the battery display. First optimizing the code considerably, so it's about 40 times faster now which allowed me to increase the oversampling and resolution - which now also is displayed. Pictures show the meter being powered from bench PSU, the Iso-Tech meter showing voltage at battery terminals, or close by as I was powering 121gw through the STlink - this is also why I didn't want to test above 5.5V. It is without any linearity correction at all, just a fix constant to calibrate for the divider error.

I mostly did this hack as I thought it would be cool to monitor the battery voltage more precisely.

@3.50V
 

Offline dcac

  • Regular Contributor
  • *
  • Posts: 200
Re: EEVblog 121GW Multimeter Issues
« Reply #1201 on: May 27, 2020, 09:17:25 pm »
@4.00V
 

Offline dcac

  • Regular Contributor
  • *
  • Posts: 200
Re: EEVblog 121GW Multimeter Issues
« Reply #1202 on: May 27, 2020, 09:18:04 pm »
@4.50V
 

Offline dcac

  • Regular Contributor
  • *
  • Posts: 200
Re: EEVblog 121GW Multimeter Issues
« Reply #1203 on: May 27, 2020, 09:18:44 pm »
@5.00V
 

Offline dcac

  • Regular Contributor
  • *
  • Posts: 200
Re: EEVblog 121GW Multimeter Issues
« Reply #1204 on: May 27, 2020, 09:20:09 pm »
@5.50V



Sorry for the picture spamming couldn't get the multi attachment to work...

 

Offline dcac

  • Regular Contributor
  • *
  • Posts: 200
Re: EEVblog 121GW Multimeter Issues
« Reply #1205 on: May 28, 2020, 12:57:52 pm »
I’ve also been looking at why 121gw is so ridiculously sensitive to 50/60Hz hum, at least 50Hz seems very poorly rejected, 60Hz is slightly better (less bad) though.

If you look at the hy3131 datasheet the chipset is actually rather capable of rejecting hum, still I’ve seen other ADC’s with better figures but it all also depend on what sample rate (sps) you need and the amount of oversampling (filtering) this equates to, and if you i.e. have the ADC chopper enabled - which helps with both drift and hum rejection but it also cuts the sample rate in half.



This seem to specify 75dB@10sps and 120dB@5sps at 49-51Hz and 59-61Hz but unfortunately it does not specify the filter settings used.
 

Offline dcac

  • Regular Contributor
  • *
  • Posts: 200
Re: EEVblog 121GW Multimeter Issues
« Reply #1206 on: May 28, 2020, 01:02:09 pm »
I’m assuming the filter is a sinc^2 as there’s an ^2 indicated in the AD1 diagram, and this also seem to correspond to practical measurements where I’ve used a hacked FW where I can set the filter coefficient manually and have the additional decimation and running average filter bypassed in the 121gw.

But simulating the AD1 filter behavior there seem to be no way to reach 120dB rejection, about 69dB@5sps 49-51Hz is the best it can do at max oversampling. It gets slightly better (about 79dB) with the chopper on but now it is only outputting 2.5sps:


 

Offline dcac

  • Regular Contributor
  • *
  • Posts: 200
Re: EEVblog 121GW Multimeter Issues
« Reply #1207 on: May 28, 2020, 01:10:51 pm »
Now in the 121gw the hy3131 is set for 40-80sps in most modes/ranges to give a fast update rate for the bargraph. This is then decimated by 8 or 16 to give 2.5 to 5sps for the number display. Should look something like this:



Notice how poor the rejection is at 49-51Hz only about 33dB, this is probably mostly due to the decimation by 8, which is done by the MCU, only represent a sinc^1 filter response.



(edit: corrected the screenshot for decimated by 16)
(edit2: update traces after bug correction)
« Last Edit: May 28, 2020, 06:12:14 pm by dcac »
 

Offline dcac

  • Regular Contributor
  • *
  • Posts: 200
Re: EEVblog 121GW Multimeter Issues
« Reply #1208 on: May 28, 2020, 01:30:57 pm »
Unfortunately decimation by 8 is used for Ohms mode but they selected different hy3131 filter settings for the ranges in an attempt to speed things up, so some ranges have better rejection than others and some worse. But I’m not going to fill this thread with screenshots but this should give some idea what the hum sensitivity problem might be.

The hy3131 documentation is not very helpful, but there's a good application note about the subject here:

https://www.analog.com/media/en/technical-documentation/application-notes/AN-611.pdf

Keep in mind though it mainly describes a sinc^3 filter where hy3131 only uses sinc^2. And I still wonder how it supposedly could achieve 120dB rejection like mentioned in the 3131 datasheet.
 

Offline dcac

  • Regular Contributor
  • *
  • Posts: 200
Re: EEVblog 121GW Multimeter Issues
« Reply #1209 on: May 28, 2020, 04:12:46 pm »
This must be a configuration bug - if you look at the Red trace for the 500mV DC range, it is configured for 320sps / 16 = 20sps for the number display. There’s very little 50Hz rejection as the notches falls on either side of this frequency. Also the firmware is much too slow to handle something like 320sps throughput.

Also if you look at the 50mV Blue trace it seems to have little rejection at 60Hz, I’m not sure simulation can be 100% correct though as the filtering is divided over 2 or actually 3 stages if you also count the chopper.

I think the 500mV configuration is a bug for sure though - it's strange it’s been like this in all FW versions.

EDIT: This is not a correct simulation - see  next post


« Last Edit: May 28, 2020, 05:55:20 pm by dcac »
 

Offline dcac

  • Regular Contributor
  • *
  • Posts: 200
Re: EEVblog 121GW Multimeter Issues
« Reply #1210 on: May 28, 2020, 05:54:04 pm »
Found a bug in my own simulation code but it mostly affected the 50mV trace.

Anyway this is probably a more correct representation, as you can see 60Hz is much better rejected now. But 50Hz still very bad in the 500mV range.

 

Offline dcac

  • Regular Contributor
  • *
  • Posts: 200
Re: EEVblog 121GW Multimeter Issues
« Reply #1211 on: May 28, 2020, 07:18:59 pm »
And this is what the 500mV configuration could look like, blue trace, it's now only 2.5sps but rejection is better - though certainly not great.



121gw also has a running average filter implemented but I've disregarded this because if the interfering hum is above the max delta for this filter - which it most likely is - it will not help at all. Increasing max delta could help but then you get more over/under shoot and longer time for the value to stabilize.

So anyway the 121gw hum rejection could likely be improved by carefully selecting filter parameters, which of course UEi to some extent already done, but I think it can be improved further, and I also think UEi mostly looked at 60Hz rejection. But 50Hz can be improved - perhaps even without needing recalibration.

And actually you could probably improve it allot in some modes/ranges if you give up the fast bargraph and run hy3131 with max filter, but then I'm not sure calibration will hold and the bargraph update rate will be the same as the number display rate about 2.5 to perhaps 10sps.

 
The following users thanked this post: Andrew McNamara, bicycleguy

Offline movax

  • Contributor
  • Posts: 17
  • Country: aq
Re: EEVblog 121GW Multimeter Issues
« Reply #1212 on: June 03, 2020, 11:42:24 am »
A new issues discovered. To prevent DMM from stopping logging on low battery (which would happen after about 1 million samples on crappy batteries, and about 2 million samples on good batteries), I switched to power it from my benchtop PSU (Agilent E3642A), with 6.00V, 250mA limit.

After powering it on, the PSU shows correctly 6.01V. Verified by secondary multi meter.

Well, in 121GW settings, it is reading 5.7V, which is lower than what it is. That is not too good, because it indicates that it will stop working earlier, and waste battery. If it was 5.9V that would be fine, to be on conservative side, but 0.3V different is not good. Is there some naive reverse polarity protection and diode voltage drop? That looks like bad design to me in low power device operated on batteries. Active reverse polarity protection would be better. Maybe it is some other issue? Maybe voltage divider to measure battery voltage has low accuracy resistors?

My ambient is about 32 deg C at the moment.

At 6.0V mine indicates 6.0V.  At lower voltages it does stray one or two tenths low.

You're already there, just test the point at which the low battery indicator comes on?

For me it comes on just below 4.3V supply voltage, so the batteries would be pretty well used up.

I did test it now. Ambient 28 deg C. Same issue.

The meter indicates constantly about 0.35 V below actual value of the battery voltage.

6.00 V -> meter indicates 5.7V
5.50 V -> meter indicates 5.1V
5.00 V -> meter indicates 4.6 V
4.50 V -> meter indicates 4.1V
4.40 V -> meter indicates 4.0V

The low battery voltage icon shows just around 4.46V from my PSU. Meter shows 4.0V.

4.46V, is 1.11V per battery. It is okish for NiMH cells, but for Alkaline batteries, it would be great to go down to 1.0V/cell, or even 0.90V-0.95V/cell. As this at low current there is still energy there to get from the cells, and right now it does waste about 10%-15% of the total capacity. The fact that the meter shows 4.0V at the cutoff, indicates that it was supposed to go down to 1.0V/cell, but it doesn't.

At all these battery supply voltages (down to 4.40V from PSU) the readings (of the main input measurement jacks, not battery) of the voltage were stable and correct and to the spec. I didn't test when they start deviating from the spec accuracy.
« Last Edit: June 03, 2020, 11:52:35 am by movax »
 

Offline movax

  • Contributor
  • Posts: 17
  • Country: aq
Re: EEVblog 121GW Multimeter Issues
« Reply #1213 on: June 03, 2020, 11:45:00 am »

Well, in 121GW settings, it is reading 5.7V, which is lower than what it is. That is not too good, because it indicates that it will stop working earlier, and waste battery. If it was 5.9V that would be fine, to be on conservative side, but 0.3V different is not good. Is there some naive reverse polarity protection and diode voltage drop? That looks like bad design to me in low power device operated on batteries. Active reverse polarity protection would be better. Maybe it is some other issue? Maybe voltage divider to measure battery voltage has low accuracy resistors?


They are probably standard 1% smd resistors - so the error can't be explained by that.

My 121gw also show about 0.3-0.4V too low for the battery, I think the problem could be the chosen resistor values for the voltage divider:
(Attachment Link)

This equates to about 250K signal source impedance for the ADC - which seems far above the recommended maximum of 50K.

This gives quite noisy sampling but they mitigated it to some degree with a look up table to compensate for the nonlinearity and some heavy average filtering in the firmware, but perhaps still not so good to be outside the recommended impedance values by that much.

Oh. That is a little high resistance indeed. It is good for battery life, which is good, but not perfect for ADC. Ultra low quiescence current opamp buffer would help. There are ones going down to ~250-400nA. Or simply a low ESR small capacitor on the low leg of the divider?
 

Offline dcac

  • Regular Contributor
  • *
  • Posts: 200
Re: EEVblog 121GW Multimeter Issues
« Reply #1214 on: June 03, 2020, 10:52:01 pm »
Yes a capacitor would help against the noise, but I feel they could also just used a resistor divider with much lower values i.e. 180k+59k and still the battery consumption (about 25uA) wouldn’t really be much of a problem, but perhaps though after a very long time in auto power off mode.

With regard to the accuracy of the battery indicator - they rely on the a fixed correction value in firmware together with the values in a look up table - so there’s no calibration done as such. The hack I did on my meter (shown above) shows it could be made much more accurate without changing the hardware and even have higher resolution. But that was only on my meter, or on my stm32 mcu, there's no guarantee it would work on all 121gw’s - now with the divider being so far above the recommended max impedance, but I think it could be made significantly more accurate and really should also have a user calibration implemented for it in FW
 

Offline CDaniel

  • Frequent Contributor
  • **
  • Posts: 346
  • Country: ro
Re: EEVblog 121GW Multimeter Issues
« Reply #1215 on: June 04, 2020, 06:04:37 am »
That datasheet input ADC impedance is not an absolute value ... in some applications can be larger . The battery voltage is very clean , that's why they could skip the input capacitor ( low pass filter ) although this "economy" is questionable .
« Last Edit: June 04, 2020, 06:08:07 am by CDaniel »
 

Offline dcac

  • Regular Contributor
  • *
  • Posts: 200
Re: EEVblog 121GW Multimeter Issues
« Reply #1216 on: June 04, 2020, 12:23:36 pm »
No the battery voltage being very clean really have nothing to do with it. This type of ADC creates its own noise and this increases with higher input impedance, also this high impedance will make it more susceptible to EMI i.e. 50/60Hz hum.

There’s a good application note about the subject here: https://www.st.com/content/ccc/resource/technical/document/application_note/group0/3f/4c/a4/82/bd/63/4e/92/CD00211314/files/CD00211314.pdf/jcr:content/translations/en.CD00211314.pdf
 

Offline movax

  • Contributor
  • Posts: 17
  • Country: aq
Re: EEVblog 121GW Multimeter Issues
« Reply #1217 on: Today at 12:50:06 pm »
Yes a capacitor would help against the noise, but I feel they could also just used a resistor divider with much lower values i.e. 180k+59k and still the battery consumption (about 25uA) wouldn’t really be much of a problem, but perhaps though after a very long time in auto power off mode.

With regard to the accuracy of the battery indicator - they rely on the a fixed correction value in firmware together with the values in a look up table - so there’s no calibration done as such. The hack I did on my meter (shown above) shows it could be made much more accurate without changing the hardware and even have higher resolution. But that was only on my meter, or on my stm32 mcu, there's no guarantee it would work on all 121gw’s - now with the divider being so far above the recommended max impedance, but I think it could be made significantly more accurate and really should also have a user calibration implemented for it in FW


After reading a bit more and checking schematics, the 50kΩ maximum input resistance, is only allowed for very longest sampling time (i.e. long sampling time, or low adc clock frequency). I.e. for 24 μs. This is because of internal sample capacitors (total being 8pF, which together with internal and external resistance forms the RC circuit, so the time for sampling need to be sufficiently high to reach actual correct value). Using high ADC clock frequency, or short sampling time, requires significantly lower maximum input resistance, in many case 1Ω-2kΩ. I don't know what settings (sampling time, resolution, adc clock frequency, multiplexing, oversampling / averaging) are used for reading the battery voltage from the divider, but it is possible incorrectly configured in software. But even if it is configured most conservatively possible, the input resistance would still be too high for very accurate measurements.

The schematics is also somehow incomplete. It shows external voltage reference (ZD2), of unknown voltage and model, and R49 is marked as 0Ω, which doesn't make sense.

Additionally, VREF+ and VDDA capacitors doesn't follow application notes. They should be 1μF // 10nF. But on schematics I see single C99 for VREF+ with unknown value, and 1μF // 100nF for VDDA, deviating from the recommended values. It is somehow closish to what the Figure 11 (in 6.1.6 Power supply scheme) in the STM32L151xD STM32L152xD datasheet shows, but not exactly.

And we don't know if the external VREF+ is calibrated at startup against the internal VREFINT in the chip, which is actually pretty accurate, and close in performance to external reference (like LM236).

That datasheet input ADC impedance is not an absolute value ... in some applications can be larger . The battery voltage is very clean , that's why they could skip the input capacitor ( low pass filter ) although this "economy" is questionable .

It is an absolute maximum maximum actually. In fact it only works with this highest value under very specific sampling time and frequency configurations. I recommend reading section 4.4 of AN2834 from ST, and section 6.3.19 of STM32L151xD STM32L152xD data sheet, especially table 63 and table 66, and figure 37, on pages 119-123.
« Last Edit: Today at 12:57:13 pm by movax »
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf