Obsah:

Sériové ovládanie Dynamixelu 12A odosielaním paketov: 5 krokov
Sériové ovládanie Dynamixelu 12A odosielaním paketov: 5 krokov

Video: Sériové ovládanie Dynamixelu 12A odosielaním paketov: 5 krokov

Video: Sériové ovládanie Dynamixelu 12A odosielaním paketov: 5 krokov
Video: OUTSEAL PLC 20x4 LCD MODBUS HMI 2024, November
Anonim
Ovládanie Dynamixel 12A sériovým odosielaním paketov
Ovládanie Dynamixel 12A sériovým odosielaním paketov

DYNAMIXEL 12A

Krok 1: Potrebné súčasti

HARDWARE:

1. Dynamixel 12A alebo akýkoľvek motor Dynamixel

2. USB na Dynamixel.

SOFTVÉR:

1. Sprievodca Robotis Dynamixel.

2. Python --- nainštalovaný sériový balík

Krok 2: Úvod do Dynamixelu 12A

Motory Dynamixel sú veľmi presné a väčšinou sa používajú v robotike. Každý motor Dynamixel má vo vnútri mikrokontrolér STM. Aktuálny krútiaci moment, napätie, odber prúdu, teplotu, polohu atď. Môžete čítať z Dynamixels Motors.

Špecifikácia Dynamixel 12A:

Prevádzkové napätie --12v

Hmotnosť-55 g

Maximálny prúd -900mA

Krútiaci moment pri státí-15,3 kg. Cm

Krok 3: Komunikácia/ovládanie Dynamixel 12A

  • Dynamixel 12A nie je ako bežné servomotory, ktoré majú 3pinový GND, PWM, VCC, poskytujú napájanie a signál PWM a riadia motor.
  • Motory Dynamixel môžeme ovládať pomocou komunikačného protokolu Half Duplex UART.

Čo je polovičný duplexný komunikačný protokol?

Poloduplexný prenos údajov znamená, že údaje je možné prenášať v oboch smeroch na nosiči signálu, ale nie súčasne.

Teraz sa dozvedáme o protokole 1.0 pre Dynamixels od spoločnosti Robotis na ovládanie motorov Dynamixel.

  • S motormi Dynamixel môžete komunikovať odosielaním paketov z vášho prenosného počítača/mikrokontroléra, ako je Arduino, r-pi atď., Do mikrokontroléra, ktorý je prítomný vo vnútri motorov Dynamixel.
  • Každý Dynamixels má ID, ktoré je možné upraviť.
  • Paket nie je nič iné ako sada bajtov.

V prípade protokolu Dynamixel 1.0 budete mať dva typy paketov

  • Balíky inštrukcií
  • Stavové pakety

Instruction Packet sú údaje príkazu odoslané do zariadenia.

Inštrukčný balíček vyzerá takto:

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

0xFF, 0xFF, ID, Dĺžka, Inštrukcia Param 1… Param, NCHKSUM

Inštrukčný bajt hovorí, čo má robiť, či čítať údaje alebo písať do motora Dynamixel.

TABUĽKA RIADENIA DYNAMIXELOVÉHO MOTORA.-Riadiaca tabuľka je štruktúra, ktorá pozostáva z viacerých dátových polí na ukladanie stavu alebo na ovládanie zariadenia.

Viac o riadiacej tabuľke si prečítajte tuControl Table Robotis.

K údajom v riadiacej tabuľke môžeme pristupovať z ich adresy a tiež môžeme písať.

Krok 4: Zapísanie pozície cieľa do Dynamixel Motor

Pozícia cieľa paketu s pokynom na zápis

každý paket začína hlavičkou

H1 H2 ID OBJEKTÍN PAMÄŤ P1 P2 P3 CKSM

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

Súbor inštrukcií LEN+p1+p2+p3+súčet chk = 5 bajtov

ID = ID motora Dynamixel 1-ID dynamixelu môžete nastaviť pomocou softvéru robotis dynamixel wizard

INST = reg-špecifikujúci zápis, ktorý píšete do motora.

P1 = Počiatočná adresa údajov-v riadiacej tabuľke Cieľová pozícia má adresu 30 (0x1E v hexadecimálnom formáte).

P2 = dolný bajt údajov

P3 = vyšší bajt údajov

Výpočet kontrolného súčtu bude čoskoro vysvetlený ………………….

Ak vyššie uvedený paket odošlete do Dynamixelu sériovo pomocou USB2Dynamixel, pozícia cieľa motora Dynamixel bude nastavená na 500.

Krok 5: KÓD PYTHONU

#Vyvinuté spoločnosťou Madhu. Posledná aktualizácia 19. júla 2019

sériový import

čas importu

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

#change com port, moja prenosová rýchlosť dynamixel motors je 57142, môžete ju nastaviť pomocou softvéru Dynamixel wizard.

zatiaľ čo (1):

gp1 = vstup ('zadajte cieľovú pozíciu ID1 (0-1023)')

l = gp1 & 255 #nízky bajt

h = (gp1 >> 8) & 255 #vysoký bajt

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

#kontroluj výpočet sumy

crc = suma (li [2:])

low1 = crc & 255

chksum = 255-nízky1

li.append (chksum) #pridanie kontrolného súčtu

a = bytearray (li) #konvertovanie zoznamu na bytearray

ser.write (a) #Sériové odosielanie pomocou usb2dynamixels.

čas.spánok (0,5)

#Skopírujte vloženie kódu do python IDE. Nainštalujte balík pyserial. pripojte USB stranu usb2dynamixel k USB portu prenosného počítača a ďalší koniec k motoru Dynamixel. Zabezpečte externé napájanie 12 V pre USB2DYNAMIXEL.

SPUSTITE kód, zadajte hodnotu pozície cieľa. Pozri chod motora.

Odporúča: