This project provides an open-source, high-precision solution for measuring air flow in ventilation systems (such as HRV/MVHR units). For approximately €100, you can build an instrument that rivals the accuracy of professional meters costing thousands of euros.
The system consists of two configurations running on the same ESP32 architecture:
The Flow Meter (DUT): Uses an active compensation fan to eliminate its own flow resistance (zero-pressure measurement).
The Test Rig (Reference): A modular 125mm wind tunnel featuring a calibrated Venturi section for reference measurements.
Dit project biedt een open-source, high-precision oplossing voor het meten van luchtdebiet in ventilatiesystemen (zoals WTW-units). Voor circa €100,- bouwt u een instrument dat qua nauwkeurigheid concurreert met professionele meters van duizenden euro's.
Het systeem bestaat uit twee delen die op dezelfde ESP32-basis draaien:
- De Debietmeter: Gebruikt een actieve compensatie-ventilator om de eigen weerstand te elimineren (nuldruk-meting).
- De Testbank: Een modulaire 125mm windtunnel met een gekalibreerde Venturi-sectie voor referentiemetingen.
De schakeling gebruikt twee gescheiden I2C-bussen om adres-conflicten tussen de identieke SDP800 sensoren te voorkomen.
| Component | Functie | ESP32 GPIO | Opmerking |
|---|---|---|---|
| I2C Bus 0 | SDA / SCL | 21 / 22 | BME280, OLED, SDP800 #1 (Referentie) |
| I2C Bus 1 | SDA / SCL | 25 / 26 | SDP800 #2 (Nuldruk sensor) |
| Encoder | CLK / DT / SW | 2, 4, 15 | Bediening menu en kalibratie |
| PWM Fan | Control | 27 | 25kHz PWM signaal naar Arctic Fan |
graph LR
subgraph Controller
ESP[ESP32-WROOM]
end
subgraph Bus_0
ESP --- BME[BME280]
ESP --- OLED[OLED]
ESP --- SDP1[SDP800 #1]
end
subgraph Bus_1
ESP --- SDP2[SDP800 #2]
end
subgraph Output
ESP ---|PWM| Fan[Arctic Fan]
end
De testbank is opgebouwd uit modulaire 125mm secties:
- Inlaat: 500x500mm paneel met Ø125mm ventiel-interface.
- Conditionering: Dubbele honingraat-gelijkrichters voor een laminair flowprofiel.
- Meetkern: Venturi-buis (, ).
- Aandrijving: Arctic S12038-8K server-ventilator (12V).
De nauwkeurigheid van dit systeem komt voort uit real-time compensatie van de luchtdichtheid (
De dichtheid wordt berekend door de partiële drukken van droge lucht en waterdamp op te tellen:
Het debiet door de Venturi wordt berekend via:
Waarin Beta (
Zorg dat de Wire bussen correct worden geïnitialiseerd in de Arduino IDE:
TwoWire I2C_0 = TwoWire(0);
TwoWire I2C_1 = TwoWire(1);
void setup() {
I2C_0.begin(21, 22); // Hoofdbus
I2C_1.begin(25, 26); // Secundaire bus voor nuldruk
}
- Debietmeter: 12V 2A adapter.
- Testbank: 12V 5A adapter (vanwege de krachtige S12038 ventilator).
- Gebruik een kwalitatieve 12V->5V step-down converter voor de ESP32.
- Luchtdichtheid: Controleer of de BME280 de juiste omgevingswaarden geeft.
- Nul-meting: Kalibreer de SDP800 sensoren bij stilstaande lucht.
-
K-factor: Gebruik de testbank om de Discharge Coefficient (
$$C_d$$ ) van uw specifieke 3D-print te bepalen (startwaarde: 0.975).
Dit project is gelicenseerd onder de MIT-licentie. Voel u vrij om het te verbeteren en te delen!
