Kazalo:
2025 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2025-01-13 06:58
DYNAMIXEL 12A
1. korak: potrebne komponente
STROJNA OPREMA:
1. Dinamixel 12A ali kateri koli motor Dynamixel
2. USB v Dynamixel.
PROGRAMSKA OPREMA:
1. Čarovnik Robotis Dynamixel.
2. Python --- nameščen serijski paket
2. korak: Uvod v Dynamixel 12A
Motorji Dynamixel so zelo natančni in se večinoma uporabljajo v robotiki. Vsak motor Dynamixel ima v notranjosti mikrokrmilnik STM. Trenutni navor, napetost, porabo toka, temperaturo, položaj itd. Lahko preberete iz Dynamixels Motors.
Specifikacije Dynamixel 12A:
Delovna napetost -12v
Teža-55 g
Največji tok -900 mA
Navor stojala-15,3 kg / cm
3. korak: Komunikacija/nadzor Dynamixel 12A
- Dynamixel 12A ni podoben običajnim servo motorjem, ki imajo 3pin GND, PWM, VCC, dajejo napajanje in signal PWM ter nadzorujejo motor.
- Motorje Dynamixel lahko upravljamo s komunikacijskim protokolom Half Duplex UART.
Kaj je komunikacijski protokol poldupleksa?
Poldupleksni prenos podatkov pomeni, da se lahko podatki prenašajo v obe smeri na nosilcu signala, vendar ne hkrati.
Zdaj izvemo o protokolu 1.0 za Dynamixels od Robotisa za upravljanje Dynamixel motorjev.
- Z motorji Dynamixel lahko komunicirate tako, da pošljete pakete iz prenosnega računalnika/mikrokrmilnika, kot so Arduino, r-pi itd., Mikrokrmilniku, ki je prisoten v motorjih Dynamixel.
- Vsak Dynamixel ima ID -je, ki jih je mogoče spremeniti.
- Paket ni nič drugega kot niz bajtov.
V primeru protokola Dynamixel 1.0 boste imeli dve vrsti paketov
- Paketi z navodili
- Paketi stanja
Paket z navodili so ukazni podatki, poslani napravi.
Paket navodil izgleda takole:
Header1, Header2, ID, Length, Instruction, Param 1… Param, NChecksum
0xFF, 0xFF, ID, dolžina, navodila Param 1… Param, NCHKSUM
Bajt za navodila pove, kaj storiti, ali naj bere podatke ali piše na motor Dynamixel.
NADZORNA MIZA DINAMIKSELOVEGA MOTORJA.-Nadzorna tabela je struktura, ki je sestavljena iz več podatkovnih polj za shranjevanje stanja ali za upravljanje naprave.
Več o nadzorni mizi preberite tukajControl Table Robotis.
Do podatkov v nadzorni tabeli lahko dostopamo z njenega naslova in lahko tudi pišemo.
4. korak: Zapis položaja cilja v motor Dynamixel
Paket z navodili za zapis ciljne pozicije
vsak paket se začne z glavo
H1 H2 ID LEN INST P1 P2 P3 CKSM
0xFF, 0xFF, 0x01, 0x05, 0x04, 0x1E, 0xF4, 0x01, 0xE2
LEN-bajt za navodila+p1+p2+p3+chk vsota = 5 bajtov
ID = ID motorja Dynamixel 1-ID dinamiksela lahko nastavite s programsko opremo čarovnika robotis dynamixel
INST = reg pisanje, ki določa, da pišete v motor.
P1 = Začetni naslov podatkovne v kontrolni tabeli Ciljni položaj ima naslov 30 (0x1E v šestnajstiški številki).
P2 = spodnji bajt podatkov
P3 = višji bajt podatkov
Izračun kontrolne vsote bo kmalu razložen ………………….
Če zgornji paket pošljete v Dynamixel Serialno z uporabo USB2Dynamixel, bo ciljni položaj motorja Dynamixel nastavljen na 500.
5. korak: KODA PYTHON
#Razvil Madhu. Zadnja posodobitev 19.7.2019
uvoz serijske
čas uvoza
ser = serial. Serial ('com36', '57142')
#ustrezno spremenite vrata COM, moja hitrost prenosa dinamičnih motorjev je 57142, nastavite jo lahko s programsko opremo čarovnika Dynamixel.
medtem ko (1):
gp1 = vnos ('vnesite cilj ID1 (0-1023)')
l = gp1 & 255 #nižji bajt
h = (gp1 >> 8) & 255 #visoki bajt
li = [0xff, 0xff, 0x01, 0x05, 0x04, 0x1e, l1, h1]
#preverite izračun vsote
crc = vsota (li [2:])
nizka1 = crc & 255
chksum = 255-nizka1
li.append (chksum) #dodajanje kontrolne vsote
a = bytearray (li) #pretvarjanje seznama v bytearray
ser.write (a) #Serijsko pošiljanje z uporabo usb2dynamixels.
time.sleep (0,5)
#Kopirajte kodno prilepitev v Python IDE. Namestite paket pyserial. USB stran USB usb2dynamixel priključite na vrata USB prenosnika, drugi konec pa na motor Dynamixel. USB2DYNAMIXEL dajte zunanji 12v napajalnik.
Zaženite kodo, vnesite vrednost položaja cilja. Oglejte si motor, ki teče.