- Απαιτούμενο υλικό
- Διάγραμμα κυκλώματος
- Αναμετάδοση:
- Υπολογισμός θερμοκρασίας χρησιμοποιώντας θερμίστορ:
- Κωδικός Arduino
- Λειτουργία συστήματος ελέγχου οικιακού αυτοματισμού θερμοκρασίας:
Ας υποθέσουμε ότι κάθεστε σε ένα δωμάτιο και αισθάνεστε κρύο και θέλετε ο θερμαντήρας σας να ενεργοποιείται αυτόματα και, στη συνέχεια, να σβήνει μετά από λίγο καιρό όταν η θερμοκρασία του δωματίου αυξάνεται, τότε αυτό το έργο σάς βοηθά να ελέγχετε αυτόματα τις οικιακές σας συσκευές ανάλογα με τη θερμοκρασία. Εδώ ελέγχουμε τις οικιακές συσκευές AC με το Arduino με βάση τη θερμοκρασία. Εδώ χρησιμοποιήσαμε το Thermistor για να διαβάσουμε τη θερμοκρασία. Ήδη διασυνδέσαμε το Thermistor με το Arduino και εμφανίσαμε τη Θερμοκρασία στην οθόνη LCD.
Σε αυτό το σεμινάριο, θα συνδέσουμε μια συσκευή AC με Relay και θα φτιάξουμε ένα σύστημα αυτοματισμού οικιακού ελέγχου με θερμοκρασία χρησιμοποιώντας το Arduino. Δείχνει επίσης τη θερμοκρασία και την κατάσταση της συσκευής στην οθόνη LCD 16 * 2 που είναι συνδεδεμένη με το κύκλωμα.
Απαιτούμενο υλικό
- Arduino UNO
- Ρελέ (5v)
- Οθόνη LCD 16 * 2
- Λάμπα φωτός (CFL)
- Θερμίστορ NTC 10k
- Σύνδεση καλωδίων
- Αντίσταση (1k και 10k ohms)
- Ποτενσιόμετρο (10k)
Διάγραμμα κυκλώματος
Αυτό το σύστημα οικιακού αυτοματισμού με βάση τη θερμοκρασία αποτελείται από διάφορα εξαρτήματα όπως πλακέτα Arduino, οθόνη LCD, ρελέ και θερμίστορ. Η λειτουργία εξαρτάται κυρίως από το ρελέ και το θερμίστορ καθώς η θερμοκρασία αυξάνεται το ρελέ θα ενεργοποιηθεί και εάν η θερμοκρασία μειωθεί κάτω από την προκαθορισμένη τιμή τότε το ρελέ θα απενεργοποιηθεί. Η οικιακή συσκευή που είναι συνδεδεμένη με το ρελέ θα ενεργοποιηθεί και θα απενεργοποιηθεί ανάλογα. Εδώ έχουμε χρησιμοποιήσει έναν λαμπτήρα CFL ως συσκευή AC. Ολόκληρη η διαδικασία ενεργοποίησης και η ρύθμιση της τιμής θερμοκρασίας εκτελούνται από τον προγραμματισμένο πίνακα Arduino. Μας δίνει επίσης λεπτομέρειες σχετικά με την αλλαγή της θερμοκρασίας σε κάθε μισό δευτερόλεπτο και την κατάσταση της συσκευής στην οθόνη LCD.
Αναμετάδοση:
Το ρελέ είναι ένας ηλεκτρομαγνητικός διακόπτης, ο οποίος ελέγχεται από μικρό ρεύμα και χρησιμοποιείται για την ενεργοποίηση και απενεργοποίηση σχετικά πολύ μεγαλύτερου ρεύματος. Με την εφαρμογή μικρού ρεύματος μπορούμε να ενεργοποιήσουμε το ρελέ το οποίο επιτρέπει τη ροή πολύ μεγαλύτερου ρεύματος. Ένα ρελέ είναι ένα καλό παράδειγμα ελέγχου των συσκευών εναλλασσόμενου ρεύματος (εναλλασσόμενου ρεύματος), χρησιμοποιώντας πολύ μικρότερο ρεύμα DC. Το ρελέ που χρησιμοποιείται συνήθως είναι το ρελέ μονής πόλης διπλής ρίψης (SPDT), έχει πέντε ακροδέκτες όπως παρακάτω:
Όταν δεν υπάρχει τάση στο πηνίο, το COM (κοινό) συνδέεται στο NC (κανονικά κλειστή επαφή) Όταν εφαρμόζεται κάποια τάση στο πηνίο, το παραγόμενο ηλεκτρομαγνητικό πεδίο, το οποίο προσελκύει το Armature (μοχλός συνδεδεμένος στο ελατήριο) και COM και NO (συνήθως ανοιχτή επαφή) συνδέονται, που επιτρέπουν τη ροή ενός μεγαλύτερου ρεύματος. Τα ρελέ διατίθενται σε πολλές βαθμολογίες, εδώ χρησιμοποιήσαμε ρελέ τάσης λειτουργίας 5V, το οποίο επιτρέπει τη ροή ρεύματος 7A-250VAC.
Το ρελέ διαμορφώνεται χρησιμοποιώντας ένα μικρό κύκλωμα οδήγησης που αποτελείται από ένα τρανζίστορ, μια δίοδο και μια αντίσταση. Το τρανζίστορ χρησιμοποιείται για την ενίσχυση του ρεύματος έτσι ώστε το πλήρες ρεύμα (από την πηγή DC - μπαταρία 9v) να μπορεί να ρέει μέσω ενός πηνίου για να το ενεργοποιήσει πλήρως. Η αντίσταση χρησιμοποιείται για να παρέχει πόλωση στο τρανζίστορ. Και η δίοδος χρησιμοποιείται για την αποτροπή αντίστροφης ροής ρεύματος, όταν το τρανζίστορ είναι απενεργοποιημένο. Κάθε πηνίο επαγωγής παράγει ίσο και αντίθετο EMF όταν απενεργοποιείται ξαφνικά, αυτό μπορεί να προκαλέσει μόνιμη ζημιά στα εξαρτήματα, επομένως η δίοδος πρέπει να χρησιμοποιηθεί για την αποτροπή αντίστροφης ροής. Μια μονάδα ρελέ διατίθεται εύκολα στην αγορά με όλο το κύκλωμα οδήγησης στο ταμπλό ή μπορείτε να τη δημιουργήσετε χρησιμοποιώντας τα παραπάνω στοιχεία. Εδώ έχουμε χρησιμοποιήσει την ενότητα 5V Relay
Υπολογισμός θερμοκρασίας χρησιμοποιώντας θερμίστορ:
Γνωρίζουμε από το κύκλωμα διαχωριστή τάσης ότι:
V out = (V σε * Rt) / (R + Rt)
Έτσι, η τιμή του Rt θα είναι:
Rt = R (Vin / Vout) - 1
Εδώ το Rt θα είναι η αντίσταση του θερμίστορ (Rt) και το R θα είναι 10k ohm αντίσταση.
Αυτή η εξίσωση χρησιμοποιείται για τον υπολογισμό της αντίστασης θερμίστορ από τη μετρούμενη τιμή της τάσης εξόδου Vo. Μπορούμε να πάρουμε την τιμή του Voltage Vout από την τιμή ADC στον ακροδέκτη A0 του Arduino, όπως φαίνεται στον παρακάτω κώδικα Arduino.
Υπολογισμός θερμοκρασίας από την αντίσταση του θερμίστορ
Μαθηματικά η αντίσταση των θερμίστορ μπορεί να υπολογιστεί μόνο με τη βοήθεια της εξίσωσης Stein-Hart
T = 1 / (A + B * ln (Rt) + C * ln (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 για αυτές τις ελεγχόμενες θερμοκρασίες οικιακές συσκευές παρέχεται στο τέλος αυτού του άρθρου. Εδώ έχουμε εξηγήσει μερικά μέρη του.
Για την εκτέλεση μαθηματικής λειτουργίας χρησιμοποιούμε το αρχείο Header "#include
#περιλαμβάνω
Για τη ρύθμιση του ρελέ (ως έξοδος) και της LCD κατά την έναρξη πρέπει να γράψουμε κώδικα στο κενό μέρος ρύθμισης
Άκυρη ρύθμιση () {lcd.begin (16,2); lcd.clear (); pinMode (RELAY, OUTPUT); }
Για τον υπολογισμό της θερμοκρασίας με την εξίσωση 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))));
Και αυτή η τιμή λαμβάνεται από τη συνάρτηση Thermistor και στη συνέχεια ο υπολογισμός ξεκινά την εκτύπωση
Float Thermistor (int Vo)
Πρέπει να γράψουμε τον κωδικό για την κατάσταση ενεργοποίησης και απενεργοποίησης του φωτός ανάλογα με τη θερμοκρασία καθώς ορίζουμε την τιμή της θερμοκρασίας, όπως εάν η θερμοκρασία αυξηθεί περισσότερο από 28 βαθμούς Κελσίου, τα φώτα θα ανάψουν εάν λιγότερα τα φώτα παραμένουν σβηστά. Επομένως, όποτε η θερμοκρασία υπερβαίνει τους 28 βαθμούς, πρέπει να κάνουμε το RELAY Pin (PIN 8) ψηλό για να ενεργοποιήσουμε τη μονάδα ρελέ. Και όταν η θερμοκρασία πέσει κάτω από 28 μοίρες, πρέπει να χαμηλώσουμε τον πείρο RELAY για να απενεργοποιήσουμε τη μονάδα ρελέ.
εάν (Tc> 28) digitalWrite (RELAY, HIGH), lcd.setCursor (0,1), lcd.print ("Κατάσταση φωτός: ON"), καθυστέρηση (500); αλλιώς εάν (Tc <28) digitalWrite (RELAY, LOW), lcd.setCursor (0,1), lcd.print ("Status light: OFF"), καθυστέρηση (500);
Λειτουργία συστήματος ελέγχου οικιακού αυτοματισμού θερμοκρασίας:
Για να δώσετε την τροφοδοσία στο Arduino μπορείτε να το τροφοδοτήσετε μέσω USB στον φορητό σας υπολογιστή ή να συνδέσετε προσαρμογέα 12v. Μια LCD διασυνδέεται με το Arduino για την εμφάνιση τιμών θερμοκρασίας, το θερμίστορ και το ρελέ συνδέονται σύμφωνα με το διάγραμμα κυκλώματος. Ο αναλογικός πείρος (A0) χρησιμοποιείται για τον έλεγχο της τάσης του πείρου θερμίστορ κάθε στιγμή και μετά τον υπολογισμό χρησιμοποιώντας την εξίσωση Stein-Hart μέσω του κωδικού Arduino μπορούμε να πάρουμε τη θερμοκρασία και να την εμφανίσουμε σε LCD στους Κελσίου και Φαρενάιτ.
Καθώς η θερμοκρασία αυξάνεται περισσότερο από 28 βαθμούς Κελσίου, το Arduino κάνει τη μονάδα ρελέ ενεργοποιημένη κάνοντας το Pin 8 HIGH (όπου είναι συνδεδεμένο η μονάδα ρελέ) όταν η θερμοκρασία πέσει κάτω από 28 βαθμούς Το Arduino απενεργοποιεί τη μονάδα ρελέ κάνοντας το Pin LOW. Ο λαμπτήρας CFL θα ενεργοποιηθεί και θα απενεργοποιηθεί σύμφωνα με τη μονάδα ρελέ.
Αυτό το σύστημα μπορεί να είναι πολύ χρήσιμο σε έργο ελεγχόμενης θερμοκρασίας ανεμιστήρα και αυτόματου ελεγκτή θερμοκρασίας AC.
Ελέγξτε επίσης τους πολλούς τύπους Έργων οικιακών αυτοματισμών χρησιμοποιώντας διαφορετικές τεχνολογίες και μικροελεγκτές όπως: