Κυκλώματα DC ανεμιστήρα ελεγχόμενης θερμοκρασίας Arduino

Δοκιμάστε Το Όργανο Μας Για Την Εξάλειψη Των Προβλημάτων





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

ΣΦΑΙΡΙΚΗ ΕΙΚΟΝΑ

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



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

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



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

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

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

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

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

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

Όταν η θερμοκρασία του δωματίου φτάσει τη θερμοκρασία κατωφλίου, ο ανεμιστήρας ανάβει και σβήνει όταν το δωμάτιο κρυώσει.

Αυτός μπορεί να είναι ο καλύτερος τρόπος εξοικονόμησης ενέργειας και αυτός μπορεί να είναι ο παράδεισος για τους τεμπέληδες που επιθυμούν οι άλλοι να ανάψουν τον ανεμιστήρα όταν αισθάνονται ζεστά.

Διάγραμμα κυκλώματος που δείχνει ένα στοιχείο ελέγχου ανεμιστήρα DC

Έλεγχος ανεμιστήρα DC για ρύθμιση θερμοκρασίας αυτόματα

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

Σύνδεση ρελέ για έλεγχο μεγαλύτερων ανεμιστήρων

Έλεγχος ανεμιστήρα διακόπτη ρελέ χρησιμοποιώντας αισθητήρα θερμοκρασίας Arduino

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

Αυτό το κύκλωμα μπορεί να ελέγξει έναν ανεμιστήρα επιτραπέζιου ή ανεμιστήρα οροφής ή οποιοδήποτε άλλο gadget που μπορεί να κρυώσει τη θερμοκρασία περιβάλλοντος.

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

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

ΣΗΜΕΙΩΣΗ 1: Το #Pin 7 είναι έξοδος.

ΣΗΜΕΙΩΣΗ 2: Αυτό το πρόγραμμα είναι συμβατό μόνο με αισθητήρα DHT11 μόνο.

Πρόγραμμα για το παραπάνω εξηγημένο κύκλωμα αυτόματου ρυθμιστή θερμοκρασίας χρησιμοποιώντας το Arduino:

Κωδικός προγράμματος

//--------------------Program developed by R.Girish---------------------//
#include
dht DHT
#define DHTxxPIN A1
int p = A0
int n = A2
int ack
int op = 7
int th = 30 // set thershold tempertaure in Celsius
void setup(){
Serial.begin(9600) // May be removed after testing
pinMode(p,OUTPUT)
pinMode(n,OUTPUT)
pinMode(op,OUTPUT)
digitalWrite(op,LOW)
}
void loop()
{
digitalWrite(p,1)
digitalWrite(n,0)
ack=0
int chk = DHT.read11(DHTxxPIN)
switch (chk)
{
case DHTLIB_ERROR_CONNECT:
ack=1
break
}
if(ack==0)
{
// you may remove these lines after testing, from here
Serial.print('Temperature(°C) = ')
Serial.println(DHT.temperature)
Serial.print('Humidity(%) = ')
Serial.println(DHT.humidity)
Serial.print(' ')
// To here
if (DHT.temperature>=th)
{
delay(3000)
if(DHT.temperature>=th) digitalWrite(op,HIGH)
}
if(DHT.temperature {
delay(3000)
if(DHT.temperature }
}
if(ack==1)
{
// may be removed after testing from here
Serial.print('NO DATA')
Serial.print(' ')
// To here
digitalWrite(op,LOW)
delay(500)
}
}
//-------------------------Program developed by R.Girish---------------------//

Σημείωση: Στο πρόγραμμα

int th = 30 // ορίστε τη θερμοκρασία κατωφλίου σε Κελσίου.

Αντικαταστήστε το '30' με την επιθυμητή τιμή.

Δεύτερο σχέδιο

Το δεύτερο έργο κυκλώματος ανεμιστήρα dc ελεγχόμενης θερμοκρασίας που περιγράφεται παρακάτω ανιχνεύει αυτόματα τη θερμοκρασία περιβάλλοντος και ρυθμίζει την ταχύτητα του κινητήρα του ανεμιστήρα για να διατηρεί τον περιβάλλοντα έλεγχο υπό έλεγχο. Αυτή η αυτόματη επεξεργασία γίνεται μέσω ενός Arduino και ενός αισθητήρα θερμοκρασίας IC LM35.

Με:Ankit Negi

Ο ΣΤΟΧΟΣ ΜΑΣ:

1). Μόλις η θερμοκρασία του περιβάλλοντος αυξηθεί πάνω από 25 βαθμούς Κελσίου (μπορείτε να αλλάξετε αυτήν την τιμή στο πρόγραμμα ανάλογα με τις ανάγκες σας, εξηγείται στην ενότητα εργασίας) ο κινητήρας αρχίζει να λειτουργεί.

2). Και με κάθε βαθμό αύξησης της θερμοκρασίας, η ταχύτητα του κινητήρα αυξάνεται επίσης.

