Sadržaj:
- Korak 1: Potrebne komponente
- Korak 2: Uvod u Dynamixel 12A
- Korak 3: Komunikacija/kontrola Dynamixel 12A
- Korak 4: Zapisivanje pozicije cilja na Dynamixel motor
- Korak 5: PYTHON KOD
Video: Upravljanje Dynamixelom 12A serijskim slanjem paketa: 5 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:04
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.
Preporučuje se:
Popravljanje problema sa serijskim USB portom/upravljačkim programom Mac Lilypad: 10 koraka (sa slikama)
Popravljanje problema sa serijskim USB portom/upravljačkim programom Mac Lilypad USB: Je li vaš Mac od 2016. star manje od 2 godine? Jeste li nedavno nadogradili na najnoviji OS (Yosemite ili bilo što novije)? Zar vaši Lilypad USB -ovi/MP3 -i više ne rade? Vodič će vam pokazati kako sam popravio svoje Lilypad USB -ove. Greška na koju sam naišao je povezana
Samostalni Arduino 3.3V W / vanjski sat od 8 MHz koji se programira iz Arduino Uno putem ICSP / ISP -a (sa serijskim nadzorom!): 4 koraka
Samostalni Arduino 3.3V W / Vanjski sat od 8 MHz koji se programira iz Arduino Uno -a putem ICSP -a / ISP -a (sa serijskim nadzorom!): Ciljevi: Izgraditi samostalni Arduino koji radi na 3.3V izvan vanjskog takta 8 MHz. Da biste ga programirali putem ISP-a (poznatog i kao ICSP, serijsko programiranje u krugu) s Arduino Uno-a (radi na 5V). Za uređivanje datoteke za pokretanje i pokretanje
Sistem prisustva slanjem RFID podataka na MySQL server pomoću Pythona sa Arduinom: 6 koraka
Sistem prisustva slanjem RFID podataka na MySQL server koristeći Python sa Arduinom: U ovom projektu sam spojio RFID-RC522 sa arduinom, a zatim šaljem podatke RFID-a u bazu podataka phpmyadmin. Za razliku od naših prethodnih projekata, u ovom slučaju ne koristimo nikakav Ethernet štit, ovdje samo čitamo serijske podatke koji dolaze iz ar
Jeftina i laka robot ploča sa serijskim kabelom: 12 koraka (sa slikama)
JEVTINA I LAGANA PICAXE ROBOTSKA PLOČA SA SERIJSKIM KABLOM: Evo uputstava o tome kako izgraditi laku, jednostavnu i jeftinu PICAXE PLOČU za upravljanje SUMO ROBOTOM ili za upotrebu na bilo kojem broju drugih PICAXE 18M2+ projekata
Zabava sa serijskim CMD -om !!: 3 koraka
Zabava s paketnim CMD -om !!: U ovom Instructables naučit ću vas početnike (osim ako niste profesionalac koji u slučaju da ne biste trebali gubiti vrijeme na ovo) nečemu o paketnim i jednostavnim naredbama koje vam mogu učiniti malo vremena na računaru bolje nego trošiti ga na neki cra