Turinys:
- 1 žingsnis: reikalingi komponentai
- 2 žingsnis: Įvadas į „Dynamixel 12A“
- 3 žingsnis: „Dynamixel 12A“bendravimas/valdymas
- 4 žingsnis: tikslo pozicijos rašymas „Dynamixel Motor“
- 5 veiksmas: PYTHON KODAS
Video: „Dynamixel 12A“valdymas siunčiant paketus nuosekliai: 5 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:44
DYNAMIXEL 12A
1 žingsnis: reikalingi komponentai
Aparatūra:
1. „Dynamixel 12A“arba bet kuris „Dynamixel“variklis
2. USB į „Dynamixel“.
PROGRAMINĖ ĮRANGA:
1. Robotis Dynamixel vedlys.
2. „Python“--- įdiegtas serijinis paketas
2 žingsnis: Įvadas į „Dynamixel 12A“
„Dynamixel“varikliai yra labai tikslūs ir dažniausiai naudojami robotikoje. Kiekvienas „Dynamixel“variklis turi STM mikrovaldiklį. Iš „Dynamixels Motors“galite perskaityti dabartinį sukimo momentą, įtampą, srovės traukimą, temperatūrą, padėtį ir kt.
„Dynamixel 12A“specifikacijos:
Darbinė įtampa -12v
Svoris-55 g
Maksimali srovė -900 mA
Sustojimo momentas-15,3 kg.cm
3 žingsnis: „Dynamixel 12A“bendravimas/valdymas
- „Dynamixel 12A“nėra panašus į įprastus servo variklius, turinčius 3 kontaktų GND, PWM, VCC, kurie tiekia maitinimą ir PWM signalą bei valdo variklį.
- „Dynamixel“variklius galime valdyti naudodami „Half Duplex UART“ryšio protokolą.
Kas yra pusiau dvipusio ryšio protokolas?
Pusiau dvipusis duomenų perdavimas reiškia, kad duomenys gali būti perduodami abiem kryptimis signalo laikmenoje, bet ne vienu metu.
Dabar mes sužinome apie „Robotis 1.0“„Dynamixels“protokolą, skirtą „Dynamixel“varikliams valdyti.
- Galite bendrauti su „Dynamixel“varikliais siųsdami paketus iš savo nešiojamojo kompiuterio/mikrovaldiklio, pvz., „Arduino“, „r-pi“ir kt., Į mikrovaldiklį, esantį „Dynamixel“varikliuose.
- Kiekvienas „Dynamixels“turi ID, kuriuos galima keisti.
- Paketas yra ne kas kita, kaip baitų rinkinys.
Incase of Dynamixel Protocol 1.0 turėsite dviejų tipų paketus
- Instrukcijų paketai
- Būsenos paketai
Instrukcijų paketas yra komandų duomenys, siunčiami į įrenginį.
Instrukcijų paketas atrodo taip:
Antraštė1, antraštė2, ID, ilgis, instrukcija, 1 parametras… Parametras, NChecksum
0xFF, 0xFF, ID, ilgis, instrukcija Parametras 1… Parametras, NCHKSUM
Instrukcijos baitas nurodo, ką daryti, ar skaityti duomenis, ar rašyti „Dynamixel“varikliui.
„DYNAMIXEL MOTOR“VALDYMO LENTELĖ.-Valdymo lentelė yra struktūra, susidedanti iš kelių duomenų laukų būsenai išsaugoti arba įrenginiui valdyti.
Daugiau apie valdymo lentelę skaitykite čia.
Mes galime pasiekti duomenis valdymo lentelėje iš jos adreso ir taip pat galime rašyti.
4 žingsnis: tikslo pozicijos rašymas „Dynamixel Motor“
Instrukcijų paketas, skirtas įrašyti tikslo poziciją
kiekvienas paketas prasideda antrašte
H1 H2 ID LENSTAS P1 P2 P3 CKSM
0xFF, 0xFF, 0x01, 0x05, 0x04, 0x1E, 0xF4, 0x01, 0xE2
LEN instrukcijos baitas+p1+p2+p3+chk suma = 5 baitai
ID = „Dynamixel“variklio ID 1-galite nustatyti „dynamixel“ID naudodami „robotis dynamixel“vedlio programinę įrangą
INST = reg write-nurodant, kad rašote varikliui.
P1 = „Data-In“valdymo lentelės pradžios adresas Tikslo pozicija turi adresą 30 (0x1E šešioliktainiu skaičiumi).
P2 = mažesnis duomenų baitas
P3 = didesnis duomenų baitas
Kontrolinės sumos apskaičiavimas netrukus bus paaiškintas ………………….
Jei siunčiate aukščiau pateiktą paketą „Dynamixel Serial“naudojant USB2Dynamixel, „Dynamixel“variklio tikslo pozicija bus nustatyta į 500.
5 veiksmas: PYTHON KODAS
#Sukūrė Madhu. Paskutinį kartą atnaujinta 2019-07-19
importuoti seriją
importo laikas
ser = serial. Serial ('com36', '57142')
#atitinkamai pakeiskite prievadą, mano „dynamixel“variklių duomenų perdavimo sparta yra 57142, ją galite nustatyti naudodami „Dynamixel“vedlio programinę įrangą.
tuo tarpu (1):
gp1 = įvestis ('įveskite ID1 tikslo poziciją (0-1023)')
l = gp1 ir 255 #mažas baitas
h = (gp1 >> 8) ir 255 #didelis baitas
li = [0xff, 0xff, 0x01, 0x05, 0x04, 0x1e, l1, h1]
#patikrinkite sumos apskaičiavimą
crc = suma (li [2:])
žemas1 = crc ir 255
chksum = 255-žemas1
li.append (chksum) #adding čekio suma
a = bytearray (li) #converting list to bytearray
ser.write (a) #Serialiai siųskite naudodami usb2dynamixels.
laikas. miegas (0,5)
#Nukopijuokite kodo įkliją į „python IDE“. Įdiekite „pyserial“paketą. prijunkite „usb2dynamixel“USB pusę prie nešiojamojo kompiuterio USB prievado ir kitą galą prie „Dynamixel“variklio. USB2DYNAMIXEL aprūpinkite išoriniu 12 V maitinimo šaltiniu.
Vykdykite kodą, įveskite tikslo pozicijos vertę. Pažiūrėkite, kaip veikia variklis.
Rekomenduojamas:
PC RGB valdymas naudojant „Arduino“: 3 žingsniai
Kompiuterio RGB valdymas naudojant „Arduino“: jūsų žaidimų kompiuteris neturi RGB ?! Tik nusipirk! O kas, jei jūsų pagrindinė plokštė taip pat nepalaiko? Na … Sukurkite savo valdiklį
Ryškumo valdymas PWM pagrįstas LED valdymas naudojant mygtukus, „Raspberry Pi“ir „Scratch“: 8 žingsniai (su nuotraukomis)
Ryškumo valdymas PWM pagrįstas LED valdymas naudojant mygtukus, „Raspberry Pi“ir „Scratch“: bandžiau rasti būdą, kaip paaiškinti, kaip PWM veikė mano mokiniams, todėl iškėliau sau užduotį pabandyti valdyti šviesos diodo ryškumą naudojant du mygtukus - vienas mygtukas padidina šviesos diodo ryškumą, o kitas - jį pritemdo. Programa
ESP8266 RGB LED juostelės WIFI valdymas - „NODEMCU“kaip IR nuotolinio valdymo pultas „Led Strip“, valdomas per „Wifi“- RGB LED STRIP išmaniojo telefono valdymas: 4 žingsniai
ESP8266 RGB LED juostelės WIFI valdymas | „NODEMCU“kaip IR nuotolinio valdymo pultas „Led Strip“, valdomas per „Wifi“| „RGB LED STRIP“išmaniojo telefono valdymas: Sveiki vaikinai, šioje pamokoje mes išmoksime naudoti „nodemcu“arba „esp8266“kaip IR nuotolinio valdymo pultą, norint valdyti RGB LED juostą, o „Nodemcu“bus valdomas išmaniuoju telefonu per „Wi -Fi“. Taigi iš esmės galite valdyti RGB LED juostelę savo išmaniuoju telefonu
Lankymo sistema, siunčiant RFID duomenis į „MySQL“serverį naudojant „Python“su „Arduino“: 6 žingsniai
Lankymo sistema, siunčiant RFID duomenis į „MySQL“serverį naudojant „Python“su „Arduino“: Šiame projekte aš susiejau RFID-RC522 su arduino ir tada siunčiu RFID duomenis į phpmyadmin duomenų bazę. Skirtingai nuo ankstesnių projektų, šiuo atveju nenaudojame jokio eterneto skydo, čia mes tik skaitome serijinius duomenis, gautus iš
Kaip prijungti ličio jonų akumuliatorių lygiagrečiai ir nuosekliai: 5 žingsniai (su nuotraukomis)
Kaip prijungti ličio jonų akumuliatorių lygiagrečiai ir nuosekliai