Για σας..
Συνήθως οι περισσότεροι όταν χρησιμοποιούν σε κάποια κατασκευή τους ρελε τους αγοράζουν έτοιμους με τα προστατευτικά τους (σε πλακέτα με resistor /optocoupler / επαφές κ.λ.π. ) και απλά τον τοποθετούν στην κατασκευή τους και με τον κατάλληλο προγραμματισμό ενεργοποιείται η απενεργοποιείται το πηνίο του με αποτέλεσμα να κλίνει η να ανοίγει την ή τις επαφές του.
Σχεδόν όλοι γνωρίζουν ότι το ρελέ δεν είναι τίποτα άλλο από έναν Μονό ή Πολλαπλό ηλεκτρικό διακόπτη.
Έναs απλός κώδικας σε Arduino για να τον ελέγχουμε ή και να τον χρησιμοποιήσουμε είναι κάτι σαν το παρακάτω πρόγραμμα. Την συνδεσμολογία του την βλέπομαι στο Σχήμα 1
Κώδικάς για το Σχήμα 1:
//
//
const byte rele
= 8;// Στο Pin 8 του Arduino το int του ρελέ
//
void
setup() {
Serial.begin(9600);
pinMode(rele, OUTPUT);
}
//
void loop()
{
digitalWrite(rele, HIGH);
delay(1000);
digitalWrite(rele, LOW);
delay(1000);
Από ότι φαίνεται τα πράγματα είναι απλά.. Είναι τελικά απλά;
Ας πάρουμε τώρα την πλευρά του διακόπτη όπου εκεί είναι οι τρεις επαφές.
Η δεξιά η κεντρική επαφή (com) και η αριστερή.
Στο απλό σκίτσο που ακολουθεί βλέπομαι την περίπτωση Α και Β.
στην Α είναι το πηνίο του ρελε χωρίς να είναι σε διέγερση. Δεν τροφοδοτείται από ρεύμα.
Αν εκεί έχομε ενώσει μια συσκευή αυτή θα δουλεύει.
Στην περίπτωση Β το διαπερνά το ρεύμα με αποτέλεσμα να ενεργοποιηθεί και να τραβήξει τον πίρο .
Αν και εκεί έχομε ενώσει μια συσκευή αυτή θα δουλεύει.
Ανάλογα το τι θα θέλαμε θα κάνουμε και την αντίστοιχη συνδεσμολογία.
Στην προκειμένη περίπτωση αν αναρωτηθούμε σε τι αρχική κατάσταση είναι ο ρελες ; .
Ας πάρουμε τώρα την πλευρά του διακόπτη όπου εκεί είναι οι τρεις επαφές.
Η δεξιά η κεντρική επαφή (com) και η αριστερή.
Στο απλό σκίτσο που ακολουθεί βλέπομαι την περίπτωση Α και Β.
στην Α είναι το πηνίο του ρελε χωρίς να είναι σε διέγερση. Δεν τροφοδοτείται από ρεύμα.
Αν εκεί έχομε ενώσει μια συσκευή αυτή θα δουλεύει.
Στην περίπτωση Β το διαπερνά το ρεύμα με αποτέλεσμα να ενεργοποιηθεί και να τραβήξει τον πίρο .
Αν και εκεί έχομε ενώσει μια συσκευή αυτή θα δουλεύει.
Ανάλογα το τι θα θέλαμε θα κάνουμε και την αντίστοιχη συνδεσμολογία.
Στην προκειμένη περίπτωση αν αναρωτηθούμε σε τι αρχική κατάσταση είναι ο ρελες ; .
Θα απαντήσομε ότι στην περίπτωση Α που δεν τον διαπέρνα το ρεύμα και δεν διεγείρεται το πηνίο η αριστερή επαφή
του είναι HIGH και η δεξιά του επαφή είναι LOW.
Σε αυτή την περίπτωση το θετικό είναι ότι ο ρελε χωρίς να καταναλώνει ενέργεια έχομε ένα αποτέλεσμα. Επίσης μεγαλύτερο χρόνο ζωής του ίδιου του ρελε.
Το μεγαλύτερο ποσοστό όταν χρησιμοποιούμαι ρελεδες είναι να δουλεύουν συσκευές όχι 24 ώρες το εικοσιτετράωρο, αλλά ίσως κάποια λεπτά οι κάποιες ώρες, όχι πάντως συνέχεια και επ αόριστο. Διαφορετικά δεν θα είχε νόημα να χρησιμοποιούμαι ρελέδες.
Οπότε με την εντολή ( digitalWrite(rele, HIGH); ) στην Α περίπτωση θα ίσχυε το HIGH στην αριστερή επαφή του ρελε. Εδώ όμως αρχίζει και μπερδεύεται η κατάσταση με αυτό τον έτυμο τύπο του ρελε .
Όταν στο( void setup() ) δηλώσουμε την συσκευή με την εντολή ( pinMode(rele,OUTPUT); )
αυτόματα ο ρελές αλλάζει κατάσταση και μπαίνει στην κατάσταση B .
Τώρα η δεξιά επαφή έχει γίνει HIGH .
Αν το σταματήσομε εκεί το πρόγραμμα θα παραμείνει η δεξιά επαφή οπλισμένη.
Αν τώρα μέσα στο setup και κάτω από την δήλωση της συσκευής
βάλλομαι μια καθυστέρηση ( delay (2000); )και αμέσως μετά την εντολή
( digitalWrite(rele, HIGH); ) θα παρατηρήσομε ότι ο πίρος γυρίζει στην περίπτωση Α..
Σε αυτή την περίπτωση το θετικό είναι ότι ο ρελε χωρίς να καταναλώνει ενέργεια έχομε ένα αποτέλεσμα. Επίσης μεγαλύτερο χρόνο ζωής του ίδιου του ρελε.
Το μεγαλύτερο ποσοστό όταν χρησιμοποιούμαι ρελεδες είναι να δουλεύουν συσκευές όχι 24 ώρες το εικοσιτετράωρο, αλλά ίσως κάποια λεπτά οι κάποιες ώρες, όχι πάντως συνέχεια και επ αόριστο. Διαφορετικά δεν θα είχε νόημα να χρησιμοποιούμαι ρελέδες.
Οπότε με την εντολή ( digitalWrite(rele, HIGH); ) στην Α περίπτωση θα ίσχυε το HIGH στην αριστερή επαφή του ρελε. Εδώ όμως αρχίζει και μπερδεύεται η κατάσταση με αυτό τον έτυμο τύπο του ρελε .
Όταν στο( void setup() ) δηλώσουμε την συσκευή με την εντολή ( pinMode(rele,OUTPUT); )
αυτόματα ο ρελές αλλάζει κατάσταση και μπαίνει στην κατάσταση B .
Τώρα η δεξιά επαφή έχει γίνει HIGH .
Αν το σταματήσομε εκεί το πρόγραμμα θα παραμείνει η δεξιά επαφή οπλισμένη.
Αν τώρα μέσα στο setup και κάτω από την δήλωση της συσκευής
βάλλομαι μια καθυστέρηση ( delay (2000); )και αμέσως μετά την εντολή
( digitalWrite(rele, HIGH); ) θα παρατηρήσομε ότι ο πίρος γυρίζει στην περίπτωση Α..
Ενώ του είπαμε HIGH γύρισε στην αρχική του θέση εκεί που
το πηνίο δεν το διαπερνά ρεύμα.
Αν συνεχίσομε και του γράψομε (
digitalWrite(rele, LOW); ) θα παρατηρήσομε ότι γυρνάει στην περίπτωση Β όπου το πηνίο είναι υπό
διέγερση.
Παράδειγμα :
void loop(){
digitalWrite(rele,HIGH);
delay(2000);
digitalWrite(rele,LOW);
delay(2000);
}
Αυτό τελικά έχει σαν συνέπεια τις περισσότερες ώρες το πηνίο να είναι ενεργοποιημένο με αποτέλεσμα να ζεσταίνεται να έχει κατανάλωση ενέργειας και να μικραίνει η διάρκεια ζωής του.
για τον λόγο αυτόν θα πρότεινα .Στις αρχικές δηλώσεις να το ξεγελάγαμε με τη παρακάτω την μέθοδο.
int high = LOW;
int low = HIGH;
Από εδώ και κάτω στο πρόγραμμα μας όταν και όποτε αναφερώμαστε στον ρελέ να χρησιμοποιούμαι αυτές τις δηλώσεις.


Καλή αρχή (και) στο blog σου! :-)
ΑπάντησηΔιαγραφήΟ καιρός θα δείξει.
ΑπάντησηΔιαγραφή