Sadržaj:
2025 Autor: John Day | [email protected]. Zadnja izmjena: 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 STM mikrokontroler unutra. Možete pročitati trenutni okretni moment, napon, izvlačenje struje, temperaturu, položaj itd. Iz Dynamixels Motors.
Specifikacije Dynamixela 12A:
Radni napon -12v
Težina-55 g
Maksimalna struja -900 mA
Moment zaustavljanja-15,3 kg
Korak 3: Komunikacija/kontrola Dynamixel 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.
Šta je Half Duplex 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čunara/mikrokontrolera poput Arduina, r-pi, itd., Na mikrokontroler koji je prisutan 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 s uputama su naredbeni podaci poslani na uređaj.
Paket uputstava izgleda ovako:
Header1, Header2, ID, Length, Instruction, Param 1… Param, NChecksum
0xFF, 0xFF, ID, dužina, uputstvo Param 1… Param, NCHKSUM
Bajt instrukcije govori šta treba 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 pohranu statusa ili za upravljanje uređajem.
Pročitajte više o Kontrolnoj tablici OvdjeKontrolna tablica Robotis.
Možemo pristupiti podacima u kontrolnoj tablici s njene adrese, a možemo i pisati.
Korak 4: Zapisivanje pozicije cilja na Dynamixel motor
Paket uputa za pisanje ciljne pozicije
svaki paket počinje zaglavljem
H1 H2 ID LEN INST P1 P2 P3 CKSM
0xFF, 0xFF, 0x01, 0x05, 0x04, 0x1E, 0xF4, 0x01, 0xE2
LEN-instrukcija bajt+p1+p2+p3+chk zbir = 5 bajtova
ID = Dynamixel motor ID 1-možete postaviti dinamixel ID pomoću softvera robotis dynamixel čarobnjaka
INST = reg pisanje-specificira da pišete na motor.
P1 = Početna adresa Data-In kontrolne tablice Pozicija cilja ima adresu 30 (0x1E u heksadecimalnom broju).
P2 = niži bajt podataka
P3 = viši bajt podataka
Izračun kontrolne sume bit će uskoro objašnjen ………………….
Ako gornji paket pošaljete na Dynamixel Serijski koristeći USB2Dynamixel, položaj cilja motora Dynamixel bit će postavljen na 500.
Korak 5: PYTHON KOD
#Razvio Madhu. Zadnje ažuriranje 19.7.2019
import Serial
vreme uvoza
ser = serial. Serial ('com36', '57142')
#shodno promijenite com port, brzina prijenosa mojih dinamixel motora je 57142, možete je postaviti pomoću 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:])
nisko1 = crc & 255
chksum = 255-low1
li.append (chksum) #dodavanje kontrolne sume
a = bytearray (li) #konvertiranje liste u bytearray
ser.write (a) #Serijsko slanje pomoću usb2dinamiksela.
vrijeme.spavanje (0,5)
#Kopirajte kodnu pastu u python IDE. Instalirajte pyserial paket. povežite USB stranu usb2dynamixel sa USB portom laptopa, a drugi kraj na Dynamixel motor. Dajte vanjsko napajanje od 12 V USB2DYNAMIXEL -u.
POKRENITE kôd, unesite vrijednost pozicije cilja. Pogledajte kako motor radi.