Mündəricat:

Paketləri Serial Göndərərək Dynamixel 12A -ya nəzarət: 5 addım
Paketləri Serial Göndərərək Dynamixel 12A -ya nəzarət: 5 addım

Video: Paketləri Serial Göndərərək Dynamixel 12A -ya nəzarət: 5 addım

Video: Paketləri Serial Göndərərək Dynamixel 12A -ya nəzarət: 5 addım
Video: Network Təbəqəsi 2024, Iyul
Anonim
Paketleri Serial Göndərərək Dynamixel 12A -ya nəzarət
Paketleri Serial Göndərərək Dynamixel 12A -ya nəzarət

DYNAMIXEL 12A

Addım 1: Tələb olunan komponentlər

DONANIM:

1. Dynamixel 12A və ya hər hansı bir Dynamixel mühərriki

2. USB -dən Dynamixel -ə.

PROQRAM TƏMİNATI:

1. Robotis Dynamixel sehrbazdır.

2. Python-Serial paketi quraşdırılıb

Addım 2: Dynamixel 12A -ya giriş

Dynamixel mühərrikləri çox dəqiqdir və əsasən Robototexnikada istifadə olunur. Hər bir Dynamixel motorunun içərisində STM mikrokontrolörü var. Dynamixels Motors -dan cari torku, gərginliyi, cərəyanı, temperaturu, mövqeyi və s. Oxuya bilərsiniz.

Dynamixel 12A texniki xüsusiyyətləri:

İşləmə gərginliyi -12v

Çəkisi-55 qr

Maksimum cərəyan -900mA

Durma torku-15,3 kq.sm

Addım 3: Dynamixel 12A ilə əlaqə qurmaq/nəzarət etmək

  • Dynamixel 12A, 3pin GND, PWM, VCC olan, enerji təchizatı və PWM siqnalı verən və mühərriki idarə edən normal servo motorlara bənzəmir.
  • Half Duplex UART rabitə protokolundan istifadə edərək Dynamixel mühərriklərini idarə edə bilərik.

Yarım Dupleks Rabitə Protokolu nədir?

Yarım dupleks məlumat ötürülməsi, məlumatların bir siqnal daşıyıcısında hər iki istiqamətdə ötürülə biləcəyini, eyni zamanda deyil.

İndi Dynamixel mühərriklərini idarə etmək üçün Robotisdən Dynamixels üçün Protokol 1.0 haqqında məlumat əldə edirik.

  • Dizüstü kompüterinizdən/Arduino, r-pi və s.
  • Hər Dynamixel -də dəyişdirilə bilən şəxsiyyət vəsiqələri var.
  • Paket, bayt dəstindən başqa bir şey deyil.

Dynamixel protokol 1.0 daxil olmaqla iki növ paketiniz olacaq

  • Təlimat paketləri
  • Vəziyyət paketləri

Təlimat Paketi, Cihaza göndərilən əmr məlumatlarıdır.

Təlimat paketi belə görünür:

Başlıq1, Başlıq2, ID, Uzunluq, Təlimat, Param 1… Param, NChecksum

0xFF, 0xFF, ID, Uzunluq, Təlimat Param 1… Param, NCHKSUM

Təlimat baytı nə etməli olduğunuzu, məlumatları oxumaq və ya Dynamixel motoruna yazmaq barədə məlumat verir.

DİNAMİKSEL MOTORUN NƏZARƏT CƏDVƏLİ. -Nəzarət Cədvəli, vəziyyəti saxlamaq və ya cihazı idarə etmək üçün bir çox Məlumat sahəsindən ibarət bir quruluşdur.

Nəzarət cədvəli haqqında daha çox oxuyun Burada Control Table Robotis.

Nəzarət masasındakı məlumatlara ünvanından daxil ola bilərik və yaza da bilərik.

Addım 4: Dynamixel Motora Məqsəd Vəziyyəti Yazmaq

Məqsəd yazmaq üçün təlimat paketi

hər paket bir başlıq ilə başlayır

H1 H2 ID LEN INST P1 P2 P3 CKSM

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

LEN-təlimat baytı+p1+p2+p3+chk cəmi = 5 bayt

ID = Dynamixel motor ID 1-robotis dynamixel sihirbaz proqramından istifadə edərək dynamixel id təyin edə bilərsiniz

INST = reg yazaraq motora yazdığınızı bildirir.

P1 = Məlumatların İdarəetmə Cədvəlindəki Başlanğıc Məqsədi, 30 ünvanına sahibdir (onaltılı olaraq 0x1E).

P2 = aşağı məlumat baytı

P3 = daha yüksək məlumat baytı

Nəzarət məbləğinin hesablanması qısa zamanda izah ediləcək ………………….

Yuxarıdakı paketi USB2Dynamixel istifadə edərək Dynamixel Serial -a göndərsəniz, Dynamixel motor hədəf mövqeyi 500 olaraq təyin ediləcək.

Addım 5: PYTHON KODU

#Madhu tərəfindən hazırlanmışdır. Son yeniləmə 19.07.2019

idxal Serial

idxal vaxtı

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

#müvafiq olaraq com portunu dəyişdirin, mənim dynamixel mühərriklərimin ötürmə dərəcəsi 57142 -dir, Dynamixel sihirbaz proqramından istifadə edərək təyin edə bilərsiniz.

isə (1):

gp1 = giriş ('ID1 qol mövqeyini daxil edin (0-1023)')

l = gp1 & 255 #aşağı bayt

h = (gp1 >> 8) & 255 #yüksək bayt

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

#məbləğin hesablanmasını yoxlayın

crc = cəmi (li [2:])

aşağı1 = crc & 255

chksum = 255-aşağı1

li.append (chksum) #adding çek məbləği

a = bytearray (li) #siyahısı bytearray -ə çevirir

ser.write (a) #usb2dynamixels istifadə edərək seriya olaraq göndərin.

vaxt.yuxu (0.5)

#Kodu yapışdırıb python IDE -ə kopyalayın. Pyserial paketini quraşdırın. usb2dynamixel -in USB tərəfini laptopun USB portuna, digər ucunu isə Dynamixel motoruna qoşun. USB2DYNAMIXEL -ə xarici 12v təchizatı verin.

Kodu işlədin, hədəf mövqeyi dəyərini daxil edin. Motorun işlədiyinə baxın.

Tövsiyə: