תוכן עניינים:

שליטה על Dynamixel 12A על ידי שליחת מנות באופן סדרתי: 5 שלבים
שליטה על Dynamixel 12A על ידי שליחת מנות באופן סדרתי: 5 שלבים

וִידֵאוֹ: שליטה על Dynamixel 12A על ידי שליחת מנות באופן סדרתי: 5 שלבים

וִידֵאוֹ: שליטה על Dynamixel 12A על ידי שליחת מנות באופן סדרתי: 5 שלבים
וִידֵאוֹ: КАК НАСТРОИТЬ L4D2 2024, נוֹבֶמבֶּר
Anonim
שליטה על Dynamixel 12A על ידי שליחת מנות באופן סדרתי
שליטה על Dynamixel 12A על ידי שליחת מנות באופן סדרתי

דינאמיקסל 12A

שלב 1: דרושים רכיבים

חוּמרָה:

1. דינמיקסל 12A או כל מנוע דינמיקסל

2. USB לדינמיקסל.

תוֹכנָה:

1. אשף רובוטיס דינמיקסל.

2. Python --- חבילה טורית מותקנת

שלב 2: היכרות עם Dynamixel 12A

מנועי דינמיקסל מדויקים ביותר ובעיקר משמשים ברובוטיקה. לכל מנוע Dynamixel יש מיקרו -בקר STM בפנים. אתה יכול לקרוא את מומנט הזרם, המתח, משיכת הזרם, הטמפרטורה, המיקום וכו 'מ- Dynamixels Motors.

מפרט Dynamixel 12A:

מתח הפעלה -12V

משקל-55 גרם

זרם מקסימלי -900mA

מומנט דוכן-15.3 ק"ג. ס"מ

שלב 3: תקשורת/שליטה על Dynamixel 12A

  • Dynamixel 12A אינו דומה למנועי סרוו רגילים שיש להם 3 פינים GND, PWM, VCC, נותנים ספק כוח ואות PWM ושולטים במנוע.
  • אנו יכולים לשלוט במנועי Dynamixel באמצעות פרוטוקול תקשורת UART Half Duplex.

מהו פרוטוקול תקשורת חצי דופלקס?

העברת נתונים חצי דופלקס פירושה שניתן להעביר נתונים לשני הכיוונים במוביל אותות, אך לא בעת ובעונה אחת.

כעת אנו לומדים על פרוטוקול 1.0 עבור Dynamixels מרובוטיס לשליטה במנועי Dynamixel.

  • אתה יכול לתקשר עם מנועי Dynamixel על ידי שליחת מנות מהמחשב הנייד/מיקרו-בקר שלך כמו Arduino, r-pi וכו 'אל המיקרו-בקר שנמצא בתוך מנועי Dynamixel.
  • לכל Dynamixels יש מזהים שניתן לשנות.
  • מנות אינן אלא סט בייטים.

במקרה של פרוטוקול Dynamixel 1.0 יהיו לך שני סוגים של מנות

  • מנות הדרכה
  • מנות סטטוס

חבילת ההוראה היא נתוני הפקודה הנשלחים למכשיר.

חבילת ההוראות נראית כך:

כותרת 1, כותרת 2, מזהה, אורך, הוראה, פאראם 1 … פרמ, נקודת בדיקה

0xFF, 0xFF, מזהה, אורך, הוראה Param 1 … Param, NCHKSUM

בית ההוראה אומר מה לעשות, אם לקרוא נתונים או לכתוב למנוע דינמיקסל.

טבלת בקרה של מנוע דינאמיקסל.-טבלת הבקרה היא מבנה המורכב משדות נתונים מרובים לאחסון סטטוס או לשליטה במכשיר.

קרא עוד אודות שולחן הבקרה HereControl Robotis Table.

אנו יכולים לגשת לנתונים בטבלת הבקרה מהכתובת שלה וגם נוכל לכתוב.

שלב 4: כתיבת מיקום המטרה ל- Dynamixel Motor

חבילת הוראה לכתיבת מיקום המטרה

כל חבילה מתחילה בכותרת

H1 H2 ID LEN INST P1 P2 P3 CKSM

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

LEN-instruction byte+p1+p2+p3+chk sum = 5 בתים

מזהה = מזהה מנוע דינמיקסל 1-אתה יכול להגדיר מזהה דינמיקסל באמצעות תוכנת אשף הדינמיקסל של robotis

INST = כתיבת reg-ציון שאתה כותב למנוע.

P1 = כתובת ההתחלה של ה- Data-In בטבלת הבקרה מיקום המטרה הוא בעל כתובת 30 (0x1E בהקסדצימלי).

P2 = בייט נתונים נמוך יותר

P3 = בייט נתונים גבוה יותר

חישוב סכום הביקורת יוסבר בקרוב ………………….

אם תשלח את החבילה לעיל ל- Dynamixel באופן סדרתי באמצעות USB2Dynamixel, מיקום המטרה של המנוע Dynamixel יוגדר ל -500.

שלב 5: קוד PYTHON

#פותח על ידי מאדהו. עדכון אחרון בתאריך 2019-07-19

יבוא סדרתי

זמן יבוא

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

#change com port בהתאם, קצב השידור של מנועי הדינמיקסל שלי הוא 57142, אתה יכול להגדיר אותו באמצעות תוכנת אשף Dynamixel.

בעוד (1):

gp1 = קלט ('הזן מיקום יעד ID1 (0-1023)')

l = gp1 & 255 #בית נמוך

h = (gp1 >> 8) & 255 #בתים גבוהים

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 (א) #שלח ברצינות באמצעות usb2dynamixels.

time.sleep (0.5)

#העתק את הדבקת הקוד ב- python IDE. התקן חבילת pyserial. חבר את צד ה- USB של usb2dynamixel ליציאת ה- USB של המחשב הנייד וקצה נוסף למנוע המנוע Dynamixel. תן ספק חיצוני של 12V ל- USB2DYNAMIXEL.

הפעל את הקוד, הזן את ערך מיקום המטרה. ראה מנוע פועל.

מוּמלָץ: