SLAA951A August 2020 – September 2020 MSP430FR5041 , MSP430FR5043 , MSP430FR6005 , MSP430FR6007 , MSP430FR6041 , MSP430FR6043 , MSP430FR6045 , MSP430FR6047
All other trademarks are the property of their respective owners.
Low cost liquid level sensors are commonly implemented with ultrasonic, optical, mechanical, and impedance based techniques. These sensors are commonly used in coffee machines, water dispensers, and fuel gauges. Ultrasound can provide superior results over optical techniques due to the ability of sound to propagate through vapor. Optical techniques can also encounter problems when reflective containers are used.
The ultrasonic transducer does not need to be in contact with the fluid. Therefore, ultrasound is resilient to fluid residues that can compromise the accuracy of mechanical or impedance based sensors. Ultrasonic sensors can also provide high resolution measurements (~20 microns) without imposing any special requirements on the container which holds the liquid. These measurements can be conducted with less than 25 μA of current consumption when using the MSP430FR6043. The MSP430FR6043 solution uses an ADC-based correlation technique that enables higher-resolution time of flight measurements when compared to other ultrasonic timer based solutions.
The EVM-FR6043 comes with software that enables ultrasonic absolute time of measurements to be taken and visualized through a GUI as described here: Ultrasonic sensing subsystem reference design for gas flow measurement. In the experiments described in this document, the EVM430-FR6043 is used with a single Jiakang 200 kHz transducer, which can be sourced from Jiakang. A 3D printed fixture is used to mount the transducer for experimentation. A half teaspoon of liquid is added to the cup to demonstrate the sensitivity of the system.
In order to obtain proper signal levels, the transducer should be placed as close as possible to the liquid level that is being sensed. Figure 1-3 depicts how the transducer is mounted with respect to the container and the water which is in it. The ultrasonic wave is reflected from the surface of the water and the roud trip time of flight is determined based on the correlation between the transmitted and received ultrasonic signals.
The transducer is connected to one of the transducer connectors with a jumper wire between the two positive transducer connectors (J5 pin 1 and J6 pin 1). The EVM is used with the standard gas meter software. The EVM schematics can be found here: TIDM-02003 Schematic.
The Design Center GUI is used to configure the MSP430FR6043 and capture data.
The Design Center configuration used for testing can be seen in Figure 1-4 and Figure 1-5.
Test results below show the Captured ADC waveform and the transition that occurs in the absolute time of flight when a half teaspoon of liquid is added to the cup. This test was performed at room temperature.
From Figure 2-2, it can be seen that there was a change of approximately 3 μs in the absolute time of flight after adding a half teaspoon of liquid to the coffee cup. During this liquid addition, a transition between the upstream and downstream signals can also be seen in the delta Time of Flight (surface movements can also be resolved). The test setup described in this document can sense changes in the absolute time of flight of less than 50 ns. At room temperature, the speed of sound travels at 343 m/s through air. A temporal resolution of 50 ns would therefore translate into a spatial resolution of 17 μm. Because the distance traveled is twice the distance between the transducer and the liquid, the level sensing resolution is around 8.5 µm.
The minimum distance from the transducer is about 1.5 cm due to ring down (at 3.3 V). The maximum distance from the transducer is about 20 cm.
As can be seen through this simple experiment, the MSP430FR6043 enables best in class liquid level sensing at a fraction of the cost and hardware required by other solutions.
OpenSCAD is a freely available CAD tool that enables parametric generation of 3D models, which can be exported for 3D printing. In order to generate the 3D printable model used in these experiments, cut and paste the openscad code shown below into OpenScad, Render the Design, Export to STL, and generate the gcode for your 3D printer, and 3D print the fixture.
TRANSDUCER_RADIUS=8.25;
HOLE_RADIUS=3;
LID_RADIUS=40;
LID_LENGTH=3;
difference(){
union(){
translate ([0, 0, 0])
rotate([0, 0, 0])
cylinder (h = LID_LENGTH, r = LID_RADIUS);
}
union(){
translate ([0, 0, 0])
rotate([0, 0, 0])
cylinder (h = LID_LENGTH, r = TRANSDUCER_RADIUS);
translate ([0, 15, 0])
rotate([0, 0, 0])
cylinder (h = LID_LENGTH, r = HOLE_RADIUS);
}
}