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.

EVM430-FR6043: EVM430-FR6043 for water flow with 1000 kHz transducers

Part Number: EVM430-FR6043
Other Parts Discussed in Thread: MSP430FR6043, OPA836

I have both USS demo boards and want to do water measuring. with the external transducer and FR6047, all work fine, both with standard USS GUI and my own code communicating on the serial interface. When I switch to the FR6043 and use the very same transducer and GUI firmware, I can start the GUI but I can't set the frequency to 1000 kHz even when using the water mode. It ends at 550 Khz - see attached. Any chance to get this to the 1000 kHz for the transducers I m using for water ?

I like to use the external amplifier and hence I connect the transducers to X1 and X2 on the board without changing any of the default jumpers. The code answers with error 0x7e (no transducer found). So what is wrong? Does the external amplifier not support 1000 khz transducers ??

  • I like to be a bit more precise. I like to use the 6047 for water flow (clamp on copper) but with an external amplifier. https://www.ti.com/lit/ug/tidues5a/tidues5a.pdf?ts=1618473396301 explains the general use of the chip without amplifier. 
    Using GUI + FR6043EVM_USS_Gas_Demo does not allow setting transducer frequency to 1000 khz. Whats the trick ?
    I have a well-working setup with 1 MHz transducer, FR6047 and serial interface but recompiling with target 6043 does not work ( transducer missing), likely because this version does not support the external amplifier. Whats the trick here ?

  • To start, I would say that you should probably be using FR6043EVM_USS_Water_Demo instead since there are hard frequency limits in the gas firmware if I remember correctly. For a 6043 in water mode to work with the GUI, you'll need to click Options->Meter Options and set Board to "Custom-PCB" and device to MSP430FR6043. After that, you can then select "Water".

    Normally, to make the 6043 EVM act exactly like the 6047 EVM, you would need to follow the directions in the document you linked to, TIDUES5A, specifically section 3.1.1.1.1 "Hardware Modifications for Water Meter Operation". However, since you want to use the 6043 EVM's front-end amplifier, you will instead need to modify quite a bit of the board. The main thing to fix would be the filtering around the op-amp U10. From the factory, the 6043 front-end amplifier will not allow 1 MHz signals to pass, it is setup for gas measurements and has a 3dB cutoff at less than 600 kHz. Then the terminations would need to be modified, and it may also be necessary to modify the firmware or at least some #define values to make it use the amplifier in water mode.

  • Why do you want to use FR6043 to do water meter? In our original design, FR6047 is used for water meter and FR6043 is for gas meter.

  • Thank you very much. Of course, I tried to overcome the Demo FW restrictions by picking Custom PCB+Water option but when setting F=1000Khz I got an error message from the board.

    I did not see the filter around U10. This would explain why I do not see any signal with the USS-Water-Demo firmware and my own UART-based firmware based on USS lib that works fine on 6047.

    Can you be more specific about what to change around U10?

    Will the Water Demo also control the IOs needed to operate the external amplifier (TXEN, RXEn,..) ?

  • In terms of changing the filter components, that would require you to define some parameters of what kind of filter bandwidth, gain, etc, that is necessary for your application. I would suggest using a SPICE tool like TINA-TI to simulate what you'd want only because it has the OPA836 model available. For debugging purposes you may be able to get by with removing the feedback capacitor C39 and the load capacitor C44. The signal still won't be the prettiest due to the "Gas Termination" components which would probably need to be changed. These are the components between U8 and U9 labeled "For Gas Termination", and the same component values are duplicated at the non-inverting input of U10.

    The Water Demo will allow for up to 2 MHz, but toggling the enable pins and other IO will require firmware modifications. As Gary is essentially hinting at, you're in uncharted territory since TI doesn't officially support clamp-on ultrasonics. They only support wetted transducers with the 6047 EVM and gas with the 6043 EVM.

  • I think I got along with the hardware. In terms of GPIO support for external OV, all this should be in GAS USS. It looks to me that GAS USS and Water USS are different libs, Unfortunately, I have 2_40_00 for water and 2_30 for gas so that a simple 'diff' reveals plenty of changes. Can you point me to the files in GAS USS that  - ideally - need to be placed in Water USS for the low-level GPIO controlling

  • First thing, navigating the TI code requires one to pay attention as there are a lot of preprocessor conditional statements scattered throughout. Keep track of what is #defined by opening Project->Properties->Build->MSP430 Compiler->Predefined Symbols

    I would ignore the Gas files completely. You may be able to get what you want by just opening "ussSwLibMeasurement.c" file in the WATER demo and adding some GPIO toggles in the appropriate spots in the function "USS_startLowPowerUltrasonicCapture" or "USS_startUltrasonicMeasurement", whichever is actually being called in your code. The function called depends on whether or not __ENABLE_LPM__ is defined. In the default "USS_Water_Demo" code, this logic can be seen in the "USSLibGUIApp_Engine" function within "USSLibGUIApp.c".

    TI did document the library at this link, as well as in the software User Guide (SLAU732A), but you will have to explore around and modify the source if you want to do anything extreme.

  • thanks. After digging a bit into the ode I found, the water demo has one project (MSP430FR6043EVM_USS_Water Demo) which almost works on the EVM board. I just had to add compiler switch  --define=__AFE_EXT_3v3__. The signal quality is quite bad as you mentioned above but generally, I can measure flow in steel pipes using normal 1MHz transducers.

**Attention** This is a public forum