Post Go back to editing

关于ade7880的相位角的问题

大侠,你好,

尝试读取寄存器0xE601/0xE602/0xE603(即ANGLE0/ANGLE1/ANGLE2)的时候,发现这三个寄存器的值,总是为0。

不知道原因。请解,谢谢。

【我的情况】我期望得到同一个相位的电压和电流之间的相角,看到中文版ade7880的p32页,默认情况下,COMPMODE的bit10:bit9=00,测量同一个相位的电压和电流之间的延迟。所以,我没有做初始化。

Parents
  • The ANGLE0, ANGLE1, and ANGLE2 registers are 16-bit unsigned registers with 1 LSB corresponding to 3.90625 μs (256 kHz clock), which means a resolution of 0.0703° (360° × 50 Hz/256 kHz) for 50 Hz systems and 0.0843° (360° × 60 Hz/


    φx = cos⎥⎦⎤⎢⎣⎡××kHz256360LINEfANGLExo (6)


    fLINE = 50 Hz or 60 Hz.

     

    这些信息都在数据手册最显眼的地方,以后要选看数据手册。

  • 请问为什么我读取相电压之间的值,只有ANGLE0有数值,ANGLE1和ANGLE2数值都为0,什么原因啊?我的设置如下:

    void ANGLE_celiang_A_UI(u16 addd)
    {
    u16 ANGLE_shu;
    ANGLE_shu=read16(COMPMODE);
    ANGLE_shu&=0xf9ff;
    ANGLE_shu|=addd; //ANGLESEL[1:0][10-9] 00: 测量相电压和相电流之间的角度。
    write16(COMPMODE,ANGLE_shu);
    }

    ANGLE_celiang_A_UI(0x0200); //0-01-0

    ANGLE0_shu0=read16(ANGLE0); // AC ANGLE0---时间延迟0。详情参见相位时间间隔部分。


    ANGLE_celiang_A_UI(0x0200); //0-01-0
    ANGLE0_shu1=read16(ANGLE1); // BC


    ANGLE_celiang_A_UI(0x0200); //0-01-0
    ANGLE0_shu2=read16(ANGLE2);

    printf("测试相角A,B,C------ %0.4f, %0.4f, %0.4f, ------------------------------\r\n\r\n",ANGLE0_shu0,ANGLE0_shu1,ANGLE0_shu2);

    数据打印出来,只有ANGLE0有数值,ANGLE1和ANGLE2数值都为0,什么原因啊?麻烦指导一下。谢谢!

Reply
  • 请问为什么我读取相电压之间的值,只有ANGLE0有数值,ANGLE1和ANGLE2数值都为0,什么原因啊?我的设置如下:

    void ANGLE_celiang_A_UI(u16 addd)
    {
    u16 ANGLE_shu;
    ANGLE_shu=read16(COMPMODE);
    ANGLE_shu&=0xf9ff;
    ANGLE_shu|=addd; //ANGLESEL[1:0][10-9] 00: 测量相电压和相电流之间的角度。
    write16(COMPMODE,ANGLE_shu);
    }

    ANGLE_celiang_A_UI(0x0200); //0-01-0

    ANGLE0_shu0=read16(ANGLE0); // AC ANGLE0---时间延迟0。详情参见相位时间间隔部分。


    ANGLE_celiang_A_UI(0x0200); //0-01-0
    ANGLE0_shu1=read16(ANGLE1); // BC


    ANGLE_celiang_A_UI(0x0200); //0-01-0
    ANGLE0_shu2=read16(ANGLE2);

    printf("测试相角A,B,C------ %0.4f, %0.4f, %0.4f, ------------------------------\r\n\r\n",ANGLE0_shu0,ANGLE0_shu1,ANGLE0_shu2);

    数据打印出来,只有ANGLE0有数值,ANGLE1和ANGLE2数值都为0,什么原因啊?麻烦指导一下。谢谢!

Children
No Data