Innholdsfortegnelse:
- Trinn 1: Komponenter påkrevd
- Trinn 2: Introduksjon til Dynamixel 12A
- Trinn 3: Kommunisere/kontrollere Dynamixel 12A
- Trinn 4: Skrive målposisjon til Dynamixel Motor
- Trinn 5: PYTHON -KODE
Video: Kontrollere Dynamixel 12A ved å sende pakker serielt: 5 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:20
DYNAMIXEL 12A
Trinn 1: Komponenter påkrevd
MASKIN:
1. Dynamix 12A eller en hvilken som helst Dynamixel -motor
2. USB til Dynamixel.
PROGRAMVARE:
1. Robotis Dynamixel veiviser.
2. Python --- Seriell pakke installert
Trinn 2: Introduksjon til Dynamixel 12A
Dynamixel -motorer er svært presise og brukes mest i robotikk. Hver Dynamixel -motor har STM -mikrokontroller inne. Du kan lese nåværende dreiemoment, spenning, strømtrekk, temperatur, posisjon, osv., Fra Dynamixels Motors.
Spesifikasjoner for Dynamixel 12A:
Driftsspenning -12v
Vekt-55g
Maks strøm -900mA
Stallmoment-15,3 kg. Cm
Trinn 3: Kommunisere/kontrollere Dynamixel 12A
- Dynamixel 12A er ikke som vanlige servomotorer som har 3 -pins GND, PWM, VCC, gir strømforsyning og PWM -signal og styrer motoren.
- Vi kan kontrollere Dynamixel -motorer ved hjelp av Half Duplex UART -kommunikasjonsprotokoll.
Hva er Half Duplex Communication Protocol?
Halv dupleks dataoverføring betyr at data kan overføres i begge retninger på en signalbærer, men ikke samtidig.
Nå lærer vi om Protocol 1.0 for Dynamixels fra Robotis for å kontrollere Dynamixel -motorer.
- Du kan kommunisere med Dynamixel-motorer ved å sende pakker fra din bærbare/mikrokontroller som Arduino, r-pi, osv., Til mikrokontrolleren som er tilstede inne i Dynamixel-motorene.
- Hver Dynamixels har ID -er som kan endres.
- En pakke er ingenting annet enn sett med byte.
I tilfelle av Dynamixel -protokoll 1.0 vil du ha to typer pakker
- Instruksjonspakker
- Statuspakker
Instruksjonspakke er kommandodataene som sendes til enheten.
Instruksjonspakken ser slik ut:
Header1, Header2, ID, Length, Instruction, Param 1 … Param, NChecksum
0xFF, 0xFF, ID, Lengde, Instruksjon Param 1 … Param, NCHKSUM
Instruksjonsbyte forteller hva du skal gjøre, om du vil lese data eller skrive til Dynamixel -motoren.
KONTROLLTABELL FOR EN DYNAMIXELMOTOR.-Kontrollbordet er en struktur som består av flere datafelt for å lagre status eller for å kontrollere enheten.
Les mer om kontrollbord HereControl Table Robotis.
Vi kan få tilgang til data i kontrolltabellen fra adressen, og vi kan også skrive.
Trinn 4: Skrive målposisjon til Dynamixel Motor
Instruksjonspakke for å skrive målposisjon
hver pakke starter med en overskrift
H1 H2 ID LEN INST P1 P2 P3 CKSM
0xFF, 0xFF, 0x01, 0x05, 0x04, 0x1E, 0xF4, 0x01, 0xE2
LEN-instruksjonsbyte+p1+p2+p3+chk sum = 5 byte
ID = Dynamixel motor ID 1-du kan angi dynamixel ID ved hjelp av robotis dynamixel wizard programvare
INST = reg skrive-spesifisere at du skriver til motoren.
P1 = Startadresse for Data-In-kontrolltabellen Målposisjonen er å ha en adresse 30 (0x1E i heksadesimal).
P2 = lavere byte med data
P3 = høyere byte med data
Beregning av sjekksum vil bli forklart om kort tid ……………
Hvis du sender pakken ovenfor til Dynamixel serielt ved hjelp av USB2Dynamixel, settes Dynamixel -motorens målposisjon til 500.
Trinn 5: PYTHON -KODE
#Utviklet av Madhu. Siste oppdatering 19.07.2019
importer serie
importtid
ser = serial. Serial ('com36', '57142')
#endre com -port tilsvarende, min dynamixelmotors baudhastighet er 57142, du kan angi den ved hjelp av Dynamixel veiviser -programvare.
mens (1):
gp1 = input ('enter ID1 goal position (0-1023)')
l = gp1 & 255 #lav byte
h = (gp1 >> 8) og 255 #høy byte
li = [0xff, 0xff, 0x01, 0x05, 0x04, 0x1e, l1, h1]
#sjekk sumberegning
crc = sum (li [2:])
low1 = crc & 255
chksum = 255-lav1
li.append (chksum) #legger til sjekksum
a = bytearray (li) #konvertering av liste til bytearray
ser.write (a) #Send serielt med usb2dynamixels.
time.sleep (0,5)
#Kopier kodepastaen i python IDE. Installer pyserialpakke. koble usb2dynamixels USB -side til den bærbare USB -porten og en annen ende til Dynamixel -motoren. Gi en ekstern 12v forsyning til USB2DYNAMIXEL.
KJØR koden, skriv inn målposisjonsverdien. Se motoren gående.
Anbefalt:
Sende data om trådløs vibrasjon og temperatursensor til Excel ved hjelp av Node-RED: 25 trinn
Sende trådløse vibrasjons- og temperatursensordata til Excel ved hjelp av Node-RED: Vi introduserer NCDs Long Range IoT Industrial trådløs vibrasjons- og temperatursensor, med opptil 2 mils rekkevidde bruk av en trådløs nettverksstruktur. Denne enheten inneholder en presis 16-biters vibrasjons- og temperatursensor, og overfører
Slik bruker du SIM800L til å sende SMS og kontrollere relé via SMS: 3 trinn
Slik bruker du SIM800L til å sende SMS og kontrollere relé via SMS: Beskrivelse: Denne opplæringen viser hvordan du bruker SIM800L til å sende sms og motta sms for å kontrollere relé. SIM800L -modulen er liten i størrelse og kan brukes til å koble til Arduino for å sende sms, motta sms, ringe, motta anrop og annet. I denne opplæringen
Sende data om trådløs vibrasjon og temperatur til Google Sheets ved hjelp av Node-RED: 37 trinn
Sende data om trådløs vibrasjon og temperatur til Google Sheets ved hjelp av Node-RED: Vi introduserer NCDs Long Range IoT Industrial trådløs vibrasjons- og temperatursensor, med opptil 2 mils rekkevidde bruk av en trådløs nettverksstruktur. Denne enheten inneholder en presis 16-biters vibrasjons- og temperatursensor, og overfører
Oppmøtesystem ved å sende RFID -data til MySQL -server ved hjelp av Python With Arduino: 6 trinn
Oppmøtesystem ved å sende RFID-data til MySQL-server ved hjelp av Python With Arduino: I dette prosjektet har jeg tilkoblet RFID-RC522 med arduino, og deretter sender jeg data fra RFID til phpmyadmin-databasen. I motsetning til våre tidligere prosjekter bruker vi ikke ethernet -skjold i dette tilfellet, her leser vi bare serielle data som kommer fra
Serielt LED -lys ved bruk av flerfargede LED -er: 3 trinn (med bilder)
Serielt LED -lys ved bruk av flerfargede lysdioder: Et serielt LED -lys er ikke så dyrt, men hvis du er DIY -elsker (en hobbyist) som meg, kan du lage dine egne serielle lysdioder, og det er billigere enn lyset som er tilgjengelig på markedet. Så, i dag kan jeg Jeg skal lage mitt eget serielle LED -lys som går på 5 volum