Μετάβαση στο κύριο περιεχόμενο

Διασύνδεση αισθητήρα θερμοκρασίας TMP36 με Arduino

 

Διασύνδεση αισθητήρα θερμοκρασίας TMP36 με Arduino

Ένας από τους ευκολότερους και φθηνούς τρόπους για να προσθέσετε ανίχνευση θερμοκρασίας στο έργο σας Arduino είναι να χρησιμοποιήσετε τον αισθητήρα θερμοκρασίας TMP36. Αυτοί οι αισθητήρες είναι αρκετά ακριβείς και δεν χρειάζονται εξωτερικά εξαρτήματα για να λειτουργήσουν. Έτσι, με λίγες μόνο συνδέσεις και κάποιο κωδικό Arduino θα ανιχνεύσετε τη θερμοκρασία σε χρόνο μηδέν!

Αισθητήρας θ
Μεταφόρτωση: Μεταφορτώθηκαν 11881 από 11881 byte.

ερμοκρασίας TMP36

Το TMP36 είναι ένας αισθητήρας θερμοκρασίας χαμηλής τάσης, ακριβείας, που κατασκευάζεται από την Analog Devices. Είναι ένα τσιπ που παρέχει τάση εξόδου που είναι γραμμικά ανάλογη με τη θερμοκρασία σε °C και, επομένως, είναι πολύ εύκολο στη χρήση με ένα Arduino.

tmp36 αισθητήρας θερμοκρασίας

Ο αισθητήρας θερμοκρασίας TMP36 είναι αρκετά ακριβής, δεν φθείρεται ποτέ, λειτουργεί υπό πολλές περιβαλλοντικές συνθήκες και δεν απαιτεί εξωτερικά εξαρτήματα για να λειτουργήσει. Επιπλέον, ο αισθητήρας TMP36 δεν απαιτεί βαθμονόμηση και παρέχει τυπική ακρίβεια ±1°C στους +25°C και ±2°C στο εύρος θερμοκρασίας από -40°C έως +125°C.

Ο αισθητήρας μπορεί να τροφοδοτηθεί με τροφοδοτικό 2,7V έως 5,5V και καταναλώνει μόνο 50µA κατά τις ενεργές μετατροπές θερμοκρασίας, παρέχοντας πολύ χαμηλή αυτοθέρμανση (λιγότερο από 0,1°C στον ακίνητο αέρα). Επιπλέον, παρέχεται μια λειτουργία τερματισμού λειτουργίας για τη μείωση του ρεύματος τροφοδοσίας σε λιγότερο από 0,5 µA.

Δοκιμή του αισθητήρα TMP36

Η δοκιμή του TMP36 είναι αρκετά εύκολη, απλώς συνδέστε τον αριστερό πείρο σε τροφοδοτικό 2,7-5,5 V (Δύο μπαταρίες AA λειτουργούν τέλεια) και τη δεξιά ακίδα στη γείωση (υποθέτοντας ότι η επίπεδη πλευρά του αισθητήρα είναι στραμμένη προς το μέρος σας). Τώρα συνδέστε το πολύμετρό σας σε λειτουργία τάσης DC στη γείωση και στη μεσαία ακίδα. Σε θερμοκρασία δωματίου (25°C), η τάση πρέπει να είναι περίπου 0,75 V.

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

Pinout αισθητήρα TMP36

Το TMP36 διατίθεται σε τρεις διαφορετικούς παράγοντες μορφής, αλλά ο πιο κοινός τύπος είναι το πακέτο TO-92 3 ακίδων, το οποίο μοιάζει ακριβώς με τρανζίστορ. Ας ρίξουμε μια ματιά στο pinout του.



+Vsείναι το τροφοδοτικό για τον αισθητήρα που μπορεί να είναι μεταξύ 2,7V και 5,5V.

ΒουτΗ ακίδα παράγει μια αναλογική τάση που είναι ευθέως ανάλογη (γραμμική) με τη θερμοκρασία. Θα πρέπει να συνδεθεί σε μια αναλογική είσοδο (ADC).

