Përmbajtje:

Kontrolli i Dynamixel 12A duke dërguar paketa në mënyrë serike: 5 hapa
Kontrolli i Dynamixel 12A duke dërguar paketa në mënyrë serike: 5 hapa

Video: Kontrolli i Dynamixel 12A duke dërguar paketa në mënyrë serike: 5 hapa

Video: Kontrolli i Dynamixel 12A duke dërguar paketa në mënyrë serike: 5 hapa
Video: ЯЙЦА ВАРЕНЫЕ 8 ЧАСОВ. ХАМИН В КАЗАНЕ 10, 12, 24 ЧАСОВ ПРИГОТОВЛЕНИЯ. РЕЦЕПТ 2024, Nëntor
Anonim
Kontrolli i Dynamixel 12A duke dërguar paketa në mënyrë serike
Kontrolli i Dynamixel 12A duke dërguar paketa në mënyrë serike

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ë.

Recommended: