Satura rādītājs:
- 1. darbība. Nepieciešamās sastāvdaļas
- 2. darbība. Ievads Dynamixel 12A
- 3. darbība: saziņa/kontrole ar Dynamixel 12A
- 4. solis: mērķa pozīcijas rakstīšana Dynamixel Motor
- 5. darbība: PYTHON CODE
Video: Dynamixel 12A vadīšana, sērijveidā nosūtot paketes: 5 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:51
DYNAMIXEL 12A
1. darbība. Nepieciešamās sastāvdaļas
Aparatūra:
1. Dynamixel 12A vai jebkurš Dynamixel motors
2. USB uz Dynamixel.
PROGRAMMATŪRA:
1. Robotis Dynamixel vednis.
2. Python --- instalēta sērijas pakotne
2. darbība. Ievads Dynamixel 12A
Dynamixel motori ir ļoti precīzi un lielākoties tiek izmantoti robotikā. Katrā Dynamixel motorā ir STM mikrokontrolleris. Jūs varat nolasīt pašreizējo griezes momentu, spriegumu, strāvas patēriņu, temperatūru, stāvokli utt. No Dynamixels Motors.
Dynamixel 12A specifikācijas:
Darba spriegums -12 V.
Svars-55 g
Maksimālā strāva -900 mA
Stall griezes moments-15,3 kg cm
3. darbība: saziņa/kontrole ar Dynamixel 12A
- Dynamixel 12A nav līdzīgs parastajiem servomotoriem, kuriem ir 3 kontaktu GND, PWM, VCC, kas nodrošina barošanas avotu un PWM signālu un kontrolē motoru.
- Mēs varam kontrolēt Dynamixel motorus, izmantojot Half Duplex UART sakaru protokolu.
Kas ir pusdupleksās saziņas protokols?
Daļēji dupleksa datu pārraide nozīmē, ka datus var pārraidīt abos virzienos uz signāla nesēju, bet ne vienlaicīgi.
Tagad mēs uzzinām par protokolu 1.0 Dynamixels no Robotis, lai kontrolētu Dynamixel motorus.
- Jūs varat sazināties ar Dynamixel motoriem, nosūtot paketes no klēpjdatora/mikrokontrollera, piemēram, Arduino, r-pi utt., Uz mikrokontrolleri, kas atrodas Dynamixel motoros.
- Katram Dynamixels ir ID, kurus var mainīt.
- Pakete nav nekas cits kā baitu kopums.
Incase of Dynamixel Protocol 1.0 jums būs divu veidu paketes
- Instrukciju paketes
- Statusa paketes
Instrukciju pakete ir komandu dati, kas tiek nosūtīti uz ierīci.
Instrukciju pakete izskatās šādi:
Header1, Header2, ID, Length, Instruction, Param 1 … Param, NChecksum
0xFF, 0xFF, ID, garums, instrukcijas 1. parametrs… Parametrs, NCHKSUM
Instrukcijas baits norāda, kas jādara, vai lasīt datus vai rakstīt Dynamixel motoram.
DINAMIKSELA MOTORA VADĪBAS TABULA.-Kontroles tabula ir struktūra, kas sastāv no vairākiem datu laukiem, lai saglabātu statusu vai kontrolētu ierīci.
Vairāk par kontroles tabulu lasiet šeitKontroltabulas Robotis.
Mēs varam piekļūt vadības tabulas datiem no tās adreses, kā arī rakstīt.
4. solis: mērķa pozīcijas rakstīšana Dynamixel Motor
Instrukciju pakete mērķa rakstīšanai
katra pakete sākas ar galveni
H1 H2 ID LEN INST P1 P2 P3 CKSM
0xFF, 0xFF, 0x01, 0x05, 0x04, 0x1E, 0xF4, 0x01, 0xE2
LEN-instrukciju baits+p1+p2+p3+chk summa = 5 baiti
ID = Dynamixel motor ID 1-jūs varat iestatīt dynamixel id, izmantojot robotis dynamixel vedņa programmatūru
INST = reg rakstīt-norādot, ka jūs rakstāt motoram.
P1 = Datu ievades sākuma adrese vadības tabulā Mērķa pozīcijai ir adrese 30 (0x1E heksadecimālā).
P2 = zemāks datu baits
P3 = lielāks datu baits
Kontrolsummas aprēķins tiks izskaidrots drīz ………………….
Ja jūs nosūtāt iepriekš minēto paketi uz Dynamixel sērijveidā, izmantojot USB2Dynamixel, Dynamixel motora mērķa pozīcija tiks iestatīta uz 500.
5. darbība: PYTHON CODE
#Izstrādāja Madhu. Pēdējo reizi atjaunināts 19.07.2019
importēt sērijas
importa laiks
ser = seriāls. Sērija ('com36', '57142')
#attiecīgi mainiet portu, mans dynamixel motoru pārraides ātrums ir 57142, to varat iestatīt, izmantojot Dynamixel vedņa programmatūru.
kamēr (1):
gp1 = ievade ('ievadiet ID1 mērķa pozīciju (0-1023)')
l = gp1 un 255 #zems baits
h = (gp1 >> 8) un 255 #augsts baits
li = [0xff, 0xff, 0x01, 0x05, 0x04, 0x1e, l1, h1]
#pārbaudiet summas aprēķinu
crc = summa (li [2:])
zems1 = crc un 255
chksum = 255-zems1
li.append (chksum) #adding pārbaudes summa
a = bytearray (li) #converting list to bytearray
ser.write (a) #Sēriski sūtiet, izmantojot usb2dynamixels.
miega laiks (0,5)
#Kopējiet koda ielīmējumu python IDE. Instalējiet pyserial paketi. savienojiet usb2dynamixel USB pusi ar klēpjdatora USB portu un otru galu ar Dynamixel motoru. Dodiet USB2DYNAMIXEL ārēju 12 V barošanas avotu.
Izpildiet kodu, ievadiet mērķa pozīcijas vērtību. Skatiet motora darbību.
Ieteicams:
Apmeklēšanas sistēma, nosūtot RFID datus uz MySQL serveri, izmantojot Python ar Arduino: 6 soļi
Apmeklēšanas sistēma, nosūtot RFID datus uz MySQL serveri, izmantojot Python ar Arduino: Šajā projektā es esmu sasaistījis RFID-RC522 ar arduino un pēc tam sūtu RFID datus uz phpmyadmin datu bāzi. Atšķirībā no mūsu iepriekšējiem projektiem šajā gadījumā mēs neizmantojam nevienu Ethernet vairogu, šeit mēs tikai lasām sērijas datus, kas nāk no ar
Kā savienot litija jonu akumulatoru paralēli un sērijveidā: 5 soļi (ar attēliem)
Kā savienot litija jonu akumulatoru paralēli un sērijveidā.: Vai jums ir problēma ar 2x3,7 V akumulatora uzlādi, kas pievienota sereis. Šeit ir vienkāršs risinājums
Kā izveidot vienkāršu sērijveida pieteikšanos: 3 soļi
Vienkāršas sērijveida pieteikšanās: pirmais, kas jādara, ir izveidot failu. Jūs varat nosaukt to, kas jums patīk, bet noteikti pievienojiet. LPTP vai citādi tas nedarbosies
Vienkārša sērijveida failu pieteikšanās sistēma ar ielādes joslu: 5 soļi
Vienkārša sērijveida pieteikšanās sistēma ar ielādes joslu: Šeit mēs kopīgojam partijas failu pieteikšanās sistēmai ar ielādes joslu. Mēs parādīsim jums kodu un arī parādīsim, kā to izmantot. Varat arī apmeklēt mūsu emuāru, lai uzzinātu vairāk partijas failu kodu. FFLocker 1.0: http://errorcode401.blogspot.in/2013/06/FFlocker-1.0.html Rar
Pamata Windows paketes apmācība: 5 soļi
Pamata Windows partijas apmācība: sveiki, puiši, 24 stundu laikā es publicēju Windows paketes apmācības, kuras es apsolīju savā pēdējā pamācībā. ja neesat to redzējis, noklikšķiniet uz šīs saites šeit: https://www.instructables.com/id/Python-Tutorial/, tas ir par pašiem (x100) partijas pr pamatiem