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.

MSP430FR6047: EVM430-6047 Volume nedd

Part Number: MSP430FR6047


I'm using EVM430-6047 & Custom Board, UltrasonicWaterFR6047_02_10_00_05 Firmware, Custom Spool Piece.

Both of all can measure Volume Flow Rate well. (40L/h,20L/h... etc)

But Volume is not correct. for example, When I receive 10L of water at 40L/h VFR, Measure Volume Data is 10L and receive 10L of water at 20L/h, Volume Data is 9L.

Q1. Is there any work to be done before flow measurement? 

Q2. How can i calibrate Volume Data that each Volume Flow rate? Is it the user's part? or Is it supported by TI Program?

And I know that Release UltrasonicWaterFR604x_02_20_00_04 Version include Calibration function. But it calibrate only Volume Flow Rate. Is that right?

  • Hello Junsu,

    Yes, your meter should be calibrated in order to get high accuracy. The design center user guide has a section describing the calibration function.

    The new calibration feature allows for setting multiple flow ranges as described in the user guide.

    You are correct that the calibration feature is only calibrating the volume flow rate.
  • Hi Eddie LaCost

    Thanks for the answers, But I have not heard the answer that question 2 yet.

    I explain in more detail. We have a testbench for watermeter. It can measure Volume Flow rate(Flow Speed) & Volume.

    Before measure Volume Flow rate, I adjusted the parameters with Design Center the program.

    [std DTOF 30ps, Abs Tof, Design center parameter etc...]

    After that I calibrated the Volume flow rate to the test bench. And I got high accurate Volume Flow rate.

    [Testbench 15~2500L/h = Board measure Volume Flow rate 15~2500L/h]

    However, the Volume data is not correct. Accuracy varies with flow rate.

    [for example testbench 10 L of water was flowed at volume flow rate of 20 L / h.

    EVM board measure data is Volume flow rate = 20L/h(good accuracy), Volume Data is 5L(Bad).

    measure at another flow rate 40L/h  10L of water.

    EVM board measure data is VFR = 40L/h(good accuracy), Volume Data is 4L(Bad).]

    As you know in the code, In the demo program, volume is provided as a simple calculation and correct.

    The code for obtaining the volume is shown below.

    float resultsCalcVolume(uint16_t rate)
    	// Scale the Volume data based upon the correct Flow Rate unit
    	if(GPM == g_ResultsOfLastMeasurement.FR_unit)
    		return (float)( ( (float)g_ResultsOfLastMeasurement.last_FlowRate *
    				(float)rate )
    				/ ( (float) MILLISECONDS_IN_MIN) );
    		return (float)( ( (float)g_ResultsOfLastMeasurement.last_FlowRate *
    				/ ( (float) MILLISECONDS_IN_HOUR) );

    What is the problem? Is there a way to solve it? Volume data is user's part?

  • I solved the problem.

    There is problems with the volume error.

    Difference according to measurement period.

    At 200ms, the volume data is not accurate.

    However, setting it to more than 2 second is accurate.

  • Hi Junsu,

    Just to clarify,by measuremt period do you mean UPS0 to UPS1 gap?


    Divya Harikumar

  • Hi Divya Harikumar,

    by measuremt period do you mean UPS0 to UPS1 gap?

    Yes UPS0 to UPS1 gap in configuration parameter.

    The ups0_to_ups1 gap of the water demo program does not include the time of USS measurement and the time of to derive the result in USSLibGUIApp_Engine ()

    I measured the time of error with an oscilloscope. There was an error of about 100 ms and for this reason the VFR was correct, but the volume in liter value was wrong.

    so i modified code that to include the time of the mainloop code

    and then, It seems to work correctly now.

    best regards

**Attention** This is a public forum