3). Ο κινητήρας λειτουργεί με την τελική του ταχύτητα μόλις η θερμοκρασία αυξηθεί στους 40 βαθμούς Κελσίου (αυτή η τιμή μπορεί να αλλάξει στο πρόγραμμα).

ΑΙΣΘΗΤΗΡΑ ΘΕΡΜΟΚΡΑΣΙΑΣ LM35:

Για να επιτύχουμε την εργασία που αναφέρθηκε παραπάνω, θα χρησιμοποιήσουμε τη θερμοκρασία. Αισθητήρας LM35 καθώς χρησιμοποιείται ευρέως και εύκολα διαθέσιμος.

Το LM35 έχει 3 ακίδες όπως μπορείτε να δείτε στο σχήμα.

LM35 IC pinout

1. Vin - αυτός ο πείρος συνδέεται με τροφοδοσία DC μεταξύ 4 και 20 v.
2. Vout - αυτός ο πείρος δίνει έξοδο με τη μορφή τάσης.
3. GND - αυτός ο πείρος συνδέεται με τον τερματικό gnd του κυκλώματος.

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

Το LM35 μπορεί να αισθανθεί οποιαδήποτε θερμοκρασία. από -50 βαθμούς έως +150 βαθμούς Κελσίου και αυξάνει την παραγωγή κατά 10 millivolts με αύξηση 1 θερμοκρασίας. Έτσι, η μέγιστη τάση που μπορεί να δώσει καθώς η έξοδος είναι 1,5 βολτ.

ΓΙΑΤΙ ARDUINO ΓΙΑ ΑΥΤΟ ΤΟ ΕΡΓΟ ΕΛΕΓΧΟΥ DC FAN;

Το Arduino απαιτείται για να αλλάξει την αναλογική τιμή που λαμβάνεται από τον πείρο εξόδου του LM35 σε ψηφιακή τιμή και στέλνει την αντίστοιχη ψηφιακή έξοδο (PWM) στη βάση του mosfet.

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

ΤΙ ΕΙΝΑΙ Ο ΡΟΛΟΣ ΤΟΥ MOSFET POWER;

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

ΓΙΑΤΙ ΧΡΗΣΙΜΟΠΟΙΕΙΤΑΙ Η ΔΙΩΔΗ;

Η δίοδος χρησιμοποιείται για την προστασία του mosfet από το πίσω μέρος E.M.F που παράγεται από τον κινητήρα κατά την εκτέλεση.

ΚΑΤΑΛΟΓΟΣ ΜΕΡΩΝ ΓΙΑ ΤΟ ΕΡΓΟ:

1. LM35

2. ARDUINO

3. POWER MOSFET (IRF1010E)

POWER MOSFET (IRF1010E)

4. ΔΙΟΔΟΣ (1N4007)

ΔΙΟΔΟΣ (1N4007)

5. Ανεμιστήρας (κινητήρας)

6. ΠΡΟΜΗΘΕΙΑ ΑΥΤΟΚΙΝΗΤΟΥ

ΔΙΑΓΡΑΜΜΑ ΚΥΚΛΩΜΑΤΟΣ:

Έλεγχος ανεμιστήρα DC εξαρτώμενου από τη θερμοκρασία Arduino

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

a) Συνδέστε το πινέλο του lm358 σε 5v του arduino
β) Συνδέστε τον ακροδέκτη του lm358 στο A0 του arduino
γ) Συνδέστε τον πείρο γείωσης lm358 στο GND του arduino
δ) Συνδέστε τη βάση του mosfet στον ακροδέκτη PWM 10 του arduino

ΚΩΔΙΚΑΣ:

float x// initialise variables
int y
int z
void setup()
{
pinMode(A0,INPUT) // initialize analog pin A0 as input pin
Serial.begin(9600) // begin serial communication
pinMode(10,OUTPUT) // initialize digital pin 10 as output pin
}
void loop()
{
x=analogRead(A0) // read analog value from sensor's output pin connected to A0 pin
y=(500*x)/1023// conversion of analog value received from sensor to corresponding degree Celsius (*formula explained in working section)
z=map(x,0,1023,0,255) // conversion of analog value to digital value
Serial.print('analog value ')
Serial.print( x) // print analog value from sensor's output pin connected to A0 pin on serial monitor( called 'analog value')
Serial.print(' temperature ')
Serial.print( y) // print the temprature on serial monitor( called 'temprature')
Serial.print(' mapped value ')
Serial.print( z*10) // multiply mapped value by 10 and print it ( called ' mapped value ' )
Serial.println()
delay(1000) // 1 sec delay between each print.
if(y>25)
{analogWrite(10,z*10) // when temp. rises above 25 deg, multiply digital value by 10 and write it on PWM pin 10 ( ** explained in working section)
}
else
{analogWrite(10,0) // in any other case PWM on pin 10 must be 0
}
}

ΕΡΓΑΣΙΑ (κωδικός κατανόησης):

ΕΝΑ). ΔΙΑΦΟΡΑ X-

Αυτή είναι απλώς η αναλογική τιμή που λαμβάνεται από τον αριθμό pin. A0 από τον πείρο εξόδου του LM35.

ΣΙ). ΜΕΤΑΒΛΗΤΕΣ ΚΑΙ-

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

Υ = (500 * x) / 1023
1. Η πρώτη αναλογική τιμή πρέπει να αλλάξει στην αντίστοιχη τάση, δηλαδή
1023: 5ν
Ως εκ τούτου, (5000 millivolt * x) / 1023 V
2. Τώρα γνωρίζουμε ότι για κάθε βαθμό αύξηση της θερμοκρασίας, η αντίστοιχη έξοδος τάσης αυξάνεται κατά 10 mv, δηλαδή.
1 βαθμός Κελσίου: 10 millivolts
Ως εκ τούτου, (5000 millivolt * x) / (1023 * 10) DEGREE

ΝΤΟ). ΔΙΑΦΟΡΑ Ζ-

z = χάρτης (x, 0, 1023, 0,255)
Αυτή η μεταβλητή αλλάζει την αναλογική τιμή σε ψηφιακή τιμή για έξοδο pwm στον ακροδέκτη 10.

ΣΗΜΕΙΩΣΗ :: Γνωρίζουμε ότι το lm35 μπορεί να παρέχει μέγιστο 1,5 volt και αυτό επίσης όταν η θερμοκρασία. Είναι 150 βαθμοί. που δεν είναι πρακτικό.

Αυτό σημαίνει ότι για 40 βαθμούς Κελσίου παίρνουμε 0,40 βολτ και για 25 βαθμούς παίρνουμε 0,25 βολτ. Δεδομένου ότι αυτές οι τιμές είναι πολύ χαμηλές για το σωστό pwm στο mosfet, πρέπει να τον πολλαπλασιάσουμε με έναν παράγοντα.

