Πίνακας περιεχομένων:
- Βήμα 1: Συγκέντρωση υλικών/σκιαγράφηση του CubeSat
- Βήμα 2: Χτίζοντας το Cubesat
- Βήμα 3: Καλωδίωση και κωδικοποίηση του Arduino
- Βήμα 4: Έλεγχος στο Cubesat
- Βήμα 5: Στοίχιση του CubeSat
- Βήμα 6: Το Swing Test
- Βήμα 7: Δοκιμή #2- Δοκιμή ανακίνησης
- Βήμα 8: Αποτελέσματα/Ολοκληρωμένη θερμοκρασία CubeSat
Βίντεο: Θερμοκρασία CubeSat Ben & Kaiti & Q Hour 1: 8 Βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:32
Θέλατε ποτέ να φτιάξετε μόνοι σας κάτι που μπορεί να σταλεί στο διάστημα και να μετρήσει τη θερμοκρασία ενός άλλου πλανήτη; Στο μάθημα φυσικής του Λυκείου, μας ανατέθηκε να φτιάξουμε ένα CubeSat με λειτουργικό arduino με την κύρια ερώτηση Πώς μπορούμε να το κάνουμε αυτό στον Άρη; Αποφασίσαμε να το μετρήσουμε τη θερμοκρασία στον πλανήτη, γιατί ποιος δεν θα ήθελε να μάθει πόσο καυτός είναι ο Άρης; Ωστόσο, έπρεπε να το κάνουμε από κάτι προσιτό, αλλά και ανθεκτικό. Ως εκ τούτου, χρησιμοποιήσαμε το Legos. Αυτό έκανε το CubeSat ανθεκτικό και μας βοήθησε να φτάσουμε στις διαστάσεις μεγέθους αρκετά εύκολα-ακόμα κι αν όλα τα κομμάτια είναι λίγο ενοχλητικά! Ο στόχος μας ήταν να έχουμε έναν πλήρως λειτουργικό αισθητήρα που μπορεί να μετρήσει τη θερμοκρασία της γύρω περιοχής και ένα προστατευτικό CubeSat γύρω του.
Βήμα 1: Συγκέντρωση υλικών/σκιαγράφηση του CubeSat
Το πρώτο πράγμα που θέλετε να κάνετε είναι να σχεδιάσετε το CubeSat. Θα χρειαστεί να έχετε μια ιδέα για το τι θέλετε να χτίσετε πριν το χτίσετε. Μία από τις παραπάνω εικόνες είναι τα σκίτσα του CubeSat που φτιάξαμε. Στη συνέχεια, συγκεντρώστε τα υλικά σας. Για το CubeSat που χτίζουμε, χρησιμοποιούμε τα Legos. Επιλέξαμε τα Legos επειδή είναι εύκολο να συναρμολογηθούν και να συνδυαστούν και ταυτόχρονα είναι ανθεκτικά και θα εκτελέσουν καλά τις απαιτούμενες εργασίες. Έτσι, θα χρειαστεί να πάρετε μερικά Legos. πάρτε ένα ζευγάρι πλατιά κομμάτια βάσης, που είναι 10cm X 10 cm X 10 cm, ή μερικά κομμάτια βάσης που μπορούν να συνδυαστούν σε ένα 10 με 10 κομμάτι. Για το CubeSat, έπρεπε να πάρουμε πολλά κομμάτια βάσης και να τα βάλουμε μαζί για να φτιάξουμε μια βάση 10 εκατοστά επί 10 εκατοστά. Θα χρειαστεί επίσης να πάρετε τα Legos για να φτιάξετε ένα κομμάτι οροφής στο ίδιο μέγεθος. Αφού αποκτήσετε αυτά τα Legos, θα χρειαστεί να πάρετε έναν τόνο μικρών Legos για να χτίσετε τους τοίχους του CubeSat. Βεβαιωθείτε ότι αυτά τα Legos είναι αρκετά αδύνατα, ώστε να μην καταλαμβάνουν πολύ το εσωτερικό του CubeSat.
Βήμα 2: Χτίζοντας το Cubesat
Αρχικά, χτίσαμε αυτήν την ομορφιά 10x10x10. Χρειάστηκαν πολλά διαφορετικά σχέδια. Πρώτα είχαμε ένα ράφι στη μέση, αλλά αργότερα αποφασίσαμε ότι ήταν περιττό να έχουμε. Εάν επιλέξετε να έχετε ένα ράφι στη μέση, θα συνιστούσα μόνο ένα ράφι γιατί θα πρέπει να το χωρίζετε κάθε φορά που βάζετε και βγάζετε το Arduino και τον αισθητήρα σας. Προσθέσαμε μικρά παράθυρα για να μπορούμε να ρίξουμε μια γρήγορη ματιά στο εσωτερικό, ενώ η κορυφή είναι κλειστή, ώστε να βλέπουμε τα πάντα να λειτουργούν ομαλά. Για να γίνει το CubeSat πιο σταθερό, βάζουμε μαζί δύο στρώσεις Lego στο κάτω μέρος. Όσο πιο σταθερός τόσο το καλύτερο, γιατί αυτό το CubeSat θα πρέπει να μπορεί να επιβιώσει από πολλά διαφορετικά εμπόδια.
Βήμα 3: Καλωδίωση και κωδικοποίηση του Arduino
Το δεύτερο βήμα αυτού του έργου είναι όπου θα χρειαστεί να συνδέσετε το arduino. Αυτό το βήμα είναι πολύ σημαντικό, διότι, αν αυτό δεν γίνει σωστά, τότε ο κύβος δεν θα μπορεί να διαβάσει τη θερμοκρασία. Για να ολοκληρώσετε την καλωδίωση του arduino, θα χρειαστείτε μερικά υλικά. Αυτά τα υλικά είναι μια μπαταρία, arduino, μια κάρτα SD, καλώδια jumper, ένα breadboard, ένας αισθητήρας θερμοκρασίας και ένας υπολογιστής. Ο υπολογιστής θα χρησιμοποιηθεί για να δει εάν η καλωδίωση λειτουργεί σωστά. Εδώ είναι ένας ιστότοπος που ήταν πολύ χρήσιμος για να μας καθοδηγήσει πώς να συνδέσουμε το arduino:
create.arduino.cc/projecthub/TheGadgetBoy/…
Οι παραπάνω εικόνες και το διάγραμμα που μπορεί να σας βοηθήσουν μπορεί επίσης να σας βοηθήσουν. Η κωδικοποίηση του arduino θα δοκιμαστεί επίσης στον υπολογιστή για να διαπιστωθεί εάν λειτουργεί. Εάν όλα λειτουργούν, τότε το arduino μπορεί να αφαιρεθεί από τον υπολογιστή και είναι έτοιμο.
Κώδικας:
// Το καλώδιο δεδομένων είναι συνδεδεμένο στη θύρα 2 του Arduino
#define ONE_WIRE_BUS 2
Αισθητήρας αρχείων Δεδομένα;
// Ρύθμιση ενός στιγμιότυπου oneWire για επικοινωνία με οποιεσδήποτε συσκευές OneWire (όχι μόνο ICs θερμοκρασίας Maxim/Dallas)
OneWire oneWire (ONE_WIRE_BUS).
// Συμπεριλάβετε τις βιβλιοθήκες που χρειαζόμαστε
#περιλαμβάνω
#περιλαμβάνω
#περιλαμβάνω
// Περάστε την αναφορά μας στο OneWire στη θερμοκρασία του Ντάλας.
Αισθητήρες θερμοκρασίας Dallas (& oneWire);
// συστοιχίες για τη διατήρηση της διεύθυνσης της συσκευής
DeviceAddress insideThermometer;
/*
* Λειτουργία εγκατάστασης. Εδώ κάνουμε τα βασικά
*/
void setup (void)
{
pinMode (10, OUTPUT);
SD.αρχή (4);
// έναρξη σειριακής θύρας
Serial.begin (9600);
Serial.println ("Επίδειξη βιβλιοθήκης ελέγχου ελέγχου θερμοκρασίας Ντάλας");
// εντοπίστε συσκευές στο δίαυλο
Serial.print ("Εντοπισμός συσκευών …");
sensors.begin ();
Serial.print ("Βρέθηκε");
Serial.print (sensors.getDeviceCount (), DEC);
Serial.println ("συσκευές.");
// αναφορά απαιτήσεων παρασιτικής ισχύος
Serial.print ("Η ισχύς των παρασίτων είναι:");
if (sensors.isParasitePowerMode ()) Serial.println ("ON");
else Serial.println ("OFF");
/*Εκχώρηση διεύθυνσης με μη αυτόματο τρόπο. Οι παρακάτω διευθύνσεις πρέπει να αλλάξουν
σε έγκυρες διευθύνσεις συσκευής στο λεωφορείο σας. Η διεύθυνση της συσκευής μπορεί να ανακτηθεί
χρησιμοποιώντας είτε το oneWire.search (deviceAddress) είτε μεμονωμένα μέσω
sensors.getAddress (deviceAddress, index) Σημειώστε ότι θα χρειαστεί να χρησιμοποιήσετε τη συγκεκριμένη διεύθυνσή σας εδώ
εσωτερικόΘερμόμετρο = {0x28, 0x1D, 0x39, 0x31, 0x2, 0x0, 0x0, 0xF0};
Μέθοδος 1:
Αναζητήστε συσκευές στο δίαυλο και εκχωρήστε με βάση ένα ευρετήριο. Ιδανικά, θα το κάνατε για να ανακαλύψετε αρχικά διευθύνσεις στο λεωφορείο και στη συνέχεια
χρησιμοποιήστε αυτές τις διευθύνσεις και εκχωρήστε τις με μη αυτόματο τρόπο (δείτε παραπάνω) μόλις το μάθετε
τις συσκευές στο λεωφορείο σας (και αν υποθέσουμε ότι δεν αλλάζουν).
*/ if (! sensors.getAddress (insideThermometer, 0)) Serial.println ("Δεν είναι δυνατή η εύρεση διεύθυνσης για τη συσκευή 0");
// μέθοδος 2: αναζήτηση ()
// search () αναζητά την επόμενη συσκευή. Επιστρέφει 1 εάν έχει υπάρξει νέα διεύθυνση
// Επέστρεψαν. Ένα μηδέν μπορεί να σημαίνει ότι το λεωφορείο είναι βραχυκυκλωμένο, δεν υπάρχουν συσκευές, // ή τα έχετε ήδη ανακτήσει όλα. Mightσως είναι καλή ιδέα να
// ελέγξτε το CRC για να βεβαιωθείτε ότι δεν έχετε πάρει σκουπίδια. Η παραγγελία είναι
// ντετερμινιστική. Θα έχετε πάντα τις ίδιες συσκευές με την ίδια σειρά
//
// Πρέπει να κληθεί πριν από την αναζήτηση ()
//oneWire.reset_search ();
// εκχωρεί την πρώτη διεύθυνση που βρέθηκε στο εσωτερικόThermometer
// if (! oneWire.search (insideThermometer)) Serial.println ("Δεν μπορώ να βρω διεύθυνση για εσωτερικό θερμόμετρο");
// δείξτε τις διευθύνσεις που βρήκαμε στο λεωφορείο
Serial.print ("Διεύθυνση συσκευής 0:");
printAddress (μέσα στο θερμόμετρο);
Serial.println ();
// ορίστε την ανάλυση στα 9 bit (Κάθε συσκευή Dallas/Maxim είναι ικανή για πολλές διαφορετικές αναλύσεις)
sensors.setResolution (εσωτερικόΘερμόμετρο, 9);
Serial.print ("Ανάλυση συσκευής 0:");
Serial.print (sensors.getResolution (insideThermometer), DEC);
Serial.println ();
}
// λειτουργία εκτύπωσης της θερμοκρασίας για μια συσκευή
void printTemperature (DeviceAddress deviceAddress)
{
// μέθοδος 1 - πιο αργή
//Serial.print("Temp C: ");
//Serial.print(sensors.getTempC(deviceAddress));
//Serial.print ("Temp F:");
//Serial.print(sensors.getTempF(deviceAddress)); // Κάνει μια δεύτερη κλήση στο getTempC και στη συνέχεια μετατρέπεται σε Φαρενάιτ
// μέθοδος 2 - ταχύτερη
float tempC = sensors.getTempC (deviceAddress);
εάν (tempC == DEVICE_DISCONNECTED_C)
{
Serial.println ("Σφάλμα: Δεν ήταν δυνατή η ανάγνωση δεδομένων θερμοκρασίας");
ΕΠΙΣΤΡΟΦΗ;
}
sensorData = SD.open ("log.txt", FILE_WRITE);
αν (sensorData) {
Serial.print ("Temp C:");
Serial.print (tempC);
Serial.print ("Temp F:");
Serial.println (DallasTemperature:: toFahrenheit (tempC)); // Μετατρέπει το tempC σε Φαρενάιτ
sensorData.println (tempC);
sensorData.close ();
}
}
/*
* Κύρια λειτουργία. Θα ζητήσει το tempC από τους αισθητήρες και θα εμφανιστεί στο Serial.
*/
κενός βρόχος (κενός)
{
// κλήση αισθητήρων.requestTemperatures () για την έκδοση παγκόσμιας θερμοκρασίας
// αίτημα σε όλες τις συσκευές του διαύλου
Serial.print ("Ζητώντας θερμοκρασίες …");
sensors.requestTemperatures (); // Στείλτε την εντολή για να λάβετε θερμοκρασίες
Serial.println ("DONE");
// Απαντά σχεδόν αμέσως. Ας εκτυπώσουμε τα δεδομένα
printTemperature (μέσα στο θερμόμετρο); // Χρησιμοποιήστε μια απλή συνάρτηση για να εκτυπώσετε τα δεδομένα
}
// λειτουργία εκτύπωσης διεύθυνσης συσκευής
void printAddress (DeviceAddress deviceAddress)
{
για (uint8_t i = 0; i <8; i ++)
{
if (deviceAddress <16) Serial.print ("0");
Serial.print (deviceAddress , HEX);
}
}
ReplyForward
Βήμα 4: Έλεγχος στο Cubesat
Τώρα που ολοκληρώθηκε το CubeSat, ο κωδικός και η καλωδίωση του Arduino, θα εκτελέσετε δοκιμές σύντομα. Εάν αυτές οι δοκιμές αποτύχουν, το CubeSat θα μπορούσε ενδεχομένως να καταστραφεί εντελώς, μαζί με το Arduino σας. Επομένως, θα θέλετε να βεβαιωθείτε ότι το Arduino σας είναι έτοιμο για αυτό. Εκεί έρχεται να παίξει αυτό το βήμα, ελέγχοντας το CubeSat. Πρώτον, θα πρέπει να τοποθετήσετε το Arduino σας με ασφάλεια μέσα στο CubeSat και να βεβαιωθείτε ότι δεν θα τριγυρίζει. Στη συνέχεια, θα πρέπει να βεβαιωθείτε ότι όλα τα κομμάτια του CubeSat είναι ασφαλώς στη θέση τους. Δεν μπορεί να υπάρχουν χαλαρά κομμάτια, διαφορετικά το CubeSat θα είναι πιο πιθανό να διαλυθεί κατά τη διάρκεια των δοκιμών. Εάν ελέγχετε σταθερά το CubeSat, τότε οι δοκιμές που περνά θα πρέπει να περάσουν εύκολα.
Βήμα 5: Στοίχιση του CubeSat
Αυτό το βήμα θα είναι προετοιμασία για την πρώτη δοκιμή που θα περάσει το CubeSat. Στη δοκιμή, το CubeSat θα περιστρέφεται με γρήγορο ρυθμό σε κύκλο για 30 δευτερόλεπτα. Θα πρέπει να βεβαιωθείτε ότι το CubeSat είναι σφιχτά σφιγμένο για να μην πετάξει. Δέσαμε 2 χορδές εντελώς γύρω από το CubeSat και τις δέσαμε σφιχτά. Στη συνέχεια, προσθέσαμε μια άλλη μεγάλη χορδή, που ήταν δεμένη γύρω από τις δύο πρώτες. Δέσαμε αυτό το κορδόνι πολλές φορές στο πάνω και στο κάτω μέρος, ώστε να είναι όσο το δυνατόν ασφαλέστερο. Αυτό μπορεί να απαιτήσει πολλαπλές προσπάθειες επειδή θέλετε να κάνετε τη συμβολοσειρά τέλεια, ώστε να μην χαλαρώσει κατά τη διάρκεια της πτήσης.
Βήμα 6: Το Swing Test
Για ασφάλεια σε αυτό το βήμα, φροντίστε να φοράτε προστατευτικά γυαλιά για να προστατεύετε τα μάτια σας. Σε αυτό το βήμα, θα εκτελέσετε το CubeSat μέσω δοκιμής για να δείτε αν προστατεύει το Arduino αρκετά καλά για να εκτελέσει την εργασία του (εύρεση θερμοκρασίας). Το πρώτο τεστ είναι αυτό που χρειάζεται το stringing. Σε αυτή τη δοκιμή, το Arduino θα περιστραφεί (όπως φαίνεται στην παραπάνω εικόνα/βίντεο)- (μερικές φορές το βίντεο έχει πρόβλημα φόρτωσης). Ένα μοντέλο Άρης μπορεί να τοποθετηθεί στη μέση. Για να ολοκληρώσει με επιτυχία αυτή τη δοκιμή, το Arduino θα πρέπει να περιστρέφεται χωρίς να είναι αδέσμευτο, γι 'αυτό πρέπει να είναι καλά συνδεδεμένο και το Arduino θα πρέπει να λειτουργεί πλήρως μετά την ολοκλήρωση της δοκιμής. Αυτός είναι ο λόγος για τον οποίο πρέπει να βεβαιωθείτε ότι το Arduino είναι καλά ασφαλισμένο στο CubeSat.
Βήμα 7: Δοκιμή #2- Δοκιμή ανακίνησης
Σε αυτό το βήμα, το CubeSat θα περάσει από τη δοκιμή #2. Αυτή η δοκιμή είναι η δοκιμή ανακίνησης. Σε αυτήν τη δοκιμή, το CubeSat θα τοποθετηθεί σε μια θήκη όπως φαίνεται στην εικόνα/βίντεο (μερικές φορές το βίντεο έχει πρόβλημα φόρτωσης) παραπάνω και θα ανακινείται βίαια μπρος -πίσω για 30 δευτερόλεπτα. Για να περάσετε αυτό το τεστ, το CubeSat και το Arduino σας θα πρέπει να εξακολουθούν να λειτουργούν πλήρως αφού ανακινηθούν.
Βήμα 8: Αποτελέσματα/Ολοκληρωμένη θερμοκρασία CubeSat
Στο τέλος, το CubeSat μπόρεσε να καταγράψει με επιτυχία τη θερμοκρασία ενώ περνούσε από κάθε δοκιμή. Τα δεδομένα διαβάζονταν σταθερά 26-30 βαθμούς Κελσίου σε κάθε δοκιμή. Αυτό είναι το ίδιο με 78-86 βαθμούς Φαρενάιτ. Ωστόσο, αντιμετωπίσαμε κάποια προβλήματα στο δρόμο. Για παράδειγμα, πολλές φορές η κωδικοποίηση του arduino δεν λειτούργησε και διαβάστηκε 126 βαθμοί Κελσίου. Χρειάστηκαν πολλαπλές προσπάθειες για να επιτευχθεί η σωστή θερμοκρασία. Κάποιες συμβουλές που θα έδινα σε όποιον κάνει αυτό το έργο θα ήταν να δοκιμάσει πολλαπλές παραλλαγές κώδικα και καλωδίωση και να βεβαιωθεί ότι το arduino σας ταιριάζει απόλυτα στο CubeSat. Mayσως χρειαστεί να σφίξετε το κενό μέσα στο CubeSat για να βεβαιωθείτε ότι το arduino ταιριάζει απόλυτα στο εσωτερικό του. Είχαμε κάποιο πρόβλημα με το arduino να είναι πολύ χαλαρό στο CubeSat.
Σε αυτό το έργο, θα χρειαστεί επίσης να εφαρμόσετε τις γνώσεις σας στη φυσική. Η φυσική γνώση της τεχνολογίας, της ενέργειας και της δύναμης θα πρέπει να εφαρμοστεί σε όλο το έργο. Σε όλο το έργο μάθαμε περισσότερα για το ηλιακό σύστημα και νέες τεχνολογίες όπως το CubeSats. Μάθαμε επίσης για τη βαρυτική δύναμη και πώς αυτή η δύναμη μπορεί να επηρεάσει το CubeSat. Ένα πολύ σημαντικό θέμα με αυτό το έργο ήταν η δορυφορική κίνηση. Μάθαμε για την κίνηση των δορυφόρων χρησιμοποιώντας ταχύτητα, καθαρή δύναμη και βαρύτητα. Αυτό θα μας βοηθήσει να βρούμε τα βλήματα των δορυφόρων.
Μόλις το CubeSat και το arduino περάσουν επιτυχώς τις δοκιμές και λειτουργήσουν σωστά, τελειώσατε. Το CubeSat σας θα πρέπει να μπορεί να επιβιώσει από την ατμόσφαιρα του Άρη. Βεβαιωθείτε ότι ο αισθητήρας κατέγραψε με επιτυχία τη θερμοκρασία και σε όλες τις δοκιμές. Το CubeSat σας είναι έτοιμο να πάει στο διάστημα!
Συνιστάται:
Πώς να φτιάξετε ένα CubeSat που μπορεί να μετρήσει τη θερμοκρασία: 3 βήματα
Πώς να φτιάξετε ένα CubeSat που μπορεί να μετρήσει τη θερμοκρασία: Ελάτε μαζί μας και θα δείτε έναν κύβο 11x11x11x11 καθαρής φαντασίας, πάρτε το χέρι μου και θα δείτε τη θερμοκρασία του Άρη! (σύμφωνα με το «Imagination» του Willy Wonka) Σήμερα θα σας δείξω ότι πρέπει να φτιάξετε το δικό σας CubeSat! Εγώ και οι συνεργάτες μου Alyssa και
Φτιάξτε ένα μεσημεριανό κουτί με σταθερή θερμοκρασία σε θερμοκρασία: 16 βήματα
Φτιάξτε ένα μεσημεριανό κουτί με σταθερή θερμοκρασία: Αν και το συνηθισμένο κουτί μεσημεριανού μαγειρέματος είναι απλό στη χρήση και στη λειτουργία αλλά έχει μία μόνο λειτουργία, δεν είναι δυνατό να ρυθμίσετε την ώρα ή να ρυθμίσετε τη θερμοκρασία σε θερμότητα. Προκειμένου να βελτιωθεί αυτό το μειονέκτημα, αυτή τη φορά το DIY γίνεται με βάση το μαγείρεμα
Θερμοκρασία και υγρασία CubeSat: 7 βήματα
Θερμοκρασία και υγρασία CubeSat: Αυτό είναι το CubeSat μας. Αποφασίσαμε ότι θέλουμε να μετρήσουμε τη θερμοκρασία και την υγρασία επειδή ήμασταν περίεργοι για τις συνθήκες στο Διάστημα. Εκτυπώσαμε τρισδιάστατα τη δομή μας και βρήκαμε τους πιο αποτελεσματικούς τρόπους κατασκευής αυτού του μοντέλου. Στόχος μας ήταν να δημιουργήσουμε ένα σύστημα
Θερμοκρασία και υγρασία Cubesat: 5 βήματα
Cubesat θερμοκρασίας και υγρασίας: Πώς μπορούμε να σχεδιάσουμε, να κατασκευάσουμε και να προγραμματίσουμε ένα μοντέλο ενός Mars Orbiter, που θα συλλέγει δεδομένα και θα μας ενημερώνει για συγκεκριμένες πτυχές του πλανήτη; Από: Abe, Mason, Jackson και Wyatt
IoT Made Easy: Λήψη απομακρυσμένων δεδομένων καιρού: UV και θερμοκρασία Θερμοκρασία & υγρασία: 7 βήματα
IoT Made Easy: Καταγραφή απομακρυσμένων δεδομένων καιρού: UV και θερμοκρασία και υγρασία αέρα: Σε αυτό το σεμινάριο, θα καταγράψουμε απομακρυσμένα δεδομένα ως UV (υπεριώδη ακτινοβολία), θερμοκρασία αέρα και υγρασία. Αυτά τα δεδομένα θα είναι πολύ σημαντικά και θα χρησιμοποιηθούν σε έναν μελλοντικό πλήρη Μετεωρολογικό Σταθμό. Το μπλοκ διάγραμμα δείχνει τι θα πάρουμε στο τέλος