Ο PA-18 Track Linear Actuator είναι ο μεγαλύτερος ενεργοποιητής μας σταθερού μήκους και χρησιμοποιείται συχνά σε εξατομικευμένες ξυλουργικές κατασκευές, οικιακό αυτοματισμό και ρομποτική. Μπορείτε εύκολα να ελέγξετε έναν ενεργοποιητή με μια πλακέτα Arduino, και αυτό το άρθρο θα σας δείξει πώς να κατασκευάσετε και να προγραμματίσετε έναν γραμμικό ενεργοποιητή ελεγχόμενο από Arduino που μπορεί να προσαρμοστεί εύκολα ώστε να ταιριάξει στην εφαρμογή σας!
Απαραίτητο υλικό
Τα παρακάτω εξαρτήματα υλικού απαιτούνται για έναν γραμμικό ενεργοποιητή ελεγχόμενο από Arduino, όλα εκ των οποίων μπορούν να αγοραστούν από την Progressive Automations:
- 1x PA-18 Track Linear Actuator
- 1x Arduino Uno
- 1x MegaMoto Plus H-bridge
- 1x Τροφοδοτικό 12VDC
- 2x στιγμιαίοι διακόπτες (pushbuttons)
- Καλώδια γεφυρώσεων (jumper wires)
Καλωδίωση συστήματος
Ο ενεργοποιητής που χρησιμοποιείται σε αυτή τη διάταξη απαιτεί τάση εισόδου 12VDC και έως 8A Ρεύμα σε πλήρες Φορτίο. Αυτές οι τιμές είναι πολύ υψηλότερες από αυτό που μπορεί να παρέχει ένας μικροελεγκτής Arduino και θα προκαλέσουν «μαγικό» καπνό να βγει από το Arduino. Για να αποφευχθεί ζημιά στο Arduino, χρησιμοποιείται η γέφυρα H MegaMoto Plus. Η γέφυρα H μπορεί να διαχειριστεί τις απαιτήσεις ισχύος και μπορεί εύκολα να χρησιμοποιηθεί για να ελέγξει έναν ενεργοποιητή με ένα Arduino.
Για αυτό το σύστημα, υπάρχουν συνδέσεις από το Arduino προς τη γέφυρα H MegaMoto Plus και προς τους δύο διακόπτες. Κάθε διακόπτης απαιτεί μία είσοδο, η οποία επιλέγεται από τους διαθέσιμους ακροδέκτες GPIO του Arduino. Η γέφυρα H έχει τέσσερις συνδέσεις με το Arduino, τρεις εξόδους και μία είσοδο. Τα pin που χρησιμοποιεί η γέφυρα H είναι προρυθμισμένα και δεν μπορούν να αλλάξουν.
Διάγραμμα βαθμίδων (Block Diagram)
Το παρακάτω διάγραμμα βαθμίδων εξηγεί συνοπτικά τις απαιτήσεις ισχύος και τις συνδέσεις. Το Arduino λειτουργεί με τροφοδοσία 5V και η γέφυρα H με 12V. Αν χρησιμοποιείτε δύο ξεχωριστά τροφοδοτικά, είναι σημαντικό οι γειώσεις τους να είναι κοινές, ώστε να αποφευχθεί ένα σενάριο «αιωρούμενης» γείωσης.

Εντολές Arduino
Θα χρειαστεί να εγκαταστήσετε το Arduino IDE σε έναν επιτραπέζιο υπολογιστή ή φορητό. Λάβετε υπόψη ότι η καλωδίωση του συστήματός σας θα επηρεάσει τον κώδικα Arduino. Επομένως, είναι σημαντικό να ελέγξετε διπλά τις συνδέσεις σας και να τις συγκρίνετε με τον κώδικα που έχετε εισαγάγει.
Η εντολή pinMode του Arduino χρησιμοποιείται για να ορίσει τα pin ως εισόδους ή εξόδους. Για να αλλάξετε ποιο σήμα στέλνει το Arduino σε ένα συγκεκριμένο pin, χρησιμοποιούνται οι εντολές digitalWrite και analogWrite. Επιπλέον, οι εντολές digitalRead και analogRead χρησιμοποιούνται όταν το Arduino χρειάζεται να ελέγξει το σήμα σε ένα συγκεκριμένο pin.
Στο παρακάτω πρόγραμμα, η εντολή digitalWrite χρησιμοποιείται για την ενεργοποίηση ή απενεργοποίηση της γέφυρας H και για τη ρύθμιση των pin που χρησιμοποιούνται για τους διακόπτες. Η εντολή analogWrite χρησιμοποιείται για να οριστεί η τιμή του σήματος PWM στην περιοχή 0 έως 255 προς τη γέφυρα H. Η εντολή digitalRead χρησιμοποιείται για να ελέγξει αν οι διακόπτες έχουν πατηθεί ή απελευθερωθεί. Η εντολή analogRead χρησιμοποιείται για να μετρήσει το απορροφώμενο Ρεύμα από τον Κινητήρα του ενεργοποιητή, κάτι που επαληθεύει πότε ο ενεργοποιητής βρίσκεται στο τέλος της διαδρομής του.
Κώδικας Arduino
Η ακόλουθη ενότητα περνά από τους ορισμούς του προγράμματος, το setup, τη βασική βρόχο (main loop) και τις συναρτήσεις των pushbuttons για έναν γραμμικό ενεργοποιητή ελεγχόμενο από Arduino. Είναι σημαντικό να εξετάσετε τον κώδικα γραμμή προς γραμμή για να κατανοήσετε πώς λειτουργεί. Αυτή η κατανόηση θα σας επιτρέψει να κάνετε προσαρμογές με βάση την εφαρμογή σας.
Ορισμοί προγράμματος
Αυτό το τμήμα κώδικα είναι η ρύθμιση των συνδέσεων των pin. Ελέγξτε διπλά ότι οι συνδέσεις σας προς την πλακέτα Arduino αντιστοιχούν στους αριθμούς που έχουν εισαχθεί. Αυτές οι τιμές μπορούν να αλλάξουν, ανάλογα με το αν συνδέετε επιπλέον εξαρτήματα στο Arduino που μπορεί να απαιτήσουν μετατόπιση των συνδέσεων των pin.

