Πίνακας περιεχομένων:

Μέτρηση θερμοκρασίας με χρήση XinaBox και θερμίστορ: 8 βήματα
Μέτρηση θερμοκρασίας με χρήση XinaBox και θερμίστορ: 8 βήματα

Βίντεο: Μέτρηση θερμοκρασίας με χρήση XinaBox και θερμίστορ: 8 βήματα

Βίντεο: Μέτρηση θερμοκρασίας με χρήση XinaBox και θερμίστορ: 8 βήματα
Βίντεο: Μέτρηση θερμοκρασίας σε γραφικό περιβάλλον με χρήση Arduino 2024, Νοέμβριος
Anonim
Μέτρηση θερμοκρασίας χρησιμοποιώντας το XinaBox και ένα θερμίστορ
Μέτρηση θερμοκρασίας χρησιμοποιώντας το XinaBox και ένα θερμίστορ

Μετρήστε τη θερμοκρασία ενός υγρού χρησιμοποιώντας αναλογική είσοδο xChip από το XinaBox και έναν αισθητήρα θερμίστορ.

Βήμα 1: Πράγματα που χρησιμοποιούνται σε αυτό το έργο

Συστατικά υλικού

  • XinaBox SX02 x 1 xChip αναλογικός αισθητήρας εισόδου με ADC
  • XinaBox CC01 x 1 xChip έκδοση του Arduino Uno βασισμένη στο ATmega328P
  • Αντίσταση 10k ohm x 1 10k αντίσταση για δίκτυο διαχωριστή τάσης
  • Αισθητήρας θερμίστορ x 1 10k στους 25 ° C NTC αδιάβροχο θερμοστάτη
  • Προγραμματιστής XinaBox IP01 x 1 xChip USB βασισμένος στο FT232R From FTDI Limited
  • OLED οθόνη XinaBox OD01 x 1 xChip 128x64 Pixel
  • Συνδέσεις διαύλου XinaBox XC10 x 4 xChip
  • Τροφοδοσία XinaBox PU01 x 1 xChip USB (Τύπος Α)
  • Τροφοδοτικό 5V USB x 1 Power Bank ή παρόμοιο

Εφαρμογές λογισμικού και διαδικτυακές υπηρεσίες

Arduino IDE

Εργαλεία χειρός και μηχανές κατασκευής

Κατσαβίδι επίπεδης κεφαλής Για να σφίξετε ή να χαλαρώσετε τον σφιγκτήρα ακροδέκτη βίδας

Βήμα 2: Ιστορία

Εισαγωγή

Wantedθελα να μετρήσω τη θερμοκρασία ενός υγρού δημιουργώντας ένα απλό θερμόμετρο. Χρησιμοποιώντας το XinaBox xChips θα μπορούσα να το επιτύχω με σχετική απλότητα. Χρησιμοποίησα την αναλογική είσοδο SX02 xChip που δέχεται 0 - 3.3V, το CC01 xChip που βασίζεται στο ATmega328P και την οθόνη OD01 OLED xChip για να βλέπω τα αποτελέσματα της θερμοκρασίας μου.

Θερμίστορ που μετρά τη θερμοκρασία του νερού σε ένα ποτήρι

Βήμα 3: Λήψη απαραίτητων αρχείων

Θα χρειαστείτε τις ακόλουθες βιβλιοθήκες και λογισμικό:

  • xSX0X- Βιβλιοθήκη αισθητήρων αναλογικής εισόδου
  • xOD01 - Βιβλιοθήκη οθόνης OLED
  • Arduino IDE - Περιβάλλον ανάπτυξης

Κάντε κλικ εδώ για να δείτε πώς να εγκαταστήσετε τις βιβλιοθήκες.

Αφού εγκαταστήσετε το Arduino IDE, ανοίξτε το και επιλέξτε το "Arduino Pro ή Pro Mini" ως πίνακα για να ανεβάσετε το πρόγραμμά σας. Βεβαιωθείτε επίσης ότι είναι επιλεγμένος ο επεξεργαστής ATmega328P (5V, 16MHz). Δείτε την εικόνα παρακάτω.

Επιλέξτε την πλακέτα Arduino Pro ή Pro Mini και τον επεξεργαστή ATmega328P (5V, 16MHz)

Βήμα 4: Συναρμολόγηση

Κάντε κλικ στον προγραμματιστή xChip, IP01 και στο ATmega328P που βασίζεται σε CC01 xChip χρησιμοποιώντας συνδέσμους διαύλου XC10, όπως φαίνεται παρακάτω. Για να μεταφορτώσετε στο CC01 θα πρέπει να τοποθετήσετε τους διακόπτες στις θέσεις "A" και "DCE" αντίστοιχα.

IP01 και CC01 έκαναν κλικ μαζί

Στη συνέχεια, πάρτε την αντίσταση 10kΩ και βιδώστε το ένα άκρο στον ακροδέκτη με την ένδειξη "IN" και το άλλο άκρο στον ακροδέκτη γείωσης, "GND", στο SX02. Πάρτε τα καλώδια στον αισθητήρα θερμίστορ και βιδώστε το ένα άκρο σε Vcc, "3.3V" και το άλλο άκρο στον ακροδέκτη "IN". Δείτε το παρακάτω γράφημα.

Συνδέσεις SX02

Τώρα συνδυάστε το OD01 και το SX02 με το CC01 κάνοντας απλά κλικ μαζί χρησιμοποιώντας συνδέσμους διαύλου XC10. Δες παρακάτω. Το ασημένιο στοιχείο στην εικόνα είναι ο αισθητήρας θερμίστορ.

