Obsah:
2025 Autor: John Day | [email protected]. Naposledy zmenené: 2025-01-13 06:58
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.