- Απαιτούμενα στοιχεία
- Κατασκευή ρομποτικού βραχίονα
- Διάγραμμα κυκλώματος και εξήγηση εργασίας:
- Πώς να χειριστείτε το ρομποτικό βραχίονα:
Σε αυτό το σεμινάριο, πρόκειται να σχεδιάσουμε ένα ρομποτικό βραχίονα με βάση το Arduino Uno από μερικά χαρτόνια και σερβοκινητήρες. Ολόκληρη η διαδικασία κατασκευής έχει εξηγηθεί λεπτομερώς παρακάτω. Εδώ σε αυτό το έργο το Arduino Uno είναι προγραμματισμένο να ελέγχει τους σερβοκινητήρες που λειτουργούν ως αρμοί του ρομποτικού βραχίονα. Αυτή η εγκατάσταση μοιάζει επίσης ως Robotic Crane ή μπορούμε να το μετατρέψουμε σε Crane κάνοντας μερικές εύκολες τροποποιήσεις. Αυτό το έργο θα είναι χρήσιμο για αρχάριους που θέλουν να μάθουν να αναπτύσσουν ένα απλό ρομπότ με χαμηλό κόστος ή απλά θέλουν να μάθουν να δουλεύουν με Arduino και servo motors.
Αυτό το Arduino Robotic Arm μπορεί να ελεγχθεί από τέσσερα ποτενσιόμετρα που είναι προσαρτημένα σε αυτό, κάθε ποτενσιόμετρο χρησιμοποιείται για τον έλεγχο κάθε σερβο. Μπορείτε να μετακινήσετε αυτά τα σερβο περιστρέφοντας τα pot για να διαλέξετε κάποιο αντικείμενο, με κάποια πρακτική μπορείτε εύκολα να διαλέξετε και να μετακινήσετε το αντικείμενο από το ένα μέρος στο άλλο. Έχουμε χρησιμοποιήσει σερβο χαμηλής ροπής εδώ, αλλά μπορείτε να χρησιμοποιήσετε πιο ισχυρά σερβο για να επιλέξετε βαριά αντικείμενα. Η όλη διαδικασία έχει αποδειχθεί καλά στο βίντεο στο τέλος. Δείτε επίσης τα υπόλοιπα Έργα Ρομποτικής μας εδώ.
Απαιτούμενα στοιχεία
- Arduino Uno
- Πυκνωτής 1000uF (4 τεμάχια)
- Πυκνωτής 100nF (4 τεμάχια)
- Servo Motor (SG 90- τέσσερα κομμάτια)
- 10K pot- Μεταβλητή αντίσταση (4 τεμάχια)
- Τροφοδοσία (5v - κατά προτίμηση δύο)
Βοηθητικό μοτέρ
Πρώτα μιλάμε λίγο για το Servo Motors. Τα Servo Motors χρησιμοποιούνται κυρίως όταν υπάρχει ανάγκη για ακριβή κίνηση ή θέση άξονα. Αυτά δεν προτείνονται για εφαρμογές υψηλής ταχύτητας. Οι σερβοκινητήρες προτείνονται για χαμηλή ταχύτητα, μέση ροπή και ακριβή εφαρμογή θέσης. Έτσι, αυτοί οι κινητήρες είναι οι καλύτεροι για το σχεδιασμό ρομποτικού βραχίονα.
Οι σερβοκινητήρες διατίθενται σε διάφορα σχήματα και μεγέθη. Θα χρησιμοποιήσουμε μικρούς σερβοκινητήρες, εδώ χρησιμοποιούμε τέσσερις σέρβο SG90. Ένας σερβοκινητήρας θα έχει κυρίως καλώδια, το ένα είναι για θετική τάση και το άλλο για γείωση και το τελευταίο για ρύθμιση θέσης. Το καλώδιο ΚΟΚΚΙΝΟ συνδέεται στην τροφοδοσία, το μαύρο καλώδιο συνδέεται στη γείωση και το ΚΙΤΡΙΝΟ καλώδιο συνδέεται στο σήμα. Διαβάστε αυτό το σεμινάριο του Controlling Servo Motor χρησιμοποιώντας το Arduino για να μάθετε περισσότερα σχετικά με αυτό. Στο Arduino έχουμε προκαθορισμένες βιβλιοθήκες για τον έλεγχο του Servo, οπότε είναι πολύ εύκολο να ελέγξετε το servo, το οποίο θα μάθετε μαζί με αυτό το σεμινάριο.
Κατασκευή ρομποτικού βραχίονα
Πάρτε μια επίπεδη και σταθερή επιφάνεια, όπως ένα τραπέζι ή ένα σκληρό χαρτόνι. Στη συνέχεια τοποθετήστε ένα σερβοκινητήρα στη μέση και κολλήστε τον στη θέση του. Βεβαιωθείτε ότι ο βαθμός περιστροφής βρίσκεται στην περιοχή που παρουσιάζεται στο σχήμα. Αυτό το σερβο λειτουργεί ως βάση του βραχίονα.
Τοποθετήστε ένα μικρό κομμάτι χαρτόνι πάνω από το πρώτο σερβο και μετά τοποθετήστε το δεύτερο σερβο σε αυτό το κομμάτι του χαρτονιού και κολλήστε το στη θέση του. Η περιστροφή σερβο πρέπει να ταιριάζει με το διάγραμμα.
Πάρτε μερικά χαρτόνια και κόψτε τα σε κομμάτια 3cm x 11cm. Βεβαιωθείτε ότι το κομμάτι δεν έχει μαλακώσει. Κόψτε μια ορθογώνια τρύπα στο ένα άκρο (αφήστε 0,8 εκατοστά από το κάτω μέρος) αρκετά ώστε να χωρέσει άλλο σερβο και στο άλλο άκρο προσαρμόστε το σερβο γρανάζι σφιχτά με βίδες ή με κόλλα. Στη συνέχεια, τοποθετήστε το τρίτο σερβο στην πρώτη τρύπα.
Τώρα κόψτε ένα άλλο κομμάτι χαρτονιού με μήκη που φαίνεται στην παρακάτω εικόνα και κολλήστε ένα άλλο γρανάζι στο κάτω μέρος αυτού του κομματιού.
Τώρα κολλήστε το τέταρτο και τελευταίο σερβο στην άκρη του δεύτερου κομματιού όπως φαίνεται στο σχήμα.
Με αυτό, δύο κομμάτια μαζί μοιάζουν.
Όταν συνδέουμε αυτήν τη ρύθμιση στη βάση, θα πρέπει να μοιάζει,
Σχεδόν τελείωσε. Πρέπει απλώς να φτιάξουμε το γάντζο για να πιάσουμε και να διαλέξουμε το αντικείμενο σαν ρομποτικό χέρι. Για γάντζο, κόψτε άλλα δύο κομμάτια χαρτονιού μήκους 1cmx7cm & 4cmx5cm. Κολλήστε τα μαζί όπως φαίνεται στην εικόνα και κολλήστε την τελική ταχύτητα στην άκρη.
Τοποθετήστε αυτό το κομμάτι στην κορυφή και με αυτό έχουμε κάνει την κατασκευή του ρομποτικού βραχίονα μας.
Με αυτό, ολοκληρώθηκε ο βασικός μας σχεδιασμός ρομποτικού βραχίονα και έτσι δημιουργήσαμε το ρομποτικό βραχίονα χαμηλού κόστους. Τώρα συνδέστε το κύκλωμα στο breadboard σύμφωνα με το διάγραμμα κυκλώματος.
Διάγραμμα κυκλώματος και εξήγηση εργασίας:
Η σύνδεση κυκλώματος για Arduino Uno Robotic Arm φαίνεται παρακάτω.
Η τάση στις μεταβλητές αντιστάσεις δεν είναι εντελώς γραμμική. θα είναι θορυβώδες. Έτσι, για να φιλτράρετε αυτόν τον θόρυβο, οι πυκνωτές τοποθετούνται σε κάθε αντίσταση όπως φαίνεται στο σχήμα.
Τώρα θα τροφοδοτήσουμε την τάση που παρέχεται από αυτές τις μεταβλητές αντιστάσεις (τάση που αντιπροσωπεύει τον έλεγχο θέσης) στα κανάλια ADC του Arduino. Θα χρησιμοποιήσουμε τέσσερα κανάλια ADC UNO από A0 έως A3 για αυτό. Μετά την αρχικοποίηση ADC, θα έχουμε ψηφιακή αξία pot που αντιπροσωπεύει τη θέση που χρειάζεται ο χρήστης. Θα πάρουμε αυτήν την τιμή και θα την ταιριάξουμε με τη σερβο θέση.
Το Arduino διαθέτει έξι κανάλια ADC. Χρησιμοποιήσαμε τέσσερα για το Robotic Arm. Το UNO ADC έχει ανάλυση 10 bit, οπότε οι ακέραιες τιμές κυμαίνονται από 0-1023 (2 ^ 10 = 1024 τιμές). Αυτό σημαίνει ότι θα αντιστοιχίσει τις τάσεις εισόδου μεταξύ 0 και 5 βολτ σε ακέραιες τιμές μεταξύ 0 και 1023. Έτσι για κάθε (5/1024 = 4,9mV) ανά μονάδα. Μάθετε περισσότερα σχετικά με τη χαρτογράφηση των επιπέδων τάσης χρησιμοποιώντας κανάλια ADC στο Arduino εδώ.
Τώρα, για να μετατρέψει το αναλογικό σήμα σε ψηφιακό σήμα το UNO, πρέπει να χρησιμοποιήσουμε το κανάλι ADC του Arduino Uno, με τη βοήθεια των παρακάτω λειτουργιών:
1. analogRead (ακίδα) 2. analogReference (); 3. analogReadResolution (bits).
Τα κανάλια Arduino ADC έχουν προεπιλεγμένη τιμή αναφοράς 5V. Αυτό σημαίνει ότι μπορούμε να δώσουμε μια μέγιστη τάση εισόδου 5V για μετατροπή ADC σε οποιοδήποτε κανάλι εισόδου. Δεδομένου ότι ορισμένοι αισθητήρες παρέχουν τάσεις από 0-2.5V, οπότε με μια αναφορά 5V, έχουμε μικρότερη ακρίβεια, επομένως έχουμε μια οδηγία που μας επιτρέπει να αλλάξουμε αυτήν την τιμή αναφοράς. Έτσι, για την αλλαγή της τιμής αναφοράς έχουμε το "analogReference ();"
Ως προεπιλογή, έχουμε τη μέγιστη ανάλυση ADC πλακέτας που είναι 10 bits, αυτή η ανάλυση μπορεί να αλλάξει χρησιμοποιώντας οδηγίες ("analogReadResolution (bits);").
Στο ρομποτικό κύκλωμα χειρός, έχουμε αφήσει αυτήν την τάση αναφοράς στην προεπιλογή, ώστε να μπορούμε να διαβάσουμε την τιμή από το κανάλι ADC καλώντας απευθείας τη λειτουργία "analogRead (pin);", εδώ "pin" αντιπροσωπεύει pin όπου συνδέσαμε το αναλογικό σήμα, ας πούμε θέλουμε να διαβάσουμε "A0". Η τιμή από το ADC μπορεί να αποθηκευτεί σε ακέραιο ως int SENSORVALUE0 = analogRead (A0); .
Τώρα μιλάμε ας για το SERVO, το Arduino Uno έχει ένα χαρακτηριστικό το οποίο μας δίνει τη δυνατότητα να ελέγχει τη θέση σερβο με απλά δίνοντας την αξία βαθμό. Πείτε αν θέλουμε το σερβο να είναι στα 30, μπορούμε άμεσα να αντιπροσωπεύσουμε την αξία στο πρόγραμμα. Το αρχείο κεφαλίδας SERVO ( Servo.h ) φροντίζει εσωτερικά όλους τους υπολογισμούς του λόγου λειτουργίας.
#περιλαμβάνω
Εδώ η πρώτη δήλωση αντιπροσωπεύει το αρχείο κεφαλίδας για τον έλεγχο του SERVO MOTOR. Η δεύτερη δήλωση ονομάζει το servo. το αφήνουμε τόσο σερβο όσο θα χρησιμοποιούμε τέσσερα. Η τρίτη δήλωση δηλώνει πού είναι συνδεδεμένος ο πείρος σήματος σερβο. αυτό πρέπει να είναι ένας ακροδέκτης PWM. Εδώ χρησιμοποιούμε το PIN3 για το πρώτο σερβο. Η τέταρτη δήλωση δίνει εντολές για την τοποθέτηση του σερβοκινητήρα σε μοίρες. Εάν δοθεί 30, ο σερβοκινητήρας περιστρέφεται 30 μοίρες.
Τώρα, έχουμε τη σερβο θέση SG90 από 0 έως 180 και οι τιμές ADC είναι από 0-1023. Θα χρησιμοποιήσουμε μια ειδική λειτουργία που ταιριάζει και στις δύο τιμές αυτόματα.
sensorvalue0 = χάρτης (sensorvalue0, 0, 1023, 0, 180);
Αυτή η δήλωση χαρτογραφεί και τις δύο τιμές αυτόματα και αποθηκεύει το αποτέλεσμα σε ακέραιο «servovalue0» .
Έτσι ελέγξαμε τους Servos στο έργο Robotic Arm χρησιμοποιώντας το Arduino. Ελέγξτε τον πλήρη κωδικό παρακάτω.
Πώς να χειριστείτε το ρομποτικό βραχίονα:
Υπάρχουν τέσσερα δοχεία που παρέχονται στον χρήστη. Και περιστρέφοντας αυτά τα τέσσερα δοχεία, παρέχουμε μεταβλητή τάση στα κανάλια ADC της UNO. Έτσι, οι ψηφιακές τιμές του Arduino είναι υπό έλεγχο του χρήστη. Αυτές οι ψηφιακές τιμές χαρτογραφούνται για να προσαρμόσουν τη θέση του σερβο κινητήρα, επομένως η θέση του σερβο είναι στον έλεγχο του χρήστη και περιστρέφοντας αυτούς τους χρήστες του Pots μπορούν να μετακινήσουν τις αρθρώσεις του ρομποτικού βραχίονα και να πάρουν ή να αρπάξουν οποιοδήποτε αντικείμενο.