Satura rādītājs:

Dynamixel 12A vadīšana, sērijveidā nosūtot paketes: 5 soļi
Dynamixel 12A vadīšana, sērijveidā nosūtot paketes: 5 soļi

Video: Dynamixel 12A vadīšana, sērijveidā nosūtot paketes: 5 soļi

Video: Dynamixel 12A vadīšana, sērijveidā nosūtot paketes: 5 soļi
Video: Using Dynamixel AX-12A Servo with Arduino 2024, Jūlijs
Anonim
Dynamixel 12A vadīšana, sērijveidā nosūtot paketes
Dynamixel 12A vadīšana, sērijveidā nosūtot paketes

DYNAMIXEL 12A

1. darbība. Nepieciešamās sastāvdaļas

Aparatūra:

1. Dynamixel 12A vai jebkurš Dynamixel motors

2. USB uz Dynamixel.

PROGRAMMATŪRA:

1. Robotis Dynamixel vednis.

2. Python --- instalēta sērijas pakotne

2. darbība. Ievads Dynamixel 12A

Dynamixel motori ir ļoti precīzi un lielākoties tiek izmantoti robotikā. Katrā Dynamixel motorā ir STM mikrokontrolleris. Jūs varat nolasīt pašreizējo griezes momentu, spriegumu, strāvas patēriņu, temperatūru, stāvokli utt. No Dynamixels Motors.

Dynamixel 12A specifikācijas:

Darba spriegums -12 V.

Svars-55 g

Maksimālā strāva -900 mA

Stall griezes moments-15,3 kg cm

3. darbība: saziņa/kontrole ar Dynamixel 12A

  • Dynamixel 12A nav līdzīgs parastajiem servomotoriem, kuriem ir 3 kontaktu GND, PWM, VCC, kas nodrošina barošanas avotu un PWM signālu un kontrolē motoru.
  • Mēs varam kontrolēt Dynamixel motorus, izmantojot Half Duplex UART sakaru protokolu.

Kas ir pusdupleksās saziņas protokols?

Daļēji dupleksa datu pārraide nozīmē, ka datus var pārraidīt abos virzienos uz signāla nesēju, bet ne vienlaicīgi.

Tagad mēs uzzinām par protokolu 1.0 Dynamixels no Robotis, lai kontrolētu Dynamixel motorus.

  • Jūs varat sazināties ar Dynamixel motoriem, nosūtot paketes no klēpjdatora/mikrokontrollera, piemēram, Arduino, r-pi utt., Uz mikrokontrolleri, kas atrodas Dynamixel motoros.
  • Katram Dynamixels ir ID, kurus var mainīt.
  • Pakete nav nekas cits kā baitu kopums.

Incase of Dynamixel Protocol 1.0 jums būs divu veidu paketes

  • Instrukciju paketes
  • Statusa paketes

Instrukciju pakete ir komandu dati, kas tiek nosūtīti uz ierīci.

Instrukciju pakete izskatās šādi:

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

0xFF, 0xFF, ID, garums, instrukcijas 1. parametrs… Parametrs, NCHKSUM

Instrukcijas baits norāda, kas jādara, vai lasīt datus vai rakstīt Dynamixel motoram.

DINAMIKSELA MOTORA VADĪBAS TABULA.-Kontroles tabula ir struktūra, kas sastāv no vairākiem datu laukiem, lai saglabātu statusu vai kontrolētu ierīci.

Vairāk par kontroles tabulu lasiet šeitKontroltabulas Robotis.

Mēs varam piekļūt vadības tabulas datiem no tās adreses, kā arī rakstīt.

4. solis: mērķa pozīcijas rakstīšana Dynamixel Motor

Instrukciju pakete mērķa rakstīšanai

katra pakete sākas ar galveni

H1 H2 ID LEN INST P1 P2 P3 CKSM

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

LEN-instrukciju baits+p1+p2+p3+chk summa = 5 baiti

ID = Dynamixel motor ID 1-jūs varat iestatīt dynamixel id, izmantojot robotis dynamixel vedņa programmatūru

INST = reg rakstīt-norādot, ka jūs rakstāt motoram.

P1 = Datu ievades sākuma adrese vadības tabulā Mērķa pozīcijai ir adrese 30 (0x1E heksadecimālā).

P2 = zemāks datu baits

P3 = lielāks datu baits

Kontrolsummas aprēķins tiks izskaidrots drīz ………………….

Ja jūs nosūtāt iepriekš minēto paketi uz Dynamixel sērijveidā, izmantojot USB2Dynamixel, Dynamixel motora mērķa pozīcija tiks iestatīta uz 500.

5. darbība: PYTHON CODE

#Izstrādāja Madhu. Pēdējo reizi atjaunināts 19.07.2019

importēt sērijas

importa laiks

ser = seriāls. Sērija ('com36', '57142')

#attiecīgi mainiet portu, mans dynamixel motoru pārraides ātrums ir 57142, to varat iestatīt, izmantojot Dynamixel vedņa programmatūru.

kamēr (1):

gp1 = ievade ('ievadiet ID1 mērķa pozīciju (0-1023)')

l = gp1 un 255 #zems baits

h = (gp1 >> 8) un 255 #augsts baits

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

#pārbaudiet summas aprēķinu

crc = summa (li [2:])

zems1 = crc un 255

chksum = 255-zems1

li.append (chksum) #adding pārbaudes summa

a = bytearray (li) #converting list to bytearray

ser.write (a) #Sēriski sūtiet, izmantojot usb2dynamixels.

miega laiks (0,5)

#Kopējiet koda ielīmējumu python IDE. Instalējiet pyserial paketi. savienojiet usb2dynamixel USB pusi ar klēpjdatora USB portu un otru galu ar Dynamixel motoru. Dodiet USB2DYNAMIXEL ārēju 12 V barošanas avotu.

Izpildiet kodu, ievadiet mērķa pozīcijas vērtību. Skatiet motora darbību.

Ieteicams: