求教ADE7878A的AVRMS参数对应计算公式?

参考网络上的代码,有如下两种测试式子,但测试过后感觉都不是很合理。

式一:

phase_a_vrms = (a_vrms / 4191910.0) * (0.5 / sqrt(2.0));    //V

式二:

phase_a_vrms = (a_vrms / 5928256.0) * 0.5;                       //mv

其中a_vrms是寄存器值,phase_a_vrms是计算后的有效值,但算出来的结果和示波器读数对不上,求教应该怎么计算才对。

  • 0
    •  Analog Employees 
    on May 23, 2018 5:41 AM

    您好,

         相关的计算需要参考您的电路,请将电路原理图发送过来。同时请告诉我们您测的是电压信号对不上么?信号的输入范围以及频率是多少?公式一中,4191910是满量程正弦波信号的等效有效值,a_vrms/4191910得到的是目前输入信号占满量程的比例,(a_vrms / 4191910.0) * 0.5得到的是目前输入信号对应的峰值,(a_vrms / 4191910.0) * (0.5 / sqrt(2.0))得到的是目前信号对应的rms值。公式二中,是公式一的简化,直接使用峰值满量程ADC的输出码。谢谢。

    祝好,

    Gary

  • 您好,我现在在调试ADE7880 的SPI通信,读取寄存器时得到的值为0XFF。通过示波器抓取ADE7880的 SPI引脚,发现ADE7880的SPI输出一直是高电平2.7V,所以,导致MCU读到的数据都是0XFF。

    因此,我单独拿ADE7880 模块(不与MCU相连),当VDD(或REST)输入3.3V时,ADE7880 SPI引脚也是为高。

    请问,ADE7880的SPI引脚,默认都是高电平吗?

    由于硬件原因,目前ADE7880的晶振是错的。这会影响SPI通信吗?MCU发出的SPI的SCLK是正常的。

  • Gary:

          您好!硬件晶振选择错误,这会影响到SPI通信吗?AVDD和DVDD如果是2.7V正常吗?PMS0状态下,当没有进行通信是,MOSI和MISO的引脚高低电平是什么样的?麻烦帮我分析下,谢谢。

  • 收到,后面悟出来了。

    需要根据电路比率再反向换算输入端电压,多谢了。

    顺便问一下,如何配置已获取B相,C相的功率及功率因素。目前按照默认配置,能读取A相的电压、电流、频率、功率和功率因素。

    然后启动DSP之后,没接负载及输入源之前,很多寄存器会乱跳,请问有办法可以解决吗?

  • 0
    •  Analog Employees 
    on May 24, 2018 9:51 AM

    您好,

         芯片对于ABC三相的数据都是可以获得的,您在读取相应相的参数时,需要找到对应相的寄存器地址,读取哪一相的寄存器内容就会得到哪一相的参数。DSP启动之后,内部的寄存器和滤波器等需要一定的时间来建立,不知道您所说的寄存器乱跳是指什么寄存器?跳动时间为多久?谢谢。

    祝好,

    Gary