Εβδομαδιαίος προγραμματιστής 3ων καναλιών

weekly_programmer_board_2
weekly_programmer_board_2weekly_programmer_board_3weekly_programmer_board_1
4.66667 5 3 Product


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

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

Υποστηρίζει έως και 99 ανεξάρτητα προγράμματα (λειτουργίες) που εκτελούνται σε εβδομαδιαία βάση, σύμφωνα με την ακριβή ώρα και την ημέρα εκτέλεσης όπως ακριβώς έχουν προγραμματιστεί από το χρήστη. Ο προγραμματιστής υποστηρίζει 3 ανεξάρτητα κανάλια (3εις ηλεκτρονόμους), δηλαδή μπορεί να ελέγχει έως και 3εις ανεξάρτητες συσκευές. Επιπλέον διαθέτει και 3εις εισόδους αποτροπής που δέχονται ψηφιακούς αισθητήρες. Η σύνδεση αισθητήρων είναι προαιρετική αλλά οι αισθητήρες είναι πολύ χρήσιμοι σε κάποιες εφαρμογές όπου επιθυμούμε ακύρωση κάποιου προγράμματος από εξωτερικούς παράγοντες – συνθήκες, π.χ στο αυτόματο πότισμα όπου ένας αισθητήρας υγρασίας μπορεί να εξασφαλίσει αποτροπή έναρξης ποτίσματος σε περίπτωση για παράδειγμα που στο έδαφος υπάρχει αρκετή υγρασία. Ο προγραμματιστής διαθέτει τρεις εισόδους αισθητήρων (μία είσοδο αισθητήρα για κάθε κανάλι) και ο κάθε αισθητήρας υποστηρίζει ασύγχρονη αποτροπή έναρξης στο αντίστοιχο κανάλι ελέγχου.

Υπενθύμιση: Οι πληροφορίες των κατασκευών που παρέχουμε στην ιστοσελίδα μας παρέχονται υπό όρων χρήσης.

Το κύκλωμα του εβδομαδιαίου προγραματιστή

Ο εβδομαδιαίος προγραμματιστής βασίζεται σε έναν μικροελεγκτή PIC της Microchip. Διαθέτει πληκτρολόγιο 6 πλήκτρων μέσω των οποίων ο χρήστης εισάγει και τροποποιεί τα προγράμματα, οθόνη υγρού κρυστάλλου (LCD) όπου απεικονίζεται ένα ρολόι πραγματικού χρόνου και όλες οι λειτουργίες της συσκευής και 3εις ηλεκτρονόμους που ανοιγοκλείνουν βάσει των προγραμμάτων λειτουργίας. Υπάρχουν επιπλέον και τρεις είσοδοι για αισθητήρες αποτροπής με τον κάθε αισθητήρα να αποτρέπει ασύγχρονα την έναρξη λειτουργίας της συσκευής που είναι συνδεμένη στο αντίστοιχο κανάλι, σε περίπτωση που αυτό υπαγορεύεται από εξωτερικές συνθήκες (π.χ λόγω υγρασίας, θερμοκρασίας κ.α). Αναλυτικά, το διάγραμμα βαθμίδων του προγραμματιστή, απεικονίζεται στην παρακάτω εικόνα:

Το διάγραμμα βαθμίδων του εβδομαδιαίου προγραμματιστή
Σχήμα 1. Το διάγραμμα βαθμίδων του εβδομαδιαίου προγραμματιστή


Ο προγραμματιστής απαιτεί τροφοδοσία 9 με 12V από κάποιο μικρό τροφοδοτικό. Η κατανάλωση  είναι λίγα mA και η συνολική ισχύς που απαιτείται για την τροφοδοσία είναι λιγότερη από 0,5W σε standby και λιγότερο από 2W όταν όλοι οι ηλεκτρονόμοι ενεργοποιούνται ταυτόχρονα. Σε περίπτωση που υπάρξει διακοπή τροφοδοσίας τόσο η ώρα και η ημέρα στο ρολόι της συσκευής όσο και τα προγράμματα που έχει εισάγει ο χρήστης «σβήνονται» από τη μνήμη. Γι αυτό συνίσταται η χρήση εφεδρικής μπαταρίας, φωτοβολταικού ή UPS σε εφαρμογές που πρέπει να υπάρχει αδιάλειπτη λειτουργία 24 ώρες το 24ωρο – 365 μέρες το χρόνο.

Ο μικροελεγκτής PIC18F2520 είναι η «καρδιά» του κυκλώματος (βλ. ηλεκτρονικό σχηματικό). Συνδέεται με μία τυπική οθόνη υγρού κρυστάλλου με 7 γραμμές εισόδου - εξόδου (D1 έως D7) και μέσω του συνδετήρα (connector) P1. Η οθόνη που χρησιμοποιούμε είναι ένα τυπικό αλφαριθμητικό display module 2x16 (2 γραμμών με 16 χαρακτήρες ανά γραμμή), συμβατό με HD44780.

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

Σε άλλες 6 γραμμές εισόδου-εξόδου (IO) του μικροελεγκτή συνδέονται και τα 6 μπουτόν (push-buttons) που αποτελούν το πληκτρολόγιο της συσκευής. Χρησιμοποιούνται επίσης άλλες τρεις γραμμές I/O (T1-T3) που μέσω των τρανζίστορ Q1, Q2 και Q3 ελέγχουν τους ηλεκτρονόμους Κ1, Κ2 και Κ3 (ρελέ). Τέλος, χρησιμοποιούμε και τρεις ακόμη γραμμές I/O (τις SN1 – SN3) ως ψηφιακές εισόδους για τους αισθητήρες.

Ο μικροελεγκτής χρονίζεται από τον κρύσταλλο Y2, στα 4MHz. Στο κύκλωμα υπάρχει κι ένας δεύτερος κρύσταλλος, ο Y1, που χρονίζει το ρολόι πραγματικού χρόνου της συσκευής. Ο Y1 είναι ένας τυπικός κρύσταλλος ρολογιού ακριβείας στα 32,768KHz από την οποίο εξαρτάται η ακρίβεια του ρολογιού του προγραμματιστή.

Το U2 είναι ένας τυπικός γραμμικός σταθεροποιητής τύπου 7805 που χρησιμοποιείται για να σταθεροποιεί την τροφοδοσία του κυκλώματος στα 5V. Οι δίοδοι D1, D2 και D3 χρησιμοποιούνται ως δίοδοι προστασίας για να προστατεύουν τα τρανζίστορ Q1-Q3 από τυχόν ανάστροφο ρεύμα λόγω αυτεπαγωγής, τη στιγμή που τα ρελέ μετάγουν από on σε off ή αντίστροφα.

Τα D4, D5 και D6 είναι τρία ενδεικτικά LED των 5mm που παρέχουν ένδειξη για τα τρία κανάλια ελέγχου. Δηλαδή, το LED D4 ανάβει όταν ενεργοποιηθεί το πρώτο κανάλι (ρελέ Κ1), το D5 όταν ενεργοποιηθεί το 2ο κανάλι (ρελέ K2) και το D6 όταν ενεργοποιηθεί το 3ο κανάλι. Ένδειξη για την κατάσταση των καναλιών υπάρχει και στην οθόνη της συσκευής κάτω από την ένδειξη της τρέχουσας ημέρας και ώρας.

Οι συσκευές που πρόκειται να ελέγξουμε συνδέονται στους ηλεκτρονόμους μέσω των συνδετήρων P4, P3 και P2 για το 1ο, το 2ο και το 3ο κανάλι, αντίστοιχα. Οι P4, P3 και P2 είναι τυπικές κλέμες πλακέτας τριών ακροδεκτών. Για τον έλεγχο του εκάστοτε φορτίου απαιτούνται στην πραγματικότητα οι 2 από τις τρεις επαφές, απλά παρέχουμε 3 επαφές διότι το ζεύγος επαφών 1-2 είναι normally-on ενώ το ζεύγος επαφών 2-3 είναι normally-off. Ο χρήστης μπορεί να επιλέξει να χρησιμοποιήσει όποιο ζεύγος επαφών επιθυμεί για την δική του περίπτωση. Η διαφορά έγκειται στο ότι οι επαφές 2-3 έχουν «θετική λογική» (δηλαδή περνάει ρεύμα- είναι κλειστός διακόπτης όταν το αντίστοιχο κανάλι είναι on) ενώ οι επαφές 1-2 έχουν αρνητική λογική (δηλαδή περνάει ρεύμα- είναι κλειστός διακόπτης όταν το αντίστοιχο κανάλι είναι off).

Ο κρύσταλλος ρολογιού των 32,768KHz χρησιμοποιείται ως ρολόι για τον 16-bit χρονιστή timer-1 του μικροελεγκτή PIC18F2520, αφού πρώτα η συχνότητά του κρυστάλλου διαιρεθεί δια του 2 από έναν εσωτερικό προδιαιρέτη. Ο timer-1 μετράει παλμούς του ρολογιού και υπερχειλίζει όταν μετρήσει 65536 (216) παλμούς. Με τις τρέχουσες ρυθμίσεις, κάθε υπερχείλιση λαμβάνει χώρα κάθε 4 δευτερόλεπτα και δίνει «σήμα» στο μικροελεγκτή για να ενεργοποιήσει ή να αφήσει ως έχουν τους ηλεκτρονόμους βάσει του προγράμματος που έχει εισάγει ο χρήστης και βάσει του ρολογιού και της κατάστασης των αισθητήρων. 

Το λογισμικό του μικροελεγκτή

Το λογισμικό έχει γραφτεί σε γλώσσα C και έχει μεταφραστεί στη γλώσσα μηχανής του PIC18F2520 χρησιμοποιώντας την έκδοση 1.37 του compiler ΧC8 της Microchip.

Μόλις εφαρμοστεί η τάση τροφοδοσίας, ο μικροελεγκτής εκτελεί κάποιες εντολές αρχικοποίησης και έπειτα τις εντολές του προγράμματος σε έναν ατέρμονα βρόχο (closed loop). Οι λειτουργίες που επιτελεί ο μικροελεγκτής συνοψίζονται στην παρακάτω λίστα:

  1. Έναρξη – αρχικοποίηση οθόνης
  2. Αρχικοποίηση ηλεκτρονόμων σε κατάσταση off
  3. Αρχικοποίηση μεταβλητών προγράμματος και έναρξη ρολογιού πραγματικού χρόνου.
  4. Έναρξη ατέρμονα βρόχου
  5. Έλεγχος αν πατήθηκε κάποιο πλήκτρο
  6. Εκτέλεση της λειτουργίας του πλήκτρου αν πατήθηκε κάποιο πλήκτρο ή συνέχεια στο επόμενο βήμα
  7. Επιστροφή στο βήμα 5

Εκτός από το κύριο πρόγραμμα που «τρέχει» ο μικροελεγκτής, εκτελείται ταυτόχρονα και κώδικας μέσα σε μία ρουτίνα διακοπής (interrupt) που λαμβάνει χώρα κάθε 4 δευτερόλεπτα. Οι λειτουργίες της ρουτίνας διακοπής συνοψίζονται στην παρακάτω λίστα:

  1. Αύξηση κατά 1 του μετρητή ρολογιού (ο μετρητής μετράει το χρόνο σε 4αδες δευτερολέπτων ξεκινώντας από την τιμή 0 που αντιστοιχεί στην Κυριακή - ώρα 00:00)
  2. Απεικόνιση τρέχουσας ημέρας και ώρας του συστήματος στην οθόνη
  3. Έλεγχος αν πρέπει να εκτελεστεί κάποιο από τα 99 προγράμματα, βάσει της ώρας και ημέρας του συστήματος και των αισθητήρων

Η πρώτη λίστα λειτουργιών εκτελείται μέσα στην κύρια ρουτίνα του προγράμματος, τη ρουτίνα main() που παρατίθεται εδώ:

void main(void)

{

  unsigned char k=0; 

  Delay1KTCYx(9);

  ADCON1=15;

  TRISC = 0b00011111;   // RC5-7 as outputs

  TRISA = 255;          // PORTA as input

  TRISB = 0;            // PORTB as output

  mode=0;               // Starts with Clock-mode
 

// Switch off all relays

for (k=1; k<4; k++)

       {

              releoff(k); 

       }

// Initialize prclock[100] and prdo[100] matrices.

for (k=1; k<100; k++)

 {

  prclock[k]=20000;      // 20000 means that current k program is Idle - no function

  prdo[k]=20;            // 20 means Idle - no function

 }


//Starts Timer 1 - interrupt take place at timer's 1 overflow

OpenTimer1(TIMER_INT_ON & T1_16BIT_RW & T1_SOURCE_EXT & T1_PS_1_2 & T1_OSC1EN_ON & T1_SYNC_EXT_OFF);

PIE1bits.TMR1IE=1;                // 1 = Enables the TMR1 overflow interrupt

IPR1bits.TMR1IP=1;                // 1 = High priority

RCONbits.IPEN=1;                  // 1 = Enable priority levels on interrupts

INTCONbits.PEIE=0;                // When IPEN = 1 - 0 = Disables all low priority peripheral interrupts

INTCONbits.GIE=1;                 // When IPEN = 1 - 1 = Enables all high priority interrupts 


OpenXLCD(FOUR_BIT & LINES_5X7 );  // Initialize LCD              

timer(clock,0);                   /* Find current day, hour  and minutes (affects day, time, min global variables)*/

time();                     // Display current time on LCD  

disch();                    // Display current Channel state at LCD's second line

//infinite loop starts here

label: while (button()==0);          //check for any button press

          function (button());      // Performs the appropriate function when a button is pressed            

while (button()>0)Delay10KTCYx(5) ; //waits for button release - debounce

goto label;                         // infinite loop

}

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

void interrupt timer_isr ()

{

 PIR1bits.TMR1IF = 0;  // Set interrupt flag to 0

 sec4=sec4+1;          // sec4 increment by 1 for the 4sec have elapsed

         if (sec4> 14)                     // if sec4>14 then 1 minute has elapsed and:    {

                   sec4=0;                // sec4 settled back to 0

                   clock=clock+1;         // clock increment by 1

                   if (clock>10079) clock=0;    // if clock>1079 means it is Sunday 00:00, so the clock is settled back to 0

                       if (mode==0)             // mode=0 means that the LCD must refreshed with the current time (time mode)

                            {

                                timer(clock,0);    /* Find current day, hour and minutes (affects day, time, min global variables)*/

                                time();           // Displays current clock-time on LCD

                            }

                }

 action();   // check for action according to program

}

Πώς να κατασκευάσετε  τον εβδομαδιαίο προγραμματιστή

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

Το τυπωμένο κύκλωμα που έχουμε φτιάξει εμείς είναι μονής όψης (έχει χαλκό στη μία όψη). Όλα τα εξαρτήματα, συμπεριλαμβανόμενου και του LCD μπορούν να συναρμολογηθούν πάνω στο ίδιο τυπωμένο, όπως μπορείτε να δείτε στη φωτογραφία:

Η πλακέτα του εβδομαδιαίου προγραμματιστή
Φώτο 1.Όλα τα εξαρτήματα, συμπεριλαμβανομένου και του LCD, συναρμολογούνται στην ίδια πλακέτα

Όλες οι αντιστάσεις που χρησιμοποιούνται στον εβδομαδιαίο προγραματιστή είναι του τύπου 1/4 watt, και έχουν ανοχή 5% ή καλύτερη. Οι πυκνωτές είναι χαμηλής τάσης – κατακόρυφης στήριξης και οι ακροδέκτες τους απέχουν περίπου 5mm μεταξύ τους. Χρησιμοποιήστε ηλεκτρολυτικούς μόνο αν είναι απαραίτητο και θυμηθείτε να τους τοποθετήσετε στο τυπωμένο με τη σωστή πολικότητα.

Ο σταθεροποιητής 7805 δεν χρειάζεται ψήκτρα. Αν όμως θέλετε να είστε σίγουροι ότι θα είναι πάντοτε «δροσερός» μπορείτε να χρησιμοποιήσετε μία μικρή ψήκτρα για κέλυφος TΟ-220 ή εναλλακτικά να βιδώσετε το σταθεροποιητή πάνω σε μεταλλικό σασί – κουτί που ενδεχομένως θα χρησιμοποιήσετε για την κατασκευή σας.

Η πιο βασική λεπτομέρεια της κατασκευής έγκειται φυσικά στο γεγονός ότι θα πρέπει να προγραμματίσετε το μικροελεγκτή με το πρόγραμμα – firmware που σας παρέχουμε παρακάτω. Ο προγραμματισμός μπορεί να γίνει με έναν οποιοδήποτε προγραμματιστή που υποστηρίζει τον PIC 18F2520. Εμείς χρησιμοποιήσαμε τον προγραμματιστή PICKIT 3 – της Microchip για τον προγραμματισμό της δικής μας κατασκευής. Ο προγραμματισμός μπορεί να γίνει πάνω στην πλακέτα (on-board), αν χρησιμοποιήσετε κι εσείς τον PICKIT 3 ή κάποιον αντίστοιχο προγραμματιστή ή εκτός πλακέτας αν έχετε κάποιον άλλο προγραμματιστή που προγραμματίζει  κελύφη DIP.

Από τη στιγμή που θα προγραμματίσετε τον μικροελεγκτή και θα συναρμολογήσετε την πλακέτα, η συσκευή θα πρέπει να δουλέψει αμέσως. Θα χρειαστεί μόνο να ρυθμίσετε την αντίθεση της οθόνης – contrast από το τρίμερ - ποτενσιόμετρο R1. Πιστεύουμε ότι θα μείνετε απόλυτα ικανοποιημένοι από την ακρίβεια και την αξιοπιστία του εβδομαδιαίου προγραμματιστή.

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


Πώς να χρησιμοποιήσετε τον εβδομαδιαίο προγραμματιστή

Ο προγραμματιστής μπορεί να ελέγχει έως και 3 διαφορετικά φορτία (συσκευές) μέσω των 3ων ηλεκτρονόμων που διαθέτει. Εσείς απλά θα πρέπει να χρησιμοποιήσετε τους ηλεκτρονόμους ως διακόπτες για τις συσκευές που θέλετε να ελέγχετε. Μπορείτε να χρησιμοποιήσετε είτε τις normally-on επαφές είτε τις normally-off επαφές των  ηλεκτρονόμων. Η πρόσβαση στις επαφές των ηλεκτρονόμων γίνεται μέσω των P4, P3, P2 για το κανάλι 1, 2 και 3 αντίστοιχα. Τα P4, P3 και P2 είναι κλασικές «κλέμες» πλακέτας 3ων επαφών. Σε κάθε «κλέμα», το ζεύγος επαφών 1-2 είναι normally-on ενώ το ζεύγος επαφών 2-3 είναι normally-off. Μπορείτε να επιλέξετε να χρησιμοποιήσει όποιο ζεύγος επαφών επιθυμείτε για τη δική σας περίπτωση. Η διαφορά έγκειται στο ότι οι επαφές 2-3 έχουν «θετική λογική» (δηλαδή περνάει ρεύμα- είναι κλειστός διακόπτης όταν το αντίστοιχο κανάλι είναι on) ενώ οι επαφές 1-2 έχουν αρνητική λογική (δηλαδή περνάει ρεύμα- είναι κλειστός διακόπτης όταν το αντίστοιχο κανάλι είναι off) . 

Οι 3 κλέμες στις οποίες συνδεόνται οι προς έλεγχο συσκευές
Φώτο 2. Οι P4, P3 and P2 είναι κλέμες πλακέτας 3ων ακροδεκτών, στις οποίες συνδεόνται οι προς έλεγχο συσκευές

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

Για ειδικές εφαρμογές, όπως για παράδειγμα στην περίπτωση που χρησιμοποιήσετε τον προγραμματιστή για αυτόματο πότισμα, ίσως φανεί χρήσιμο να χρησιμοποιήσετε και αισθητήρες αποτροπής που μπορείτε να συνδέσετε στις κλέμες P5, P6 και P7 για τα αντίστοιχα κανάλια ελέγχου 1, 2 και 3. Έτσι, για παράδειγμα, μπορείτε να συνδέσετε έναν αισθητήρα υγρασίας εδάφους στο P5 έτσι ώστε να αποτρέπεται το πότισμα στο κανάλι 1 αν υπάρχει ικανοποιητική υγρασία στο έδαφος. O αισθητήρας που θα συνδέσετε στο P5 θα αποτρέπει μόνο την ενεργοποίηση στο κανάλι 1 (θα αποτρέπει να γίνει -on- το συγκεκριμένο κανάλι) και σε κανένα άλλο κανάλι. Για τα άλλα δύο κανάλια, μπορούν επίσης να συνδεθούν αισθητήρες αποτροπής στις κλέμες P6 και P7, αντίστοιχα.
 
Εδώ, δεν αναφερόμαστε σε κανένα κύκλωμα αισθητήρα π.χ για υγρασία, φως, θερμοκρασία κ.α. Μπορείτε όμως να ανατρέξετε στις κατασκευές αυτοματισμών για να φτιάξετε διάφορους τύπους αισθητήρων. Οποιοσδήποτε ψηφιακός αισθητήρας που έχει μία έξοδο σε στάθμη TTL μπορεί να συνδεθεί με τον εβδομαδιαίο προγραμματιστή. Απλώς να θυμάστε πάντα ότι η αποτροπή μετάβασης σε -on-, σε έκαστο κανάλι, πραγματοποιείται όταν η έξοδος του εκάστοτε αισθητήρα είναι σε λογικό 1. 

Μπορείτε να συνδέσετε τους αισθητήρες στις κλέμες P5, P6 και P7
Φώτο 3. Οι P5, P6 και P7 είναι κλέμες 2 ακροδεκτών. Σε αυτές μπορείτε να συνδέσετε τους αισθητήρες

θα πρέπει να σας πούμε ότι οι ηλεκτρονόμοι (ρελέ) που χρησιμοποιούμε στην κατασκευή είναι τάσης 5V, μικροί σε μέγεθος για οικονομία χώρου και είναι επίσης μικρής ισχύος. Δηλαδή, δεν μπορούν να υποστηρίξουν μεγάλα φορτία. Αν το φορτίο σας είναι πάνω από 100W (ή πάνω από 0,5Α στα 220V) δεν θα μπορεί να υποστηριχτεί από τα ρελέ της πλακέτας και θα σας «κάψει» τα ρελέ. Γι αυτό, αν θέλετε να οδηγήσετε μεγάλα φορτία θα πρέπει να χρησιμοποιήσετε μεγαλύτερης ισχύος ρελέ από αυτά που υπάρχουν πάνω στην πλακέτα. Στην περίπτωση αυτή, απλώς χρησιμοποιήστε τα «μικρά» ρελέ της πλακέτας για να ανοιγοκλείνουν μεγαλύτερα ρελέ που θα συνδέσετε εξωτερικά ή ακόμη και σε κάποιον ηλεκτρολογικό πίνακα.

Τέλος, πρέπει να υπενθυμίσουμε και πάλι ότι σε περίπτωση που υπάρξει διακοπή τροφοδοσίας τόσο η ώρα και η ημέρα στο ρολόι της συσκευής όσο και τα προγράμματα που έχει εισάγει ο χρήστης θα σβηστούν από τη μνήμη. Γι αυτό συνίσταται η χρήση εφεδρικής μπαταρίας, μικρού φωτοβολταικού συστήματος ή UPS σε εφαρμογές που πρέπει να υπάρχει αδιάλειπτη λειτουργία 24 ώρες το 24ωρο – 365 μέρες το χρόνο.

Μίνι εγχειρίδιο χρήσης


Η συσκευή διαθέτει 6 πλήκτρα, όπως διακρίνονται στη φωτογραφία. Κατά σειρά από τα αριστερά προς τα δεξιά είναι τα πλήκτρα “mode”, “position”,”set”, “ch1”, “ch2” και “ch3”.


Μόλις τροφοδοτήσετε τη συσκευή, στη 1η γραμμή της οθόνης θα εμφανιστεί η ένδειξη
Clock: Sun 00:00
(Δηλαδή, Κυριακή και ώρα 00:00)

και στη δεύτερη γραμμή της οθόνης θα εμφανιστεί η ένδειξη:
1OFF   2OFF  3OFF
(Δηλαδή, το 1o κανάλι είναι off, το 2o κανάλι είναι off και το 3ο κανάλι είναι off) 

Ο εβδομαδιαίος προγραμματιστής έχει 6 πλήκτρα ελέγχου
Φώτο 4. Ο εβδομαδιαίος προγραμματιστής έχει 6 πλήκτρα ελέγχου


Για να ρυθμίσετε το ρολόι του εβδομαδιαίου προγραμματιστή:

  1. Στην οθόνη όπου απεικονίζεται η ώρα και η ημέρα, πατήστε το πλήκτρο “position” για να μετακινήσετε τον κέρσορα σε διάφορες θέσεις πάνω στην οθόνη.
  2. Σε κάθε πάτημα του "position", εμφανίζεται ο κέρσορας και αναβοσβήνει σε διαφορετική θέση στην πρώτη γραμμή της οθόνης
  3. Σε μία οποιαδήποτε θέση του κέρσορα που αναβοσβήνει, πατήστε το πλήκτρο “set” όσες φορές χρειάζεται για να αλλάξετε την ημέρα, ώρα ή λεπτά της ώρας στην εκάστοτε θέση.
  4. Επαναλάβετε τα παραπάνω βήματα όσες φορές χρειάζεται για να ρυθμίσετε το ρολόι του προγραμματιστή.

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

Η οθόνη του ρολογιού
Φώτο 5. Η οθόνη του ρολογιού

Για να  προγραμματίσετε τον εβδομαδιαίο προγραμματιστή:

  1. Στην οθόνη όπου απεικονίζεται η ώρα και η ημέρα, πατήστε το πλήκτρο “mode” για να μεταβείτε στην οθόνη προγραμματισμού:
    Στην πρώτη γραμμή της οθόνης προγραμματισμού θα εμφανιστεί η ένδειξη:
    PR DA TIME DO (Δηλαδή συντομογραφίες του «πρόγραμμα», «ημέρα», «ώρα» και τι να «κάνεις»)
    Στη δεύτερη γραμμή της οθόνης προγραμματισμού θα εμφανιστεί η ένδειξη:
    01 ΧΧ ΧΧ:ΧΧ ΧΧΧΧ (Δηλαδή, 1ο πρόγραμμα, κενή ημέρα, κενή ώρα, κενό για το «τι να γίνει»)
  2. Πατήστε το πλήκτρο “position” για να μετακινήσετε τον κέρσορα σε διάφορες θέσεις πάνω στην οθόνη. Σε κάθε πάτημα του «position», θα εμφανίζεται ο κέρσορας να αναβοσβήνει σε διαφορετική θέση στη 2η γραμμή της οθόνης.
  3. Σε μία οποιαδήποτε θέση του κέρσορα που αναβοσβήνει, πατήστε το πλήκτρο “set” όσες φορές χρειάζεται για να αλλάξετε τον αύξοντα αριθμό του εκάστοτε προγράμματος, την ημέρα, την ώρα, τα λεπτά της ώρας και το «τι να γίνει».
  4. Επαναλάβετε τα παραπάνω βήματα όσες φορές χρειάζεται για να ρυθμίσετε έως και 99 διαφορετικά προγράμματα. Φυσικά, δεν απιτείται να ρυθμίσετε και τα 99 προγράμματα αλλά μόνο όσα χρειάζεστε - τα υπόλοιπα αφήστε τα κενά.
  5. Τελειώνοντας τον «προγραμματισμό» πατήστε το πλήκτρο “mode” για να επιστρέψετε στην οθόνη του ρολογιού.

Οι δυνατές τιμές του «τι να γίνει» - “DO” είναι  “1-ΟΝ”, “1-ΟFF”, “2-ΟΝ”, “2-ΟFF”, 3-ΟΝ”, “3-ΟFF” και “XXXX” που αντιστοιχούν κατά σειρά στις λειτουργίες «να ενεργοποιηθεί το κανάλι 1», «να απενεργοποιηθεί το κανάλι 1», «να ενεργοποιηθεί το κανάλι 2», «να απενεργοποιηθεί το κανάλι 2», «να ενεργοποιηθεί το κανάλι 3», «να απενεργοποιηθεί το κανάλι 3», «να μη γίνει απολύτως τίποτα». 

Τυπική οθόνη προγραμματισμού
Φώτο 6. Η οθόνη προγραμματισμού

Πώς να τροποποιήσετε  ένα πρόγραμμα

  1. Πατήστε το πλήκτρο “mode” για να μεταβείτε στην οθόνη προγραμματισμού.
  2. Πατήστε το πλήκτρο “position” για να μετακινήσετε τον κέρσορα σε θέση που αντιστοιχεί στον αύξοντα αριθμό του εκάστοτε προγράμματος.
  3. Τη στιγμή που ο κέρσορας αναβοσβήνει σε θέση που αντιστοιχεί στον αύξοντα αριθμό του εκάστοτε προγράμματος επιλέξτε τον αριθμό του προγράμματος που επιθυμείτε να τροποποιήσετε με το πλήκτρο “set”
  4. Στη συνέχεια τροποποιήστε την ημέρα, ώρα, λεπτά και το «τι να γίνει» στο εκάστοτε πρόγραμμα σύμφωνα με τη διαδικασία προγραμματισμού που αναφέραμε στην προηγούμενη ενότητα.

Πώς να σβήσετε  ένα πρόγραμμα

  1. Πατήστε το πλήκτρο “mode” για να μεταβείτε στην οθόνη προγραμματισμού.
  2. Πατήστε το πλήκτρο “position” για να μετακινήσετε τον κέρσορα σε θέση που αντιστοιχεί στον αύξοντα αριθμό του εκάστοτε προγράμματος.
  3. Τη στιγμή που ο κέρσορας αναβοσβήνει σε θέση που αντιστοιχεί στον αύξοντα αριθμό του εκάστοτε προγράμματος επιλέξτε τον αριθμό του προγράμματος που επιθυμείτε να τροποποιήσετε με το πλήκτρο “set”.
  4. Μόλις επιλέξετε τον αριθμό του προγράμματος που επιθυμείτε να τροποποιήσετε, πατήστε το πλήκτρο “position” όσες φορές χρειάζεται έτσι ώστε ο κέρσορας να «βγει» έξω από την οθόνη.
  5. Με το κέρσορα εκτός οθόνης, πατήστε το πλήκτρο “set” και όλα τα στοιχεία του εκάστοτε προγράμματος θα σβήσουν και θα αντικατασταθούν με ΧΧΧ…ΧΧΧ.  
  6. Τελειώνοντας, πατήστε το πλήκτρο “mode” για να επιστρέψετε στην οθόνη του ρολογιού. 

Πώς να ενεργοποιήσετε ή να απενεργοποιήσετε ένα κανάλι χειροκίνητα

  1. Για να ενεργοποιήσετε ή να απενεργοποιήσετε χειροκίνητα το κανάλι 1 πατήστε το πλήκτρο “ch1”. Σε κάθε πάτημα του πλήκτρου το κανάλι 1 αλλάζει κατάσταση, από off σε on και αντίστροφα.
  2. Για να ενεργοποιήσετε ή να απενεργοποιήσετε χειροκίνητα το κανάλι 2 πατήστε το πλήκτρο “ch2”. Σε κάθε πάτημα του πλήκτρου το κανάλι 2 αλλάζει κατάσταση, από off σε on και αντίστροφα.
  3. Για να ενεργοποιήσετε ή να απενεργοποιήσετε χειροκίνητα το κανάλι 3 πατήστε το πλήκτρο “ch3”. Σε κάθε πάτημα του πλήκτρου το κανάλι 3 αλλάζει κατάσταση, από off σε on και αντίστροφα.

Τι να προσέξετε για λόγους ασφαλείας!

  1. Να τηρείτε όλους τους κανόνες ασφαλείας που απαιτούνται για τις ηλεκτρικές μονώσεις σε όλες τις ηλεκτρικές συνδέσεις που θα πραγματοποιήσετε.
  2. Να υπάρχουν ηλεκτρικές ασφάλειες σε όλα τα φορτία.
  3. Οι τηλεχειριζόμενες συσκευές μπορούν να εκκινήσουν ανά πάσα στιγμή! Μην επαναπαύεστε σε προβλέψεις και εικασίες από μνήμης. Γι αυτό, αν χειρίζεστε μέσω του προγραμματιστή συσκευές που έχουν κινούμενα μηχανικά μέρη ή παράγουν θερμότητα ή ηλεκτρισμό ή πραγματοποιούν οποιαδήποτε ενέργεια που μπορεί να τραυματίσει φροντίστε να βρίσκεστε πάντοτε σε απόσταση ασφαλείας από την εκάστοτε συσκευή όταν πραγματοποιείτε αλλαγές στον προγραμματιστή διότι από λάθος χειρισμό ή από βλάβη οι συσκευές μπορούν να εκκινήσουν ανά πάσα στιγμή.
  4. Οι εν δυνάμει επικίνδυνες τηλεχειριζόμενες συσκευές θα πρέπει να βρίσκονται εγκατεστημένες σε μη προσπελάσιμους χώρους και να τηρούνται όλοι οι κανόνες ασφαλείας.
  5. Μην χρησιμοποιήσετε ποτέ τον προγραμματιστή για χειρισμό εκρηκτικών - εύφλεκτων υλών ή καυσίμων!

Υπενθύμιση: Οι πληροφορίες των κατασκευών που παρέχουμε στην ιστοσελίδα μας παρέχονται υπό όρων χρήσης.

Συνημμένα

Για να προγραμματίσετε το μικροελεγκτή θα χρειαστείτε το κώδικα μηχανής. Πατήστε εδώ για να κατεβάσετε τον κώδικα μηχανής σε αρχείο τύπου .hex δωρεάν.

Μπορείτε επίσης να κατεβάσετε το τυπωμένο κύκλωμα του Εβδομαδιαίου Προγραμματιστή (πρόσβαση κατόπιν πληρωμής - εξαιρούνται χρήστες ειδικών κατηγοριών).

Κατεβάστε τον πηγιαίο κώδικα σε C (πρόσβαση κατόπιν πληρωμής - εξαιρούνται χρήστες ειδικών κατηγοριών).