Բովանդակություն:
- Քայլ 1: Պահանջվում են բաղադրիչներ
- Քայլ 2. Ներածություն Dynamixel 12A- ին
- Քայլ 3. Հաղորդակցում/վերահսկում Dynamixel 12A
- Քայլ 4: Dynamixel Motor- ին գրեք նպատակի դիրք
- Քայլ 5. PYTHON CODE
Video: Dynamixel 12A- ի վերահսկում `փաթեթների սերիական ուղարկմամբ` 5 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:45
DYNAMIXEL 12A
Քայլ 1: Պահանջվում են բաղադրիչներ
HARDWARE:
1. Dynamixel 12A կամ ցանկացած Dynamixel շարժիչ
2. USB- ից Dynamixel- ին:
SOՐԱԳԻՐ:
1. Robotis Dynamixel կախարդ:
2. Python --- Տեղադրված է սերիալային փաթեթ
Քայլ 2. Ներածություն Dynamixel 12A- ին
Dynamixel շարժիչները չափազանց ճշգրիտ են և հիմնականում օգտագործվում են Ռոբոտաշինության մեջ: Յուրաքանչյուր Dynamixel շարժիչ ունի ներսում STM միկրոկոնտրոլեր: Dynamixels Motors- ից կարող եք կարդալ ընթացիկ ոլորող մոմենտը, լարումը, ընթացիկ շեղումը, ջերմաստիճանը, դիրքը և այլն:
Dynamixel 12A- ի բնութագրերը.
Գործող լարման -12 վ
Քաշ-55 գ
Առավելագույն հոսանքը `900 մԱ
Խցիկի ոլորող մոմենտ-15,3 կգ.սմ
Քայլ 3. Հաղորդակցում/վերահսկում Dynamixel 12A
- Dynamixel 12A- ն նման չէ սովորական servo շարժիչներին, որոնք ունեն 3 պին GND, PWM, VCC, տալիս են սնուցման աղբյուր և PWM ազդանշան և վերահսկում շարժիչը:
- Մենք կարող ենք վերահսկել Dynamixel շարժիչները `օգտագործելով Half Duplex UART հաղորդակցության արձանագրություն:
Ի՞նչ է Half Duplex Communication Protocol- ը:
Կես դուպլեքս տվյալների փոխանցումը նշանակում է, որ ազդանշանի կրիչի վրա տվյալները կարող են փոխանցվել երկու ուղղություններով, բայց ոչ միաժամանակ:
Այժմ մենք սովորում ենք Robotis- ի Dynamixels- ի համար Protocol 1.0- ի մասին, որը վերահսկում է Dynamixel շարժիչները:
- Դուք կարող եք հաղորդակցվել Dynamixel շարժիչների հետ ՝ ձեր նոութբուքից/միկրոկառավարիչից փաթեթներ ուղարկելով, ինչպիսիք են Arduino- ն, r-pi- ն և այլն …, այն Dynamixel շարժիչների ներսում առկա միկրոկառավարիչին:
- Յուրաքանչյուր Dynamixels ունի ID, որը կարող է փոփոխվել:
- Փաթեթը ոչ այլ ինչ է, քան բայթերի շարք:
Դինամիկսել արձանագրության 1.0 դեպքում դուք կունենաք երկու տեսակի փաթեթ
- Հրահանգների փաթեթներ
- Կարգավիճակի փաթեթներ
Instruction Packet- ը Սարքին ուղարկված հրամանի տվյալներն են:
Հրահանգների փաթեթն այսպիսին է.
Header1, Header2, ID, Length, Instruction, Param 1… Param, NChecksum
0xFF, 0xFF, ID, երկարություն, հրահանգ Պարամետր 1… պարամետր, NCHKSUM
Հրահանգի բայթը պատմում է, թե ինչ անել, կարդալ տվյալները, թե գրել Dynamixel շարժիչին:
ԴԻՆԱՄԻՔՍԵԼ ՄՈՏՈՐԻ ՎԵՐԱՀՍԿՈՈABԹՅԱՆ Աղյուսակ:-Կառավարման աղյուսակը կառուցվածք է, որը բաղկացած է Տվյալների բազմաթիվ դաշտերից `կարգավիճակը պահելու կամ սարքը կառավարելու համար:
Կարդացեք ավելին կառավարման սեղանի մասին այստեղԿառավարեք սեղան Robotis:
Մենք կարող ենք մուտք գործել կառավարման աղյուսակի տվյալները դրա հասցեից, ինչպես նաև կարող ենք գրել:
Քայլ 4: Dynamixel Motor- ին գրեք նպատակի դիրք
Նպատակի դիրքը գրելու հրահանգների փաթեթ
յուրաքանչյուր փաթեթ սկսվում է վերնագրով
H1 H2 ID LEN INST P1 P2 P3 CKSM
0xFF, 0xFF, 0x01, 0x05, 0x04, 0x1E, 0xF4, 0x01, 0xE2
LEN- հրահանգի բայթ+p1+p2+p3+chk գումար = 5 բայթ
ID = Dynamixel motor ID 1-կարող եք դինամիկսելի id սահմանել robotis dynamixel wizard ծրագրաշարի միջոցով
INST = reg գրել-նշելով, որ դուք գրում եք շարժիչին:
P1 = Տվյալների մեկնարկային հասցեն-Կառավարման աղյուսակում Նպատակային դիրքն ունի հասցե 30 (0x1E տասնվեցական):
P2 = տվյալների ցածր բայթ
P3 = տվյալների ավելի բարձր բայթ
Չեկային գումարի հաշվարկը շուտով կբացատրվի ………………….
Եթե վերը նշված փաթեթը ուղարկեք Dynamixel Serially USB2Dynamixel- ի միջոցով, Dynamixel շարժիչի նպատակային դիրքը կսահմանվի 500:
Քայլ 5. PYTHON CODE
#Մշակված է Մադհուի կողմից: Վերջին թարմացումը `2019-07-19
ներմուծում Սերիա
ներմուծման ժամանակը
ser = սերիալ: Սերիալ ('com36', '57142')
Համապատասխանաբար #change com նավահանգիստը, իմ դինամիքսել շարժիչների բաուդ արագությունը 57142 է, կարող եք այն տեղադրել Dynamixel wizard ծրագրակազմի միջոցով:
մինչդեռ (1):
gp1 = մուտքագրում ('մուտքագրեք ID1- ի նպատակային դիրքը (0-1023)')
l = gp1 & 255 #ցածր բայթ
h = (gp1 >> 8) & 255 #բարձր բայթ
li = [0xff, 0xff, 0x01, 0x05, 0x04, 0x1e, l1, h1]
#ստուգել գումարի հաշվարկը
crc = գումար (li [2:])
ցածր 1 = crc & 255
chksum = 255-ցածր 1
li.append (chksum) #ավելացնել չեկի գումար
a = bytearray (li) #ցուցակը փոխակերպելով bytearray
ser.write (a) #Սերիական ուղարկեք ՝ օգտագործելով usb2dynamixels:
ժամանակ. քուն (0.5)
#Պատճենեք ծածկագրի տեղադրումը python IDE- ում: Տեղադրեք պիզերալ փաթեթ: միացրեք usb2dynamixel- ի USB կողմը նոութբուքի USB պորտին և մյուս ծայրը Dynamixel շարժիչին: USB2DYNAMIXEL- ին տվեք արտաքին 12 վ լարման:
RUN կոդը, մուտքագրեք նպատակի դիրքի արժեքը: Տեսեք շարժիչը աշխատում է:
Խորհուրդ ենք տալիս:
HC-05 սերիական կազմաձևում Bluetooth- ով. 10 քայլ
HC-05 սերիական կազմաձևում Bluetooth- ի միջոցով. Android սարքերից և HC-05 Bluetooth SPP մոդուլներից Arduino- ի որոշ նախագծերի համար ես ուզում էի ստուգել և փոխել HC-05 բաուդ արագությունը և այլ պարամետրեր ՝ առանց համակարգչի USB պորտին միանալու: Դա վերածվեց սրա: HC-05 մոդուլները միացնում են սերիալն ու Blu
DIY սերիական գծի կոդավորման փոխարկիչներ. 15 քայլ
DIY սերիական գծի կոդավորման փոխարկիչներ. Սերիական տվյալների հաղորդումը դարձել է ամենուրեք բազմաթիվ արդյունաբերական ծրագրերում, և կան մի քանի մոտեցումներ `սերիական տվյալների հաղորդման ցանկացած միջերես նախագծելու համար: Հարմար է օգտագործել ստանդարտ արձանագրություններից մեկը ՝ UART, I2C կամ SPI: Հավելյալ
Arduino սերիական հաղորդակցություն. 5 քայլ
Arduino սերիական հաղորդակցություն. Arduino- ի շատ նախագծեր հիմնված են մի քանի Arduinos- ի միջև տվյալների փոխանցման վրա: Անկախ նրանից, թե դուք հոբբիստ եք, ով կառուցում է RC մեքենա, RC ինքնաթիռ, կամ հեռակառավարվող էկրանով եղանակային կայան է նախագծում, դուք պետք է իմանաք, թե ինչպես կարելի է հուսալիորեն: սերիայի փոխանցում
Առանձին Arduino 3.3V W / արտաքին 8 ՄՀց ժամացույց, որը ծրագրավորվում է Arduino- ից Uno ICSP / ISP- ի միջոցով (սերիական մոնիտորինգով): 4 քայլ
Առանձին Arduino 3.3V W / արտաքին 8 ՄՀց ժամացույց, որը ծրագրավորվում է Arduino- ից Uno ICSP / ISP- ի միջոցով (սերիական մոնիտորինգով). Նպատակներ. Ստեղծել ինքնուրույն Arduino, որն աշխատում է 3.3 Վ -ով 8 ՄՀց արտաքին ժամացույցից: ISրագրավորել այն ISP- ի միջոցով (նաև հայտնի է որպես ICSP, միացված սերիական ծրագրավորում) Arduino Uno- ից (աշխատում է 5 Վ-ով) Բեռնիչ ֆայլը խմբագրելու և այրելու համար
Քայլ Servo շարժիչը սերիական հսկողության միջոցով Arduino- ի միջոցով օգտագործելով 3D տպիչ - Pt4: 8 քայլ
Arduino- ի միջոցով եռաչափ տպիչի միջոցով Step Servo Motor- ի սերիական կառավարում - Pt4. Motor Step շարքի այս չորրորդ տեսանյութում մենք կօգտագործենք այն, ինչ սովորել էինք նախկինում սերիական հաղորդակցության և իրական վերահսկողության միջոցով stepper servo շարժիչ կառուցելու համար: դիրքի հետադարձ կապ ՝ օգտագործելով դիմադրիչ կոդավորիչ, որը վերահսկվում է Arduino- ի կողմից: