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

ESP32 NTP Θερμόμετρο μαγειρέματος θερμοκρασίας ανιχνευτή θερμοκρασίας με διόρθωση και συναγερμό θερμοκρασίας Steinhart-Hart .: 7 βήματα (με εικόνες)
ESP32 NTP Θερμόμετρο μαγειρέματος θερμοκρασίας ανιχνευτή θερμοκρασίας με διόρθωση και συναγερμό θερμοκρασίας Steinhart-Hart .: 7 βήματα (με εικόνες)

Βίντεο: ESP32 NTP Θερμόμετρο μαγειρέματος θερμοκρασίας ανιχνευτή θερμοκρασίας με διόρθωση και συναγερμό θερμοκρασίας Steinhart-Hart .: 7 βήματα (με εικόνες)

Βίντεο: ESP32 NTP Θερμόμετρο μαγειρέματος θερμοκρασίας ανιχνευτή θερμοκρασίας με διόρθωση και συναγερμό θερμοκρασίας Steinhart-Hart .: 7 βήματα (με εικόνες)
Βίντεο: ESP32 TFT Clock using auto select open WiFi and NTP to sync 2024, Νοέμβριος
Anonim
Image
Image
ESP32 NTP Θερμόμετρο μαγειρέματος θερμόμετρου θερμοκρασίας με διόρθωση Steinhart-Hart και συναγερμό θερμοκρασίας
ESP32 NTP Θερμόμετρο μαγειρέματος θερμόμετρου θερμοκρασίας με διόρθωση Steinhart-Hart και συναγερμό θερμοκρασίας

Ακόμα στο ταξίδι για την ολοκλήρωση ενός "επερχόμενου έργου", το "ESP32 NTP Temperature Probe Cooking Thermometer With Steinhart-Hart Correction and Temperature Alarm" είναι ένα Εκπαιδευτικό που δείχνει πώς προσθέτω έναν αισθητήρα θερμοκρασίας NTP, πιεζοσταθμό και λογισμικό στο capacitive touch μου Instructable " ESP32 Capacitive Touch Input Using "Metallic Hole Plugs" for Buttons "για να δημιουργήσετε ένα απλό αλλά ακριβές θερμόμετρο ψησίματος με προγραμματιζόμενο συναγερμό θερμοκρασίας.

Τα τρία χωρητικά κουμπιά αφής επιτρέπουν τη ρύθμιση του επιπέδου συναγερμού θερμοκρασίας. Πατώντας το κεντρικό κουμπί εμφανίζεται η οθόνη "Ρύθμιση θερμοκρασίας συναγερμού", επιτρέποντας στα αριστερά και δεξιά κουμπιά να μειώσουν ή να αυξήσουν τη θερμοκρασία συναγερμού αντίστοιχα. Το πάτημα και η απελευθέρωση του αριστερού κουμπιού θα μειώσει τη θερμοκρασία συναγερμού κατά ένα βαθμό, ενώ το πάτημα και το κράτημα του αριστερού κουμπιού θα μειώσει συνεχώς τη θερμοκρασία συναγερμού έως ότου απελευθερωθεί. Ομοίως, το πάτημα και η απελευθέρωση του δεξιού κουμπιού θα αυξήσει τη θερμοκρασία συναγερμού κατά ένα βαθμό, ενώ το πάτημα και το κράτημα του δεξιού κουμπιού θα αυξήσει συνεχώς τη θερμοκρασία συναγερμού μέχρι να απελευθερωθεί. Όταν ολοκληρώσετε τη ρύθμιση της θερμοκρασίας συναγερμού, απλώς αγγίξτε ξανά το κεντρικό κουμπί για να επιστρέψετε στην οθόνη θερμοκρασίας. Ανά πάσα στιγμή η θερμοκρασία είναι ίση ή υψηλότερη από τη θερμοκρασία συναγερμού, θα ακουστεί ο πιεζοηχητικός βομβητής.

Και όπως αναφέρθηκε, ένας αισθητήρας θερμοκρασίας NTP χρησιμοποιείται στο σχεδιασμό μαζί με τις εξισώσεις και τους συντελεστές Steinhart-Hart που είναι απαραίτητοι για ακριβείς ενδείξεις θερμοκρασίας. Έχω συμπεριλάβει μια υπερβολικά λεκτική περιγραφή της εξίσωσης Steinhart-Hart, των συντελεστών Steinhart-Hart, των διαιρέσεων τάσης και της άλγεβρας στο Βήμα 1 (ως μπόνους, με κοιμίζει κάθε φορά που το διαβάζω, οπότε μπορεί να θέλετε παραλείψτε το Βήμα 1 και κατευθυνθείτε κατευθείαν στο Βήμα 2: Συναρμολόγηση των Ηλεκτρονικών, εκτός εάν φυσικά χρειάζεστε έναν υπνάκο).