Ρύθμιση προγράμματος
Αυτό το τμήμα του κώδικα διαμορφώνει τα συνδεδεμένα pin ως είσοδο ή έξοδο. Τα δύο κουμπιά μπορούν να οριστούν σε HIGH ή LOW ανάλογα με το πώς τα έχετε συνδέσει (pull-up ή pull-down). Παρόλο που το Arduino διαθέτει εσωτερικές αντιστάσεις pull-up, ίσως θελήσετε να προσθέσετε μια εξωτερική αντίσταση για την αποθορυβοποίηση (debouncing) των διακοπτών και την αποφυγή ψευδών ενεργοποιήσεων.

Κύριος βρόχος (Main Loop)
Ο κύριος βρόχος ελέγχει συνεχώς αν τα κουμπιά πατήθηκαν και εκτελεί ένα συγκεκριμένο τμήμα του κώδικα ανάλογα με το αποτέλεσμα της συνάρτησης pushbutton. Περιλαμβάνεται ένα τμήμα μηχανής καταστάσεων (state machine) για να προσδιοριστεί τι κάνει ο γραμμικός ενεργοποιητής που ελέγχεται από Arduino και πώς πρέπει να αντιδρά με βάση τις εισόδους (δηλαδή, τα pushbuttons).


Συναρτήσεις pushbutton
Αυτές οι συναρτήσεις διαβάζουν ψηφιακά την κατάσταση των pushbuttons για να ελέγξουν έναν ενεργοποιητή χρησιμοποιώντας Arduino. Κάθε συνάρτηση pushbutton έχει έναν βρόχο αποθορυβοποίησης μέσα στην κύρια εντολή if, για να αποτραπεί η κακή ενεργοποίηση και η αποστολή λανθασμένου σήματος στο Arduino. Ένα λογικό (Boolean) είναι η έξοδος αυτών των συναρτήσεων. Για παράδειγμα, αν πατηθεί το κουμπί εκκίνησης, η τιμή του startButton θα αλλάξει σε true. Η λογική τιμή στη συνέχεια χρησιμοποιείται στον κύριο βρόχο για τη λήψη περαιτέρω αποφάσεων.

Τελικές σκέψεις
Η λειτουργικότητα αυτού του συστήματος υπερβαίνει όσα παρουσιάζονται σε αυτό το άρθρο. Ο μικροελεγκτής Arduino και η γέφυρα H MegaMoto Plus μπορούν να χρησιμοποιηθούν για την υλοποίηση πολύ πιο σύνθετων ρουτινών ελέγχου. Αυτή η διάταξη είναι ικανή για έλεγχο μεταβλητής Ταχύτητας αξιοποιώντας την εντολή analogWrite για τον ορισμό του σήματος PWM. Το Ρεύμα του Κινητήρα του ενεργοποιητή θα μπορούσε να παρακολουθείται για χρήση σε ανίχνευση Φορτίου ώστε να ενεργοποιούνται επιπλέον εντολές.
Επιπλέον, μπορούν να συνδεθούν πρόσθετοι αισθητήρες για έναν προηγμένο γραμμικό ενεργοποιητή ελεγχόμενο από Arduino. Για παράδειγμα, μπορεί να συνδεθεί ένας υπερηχητικός αισθητήρας για να ξεκινά/σταματά τον Κινητήρα όταν βρίσκεστε σε μια συγκεκριμένη απόσταση ή μπορεί να χρησιμοποιηθεί για να ενεργοποιήσει μια σειρά από άλλες ενδιαφέρουσες λειτουργίες. Οι δυνατότητες είναι ατελείωτες. Ωστόσο, αν οι pin στο Arduino αρχίσουν να μην επαρκούν, μπορείτε να επιλέξετε ένα διαφορετικό μοντέλο Arduino. Εναλλακτικά, πολλά Arduino μπορούν να συνδεθούν σε αλυσίδα (daisy-chain) ώστε να επικοινωνούν μεταξύ τους και με διάφορα εξαρτήματα. Ωστόσο, αυτή η προσέγγιση θα απαιτήσει ικανή εμπειρία προγραμματισμού.
Για πρόσθετες πληροφορίες, στείλτε μας email στο sales@progressiveautomations.com, ή καλέστε μας στο 1-800-676-6123.