Post Go back to editing

Line Frequency Measerment precision compliance with class 0.2s

Thread Summary

The user is experiencing an offset in frequency measurements with the ADE9000, showing absolute errors above 10 mHz. The solution involves verifying the crystal frequency by measuring the Dready output and adjusting the APERIOD register accordingly. For high accuracy, averaging multiple readings can help reduce noise-induced jitter.
AI Generated Content
Category: Hardware
Product Number: ADE9000

Hello,

We are currently working on an energy transducer.

The ADE9000 data sheet mentions a resolution of 0.001 Hz at 50 Hz, , while tests on our final product shows measerments above 10mHz of absolute error:

input FREQ  Measured FREQ Aboslute error Relative Error
45,000   Hz 45,016   Hz 15,700  mHz 0,035%
46,111   Hz 46,122   Hz 11,100  mHz 0,024%
47,222   Hz 47,231   Hz 9,300  mHz 0,020%
48,333   Hz 48,343   Hz 10,400  mHz 0,021%
49,444   Hz 49,456   Hz 11,800  mHz 0,024%
50,555   Hz 50,569   Hz 14,200  mHz 0,028%
51,666   Hz 51,682   Hz 16,400  mHz 0,032%
52,777   Hz 52,794   Hz 17,400  mHz 0,033%
53,888   Hz 53,905   Hz 17,400  mHz 0,032%
54,999   Hz 55,014   Hz 14,700  mHz 0,027%

These results are confirmed in many products, so we can see what looks like an offset in the frequency measurement, do you have any explanation for this? 

Thanks

  • The datasheet is based on perfect 24Mhz. 

    enable  Dready out on cf4 and set Dready to 8Khz

    ADE_SPI_WRITE(ADDR_WFB_CFG,0x0200,0x2); //set dready to 8khz
    ADE_SPI_WRITE(ADDR_CONFIG1,0x000C,0x2); //enable cf4 to dready if you want to look at it

    Measure Dready with a good freq counter I used HP53131A 

    I measured on my board 7998.2276hz

    Serial.println((7998.2276 * 65536.00) / (ADE_SPI_READ(ADDR_APERIOD,4)),5);

    After using this value I found my freq measurement to be spot on. 

    7998.2276 * 3000 = crystal freq  = 23994682.8hz

    For high accuracy freq measurement you may need to verify the crystal freq.

    my source will only go to .1hz resolution for my test 

    60 50 45 46.1
    59.99882 49.99958 44.99827 46.09973
    59.99952 49.99936 44.99808 46.10015
    59.99873 50.00008 44.9981 46.09975
    59.9987 49.99975 44.9983 46.10069
    59.99957 50.00024 44.9991 46.10026
    59.99857 50.00046 44.99963 46.09969
    59.99971 50.00043 44.99852 46.09925
    59.99903 49.99932 44.9995 46.09829
    59.99934 49.99991 45.00012 46.0985
    59.9991 50.00022 44.99998 46.09812
    59.99892 50.00003 44.99989 46.10001
    59.99871 49.99998 45.00012 46.09783
    59.99883 50.00021 45.0003 46.09933
    59.99946 50.00052 45.00004 46.10042
    59.99989 49.99953 45.00015 46.1002

    you can also use your freq measurement to calculate the sample rate. 

    if you 45 hz is perfect and you read 45.016 

    8000 * 45/45.016  = 7997.156566

    Using your data and 45hz as a correction value. There may be some rounding as I only had 3 digits.

    corrected
    0.999645
    45 45.016 45
    46.111 46.122 46.10561
    47.222 47.231 47.21421
    48.333 48.343 48.32582
    49.444 49.456 49.43842
    50.555 50.569 50.55103
    51.666 51.682 51.66363
    52.777 52.794 52.77524
    53.888 53.905 53.88584
    54.999 55.014 54.99445

    Dave

  • One more thing to add is I would use an average of a few readings to improve accuracy. Zero crosses are used for the measurement and noise will cause some jitter in the freq measurement. The amount of average depends on you needed update rate of the line freq you require. 

    Dave

Before You Switch


Switching languages will make ADI Explorer unavailable. Resume your session by switching back to English and reopening ADI Explorer.