Εάν αποφασίσετε να φτιάξετε αυτό το θερμόμετρο μαγειρέματος, για προσαρμογή και τρισδιάστατη εκτύπωση έχω συμπεριλάβει τα ακόλουθα αρχεία:

  • Αρχείο Arduino "AnalogInput.ino" που περιέχει το λογισμικό για το σχεδιασμό.
  • Autodesk Fusion 360 cad αρχεία για τη θήκη που δείχνουν πώς σχεδιάστηκε η θήκη.
  • Τα αρχεία Cura 3.4.0 STL "Case, Top.stl" και "Case, Bottom.stl" είναι έτοιμα για τρισδιάστατη εκτύπωση.

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

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

Οι ηλεκτρονικές συσκευές σχεδιάστηκαν με χρήση μολυβιού, χαρτιού και μιας ηλιακής υπολογιστικής συσκευής Radio Shack EC-2006a (Cat. No. 65-962a).

Το λογισμικό σχεδιάστηκε χρησιμοποιώντας το Arduino 1.8.5.

Η θήκη σχεδιάστηκε χρησιμοποιώντας το Autodesk Fusion 360, τεμαχισμένο σε Cura 3.4.0 και εκτυπώθηκε σε PLA σε Ultimaker 2+ Extended και Ultimaker 3 Extended.

Και μια τελευταία σημείωση, δεν λαμβάνω καμία αποζημίωση σε οποιαδήποτε μορφή, συμπεριλαμβανομένων αλλά χωρίς περιορισμό σε δωρεάν δείγματα, για οποιοδήποτε από τα εξαρτήματα που χρησιμοποιούνται σε αυτό το σχέδιο

Βήμα 1: Μαθηματικά, Μαθηματικά και άλλα Μαθηματικά: Στάινχαρτ -Χαρτ, Συντελεστές και Διαχωριστές αντιστάσεων

Μαθηματικά, μαθηματικά και άλλα μαθηματικά: Steinhart – Hart, Coefficients, and Resistor Dividers
Μαθηματικά, μαθηματικά και άλλα μαθηματικά: Steinhart – Hart, Coefficients, and Resistor Dividers

Τα προηγούμενα σχέδιά μου που ενσωματώνουν έναν αισθητήρα θερμοκρασίας NTC χρησιμοποίησαν μια τεχνική αναζήτησης πίνακα για τη μετατροπή της εισερχόμενης τάσης από ένα διαχωριστή αντίστασης σε θερμοκρασία. Δεδομένου ότι το ESP32 είναι ικανό για δώδεκα bit αναλογική είσοδο και επειδή σχεδίαζα για μεγαλύτερη ακρίβεια, αποφάσισα να εφαρμόσω την εξίσωση "Steinhart-Hart" στον κώδικα για τη μετατροπή τάσης σε θερμοκρασία.

Δημοσιεύθηκε για πρώτη φορά το 1968 από τους John S. Steinhart και Stanley R. Hart, η εξίσωση Steinhart-Hart καθορίζει τη σχέση αντίστασης στη θερμοκρασία ενός αισθητήρα θερμοκρασίας NTC ως εξής:

1 / T = A + (B * (log (Thermistor)))) + (C * log (Thermistor) * log (Thermistor) * log (Thermistor))

όπου:

  • Το Τ είναι βαθμοί Κέλβιν.
  • A, B, C είναι οι συντελεστές Steinhart-Hart (περισσότερα για αυτό σε μια στιγμή).
  • Και Thermistor είναι η τιμή αντίστασης θερμίστορ αισθητήρα θερμοκρασίας στην τρέχουσα θερμοκρασία.