Ως εκ τούτου το πολλαπλασιάζουμε με 10 και αντ 'αυτού δίνουμε αυτήν την τιμή ως αναλογική έξοδο στον ακροδέκτη PWM 10, δηλ.

** analogWrite (10, z * 10)

Τώρα, για 0,25 βολτ το mosfet παίρνει 0,25 * 10 = 2,5 βολτ

Για 0,40 βολτ το mosfet παίρνει 0,40 * 10 = 4 βολτ με τον οποίο ο κινητήρας λειτουργεί σχεδόν σε πλήρη ταχύτητα

ΠΕΡΙΠΤΩΣΗ 1. Όταν η θερμοκρασία. Είναι λιγότερο από 25 βαθμούς

Σε αυτήν την περίπτωση, το arduino στέλνει 0 τάση PWM στον ακροδέκτη 10 όπως στην τελευταία γραμμή κώδικα

** αλλιώς
{analogWrite (10,0) // σε κάθε άλλη περίπτωση το PWM στον ακροδέκτη 10 πρέπει να είναι 0
} **

Επειδή η τάση pwm στη βάση του mosfet είναι 0, παραμένει απενεργοποιημένη και ο κινητήρας αποσυνδέεται από το κύκλωμα.

Δείτε το προσομοιωμένο κύκλωμα σε αυτήν την περίπτωση.

Προσομοίωση ελέγχου ανεμιστήρων Arduino

Όπως μπορείτε να δείτε, η θερμοκρασία είναι 20 βαθμός ως εκ τούτου

Αναλογική τιμή = 41
Θερμοκρασία = 20
Αντιστοιχισμένη τιμή = 100

Αλλά επειδή η θερμοκρασία είναι μικρότερη από 25 βαθμούς, ως εκ τούτου το mosfet παίρνει 0 volt όπως φαίνεται στο σχήμα (υποδεικνύεται με μπλε κουκκίδα).
ΠΕΡΙΠΤΩΣΗ 2. Όταν η θερμοκρασία. Είναι μεγαλύτερη από 25 μοίρες

Όταν η θερμοκρασία φτάσει τους 25 βαθμούς, τότε όπως ορίζεται στον κωδικό, το σήμα pwm αποστέλλεται στη βάση του mosfet και με κάθε βαθμό αύξησης της θερμοκρασίας, αυτή η τάση PWM αυξάνεται, δηλαδή.

if(y>25)
{analogWrite(10,z*10)
} which is z* 10.

Δείτε το προσομοιωμένο κύκλωμα σε αυτήν την περίπτωση.

Όπως μπορείτε να δείτε καθώς η θερμοκρασία αυξάνεται από 20 βαθμούς έως και 40 βαθμούς, και οι τρεις τιμές αλλάζουν και στους 40 βαθμούς Κελσίου

Αναλογική τιμή = 82
Θερμοκρασία = 40
Αντιστοιχισμένη τιμή = 200

Δεδομένου ότι η θερμοκρασία είναι μεγαλύτερη από 25 βαθμούς, ως εκ τούτου το mosfet λαμβάνει αντίστοιχη τάση PWM όπως φαίνεται στο σχήμα (υποδεικνύεται με κόκκινη κουκκίδα).

Ως εκ τούτου, ο κινητήρας αρχίζει να λειτουργεί στους 25 βαθμούς και με αντίστοιχη αύξηση της θερμοκρασίας ανά βαθμό, η τάση pwm από τον πείρο 10 στη βάση του mosfet αυξάνεται επίσης. Ως εκ τούτου, η ταχύτητα του κινητήρα αυξάνεται γραμμικά με την αύξηση της θερμοκρασίας και γίνεται σχεδόν μέγιστη για 40 βαθμούς Κελσίου.

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




Προηγούμενο: Απλό κύκλωμα προστασίας ψυγείου Επόμενο: Πώς να σχεδιάσετε ένα κύκλωμα αδιάλειπτης τροφοδοσίας (UPS)