INHOUDSOPGAWE:

Beheer Dynamixel 12A deur pakkies serieel te stuur: 5 stappe
Beheer Dynamixel 12A deur pakkies serieel te stuur: 5 stappe

Video: Beheer Dynamixel 12A deur pakkies serieel te stuur: 5 stappe

Video: Beheer Dynamixel 12A deur pakkies serieel te stuur: 5 stappe
Video: Demcon Enschede shows unique pump for eye surgery 2024, November
Anonim
Beheer Dynamixel 12A deur pakkies serieel te stuur
Beheer Dynamixel 12A deur pakkies serieel te stuur

DYNAMIXEL 12A

Stap 1: Vereiste komponente

HARDWARE:

1. Dynamix 12A of enige Dynamixel -motor

2. USB na Dynamixel.

SAGTEWARE:

1. Robotis Dynamixel -towenaar.

2. Python --- reeks pakket geïnstalleer

Stap 2: Inleiding tot Dynamixel 12A

Dynamixel -motors is baie presies en word meestal in robotika gebruik. Elke Dynamixel -motor het 'n STM -mikrobeheerder binne. U kan die huidige wringkrag, spanning, stroomtrekking, temperatuur, posisie, ens., Van Dynamixels Motors lees.

Spesifikasies van Dynamixel 12A:

Bedryfspanning -12v

Gewig-55 g

Maksimum stroom -900mA

Staankoppel-15,3 kg. Cm

Stap 3: Kommunikeer/beheer Dynamixel 12A

  • Dynamixel 12A is nie soos gewone servomotors met 3 -pins GND, PWM, VCC, wat kragtoevoer en PWM -sein gee en die motor beheer nie.
  • Ons kan Dynamixel -motors beheer met behulp van Half Duplex UART -kommunikasieprotokol.

Wat is Half Duplex Communication Protocol?

Half-dupleks data-oordrag beteken dat data in beide rigtings op 'n seindraer oorgedra kan word, maar nie op dieselfde tyd nie.

Nou leer ons meer oor Protocol 1.0 vir Dynamixels van Robotis om Dynamixel -motors te beheer.

  • U kan met Dynamixel-motors kommunikeer deur pakkies vanaf u skootrekenaar/mikrobeheerder soos Arduino, r-pi, ens., Te stuur na die mikrobeheerder wat in die Dynamixel-motors voorkom.
  • Elke Dynamixels het ID's wat aangepas kan word.
  • 'N Pakkie is niks anders as 'n stel grepe nie.

As u Dynamixel -protokol 1.0 het, het u twee soorte pakkies

  • Instruksiepakkies
  • Status pakkies

Instruksiepakket is die opdragdata wat na die toestel gestuur word.

Die instruksiepakkie lyk so:

Header1, Header2, ID, Lengte, Instruksie, Param 1 … Param, NChecksum

0xFF, 0xFF, ID, lengte, instruksie Param 1 … Param, NCHKSUM

Instruksie -byte vertel wat u moet doen, of u data moet lees of na die Dynamixel -motor moet skryf.

BEDIENINGSTABEL VAN 'N DYNAMIXEL MOTOR.-Die kontroletabel is 'n struktuur wat bestaan uit verskeie datavelde om status te stoor of om die toestel te beheer.

Lees meer oor die beheertabel HereControl Table Robotis.

Ons het toegang tot data in die beheertabel vanaf sy adres, en ons kan ook skryf.

Stap 4: Skryf doelwitposisie aan Dynamixel Motor

Instruksiepakkie om doelwitposisie te skryf

elke pakkie begin met 'n opskrif

H1 H2 ID LEN INST P1 P2 P3 CKSM

0xFF, 0xFF, 0x01, 0x05, 0x04, 0x1E, 0xF4, 0x01, 0xE2

LEN-instruksie byte+p1+p2+p3+chk som = 5 grepe

ID = Dynamixel motor ID 1-u kan dynamixel ID instel met behulp van robotis dynamixel wizard sagteware

INST = reg skryf-spesifiseer dat u aan die motor skryf.

P1 = Beginadres van die Data-In die beheertabel Doelposisie is 'n adres 30 (0x1E in heksadesimaal).

P2 = laer byte data

P3 = hoër byte data

Die kontrolesomberekening sal binnekort verduidelik word ………………….

As u die bogenoemde pakkie serieel na Dynamixel stuur met behulp van USB2Dynamixel, sal die Dynamixel -motorposisie op 500 gestel word.

Stap 5: PYTHON -KODE

#Ontwikkel deur Madhu. Laaste opdatering op 2019-07-19

invoer reeks

invoer tyd

ser = serial. Serial ('com36', '57142')

#verander com -poort dienooreenkomstig, my baudrate van dynamixel -motors is 57142; u kan dit instel met behulp van die Dynamixel -towenaarsagteware.

terwyl (1):

gp1 = invoer ('voer ID1 doelposisie in (0-1023)')

l = gp1 & 255 #lae byte

h = (gp1 >> 8) & 255 #hoë byte

li = [0xff, 0xff, 0x01, 0x05, 0x04, 0x1e, l1, h1]

#tjek somberekening

crc = som (li [2:])

laag1 = crc & 255

chksum = 255-laag1

li.append (chksum) #voeg tjeks by

a = bytearray (li) #omskakeling van lys in bytearray

ser.write (a) #Stuur serieus met usb2dynamixels.

tyd. slaap (0,5)

#Kopieer die kode plak in python IDE. Installeer pyseriale pakket. koppel die USB -kant van usb2dynamixel aan die USB -poort van die skootrekenaar en 'n ander punt aan die Dynamixel -motor. Gee 'n eksterne 12V -toevoer aan USB2DYNAMIXEL.

Voer die kode uit, voer die waarde van die doelposisie in. Sien motor loop.

Aanbeveel: