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.

MSP-EM-DESIGN-CENTER: Unable to re-calibrate after calibrating without a load

Part Number: EVM430-F6779
Other Parts Discussed in Thread: UNIFLASH,

Hi,

Im using EVM430F6779 board. We have loaded the generated CCS code from EVM430-F6779_SH_3V_3C_50Hz.

Once i calibrated without any load on Phase A and B. Now i cant able to recalibrate again with phase voltage . So now im getting wrong results on phase A and B.

How do i slove this issue? How i recalibrate again?

  • Hi James,
    I'm getting wrong result on emdc. How do I recalibrate? When I try to recalibrate APPLY button on calibration not get enabled. For the first time I choose save those values on INFO memory after that I can't recalibrate . Then I try to reflash with setting on CCS erase main and info memory but this method also don't work for me.. plz help me out to solve this issue. During first time calibration I didn't give voltage on phase A and B. But I choose those values to save into INFO memory on EMDC. Now I gave voltage on Aand B phases but can't calibrate. So the results getting wrong.
    How do I recalibrate again?
    Plz reply me soon
  • Hello,

    I've split out your follow-up questions from the following thread because they were different than the original question.

    [FAQ] CCS/EVM430-F6779: How to change the default baud rate generated by EMDC?

    If your calibration wasn't done correctly, then it's not surprising that the results will be wrong. If you're just trying to get familiar with the EMDC calibration process, then I'd suggest NOT saving the calibration factors to INFO memory, but I understand if this was just a mistake. Not saving them to INFO memory just updates them in RAM, so if anything happens, you can power cycle the device to return to the calibration values specified in the EMDC-generated code. If you're happy with the calibration results and want to preserve them, then choose to save them to INFO memory.

    First, let's try to get you back up and running. Nice work trying to erase both MAIN and INFO memory in CCS! Can you please select the "Erase main, information and protected information memory" option in CCS and try again? There should be similar options in Elprotronic's FET-Pro430 Lite and UniFlash software. I believe the calibration factors are stored in INFOA, which is locked. This option should allow you to use the calibration factors defined in the EMDC-generated code and not those in INFOA.

    Now, if you'd like to use the same calibration factors that we used in the example EMDC projects (e.g. EVM430-F6779_CT_3V_3C_50Hz) for testing and evaluation, there are two ways you can do this. The first option may be easier than the second.

    For the first option, open one of the example EMDC projects such as EVM430-F6779_CT_3V_3C_50Hz or EVM430-F6779_CT_3V_3C_60Hz (assuming no changes have been made) and generate the code. Import this code into CCS and navigate to the 'EM_userConfig.c' file. Search for "EM_Phase_Calibration", and you should find our calibration factors. Here's what the default calibration factors look like.

    EM_Phase_Calibration g_emPhaseCalibration[EM_PHASE_LENGTH] =
    {
        //PHASE_A
        {
            .voltageSF = _IQ24(1.000000000),
            .currentSF = _IQ24(1.000000000),
            .activePowerSF = _IQ30(1.000000000),
            .reactivePowerSF = _IQ30(1.000000000),
            .phaseCorrection = 0x0080,
        },
        //PHASE_B
        {
            .voltageSF = _IQ24(1.000000000),
            .currentSF = _IQ24(1.000000000),
            .activePowerSF = _IQ30(1.000000000),
            .reactivePowerSF = _IQ30(1.000000000),
            .phaseCorrection = 0x0080,
        },
        //PHASE_C
        {
            .voltageSF = _IQ24(1.000000000),
            .currentSF = _IQ24(1.000000000),
            .activePowerSF = _IQ30(1.000000000),
            .reactivePowerSF = _IQ30(1.000000000),
            .phaseCorrection = 0x0080,
        },
    };

    Here's what our calibration factors look like. Update your default calibration factors above with our calibration factors from either the 50 or 60Hz example EMDC project. The following calibration factors should be for 50Hz but please double-check before using them.

    EM_Phase_Calibration g_emPhaseCalibration[EM_PHASE_LENGTH] =
    {
        //PHASE_A
        {
            .voltageSF = _IQ24(15.032730162),
            .currentSF = _IQ24(21.504314005),
            .activePowerSF = _IQ30(0.323262063),
            .reactivePowerSF = _IQ30(0.323262063),
            .phaseCorrection = 0x0059,
        },
        //PHASE_B
        {
            .voltageSF = _IQ24(15.031717598),
            .currentSF = _IQ24(21.527243435),
            .activePowerSF = _IQ30(0.323541185),
            .reactivePowerSF = _IQ30(0.323541185),
            .phaseCorrection = 0x0059,
        },
        //PHASE_C
        {
            .voltageSF = _IQ24(15.036997855),
            .currentSF = _IQ24(21.533266544),
            .activePowerSF = _IQ30(0.323773472),
            .reactivePowerSF = _IQ30(0.323773472),
            .phaseCorrection = 0x005C,
        },
    };

    Next, rebuild your code. If you've erased the locked INFOA before this, you shouldn't need to erase INFOA. If you haven't, then select the option mentioned above. You should get better results now.

    Now, the second option is a little more obscure and assumes you have an accurate test source. In your EMDC project, you can use the GUI to calibrate your system. When you've finished calibration and let's assume you write those factors to INFOA, make sure you save the EMDC project again to save those calibration factors to your project. This way, the next time you generate the code, they'll get updated. An alternative to the first option would be to program your EVM with one of the provided pre-calibrated binaries, open your custom EMDC project, click "Connect" to begin communication and then save your project again. In the Results tab next to the Calibration tab in the EMDC GUI, you'll see the calibration factors at the bottom update when communication starts. You want to save your project after this point. This process assumes that your project has the same results selected as the example project. Otherwise the communication will be different since there will be less results.

    I hope this helps get you resolve the issue and understand calibration a little better.

    Regards,

    James

  • Thank you so much James .
    This was a great help to me.

**Attention** This is a public forum