GNDείναι μια καρφίτσα γείωσης.

Σύνδεση του αισθητήρα θερμοκρασίας TMP36 σε ένα Arduino

Η σύνδεση του TMP36 σε ένα Arduino είναι εξαιρετικά απλή. Χρειάζεται μόνο να συνδέσετε τρεις ακίδες: δύο για τροφοδοσία και μία για την ανάγνωση της τιμής του αισθητήρα.

Ο αισθητήρας μπορεί να τροφοδοτηθεί από έξοδο 3,3 ή 5 V. Η θετική τάση συνδέεται στο '+Vs' και η γείωση συνδέεται στο 'GND'. Η μεσαία ακίδα 'Vout' είναι η έξοδος αναλογικού σήματος από τον αισθητήρα και συνδέεται με την αναλογική είσοδο A0 ενός Arduino.

Παρακάτω είναι η σύνδεση για τα πειράματα με το TMP36:


Για να μετρήσετε τη θερμοκρασία του αέρα, αφήστε τον αισθητήρα στην ύπαιθρο ή προσαρτήστε τον σε ένα αντικείμενο του οποίου θέλετε να μετρήσετε τη θερμοκρασία, όπως ένα κροτπ.

Ανάγνωση των αναλογικών δεδομένων θερμοκρασίας

Όπως μπορείτε να δείτε στο παραπάνω διάγραμμα καλωδίωσης, η έξοδος του TMP36 συνδέεται σε μία από τις αναλογικές εισόδους του Arduino. Η τιμή αυτής της αναλογικής εισόδου μπορεί να διαβαστεί με τη analogRead()συνάρτηση.

Ωστόσο, η analogRead()λειτουργία δεν επιστρέφει στην πραγματικότητα την τάση εξόδου του αισθητήρα. Αντίθετα, αντιστοιχίζει την τάση εισόδου μεταξύ 0 και της τάσης αναφοράς ADC (τεχνικά είναι η τάση λειτουργίας, π.χ. 5 V ή 3,3 V εκτός αν την αλλάξετε) σε ακέραιες τιμές 10 bit που κυμαίνονται από 0 έως 1023. Για να μετατρέψετε αυτήν την τιμή πίσω σε την τάση εξόδου του αισθητήρα, χρησιμοποιήστε αυτόν τον τύπο:

Vout = (ανάγνωση από το ADC) * (5 / 1024)

Αυτός ο τύπος μετατρέπει τον αριθμό 0-1023 από το ADC σε 0-5V

Εάν χρησιμοποιείτε Arduino 3,3 V, θα θέλετε να χρησιμοποιήσετε αυτό:

Vout = (ανάγνωση από το ADC) * (3.3 / 1024)

Αυτός ο τύπος μετατρέπει τον αριθμό 0-1023 από το ADC σε 0-3,3V

Στη συνέχεια, για να μετατρέψετε τα βολτ σε θερμοκρασία, χρησιμοποιήστε αυτόν τον τύπο:

Θερμοκρασία (°C) = (Vout – 0,5) * 100

Κωδικός Arduino – Απλό Θερμόμετρο

Το παρακάτω σκίτσο δείχνει έναν γρήγορο τρόπο ανάγνωσης ενός αισθητήρα θερμοκρασίας TMP36 και μπορεί να χρησιμεύσει ως βάση για πιο πρακτικά πειράματα και έργα. Απλώς διαβάζει την τιμή από το TMP36 χρησιμοποιώντας την αναλογική θύρα A0 και εκτυπώνει την τρέχουσα θερμοκρασία (σε °C και °F) στη σειριακή οθόνη. Προχωρήστε και ανεβάστε το στο Arduino σας.

// Define the analog pin, the TMP36's Vout pin is connected to

#define sensorPin A0


void setup() {

  // Begin serial communication at 9600 baud rate

  Serial.begin(9600);

}

void loop() {

  // Get the voltage reading from the TMP36

  int reading = analogRead(sensorPin);


  // Convert that reading into voltage

  // Replace 5.0 with 3.3, if you are using a 3.3V Arduino

  float voltage = reading * (5.0 / 1024.0);


  // Convert the voltage into the temperature in Celsius

  float temperatureC = (voltage - 0.5) * 100;


  // Print the temperature in Celsius

  Serial.print("Temperature: ");

  Serial.print(temperatureC);

  Serial.print("\xC2\xB0"); // shows degree symbol

  Serial.print("C  |  ");

  

  // Print the temperature in Fahrenheit

  float temperatureF = (temperatureC * 9.0 / 5.0) + 32.0;

  Serial.print(temperatureF);

  Serial.print("\xC2\xB0"); // shows degree symbol

  Serial.println("F");


  delay(1000); // wait a second between readings

}

Βελτίωση της ακρίβειας του αισθητήρα TMP36

Επειδή δεν διαμορφώσαμε την τάση αναφοράς (ARef) που χρησιμοποιείται για την αναλογική είσοδο (η προεπιλεγμένη αναλογική αναφορά στις πλακέτες 5V Arduino είναι 5 βολτ), η μέγιστη ανάλυση που παίρνουμε από το ADC είναι 5/1024 = 4,88 mV ή 0,49°C.

Για καλύτερα αποτελέσματα, η χρήση της τάσης αναφοράς 3,3v ως Aref αντί για τα 5V θα είναι πιο ακριβής και λιγότερο θορυβώδης. Με 3,3V ως τάση αναφοράς, έχουμε ανάλυση 3,3/1024 = 3,22 mV ή 0,32°C.

Για να χρησιμοποιήσετε την ακίδα 3,3v ως αναλογική αναφορά, συνδέστε την στην είσοδο AREF (Αναλογική αναφορά) ως εξής.

Επίσης πρέπει να κάνετε κάποιες αλλαγές στον κώδικα. Έχω επισημάνει τις γραμμές που πρέπει να προσθέσετε/αλλάξετε στον παρακάτω κώδικα:

// Define the analog pin, the TMP36's Vout pin is connected to

#define sensorPin A0


// Tie ARef to 3.3V

#define aref_voltage 3.3


void setup() {

  // Begin serial communication at 9600 baud rate

  Serial.begin(9600);


  // If you want to set the aref to something other than 5v

  analogReference(EXTERNAL);

}


void loop() {

  // Get the voltage reading from the TMP36

  int reading = analogRead(sensorPin);


  // Convert that reading into voltage

  float voltage = reading * (aref_voltage / 1024.0);


  // Convert the voltage into the temperature in Celsius

  float temperatureC = (voltage - 0.5) * 100;


  // Print the temperature in Celsius

  Serial.print("Temperature: ");

  Serial.print(temperatureC);

  Serial.print("\xC2\xB0"); // shows degree symbol

  Serial.print("C  |  ");

  

  // Print the temperature in Fahrenheit

  float temperatureF = (temperatureC * 9.0 / 5.0) + 32.0;

  Serial.print(temperatureF);

  Serial.print("\xC2\xB0"); // shows degree symbol

  Serial.println("F");


  delay(1000); // wait a second between readings

}


Μια εναλλακτική λύση στο TMP36 είναι η χρήση ψηφιακού αισθητήρα θερμοκρασίας όπως ο DS18B20 που διατίθεται στην ίδια συσκευασία. Οι ψηφιακοί αισθητήρες θερμοκρασίας έχουν καλύτερη προστασία από το θόρυβο, κάτι που είναι χρήσιμο όταν ο αισθητήρας τοποθετείται σε απόσταση ή σε ηλεκτρικά θορυβώδες περιβάλλον.

Σχόλια

Δημοφιλείς αναρτήσεις από αυτό το ιστολόγιο

