![Dynamixel 12A besturen door pakketten serieel te verzenden: 5 stappen Dynamixel 12A besturen door pakketten serieel te verzenden: 5 stappen](https://i.howwhatproduce.com/preview/how-it-works/10378850-controlling-dynamixel-12a-by-sending-packets-serially-5-steps-0.webp)
Inhoudsopgave:
2025 Auteur: John Day | [email protected]. Laatst gewijzigd: 2025-01-23 15:01
![Dynamixel 12A besturen door pakketten serieel te verzenden Dynamixel 12A besturen door pakketten serieel te verzenden](https://i.howwhatproduce.com/images/001/image-149-21-j.webp)
DYNAMIXEL 12A
Stap 1: Vereiste componenten
HARDWARE:
1. Dynamixel 12A of een Dynamixel-motor;
2. USB naar Dynamixel.
SOFTWARE:
1. Robotis Dynamixel-wizard.
2. Python --- Serieel pakket geïnstalleerd
Stap 2: Inleiding tot Dynamixel 12A
Dynamixel-motoren zijn zeer nauwkeurig en worden vooral gebruikt in robotica. Elke Dynamixel-motor heeft een STM-microcontroller binnenin. U kunt het huidige koppel, de spanning, het stroomverbruik, de temperatuur, de positie, enz. van Dynamixels Motors aflezen.
Specificaties van Dynamixel 12A:
Bedrijfsspanning -12v
Gewicht--55g
Max stroom --900mA
Stall Torque--15.3 Kg.cm
Stap 3: Communiceren/aansturen van Dynamixel 12A
- Dynamixel 12A is niet zoals normale servomotoren die 3-pins GND, PWM, VCC hebben, voeding en PWM-signaal geven en de motor regelen.
- We kunnen Dynamixel-motoren aansturen met behulp van het Half Duplex UART-communicatieprotocol.
Wat is het half-duplex communicatieprotocol?
Half-duplex datatransmissie betekent dat gegevens in beide richtingen op een signaaldrager kunnen worden verzonden, maar niet tegelijkertijd.
Nu leren we over Protocol 1.0 voor Dynamixels van Robotis om Dynamixel-motoren te besturen.
- U kunt communiceren met Dynamixel-motoren door pakketten van uw laptop/microcontroller zoals Arduino, r-pi, enz. naar de microcontroller te sturen die in de Dynamixel-motoren aanwezig is.
- Elke Dynamixels heeft ID's die kunnen worden gewijzigd.
- Een pakket is niets anders dan een verzameling bytes.
In het geval van Dynamixel-protocol 1.0 heb je twee soorten pakketten
- Instructiepakketten
- Statuspakketten
Instructiepakket is de opdrachtgegevens die naar het apparaat worden verzonden.
Instructiepakket ziet er als volgt uit:
Header1, Header2, ID, Lengte, Instructie, Param 1…Param, NChecksum
0xFF, 0xFF, ID, Lengte, Instructie Param 1…Param, NCHKSUM
Instructiebyte vertelt wat u moet doen, of u gegevens wilt lezen of schrijven naar de Dynamixel-motor.
BEDIENINGSTABEL VAN EEN DYNAMIXEL MOTOR.-De besturingstabel is een structuur die bestaat uit meerdere gegevensvelden om de status op te slaan of om het apparaat te besturen.
Lees meer over Bedieningstafel HereControl Tafel Robotis.
We hebben toegang tot gegevens in de controletabel vanaf het adres en we kunnen ook schrijven.
Stap 4: Doelpositie schrijven naar Dynamixel Motor
Instructiepakket om doelpositie te schrijven
elk pakket begint met een header
H1 H2 ID LEN INST P1 P2 P3 CKSM
0xFF, 0xFF, 0x01, 0x05, 0x04, 0x1E, 0xF4, 0x01, 0xE2
LEN-instructie byte+p1+p2+p3+chk sum=5 bytes
ID=Dynamixel motor ID 1-u kunt dynamixel id instellen met robotis dynamixel wizard software
INST=reg write-specificeren dat je naar de motor schrijft.
P1=Startadres van de Data-In de controletabel Doelpositie is het hebben van een adres 30 (0x1E in hexadecimaal).
P2=lagere gegevensbyte
P3=hogere gegevensbyte
De berekening van de checksum wordt binnenkort uitgelegd……………….
Als u het bovenstaande pakket naar Dynamixel Serially stuurt met USB2Dynamixel, wordt de Dynamixel-motordoelpositie ingesteld op 500.
Stap 5: PYTHONCODE
#Ontwikkeld door Madhu. Laatste update op 2019-07-19
serieel importeren
import tijd
ser=serial. Serial('com36', '57142')
#wijzig de com-poort dienovereenkomstig, de baudrate van mijn dynamixel-motoren is 57142, u kunt deze instellen met behulp van de Dynamixel-wizardsoftware.
terwijl(1):
gp1=input('voer ID1 doelpositie in (0-1023)')
l=gp1&255 #lage byte
h=(gp1>>8)&255 #hoge byte
li=[0xff, 0xff, 0x01, 0x05, 0x04, 0x1e, l1, h1]
#check somberekening
crc=som(li[2:])
laag1=crc & 255
chksum=255-low1
li.append(chksum) #controlesom toevoegen
a=bytearray(li) #converting list in bytearray
ser.write(a) #Serially send met usb2dynamixels.
tijd.slaap(0.5)
#Kopieer de code en plak deze in python IDE. Installeer het pyserial-pakket. sluit de USB-zijde van usb2dynamixel aan op de USB-poort van de laptop en een ander uiteinde op de Dynamixel-motor. Geef een externe 12v voeding aan USB2DYNAMIXEL.
RUN de code, voer de waarde van de doelpositie in. Zie draaiende motor.
Aanbevolen:
SpaceBall 4000 serieel naar USB-adapter - Ajarnpa
![SpaceBall 4000 serieel naar USB-adapter - Ajarnpa SpaceBall 4000 serieel naar USB-adapter - Ajarnpa](https://i.howwhatproduce.com/images/005/image-13043-j.webp)
SpaceBall 4000 serieel-naar-USB-adapter: de SpaceBall 4000 (gelijk aan de 5000FLX, maar niet de 5000) is een op serie gebaseerde 3D-muis met 12 knoppen die u op eBay kunt kopen voor minder dan $ 20. Deze zijn leuk voor het maken van 3D-grafisch ontwerp, omdat je modellen langs drie assen kunt verplaatsen en roteren
UChip - Serieel via IR! - Ajarnpa
![UChip - Serieel via IR! - Ajarnpa UChip - Serieel via IR! - Ajarnpa](https://i.howwhatproduce.com/images/001/image-1799-21-j.webp)
UChip - Serial Over IR!: Draadloze communicatie is tegenwoordig een belangrijk kenmerk geworden in onze projecten en als we het over draadloos hebben, het eerste waar ik aan denk is Wi-Fi of BT, maar het omgaan met de Wi-Fi- of BT-communicatieprotocollen is dat niet. een gemakkelijke taak en kost veel
Aanwezigheidssysteem door RFID-gegevens naar MySQL-server te verzenden met behulp van Python met Arduino - Ajarnpa
![Aanwezigheidssysteem door RFID-gegevens naar MySQL-server te verzenden met behulp van Python met Arduino - Ajarnpa Aanwezigheidssysteem door RFID-gegevens naar MySQL-server te verzenden met behulp van Python met Arduino - Ajarnpa](https://i.howwhatproduce.com/images/002/image-5256-23-j.webp)
Aanwezigheidssysteem door RFID-gegevens naar MySQL-server te verzenden met behulp van Python met Arduino: in dit project heb ik RFID-RC522 gekoppeld aan Arduino en vervolgens stuur ik gegevens van RFID naar de phpmyadmin-database. In tegenstelling tot onze eerdere projecten gebruiken we in dit geval geen ethernet-schild, hier lezen we alleen de seriële gegevens afkomstig van ar
Serieel LED-licht met meerkleurige LED's - Ajarnpa
![Serieel LED-licht met meerkleurige LED's - Ajarnpa Serieel LED-licht met meerkleurige LED's - Ajarnpa](https://i.howwhatproduce.com/images/004/image-11081-j.webp)
Serieel LED-licht met meerkleurige LED's: een serieel LED-licht is niet zo duur, maar als je een doe-het-zelver bent (een hobbyist) zoals ik, dan kun je je eigen seriële LED's maken en het is goedkoper dan het licht dat op de markt verkrijgbaar is. ga mijn eigen seriële LED-lamp maken die op 5 Vol
Android G1 serieel naar USB-kabel: 8 stappen
![Android G1 serieel naar USB-kabel: 8 stappen Android G1 serieel naar USB-kabel: 8 stappen](https://i.howwhatproduce.com/preview/how-and-what-to-produce/10964511-android-g1-serial-to-usb-cable-8-steps-j.webp)
Android G1 serieel naar USB-kabel: leer hoe u een Android G1 2.8v serieel naar USB serieel apparaatadapter maakt (met behulp van een 3.3v ttl naar usb seriële adapter). Dit kan worden gebruikt voor kernel debugging/etc met uw computer. Dit project zou je niet meer dan 40 dollar moeten kosten als je al b