Përmbajtje:
2025 Autor: John Day | [email protected]. E modifikuara e fundit: 2025-01-13 06:58
DYNAMIXEL 12A
Hapi 1: Përbërësit e kërkuar
HARDWARE:
1. Dynamixel 12A ose ndonjë motor Dynamixel
2. USB për Dynamixel.
SOFTWARE:
1. Magjistari Robotis Dynamixel.
2. Python --- Paketa serike e instaluar
Hapi 2: Hyrje në Dynamixel 12A
Motorët Dynamixel janë shumë të saktë dhe përdoren më së shumti në Robotikë. Çdo motor Dynamixel ka brenda mikrokontrollues STM. Ju mund të lexoni çift rrotullues, tension, tërheqje aktuale, temperaturë, pozicion, etj., Nga Dynamixels Motors.
Specifikimet e Dynamixel 12A:
Tensioni i funksionimit -12v
Pesha-55 g
Rryma maksimale -900mA
Çift rrotullues i stallave-15.3 Kg.cm
Hapi 3: Komunikimi/kontrolli i Dynamixel 12A
- Dynamixel 12A nuk është si servo motorët normalë që kanë 3pin GND, PWM, VCC, japin energji dhe sinjal PWM dhe kontrollojnë motorin.
- Ne mund të kontrollojmë motorët Dynamixel duke përdorur protokollin e komunikimit Half Duplex UART.
Çfarë është Protokolli i Komunikimit Half Duplex?
Transmetimi i të dhënave gjysmë dupleks do të thotë që të dhënat mund të transmetohen në të dy drejtimet në një bartës sinjali, por jo në të njëjtën kohë.
Tani mësojmë për Protokollin 1.0 për Dynamixels nga Robotis për të kontrolluar motorët Dynamixel.
- Ju mund të komunikoni me motorët Dynamixel duke dërguar pako nga laptopi/mikrokontrolluesi juaj si Arduino, r-pi, etj., Te mikrokontrolluesi që është i pranishëm brenda motorëve Dynamixel.
- Çdo Dynamixels ka ID që mund të modifikohen.
- Një paketë nuk është gjë tjetër veçse Set i bajtëve.
Përfshirë protokollin Dynamixel 1.0 ju do të keni dy lloje të paketave
- Paketat udhëzuese
- Pakot e statusit
Paketa me udhëzime janë të dhënat e komandës të dërguara në Pajisje.
Paketa e udhëzimeve duket kështu:
Header1, Header2, ID, Gjatësia, Udhëzimi, Param 1 … Param, NChecksum
0xFF, 0xFF, ID, Gjatësia, Udhëzimi Param 1… Param, NCHKSUM
Bajti i udhëzimit tregon se çfarë të bëni, nëse duhet të lexoni të dhëna ose të shkruani në motorin Dynamixel.
TABELA E KONTROLLIT T OF MOTORIT DINAMIXEL.-Tabela e Kontrollit është një strukturë që përbëhet nga fusha të shumta të të dhënave për të ruajtur statusin ose për të kontrolluar pajisjen.
Lexoni më shumë rreth tabelës së kontrollit KëtuControl Table Robotis.
Ne mund t'i qasemi të dhënave në tabelën e kontrollit nga adresa e tij dhe gjithashtu mund të shkruajmë.
Hapi 4: Shkrimi i pozicionit të qëllimit në Dynamixel Motor
Paketa udhëzuese për të shkruar pozicionin e qëllimit
çdo paketë fillon me një kokë
H1 H2 ID LEN INST P1 P2 P3 CKSM
0xFF, 0xFF, 0x01, 0x05, 0x04, 0x1E, 0xF4, 0x01, 0xE2
BEN-udhëzim LEN+p1+p2+p3+shuma chk = 5 bajt
ID = ID e motorit Dynamixel 1-mund të vendosni id dinamiksel duke përdorur softuerin magjistar robotis dynamixel
INST = reg write-specifikon që po shkruani në motor.
P1 = Adresa fillestare e të dhënave-Në tabelën e kontrollit Pozicioni i qëllimit është të kesh një adresë 30 (0x1E në gjashtëmbëdhjetë).
P2 = bajt më i ulët i të dhënave
P3 = bajt më i lartë i të dhënave
Llogaritja e shumës së kontrollit do të shpjegohet së shpejti ………………….
Nëse e dërgoni pakon e mësipërme në Dynamixel Serialisht duke përdorur USB2Dynamixel, pozicioni i qëllimit të motorit Dynamixel do të vendoset në 500.
Hapi 5: KODI PYTHON
#Zhvilluar nga Madhu. Përditësimi i fundit më 2019-07-19
import Serial
koha e importit
ser = serial. Serial ('com36', '57142')
#change com port në përputhje me rrethanat, shpejtësia ime e motorëve dinamiksel është 57142, mund ta vendosni duke përdorur softuerin Dynamixel magjistar.
ndërsa (1):
gp1 = input ('futni pozicionin e synimit ID1 (0-1023)')
l = gp1 & 255 #bajt i ulët
h = (gp1 >> 8) & 255 #bajt të lartë
li = [0xff, 0xff, 0x01, 0x05, 0x04, 0x1e, l1, h1]
#kontrolloni llogaritjen e shumës
crc = shuma (li [2:])
ulët1 = crc & 255
chksum = 255-ulët1
li.shtoj (chksum) #duke shtuar shumën e çekut
a = bytearray (li) #konvertimi i listës në bytearray
ser.shkruani (a) #Serialisht dërgoni duke përdorur usb2dynamixels.
koha. gjumi (0.5)
#Kopjoni ngjitjen e kodit në python IDE. Instaloni paketën pyserial. lidhni anën USB të usb2dynamixel me portën USB të laptopit dhe një fund tjetër me motorin Dynamixel. Jepni një furnizim të jashtëm 12v USB2DYNAMIXEL.
RUN kodin, futni vlerën e pozicionit të qëllimit. Shihni motorin në punë.