Θα αφήνατε ανοιχτό τον υπολογιστή σας για μια ολόκληρη εβδομάδα; Για 8 μήνες ενώ είστε 400 χλμ. μακριά; Αν και οι ηλεκτρονικές συσκευές ποτέ δε θα χρειαστεί να μείνουν ενεργοποιημένες για τόσο μεγάλο διάστημα, ένας δορυφόρος θα πρέπει να αντέξει τη μοναξιά του σύμπαντος για πολύ καιρό – δεν γίνεται απλά να κάνει restart όταν χαλάσει!

Αυτή είναι μια από τις πολλές αρμοδιότητες του υποσυστήματος OBC (On Board Computer – Υπολογιστής “επί σκάφους”). Θα μπορούσαμε να πούμε πως το OBC είναι ο “εγκέφαλος” του δορυφόρου – ο υπολογιστής υπεύθυνος για όλες τις ενέργειές του, από το να διαβάζει αισθητήρες θερμοκρασίας και να ελέγχει αν τα πάντα λειτουργούν όπως πρέπει, μέχρι το να γράφει δεδομένα στη μνήμη και να καταγράφει τα σφάλματα.

Βέβαια, με τη λέξη υπολογιστής, δεν αναφερόμαστε σε κάτι σχετικό με τους υπολογιστές που υπάρχουν σε κάθε σπίτι! Στους τελευταίους υπάρχουν χιλιάδες ακριβά κομμάτια, σχεδιασμένα ώστε να δίνουν τις πιο γρήγορες επιδόσεις. Αντιθέτως, στο CubeSat μας θα σχεδιάσουμε ένα λεγόμενο “ενσωματωμένο σύστημα” με στόχους τη μικρή κατανάλωση ισχύος και την υψηλή αξιοπιστία. Το OBC θα ξοδεύει λιγότερο από το 0.1% της ισχύος ενός οικιακού υπολογιστή, και θα έχει λιγότερα από 10 MB μνήμης RAM. Αν και αυτό θεωρείται ελάχιστο στον 21ο αιώνα, θα είναι παραπάνω από αρκετό για να διαχειριστεί όλες τις λειτουργίες του δορυφόρου!

Αριστερά: Προγραμματισμός του CubeSat mockup. Δεξιά: Ένας από τους μικροελεγκτές που θα χρησιμοποιηθούν στο δορυφόρο.

Το OBC θα αποτελείται από ένα δίκτυο 4 ή περισσότερων μικροελεγκτών (ένας για κάθε υποσύστημα) που θα βασίζονται στη γνωστή αρχιτεκτονική ARM, και θα χρησιμοποιούν την τεχνολογία CAN για να επικοινωνούν μεταξύ τους. Γίνεται προγραμματισμός τους στις γλώσσες C και C++, ενώ το λογισμικό θα τρέχει στο λειτουργικό σύστημα FreeRTOS. Αυτό δε μοιάζει με τα γνωστά μας Windows και Linux, αλλά είναι ένα λειτουργικό σύστημα πραγματικού χρόνου. Δεν έχει κάποιο όμορφο γραφικό περιβάλλον, αλλά σχεδιάστηκε για να είναι ταχύ και αξιόπιστο χωρίς να κολλάει. (Δεν υπάρχει χώρος για Μπλε Οθόνες του Θανάτου εδώ!)

Μερικές από τις τυπικές αρμοδιότητες του OBC θα είναι:

  • Ανάγνωση δεδομένων από αισθητήρες (όπως θερμοκρασίας, πίεσης, επιτάχυνσης, …)
  • Αποθήκευση δεδομένων σε κάρτες μνήμης SD
  • Ανάγνωση και εκτέλεση εντολών που στέλνονται από τη Γη
  • Αυτόματη εκτέλεση προγραμματισμένων εντολών
  • Έλεγχος για τυχόν σφάλματα στα υποσυστήματα του δορυφόρου
  • Επεξεργασία και συμπίεση δεδομένων
  • Ενημέρωση του κώδικα των μικροελεγκτών, σε περίπτωση που χρειάζονται διορθώσεις μετά την εκτόξευση
  • Προετοιμασία της τηλεμετρίας του δορυφόρου για αποστολή στη Γη από το υποσύστημα Communications

Προγραμματισμός μικροελεγκτών σε γλώσσα C

Όπως είχαμε αναφέρει, το διάστημα είναι ένα αφιλόξενο μέρος, οπότε πρέπει να είμαστε έτοιμοι για οτιδήποτε που μπορεί να πάει στραβά στην τροχιά. Στην Τεχνική Παρουσίαση της 6ης Μαρτίου, θα έχετε τη δυνατότητα να μάθετε για πολλές από τις τεχνικές που χρησιμοποιούμε με στόχο την κατασκευή ενός αξιόπιστου, έτοιμου για πτήση συστήματος που ικανοποιεί τις απαιτήσεις εκτόξευσης: Πολλές δοκιμές & τεκμηρίωση, έλεγχοι κώδικα, στατική καταχώρηση μνήμης, προστασία σε hardware, διεθνή space standards (ECSS).

On-Board Computer Team (Thodoris, Dimitris, Konstantinos, Grigoris, Thanasis)

Η υπο-ομάδα του OBC αποτελείται από 5 μέλη, προπτυχιακούς φοιτητές του Αριστοτελείου Πανεπιστημίου Θεσσαλονίκης. Ο Κωνσταντίνος, ο Θοδωρής και ο Γρηγόρης βρίσκονται στο Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών, ο Δημήτρης στο Τμήμα Φυσικής, και ο Θανάσης στο Τμήμα Πληροφορικής. Αυτήν τη στιγμή, ο Κωνσταντίνος σχεδιάζει ένα λογικό κύκλωμα σε FPGA για διόρθωση σφαλμάτων σε δεδομένα, ο Θοδωρής αναπτύσσει κώδικα για τη μέτρηση του χρόνου εντός του CubeSat, ο Γρηγόρης γράφει κώδικα για τη σύνδεση των ασύρματων πομποδεκτών με τους μικροελεγκτές, ο Θανάσης αναπτύσσει ένα σύστημα που πραγματοποιεί αυτόματες ενέργειες που προκαλούνται από άλλα συμβάντα, και ο Δημήτρης δουλεύει στον χρονο-προγραμματισμό εντολών που στέλνονται από τη Γη.

Κατηγορίες: CubeSat