Flow Data Acquisition Guide

Mass flow controllers, water meters, and HVAC airflow transducers — measure or control gas and liquid flow rates.

Commercial air flow transducer for HVAC system.2

There are many sensors that measure flow from residential water meters to chemically reactive gas mass flow controllers (MFCs). Flow is measured in a rate and each sensor or controller is typically calibrated for a particular gas or liquid. The output (generally voltage) is proportional to the calibrated metric. This voltage is recorded and processed by the DAQ and software. Flow controllers have the added functionality to maintain a set flow rate as programmed by an input voltage. The DAQ would then set a flow rate using an analog output port and measure the resultant flow with an analog input port. MFCs are generally controlled using 0-5V, 0-10V, or serial RS-232 signals.

2 Courtesy of Eldridge Products, Inc, http://www.epiflow.com/


Mass flow controller (MFC) internal diagram.3

Expanding on the mass flow controller concept, a chemical engineer could use a DAQ to measure and control a set of MFCs for a chemical deposition process. Typically, such a process would use a “recipe” to control a temperature, plasma, or other energy source as well as a host of MFCs to produce a chemical coating or film. Once wired to the DAQ, the MFCs would be able to meter the gasses flowing through them and control the rate using a proportional valve and feedback loop. The loop’s input variable would be a voltage from the DAQ as a flow rate set point. For example, 1V signal from the DAQ to the MFC might allow 100 standard cubic centimeters per minute (SCCM) of gas to flow into the reaction chamber.

3Courtesy of Horiba, http://www.horiba.com/


Recommended DAQ

Recommended DAQ: Nyquist 2 or Nyquist 3

Mass flow controllers typically need 0–10 V analog output to set the flow rate plus a 0–5 V or 0–10 V analog input to read back actual flow. NQ2 has both. NQ3 adds differential analog input for ratiometric sensors.

Compare all three Nyquist variants →

Code example

The DAQiFi Python SDK exposes a property-based API. Below is a minimal stream — discover the device, enable an analog-input channel, and print samples at 1 kS/s.

from daqifi import DAQiFiDevice

with DAQiFiDevice.discover_first() as dev:
    dev.channels.ai0.enable()
    for sample in dev.stream(rate_hz=1000):
        print(sample)

For C#, Java, LabVIEW, or Node.js examples, see the open-source stack page or jump straight into the reference example app on GitHub.


← Back to Data Acquisition Wiki  ·  Browse DAQiFi DAQ devices →  ·  Open-source stack →