Winden-Telemetry
Aktuelle Version: v0.1.0
Der eigene Projektcode steht unter der MIT-Lizenz. Die verwendeten Drittanbieterbibliotheken bleiben unter ihren jeweiligen Original-Lizenzen. Eine Übersicht der Komponenten, Versionen und Lizenzbedingungen steht in THIRD_PARTY_NOTICES.md; der vollständige Lizenztext für den Projektcode steht in LICENSE.
Übertragung der IAS des Segelflugzeuges an die Winde
Hardware:
- Heltec LoRa 32 (V3)
- SG90 Servo
- MS4525 differenz Drucksensor
- 12 LED Ring WS2812b 50mm
- BMP180 Temperatur und Luftdrucksensor
- DC-DC Step Down Wandler 3A MP1584
- Relais
Features:
- LORA zum Übertragen
- Airspeed via differenz Drucksensor
- Webinterface über eigenen Access Point
- min/max speed per Webinterface einstellbar
- Kennzeichen per Webinterface einstellbar
- maximale Übertragungszeit per Webinterface einstellbar (Standard: 90 Sekunden)
- Firmware-Upload per Webinterface für beide Firmwarevarianten
- Analoge Anzeige in der Winde
- Farbige LEDs für Limits
- Übertragungszeit Begrenzen
- 12V-Warnleuchten-Erkennung am Wind-Modul via GPIO 5
- NMEA-Statusübertragung zum SKP-Modul mit Prefix $PWTLW
- SKP-Modul mit Relaissteuerung über GPIO 7 und Timeout-Sicherung
- eigenes SKP-Webinterface mit WLAN- und OTA-Funktionen
- Luftdrucksensor für Höhe und Vario
Webinterface und Firmware-Update
Beide Firmwarevarianten starten einen eigenen WLAN-Access-Point. Der
voreingestellte WLAN-Name ist bei Sailplane Sailplane-D1234 und bei der
Winde Winde-Telemetry.
- Passwort:
telemetry - Webadresse:
http://192.168.4.1/
Im Webinterface lassen sich die WLAN-Einstellungen verwalten. Je nach Modul werden nur die tatsächlich genutzten Werte angezeigt. Die Werte bleiben nach einem Neustart erhalten. Das Sailplane-Modul verwendet sie für Telemetrie und Schlepp-Erkennung, während die Wind- und SKP-Module die passenden Betriebswerte für ihren jeweiligen Betrieb übernehmen.
Für ein Firmware-Update die passende .bin-Datei aus .pio/build/<environment>/
auswählen. Nach einem erfolgreichen Upload startet das Gerät automatisch neu.
Aufbau
Pin Layout Heltec WiFi LoRa (v3)
Anschlusszuordnung
| Heltec WiFi LoRa (v3) Pin | MP1584 | SG90 Pin | BMP180 Pin | MS4525 Pin | LED Ring Pin |
|---|---|---|---|---|---|
| GND | OUT - | GND | GND | GND | GND |
| 3.3 V | VCC | VCC | VCC | ||
| GPIO 6 | IN | ||||
| GPIO 7 | 1 PWM (Orange) | ||||
| GPIO19 | SDA | SDA | |||
| GPIO20 | SCL | SCL | |||
| 5V | OUT + | VCC |
PCB
Die Platine ist so gestaltet das sie individuell bestückt werden kann, je nach Verwendung
| Bauteil | Modul Segelflugzeug | Modul Winde | Modul SKP |
|---|---|---|---|
| J1 | x | x | x |
| A1 | x | x | x |
| I2C_1 | MS4525 | optional | optional |
| I2C_2 | BMP180 | optional | optional |
| I2C_3 | optional | optional | optional |
| I2C_4 | optional | optional | optional |
| GPIO3 | optional | optional | optional |
| GPIO4 | optional | optional | optional |
| GPIO5 | optional | Eingang Warnleuchte | optional |
| GPIO6 | optional | LED Ring | optional |
| GPIO7 | optional | Servo | Relaissteuerung |
Programmablauf Segelflugzeug
flowchart TD
A(["Start"])
A --> B{"ist Senden an?"}
B --> | Ja | C{"Sende Timer <90 sec"}
I --> | Nein | E{"is airborn?"}
C --> | Nein | F["Sende Schleppen komplett"] -->G["is airborn=true"] -->L["Lowspeedtimer = 0"]
C --> | Ja | D["Sende Speed"]
D --> Z["Warte 1 Sekunde"]
L ----> H["Senden aus"] -->Z
Z --> B
B --> | nein | I{"Speed < 30 km/h"}
E --> | nein |J["Senden an"] -->P["Start Sendetimer"] --> D
I --> | ja| K["Lowspeedtimer + 1"]
K --> M{"lowspeedtimer >90"}
M --> | ja | N["is airborn=false"] --> Z
M --> | nein | Z
E --> | ja |O["Lowspeedtimer = 0"] --> Z



