Tartalomjegyzék:
- 1. lépés: Szükséges összetevők
- 2. lépés: Bevezetés a Dynamixel 12A -ba
- 3. lépés: A Dynamixel 12A kommunikálása/vezérlése
- 4. lépés: Célpozíció írása a Dynamixel Motorhoz
- 5. lépés: PYTHON -KÓD
Videó: A Dynamixel 12A vezérlése csomagok soros küldésével: 5 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:39
DYNAMIXEL 12A
1. lépés: Szükséges összetevők
HARDVER:
1. Dynamixel 12A vagy bármilyen Dynamixel motor
2. USB a Dynamixelhez.
SZOFTVER:
1. Robotis Dynamixel varázsló.
2. Python --- Soros csomag telepítve
2. lépés: Bevezetés a Dynamixel 12A -ba
A Dynamixel motorok rendkívül precízek, és leginkább a robotikában használatosak. Minden Dynamixel motor STM mikrokontrollert tartalmaz. A Dynamixels Motors -tól leolvashatja az aktuális nyomatékot, feszültséget, áramfelvételt, hőmérsékletet, pozíciót stb.
A Dynamixel 12A specifikációi:
Üzemi feszültség -12V
Súly-55 g
Maximális áram -900 mA
Elakadási nyomaték-15,3 kg.cm
3. lépés: A Dynamixel 12A kommunikálása/vezérlése
- A Dynamixel 12A nem olyan, mint a normál szervomotorok, amelyek 3 tűs GND, PWM, VCC, tápellátást és PWM jelet adnak, és vezérlik a motort.
- A Dynamixel motorokat a Half Duplex UART kommunikációs protokoll használatával irányíthatjuk.
Mi a Half Duplex Communication Protocol?
A fél-duplex adatátvitel azt jelenti, hogy az adatok mindkét irányban továbbíthatók egy jelhordozón, de nem egy időben.
Most megismerkedünk a Robotis 1.0 Dynamixels protokolljával a Dynamixel motorok vezérléséhez.
- A Dynamixel motorokkal kommunikálhat úgy, hogy csomagokat küld a laptopjáról/mikrovezérlőjéről, például Arduino, r-pi, stb., A Dynamixel motorokban lévő mikrokontrollerhez.
- Minden Dynamixel rendelkezik azonosítókkal, amelyek módosíthatók.
- A csomag nem más, mint bájtok halmaza.
Incase of Dynamixel Protocol 1.0 esetén kétféle csomagja lesz
- Utasítási csomagok
- Állapotcsomagok
Az utasításcsomag az eszközre küldött parancsadatok.
Az utasításcsomag így néz ki:
Fejléc1, Fejléc2, azonosító, hossz, utasítás, 1. paraméter… Paraméter, NChecksum
0xFF, 0xFF, azonosító, hossz, utasítás 1. paraméter… paraméter, NCHKSUM
Az utasítás bájtja elmagyarázza, hogy mit kell tenni, olvasni vagy írni a Dynamixel motorhoz.
A DYNAMIXEL MOTOR VEZÉRLŐ TÁBLÁZATA. -A Control Table egy olyan struktúra, amely több adatmezőből áll az állapot tárolásához vagy az eszköz vezérléséhez.
A vezérlőasztalról itt olvashat bővebben.
Hozzáférhetünk a vezérlőtábla adataihoz a címéből, és írhatunk is.
4. lépés: Célpozíció írása a Dynamixel Motorhoz
Utasításcsomag a gólpozíció írásához
minden csomag fejléccel kezdődik
H1 H2 ID LEN INST P1 P2 P3 CKSM
0xFF, 0xFF, 0x01, 0x05, 0x04, 0x1E, 0xF4, 0x01, 0xE2
LEN-utasítás bájt+p1+p2+p3+chk összeg = 5 bájt
ID = Dynamixel motor ID 1-beállíthatja a dynamixel azonosítót a robotis dynamixel varázsló szoftver segítségével
INST = reg írási specifikáció, hogy a motorba ír.
P1 = A Data-In vezérlőtábla kezdőcíme A Célpozíció 30 címmel rendelkezik (0x1E hexadecimális).
P2 = alsó bájt adat
P3 = magasabb adatbájt
Az ellenőrző összeg kiszámítását rövidesen ismertetjük ………………….
Ha a fenti csomagot elküldi a Dynamixel Serial -nek USB2Dynamixel használatával, a Dynamixel motor célpozíciója 500 lesz.
5. lépés: PYTHON -KÓD
#Madhu fejlesztette ki. Utolsó frissítés: 2019.07.19
soros importálása
importálási idő
ser = soros. Soros ('com36', '57142')
#cserélje a com portot ennek megfelelően, a dynamixel motorok átviteli sebessége 57142, beállíthatja a Dynamixel varázsló szoftver segítségével.
míg (1):
gp1 = bemenet ('adja meg az ID1 célpozícióját (0-1023)')
l = gp1 és 255 #alacsony bájt
h = (gp1 >> 8) & 255 #magas bájt
li = [0xff, 0xff, 0x01, 0x05, 0x04, 0x1e, l1, h1]
#ellenőrizze az összegszámítást
crc = összeg (li [2:])
alacsony1 = crc és 255
chksum = 255-alacsony1
li.append (chksum) #adding check sum
a = bytearray (li) #converting list bytearray
ser.write (a) #Soros küldés usb2dynamixels használatával.
time.sleep (0,5)
#Másolja a kódpasztát a python IDE -be. Telepítse a pyserial csomagot. csatlakoztassa az usb2dynamixel USB oldalát a laptop USB portjához, a másik végét pedig a Dynamixel motorhoz. Adjon külső 12 V -os tápegységet az USB2DYNAMIXEL -nek.
Futtassa a kódot, adja meg a célpozíció értékét. Lásd a járó motort.
Ajánlott:
A Mac Lilypad USB soros portjának/illesztőprogramjának javítása: 10 lépés (képekkel)
A Mac Lilypad USB soros portjának/illesztőprogramjának javítása: 2016 -tól kezdve a Mac 2 évesnél fiatalabb? Nemrég frissített a legújabb operációs rendszerre (Yosemite vagy bármi újabb)? A Lilypad USB/MP3 -ok már nem működnek? bemutató megmutatja, hogyan javítottam ki a Lilypad USB -k. A hiba, amellyel találkoztam, összefüggésben volt
Soros LED kijelző Arduino játékok: 7 lépés (képekkel)
Soros LED kijelző Arduino Games: más néven LED létra kijelző játékrendszer. Az Attiny-85 hardverrel és szoftverrel felszerelt, hogy akciódús " videót " játékok, soros LED kijelzőn. Multiplex 12 LED -es létra kijelzővel rendelkezik, és támogatja a 6 gombos bemenetet és az opcionális
HC-05 soros konfiguráció Bluetooth-on keresztül: 10 lépés
HC-05 soros konfiguráció Bluetooth-on keresztül: Miközben Android-eszközöket és HC-05 Bluetooth SPP modulokat használok egyes Arduino projektekhez, ellenőrizni és módosítani akartam a HC-05 átviteli sebességet és egyéb paramétereket anélkül, hogy a számítógép USB-portjához csatlakoznék. Ez alakult ki. A HC-05 modulok soros és Blu-t csatlakoztatnak
USB -soros TTL: 3 lépés
USB -soros TTL: Néhány PIC -projektemhez soros (RS232) interfészre van szükségem ahhoz, hogy néhány üzenetet kinyomtassak a számítógép képernyőjén. Még mindig van egy asztali számítógépem, amely rendelkezik egy RS232 interfésszel, de manapság a legtöbb számítógép USB interfésszel rendelkezik. Vásárolhat fejlesztőt
Részvételi rendszer RFID adatok küldésével a MySQL szerverre Python és Arduino használatával: 6 lépés
Jelenléti rendszer RFID-adatok küldésével a MySQL szerverre Python használatával az Arduino segítségével: Ebben a projektben az RFID-RC522-t illesztettem az arduino-val, majd az RFID adatait a phpmyadmin adatbázisba küldöm. Korábbi projektjeinktől eltérően ebben az esetben nem használunk ethernet pajzsot, itt csak az ar