فهرست مطالب:
- مرحله 1: اجزای مورد نیاز
- مرحله 2: آشنایی با Dynamixel 12A
- مرحله 3: ارتباط/کنترل Dynamixel 12A
- مرحله 4: نوشتن موقعیت هدف برای Dynamixel Motor
- مرحله 5: کد PYTHON
تصویری: کنترل Dynamixel 12A با ارسال بسته ها به صورت سری: 5 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:52
DYNAMIXEL 12A
مرحله 1: اجزای مورد نیاز
سخت افزار:
1. Dynamixel 12A یا هر موتور Dynamixel
2. USB به Dynamixel
نرم افزار:
1. جادوگر Robotis Dynamixel.
2. پایتون --- بسته سریال نصب شده است
مرحله 2: آشنایی با Dynamixel 12A
موتورهای Dynamixel بسیار دقیق هستند و بیشتر در Robotics استفاده می شوند. هر موتور Dynamixel دارای میکروکنترلر STM در داخل است. شما می توانید گشتاور ، ولتاژ ، جریان ، دما ، موقعیت و غیره را از Dynamixels Motors بخوانید.
مشخصات Dynamixel 12A:
ولتاژ کار -12 ولت
وزن-55 گرم
حداکثر جریان -900mA
گشتاور استال-15.3 کیلوگرم بر سانتیمتر
مرحله 3: ارتباط/کنترل Dynamixel 12A
- Dynamixel 12A مانند سروو موتورهای معمولی نیست که دارای 3 پین GND ، PWM ، VCC هستند ، منبع تغذیه و سیگنال PWM می دهند و موتور را کنترل می کنند.
- ما می توانیم موتورهای Dynamixel را با استفاده از پروتکل ارتباطی Half Duplex UART کنترل کنیم.
پروتکل ارتباطی نیمه دو طرفه چیست؟
انتقال داده های نیمه دو طرفه به این معنی است که داده ها را می توان در هر دو جهت بر روی حامل سیگنال منتقل کرد ، اما نه به طور همزمان.
اکنون ما با پروتکل 1.0 برای Dynamixels از Robotis برای کنترل موتورهای Dynamixel آشنا می شویم.
- شما می توانید با ارسال بسته هایی از لپ تاپ/میکروکنترلر خود مانند Arduino ، r-pi و غیره به میکروکنترلرهای موجود در موتورهای Dynamixel با موتورهای Dynamixel ارتباط برقرار کنید.
- هر Dynamixels دارای شناسه قابل تغییر است.
- یک بسته چیزی نیست جز مجموعه ای از بایت ها.
شامل پروتکل Dynamixel 1.0 شما دو نوع بسته خواهید داشت
- بسته های آموزشی
- بسته های وضعیت
بسته دستورالعمل داده های فرمان ارسال شده به دستگاه است.
بسته آموزشی به این شکل است:
Header1، Header2، ID، Length، Instruction، Param 1… Param، NChecksum
0xFF ، 0xFF ، ID ، طول ، دستورالعمل Param 1… Param، NCHKSUM
بایت دستورالعمل می گوید که باید چه کار کرد ، آیا داده ها را بخوانیم یا در موتور Dynamixel بنویسیم.
جدول کنترل یک موتور DYNAMIXEL.-Table Control ساختاری است که از چندین فیلد داده برای ذخیره وضعیت یا کنترل دستگاه تشکیل شده است.
اطلاعات بیشتر در مورد جدول کنترل را اینجا بخوانید Control Table 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 sum = 5 بایت
ID = Dynamixel motor ID 1-شما می توانید شناسه دینامیکسل را با استفاده از نرم افزار wizard robotis dynamixel تنظیم کنید
INST = reg write-مشخص می کند که شما در حال نوشتن روی موتور هستید.
P1 = آدرس شروع داده ها-در جدول کنترل موقعیت هدف داشتن آدرس 30 (0x1E به صورت هگزادسیمال) است.
P2 = بایت داده کمتر است
P3 = بایت بیشتر داده
محاسبه جمع حساب به زودی توضیح داده می شود ………………….
اگر بسته فوق را با استفاده از USB2Dynamixel به Dynamixel Serially ارسال کنید ، موقعیت هدف موتور Dynamixel روی 500 تنظیم می شود.
مرحله 5: کد PYTHON
#توسعه یافته توسط Madhu. آخرین به روز رسانی در 2019-07-19
وارد کردن سریال
زمان واردات
ser = سریال. سریال ('com36'، '57142')
بر این اساس ، #پورت 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:])
low1 = crc & 255
chksum = 255-low1
li.append (chksum) #افزودن جمع چک
a = bytearray (li) #تبدیل لیست به bytearray
ser.write (a) #به صورت سری با استفاده از usb2dynamixels ارسال کنید.
زمان خواب (0.5)
#کد کد را در python IDE کپی کنید. بسته pyserial را نصب کنید. سمت USB usb2dynamixel را به پورت USB لپ تاپ و سر دیگر را به موتور Dynamixel وصل کنید. منبع تغذیه خارجی 12 ولت به USB2DYNAMIXEL بدهید.
کد را اجرا کنید ، مقدار موقعیت هدف را وارد کنید. موتور در حال حرکت را ببینید.
توصیه شده:
ارسال اس ام اس در صورت تشخیص دود (Arduino+GSM SIM900A: 5 مرحله
ارسال اس ام اس در صورت تشخیص دود (Arduino+GSM SIM900A: سلام به همه! در اولین دستورالعمل من یک زنگ گاز ایجاد می کنم که در صورت تشخیص آلودگی به کاربر پیام ارسال می کند. این یک نمونه اولیه ساده با استفاده از آردوینو ، ماژول GSM و الکتروشیمیایی خواهد بود سنسور دود. در آینده می توان آن را به
کودک من را نجات دهید: صندلی هوشمند که در صورت فراموش کردن کودک در ماشین پیام های متنی ارسال می کند: 8 مرحله
کودک من را ذخیره کنید: صندلی هوشمند که کودک را در ماشین فراموش می کند پیام های متنی می فرستد: این ماشین در اتومبیل نصب شده است و به لطف آشکارساز روی صندلی کودک ، در صورت دریافت ، به ما هشدار می دهد - از طریق پیام کوتاه یا تماس تلفنی - بدون آوردن کودک با ما
ESP8266 RGB LED STRIP WIFI کنترل - NODEMCU به عنوان یک کنترل از راه دور IR برای نوار LED کنترل شده بر روی Wifi - کنترل تلفن هوشمند RGB LED STRIP: 4 مرحله
ESP8266 RGB LED STRIP WIFI کنترل | NODEMCU به عنوان یک کنترل از راه دور IR برای نوار LED کنترل شده بر روی Wifi | RGB LED STRIP Smartphone Control: سلام بچه ها در این آموزش می آموزیم که چگونه از nodemcu یا esp8266 به عنوان ریموت IR برای کنترل نوار LED RGB استفاده کنید و Nodemcu توسط تلفن هوشمند از طریق وای فای کنترل می شود. بنابراین اساساً می توانید RGB LED STRIP را با تلفن هوشمند خود کنترل کنید
نحوه اتصال باتری لیتیوم یون به صورت موازی و سری .: 5 مرحله (همراه با تصاویر)
نحوه اتصال باتری Li Ion به صورت موازی و سری: آیا با شارژ باتری 2x3.7v متصل به sereis با مشکل روبرو هستید. راه حل ساده وجود دارد
نحوه بسته بندی بسته جراحی دامپزشکی: 18 مرحله
نحوه بسته بندی بسته جراحی دامپزشکی: نحوه تمیز کردن ، سازماندهی ، بسته بندی و عقیم سازی یک بسته جراحی اولیه برای استفاده در دامپزشکی