Ενεργοποίηση ρελέ με καθυστέρηση

Χρειάστηκα πριν λίγο καιρό ένα σύστημα το οποίο θα ενεργοποιούσε ένα ρελέ με κάποια καθυστέρηση, η οποία θα -έπρεπε να- ήταν ρυθμιζόμενη με κάποιο ποτενσιόμετρο, ανάλογα τις ανάγκες που θα υπήρχαν κάθε φορά (πχ 1″ μια φορά και 2″ την άλλη κλπ).

Θα μπορούσα να χρησιμοποιήσω κάποιο από τα σχέδια του 555 timer ή κάτι πιο απλό, όπως τα παρακάτω (τα οποία τα προσθέτω για όποιον ενδιαφέρετε να φτιάξει κάτι απλό), αλλά δεν μου έκανε κάτι, οπότε επέλεξα την χρήση του Arduino (συγκεκριμένα του Teensy με την χρήση του addon Teensyduino).

Στις παρακάτω εικόνες βλέπουμε δύο απλά κυκλώματα έναρξης ενός ρελέ με καθυστέρηση. Ο χρόνος έναρξης είναι ανάλογος με το μέγεθος του πυκνωτή C1 (C2 στην 2η). Το παρακάτω κύκλωμα μπορεί να χρησιμοποιηθεί και σε προστασία ηχείων.
el84set

Και ακόμη ένα πιο απλό
AmplifierOutputDelaywithRelay

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

Ο τρόπος σύνδεσης ενός ρελέ στο Arduino (Photo από : makezine.com)
Ο τρόπος σύνδεσης ενός ρελέ στο Arduino (Photo από : makezine.com)

Συνήθως οι απλές κατασκευές σε Arduino δεν απαιτούν ιδιαίτερα υλικά, πλην μερικών αντιστάσεων και τρανζίστορ. Στην δική μου έκδοση έπρεπε να μειώσω την τάση μόνο στο Teensy και όχι προς το ρελέ (αφού θα ήταν αρκετά χαμηλή και δεν θα το άνοιγε), οπότε χρειάστηκε και επιπλέον υλικά, όπως ένας σταθεροποιητής τάσης στα 5V.

Για το ποτενσιόμετρο δεν έχει ιδιαίτερη σημασία η αντίσταση του, μπορεί να χρησιμοποιηθεί οποιοδήποτε σας βολεύει και υπολογίζετε τον χρόνο έναρξης ανάλογα με το τι διαβάζει το Arduino (στον κώδικα ο υπολογισμός της έναρξης έγινε με βάση τα δεδομένα του συγκεκριμένου ποτενσιόμετρου). Η σύνδεση του είναι απλή, συνδέεται το ένα άκρο του στο (+)(5V), το άλλο στο (-) και το μεσαίο στην υποδοχή του Arduino/Teensy.

Η χρήση ενός ρελέ για την κίνηση του μοτέρ. Στο μέλλον θα προστεθούν και επιπλέον ρελέ για επιπλέον χρήσεις.
Η χρήση ενός ρελέ για την κίνηση του μοτέρ. Στο μέλλον θα προστεθούν και επιπλέον ρελέ για επιπλέον χρήσεις.

Πλέων το σύστημα μας είναι έτοιμο. Κάθε φορά που θα δέχεται ρεύμα το Arduino, θα “τρέχει” το σύστημα και αφού διαβάσει το ποτενσιόμετρο, θα μας καθυστερεί και ανάλογα την έναρξη του ρελέ.

Ο κώδικας που χρησιμοποίησα στο Teensy (κάνει και για Arduino). Εδώ είναι “πετσοκομμένος” μιας και κράτησα την απλή του χρήση.

/*
TimeDelay Power ON and OFF
Turns on a Relay for a specified time.
By Kraken (https://g3ar.gr/)
*/
int FrontPin =  0; //Το αρχικό ρελέ
//int BackPin =  2; Για το άλλο ρελέ, δεν χρειάζεται εδώ
int MiddlePin =  0; //Η είσοδος του trimmer
//int StartPin =  3; //Για την προσθήκη διακόπτη έναρξης του κυκλώματος, δεν χρειάζεται εδώ
int LedPin =  11; //Το onboard led στο teensy είναι στο pin 11
// the setup function runs once when you power the board
void setup() {
//Serial.begin(38400);
// initialize pins as input-output.
pinMode(FrontPin, OUTPUT);
//pinMode(BackPin, OUTPUT);
pinMode(LedPin, OUTPUT);
//pinMode(StartPin, INPUT);
pinMode(MiddlePin, INPUT);
}
float Delaytime; //int Delaytime = 0;
int mode = 0;
// the loop function
void loop() {
//if (analogRead(StartPin) == LOW) { //Επιλογή για να τρέχει όταν πατηθεί ένας διακόπτης - Δεν χρειάζεται εδώ
if (mode == 0) { //Για να τρέχει μόνο μια φορά
//Υπολογισμός του χρόνου με βάση το μεσαίο pin του trimmer
Delaytime = analogRead(MiddlePin) * 0.5;
delay(Delaytime);
digitalWrite(FrontPin, HIGH);   // turn the Front Relay on (HIGH is the voltage level)
digitalWrite(LedPin, HIGH);   // turn the Front Relay on (HIGH is the voltage level)
// Αυξάνουμε την τιμή του mode, ώστε να μην τρέξει ξανά εκτός αν κλείσει η μονάδα
mode = mode + 1;
}
}

One thought on “Ενεργοποίηση ρελέ με καθυστέρηση

  • 15 November 2017 at 20:55
    Permalink

    Sas euxaristw polu …ekana to sxedio sas (me to 24 volt ac) me 12 volt dc xwreis tn pyknoti c1 kai diodo d1 epeidi doulepsa me dc volt ..kai doulebei apsoga telia …sas eyxaristw para polu ….kalh sinexeia

    Reply

Leave a Reply