विषयसूची:

क्रमिक रूप से पैकेट भेजकर डायनामिक्सल १२ए को नियंत्रित करना: ५ कदम
क्रमिक रूप से पैकेट भेजकर डायनामिक्सल १२ए को नियंत्रित करना: ५ कदम

वीडियो: क्रमिक रूप से पैकेट भेजकर डायनामिक्सल १२ए को नियंत्रित करना: ५ कदम

वीडियो: क्रमिक रूप से पैकेट भेजकर डायनामिक्सल १२ए को नियंत्रित करना: ५ कदम
वीडियो: Bst Chapter 1 One Shot | Business Studies Class 12 Chapter 1 in Hindi | प्रबंध की प्रकृति एवं महत्व 2024, नवंबर
Anonim
क्रमिक रूप से पैकेट भेजकर डायनामिक्सल 12A को नियंत्रित करना
क्रमिक रूप से पैकेट भेजकर डायनामिक्सल 12A को नियंत्रित करना

डायनामिक्सल १२ए

चरण 1: आवश्यक घटक

हार्डवेयर:

1. डायनामिक्सल 12 ए या कोई डायनेमिक्सल मोटर

2. यूएसबी से डायनामिक्सल।

सॉफ्टवेयर:

1.रोबोटिस डायनामिक्सल विजार्ड।

2.पायथन --- सीरियल पैकेज स्थापित

चरण 2: डायनामिक्सल 12A का परिचय

डायनामिक्सल मोटर्स अत्यधिक सटीक हैं और ज्यादातर रोबोटिक्स में उपयोग की जाती हैं। प्रत्येक डायनामिक्सल मोटर के अंदर एसटीएम माइक्रोकंट्रोलर होता है। आप Dynamixels Motors से करंट टॉर्क, वोल्टेज, करंट ड्रॉ, टेम्परेचर, पोजीशन आदि पढ़ सकते हैं।

डायनामिक्सल 12ए के विनिर्देश:

ऑपरेटिंग वोल्टेज --12v

वजन--55g

अधिकतम वर्तमान --900mA

स्टाल टॉर्क--15.3 Kg.cm

चरण 3: डायनामिक्सल 12A. का संचार/नियंत्रण

  • डायनामिक्सल १२ए सामान्य सर्वो मोटर्स की तरह नहीं है जिसमें ३पिन जीएनडी, पीडब्लूएम, वीसीसी है, बिजली की आपूर्ति और पीडब्लूएम सिग्नल देते हैं और मोटर को नियंत्रित करते हैं।
  • हम हाफ डुप्लेक्स यूएआरटी संचार प्रोटोकॉल का उपयोग करके डायनामिक्सल मोटर्स को नियंत्रित कर सकते हैं।

हाफ डुप्लेक्स कम्युनिकेशन प्रोटोकॉल क्या है?

हाफ-डुप्लेक्स डेटा ट्रांसमिशन का मतलब है कि सिग्नल कैरियर पर डेटा दोनों दिशाओं में प्रसारित किया जा सकता है, लेकिन एक ही समय में नहीं।

अब हम डायनामिक्सल मोटर्स को नियंत्रित करने के लिए रोबोटिस से डायनामिक्स के लिए प्रोटोकॉल 1.0 के बारे में सीखते हैं।

  • आप अपने लैपटॉप/माइक्रोकंट्रोलर जैसे Arduino, r-pi, आदि से पैकेट भेजकर Dynamixel मोटर्स के साथ संचार कर सकते हैं, जो कि Dynamixel मोटर्स के अंदर मौजूद माइक्रोकंट्रोलर को है।
  • प्रत्येक डायनामिक्स में आईडी होती है जिसे संशोधित किया जा सकता है।
  • एक पैकेट और कुछ नहीं बल्कि बाइट्स का सेट है।

डायनामिक्सल प्रोटोकॉल 1.0 के मामले में आपके पास दो प्रकार के पैकेट होंगे

  • निर्देश पैकेट
  • स्थिति पैकेट

निर्देश पैकेट डिवाइस को भेजा गया कमांड डेटा है।

निर्देश पैकेट इस तरह दिखता है:

हैडर 1, हेडर 2, आईडी, लंबाई, निर्देश, परम 1… परम, एनचेकसम

0xFF, 0xFF, आईडी, लंबाई, निर्देश परम 1… परम, NCHKSUM

निर्देश बाइट बताता है कि क्या करना है, डेटा पढ़ना है या डायनामिक्सल मोटर को लिखना है।

एक डायनेमिक्स मोटर की नियंत्रण तालिका।- नियंत्रण तालिका एक संरचना है जिसमें स्थिति को संग्रहीत करने या डिवाइस को नियंत्रित करने के लिए कई डेटा फ़ील्ड होते हैं।

कंट्रोल टेबल हियर कंट्रोल टेबल रोबोटिस के बारे में और पढ़ें।

हम कंट्रोल टेबल में डेटा को उसके एड्रेस से एक्सेस कर सकते हैं और लिख भी सकते हैं।

चरण 4: डायनामिक्सल मोटर को लक्ष्य स्थिति लिखना

लक्ष्य की स्थिति लिखने के लिए निर्देश पैकेट

प्रत्येक पैकेट हेडर से शुरू होता है

H1 H2 आईडी लेन INST P1 P2 P3 CKSM

0xFF, 0xFF, 0x01, 0x05, 0x04, 0x1E, 0xF4, 0x01, 0xE2

LEN-निर्देश बाइट+p1+p2+p3+chk योग=5 बाइट्स

आईडी = डायनामिक्सल मोटर आईडी 1-आप रोबोटिस डायनामिक्सल विजार्ड सॉफ्टवेयर का उपयोग करके डायनामिक्सल आईडी सेट कर सकते हैं

INST=reg लिखना-निर्दिष्ट करना कि आप मोटर को लिख रहे हैं।

P1=डेटा का आरंभिक पता-नियंत्रण तालिका में लक्ष्य स्थिति का पता 30(हेक्साडेसिमल में 0x1E) है।

P2 = डेटा का निचला बाइट

P3 = डेटा का उच्च बाइट

चेकसम कैलकुलेशन की व्याख्या शीघ्र ही की जाएगी……………….

यदि आप USB2Dynamixel का उपयोग करके उपरोक्त पैकेट को Dynamixel सीरियल में भेजते हैं, तो डायनामिक्सल मोटर लक्ष्य स्थिति 500 पर सेट हो जाएगी।

चरण 5: पायथन कोड

#मधु द्वारा विकसित। 2019-07-19 को अंतिम अपडेट

आयात सीरियल

आयात समय

ser=serial. Serial('com36', '57142')

# तदनुसार कॉम पोर्ट बदलें, मेरी डायनेमिक्सल मोटर्स बॉड दर 57142 है, आप इसे डायनामिक्सल विज़ार्ड सॉफ़्टवेयर का उपयोग करके सेट कर सकते हैं।

जबकि(1):

gp1 = इनपुट ('ID1 लक्ष्य स्थिति दर्ज करें (0-1023)')

एल = जीपी 1 और 255 # कम बाइट

h=(gp1>>8)&255 #high बाइट

ली = [0xff, 0xff, 0x01, 0x05, 0x04, 0x1e, l1, h1]

#योग गणना की जांच करें

सीआरसी = योग (ली [२:])

Low1=crc और 255

चकसम = 255-निम्न1

li.append(chksum) #चेक योग जोड़ना

a=bytearray(li) #सूची को bytearray में बदलना

ser.write(a) # usb2dynamixels का उपयोग करके क्रमानुसार भेजें।

समय सो जाओ (0.5)

#पायथन आईडीई में कोड पेस्ट को कॉपी करें। पाइसरियल पैकेज स्थापित करें। USB2dynamixel के USB साइड को लैपटॉप के USB पोर्ट से और दूसरे सिरे को Dynamixel मोटर से कनेक्ट करें। USB2DYNAMIXEL को बाहरी 12v आपूर्ति दें।

कोड चलाएँ, लक्ष्य स्थिति मान दर्ज करें। मोटर चलाना देखें।

सिफारिश की: