Post Go back to editing

ADE9078 Calibration

Category: Software
Product Number: ADE9078
Software Version: ade9000_arduino_software

I design a PCB using ADE9078 
I face some problems in calibration the value is too far and I don't know the the reason

I am using this library from analog device  witch for ADE9000  and I am using it with ESP32 

also I try to use ADE9078 _Calibration_Tool_Rev0 and I change the required value but also the result its too far 

the nominal voltage is 237V and the nominal current 0.111A  
the nominal voltage is 237V and the nominal current 0.111A

this is the file which have the cade and library and the calibration sheet

this is the schematic :

  •  Hello 

    I want some guidance in this problem could any one help me 


  • The process of calibration can be broken down to applying a known current and voltage then finding the transfer function for the meter versus the expected transfer function. Take your input current and translate it to the voltage at the input of the ADC. Then do the same with your voltage. From there based on the full-scale values of the ADE9000 you can understand what the expected A/code and V/code of each channel are. Now read back the xRMS registers to get your measured codes and using the xGAIN registers, apply the gain to get the expected codes.

    There is nothing that stands out as problematic in you schematic and I have a feeling that this is purely a calibration issue based on how far off the measurements in your screenshot are. The GAIN being applied to each channel really shouldn't exceed +/-50% so that is usually a good indicator if something is going wrong in the calculation of the GAIN value.

  • Thanks dlath for your time 

    the process which I worked in Calibration:
    1- I  used a Calibration tool for ADE9078  to calculate the Transfer function and again
    2- I apply this value voltage is 241V and the nominal current is 0.36A  and I put these values in the excel sheet 

    Q1- I want to ask is there a problem because I use less than 1 A to Calibration the current. 

    Q2- I don't know how  Enter Meter Constant(impulses/kWHr) is Calculated and If it's true or not in my case.

    3- I take the value of  the Transfer function from the sheet and put it in the code  

    Serial.print(((double)vltgRMSRegs.VoltageRMSReg_A/(0.001009082 * 52866837.00 * sqrt(2)))); //Print AVRMS register
    Serial.print(" || CB: ");
    Serial.println(((double)curntRMSRegs.CurrentRMSReg_B /(0.0164 * 52866837.00 * 1.414213)));)));

    * The full code in the drive link with the Library

    4- I upload the code I can Start reading these Values : 


    5- then  I take These Values and put it the Calibration sheet to calculate the xGain  

    6- I Write these values to ADE908 in the code



    7- I read these values on the Serial monitor 

    it's very close but the main problem was the value didn't change I increase to decree the current and voltage didn't change 

    it's just a change between two  values  241VA, 0.38A, or Zero    when I remove all load, and sometimes it didn't change

  • Finally I solve the Problem , I made a mistake in the PCB desgin ...that I connect the VolReff to the Ground Slight smile