Bericht 03.11.2021

Am Vortag haben wir bereits drei von vier Sensoren erfolgreich zum Laufen gebracht, allerdings geben wir uns damit noch nicht zufrieden. Da eine Weltraummission hohe Anforderung an die Zuverlässigkeit der Sensoren stellt, haben wir vormittags gleich mehrere Schutzmechanismen zum Sicherstellen des Erfolgs eingebaut:

Bevor die Sonde gestartet wird, muss diese weit transportiert werden und auf die Trägerrakete geladen werden. Dabei können sowohl Sensoren als auch unsere Kabelverbindungen beschädigt werden. Damit die Sonde garantiert voll funktionsfähig startet, enthält jeder unserer Codes einen Selbsttest in der Initialisierung, was bei Problemen das Launch-Team warnt und somit den Start einer Fehlerhaften Sonde verhindert. Im angefügten Bild ist der Selbsttest für einen unserer Sensoren zu sehen, worin wir nebenan in Kommentaren den Ablauf vereinfacht erklären.

Selbsttest eines Sensors

Auch wenn unsere Sonde voll funktionsfähig startet, heißt das noch lange nicht, dass während des Fluges nichts passieren kann. Der Start der Rakete belastet die Konstruktion mit bis zu 20G, und wer nach einer Achterbahnfahrt schonmal Rückenschmerzen hatte weiß, wie viel Schaden auch nur 3G anrichten können. Um das Verhalten defekter Sensoren zu simulieren, haben wir die Verbindungen zu unseren Sensoren gezielt manipuliert und das Verhalten beobachtet. Tatsächlich konnten wir dabei mehrere Fälle ausmachen, in denen ein Defekt unser gesamtes Programm gestoppt hat, da es beispielsweise vergeblich auf die Antwort eines nicht vorhandenen Sensors gewartet hat. Durch das Hinzufügen von maximalen Wartezeiten auf Sensoren wird ein defekter Sensor übersprungen, damit alle anderen Systeme ungestört weiter laufen können.

Parallel wurde vormittags auch noch der letzte Sensor programmiert, was bedeutet dass wir beginnen können, unseren Haupt-Code zu schreiben, welcher all unsere Programme kombiniert. Dies ist notwendig, da ein Microcontroller nicht mehrere Programme gleichzeitig unabhängig voneinander ausführen kann. Um es sehr vereinfacht dazustellen kann man sich den Haupt-Code als das Betriebssystem wie auf einem Computer vorstellen, welches es ermöglicht mehrere Programme gleichzeitig zu starten.

Im unten angefügten Foto des Haupt-Codes rufen wir die Funktionen in unseren individuellen Programmen für die Sensoren ab, welche dank exzellenter Kommunikation innerhalb des Teams alle nach dem gleichen Schema funktionieren und für hervorragende Übersichtlichkeit genormte Namen tragen. Nun haben wir uns daran gemacht, alle Sensoren gleichzeitig anzuschließen, wobei etwas Spaghetti-Kabelnara entstanden ist.

Hier wurden alle Sensoren zum ersten Mal vereint

Zu diesem Zeitpunkt haben sich unsere eingebauten Selbsttests bereits gelohnt, da uns der Controller gemeldet hat, dass der Temperatursensor nicht funktionsfähig ist. Einige Tests haben uns gezeigt, dass der Temperatursensor einwandfrei funktioniert wenn er isoliert läuft, worauf wir innerhalb von wenigen Minuten auf eine Interferenz der Codes am benutzten Anschluss schließen konnten. In sehr geringer Zeit konnten wir somit alle Sensoren in einem Code ansteuern, genau wie es auch in der Mission passiert. Was unser Programm nun noch vom endgültigen Code unterscheidet, ist dass wir alle Werte am Computer angezeigt bekommen, anstatt dass wir diese auf zwei redundanten Speicherkarten dokumentieren.

Haupt-Code. Links die gemessenen Werte, rechts unser Haupt-Programm

Bei genauerem Betrachten fällt außerdem auf, dass die Werte unserer vier Temperatursensoren nicht übereinstimmen. Sobald wir Zugang zu präzisen Messgeräten haben, können wir unsere Sensoren daran kalibrieren.

de_DEDeutsch