Πλήρης μονάδα προγραμματισμού

Βήμα 5: Πρόγραμμα

Τοποθετήστε τη μονάδα στη θύρα USB του υπολογιστή σας. Κατεβάστε ή αντιγράψτε και επικολλήστε τον παρακάτω κώδικα στο Arduino IDE. Συγκεντρώστε και ανεβάστε τον κωδικό στον πίνακα σας. Μόλις φορτωθεί το πρόγραμμά σας θα πρέπει να αρχίσει να τρέχει. Εάν ο ανιχνευτής βρίσκεται σε συνθήκες θερμοκρασίας δωματίου, θα πρέπει να παρατηρήσετε ± 25 ° C στην οθόνη OLED όπως φαίνεται παρακάτω.

Μετά τη μεταφόρτωση, παρατηρήστε τη θερμοκρασία δωματίου στην οθόνη OLED

Βήμα 6: Φορητό θερμόμετρο

Αφαιρέστε τη μονάδα από τον υπολογιστή σας. Αποσυναρμολογήστε τη μονάδα και ξανασυναρμολογήστε τη χρησιμοποιώντας PU01 αντί IP01. Τώρα πάρτε το φορητό τροφοδοτικό 5V USB, όπως τράπεζα τροφοδοσίας ή παρόμοιο και τοποθετήστε το νέο συγκρότημα σε αυτό. Τώρα έχετε το δικό σας δροσερό φορητό θερμόμετρο με καλή ακρίβεια. Δείτε την εικόνα εξωφύλλου για να τη δείτε σε λειτουργία. Μέτρησα ζεστό νερό σε ένα ποτήρι. Οι παρακάτω εικόνες δείχνουν την πλήρη μονάδα σας.

Πλήρης μονάδα που περιλαμβάνει CC01, OD01, SX02 και PU02.

Βήμα 7: Συμπέρασμα

Αυτό το έργο χρειάστηκε λιγότερο από 10 λεπτά για να συναρμολογηθεί και άλλα 20 λεπτά για να προγραμματιστεί. το μόνο παθητικό συστατικό που απαιτείται ήταν μια αντίσταση. Τα xChips απλά κάνουν κλικ μαζί, καθιστώντας το πολύ βολικό.

Βήμα 8: Κωδικός

ThermTemp_Display.ino Arduino Research θερμίστορ για να κατανοήσετε τους υπολογισμούς στον κώδικα.

#include // περιλαμβάνει βασική βιβλιοθήκη για xCHIP

#include // περιλαμβάνει βιβλιοθήκη αισθητήρων αναλογικής εισόδου #include // περιλαμβάνει βιβλιοθήκη οθόνης OLED #include // περιλαμβάνει μαθηματικές συναρτήσεις #define C_Kelvin 273.15 // για μετατροπή από kelvin σε celsius #define series_res 10000 // value of series resistor in ohms #define Β 3950 // Β παράμετρος για θερμίστορ #καθορίστε το δωμάτιο_tempK 298.15 // θερμοκρασία δωματίου σε kelvin #define room_res 10000 // αντίσταση σε θερμοκρασία δωματίου σε ohms #define vcc 3.3 // τάση τροφοδοσίας xSX01 SX01 (0x55)? // ρυθμίστε την τάση πλεύσης της διεύθυνσης i2c. // μεταβλητή που περιέχει τη μετρημένη τάση (0 - 3.3V) float therm_res. // αντίσταση θερμίστορ float act_tempK; // πραγματική θερμοκρασία kelvin float act_tempC; // πραγματική θερμοκρασία σε κενό κελσίου κενό () {// βάλτε τον κωδικό εγκατάστασης εδώ, για να εκτελεστεί μία φορά: // αρχικοποίηση μεταβλητών σε 0 τάση = 0; therm_res = 0; act_tempK = 0; act_tempC = 0; // έναρξη σειριακής επικοινωνίας Serial.begin (115200); // εκκίνηση επικοινωνίας i2c Wire.begin (); // ξεκινήστε τον αναλογικό αισθητήρα εισόδου SX01.begin (); // εκκίνηση οθόνης OLED OLED.begin (); // διαγραφή της οθόνης OD01.clear (); // καθυστέρηση για την ομαλοποίηση της καθυστέρησης (1000). } void loop () {// βάλτε τον κύριο κωδικό σας εδώ, για να εκτελείται επανειλημμένα: // διαβάστε την τάση SX01.poll (); // αποθηκεύστε την τάση πτητικής = SX01.getVoltage (); // υπολογισμός αντίστασης θερμίστορ therm_res = ((vcc * series_res) / τάση) - series_res; // υπολογίστε την πραγματική θερμοκρασία στο kelvin act_tempK = (room_tempK * B) / (B + room_tempK * log (therm_res / room_res)); // μετατροπή του kelvin σε κελσίου act_tempC = act_tempK - C_Kelvin; // θερμοκρασία εκτύπωσης στην οθόνη OLED // χειροκίνητη μορφοποίηση για εμφάνιση στο κέντρο OD01.set2X (); OD01.println (""); OD01.println (""); OD01.print (""); OD01.print (act_tempC); OD01.print ("C"); OD01.println (""); καθυστέρηση (2000). // ενημέρωση οθόνης κάθε 2 δευτερόλεπτα}

Συνιστάται: