Përmbajtje:
- Hapi 1: Përbërësit e kërkuar
- Hapi 2: Hyrje në Dynamixel 12A
- Hapi 3: Komunikimi/kontrolli i Dynamixel 12A
- Hapi 4: Shkrimi i pozicionit të qëllimit në Dynamixel Motor
- Hapi 5: KODI PYTHON
Video: Kontrolli i Dynamixel 12A duke dërguar paketa në mënyrë serike: 5 hapa
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:10
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:
Kontrolli i udhëhequr në të gjithë botën duke përdorur internetin duke përdorur Arduino: 4 hapa
Kontrolli i udhëhequr në të gjithë botën duke përdorur internetin duke përdorur Arduino: Përshëndetje, unë jam Rithik. Ne do të bëjmë një led të kontrolluar nga interneti duke përdorur telefonin tuaj. Ne do të përdorim softuer si Arduino IDE dhe Blynk. Simpleshtë e thjeshtë dhe nëse keni sukses mund të kontrolloni sa më shumë komponentë elektronikë që dëshironi Gjërat që Ne Nevojë: Hardware:
Si të përdorni SIM800L për të dërguar SMS dhe stafetë kontrolli me SMS: 3 hapa
Si të përdorni SIM800L për të dërguar SMS dhe stafetë kontrolli me SMS: Përshkrimi: Ky udhëzues po tregon se si të përdorni SIM800L për të dërguar sms dhe për të marrë sms për të kontrolluar stafetën. Moduli SIM800L është i vogël në madhësi dhe mund të përdoret për ndërfaqe me Arduino për të dërguar sms, për të marrë sms, për të thirrur, për të marrë thirrje dhe të tjera. Në këtë tutorial,
Kontrolli i Ndriçimit Kontrolli LED i bazuar në PWM duke përdorur butona Push, Raspberry Pi dhe Scratch: 8 hapa (me fotografi)
Kontrolli i Ndriçimit PWM Bazuar në Kontrollin LED duke përdorur Butonat Push, Raspberry Pi dhe Scratch: Unë po përpiqesha të gjeja një mënyrë për të shpjeguar se si punonte PWM për studentët e mi, kështu që i vura vetes detyrën të përpiqesha të kontrolloja shkëlqimin e një LED duke përdorur 2 butona shtytës - një buton që rrit shkëlqimin e një LED dhe tjetri e zbeh atë. Për të përparuar
Sistemi i pjesëmarrjes duke dërguar të dhëna RFID në MySQL Server duke përdorur Python Me Arduino: 6 hapa
Sistemi i pjesëmarrjes duke dërguar të dhëna RFID në MySQL Server duke përdorur Python Me Arduino: Në këtë projekt unë kam ndërlidhur RFID-RC522 me arduino dhe më pas po dërgoj të dhëna të RFID në bazën e të dhënave phpmyadmin. Ndryshe nga projektet tona të mëparshme ne nuk po përdorim asnjë mburojë ethernet në këtë rast, këtu ne thjesht po lexojmë të dhënat serike që vijnë nga ar
Drita LED serike duke përdorur LED me shumë ngjyra: 3 hapa (me fotografi)
Serial LED Light Duke përdorur LED me shumë ngjyra: Një dritë LED serike nuk është aq e shtrenjtë, por nëse jeni dashnor DIY (një Hobbyist) si unë, atëherë mund të bëni LED tuaj serial dhe është më e lirë se drita në dispozicion në treg. Pra, sot unë do të bëj dritën time Seriale LED e cila funksionon me 5 Vol