Other Parts Discussed in Thread: EVM430-F67641, MSP430F449,
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.
beixian du said:const is 500 k
As a follow-up, when you say "const", are you referring to impulses per KWH? If you're using 500k, then this is most likely the issue. Typically, the legacy Energy library uses 6400k as the default value which is much less than 500k. Also, the Energy library leverages the ADC samples to trigger the energy pulses.
At 220V, 60A, 500k impulses/KWH, and 4096 ADC samples/second, you'll have approximately 2.234 ADC samples/impulse. This means that if there's a 50% duty cycle, you'll need the one ADC sample to turn on the pulse and the other ADC sample to turn off the pulse. However, for these inputs, you'll need to turn the pulse back on at the very next ADC sample. Thus, you're at 2 ADC samples/impulse and not 2.234. I'm not sure if it's coincidental or not, but 0.234/2 is approximately 11.7% error, which is similar to what you're observing.
My suggestion would be to change 500k to 6400.
Have you read through the Implementation of a Low-Cost Three-Phase Electronic Watt-Hour Meter Using the MSP430F67641 user's guide? Section 4.3.2 LED Pulse Generation (per_sample_energy_pulse_processing) specifically mentions that the impulses per KWH is 1600. Our other F6779A and F6736A designs use 6400, but this specific design uses 1600. Your high voltage test equipment should also be set to 1600.
If you've changed the constant to 1600 on your equipment (to match the default pulse rate in the EVM430-F67641's code) and you're still seeing around 10% accuracy on the first report, I don't consider this to be an issue. As you've observed, after the first three reports, the accuracy stabilizes around 0.1%. This is completely normal based on my experience due to filters, buffers, etc. settling in the code. Is this behavior violating any of your specifications or is it just different than what you're accustomed to seeing?
Okay, this context makes sense. Thanks for sharing these details. As I mentioned before, this behavior on MSP430F67641 is normal and is due to the filters, buffers, etc. getting initialized during the first report. The software was probably done differently on the MSP430F449. If you're going to use MSP430F67641 in your design, I would recommend using the A version, MSP430F67641A.