Sisukord:

Dynamixel 12A juhtimine pakettide jada kaudu: 5 sammu
Dynamixel 12A juhtimine pakettide jada kaudu: 5 sammu

Video: Dynamixel 12A juhtimine pakettide jada kaudu: 5 sammu

Video: Dynamixel 12A juhtimine pakettide jada kaudu: 5 sammu
Video: Using Dynamixel AX-12A Servo with Arduino 2024, Juuli
Anonim
Dynamixel 12A juhtimine pakettide jada kaudu
Dynamixel 12A juhtimine pakettide jada kaudu

DYNAMIXEL 12A

Samm: nõutavad komponendid

RIISTVARA:

1. Dynamixel 12A või mis tahes Dynamixeli mootor

2. USB Dynamixelile.

TARKVARA:

1. Robotis Dynamixeli nõustaja.

2. Python --- jadapakett on installitud

2. etapp: Dynamixel 12A sissejuhatus

Dynamixeli mootorid on ülitäpsed ja neid kasutatakse enamasti robootikas. Iga Dynamixeli mootori sees on STM mikrokontroller. Dynamixels Motorsist saate lugeda praegust pöördemomenti, pinget, vooluhulka, temperatuuri, asendit jne.

Dynamixel 12A spetsifikatsioonid:

Tööpinge -12V

Kaal-55 g

Maksimaalne vool -900 mA

Varisemismoment-15,3 kg.cm

3. samm: Dynamixel 12A suhtlemine/juhtimine

  • Dynamixel 12A ei ole nagu tavalised servomootorid, millel on 3 -pin GND, PWM, VCC, mis annavad toite- ja PWM -signaali ning juhivad mootorit.
  • Saame juhtida Dynamixeli mootoreid Half Duplex UART sideprotokolli abil.

Mis on poolduplekside protokoll?

Pooldupleksne andmeedastus tähendab, et signaalikandjal saab andmeid edastada mõlemas suunas, kuid mitte samal ajal.

Nüüd saame teada protokollist 1.0 Dynamixelite jaoks Robotiselt Dynamixeli mootorite juhtimiseks.

  • Saate suhelda Dynamixeli mootoritega, saates paketid oma sülearvutilt/mikrokontrollerilt (nt Arduino, r-pi jne) Dynamixeli mootorite sees olevale mikrokontrollerile.
  • Igal Dynamixelil on ID -d, mida saab muuta.
  • Pakett pole midagi muud kui baitide komplekt.

Kui kasutate Dynamixeli protokolli 1.0, on teil kahte tüüpi pakette

  • Juhendpaketid
  • Olekupaketid

Juhendpakett on seadmesse saadetud käsuandmed.

Juhendipakett näeb välja selline:

Päis1, Päis2, ID, Pikkus, Juhend, Parameeter 1… Param, NChecksum

0xFF, 0xFF, ID, pikkus, juhendiparameeter 1… parameeter, NCHKSUM

Juhendbait ütleb, mida teha, kas lugeda andmeid või kirjutada Dynamixeli mootorile.

DYNAMIXEL MOOTORI JUHTTABEL.-Juhtimislaud on struktuur, mis koosneb mitmest andmeväljast oleku salvestamiseks või seadme juhtimiseks.

Lisateavet kontrolltabeli kohta leiate siit.

Juurdepääs kontrolltabeli andmetele pääseb selle aadressilt ja saame ka kirjutada.

4. samm: eesmärgi positsiooni kirjutamine Dynamixel Motorile

Juhendpakett eesmärgi kirjutamiseks

iga pakett algab päisega

H1 H2 ID LEN INST P1 P2 P3 CKSM

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

LEN-käsu bait+p1+p2+p3+chk summa = 5 baiti

ID = Dynamixeli mootori ID 1-saate dynamixeli id määrata robotis dynamixeli nõustaja tarkvara abil

INST = reg write-täpsustades, et kirjutate mootorile.

P1 = Andmete sisestamise kontroll-tabeli algusaadress Eesmärgi positsioon on aadressiga 30 (0x1E kuueteistkümnendkohas).

P2 = andmete väiksem bait

P3 = suurem andmebait

Kontrollsumma arvutamist selgitatakse peagi ………………….

Kui saadate ülaltoodud paketi Dynamixeli jadale, kasutades USB2Dynamixeli, määratakse Dynamixeli mootori eesmärgi asendiks 500.

5. samm: PYTHONI KOOD

#Arendanud Madhu. Viimati uuendatud 19.07.2019

Seeria importimine

impordi aeg

ser = jada. Seriaal ('com36', '57142')

#muuda vastavalt porti, minu dynamixelmootorite edastuskiirus on 57142, saate selle seadistada Dynamixeli nõustaja tarkvara abil.

samas (1):

gp1 = sisend ('sisestage ID1 eesmärgi positsioon (0-1023)')

l = gp1 ja 255 #madal bait

h = (gp1 >> 8) & 255 #kõrge bait

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

#kontrolli summa arvutamist

crc = summa (li [2:])

madal1 = crc & 255

chksum = 255-madal1

li.append (chksum) #kontrollsumma

a = bytearray (li) #converting list bytearray

ser.write (a) #Sarjasaatmine usb2dynamixels abil.

aeg. uni (0,5)

#Kopeerige koodipasta python IDE -sse. Installige püsipakett. ühendage usb2dynamixeli USB -pool sülearvuti USB -porti ja teine ots Dynamixeli mootoriga. Andke USB2DYNAMIXELile väline 12 V toide.

Käivitage kood, sisestage eesmärgi positsiooni väärtus. Vaadake mootori töötamist.

Soovitan: