Φτιάξτο μόνος σου θερμόμετρο υψηλής θερμοκρασίας σε μικροελεγκτή. Απλό ψηφιακό θερμόμετρο σε αισθητήρα PIC16F628A και DS18B20

10.09.2021

Ή τα ανάλογα του. Οι συσκευές έχουν καλή ακρίβεια, θόρυβο και, σε σύγκριση με αναλογικές λύσεις, απλοποιούν σημαντικά το κύκλωμα. Τα όρια θερμοκρασιών που μετρώνται από τέτοιους αισθητήρες περιορίζονται συνήθως στην περιοχή από -55 έως 125 ºС. Τι να κάνετε εάν χρειάζεται να μετρήσετε θερμοκρασία πάνω από 125 °C; Προφανώς, πρέπει να χρησιμοποιήσετε αναλογικούς αισθητήρες, το εύρος θερμοκρασίας των οποίων μπορεί να φτάσει τους +300 °C. Θα πρέπει να σημειωθεί ότι σε αυτή την περίπτωση η ακρίβεια μέτρησης θα μειωθεί. Αλλά συχνά όταν μετράτε υψηλές θερμοκρασίες, να ξέρετε ακριβής τιμήδεν είναι απαραίτητο και ένα σφάλμα μερικών βαθμών θα είναι αποδεκτό και όταν εμφανίζεται σε αναλογική κλίμακα, για παράδειγμα, σε μια γραμμή LED, θα είναι εντελώς απαρατήρητο.

Για κανονική λειτουργίασυσκευές σε θερμοκρασία 0 ... 250 °C, επιλέχθηκε ένας αναλογικός αισθητήρας, το εύρος λειτουργίας του οποίου είναι -40 + 300 °C. Οι παράμετροί του είναι ιδανικές για το επιλεγμένο εύρος θερμοκρασίας. Ο μικροελεγκτής (MK) είναι υπεύθυνος για την επεξεργασία δεδομένων. Φυσικά, οποιοσδήποτε άλλος θα το κάνει, αλλά ο συγγραφέας φαίνεται να πιστεύει ότι αυτό το MK είναι ένα από τα πιο προσιτά και δημοφιλή. Οι ασφαλειοθήκες έχουν μείνει εργοστασιακά. Κατά την επίλυση του προβλήματος, τα κριτήρια για την ακριβή μέτρηση τοποθετήθηκαν στον πίσω καυστήρα. Ένα σφάλμα μέσα σε λίγους βαθμούς ήταν αρκετά ικανοποιητικό.

Ψηφιακή απεικόνιση των αποτελεσμάτων των μετρήσεων

Για ψηφιακή απεικόνιση των δεδομένων χρησιμοποιούνται Οθόνη LCD. Εάν επιθυμείτε, η συσκευή μπορεί να αναβαθμιστεί τροποποιώντας τον κωδικό του προγράμματος. Υπάρχουν αρκετές ελεύθερες θύρες I/O για αυτό. Η οθόνη LCD συνδέεται μέσω διαύλου 4-bit (Εικόνα 1). Τα ψηφία υψηλής τάξης της ένδειξης D4 - D7 συνδέονται με τα ψηφία χαμηλής τάξης D0 - D4 του μικροελεγκτή. Δεδομένου ότι δεν υπάρχουν ακριβείς αναφορές χρονισμού σε αυτήν τη συσκευή, δεν υπάρχει ανάγκη για εξωτερικό κύριο αντηχείο χαλαζία. Οι ακίδες ελέγχου της οθόνης συνδέονται στις θύρες PB6 και PB7. Όπως μπορείτε να δείτε, όλες οι γραμμές ελέγχου οθόνης εξέρχονται από τη μία πλευρά της θήκης MK, γεγονός που απλοποιεί την ανίχνευση της πλακέτας τυπωμένου κυκλώματος.

Υπολογισμός τιμής θερμοκρασίας

Από το σχήμα 1 φαίνεται ότι ο αναλογικός αισθητήρας θερμοκρασίας συνδέεται απευθείας στην είσοδο ADC του μικροελεγκτή. Κατά τη χρήση λειτουργικός ενισχυτήςτο σφάλμα μέτρησης θα ήταν μικρότερο. Η τάση τροφοδοτείται στο ADC μέσω ενός διαιρέτη που σχηματίζεται από ένα θερμίστορ και μια μεταβλητή αντίσταση. Για καλύτερη ακρίβεια συντονισμού μεταβλητή αντίστασηεπιλεγμένη πολλαπλή στροφή.

Πίνακας 1. Εξάρτηση της αντίστασης από τη θερμοκρασία.

Θερμοκρασία ºС

Αντίσταση Ω

Κατασκευάζοντας ένα γράφημα στο Mathcad με βάση τον Πίνακα 1 (Εικόνα 2), μπορείτε να δείτε την εξάρτηση της αντίστασης του αναλογικού αισθητήρα από την εφαρμοζόμενη θερμοκρασία. Τα δεδομένα πηγής του πίνακα λαμβάνονται από τεχνική περιγραφή KTY84_130. Η λειτουργία είναι σχεδόν γραμμική, με μικρή μόνο απόκλιση σε υψηλές θερμοκρασίες.

Σε μετρούμενη θερμοκρασία 0 ºС, η αντίσταση του θερμίστορ είναι 498 Ohms. Η τάση στην έξοδο του διαιρέτη είναι

Σε θερμοκρασία 0 ºС, η τάση στην είσοδο ADC πρέπει να είναι 0,6 V. Για τον υπολογισμό της τιμής θερμοκρασίας, ο συγγραφέας χρησιμοποίησε τον ακόλουθο τύπο:


  • ADC - ψηφιακός κωδικός ADC 10 bit που λαμβάνεται από τον αισθητήρα,
  • U OTC - τιμή αποκοπής (60), ίση με 0,6 V στους 0 ºС.

Το εύρος των μετρούμενων θερμοκρασιών από 0 ºС έως 250 ºС αντιστοιχεί σε αυτές που προέρχονται από το διαχωριστικό τάσεις εισόδου ADC από 0,6 έως 1,8 V. Η τάση αναφοράς του ADC είναι 5 V, επομένως σε αυτές τις τιμές ο ψηφιακός κωδικός θα είναι στην περιοχή από 123 έως 368. Αυτός ο αριθμός τοποθετείται σε έναν καταχωρητή και μετατρέπεται σε τρία ψηφία του Κωδικός ASCII. Δεδομένου ότι ο αισθητήρας KTY84_130 έχει σχεδιαστεί για μέγιστη θερμοκρασία 300 ºС, είναι προτιμότερο να αφήσετε ένα μικρό περιθώριο και να το περιορίσετε στους 250 ºС.

Το Σχήμα 5 δείχνει τη συσκευή συναρμολογημένη σε ένα breadboard. Ο κώδικας του προγράμματος είναι ανοιχτός και ο καθένας μπορεί εύκολα να τον τροποποιήσει για να ταιριάζει στις δικές του ανάγκες.

Λογισμικό MK και εικονικό μοντέλο Proteus για LCD 16×2 -

Λογισμικό MK και εικονικό μοντέλο Proteus για LCD 8×2 -

Θα ήθελα να σημειώσω αμέσως ότι η πλακέτα τυπωμένου κυκλώματος και ο σχεδιασμός σχεδιάστηκαν με την προσδοκία να κατασκευαστεί μια συμπαγής συσκευή που μπορεί να τοποθετηθεί σε τοίχο.

Η συσκευή ελέγχεται χρησιμοποιώντας ένα κουμπί. Το πρόγραμμα για τον μικροελεγκτή είναι γραμμένο σε C, παρέχεται με σχόλια και οι χρήστες μπορούν να το τροποποιήσουν ώστε να ταιριάζει στις συγκεκριμένες εργασίες τους ή να επεκτείνουν τη λειτουργικότητα. Για τον έλεγχο της ένδειξης LCD, χρησιμοποιείται μια έτοιμη βιβλιοθήκη Peter Fleury (το αρχείο με δυνατότητα λήψης είναι διαθέσιμο στην ενότητα λήψεις). Επιπλέον, τα δεδομένα μπορούν να εμφανίζονται σε βαθμούς Κελσίου ή Φαρενάιτ. Υπάρχουν πολλές λειτουργίες για τον έλεγχο του οπίσθιου φωτισμού της ένδειξης.

Αξίζει επίσης να σημειωθεί ένα άλλο σημαντικό σημείο: η συσκευή μπορεί να πραγματοποιήσει ασύρματη μετάδοση δεδομένων μέσω του πρωτοκόλλου Bluetooth χρησιμοποιώντας μια ειδική μονάδα (προαιρετικό).

Σχηματικό διάγραμμα

Από την άποψη του σχεδιασμού του κυκλώματος, η συσκευή είναι απλή και θα εξετάσουμε τα εξαρτήματα ξεχωριστά.

Η τροφοδοσία του θερμομέτρου βασίζεται σε ενσωματωμένος ρυθμιστήςτάση σε τυπική σύνδεση (με κατάλληλους πυκνωτές φίλτρου). Ο ρυθμιστής τάσης 3,3 V AMS1117 περιλαμβάνεται στο κύκλωμα, αλλά μπορεί να χρησιμοποιηθεί στη θήκη χρησιμοποιώντας Bluetoothενότητα, γιατί Συχνά το τροφοδοτικό για τέτοιες μονάδες είναι 3,3 V.

Η ένδειξη που χρησιμοποιείται στη συσκευή είναι μια τυπική ένδειξη δύο γραμμών στον ελεγκτή HD44780. Το τρανζίστορ έχει σχεδιαστεί για να ελέγχει τον οπίσθιο φωτισμό του δείκτη με λογικά σήματα από τον μικροελεγκτή ή ένα σήμα PWM από τον μικροελεγκτή. Η αντίσταση R3 περιορίζει το ρεύμα μέσω της βάσης του τρανζίστορ, η αντίσταση R1 τραβά τη βάση στο μηδενικό δυναμικό.

Η βάση του θερμομέτρου είναι ένας μικροελεγκτής που λειτουργεί σε συχνότητα 8 MHz και ελέγχει όλα τα γύρω περιφερειακά.

Ο αισθητήρας DHT-11 είναι ένας αισθητήρας θερμοκρασίας και σχετικής υγρασίας χαμηλού κόστους που χρησιμοποιείται στο έργο ως αισθητήρας εξωτερικού χώρου. Δεν χαρακτηρίζεται από υψηλή ταχύτητα και ακρίβεια, αλλά χρησιμοποιείται σε ραδιοερασιτεχνικά έργα λόγω του χαμηλού κόστους του. Το DHT-11 αποτελείται από έναν χωρητικό αισθητήρα υγρασίας και ένα θερμίστορ. Επίσης, ο αισθητήρας περιέχει ένα απλό ADC για τη μετατροπή αναλογικών τιμών υγρασίας και θερμοκρασίας.

Βασικά Χαρακτηριστικά:

  • χαμηλό κόστος?
  • τάση τροφοδοσίας 3 V - 5 V;
  • μετάδοση δεδομένων μέσω διαύλου 1-Wire σε αποστάσεις έως και 20 m.
  • Προσδιορισμός υγρασίας 20-80% με ακρίβεια 5%.
  • μέγιστη κατανάλωση ρεύματος 2,5 mA;
  • προσδιορισμός θερμοκρασίας 0...50° με ακρίβεια 2%.
  • συχνότητα ψηφοφορίας όχι μεγαλύτερη από 1 Hz (όχι περισσότερο από μία φορά κάθε 1 δευτερόλεπτο).
  • διαστάσεις 15,5 × 12 × 5,5 mm;

Θα πρέπει να σημειωθεί ότι μπορείτε να βρείτε έναν αισθητήρα DHT-22 σε πώληση, ο οποίος έχει την ίδια διεπαφή, αλλά καλύτερα χαρακτηριστικά.

Ο αισθητήρας συνδέεται με τον μικροελεγκτή μέσω ενός διαύλου 1-Wire (σύνδεσμος JP3 στο διάγραμμα) χρησιμοποιώντας μια αντίσταση έλξης στη γραμμή δεδομένων και έναν πυκνωτή μπλοκαρίσματος στο τροφοδοτικό.

Ο εσωτερικός αισθητήρας είναι ο ευρέως χρησιμοποιούμενος αναλογικός αισθητήρας θερμοκρασίας LM35 IC5, ο οποίος συνδέεται με το κανάλι 1 του μικροελεγκτή ADC.

Η υποδοχή J1 της διεπαφής προγραμματισμού κυκλώματος μικροελεγκτή σάς επιτρέπει να αλλάξετε γρήγορα τον κωδικό προγράμματος ή να ενημερώσετε το λογισμικό. Για τη σύνδεση του θερμομέτρου μέσω της διεπαφής UART, χρησιμοποιείται η υποδοχή JP1. Το κουμπί ελέγχου SW1 συνδέεται με την είσοδο εξωτερικής διακοπής του μικροελεγκτή.

Μονάδα Bluetooth για ασύρματη μετάδοσηδεδομένα, που υποδεικνύονται στο διάγραμμα ως IC3, το GP-GC021 συνδέεται επίσης με τη διεπαφή UART του μικροελεγκτή και σας επιτρέπει να μεταφέρετε δεδομένα σε υπολογιστή, κινητό τηλέφωνοή web server. Η πλακέτα τυπωμένου κυκλώματος παρέχει χώρο για την εγκατάσταση της μονάδας. Η ενότητα λήψης περιέχει μια περιγραφή της ενότητας, της διαδικασίας αλληλεπίδρασης και των εντολών.

Η ένδειξη LCD είναι εγκατεστημένη στο μπροστινό μέρος της πλακέτας τυπωμένου κυκλώματος στην υποδοχή, κρύβοντας έτσι τα εξαρτήματα που είναι εγκατεστημένα στην κύρια πλακέτα και έχουμε μια συμπαγή συσκευή. Η θέση για την εγκατάσταση της μονάδας Bluetooth βρίσκεται στην πίσω πλευρά της πλακέτας τυπωμένου κυκλώματος (βλ. φωτογραφία της πλακέτας).

Εμφάνιση της τελικής πλακέτας τυπωμένου κυκλώματος για ένα θερμόμετρο


Σχέδιο PCB σε Eagle CAD

Πλακέτα με εγκατεστημένη μονάδα Bluetooth

Λήψεις

Διάγραμμα κυκλώματος και πλακέτα τυπωμένου κυκλώματος (Eagle), λογισμικό ( πηγαίος κώδικας, υλικολογισμικό) -
Βιβλιοθήκη για εργασία με ένδειξη LCD στον ελεγκτή HD44780 -
Τεχνική περιγραφή για τη μονάδα Bluetooth GP-GC021 -

Κατόπιν αιτήματος όσων συναρμολόγησαν το προηγούμενο σχέδιο βαρόμετρου στο PIC 16F684 και στον αισθητήρα πίεσης BMP180, δημοσιεύουμε ένα άρθρο (συνέχεια). Αυτή η συσκευήσας επιτρέπει να εμφανίζετε ταυτόχρονα θερμοκρασία και πίεση. Για το σκοπό αυτό, ο σχεδιασμός χρησιμοποίησε έναν δείκτη που βασίζεται στο τσιπ MAX7219, ο οποίος σας επιτρέπει να εργαστείτε με μια μήτρα 8X7, η χρήση αυτού του δείκτη επέτρεψε τη μείωση του αριθμού των εμπλεκόμενων θυρών μικροεπεξεργαστή.

Ο πιο συνηθισμένος αισθητήρας θερμοκρασίας που χρησιμοποιείται είναι ο 18b20, ο οποίος έχει σχέδιο τριών ακίδων. DS18B20 (Προγραμματιζόμενη ανάλυση 1-Wire® Ψηφιακό Θερμόμετρο). Το εύρος μέτρησης θερμοκρασίας είναι από -55 έως +125 °C. Για την περιοχή από -10 έως +85 °C το σφάλμα δεν υπερβαίνει τους 0,5 °C.

Το διάγραμμα της συσκευής φαίνεται στο σχήμα 1.

Ο δείκτης MAX7219 αγοράστηκε στο Aliexpress. Αλλά αυτός ο δείκτης πωλείται έτοιμος και δεν έχετε παρά να τον συνδέσετε στην προγραμματισμένη πλακέτα με 5 αγωγούς.

