جدول المحتويات:
- الخطوة 1: المكونات المطلوبة
- الخطوة 2: مقدمة إلى Dynamixel 12A
- الخطوة 3: الاتصال / التحكم في Dynamixel 12A
- الخطوة 4: كتابة Goal Position على Dynamixel Motor
- الخطوة 5: كود البايثون
فيديو: التحكم في Dynamixel 12A عن طريق إرسال الحزم بالتسلسل: 5 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:36
ديناميكسيل 12 أ
الخطوة 1: المكونات المطلوبة
المعدات:
1. Dynamixel 12A أو أي محرك Dynamixel
2. USB إلى Dynamixel.
البرمجيات:
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 محركات المؤازرة العادية التي تحتوي على 3pin GND و PWM و VCC ، وتوفر مصدر طاقة وإشارة PWM وتتحكم في المحرك.
- يمكننا التحكم في محركات Dynamixel باستخدام بروتوكول اتصال Half Duplex UART.
ما هو بروتوكول الاتصال أحادي الاتجاه؟
يعني نقل البيانات أحادي الاتجاه أنه يمكن نقل البيانات في كلا الاتجاهين على ناقل إشارة ، ولكن ليس في نفس الوقت.
نتعرف الآن على Protocol 1.0 لـ Dynamixels من Robotis للتحكم في محركات Dynamixel.
- يمكنك التواصل مع محركات Dynamixel عن طريق إرسال حزم من الكمبيوتر المحمول / المتحكم الدقيق مثل Arduino و r-pi وما إلى ذلك إلى وحدة التحكم الدقيقة الموجودة داخل محركات Dynamixel.
- كل Dynamixels لها معرفات يمكن تعديلها.
- الحزمة ليست سوى مجموعة البايت.
في حالة بروتوكول Dynamixel 1.0 ، سيكون لديك نوعان من الحزم
- حزم التعليمات
- حزم الحالة
حزمة التعليمات هي بيانات الأمر المرسلة إلى الجهاز.
تبدو حزمة التعليمات كما يلي:
Header1، Header2، ID، Length، Instruction، Param 1 … Param، NChecksum
0xFF ، 0xFF ، المعرف ، الطول ، معلمة التعليمات 1 … Param ، NCHKSUM
يخبرك بايت التعليمات ما يجب فعله ، سواء لقراءة البيانات أو الكتابة إلى محرك Dynamixel.
جدول التحكم في محرك DYNAMIXEL. - جدول التحكم عبارة عن هيكل يتكون من عدة حقول بيانات لتخزين الحالة أو للتحكم في الجهاز.
اقرأ المزيد عن جدول التحكم هنا
يمكننا الوصول إلى البيانات الموجودة في جدول التحكم من عنوانه ويمكننا أيضًا الكتابة.
الخطوة 4: كتابة Goal Position على 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 sum = 5 بايت
المعرف = معرف محرك Dynamixel 1 - يمكنك تعيين معرف Dynamixel باستخدام برنامج معالج robotis dynamixel
INST = reg write - تحديد ما إذا كنت تكتب إلى المحرك.
P1 = عنوان البداية للبيانات - في جدول التحكم موضع الهدف هو عنوان 30 (0x1E بالنظام الست عشري).
P2 = بايت أقل من البيانات
P3 = بايت أكبر من البيانات
سيتم شرح حساب المجموع الاختباري قريبًا …………………….
إذا قمت بإرسال الحزمة أعلاه إلى Dynamixel Serially باستخدام USB2Dynamixel ، فسيتم تعيين موضع هدف Dynamixel على 500.
الخطوة 5: كود البايثون
# تم تطويره بواسطة Madhu. آخر تحديث في 2019-07-19
استيراد المسلسل
وقت الاستيراد
ser = serial. Serial ('com36'، '57142')
#change com port وفقًا لذلك ، معدل الباود الخاص بمحركات dynamixel هو 57142 ، يمكنك ضبطه باستخدام برنامج Dynamixel wizard.
بينما (1):
gp1 = الإدخال ("أدخل موضع هدف ID1 (0-1023)")
l = gp1 & 255 # منخفض البايت
h = (gp1 >> 8) & 255 # ارتفاع البايت
li = [0xff ، 0xff ، 0x01 ، 0x05 ، 0x04 ، 0x1e ، l1 ، h1]
#check حساب المبلغ
crc = sum (li [2:])
low1 = crc & 255
chksum = 255-low1
li.append (chksum) # إضافة مبلغ الاختيار
a = bytearray (li) # تحويل القائمة إلى bytearray
ser.write (أ) # إرسال تسلسلي باستخدام usb2dynamixels.
وقت النوم (0.5)
# نسخ لصق الكود في Python IDE. قم بتثبيت الحزمة pyserial. قم بتوصيل جانب USB الخاص بـ USB2dynamixel بمنفذ USB بالكمبيوتر المحمول وطرف آخر بمحرك Dynamixel. امنح إمدادًا خارجيًا بجهد 12 فولت إلى USB2DYNAMIXEL.
شغّل الرمز ، أدخل قيمة موضع الهدف. انظر تشغيل المحرك.
موصى به:
شريط ليد RGB يتم التحكم به عن طريق التحكم عن بعد: 4 خطوات (مع صور)
شريط LED RGB يتم التحكم فيه عن طريق التحكم عن بعد: قم بإنشاء شريط LED خاص بك يتم التحكم فيه عن طريق التحكم عن بعد لإضاءة الغرفة الفردية! يتم التحكم في معظم شرائط rgb-led بواسطة جهاز تحكم عن بعد بالأشعة تحت الحمراء. لإيقاف تشغيله أو تشغيله أو تغيير اللون ، يجب عليك البقاء أمام جهاز الاستقبال. هذا ممل وليس إعادة
سيارة RC يتم التحكم فيها عن طريق البلوتوث مع التحكم في السرعة وقياس المسافة: 8 خطوات
سيارة RC يتم التحكم فيها عن طريق البلوتوث مع التحكم في السرعة وقياس المسافة: عندما كنت طفلاً ، كنت دائمًا مفتونًا بسيارات RC. في الوقت الحاضر ، يمكنك العثور على العديد من البرامج التعليمية لصنع سيارات RC رخيصة الثمن يتم التحكم فيها عن طريق البلوتوث بمساعدة Arduino. لنأخذ خطوة إلى الأمام ونستخدم معرفتنا العملية بالكينماتيكا لحساب
ساعة Arduino LCD كبيرة مع منبهين ومراقبة درجة الحرارة يتم التحكم فيها عن طريق جهاز التحكم عن بعد للتلفزيون IR: 5 خطوات
ساعة LCD كبيرة من Arduino مزودة بجهازي إنذار ومراقبة درجة الحرارة يتم التحكم فيها عن طريق جهاز التحكم عن بعد لتلفزيون الأشعة تحت الحمراء: كيفية بناء ساعة LCD قائمة على Arduino مع جهازي إنذار ومراقبة درجة الحرارة يتم التحكم فيها عن طريق جهاز التحكم عن بعد في التلفزيون IR
صندوق إضاءة الظل - التحكم عن طريق جهاز التحكم عن بعد بالأشعة تحت الحمراء مع Arduino: 8 خطوات (بالصور)
Shadow Light Box - التحكم عن طريق IR Remote مع Arduino: ستوجه هذه التعليمات كيفية صنع صندوق ضوء الظل لعيد الميلاد القادم. يمكنك تزيين غرفتك بنفسك ، أو صنعها لصديقك كهدية. يمكن لمربع الظل هذا أن يصنع أنواعًا مختلفة من الألوان عن طريق مزج الألوان باللون الأحمر والأزرق والأخضر
نظام الحضور عن طريق إرسال بيانات RFID إلى MySQL Server باستخدام Python مع Arduino: 6 خطوات
نظام الحضور عن طريق إرسال بيانات RFID إلى MySQL Server باستخدام Python مع Arduino: في هذا المشروع قمت بتوصيل RFID-RC522 مع arduino ثم أرسل بيانات RFID إلى قاعدة بيانات phpmyadmin. على عكس مشاريعنا السابقة ، لا نستخدم أي درع إيثرنت في هذه الحالة ، نحن هنا فقط نقرأ البيانات التسلسلية القادمة من ar