... | ... | @@ -93,6 +93,8 @@ Nach ungefähr zehn Sekunden ist der Moving Average Filter in der Webapp mit Wer |
|
|
|
|
|
Der Standardwert des Kalibrierfaktors ist speizifisch für unsere Kombination aus Messverstärker und Wägezelle. Wenn jedoch eine andere Kombination benutzt wird, muss ein neuer Faktor bestimmt werden:
|
|
|
|
|
|
{width="146" height="303"}
|
|
|
|
|
|
1. Auflegen des ersten bekannten Gewichts
|
|
|
2. Eintragen des bekannten Gewichts in gramm im ersten Feld ("weight 1 \[g\]")
|
|
|
3. 10 Sekunden warten
|
... | ... | @@ -103,11 +105,9 @@ Der Standardwert des Kalibrierfaktors ist speizifisch für unsere Kombination au |
|
|
|
|
|
Für eine spätere Verwendung des Wertes bietet es sich an diesen zu notieren
|
|
|
|
|
|
{width="146" height="303"}
|
|
|
|
|
|
**Parameter einer Messung einstellen**
|
|
|
|
|
|
Im ersten Feld wird der Dateinam eingtragen
|
|
|
Im ersten Feld wird der Dateiname eingtragen
|
|
|
|
|
|
Das erste Drop-Down-Menü beinhaltet eine Auswahl an Motoren und eine letzte Option "other", wenn der Motor auf dem Prüfstand nicht aufgelistet ist.
|
|
|
|
... | ... | @@ -121,12 +121,32 @@ Falls einem nach mehr prosa zu Mute ist, kann man untersten Feld einen Kommentar |
|
|
|
|
|
**Starten/Stoppen von Messungen**
|
|
|
|
|
|
Zum Starten einer Messung müssen folgende Dinge erfüllt sein, dass der "start" Button aktiviert ist:
|
|
|
1. Eine SD Karte ist eingelegt
|
|
|
2. Der Haken neben "armed" ist gesetzt
|
|
|
|
|
|
Während einer Messung wir oben rechts in der Leiste anstatt "idle", "measuring" angezeigt.
|
|
|
Außerdem sind die alle Buttons auf der "Home"-Seite deaktiviert.
|
|
|
|
|
|
Zum Stoppen der Messung muss der "stop" Button gedrückt werden. Dieser tritt an die selbe Stelle wie der "start" Button. Im Anschluss sind die aufgenommenen Daten auf der "Data"-Seite einsehbar.
|
|
|
|
|
|
**Daten auf der SD-Karte**
|
|
|
|
|
|
Es wird eine Liste aller verfügbaren Dateien im "/measure" Unterordner der SD Karte angezeigt. Die Liste wird auf Basis der vorhanden .json Dateien erstellt und berücksichtigt nicht, ob eine csv Datei vorhanden ist.
|
|
|
In jeder Zeile steht ein Button "view" zur Verfügung, der eine Vorschau der aufgenommenen Messdaten ermöglicht. Da es vorkommen kann, dass man den Raketenmotor in negativer Kraftrichtung eingespannt hat, steht auch ein Button "invert" zum invertieren der Werte zur Verfügung. Der maximale Wert der Messung wird auch errechnet und dargestellt. Als letzes steht auch noch ein Button zum herunterladen der Daten zur Verfügung.
|
|
|
Die CSV Datei hat folgendes Format:
|
|
|
|
|
|
```csv
|
|
|
time [ms], force [N], raw values from HX711
|
|
|
```
|
|
|
|
|
|
**Info-Panel**
|
|
|
|
|
|
{width="111" height="232"}
|
|
|
|
|
|
Über den blauen Button mit "i" in der obersten Leiste kann das Info-Panel geöffnet werden.
|
|
|
Hier kann man die Verbindung zur Steuerung erneut herstellen ("reconnect" Button) oder mit "reset" den Microcontroller neu starten.
|
|
|
|
|
|
### Messungen
|
|
|
|
|
|
Vor jeder Messreihe:
|
... | ... | @@ -147,7 +167,7 @@ Ablauf einer Messung: |
|
|
7. Messung starten
|
|
|
8. Anzünden
|
|
|
9. Nach ausbrennen: Messung stoppen
|
|
|
10. Motor vorsichtig (kann heiß sein!) aus Spannvorrrichtung entfernen
|
|
|
10. Motor vorsichtig (kann heiß sein!) aus Spannvorrichtung entfernen
|
|
|
|
|
|
## Meilensteine
|
|
|
|
... | ... | @@ -350,6 +370,29 @@ Das Design der Software in Kombination mit dem des Prüfstands hat es uns ermög |
|
|
|
|
|
Zwischen der vorher beschrieben Messreihe und dem Launch Day wurden nur wenige Änderungen vorgenommen. Die Buttons auf der Webapp waren zu klein und wurden größer gemacht und eine Routine hinzugefügt, welche ein Starten der Messung verhindert, wenn keine SD-Karte eingelegt ist.
|
|
|
|
|
|
### API
|
|
|
|
|
|
Aufgabe der API ist es, eine definierte Schnittstelle zwischen der Steuerung und einem Client (z.B. Webapp) zur Verfügung zu stellen. Die API ist so aufgebaut, dass sie über HTTP-Requests angesprochen wird und JSON-Daten aufnimmt und oder zurückgibt. Hier ein kurzer Überblick über die Endpunkte der API:
|
|
|
|
|
|
| Endpoint | Methode | Kurzbeschreibung |
|
|
|
|-----------------------|-----------|-----------------------------------------------------------------------------------|
|
|
|
| `/api/v1/state` | GET | Retrieve the current state of the controller. |
|
|
|
| `/api/v1/live` | GET | Retrieve live data from the controller. |
|
|
|
| `/api/v1/calib` | GET, PUT | Get or update calibration data. |
|
|
|
| `/api/v1/measure` | GET, PUT | Get or update measurement information. |
|
|
|
| `/api/v1/data` | GET | Retrieve data files. |
|
|
|
| `/api/v1/data/{filename}` | GET | Retrieve specific data file by filename. |
|
|
|
| `/plot/{filename}` | GET | Retrieve plot data for a specific file. |
|
|
|
| `/download/{filename}`| GET | Download a specific file as CSV. |
|
|
|
| `/start` | GET | Send a start signal to begin measurement. |
|
|
|
| `/stop` | GET | Send a stop signal to end the measurement. |
|
|
|
| `/sd/mount` | GET | Mount the SD card. |
|
|
|
| `/sd/unmount` | GET | Unmount the SD card. |
|
|
|
| `/reset` | GET | Reset the controller board. |
|
|
|
|
|
|
|
|
|
Eine genauere Definition der API befindet sich im repsoitory und ist in der Datei swagger.yaml (unter: __RocketMotorTestCenter(r.m.t.c.)/Software/Webapp__) zu finden. [editor.swagger.io](https://editor.swagger.io) bietet eine gute und einfache Möglichkeit, die API zu visualisieren und zu bearbeiten. Falls man bestimmte Aspekte der API testen will, empfiehlt es sich die Code Extension [OpenAPI (Swagger) Editor](https://marketplace.visualstudio.com/items?itemName=42Crunch.vscode-openapi) zu benutzen.
|
|
|
|
|
|
## Messtechnik ( author: @stcomosc )
|
|
|
|
|
|
### Anforderungen
|
... | ... | |