- Απαιτούμενα στοιχεία:
- Διάγραμμα κυκλώματος
- Θερμίστορ
- Υπολογισμός θερμοκρασίας χρησιμοποιώντας θερμίστορ:
- Κωδικός θερμίστορ Arduino
- Μέτρηση θερμοκρασίας με θερμίστορ και Arduino:
Η χρήση θερμίστορ είναι ένας εύκολος και φθηνός τρόπος για να αισθανθείτε τη θερμοκρασία. Και για να μετρηθεί η ακριβής θερμοκρασία με το θερμίστορ, θα χρειαστεί ένας μικροελεγκτής. Εδώ, λοιπόν, χρησιμοποιούμε το Arduino with Thermistor για να διαβάσουμε τη θερμοκρασία και ένα LCD για να εμφανίσουμε τη θερμοκρασία. Είναι χρήσιμο σε διάφορα έργα όπως απομακρυσμένος μετεωρολογικός σταθμός, οικιακός αυτοματισμός και προστασία και έλεγχος βιομηχανικών και ηλεκτρονικών εξοπλισμών.
Σε αυτό το σεμινάριο, θα συνδέσουμε το Thermistor με το Arduino και θα εμφανίσουμε τη θερμοκρασία στην οθόνη LCD. Μπορείτε να κάνετε διάφορα έργα που βασίζονται σε ηλεκτρονικά κυκλώματα χρησιμοποιώντας θερμίστορ μερικά από αυτά αναφέρονται παρακάτω:
- Ανεμιστήρας DC ελεγχόμενης θερμοκρασίας χρησιμοποιώντας θερμίστορ
- Συναγερμός πυρκαγιάς χρησιμοποιώντας θερμίστορ
Απαιτούμενα στοιχεία:
- Θερμίστορ NTC 10k
- Arduino (Οποιαδήποτε έκδοση)
- Αντίσταση 10k ohm
- Σύνδεση καλωδίων
Διάγραμμα κυκλώματος
Το θερμίστορ παρέχει τιμή θερμοκρασίας σύμφωνα με την αλλαγή στην ηλεκτρική αντίσταση σε αυτό. Σε αυτό το κύκλωμα, ο αναλογικός πείρος στο Arduino συνδέεται με το θερμίστορ και μπορεί να παρέχει μόνο τις τιμές ADC, επομένως η ηλεκτρική αντίσταση του θερμίστορ δεν υπολογίζεται άμεσα. Έτσι, το κύκλωμα κατασκευάζεται έτσι ώστε να είναι σαν κύκλωμα διαχωριστή τάσης όπως φαίνεται στο παραπάνω σχήμα, συνδέοντας μια γνωστή αντίσταση 10k ohm σε σειρά με το NTC. Χρησιμοποιώντας αυτό το διαχωριστικό τάσης μπορούμε να πάρουμε την τάση σε θερμίστορ και με αυτήν την τάση μπορούμε να αντλήσουμε την αντίσταση του θερμίστορ εκείνη τη στιγμή. Και τέλος μπορούμε να πάρουμε την τιμή της θερμοκρασίας τοποθετώντας την αντίσταση του θερμίστορ στην εξίσωση Stein-Hart όπως εξηγείται στις παρακάτω ενότητες.
Θερμίστορ
Το βασικό στοιχείο σε αυτό το κύκλωμα είναι το Thermistor, το οποίο έχει χρησιμοποιηθεί για την ανίχνευση της αύξησης της θερμοκρασίας. Το θερμίστορ είναι ευαίσθητη στη θερμοκρασία αντίσταση, της οποίας η αντίσταση αλλάζει ανάλογα με τη θερμοκρασία. Υπάρχουν δύο τύποι θερμίστορ NTC (αρνητική θερμοκρασία συντελεστή) και PTC (θετικής θερμοκρασίας συν-αποδοτικό), χρησιμοποιούμε θερμίστορ τύπου NTC. Το θερμίστορ NTC είναι μια αντίσταση της οποίας η αντίσταση μειώνεται καθώς αυξάνεται η θερμοκρασία ενώ στο PTC θα αυξάνει την αντίσταση καθώς αυξάνεται η θερμοκρασία.
Υπολογισμός θερμοκρασίας χρησιμοποιώντας θερμίστορ:
Γνωρίζουμε από το κύκλωμα διαχωριστή τάσης ότι:
V out = (V σε * Rt) / (R + Rt)
Έτσι, η τιμή του Rt θα είναι:
Rt = R (Vin / Vout) - 1
Εδώ, το Rt θα είναι η αντίσταση του θερμίστορ και το R θα είναι 10k ohm αντίσταση. Μπορείτε επίσης να υπολογίσετε τις τιμές από αυτόν τον υπολογιστή διαχωριστή τάσης.
Αυτή η εξίσωση χρησιμοποιείται για τον υπολογισμό της αντίστασης θερμίστορ από τη μετρούμενη τιμή της τάσης εξόδου Vo. Μπορούμε να πάρουμε την τιμή του Voltage Vout από την τιμή ADC στον ακροδέκτη A0 του Arduino, όπως φαίνεται στον παρακάτω κώδικα Arduino.
Υπολογισμός θερμοκρασίας από την αντίσταση του θερμίστορ:
Μαθηματικά η αντίσταση των θερμίστορ μπορεί να υπολογιστεί μόνο με τη βοήθεια της εξίσωσης Stein-Hart
T = 1 / (A + Bln (Rt) + Cln (Rt) 3)
Όπου τα A, B και C είναι οι σταθερές, το Rt είναι η αντίσταση του θερμίστορ και το ln αντιπροσωπεύει το log.
Η σταθερή τιμή για το θερμίστορ που χρησιμοποιείται στο έργο είναι A = 1.009249522 × 10 −3, B = 2.378405444 × 10 −4, C = 2.019202697 × 10 −7. Αυτές οι σταθερές τιμές μπορούν να ληφθούν από τον υπολογιστή εδώ εισάγοντας τις τρεις τιμές αντίστασης του θερμίστορ σε τρεις διαφορετικές θερμοκρασίες. Μπορείτε να λάβετε αυτές τις σταθερές τιμές απευθείας από το φύλλο δεδομένων του Thermistor ή μπορείτε να λάβετε τρεις τιμές αντίστασης σε διαφορετική θερμοκρασία και να λάβετε τις τιμές σταθερών χρησιμοποιώντας τη δεδομένη αριθμομηχανή.
Έτσι, για τον υπολογισμό της θερμοκρασίας χρειαζόμαστε μόνο την τιμή της αντίστασης θερμίστορ. Αφού λάβουμε την τιμή Rt από τον υπολογισμό που δίνεται παραπάνω, βάλουμε τις τιμές στην εξίσωση Stein-hart και θα πάρουμε την τιμή της θερμοκρασίας στη μονάδα kelvin. Δεδομένου ότι υπάρχει μικρή αλλαγή στην τάση εξόδου προκαλεί αλλαγή στη θερμοκρασία.
Κωδικός θερμίστορ Arduino
Ο πλήρης κωδικός Arduino για το Interface με το Thermistor παρέχεται στο τέλος αυτού του άρθρου Εδώ έχουμε εξηγήσει μερικά μέρη του.
Για την εκτέλεση μαθηματικής λειτουργίας χρησιμοποιούμε το αρχείο Header "#include
LiquidCrystal lcd (44,46,40,52,50,48);
Για την εγκατάσταση της οθόνης LCD κατά την έναρξη πρέπει να γράψουμε κωδικό στο κενό μέρος ρύθμισης
Άκυρη ρύθμιση () {lcd.begin (16,2); lcd.clear (); }
Για τον υπολογισμό της θερμοκρασίας με την εξίσωση Stein-Hart χρησιμοποιώντας την ηλεκτρική αντίσταση του θερμίστορ εκτελούμε κάποια απλή μαθηματική εξίσωση σε κώδικα όπως εξηγείται στον υπολογισμό παραπάνω:
float a = 1.009249522e-03, b = 2.378405444e-04, c = 2.019202697e-07; float T, logRt, Tf, Tc; Float Thermistor (int Vo) {logRt = log (10000.0 * ((1024.0 / Vo-1))); T = (1.0 / (A + B * logRt + C * logRt * logRt * logRt)); // Λαμβάνουμε την τιμή θερμοκρασίας στο Kelvin από αυτήν την εξίσωση Stein-Hart Tc = T - 273.15; // Μετατροπή Kelvin σε Κελσίου Tf = (Tc * 1.8) + 32.0; // Μετατροπή Kelvin σε Fahrenheit return T; }
Στον παρακάτω κώδικα η θερμίστορ διαβάζει την τιμή από τον αναλογικό πείρο του Arduino, lcd.print ([Thermistor (analogRead (0))));
και αυτή η τιμή λαμβάνεται στον παρακάτω κώδικα και μετά ο υπολογισμός ξεκινά την εκτύπωση
Float Thermistor (int Vo)
Μέτρηση θερμοκρασίας με θερμίστορ και Arduino:
Για να δώσετε την τροφοδοσία στο Arduino μπορείτε να το τροφοδοτήσετε μέσω USB στον φορητό υπολογιστή σας ή να συνδέσετε προσαρμογέα 12v. Μια LCD διασυνδέεται με το Arduino για την εμφάνιση τιμών θερμοκρασίας και το Thermistor συνδέεται σύμφωνα με το διάγραμμα κυκλώματος. Ο αναλογικός πείρος (A0) χρησιμοποιείται για τον έλεγχο της τάσης του πείρου θερμίστορ κάθε στιγμή και μετά τον υπολογισμό χρησιμοποιώντας την εξίσωση Stein-Hart μέσω του κωδικού Arduino μπορούμε να πάρουμε τη θερμοκρασία και να την εμφανίσουμε σε LCD στους Κελσίου και Φαρενάιτ.