Το σχηματικό διάγραμμα του δείκτη φαίνεται στο σχήμα 2 παρακάτω είναι μια φωτογραφία ενός τέτοιου δείκτη.

Η εμφάνιση της συναρμολογημένης συσκευής φαίνεται στην παρακάτω φωτογραφία.

Οι αρνητικές θερμοκρασίες εμφανίζονται με ένα μείον μπροστά από τον αριθμό και οι μοίρες εμφανίζονται χωρίς δέκατα.

Κατεβάστε το σχέδιο PCB, το σχηματικό και το υλικολογισμικό.


Αυτό είναι φυσιολογικό ψηφιακό θερμόμετρο, υπάρχουν πολλές παρόμοιες συσκευές στο Διαδίκτυο. Η βάση είναι ένας μικροελεγκτής PIC16F628A και ένας ψηφιακός αισθητήρας θερμοκρασίας DS18S20 (DS18B20). Ως ενδείξεις χρησιμοποιούνται 3 LED. δείκτες bitπράσινος. Η ένδειξη είναι δυναμική. Το θερμόμετρο λειτουργεί σε όλο το εύρος θερμοκρασίας του αισθητήρα DS18S20, δηλ. από -55 έως +125 βαθμούς.

Το θερμόμετρο συναρμολογείται σε μια πλακέτα τυπωμένου κυκλώματος, μαζί με έναν δείκτη. Ο αισθητήρας και η τροφοδοσία συνδέονται χωριστά. Εάν ο αισθητήρας δεν είναι συνδεδεμένος, το γράμμα E (Σφάλμα) εμφανίζεται στην ένδειξη. Αυτή η συσκευή δεν έχει ιδιαίτερες δυνατότητες. Η δίοδος VD1 χρησιμεύει για την προστασία από την αντιστροφή της πολικότητας της πηγής ισχύος.

Η συσκευή μπορεί να λειτουργήσει τόσο με τον αισθητήρα DS18B20 όσο και με τον αισθητήρα DS1820(DS18S20). Κάθε αισθητήρας χρησιμοποιεί το δικό του υλικολογισμικό μικροελεγκτή. Παρακάτω είναι μια έκδοση αυτού του θερμομέτρου με μια γέφυρα διόδου και έναν σταθεροποιητή 7805 που είναι ήδη εγκατεστημένος στην πλακέτα τυπωμένου κυκλώματος, δηλ. Για να τροφοδοτήσετε αυτήν τη συσκευή, απλώς συνδέστε τη δευτερεύουσα περιέλιξη του μετασχηματιστή στον σύνδεσμο τροφοδοσίας. Επιπλέον, αυτή η πλακέτα διαθέτει ένα LED που αναβοσβήνει για λίγο όταν ο μικροελεγκτής μετρήσει τον αισθητήρα θερμοκρασίας. Το LED συνδέεται μεταξύ της ακίδας RB3 (pin 9) και της γείωσης, φυσικά με μια αντίσταση. Η απουσία LED στην πλακέτα δεν θα επηρεάσει με κανέναν τρόπο τη λειτουργία του θερμομέτρου.

Η συσκευή μπορεί να τοποθετηθεί άνετα σε οποιοδήποτε πλαστικό κουτί κατάλληλου μεγέθους. Το τοποθέτησα στο περίβλημα του τροφοδοτικού (Adapter) μαζί με έναν μετασχηματιστή. Εκείνοι. Μόνο η υποδοχή για τον αισθητήρα DS18B20 βγαίνει από το κουτί και το ίδιο το περίβλημα εισάγεται σε ένα δίκτυο 220V.



Αρχείο:
Μέγεθος:
Περιεχόμενο:

sm_termo.rar
38,3 KB
Σχέδια πλακών (LAY) και firmware μικροελεγκτή.

Απάντηση