PWM στο Arduino

  PWM στο Arduino Εισαγωγή στο PWM Η διαμόρφωση πλάτους παλμού (PWM)   είναι μια τεχνική με την οποία το πλάτος ενός παλμού μεταβάλλεται διατηρώντας τη συχνότητα του κύματος σταθερή. Είναι μια μέθοδος παραγωγής αναλογικού σήματος με χρήση ψηφιακής πηγής. Γενιά PWM   Ένα σήμα PWM αποτελείται από δύο κύρια στοιχεία που καθορίζουν τη συμπεριφορά του: έναν  κύκλο λειτουργίας  και μια  συχνότητα  .   Τι είναι ο κύκλος λειτουργίας του σήματος Η περίοδος ενός παλμού αποτελείται από έναν  κύκλο  ON   (5V) και έναν    κύκλο  OFF  (0V). Το κλάσμα για το οποίο το σήμα είναι ενεργοποιημένο για μια περίοδο είναι γνωστό ως   κύκλος λειτουργίας  . Π.χ.  Ένας παλμός με περίοδο 10 ms θα παραμείνει ενεργός (υψηλό) για 2 ms. Επομένως, ο κύκλος λειτουργίας θα είναι D = 2ms / 10ms = 20%   Μέσω της τεχνικής PWM, μπορούμε να ελέγξουμε την ισχύ που παρέχεται στο φορτίο χρησιμοποιώντας το σήμα ON-O...

Tmp36GZ θερμόμετρο με LCD οθόνη

 Tmp36GZ με LCD οθόνη // Define to which pin of the Arduino the output of the TMP36 is connected: #include <LiquidCrystal_I2C.h> // Look for LiquidCrystal I2C library by Marco Schwartz LiquidCrystal_I2C lcd ( 0x 27 , 16 , 2 ) ;  // set the LCD address to 0x3F for a 16 chars and 2 line display #define sensorPin A0 void setup () {   // Begin serial communication at a baud rate of 9600:   Serial . begin ( 9600 ) ;   lcd . init () ;   lcd . clear () ;           lcd . backlight () ;      // Make sure backlight is on     // Print a message on both lines of the LCD.   lcd . setCursor ( 2 , 0 ) ;   //Set cursor to character 2 on line 0   lcd . print ( "Hello world!" ) ;     lcd . setCursor ( 2 , 1 ) ;   //Move cursor to character 2 on line 1   lcd . print ( "LCD Tutorial" ) ; } void loop () {   // Get a reading from the temperature sensor:   int reading ...

Πώς να χρησιμοποιήσετε ένα Breadboard

  Πώς να χρησιμοποιήσετε ένα Breadboard Το breadboard έχει εσωτερικές συνδέσεις μεταξύ των οπών του. Μερικές κάθετες συνδέσεις και μερικές οριζόντιες συνδέσεις. Κανονικά, χρησιμοποιείτε τις κολώνες στα πλάγια για να συνδέσετε το τροφοδοτικό σας. Και χρησιμοποιείτε τις σειρές στη μέση για να συνδέσετε τα στοιχεία σας. Στήλες Τροφοδοτικού Είναι σύνηθες να χρησιμοποιείτε τις στήλες στα αριστερά και δεξιά για τη σύνδεση του τροφοδοτικού. Αυτές οι στήλες συνδέονται κάθετα. Έτσι, εάν συνδέσετε 5 βολτ στην επάνω οπή μιας από τις πλευρικές κολώνες, θα έχετε 5 βολτ σε όλες τις οπές αυτής της στήλης. Χρησιμοποιήστε τις στήλες που επισημαίνονται με κόκκινη γραμμή για το συν και τη στήλη με μπλε γραμμή για το μείον. Τέλος φόρμας Σημείωση: Μερικές μεγαλύτερες πλάκες   breadboard χωρίζονται στα δύο έτσι ώστε το πάνω μισό να αποσυνδεθεί από το κάτω μισό. Αυτό υποδεικνύεται από τις κατακόρυφες μπλε και κόκκινες γραμμές που χωρίζονται στα δύο.   Περιοχή Συστατικού Σ...