Indholdsfortegnelse:
- Trin 1: Komponenter påkrævet
- Trin 2: Introduktion til Dynamixel 12A
- Trin 3: Kommunikerer/styrer Dynamixel 12A
- Trin 4: Skrivning af målposition til Dynamixel Motor
- Trin 5: PYTHON -KODE
Video: Styring af Dynamixel 12A ved at sende pakker serielt: 5 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:25
DYNAMIXEL 12A
Trin 1: Komponenter påkrævet
HARDWARE:
1. Dynamix 12A eller en hvilken som helst Dynamixel -motor
2. USB til Dynamixel.
SOFTWARE:
1. Robotis Dynamixel -guiden.
2. Python --- Seriel pakke installeret
Trin 2: Introduktion til Dynamixel 12A
Dynamixel -motorer er meget præcise og bruges mest i robotik. Hver Dynamixel -motor har STM -mikrokontroller indeni. Du kan aflæse strømmoment, spænding, strømtrækning, temperatur, position osv. Fra Dynamixels Motors.
Specifikationer for Dynamixel 12A:
Driftsspænding -12v
Vægt-55g
Maksimal strøm -900mA
Staldmoment-15,3 kg. Cm
Trin 3: Kommunikerer/styrer Dynamixel 12A
- Dynamixel 12A er ikke som normale servomotorer, der har 3pin GND, PWM, VCC, giver strømforsyning og PWM -signal og styrer motoren.
- Vi kan styre Dynamixel -motorer ved hjælp af Half Duplex UART kommunikationsprotokol.
Hvad er Half Duplex Communication Protocol?
Halvdupleks dataoverførsel betyder, at data kan overføres i begge retninger på en signalbærer, men ikke på samme tid.
Nu lærer vi om protokol 1.0 til Dynamixels fra Robotis til styring af Dynamixel -motorer.
- Du kan kommunikere med Dynamixel-motorer ved at sende pakker fra din bærbare computer/mikrokontroller som Arduino, r-pi osv., Til mikrokontrolleren, der er til stede inde i Dynamixel-motorerne.
- Hver Dynamixels har ID'er, der kan ændres.
- En pakke er intet andet end et sæt bytes.
I tilfælde af Dynamixel -protokol 1.0 har du to typer pakker
- Instruktionspakker
- Statuspakker
Instruktionspakke er kommandodata, der sendes til enheden.
Instruktionspakken ser sådan ud:
Header1, Header2, ID, Længde, Instruktion, Param 1 … Param, NChecksum
0xFF, 0xFF, ID, længde, instruktion Param 1 … Param, NCHKSUM
Instruktionsbyte fortæller, hvad man skal gøre, om man skal læse data eller skrive til Dynamixel -motoren.
KONTROLTABEL FOR EN DYNAMIXELMOTOR. -Tabellen er en struktur, der består af flere datafelter til lagring af status eller til kontrol af enheden.
Læs mere om kontrolbord HereControl Table Robotis.
Vi kan få adgang til data i kontroltabellen fra dens adresse, og vi kan også skrive.
Trin 4: Skrivning af målposition til Dynamixel Motor
Instruktionspakke til at skrive målposition
hver pakke starter med et overskrift
H1 H2 ID LEN INST P1 P2 P3 CKSM
0xFF, 0xFF, 0x01, 0x05, 0x04, 0x1E, 0xF4, 0x01, 0xE2
LEN-instruktion byte+p1+p2+p3+chk sum = 5 bytes
ID = Dynamixel motor ID 1-du kan indstille dynamixel id ved hjælp af robotis dynamixel wizard software
INST = reg skrive-angiv, at du skriver til motoren.
P1 = Startadresse for Data-In-kontroltabellen Målpositionen har en adresse 30 (0x1E i hexadecimal).
P2 = lavere byte af data
P3 = højere byte af data
Beregning af kontrolsum vil blive forklaret inden længe ………………….
Hvis du sender ovenstående pakke til Dynamixel serielt ved hjælp af USB2Dynamixel, sættes Dynamixel -motorens målposition til 500.
Trin 5: PYTHON -KODE
#Udviklet af Madhu. Sidste opdatering den 2019-07-19
import Seriel
importtid
ser = serial. Serial ('com36', '57142')
#change com -port i overensstemmelse hermed, min dynamixelmotors baudhastighed er 57142, du kan indstille den ved hjælp af Dynamixel -guidesoftware.
mens (1):
gp1 = input ('indtast ID1 målposition (0-1023)')
l = gp1 & 255 #lav byte
h = (gp1 >> 8) & 255 #høj byte
li = [0xff, 0xff, 0x01, 0x05, 0x04, 0x1e, l1, h1]
#tjek sumberegning
crc = sum (li [2:])
low1 = crc & 255
chksum = 255-lav1
li.append (chksum) #tilføjelse af checksum
a = bytearray (li) #konvertering af liste til bytearray
ser.write (a) #Send serielt ved hjælp af usb2dynamixels.
time.sleep (0,5)
#Kopier kodepastaen i python IDE. Installer pyserial pakke. tilslut usb2dynamixels USB -side til bærbarens USB -port og en anden ende til Dynamixel -motor. Giv en ekstern 12v forsyning til USB2DYNAMIXEL.
KØR koden, indtast værdien for målpositionen. Se motor kører.
Anbefalede:
Styring af 2 servoer ved hjælp af analog joystick .: 5 trin (med billeder)
Kontrol af 2 servoer ved hjælp af analog joystick .: Hej fyre, dette er min første instruerbare og i dette indlæg deler jeg, hvordan du bruger Analog Joystick til at styre servoer ved hjælp af Arduino UNO. Jeg vil prøve at forklare det så enkelt som muligt håber du kan lide det
Styring af syv segmentvisning ved hjælp af Arduino og 74HC595 skiftregister: 6 trin
Kontrol af syv segmenters display ved hjælp af Arduino og 74HC595 Shift Register: Hey, hvad sker der, fyre! Akarsh her fra CETech. Seven Segment Displays er gode at se på og er altid et praktisk værktøj til at vise data i form af cifre, men der er en ulempe ved dem, som er, at når vi styrer et Seven Segment Display i real
Sende data om trådløs vibration og temperatur til Google Sheets ved hjælp af Node-RED: 37 trin
Sender data om trådløs vibration og temperatur til Google Sheets ved hjælp af Node-RED: Introduktion til NCD's Long Range IoT Industrial trådløse vibrations- og temperatursensor, der kan prale af op til en 2-mile rækkevidde ved brug af en trådløs mesh-netværksstruktur. Denne enhed indeholder en præcision 16-bit vibrations- og temperatursensor og trans
Mødesystem ved at sende RFID -data til MySQL -server ved hjælp af Python med Arduino: 6 trin
Fremmødesystem ved at sende RFID-data til MySQL-server ved hjælp af Python With Arduino: I dette projekt har jeg interfacet RFID-RC522 med arduino, og derefter sender jeg data fra RFID til phpmyadmin-databasen. I modsætning til vores tidligere projekter bruger vi ikke ethernet -skjold i dette tilfælde, her læser vi bare de serielle data, der kommer fra
Serielt LED -lys ved hjælp af flerfarvede LED'er: 3 trin (med billeder)
Serielt LED -lys ved hjælp af flerfarvede LED'er: Et serielt LED -lys er ikke så dyrt, men hvis du er DIY -elsker (en hobbyist) som mig, kan du lave dine egne serielle LED'er, og det er billigere end det lys, der er tilgængeligt på markedet. Så, i dag kan jeg Jeg skal lave mit eget serielle LED -lys, der kører på 5 vol