Το Lorem Ipsum είναι απλώς εικονικό κείμενο της βιομηχανίας εκτύπωσης και στοιχειοθεσίας. Το Lorem Ipsum ήταν το τυπικό εικονικό κείμενο της βιομηχανίας από το 1500, όταν ένας άγνωστος εκτυπωτής πήρε μια γαλέρα τύπου και την ανακάτεψε για να φτιάξει ένα βιβλίο τύπων. Δεν έχει επιβιώσει μόνο πέντε http://jquery2dotnet.com/ αιώνες , αλλά και το άλμα στην ηλεκτρονική στοιχειοθεσία, που παρέμεινε ουσιαστικά αμετάβλητο. Διαδόθηκε στη δεκαετία του 1960 με την κυκλοφορία των φύλλων Letraset που περιείχαν αποσπάσματα Lorem Ipsum και πιο πρόσφατα με το λογισμικό επιτραπέζιων εκδόσεων όπως το Aldus PageMaker, συμπεριλαμβανομένων των εκδόσεων του Lorem Ipsum.

Η συσκευή έχει σχεδιαστεί για να μετράει τη θερμοκρασία σε όλο το εύρος του αισθητήρα DS18B20 (από -55 έως +125 μοίρες), με ακρίβεια 0,1 μοίρες. Η ακρίβεια 0,1 είναι πολύ υπό όρους, γιατί Η ακρίβεια του ίδιου του αισθητήρα DS18B20, που δηλώνεται από τον κατασκευαστή, είναι 0,5 μοίρες. Παρόλα αυτά, πολύ συχνά με πλησίαζαν άνθρωποι με πρόταση να φτιάξω ένα θερμόμετρο με ένδειξη έως και 0,1 βαθμούς, κάτι που έκανα.

Το θερμόμετρο μετρά τη θερμοκρασία και την εμφανίζει σε 4 ψηφία Ένδειξη LED. Τα διαφορετικά εύρη θερμοκρασίας υποδεικνύονται διαφορετικά:
-55.0...-10.0 - σε μορφή -ХХ.Х χωρίς το σύμβολο του βαθμού
-9.9...0.1 - σε μορφή -Χ.Χ και σύμβολο βαθμού
0,0...9,9 - σε μορφή X.X και σύμβολο βαθμού
10.0...99.9 - XX.X και σύμβολο βαθμού
100.0...125.0 - XXX.X χωρίς σύμβολο βαθμού


Επιπλέον, το θερμόμετρο έχει τη λειτουργία μείωσης της φωτεινότητας των ενδείξεων. Η φωτεινότητα επιλέγεται με το κουμπί S Ενώ πατιέται το κουμπί, η φωτεινότητα είναι υψηλή, αν δεν πατηθεί, η φωτεινότητα είναι χαμηλή. Αντί για κουμπί, μπορείτε να συνδέσετε έναν αισθητήρα φωτός, ώστε η φωτεινότητα να αλλάζει αυτόματα ανάλογα με την ώρα της ημέρας (ακριβέστερα, το επίπεδο φωτός).

Το θερμόμετρο συναρμολογείται σε 2 πλακέτες τυπωμένων κυκλωμάτων. Πίνακας ενδείξεων και πλακέτα ελεγκτή. Οι σανίδες συγκολλούνται μεταξύ τους υπό γωνία 90 μοιρών, σύμφωνα με τα τακάκια επαφής. Κατά την εγκατάσταση του τσιπ 7805, πρέπει να κόψετε τη φλάντζα της ψύκτρας του. Ο δείκτης μπορεί να είναι οτιδήποτε, κόκκινο ή πράσινο. Σημασία έχει ότι είναι κάτω δυναμική ένδειξημε κοινή άνοδο.

Το θερμόμετρο θα λειτουργεί σωστά μόνο με τους αισθητήρες DS18B20, DS1820, DS18S20, κ.λπ. Δεν είναι κατάλληλο για αυτό το θερμόμετρο! Για την τροφοδοσία της συσκευής, κάθε σταθεροποιημένο ή μη σταθεροποιημένο τροφοδοτικό είναι κατάλληλο σταθερή τάση 7...12 βολτ. Για παράδειγμα, μπορείτε να χρησιμοποιήσετε περιττές άλογο αξιωματικούγια κινητό τηλέφωνο. Αν τάση εξόδουΗ τροφοδοσία ρεύματος δεν υπερβαίνει τα 8 βολτ, τότε αντί για τον σταθεροποιητή 7805 μπορείτε να χρησιμοποιήσετε το 78L05, αλλά αν ζεσταθεί πολύ, θα πρέπει να αυξήσετε την αντίσταση στις καθόδους του δείκτη στα 220 ohms.