# Konfiguration der Füllstandsmessung ## Übersicht Der HC-SR04 Sensor wird **oberhalb des Tanks** montiert und misst die Distanz zur Flüssigkeitsoberfläche. ## Konfigurationsvariablen In [src/main.cpp](src/main.cpp) (Zeile 14-16): ```cpp #define TANK_HEIGHT 180.0 // Tank-Höhe in cm (innen) #define SENSOR_MOUNT_OFFSET 20.0 // Montageabstand: Sensor über Tank-Oberkante in cm #define SENSOR_MIN_DISTANCE 2.0 // HC-SR04 Mindestabstand (technische Grenze) ``` ## Parameter-Erklärung ### 1. TANK_HEIGHT (Tank-Höhe) **Die innere Höhe des Tanks von Boden bis Oberkante.** - **Beispiel**: Tank ist 180 cm hoch → `#define TANK_HEIGHT 180.0` - **Wichtig**: Nur die innere Höhe, ohne Montageabstand! ### 2. SENSOR_MOUNT_OFFSET (Montageabstand) **Der Abstand vom Sensor bis zur Tank-Oberkante.** - **Beispiel**: Sensor ist 20 cm über dem Tank montiert → `#define SENSOR_MOUNT_OFFSET 20.0` - **Warum nötig?**: Sensor kann nicht direkt am Tank befestigt werden, braucht Montageabstand ### 3. SENSOR_MIN_DISTANCE (Mindestabstand) **Technische Grenze des HC-SR04 Sensors (2 cm).** - **Standard**: 2.0 cm (nicht ändern!) - **Zweck**: Warnung wenn Flüssigkeit zu nah am Sensor ist ## Aufbau-Beispiel ``` ↑ | [ HC-SR04 ] | ← Sensor montiert an Decke/Halterung | 20 cm | ← SENSOR_MOUNT_OFFSET | ╔═══════════════╗ ← Tank-Oberkante ║ ║ ║ Flüssigkeit ║ ║ ↕ ║ ← Füllstand (variabel) ║ ║ ║ 180 cm ║ ← TANK_HEIGHT ║ ║ ║ ║ ╚═══════════════╝ ← Tank-Boden ``` ## Berechnung ### Leerer Tank: ``` Gemessene Distanz = SENSOR_MOUNT_OFFSET + TANK_HEIGHT = 20 cm + 180 cm = 200 cm Füllhöhe = 0 cm Füllstand = 0% ``` ### Voller Tank: ``` Gemessene Distanz = SENSOR_MOUNT_OFFSET = 20 cm Füllhöhe = 180 cm (= TANK_HEIGHT) Füllstand = 100% ``` ### Halb voller Tank: ``` Gemessene Distanz = 110 cm Füllhöhe = 200 cm - 110 cm = 90 cm Füllstand = (90 / 180) × 100 = 50% ``` ## Anpassung an Ihre Installation ### Schritt 1: Tank-Höhe messen Messen Sie die **innere Höhe** Ihres Tanks von Boden bis Oberkante. **Beispiel**: 180 cm → `#define TANK_HEIGHT 180.0` ### Schritt 2: Montageabstand messen Messen Sie den Abstand vom Sensor bis zur Tank-Oberkante. **Beispiel**: Sensor 20 cm über Tank → `#define SENSOR_MOUNT_OFFSET 20.0` ### Schritt 3: Code hochladen und testen 1. Bei **leerem Tank**: - Display sollte **0%** anzeigen - Serial Monitor zeigt Füllhöhe: 0 cm 2. Bei **vollem Tank**: - Display sollte **100%** anzeigen - Serial Monitor zeigt Füllhöhe: 180 cm (= TANK_HEIGHT) 3. Falls nicht korrekt: - Überprüfen Sie TANK_HEIGHT und SENSOR_MOUNT_OFFSET - Passen Sie die Werte an ## Fehlerdiagnose ### Problem: Füllstand zeigt negative Werte oder 0% bei halbvollem Tank **Ursache**: SENSOR_MOUNT_OFFSET oder TANK_HEIGHT falsch konfiguriert **Lösung**: 1. Messen Sie die tatsächliche Distanz bei leerem Tank 2. Berechnen Sie: `SENSOR_MOUNT_OFFSET + TANK_HEIGHT = gemessene Distanz` 3. Passen Sie die Werte entsprechend an ### Problem: Füllstand zeigt über 100% **Ursache**: Tank ist voller als erwartet oder TANK_HEIGHT zu klein **Lösung**: 1. Überprüfen Sie TANK_HEIGHT 2. Code begrenzt automatisch auf max. 100% ### Problem: "WARNUNG: Flüssigkeit zu nah am Sensor!" **Ursache**: Flüssigkeit ist näher als SENSOR_MOUNT_OFFSET + SENSOR_MIN_DISTANCE **Lösung**: - Normal bei sehr vollem Tank (>95%) - Sensor evtl. höher montieren wenn Warnung bei 100% auftritt ## Beispiel-Konfigurationen ### Kleiner Tank (100 cm, Sensor 10 cm darüber) ```cpp #define TANK_HEIGHT 100.0 #define SENSOR_MOUNT_OFFSET 10.0 ``` ### Mittelgroßer Tank (180 cm, Sensor 20 cm darüber) ```cpp #define TANK_HEIGHT 180.0 #define SENSOR_MOUNT_OFFSET 20.0 ``` ### Großer Tank (300 cm, Sensor 30 cm darüber) ```cpp #define TANK_HEIGHT 300.0 #define SENSOR_MOUNT_OFFSET 30.0 ``` ## Kalibrierung ### Methode 1: Bei leerem Tank 1. Entleeren Sie den Tank komplett 2. Laden Sie den Code hoch und notieren Sie die gemessene Distanz 3. Berechnen Sie: `TANK_HEIGHT = gemessene Distanz - SENSOR_MOUNT_OFFSET` ### Methode 2: Bei vollem Tank 1. Füllen Sie den Tank komplett (bis Oberkante) 2. Laden Sie den Code hoch und notieren Sie die gemessene Distanz 3. Diese Distanz = SENSOR_MOUNT_OFFSET ### Methode 3: Mit Maßband 1. Messen Sie TANK_HEIGHT mit Maßband (innere Höhe) 2. Messen Sie SENSOR_MOUNT_OFFSET mit Maßband (Sensor bis Tank-Oberkante) 3. Tragen Sie beide Werte ein ## Genauigkeit - **HC-SR04 Genauigkeit**: ±0.3 cm - **Messbereich**: 2 cm - 400 cm - **Empfohlener Tank-Bereich**: 50 cm - 300 cm - **Messintervall**: 30 Sekunden (konfigurierbar via `TX_INTERVAL`)