This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

MSP430F67791 Rogowsky coil hardware routing using softdidt

Hi all.

I'm developing an application using rogowsky coils and the TI provided library softdidt.

We are still waiting for our custom pcb but for now I'm using the evalkit for CTs. I know I won't have a reliable current and power values, but at least I can start development.

I'm only connecting phase C that is used to power the board, so at least I should have a reliable Vrms for this channel as the others will be floating.

But I don't get any value, I only get frequency in phase A no matter if I change the hardware definition in board.h. The rest is 0, but reading the SD24 registers I see that they are updated, so I think that it may be a problem in specifying how the hardware is connected, but I'm using the provided application so I shouldn't have any problem.

My settings are:

in Main.c

static const sensor_routing_t  m_adcwiring[3] = { HW_EVALKIT_ROUTING };

.
.
.

DiDtInitLibrary();
ErrorCode = DiDtInitHardware(m_adcwiring);
if ( ErrorCode != DIDT_OK)
{
	return;
}

and in board.h:

/* How the sensors are wired up */
#define HW_EVALKIT_ROUTING      PHASE_ABC, /* 3 phases */ \
                                DIDT_HW_SD16_CH0, DIDT_HW_SD16_CH1, DIDT_HW_SD16_CH2, /* voltage inputs */ \
                                DIDT_HW_SD16_CH4, DIDT_HW_SD16_CH5, DIDT_HW_SD16_CH6, /* di/dt inputs */ \
				DIDT_HW_SD16_PGA16 /* Preamp setting */

in softdidt.h:

/* ADC channel numbers */
typedef enum
{
	DIDT_HW_SD16_CH0 = 0,
	DIDT_HW_SD16_CH1 = 1,
	DIDT_HW_SD16_CH2 = 2,
	DIDT_HW_SD16_CH3 = 3,
	DIDT_HW_SD16_CH4 = 4,
	DIDT_HW_SD16_CH5 = 5,
	DIDT_HW_SD16_CH6 = 6,
	DIDT_HW_SD16_UNUSED
} adcchannel_t;

What am I missing? Can anyone help me with this?

Regards,

Jorge Cunha

  • Hi Jorge,

    I am looping in a Metering expert to address this question, please allow them time to formulate the proper response.

    Regards,
    Ryan
  • I checked the source code for the softdidt library. The current version only measures the frequency from phase A. I don't know why that was done. It would certainly be a serious limitation for some users,

  • Hi Steve.

    Thanks for your input.

    That really is a major limitation, because we need to measure frequency on all phases. But like I mentioned, I'm only connecting phase C (DIDT_HW_SD16_CH2) to the CT evaluation kit. And like I mentioned, I'm getting only a frequency reading for phase A, not getting Vrms. Can you check if there is any hardware routing problem or do I need to define any redirect due to the fact that F66791 has sd24 not sd16? I'm using the provided example.

    Thanks,

    Jorge Cunha

  • Hi again Steve.

    I've been trying to understand why I don't get any readings, except for frequency.

    I've attached some prints of my debug (3 executions). There you can see that the data registers for SD24 (SD24BMEM) change but in the return sensor_results_t *sensors the only that changes is the frequency and the sequence counter.

    1st Execution:

    2nd Execution:

    3rd Execution:

    What am I missing? Can it be a problem in the way sensors are routed or a problem in the way your library retrieves data from the SD24 registers?

    Regards,

    Jorge Cunha

  • Hi Steve.

    I found out why I wasn't getting any readings. It was due to the fact that when I proggramed the micro, I havent't done the calibration as suggested, so the app uses the values from memory, and flash memory data had been erased, so they were read as 0xFF.

    I found an error in the example application, it's not possible to change the vrms_gain and the irms_gain. This I already managed to make it work.

    But now a problem arises with the fact that you mentioned that the library measures the frequency always from only one phase. Can you please correct it and send me a corrected version. Because without that it is useless, as it is intended to use in a multi phase system.

    Regards,

    Jorge Cunha

**Attention** This is a public forum