Sadržaj:
2025 Autor: John Day | [email protected]. Zadnja promjena: 2025-01-13 06:57
DYNAMIXEL 12A
Korak 1: Potrebne komponente
HARDVER:
1. Dynamixel 12A ili bilo koji Dynamixel motor
2. USB na Dynamixel.
SOFTVER:
1. Robotis Dynamixel čarobnjak.
2. Python --- Serijski paket instaliran
Korak 2: Uvod u Dynamixel 12A
Dynamixel motori su vrlo precizni i uglavnom se koriste u robotici. Svaki Dynamixel motor ima unutarnji STM mikrokontroler. Trenutni okretni moment, napon, izvlačenje struje, temperaturu, položaj itd. Možete očitati iz Dynamixels Motors.
Specifikacije Dynamixela 12A:
Radni napon -12v
Težina-55g
Maksimalna struja -900 mA
Zakretni moment zaustavljanja-15,3 kg / cm
Korak 3: Komunikacija/upravljanje Dynamixelom 12A
- Dynamixel 12A nije poput normalnih servo motora koji imaju 3pin GND, PWM, VCC, daju napajanje i PWM signal i upravljaju motorom.
- Dynamixel motorima možemo upravljati pomoću Half Duplex UART komunikacijskog protokola.
Što je poludupleksni komunikacijski protokol?
Poludupleksni prijenos podataka znači da se podaci mogu prenositi u oba smjera na nosaču signala, ali ne u isto vrijeme.
Sada učimo o protokolu 1.0 za Dynamixels od Robotisa za upravljanje Dynamixel motorima.
- Možete komunicirati s Dynamixel motorima slanjem paketa sa vašeg prijenosnog računala/mikrokontrolera poput Arduina, r-pi, itd., Na mikrokontroler koji se nalazi unutar Dynamixel motora.
- Svaki Dynamixel ima ID koji se može mijenjati.
- Paket nije ništa drugo nego skup bajtova.
U slučaju Dynamixel protokola 1.0 imat ćete dvije vrste paketa
- Paketi s uputama
- Paketi statusa
Paket uputa su naredbeni podaci poslani na uređaj.
Paket uputa izgleda ovako:
Header1, Header2, ID, Length, Instruction, Param 1… Param, NChecksum
0xFF, 0xFF, ID, duljina, uputa Param 1… Param, NCHKSUM
Bajt s uputama govori što učiniti, treba li čitati podatke ili pisati na Dynamixel motor.
KONTROLNA TABLA DYNAMIXEL MOTORA.-Kontrolna tablica je struktura koja se sastoji od više polja podataka za spremanje statusa ili za upravljanje uređajem.
Više o upravljačkoj tablici pročitajte ovdje Kontrolna tablica Robotis.
Možemo pristupiti podacima u kontrolnoj tablici s njene adrese, a možemo i pisati.
Korak 4: Zapisivanje položaja cilja na Dynamixel motor
Paket uputa za pisanje cilja
svaki paket počinje zaglavljem
H1 H2 ID LEN INST P1 P2 P3 CKSM
0xFF, 0xFF, 0x01, 0x05, 0x04, 0x1E, 0xF4, 0x01, 0xE2
LEN-instrukcijski bajt+p1+p2+p3+chk zbroj = 5 bajtova
ID = ID motora Dynamixel 1-možete postaviti identifikator dinamiksela pomoću softvera robotis dynamixel čarobnjaka
INST = reg pisanje-specificira da pišete na motor.
P1 = Početna adresa podatkovne kontrolne tablice Pozicija cilja ima adresu 30 (0x1E u heksadecimalnom broju).
P2 = niži bajt podataka
P3 = viši bajt podataka
Izračun kontrolne svote bit će uskoro objašnjen ………………….
Ako gornji paket pošaljete na Dynamixel Serijski koristeći USB2Dynamixel, ciljna pozicija motora Dynamixel bit će postavljena na 500.
Korak 5: PYTHON KOD
#Razvio Madhu. Zadnje ažuriranje 19.7.2019
uvoz serijski
vrijeme uvoza
ser = serial. Serial ('com36', '57142')
#prema tome promijenite com port, brzina prijenosa mojih dinamixel motora je 57142, možete je postaviti pomoću programa Dynamixel čarobnjaka.
dok (1):
gp1 = input ('unesite ID1 ciljnu poziciju (0-1023)')
l = gp1 & 255 #niži bajt
h = (gp1 >> 8) & 255 #visoki bajt
li = [0xff, 0xff, 0x01, 0x05, 0x04, 0x1e, l1, h1]
#provjerite izračun zbroja
crc = zbroj (li [2:])
niska1 = crc & 255
chksum = 255-nisko1
li.append (chksum) #dodavanje kontrolne sume
a = bytearray (li) #konvertiranje popisa u bytearray
ser.write (a) #Serijsko slanje pomoću usb2dinamiksela.
vrijeme.spavanje (0,5)
#Kopirajte zalijepite kod u Python IDE. Instalirajte pyserial paket. spojite USB stranu usb2dynamixel na USB priključak prijenosnog računala, a drugi kraj na motor Dynamixel. Dajte vanjsko napajanje od 12 V USB2DYNAMIXEL -u.
POKRENITE kôd, unesite vrijednost pozicije cilja. Pogledajte kako motor radi.