Γιατί λοιπόν αυτή η φαινομενικά περίπλοκη εξίσωση Steinhart-Hart είναι απαραίτητη για ένα απλό ψηφιακό θερμόμετρο με βάση τον αισθητήρα θερμοκρασίας NTC; Ένας "ιδανικός" αισθητήρας θερμοκρασίας NTC θα παρείχε μια γραμμική αντίσταση της πραγματικής θερμοκρασίας, έτσι μια απλή γραμμική εξίσωση που περιλαμβάνει εισαγωγή τάσης και κλιμάκωση θα είχε ως αποτέλεσμα μια ακριβή παρουσίαση της θερμοκρασίας. Ωστόσο, οι ανιχνευτές θερμοκρασίας NTC δεν είναι γραμμικοί και, όταν συνδυάζονται με τη μη γραμμική αναλογική είσοδο σχεδόν όλων των χαμηλού κόστους επεξεργαστών μονής πλακέτας, όπως το WiFi Kit 32, παράγουν μη γραμμικές αναλογικές εισόδους και συνεπώς ανακριβείς ενδείξεις θερμοκρασίας. Χρησιμοποιώντας μια εξίσωση όπως η Steinhart-Hart μαζί με προσεκτική βαθμονόμηση, μπορούν να επιτευχθούν υψηλής ακρίβειας μετρήσεις θερμοκρασίας χρησιμοποιώντας ανιχνευτές θερμοκρασίας NTC με χαμηλό κόστος επεξεργαστή μονής πλακέτας δημιουργώντας μια πολύ στενή προσέγγιση της πραγματικής θερμοκρασίας.

Επιστροφή λοιπόν στην εξίσωση Steinhart-Hart. Η εξίσωση χρησιμοποιεί τους τρεις συντελεστές A, B και C για τον προσδιορισμό της θερμοκρασίας ως συνάρτηση της αντίστασης του θερμίστορ. Από πού προέρχονται αυτοί οι τρεις συντελεστές; Ορισμένοι κατασκευαστές παρέχουν αυτούς τους συντελεστές με τους ανιχνευτές θερμοκρασίας NTC και άλλοι όχι. Επιπλέον, ο κατασκευαστής παρείχε συντελεστές για τον ακριβή αισθητήρα θερμοκρασίας που μπορείτε να αγοράσετε ή όχι και είναι πιθανότατα συντελεστές αντιπροσωπευτικοί ενός μεγάλου δείγματος όλων των ανιχνευτών θερμοκρασίας που παράγουν σε μια χρονική περίοδο. Και τέλος, απλά δεν μπόρεσα να εντοπίσω τους συντελεστές για τον αισθητήρα που χρησιμοποιείται σε αυτό το σχέδιο.

Χωρίς τους απαιτούμενους συντελεστές, δημιούργησα το Steinhart-Hart Spreadsheet, έναν υπολογιστή με υπολογιστικό φύλλο που βοηθά στη δημιουργία των απαιτούμενων συντελεστών για έναν αισθητήρα θερμοκρασίας NTC (έχασα τον σύνδεσμο με μια παρόμοια αριθμομηχανή που χρησιμοποιούσα πριν από πολλά χρόνια, έτσι δημιούργησα αυτόν). Για να καθορίσω τους συντελεστές για έναν αισθητήρα θερμοκρασίας, ξεκινώ μετρώντας την τιμή της αντίστασης 33k που χρησιμοποιείται στο διαχωριστή τάσης με ένα ψηφιακό ωμόμετρο και εισάγω την τιμή στην κίτρινη περιοχή του υπολογιστικού φύλλου με την ένδειξη "Resistor". Στη συνέχεια, τοποθετώ τον αισθητήρα θερμοκρασίας σε τρία περιβάλλοντα. πρώτη θερμοκρασία δωματίου, δεύτερο νερό πάγου και τρίτο βραστό νερό, μαζί με ένα γνωστό ακριβές ψηφιακό θερμόμετρο, και επιτρέπουν χρόνο για σταθεροποίηση της θερμοκρασίας στο θερμόμετρο και του αριθμού εισόδου θερμίστορ που εμφανίζεται στην οθόνη του Κιτ WiFi (περισσότερα αργότερα). Με σταθεροποιημένο τον αριθμό εισόδου θερμοκρασίας και θερμίστορ, εισάγω τη θερμοκρασία που υποδεικνύεται από το γνωστό ακριβές θερμόμετρο και τον αριθμό θερμίστορ που εμφανίζεται στην οθόνη του Κιτ WiFi 32 στην κίτρινη περιοχή του υπολογιστικού φύλλου με την ένδειξη "Degrees F from Thermometer" και "AD Μετρήστε από το WiFi Kit 32 "αντίστοιχα, για καθένα από τα τρία περιβάλλοντα. Μόλις εισαχθούν όλες οι μετρήσεις, η πράσινη περιοχή του υπολογιστικού φύλλου παρέχει τους συντελεστές Α, Β και Γ που απαιτούνται από την εξίσωση Steinhart-Hart και στη συνέχεια απλώς αντιγράφονται και επικολλούνται στον πηγαίο κώδικα.

