Inhaltsverzeichnis:
- Schritt 1: Erforderliche Komponenten
- Schritt 2: Einführung in Dynamixel 12A
- Schritt 3: Kommunikation/Steuerung von Dynamixel 12A
- Schritt 4: Schreiben der Zielposition in den Dynamixel-Motor
- Schritt 5: PYTHON-CODE
Video: Steuern von Dynamixel 12A durch serielles Senden von Paketen - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:15
DYNAMIXEL 12A
Schritt 1: Erforderliche Komponenten
HARDWARE:
1. Dynamixel 12A oder jeder Dynamixel-Motor
2. USB zu Dynamixel.
SOFTWARE:
1. Robotis Dynamixel-Assistent.
2. Python ---Serielles Paket installiert
Schritt 2: Einführung in Dynamixel 12A
Dynamixel-Motoren sind hochpräzise und werden hauptsächlich in der Robotik verwendet. Jeder Dynamixel-Motor hat einen STM-Mikrocontroller im Inneren. Sie können aktuelles Drehmoment, Spannung, Stromaufnahme, Temperatur, Position usw. von Dynamixels Motors ablesen.
Spezifikationen von Dynamixel 12A:
Betriebsspannung --12v
Gewicht--55g
Maximaler Strom --900mA
Stillstandsdrehmoment - 15,3 kg.cm
Schritt 3: Kommunikation/Steuerung von Dynamixel 12A
- Dynamixel 12A ist nicht wie normale Servomotoren, die über 3-Pin-GND, PWM, VCC verfügen, Stromversorgung und PWM-Signal geben und den Motor steuern.
- Wir können Dynamixel-Motoren mit dem Halbduplex-UART-Kommunikationsprotokoll steuern.
Was ist das Halbduplex-Kommunikationsprotokoll?
Halbduplex-Datenübertragung bedeutet, dass auf einem Signalträger Daten in beide Richtungen übertragen werden können, jedoch nicht gleichzeitig.
Jetzt lernen wir das Protokoll 1.0 für Dynamixels von Robotis kennen, um Dynamixel-Motoren zu steuern.
- Sie können mit Dynamixel-Motoren kommunizieren, indem Sie Pakete von Ihrem Laptop/Mikrocontroller wie Arduino, r-pi usw. an den Mikrocontroller senden, der in den Dynamixel-Motoren vorhanden ist.
- Alle Dynamixels haben IDs, die geändert werden können.
- Ein Paket ist nichts anderes als ein Satz von Bytes.
Im Falle des Dynamixel-Protokolls 1.0 haben Sie zwei Arten von Paketen
- Anleitungspakete
- Statuspakete
Befehlspaket sind die an das Gerät gesendeten Befehlsdaten.
Anleitungspaket sieht so aus:
Header1, Header2, ID, Länge, Anweisung, Param 1…Param, NChecksum
0xFF, 0xFF, ID, Länge, Anweisung Param 1…Param, NCHKSUM
Das Anweisungsbyte sagt, was zu tun ist, ob Daten gelesen oder in den Dynamixel-Motor geschrieben werden sollen.
STEUERTABELLE EINES DYNAMIXEL-MOTORS.-Die Steuertabelle ist eine Struktur, die aus mehreren Datenfeldern besteht, um den Status zu speichern oder das Gerät zu steuern.
Lesen Sie mehr über Steuertisch hierSteuertisch Robotis.
Wir können von ihrer Adresse aus auf Daten in der Steuertabelle zugreifen und auch schreiben.
Schritt 4: Schreiben der Zielposition in den Dynamixel-Motor
Anweisungspaket zum Schreiben der Zielposition
Jedes Paket beginnt mit einem Header
H1 H2 ID LEN INST P1 P2 P3 CKSM
0xFF, 0xFF, 0x01, 0x05, 0x04, 0x1E, 0xF4, 0x01, 0xE2
LEN-Befehlsbyte+p1+p2+p3+chk sum=5 Bytes
ID = Dynamixel-Motor-ID 1 - Sie können die Dynamixel-ID mit der Robotis Dynamixel Wizard-Software einstellen
INST=reg write-gibt an, dass Sie in den Motor schreiben.
P1=Startadresse des Data-In in der Steuertabelle Die Zielposition hat eine Adresse 30(0x1E in hexadezimal).
P2=unteres Datenbyte
P3=höheres Datenbyte
Die Berechnung der Prüfsumme wird in Kürze erklärt………………….
Wenn Sie das obige Paket seriell über USB2Dynamixel an Dynamixel senden, wird die Motorzielposition von Dynamixel auf 500 gesetzt.
Schritt 5: PYTHON-CODE
#Entwickelt von Madhu. Letzte Aktualisierung am 19.07.2019
Seriennummer importieren
Importzeit
ser=serial. Serial('com36', '57142')
#com-Port entsprechend ändern, die Baudrate meiner Dynamixel-Motoren beträgt 57142, Sie können sie mit der Dynamixel-Assistentensoftware einstellen.
während(1):
gp1=input('Zielposition ID1 eingeben(0-1023)')
l=gp1&255 #niedriges Byte
h=(gp1>>8)&255 #High-Byte
li=[0xff, 0xff, 0x01, 0x05, 0x04, 0x1e, l1, h1]
#Prüfsummenberechnung
crc=sum(li[2:])
low1=crc & 255
Prüfsumme=255-low1
li.append(chksum) #Prüfsumme hinzufügen
a=bytearray(li) #konvertieren der Liste in bytearray
ser.write(a) #Seriell mit usb2dynamixels senden.
time.sleep(0.5)
#Kopieren Sie die Codepaste in die Python-IDE. pyserial-Paket installieren. Verbinden Sie die USB-Seite von usb2dynamixel mit dem USB-Port des Laptops und ein anderes Ende mit dem Dynamixel-Motor. Versorgen Sie USB2DYNAMIXEL mit einer externen 12-V-Versorgung.
FÜHREN Sie den Code aus, geben Sie den Zielpositionswert ein. Siehe Motor läuft.
Empfohlen:
Senden Sie ThingSpeak-Benachrichtigungen an Mi Band 4: 6 Schritte
ThingSpeak-Benachrichtigungen an Mi Band 4 senden: Da ich mein Xiaomi Mi Band 4 gekauft habe, habe ich über die Möglichkeit nachgedacht, einige Daten von meiner Wetterstation zu verfolgen, die auf ThingSpeak über mein Mi Band 4 verfügbar sind die Fähigkeiten von Mi Band 4 ar
So führen Sie eine Kraftkalibrierung auf einem CombiTouch durch: 6 Schritte
So führen Sie eine Kraftkalibrierung auf einem CombiTouch durch: Diese Anleitung zeigt, wie Sie eine Kraftkalibrierung auf einem Alto-Shaam CombiTouch-Ofen durchführen. Wenn der Bildschirm nicht auf die Berührung reagiert oder ein anderes Symbol aktiviert als das, das Sie berühren, folgen Sie einfach diesen Anweisungen. Wenn die
Steuern von Haushaltsgeräten mit Node-MCU und Google Assistant - IOT - Blynk - IFTTT: 8 Schritte
Steuern von Haushaltsgeräten mit Node-MCU und Google Assistant | IOT | Blynk | IFTTT: Ein einfaches Projekt zur Steuerung von Geräten mit Google Assistant: Warnung: Der Umgang mit Netzstrom kann gefährlich sein. Mit äußerster Sorgfalt behandeln. Stellen Sie einen professionellen Elektriker ein, während Sie mit offenen Stromkreisen arbeiten. Ich übernehme keine Verantwortung für die da
So senden Sie DHT11-Daten mit NodeMCU an einen MySQL-Server – wikiHow
So senden Sie DHT11-Daten mit NodeMCU an MySQL-Server: In diesem Projekt haben wir DHT11 mit nodemcu verbunden und dann senden wir Daten von dht11, die Feuchtigkeit und Temperatur sind, an die phpmyadmin-Datenbank
Arduino- und Apple HomeKit-Integration - Steuern Sie Ihr Zuhause von Siri aus! IoT ist hier: 6 Schritte
Arduino- und Apple HomeKit-Integration - Steuern Sie Ihr Zuhause von Siri aus! IoT ist hier: Dieses Instructable bietet Ihnen eine schnelle und einfache Möglichkeit, ein Arduino-Board zu Apples HomeKit auf einem iOS-Gerät hinzuzufügen. Es eröffnet alle möglichen Möglichkeiten, einschließlich Skripte, die auf dem Server ausgeführt werden, kombiniert mit Apples HomeKit "Szenen", es macht