build_release.yaml / Build heltec_wifi_lora_32_V3_sailplane (push) Successful in 4m31s
build_release.yaml / Build heltec_wifi_lora_32_V3_skp (push) Successful in 2m53s
build_release.yaml / Build heltec_wifi_lora_32_V3_winde (push) Successful in 3m19s
build_release.yaml / Release (push) Successful in 11s
134 lines
4.5 KiB
Markdown
134 lines
4.5 KiB
Markdown
[](https://gitea.rabe11.de/FCS/Winden-Telemetry/releases)
|
|

|
|
|
|
|
|
# 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](THIRD_PARTY_NOTICES.md); der vollständige Lizenztext
|
|
für den Projektcode steht in [LICENSE](LICENSE).
|
|
|
|
|
|
Übertragung der IAS des Segelflugzeuges an die Winde
|
|
|
|
### Hardware:
|
|
- [Heltec LoRa 32 (V3)](https://heltec.org/project/wifi-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:
|
|
- [x] LORA zum Übertragen
|
|
- [x] Airspeed via differenz Drucksensor
|
|
- [x] Webinterface über eigenen Access Point
|
|
- [x] min/max speed per Webinterface einstellbar
|
|
- [x] Kennzeichen per Webinterface einstellbar
|
|
- [x] maximale Übertragungszeit per Webinterface einstellbar (Standard: 90 Sekunden)
|
|
- [x] Firmware-Upload per Webinterface für beide Firmwarevarianten
|
|
- [x] Analoge Anzeige in der Winde
|
|
- [x] Farbige LEDs für Limits
|
|
- [x] Übertragungszeit Begrenzen
|
|
- [x] 12V-Warnleuchten-Erkennung am Wind-Modul via GPIO 5
|
|
- [x] NMEA-Statusübertragung zum SKP-Modul mit Prefix $PWTLW
|
|
- [x] SKP-Modul mit Relaissteuerung über GPIO 7 und Timeout-Sicherung
|
|
- [x] eigenes SKP-Webinterface mit WLAN- und OTA-Funktionen
|
|
- [x] 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
|
|
|
|

|
|
|
|

|
|
|
|
[Schaltplan](img/Winden_Telemetry_Schematic.pdf)
|
|
|
|
| Bauteil | Modul Segelflugzeug | Modul Winde | Modul SKP |
|
|
| --- |--- |--- |--- |
|
|
| J1 | x | x | x | optional|
|
|
| A1 | x | x | x | optional|
|
|
| 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
|
|
|
|
```mermaid
|
|
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
|
|
|
|
|
|
``` |