Αστέρια ΑνενεργάΑστέρια ΑνενεργάΑστέρια ΑνενεργάΑστέρια ΑνενεργάΑστέρια Ανενεργά

Η εξομοίωση της κατασκευής μας

Aρχικά το σχεδιάσαμε στο proteus όπως φαίνεται στην εικόνα που ακολουθεί κάνοντας χρήση του compiler CCS C διότι γράψαμε σε γλώσσα C για να λύσουμε με όσο γίνεται λιγότερες γραμμές κώδικα την απεικόνιση της θερμοκρασίας.

Το σχέδιο και ο κώδικας του proteus

heat_coolΈπειτα κάναμε εξομοίωση με τις εικονικές θύρες και κατασκευάσαμε την πλακέτα με το σχεδιαστικό Kicad. Δέστε εδώ......

Μετά προγραμματίσαμε τον pic με τον προγραμματιστή που φτιάξαμε εδώ........

Επίσης σε κάποιο Pc εγκαταστήσαμε Labview 8.5 και συνδέσαμε την σειριακή com1 του Pc με την πλακέτα αυτοματισμού που διαθέτει σειριακή θύρα.

Τέλος για να δούμε τα αποτελέσματα τόσο της θέρμανσης όσο και της ψύξης αλλά και τον έλεγχο όλης της πλακέτας μέσα από το λογισμικό Labview φτιάξαμε μια μακέτα όπως δείχνουν οι επόμενες εικόνες

Εμπρόσθια όψηΕμπρόσθια όψη

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

Κάτοψη

 

Η κατασκευή της πλακέτας

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

Πλακέτα αυτοματισμού

 

Το υλικό του κυκλώματος

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

Υποδομή

Το λογισμικό του κυκλώματος αυτοματισμού

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

 

Labview

 

 

Το front panel με τα όργανα χειρισμού

 

 

 

Το πρόγραμμα διαχείρισης και ελέγχου των αυτοματισμών

Το block diagram με τα εικονίδια αντικείμενα που συνθέτουν το πρόγραμμα.

 

 

Δείτε την λειτουργία του στο youtube σε αυτό το σύνδεσμο

Αυτοματισμοί με Labview 

 

 

 

Αστέρια ΑνενεργάΑστέρια ΑνενεργάΑστέρια ΑνενεργάΑστέρια ΑνενεργάΑστέρια Ανενεργά

Κύκλωμα αυτοματισμού ψύξης θέρμανσης pic16f877a και Hyperterminal

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

 

 

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

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

Καρδιά της σχεδίασης είναι ο  επεξεργαστής της microchip o pic16f877a. Εδώ θα δουλέψει με εξωτερικό κρύσταλλο των 20MHz. Ένα αισθητήριο θερμοκρασίας LM35 της  NATIONAL θα μετράει την θερμοκρασία του χώρου αφού θα περάσει από τον αναλογικό σε ψηφιακό μετατροπέα του pic με τη βοήθεια του λογισμικού  την μεταδίδει στην σειριακή θύρα μετά τον χαρακτήρα '>'. Αμέσως μετά ο επεξεργαστής  περιμένει οδηγίες με χαρακτήρες ASCII για να θερμάνει ή να ψύξει το χώρο. To πρόγραμμα που έχουμε ενσωματώσει περιμένει ASCII χαρακτήρες H, J για να ενεργοποιήσει και να αφοπλίσει τον ρελέ 7 όπου θα φροντίσει να ζεσταίνει το χώρο. Οι χαρακτήρες C και V για να ενεργοποιήσουν και να αφοπλίσουν τον ρελέ 6 αντίστοιχα για την ψύξη του χώρου.

 

 

 

 Το ρελέ 7 και το ρελέ 6 παίρνουν οδήγηση από την πόρτα D του επεξεργαστή και συγκεκριμένα οι ακίδες D7 και D6 στους αριθμούς 30 και 29 αντίστοιχα.

 

Μελλοντικά οι χαρακτήρες θα έρχονται από το LABVIEW με σειριακή ή δικτυακή διεπαφή τώρα έχει δοκιμαστεί με το Ηyperterminal. To Ηyperterminal θα επικοινωνεί με την COM4 και το κύκλωμα με την  COM3. Mε ειδικό πρόγραμμα οι θύρες αυτές δημιουργούνται και ενεργοποιούνται εικονικά και συνδέονται εικονικά προς χάριν της εξομοίωσης. 

Κατεβάστε το πρόγραμμα δημιουργίας εικονικών θυρών

 

Το πρόγραμμα απλό και εύκολο υπάρχουν επεξηγήσεις για όλη την λειτουργία του.

 

 

Διαθέτει ρουτίνες για την αρχικοποίηση της σειριακής θύρας και την αρχικοποίηση του αναλογικο-ψηφιακού μετατροπέα 8 ειδόδων. Εδώ θα δουλέψουμε με την ΑΝ0 ακίδα νούμερο 2 για την μετατροπή της αναλογικής τάσης του αισθητηρίου.

 

 

 

Κατεβάστε όλη την εφαρμογή από εδώ

 

Βελτιώσαμε το κώδικα assembly και τώρα μέσα από το hyperterminal μπορούμε να ανοίξουμε και να κλείσουμε και τους 8 ρελέδες. Πάντα με κεφαλαία λατινικά γράμματα. Συγκεκριμένα

Η και J το ρελέ 8

C και V το ρελέ 7

Q και W το ρελέ 6

A και S το ρελέ 5

Z και X το ρελέ 4

E και R το ρελέ 3

D και F το ρελέ 2

Y και U το ρελέ 1

Πρόσθετα η τιμή που επιστρέφει ο μετατροπέας μετατρέπεται σε χαρακτήρες ascii και εμφανίζεται σε κανονική μορφή, πχ. επειδή ο μετατροπέας του pic16f877a είναι 10bit και το αποτέλεσμα αποθηκεύεται σε δυο καταχωρητές των 8 μπιτ, κατά την μετατροπή του μειώνουμε την διακριτική του ικανότητα σε 8 μπιτ και η τιμή της μετατροπής αποθηκεύεται σε έναν καταχωρητή δηλαδή στην μεταβλητή ANALOG. οπότε ο δεκαεξαδικός αυτός αριθμός αν δεν μετατραπεί σε ascii θα εμφανιστεί κάποιο τυχαίο σύμβολο. Τελικά η απάντηση του pic είναι >032 μέσα από το hyperterminal και σε καμία περίπτωση αυτή η τιμή δεν είναι η τάση που επιστρέφει το LM35 και οπωσδήποτε δεν αντιπροσωπεύει την θερμοκρασία που μετράει.

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

Κατεβάστε όλη την εφαρμογή από εδώ v2 

 

Γυρίσαμε  το κώδικα από assembly σε CCS C προκειμένου να λύσουμε τα προβλήματα απεικόνισης της θερμοκρασίας. Mέσα στο συμπιεσμένο αρχείο υπάρχει ο δεκαεξαδικός κώδικας για να μπορέσετε να προγραμματίσετε τον pic. Εάν θελήσετε να αλλάξετε τον κώδικα θα χρειαστείται compiler CCS C.

 

 

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

 

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

 

Κατεβάστε όλη την εφαρμογή από αυτό το link ccs-v1

Αστέρια ΑνενεργάΑστέρια ΑνενεργάΑστέρια ΑνενεργάΑστέρια ΑνενεργάΑστέρια Ανενεργά

Κύκλωμα προσομοίωσης PIC16F877A με ULN2803 με το Proteus

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

 

 

Κάνοντας διπλό κλικ πάνω στον επεξεργαστή βλέπουμε την επιλογή firmware για να δούμε το πρόγραμμα που θα εκτελεστεί σε assembly μορφή. Αν ξεκινίσετε καινούργια εφαρμογή και χρειαστεί να φτιάξετε τον κώδικα από την αρχή θα χρειαστεί να κάνετε κλικ στον εικονίδιο  build project για να δημιουργήσει τα αρχεία .cof και .hex

Στην εφαρμογή αυτή θέλουμε να δοκιμάσουμε μια πόρτα του pic16f877a να οδηγήσει μέσω του ULN2803 ρελέδες και αντίστοιχα leds. Το ULN2803 μας εξοικονομεί χώρο πάνω στην πλακέτα αφού δεν χρειάζονται αντιστάσεις τρανζίστορ και δίοδοι προστασίας απο το τύλιγμα του ρελέ και τις επιπλέον τρύπες για τα παραπάνω εξαρτήματα.

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

 

και στο δεύτερο μέρος ο κύριος κώδικας με την ενεργοποίηση τις δύο οκτάμπιτες πόρτες του pic16f877a  την D και την Β

Κατεβάστε την εφαρμογή από εδώ