Όπως αναφέρθηκε προηγουμένως, η έξοδος της εξίσωσης Steinhart-Hart είναι σε μοίρες Kelvin και αυτός ο σχεδιασμός εμφανίζει βαθμούς Fahrenheit. Η μετατροπή από βαθμούς Κέλβιν σε βαθμούς Φαρενάιτ έχει ως εξής:

Αρχικά, μετατρέψτε βαθμούς Κέλβιν σε βαθμούς Κελσίου αφαιρώντας 273,15 (μοίρες Κέλβιν) από την εξίσωση Steinhart-Hart:

Μοίρες C = (A + (B * (log (Thermistor)))) + (C * log (Thermistor) * log (Thermistor) * log (Thermistor))) - 273,15

Και δεύτερον, μετατρέψτε βαθμούς Κελσίου σε βαθμούς Φαρενάιτ ως εξής:

Μοίρες F = ((Μοίρες C * 9) / 5) + 32

Με την εξίσωση Steinhart-Hart και τους συντελεστές ολοκληρωμένους, απαιτείται μια δεύτερη εξίσωση για την ανάγνωση της εξόδου του διαχωριστή αντίστασης. Ένα μοντέλο του διαχωριστή αντίστασης που χρησιμοποιείται σε αυτό το σχέδιο είναι:

vRef <--- Thermistor <--- vOut <--- Resistor <--- Ground

όπου:

  • Το vRef σε αυτό το σχέδιο είναι 3.3vdc.
  • Το θερμίστορ είναι ο αισθητήρας θερμοκρασίας NTC που χρησιμοποιείται στο διαχωριστή αντίστασης.
  • vOut είναι η έξοδος τάσης του διαχωριστή αντίστασης.
  • Η αντίσταση είναι η αντίσταση 33k που χρησιμοποιείται στο διαχωριστή αντίστασης.
  • Και το έδαφος είναι, καλά, έδαφος.

v Από το διαχωριστή αντίστασης σε αυτό το σχέδιο είναι προσαρτημένο στην αναλογική είσοδο A0 WiFi Kit 32 (pin 36) και η έξοδος τάσης του διαχωριστή αντίστασης υπολογίζεται ως εξής:

vOut = vRef * Resistor / (Resistor + Thermistor)

Ωστόσο, όπως σημειώνεται στην εξίσωση Steinhart-Hart, η τιμή αντίστασης θερμίστορ απαιτείται για να ληφθεί θερμοκρασία και όχι η έξοδος τάσης του διαχωριστή αντίστασης. Έτσι, η αναδιάταξη της εξίσωσης για την έξοδο της τιμής του θερμίστορ απαιτεί τη χρήση μιας μικρής άλγεβρας ως εξής:

Πολλαπλασιάστε και τις δύο πλευρές με "(Resistor + Thermistor)", με αποτέλεσμα:

vOut * (Αντίσταση + Θερμίστορ) = vRef * Αντίσταση

Χωρίστε και τις δύο πλευρές με "vOut" με αποτέλεσμα:

Αντίσταση + Θερμίστορ = (vRef * Resistor) / vOut

Αφαιρέστε το "Resistor" και από τις δύο πλευρές με αποτέλεσμα:

Thermistor = (vRef * Resistor / vOut) - Αντίσταση

Και τέλος, χρησιμοποιώντας την ιδιότητα διανομής, απλοποιήστε:

Thermistor = Resistor * ((vRef / vOut) - 1)

Αντικαθιστώντας τον αριθμό αναλογικής εισόδου WiFi Kit 32 A0 0 έως 4095 για vOut και αντικαθιστώντας την τιμή 4096 για vRef, η εξίσωση διαχωριστή αντίστασης που παρέχει την τιμή αντίστασης θερμίστορ που απαιτείται από την εξίσωση Steinhart-Hart γίνεται:

Thermistor = Resistor * ((4096 / Analog Input Count) - 1)

Έτσι, με τα μαθηματικά πίσω μας, ας συγκεντρώσουμε κάποια ηλεκτρονικά.

Βήμα 2: Συναρμολόγηση των ηλεκτρονικών

Συναρμολόγηση των Ηλεκτρονικών
Συναρμολόγηση των Ηλεκτρονικών
Συναρμολόγηση των Ηλεκτρονικών
Συναρμολόγηση των Ηλεκτρονικών
Συναρμολόγηση των Ηλεκτρονικών
Συναρμολόγηση των Ηλεκτρονικών

Για τα ηλεκτρονικά, είχα προηγουμένως συναρμολογήσει τον δείκτη ESP32 Capacitive Touch https://www.instructables.com/id/ESP32-Capacitive… Με αυτό το συγκρότημα, απαιτούνται τα ακόλουθα πρόσθετα εξαρτήματα:

  • Πέντε, 4 "κομμάτια από σύρμα 28awg (ένα κόκκινο, ένα μαύρο, ένα κίτρινο και δύο πράσινο).
  • Ένας, ανιχνευτής Maverick "ET-72 Temperature Probe" (https://www.maverickthermometers.com/product/pr-003/).
  • Μία υποδοχή "τηλεφώνου" 2,5 mm, βάση στήριξης (https://www.mouser.com/ProductDetail/502-TR-2A).
  • Μία αντίσταση, 33k ohm 1% 1/8 watt.
  • Ένα, πίεζο βομβητή https://www.adafruit.com/product/160. Εάν επιλέξετε διαφορετικό πιεζοηλεκτρικό βομβητή, βεβαιωθείτε ότι ταιριάζει με τις προδιαγραφές αυτού (με κίνηση σε τετράγωνο κύμα, <= τρέχουσα έξοδος του ESP32).

Για τη συναρμολόγηση των πρόσθετων εξαρτημάτων, έκανα τα ακόλουθα βήματα:

  • Απογυμνώστε και κονσερβοποιήσατε τα άκρα κάθε μήκους σύρματος 4 "όπως φαίνεται.
  • Συγκολλήθηκε το ένα άκρο του κίτρινου σύρματος και το ένα άκρο της αντίστασης 33k ohm στην ακίδα "Συμβουλή" του συνδετήρα του τηλεφώνου.
  • Συγκολλήθηκε το ένα άκρο του μαύρου σύρματος στο ελεύθερο άκρο της αντίστασης 33k ohm και κόπηκε το πλεονάζον καλώδιο αντίστασης.
  • Εφαρμοσμένη σωλήνωση συρρίκνωσης θερμότητας πάνω από τα καλώδια και την αντίσταση.
  • Συγκολλήθηκε το ένα άκρο του κόκκινου σύρματος στην ακίδα "Μανίκι" στην υποδοχή του τηλεφώνου.
  • Συγκολλήθηκε το ελεύθερο άκρο του κίτρινου σύρματος στην καρφίτσα 36 στο WiFi Kit 32.
  • Συγκολλήθηκε το δωρεάν άκρο του μαύρου σύρματος στην ακίδα GND στο κιτ WiFi 32.
  • Συγκολλήθηκε το ελεύθερο άκρο του κόκκινου σύρματος στην ακίδα 3V3 στο κιτ WiFi 32.
  • Συγκολλήθηκε ένα πράσινο σύρμα σε ένα καλώδιο του πιεζοηλεκτρικού βομβητή.
  • Συγκολλήθηκε το υπόλοιπο πράσινο σύρμα στο υπόλοιπο καλώδιο του πιεζο βομβητή
  • Συγκολλήθηκε το ελεύθερο άκρο ενός από τα πράσινα πίεζο καλώδια στην καρφίτσα 32 στο WiFi Kit 32.
  • Συγκολλήθηκε το ελεύθερο άκρο των υπόλοιπων πράσινων πίεζο καλωδίων στην καρφίτσα GND στο κιτ WiFi 32.
  • Συνδέστε τον αισθητήρα θερμοκρασίας στην υποδοχή του τηλεφώνου.

Με όλες τις καλωδιώσεις ολοκληρωμένες, έλεγξα διπλά τη δουλειά μου.

Βήμα 3: Εγκατάσταση του Λογισμικού

Εγκατάσταση του Λογισμικού
Εγκατάσταση του Λογισμικού

Το αρχείο "AnalogInput.ino" είναι ένα αρχείο περιβάλλοντος Arduino που περιέχει το λογισμικό για το σχεδιασμό. Εκτός από αυτό το αρχείο, θα χρειαστείτε τη βιβλιοθήκη γραφικών "U8g2lib" για την οθόνη WiFi Kit32 OLED (ανατρέξτε στη διεύθυνση https://github.com/olikraus/u8g2/wiki για περισσότερες πληροφορίες σχετικά με αυτήν τη βιβλιοθήκη).

Με την βιβλιοθήκη γραφικών U8g2lib εγκατεστημένη στον κατάλογό σας Arduino και το "AnalogInput.ino" φορτωμένο στο περιβάλλον Arduino, μεταγλωττίστε και κατεβάστε το λογισμικό στο WiFi Kit 32. Μόλις πραγματοποιηθεί λήψη και εκτέλεση, η κορυφαία γραμμή της οθόνης OLED στο κιτ WiFi 32 θα πρέπει να διαβάζει "Θερμοκρασία" με την τρέχουσα θερμοκρασία να εμφανίζεται με μεγάλο κείμενο στο κέντρο της οθόνης.

Αγγίξτε το κεντρικό κουμπί (T5) για να εμφανίσετε την οθόνη "Ρύθμιση θερμοκρασίας συναγερμού". Ρυθμίστε τη θερμοκρασία συναγερμού πατώντας είτε το αριστερό κουμπί (T4) είτε το δεξί κουμπί (T6) όπως περιγράφεται στην εισαγωγή. Για να ελέγξετε τον συναγερμό, ρυθμίστε τη θερμοκρασία συναγερμού να είναι ίση ή χαμηλότερη από την τρέχουσα θερμοκρασία και ο συναγερμός πρέπει να ηχεί. Όταν ολοκληρώσετε τη ρύθμιση της θερμοκρασίας συναγερμού, αγγίξτε το κεντρικό κουμπί για να επιστρέψετε στην οθόνη θερμοκρασίας.

Οι τιμές dProbeA, dProbeB, dProbeC και dResistor στο λογισμικό είναι οι τιμές που προσδιόρισα κατά τη βαθμονόμηση του αισθητήρα που χρησιμοποίησα σε αυτό το σχέδιο και θα πρέπει να παράγουν μετρήσεις θερμοκρασίας ακριβείς σε λίγους βαθμούς. Εάν όχι, ή εάν επιθυμείτε υψηλότερη ακρίβεια, τότε η βαθμονόμηση είναι η επόμενη.

Βήμα 4: Βαθμονόμηση του αισθητήρα θερμοκρασίας NTP

Βαθμονόμηση του αισθητήρα θερμοκρασίας NTP
Βαθμονόμηση του αισθητήρα θερμοκρασίας NTP

Τα παρακάτω στοιχεία απαιτούνται για τη βαθμονόμηση του αισθητήρα θερμοκρασίας:

  • Ένα ψηφιακό ωμόμετρο.
  • Ένα γνωστό ακριβές ψηφιακό θερμόμετρο ικανό από 0 έως 250 βαθμούς F.
  • Ένα ποτήρι παγωμένο νερό.
  • Μια κατσαρόλα με βραστό νερό (να είστε πολύ, πολύ προσεκτικοί!).

Ξεκινήστε αποκτώντας την πραγματική τιμή αντίστασης 33k:

  • Αφαιρέστε την τροφοδοσία από την κάρτα WiFi Kit 32.
  • Αφαιρέστε τον αισθητήρα θερμοκρασίας από την υποδοχή του τηλεφώνου (μπορεί επίσης να χρειαστεί να αποκολλήσετε το μαύρο καλώδιο από το κιτ WiFi 32, ανάλογα με το ψηφιακό ωμόμετρό σας).
  • Ανοίξτε το υπολογιστικό φύλλο Steinhart-Hart.
  • Μετρήστε την τιμή της αντίστασης 33k ohm χρησιμοποιώντας το ψηφιακό ωμόμετρο και εισαγάγετε την στο κίτρινο πλαίσιο "Resistor" στο υπολογιστικό φύλλο και στη μεταβλητή "dResistor" στο λογισμικό. Ενώ αυτό μπορεί να φαίνεται υπερβολικό, μια αντίσταση 33k ohm 1% μπορεί πράγματι να επηρεάσει την ακρίβεια της ένδειξης θερμοκρασίας.
  • Συνδέστε τον αισθητήρα θερμοκρασίας στην υποδοχή του τηλεφώνου.

Στη συνέχεια λάβετε τους συντελεστές Steinhart-Hart:

  • Ενεργοποιήστε το γνωστό ακριβές ψηφιακό θερμόμετρο.
  • Συνδέστε μια πηγή τροφοδοσίας USB στο WiFi Kit 32.
  • Ταυτόχρονα πατήστε και κρατήστε πατημένο το αριστερό (T4) και το δεξί (T6) κουμπί μέχρι να εμφανιστεί η οθόνη "Thermistor Counts".
  • Επιτρέψτε τη σταθεροποίηση τόσο του ψηφιακού θερμόμετρου όσο και των μετρήσεων θερμίστορ.
  • Εισαγάγετε τους μετρητές θερμοκρασίας και θερμίστορ στις κίτρινες στήλες "Μοίρες F από το θερμόμετρο" και "AD Counts from ESP32" στη γραμμή "Δωμάτιο".
  • Τοποθετήστε τόσο το ψηφιακό θερμόμετρο όσο και τον αισθητήρα θερμίστορ στο παγωμένο νερό και αφήστε και τις δύο οθόνες να σταθεροποιηθούν.
  • Εισαγάγετε τους μετρητές θερμοκρασίας και θερμίστορ στις κίτρινες στήλες "Μοίρες F από το θερμόμετρο" και "AD Counts from ESP32" στη σειρά "Cold Water".
  • Εισάγετε τόσο το ψηφιακό θερμόμετρο όσο και τον αισθητήρα θερμίστορ σε βραστό νερό και αφήστε και τις δύο οθόνες να σταθεροποιηθούν.
  • Εισαγάγετε τους μετρητές θερμοκρασίας και θερμίστορ στις κίτρινες στήλες "Μοίρες F από το θερμόμετρο" και "AD Counts from ESP32" στη σειρά "Βραστό νερό".
  • Αντιγράψτε τον πράσινο συντελεστή "A:" στη μεταβλητή "dProbeA" στον πηγαίο κώδικα.
  • Αντιγράψτε τον πράσινο συντελεστή "B:" στη μεταβλητή "dProbeB" στον πηγαίο κώδικα.
  • Αντιγράψτε τον πράσινο συντελεστή "C:" στη μεταβλητή "dProbeC" στον πηγαίο κώδικα.

Συγκεντρώστε και κατεβάστε το λογισμικό στο WiFi Kit 32.

Βήμα 5: Τρισδιάστατη εκτύπωση της θήκης και της τελικής συναρμολόγησης

Τρισδιάστατη εκτύπωση της θήκης και της τελικής συναρμολόγησης
Τρισδιάστατη εκτύπωση της θήκης και της τελικής συναρμολόγησης
Τρισδιάστατη εκτύπωση της θήκης και της τελικής συναρμολόγησης
Τρισδιάστατη εκτύπωση της θήκης και της τελικής συναρμολόγησης
Τρισδιάστατη εκτύπωση της θήκης και της τελικής συναρμολόγησης
Τρισδιάστατη εκτύπωση της θήκης και της τελικής συναρμολόγησης

Τύπωσα τόσο το "Case, Top.stl" όσο και το "Case, Bottom.stl" σε ύψος στρώσης 0,1mm, 50% γέμισμα, χωρίς υποστηρίγματα.

Με την θήκη τυπωμένη, συγκέντρωσα τα ηλεκτρονικά και τη θήκη ως εξής:

  • Ξεκολλήσα τα καλώδια από τα τρία βύσματα οπών, πίεσα τα βύσματα τρύπας στη θέση τους στο "Case, Top.stl", έπειτα συγκολλούσα τα καλώδια στα βύσματα οπών, σημειώνοντας προσεκτικά τα αριστερά (T4), το κέντρο (T5) και τα δεξιά (T6) καλώδια και τα αντίστοιχα κουμπιά.
  • Ασφαλίστε το βύσμα του τηλεφώνου στη στρογγυλή τρύπα στο "Case, Bottom.stl" χρησιμοποιώντας το παξιμάδι που περιλαμβάνεται.
  • Τοποθετήστε το πιεζοηχητικό βομβητή στη διάταξη του κάτω φακέλου δίπλα στην υποδοχή του τηλεφώνου και ασφαλίστε στη θέση του με ταινία διπλής όψης.
  • Σύρετε το WiFi Kit 32 στη θέση του στο κάτω μέρος της θήκης, βεβαιωθείτε ότι η θύρα USB στο WiFi Kit 32 είναι ευθυγραμμισμένη με την οβάλ οπή στο κάτω μέρος της θήκης (ΜΗ πιέσετε την οθόνη OLED για να τοποθετήσετε το WiFi Kit 32 στο κάτω μέρος της θήκης συνέλευση, πιστέψτε με σε αυτό, απλά μην το κάνετε!).
  • Πιέστε τη διάταξη της επάνω θήκης στη διάταξη του πυθμένα της θήκης και στερεώθηκε στη θέση της χρησιμοποιώντας μικρές κουκκίδες παχιάς κυανοακρυλικής κόλλας στις γωνίες.

Βήμα 6: Σχετικά με το Λογισμικό

Σχετικά με το Λογισμικό
Σχετικά με το Λογισμικό

Το αρχείο "AnalogInput.ino" είναι μια τροποποίηση του αρχείου "Buttons.ino" από το προηγούμενο Instructable "https://www.instructables.com/id/ESP32-Capacitive-Touch-Buttons/". Έχω τροποποιήσει τις τρεις πρώτες ενότητες κώδικα "setup ()", "loop ()" και "InterruptService ()" για να συμπεριλάβει λογισμικό για τον ανιχνευτή και τον συναγερμό και πρόσθεσα τρεις επιπλέον ενότητες κώδικα "Analog ()", "Κουμπιά ()" και "Εμφάνιση ()" για να καθαρίσετε τον "βρόχο ()" και να προσθέσετε το απαραίτητο λογισμικό για τον αισθητήρα και τον συναγερμό.

Το "Analog ()" περιέχει τον κωδικό που απαιτείται για την ανάγνωση του αριθμού των θερμίστορ σε έναν πίνακα, τον μέσο όρο του πίνακα των μετρήσεων, τη χρήση του διαχωριστή τάσης για τη δημιουργία της τιμής του θερμίστορ και τέλος τη χρήση των εξισώσεων Steinhart-Hart και εξισώσεων μετατροπής θερμοκρασίας για τη δημιουργία βαθμών Φαρενάιτ.

Το "Buttons ()" περιέχει τον κωδικό που απαιτείται για την επεξεργασία των πιέσεων κουμπιών και την επεξεργασία της θερμοκρασίας συναγερμού.

Το "Display ()" περιέχει τον κωδικό που απαιτείται για την παρουσίαση των πληροφοριών στην οθόνη OLED.

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

Ελπίζω να το απολαύσατε (και είστε ακόμα ξύπνιοι)!

Βήμα 7: Το "Επερχόμενο Έργο"

ο
ο

Το επερχόμενο έργο, "Intelligrill® Pro", είναι μια οθόνη καπνιστών με διπλό αισθητήρα θερμοκρασίας που περιλαμβάνει:

  • Υπολογισμοί ανιχνευτή θερμοκρασίας Steinhart-Hart (σε αντίθεση με τους πίνακες "αναζήτησης") για αυξημένη ακρίβεια όπως ενσωματώνεται σε αυτό το Οδηγό.
  • Προβλεπόμενος χρόνος για την ολοκλήρωση του καθετήρα 1 που ενσωματώνει την αυξημένη ακρίβεια που προκύπτει από τους υπολογισμούς Steinhart-Hart.
  • Ένας δεύτερος ανιχνευτής, ο αισθητήρας 2, για την παρακολούθηση της θερμοκρασίας του καπνιστή (περιορίζεται από 32 έως 399 μοίρες).
  • Χωρητικά χειριστήρια εισόδου αφής (όπως στο προηγούμενο Instructable).
  • Απομακρυσμένη παρακολούθηση WIFI (με σταθερή διεύθυνση IP, επιτρέπει την παρακολούθηση της προόδου του καπνιστή από οπουδήποτε υπάρχει διαθέσιμη σύνδεση στο Διαδίκτυο).
  • Εκτεταμένο εύρος θερμοκρασίας (32 έως 399 μοίρες).
  • Ηχητικοί συναγερμοί ολοκλήρωσης τόσο στον πομπό Intelligrill® όσο και στις περισσότερες συσκευές παρακολούθησης με δυνατότητα WiFi.
  • Ένδειξη θερμοκρασίας είτε σε βαθμούς F είτε σε βαθμούς C.
  • Μορφή ώρας σε HH: MM: SS ή HH: MM. Ένδειξη μπαταρίας είτε σε βολτ είτε σε % φορτισμένη.
  • Και έξοδος PID για καπνιστές με βάση το τρυπάνι.

Το "Intelligrill® Pro" εξακολουθεί να δοκιμάζεται για να γίνει το πιο ακριβές, γεμάτο δυνατότητες και αξιόπιστο HTML με βάση το Intelligrill® που έχω σχεδιάσει. Είναι ακόμα υπό δοκιμή, αλλά με τα γεύματα που βοηθά στην προετοιμασία κατά τη διάρκεια των δοκιμών, έχω πάρει περισσότερα από μερικά κιλά.

Και πάλι, ελπίζω να το απολαύσετε!

Συνιστάται: