Πίνακας περιεχομένων:

Έλεγχος Dynamixel 12A με αποστολή πακέτων σειριακά: 5 βήματα
Έλεγχος Dynamixel 12A με αποστολή πακέτων σειριακά: 5 βήματα

Βίντεο: Έλεγχος Dynamixel 12A με αποστολή πακέτων σειριακά: 5 βήματα

Βίντεο: Έλεγχος Dynamixel 12A με αποστολή πακέτων σειριακά: 5 βήματα
Βίντεο: 'Ελεγχος: μια αρρώστια της ψυχής - π. Λίβυος 2024, Ιούλιος
Anonim
Έλεγχος του Dynamixel 12A με αποστολή πακέτων σε σειρά
Έλεγχος του Dynamixel 12A με αποστολή πακέτων σε σειρά

DYNAMIXEL 12Α

Βήμα 1: Απαιτούνται εξαρτήματα

ΣΚΕΥΗ, ΕΞΑΡΤΗΜΑΤΑ:

1. Dynamixel 12A ή οποιοδήποτε μοτέρ Dynamixel

2. USB σε Dynamixel.

ΛΟΓΙΣΜΙΚΟ:

1. Οδηγός Robotis Dynamixel.

2. Python --- Σειριακό πακέτο εγκατεστημένο

Βήμα 2: Εισαγωγή στο Dynamixel 12A

Οι κινητήρες Dynamixel είναι εξαιρετικά ακριβείς και χρησιμοποιούνται κυρίως στη Ρομποτική. Κάθε κινητήρας Dynamixel διαθέτει μικροελεγκτή STM στο εσωτερικό του. Μπορείτε να διαβάσετε την τρέχουσα ροπή, την τάση, την παροχή ρεύματος, τη θερμοκρασία, τη θέση κ.λπ., από τη Dynamixels Motors.

Προδιαγραφές του Dynamixel 12A:

Τάση λειτουργίας -12v

Βάρος-55 γρ

Μέγιστο ρεύμα -900mA

Ροπή στάβλου-15,3 Kg.cm

Βήμα 3: Επικοινωνία/έλεγχος Dynamixel 12A

  • Το Dynamixel 12A δεν μοιάζει με τους κανονικούς σερβοκινητήρες που έχουν 3pin GND, PWM, VCC, δίνουν σήμα τροφοδοσίας και PWM και ελέγχουν τον κινητήρα.
  • Μπορούμε να ελέγξουμε τους κινητήρες Dynamixel χρησιμοποιώντας το πρωτόκολλο επικοινωνίας Half Duplex UART.

Τι είναι το πρωτόκολλο επικοινωνίας Half Duplex;

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

Τώρα μαθαίνουμε για το Πρωτόκολλο 1.0 για Dynamixels από το Robotis για τον έλεγχο των κινητήρων Dynamixel.

  • Μπορείτε να επικοινωνήσετε με τους κινητήρες Dynamixel στέλνοντας πακέτα από το φορητό υπολογιστή/μικροελεγκτή σας όπως Arduino, r-pi, κλπ., Στον μικροελεγκτή που υπάρχει μέσα στους κινητήρες Dynamixel.
  • Κάθε Dynamixels έχει αναγνωριστικά που μπορούν να τροποποιηθούν.
  • Ένα πακέτο δεν είναι παρά Σύνολο byte.

Με το πρωτόκολλο Dynamixel 1.0 θα έχετε δύο τύπους πακέτων

  • Πακέτα οδηγιών
  • Πακέτα κατάστασης

Το πακέτο οδηγιών είναι τα δεδομένα εντολών που αποστέλλονται στη συσκευή.

Το πακέτο οδηγιών μοιάζει με αυτό:

Header1, Header2, ID, Length, Instruction, Param 1… Param, NChecksum

0xFF, 0xFF, ID, Length, Instruction Param 1… Param, NCHKSUM

