Kazalo:

Nadzor Dynamixel 12A s serijskim pošiljanjem paketov: 5 korakov
Nadzor Dynamixel 12A s serijskim pošiljanjem paketov: 5 korakov

Video: Nadzor Dynamixel 12A s serijskim pošiljanjem paketov: 5 korakov

Video: Nadzor Dynamixel 12A s serijskim pošiljanjem paketov: 5 korakov
Video: Использование кнопки скорости шагового двигателя 28BYJ-48 с 8 проектами: Ultimate Video Tutorial, урок 107 2024, November
Anonim
Nadzor Dynamixel 12A s serijskim pošiljanjem paketov
Nadzor Dynamixel 12A s serijskim pošiljanjem paketov

DYNAMIXEL 12A

1. korak: potrebne komponente

STROJNA OPREMA:

1. Dinamixel 12A ali kateri koli motor Dynamixel

2. USB v Dynamixel.

PROGRAMSKA OPREMA:

1. Čarovnik Robotis Dynamixel.

2. Python --- nameščen serijski paket

2. korak: Uvod v Dynamixel 12A

Motorji Dynamixel so zelo natančni in se večinoma uporabljajo v robotiki. Vsak motor Dynamixel ima v notranjosti mikrokrmilnik STM. Trenutni navor, napetost, porabo toka, temperaturo, položaj itd. Lahko preberete iz Dynamixels Motors.

Specifikacije Dynamixel 12A:

Delovna napetost -12v

Teža-55 g

Največji tok -900 mA

Navor stojala-15,3 kg / cm

3. korak: Komunikacija/nadzor Dynamixel 12A

  • Dynamixel 12A ni podoben običajnim servo motorjem, ki imajo 3pin GND, PWM, VCC, dajejo napajanje in signal PWM ter nadzorujejo motor.
  • Motorje Dynamixel lahko upravljamo s komunikacijskim protokolom Half Duplex UART.

Kaj je komunikacijski protokol poldupleksa?

Poldupleksni prenos podatkov pomeni, da se lahko podatki prenašajo v obe smeri na nosilcu signala, vendar ne hkrati.

Zdaj izvemo o protokolu 1.0 za Dynamixels od Robotisa za upravljanje Dynamixel motorjev.

  • Z motorji Dynamixel lahko komunicirate tako, da pošljete pakete iz prenosnega računalnika/mikrokrmilnika, kot so Arduino, r-pi itd., Mikrokrmilniku, ki je prisoten v motorjih Dynamixel.
  • Vsak Dynamixel ima ID -je, ki jih je mogoče spremeniti.
  • Paket ni nič drugega kot niz bajtov.

V primeru protokola Dynamixel 1.0 boste imeli dve vrsti paketov

  • Paketi z navodili
  • Paketi stanja

Paket z navodili so ukazni podatki, poslani napravi.

Paket navodil izgleda takole:

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

0xFF, 0xFF, ID, dolžina, navodila Param 1… Param, NCHKSUM

Bajt za navodila pove, kaj storiti, ali naj bere podatke ali piše na motor Dynamixel.

NADZORNA MIZA DINAMIKSELOVEGA MOTORJA.-Nadzorna tabela je struktura, ki je sestavljena iz več podatkovnih polj za shranjevanje stanja ali za upravljanje naprave.

Več o nadzorni mizi preberite tukajControl Table Robotis.

Do podatkov v nadzorni tabeli lahko dostopamo z njenega naslova in lahko tudi pišemo.

4. korak: Zapis položaja cilja v motor Dynamixel

Paket z navodili za zapis ciljne pozicije

vsak paket se začne z glavo

H1 H2 ID LEN INST P1 P2 P3 CKSM

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

LEN-bajt za navodila+p1+p2+p3+chk vsota = 5 bajtov

ID = ID motorja Dynamixel 1-ID dinamiksela lahko nastavite s programsko opremo čarovnika robotis dynamixel

INST = reg pisanje, ki določa, da pišete v motor.

P1 = Začetni naslov podatkovne v kontrolni tabeli Ciljni položaj ima naslov 30 (0x1E v šestnajstiški številki).

P2 = spodnji bajt podatkov

P3 = višji bajt podatkov

Izračun kontrolne vsote bo kmalu razložen ………………….

Če zgornji paket pošljete v Dynamixel Serialno z uporabo USB2Dynamixel, bo ciljni položaj motorja Dynamixel nastavljen na 500.

5. korak: KODA PYTHON

#Razvil Madhu. Zadnja posodobitev 19.7.2019

uvoz serijske

čas uvoza

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

#ustrezno spremenite vrata COM, moja hitrost prenosa dinamičnih motorjev je 57142, nastavite jo lahko s programsko opremo čarovnika Dynamixel.

medtem ko (1):

gp1 = vnos ('vnesite cilj ID1 (0-1023)')

l = gp1 & 255 #nižji bajt

h = (gp1 >> 8) & 255 #visoki bajt

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

#preverite izračun vsote

crc = vsota (li [2:])

nizka1 = crc & 255

chksum = 255-nizka1

li.append (chksum) #dodajanje kontrolne vsote

a = bytearray (li) #pretvarjanje seznama v bytearray

ser.write (a) #Serijsko pošiljanje z uporabo usb2dynamixels.

time.sleep (0,5)

#Kopirajte kodno prilepitev v Python IDE. Namestite paket pyserial. USB stran USB usb2dynamixel priključite na vrata USB prenosnika, drugi konec pa na motor Dynamixel. USB2DYNAMIXEL dajte zunanji 12v napajalnik.

Zaženite kodo, vnesite vrednost položaja cilja. Oglejte si motor, ki teče.

Priporočena: