Jump to content
  • 0

Accuracy of the DMM Shield


edwin001

Question

Documents for the DMM Shield states an accuracy of +-0.1% for voltage, current, and resistance except for specific ranges highlighted.   Is this accuracy obtained with factory calibration only OR does the user need to also need to calibrate the equipment?  If the user needs to calibrate, can the calibration factors be stored and used by Shield OR is a external program required to make adjustment in real time.   At the moment, the Shield fails to produce comparable measurement with a Fluke 88V that has lower accuracy for current and resistance  readings.  For the voltage readings, the accuracies  are  comparable but the Shields gives a poor reading based on calculated values vs measured. 

Link to comment
Share on other sites

14 answers to this question

Recommended Posts

Hi @edwin001,

The DMM shield comes factory calibrated, though we recommend that you calibrate the shield yourself as well. The calibration parameters (both factory and user) are stored in separate locations on the on-board EEPROM: https://reference.digilentinc.com/reference/add-ons/dmm-shield/reference-manual#eeprom_memory. The calibration procedure has some details in the reference manual here: https://reference.digilentinc.com/reference/add-ons/dmm-shield/reference-manual#calibration_procedure, with the library user guide giving more details on the functions themselves for the host board you are using: https://reference.digilentinc.com/reference/add-ons/dmm-shield/start#libraries_and_demos.

Let me know if you have any questions about this.

Thanks,
JColvin

Link to comment
Share on other sites

Hello JColvin,

Regarding performance accuracy stated in the documentation, are they achievable with factory calibration alone?  OR are those specs only achievable when the user calibrates also?  For calibration, does the user have to calibrate for all 4 voltage ranges, all 7 resistance ranges, and all 5 current ranges?  

Link to comment
Share on other sites

Can you provide examples of calibrating using Arduino.  I used DMMCalibP, DMMCalibN, and DMMCalibZ to calibrate VoltageDC5 range.  When I issued DMMSaveEPROM command, nothing was saved.

Also, no difference in measurement results from using Factory calibration (using DMMRestoreFactCalibs) and after user calibration (using DMMCalibP, DMMCalibN, and DMMCalibZ and a reference of +-5.002900).

Link to comment
Share on other sites

Hi @edwin001,

In principle yes they would be achievable with factory calibration, but I do not know if the factory calibration is a set of "average" values or if each module was configured individually to account for the differences in silicon and individual hardware components (such as the resistors and capacitors). I don't believe you "have to" calibrate every range for the module to work correctly (I'm not certain , though it is recommended if you intend to use the full range.

I don't have a DMM Shield with me while working from home to test, but I'll see if I can find one during my planned visit to the office today.

I have reached out to another engineer much more familiar with the DMM Shield for clarification/correction on the statements that I made.

Thanks,
JColvin

Link to comment
Share on other sites

Hi @edwin001,

I have not heard back yet, though I will reach out again. I wasn't able to find the DMM Shield in my hardware at the office and I know the engineers I was reaching out have their offices are also required/strongly recommended to be working from home as well (their office is in a different country so I don't know their policy for getting hardware from the office).

I will let you know if I hear an update with regards to a response.

Thank you,
JColvin

Link to comment
Share on other sites

Hello,

I am trying to help a little bit by answering some of the above mentioned questions / concerns.

During factory test, each DMMShield is individually calibrated. The resulted calibration coefficients are stored in the factory calibration area of the non volatile memory of the DMMShield and also in the user calibration area of the non volatile memory of the DMMShield. So user calibration is identical to factory calibration at the factory gates.

At any time, the user may chose to calibrate the device. The result of user calibration is only stored in user calibration area. 

At any time, the user may choose to restore the factory calibration. This means that the data from the factory calibration area is written in the user calibration area of the non volatile memory of the DMMShield, thus restoring the situation from the factory gates.

I have two major concerns:

1. (the obvious one) Why does your module provides poor results even after factory calibration is restored ? How do you know that restore factory calibration was completed with success ?  

2.  Why do you mention that after performing calibration (calling  DMMCalibP, DMMCalibN and DMMCalibZ) no data is saved in the Eprom when calling DMMSaveEPROM.

Quote

I used DMMCalibP, DMMCalibN, and DMMCalibZ to calibrate VoltageDC5 range.  When I issued DMMSaveEPROM command, nothing was saved.

For both of my concerns, my question for you regards your working environment. I understand that you use Arduino. Here are some questions that might help us understand what's going wrong:

- which board are you using ?

- are you using the command interpreter provided by Digilent or your own code, calling Digilent library functions ? 

Best Regards,

Cristian Fatu

Link to comment
Share on other sites

Just to add to what Cristian said, 

 

What do you mean by lower accuracy and on what scales? are you setting each scale for each reading when performing the measurements? If you are doing a measurement on 5A for 200mA the results will be lower in accuracy. Are these errors constant on all the resistance and current scales, or just one here and there? Can you point out which scales have issues? 

We would like to see some example of a measurement that you say it's giving errors. Is the accuracy 0.2 instead of 0.1 or we are talking about 1% or greater?

The accuracy of 0.1% should be with the factory calibration. 

Regards,

Bianca

Link to comment
Share on other sites

Cristian,

Here are the answers to your questions:

1.  Using the DMMShieldDemo_BasicCmds sketch, I can send DMMRestoreFactCalibs within the Serial Monitor and see the board respond with the message:

COMMAND: DMMRestoreFactCalibs
Calibration data restored from FACTORY EPROM

 

2.  Further playing with the system, I was able to get the board to user calibration using DMMSaveEPROM.  I had to cease to the repetitive measurements and only perform calibration measurements to a reference followed by saving the results to user EPROM. 

I am using an Arduino Mega board. 

It is odd that after providing all 3 measurements for calibration, the system fails to display a Coeff factor.  I have captured this message for you here:Capture.thumb.PNG.f9baf173211d0546b4edc02d704329b5.PNG

Link to comment
Share on other sites

Bianca,

Technically speaking, the Shield should have no issues measuring 200m in the 5A range since the HY3131 chip has a 50,000 count to yield a step resolution of 5/50,000=0.0001A or 100uA.   If, however, I was trying to measure 200.06mA then it totally makes sense to dial down to the 500mA range to give myself a step resolution of 0.01mA or 10uA.  If I don't have to use the lower range to get current measurement, then that would be best in order to avoid the loading effect associated with the shunt resistor (ie 0.02 ohms in the 5A range vs 1 ohm in the 500mA range).

 

Here are some measurements as you requested where I used CurrentDC5m and VoltageDC5 for the ranges.

Factory Calibration Only:

4.714mA

-4.9975V

+5.0064

 

After using User Calibration:

4.991mA

-5.0025V

+5.0034V

 

Standard using Hioki DT4282 DMM having + - 0.025% accuracy:

4.992mA

-5.0029V

+5.0030V

 

 

 

Link to comment
Share on other sites

Hello,

The measurements posted above show that the user calibration improved the measurements precision.

Regarding the question marks you got in the calibration messages, unfortunately I am not in possession of the complete hardware needed to replicate this issue. We will take a look on this one when we will have the opportunity.

Thank you for revealing this issue.

Best Regards,

Cristian Fatu

Link to comment
Share on other sites

Cristian,

So, what you are saying is that without user calibration, the Shield will not produce reading accurate to + - 0.1%.  

If I need to calibrate, do I have to calibrate ALL the various ranges?  I want to be able to use the meter to measure any parameter within its capability.

Link to comment
Share on other sites

Hi @edwin001,

Normally, it should be able to provide the +/- 0.1% with the factory calibration. I can't tell what kind of event caused the device to have a not very accurate factory calibration on certain scales. 

The good news is that the device is not defective, however, it does imply that if you want to use the user calibration, you have to calibrate the ranges you might use. If you want to have all the the functionality, then all the ranges need calibration 

Best regards,

Bianca

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...