Το byte οδηγιών λέει τι να κάνετε, αν πρέπει να διαβάσετε δεδομένα ή να γράψετε στον κινητήρα Dynamixel.

ΠΙΝΑΚΑΣ ΕΛΕΓΧΟΥ ΜΗΧΑΝΗΣ DYNAMIXEL.-Ο Πίνακας Ελέγχου είναι μια δομή που αποτελείται από πολλαπλά πεδία Δεδομένων για την αποθήκευση της κατάστασης ή τον έλεγχο της συσκευής.

Διαβάστε περισσότερα για τον πίνακα ελέγχου HereControl Table Robotis.

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

Βήμα 4: Γράψτε τη θέση στόχου στο Dynamixel Motor

Πακέτο οδηγιών για τη σύνταξη θέσης στόχου

κάθε πακέτο ξεκινά με μια κεφαλίδα

H1 H2 ID LEN INST P1 P2 P3 CKSM

0xFF, 0xFF, 0x01, 0x05, 0x04, 0x1E, 0xF4, 0x01, 0xE2

Byte εντολών LEN+p1+p2+p3+chk sum = 5 byte

ID = Dynamixel motor ID 1-μπορείτε να ορίσετε αναγνωριστικό δυναμιξέλης χρησιμοποιώντας το λογισμικό robotis dynamixel wizard

INST = reg εγγραφή-καθορίζοντας ότι γράφετε στον κινητήρα.

P1 = Αρχική διεύθυνση δεδομένων-Στον πίνακα ελέγχου Η θέση στόχου έχει μια διεύθυνση 30 (0x1E σε δεκαεξαδική).

P2 = χαμηλότερο byte δεδομένων

P3 = υψηλότερο byte δεδομένων

Ο υπολογισμός του αθροίσματος ελέγχου θα εξηγηθεί σύντομα ………………….

Εάν στείλετε το παραπάνω πακέτο στο Dynamixel Serially χρησιμοποιώντας USB2Dynamixel, η θέση στόχου του κινητήρα Dynamixel θα οριστεί σε 500.

Βήμα 5: ΚΩΔΙΚΟΣ PYTHON

#Αναπτύχθηκε από τον Madhu. Τελευταία ενημέρωση στις 2019-07-19

Σειριακή εισαγωγή

χρόνο εισαγωγής

ser = serial. Serial ('com36', '57142')

#change com port αντίστοιχα, ο ρυθμός baud των κινητήρων δυναμιξέλης μου είναι 57142, μπορείτε να τον ορίσετε χρησιμοποιώντας το λογισμικό Dynamixel wizard.

ενώ (1):

gp1 = είσοδος ("εισαγάγετε τη θέση στόχου ID1 (0-1023)")

l = gp1 & 255 #χαμηλό byte

h = (gp1 >> 8) & 255 #υψηλό byte

li = [0xff, 0xff, 0x01, 0x05, 0x04, 0x1e, l1, h1]

#ελέγξτε τον υπολογισμό του αθροίσματος

crc = άθροισμα (li [2:])

low1 = crc & 255

chksum = 255-low1

li.append (chksum) #προσθήκη αθροίσματος ελέγχου

a = bytearray (li) #μετατροπή λίστας σε bytearray

ser.write (a) #Σειριακή αποστολή χρησιμοποιώντας usb2dynamixels.

ώρα. ύπνος (0,5)

#Αντιγράψτε την επικόλληση κώδικα στο python IDE. Εγκαταστήστε το πακέτο pyserial. συνδέστε την πλευρά USB του usb2dynamixel στη θύρα USB του φορητού υπολογιστή και ένα άλλο άκρο στο μοτέρ Dynamixel. Δώστε εξωτερική παροχή 12v στο USB2DYNAMIXEL.

Εκτέλεση του κωδικού, εισαγάγετε την τιμή της θέσης στόχου. Δείτε τον κινητήρα σε λειτουργία.

Συνιστάται: