فهرست مطالب:

ربات کنترل ارزان Arduino Combat Robot: 10 مرحله (همراه با تصاویر)
ربات کنترل ارزان Arduino Combat Robot: 10 مرحله (همراه با تصاویر)

تصویری: ربات کنترل ارزان Arduino Combat Robot: 10 مرحله (همراه با تصاویر)

تصویری: ربات کنترل ارزان Arduino Combat Robot: 10 مرحله (همراه با تصاویر)
تصویری: NOOBS PLAY CLASH ROYALE FROM START LIVE 2024, جولای
Anonim
کنترل ارزان روبات آردوینو رزمی
کنترل ارزان روبات آردوینو رزمی
کنترل ارزان روبات آردوینو رزمی
کنترل ارزان روبات آردوینو رزمی
کنترل ارزان روبات آردوینو رزمی
کنترل ارزان روبات آردوینو رزمی

تجدید حیات Battlebots در ایالت ها و Robot Wars در انگلستان عشق من به روباتیک رزمی را زنده کرد. بنابراین من یک گروه محلی از سازندگان ربات پیدا کردم و درست وارد آن شدم.

ما در مقیاس وزن مورچه های انگلستان (محدودیت وزنی 150 گرم) با هم مبارزه می کنیم و من به سرعت به روش سنتی ساخت ربات با تجهیزات RC پی بردم: یک فرستنده RC گران قیمت ، یک گیرنده حجیم یا گران قیمت و ESC (کنترل کننده های الکترونیکی سرعت) که جعبه های جادویی هستند. که می تواند جریان بیشتری از آنچه برای یک ربات با این اندازه لازم است کنترل کند.

با استفاده از آردوینو در گذشته ، می خواستم کارهای دیگری را انجام دهم و برای خودم یک سیستم آردوینو تعیین کنم که بتواند سیگنال قانونی مبارزه را دریافت کند و دو موتور درایو را با قیمت 5 دلار آمریکا (نیمی از هزینه ESC ارزان) کنترل کند.

برای کمک به دستیابی به این هدف ، من این ماشین RC را با دستورالعمل مجدد ترکیب کردم ، وزن/هزینه گیرنده را کاهش داد و 4 سیگنال PWM برای اجرای یک تراشه ارزان h-Bridge ایجاد کرد.

این دستورالعمل روی سیستم کنترل آردوینو متمرکز خواهد شد ، اما من اطلاعات بیشتری را برای کمک به افراد جدید در ساخت اولین ربات خود اضافه می کنم

سلب مسئولیت:

حتی در مقیاس کوچک ساختمان ربات رزمی/نبرد می تواند خطرناک باشد ، با مسئولیت خودتان اقدام کنید

مرحله 1: آنچه شما نیاز دارید

مواد:

برای سیستم کنترل:

  • 1x Arduino pro mini 5v (1.70 دلار آمریکا)
  • 1x ماژول nRF24L01 (1.14 دلار)
  • ماژول تنظیم کننده 1x 3.3v (0.32 دلار)
  • 1 برابر ماژول دو پل h* (0.90 دلار)

برای بقیه ربات های اصلی گوه:

  • 2 برابر موتورهای میکرو دنده ** (نسخه ارزان ، نسخه قابل اعتماد)
  • باتری 1x 2s لیتیوم پلیمر
  • 1 برابر شارژر بالانس
  • 1 بار کیف شارژ لیپو
  • سوئیچ 1x
  • 1 برابر اتصال باتری
  • سیم متفرقه (من از سیمهای بلوز آردوینو استفاده کردم
  • پیچ های کوچک
  • اپوکسی (اختیاری)
  • (اختیاری) آلومینیوم (از قوطی نوشابه)
  • (اختیاری) LED های اضافی

برای کنترلر اصلی:

  • 1x Arduino pro mini 5v
  • 1x ماژول nRF24L01
  • ماژول تنظیم کننده 1x 3.3v
  • 1 عدد آردوینو-جوی استیک

ابزارها:

  • پیچ گوشتی
  • آهن لحیم کاری
  • انبر
  • چاپگر سه بعدی (اختیاری است ، اما زندگی را آسان تر می کند)

*هنگامی که به ماژول های h-Bridge نگاه می کنید ، به دنبال یک ماژول با هر 4 ورودی سیگنال در کنار یکدیگر باشید ، این امر باعث می شود بعداً به Arduino متصل شوید

** گام نهایی را برای نکاتی در مورد انتخاب سرعت موتور بررسی کنید

مرحله 2: چاپ شاسی

چاپ شاسی
چاپ شاسی

قبل از شروع به کار با سیستم کنترل ، به طراحی ربات مورد نظر نگاه کنید. همیشه بهتر است یک ربات را از سلاح بیرون طراحی کنید. برای مبتدیان ، من پیشنهاد می کنم با یک گوه اصلی شروع کنید ، آنها به گونه ای طراحی شده اند که قوی هستند و حریفان را از راه دور بیرون می آورند ، به این معنی که در اولین نبرد خود احتمال نابودی شما کمتر است ، به علاوه هنگام رانندگی راحت تر می توانید احساس رانندگی کنید. نباید نگران سلاح فعال باشید.

من یک ربات گوه ای طراحی کرده ام: "کمی خام" که به صورت نبرد و زرهی و بدون زره آزمایش شده است. این اولین ربات خوب است ، چاپ آن آسان است و می تواند با 8 پیچ کنار هم قرار گیرد. برای داشتن طراحی برتر متفاوت ، آن را در Thingiverse بررسی کنید

اگر چاپگر سه بعدی ندارید ، یک کتابخانه محلی ، فضای هکر یا فضای سازنده را امتحان کنید

افزودن زره اضافی به راحتی می توانید از چاپگر استفاده کنید ، گوه و نوشابه را می توانید با کاغذ سنباده آلومینیومی کنید ، گرد و غبار سنباده را پاک کنید ، اپوکسی را روی پلاستیک و آلومینیوم بمالید ، با گیره یا نوار لاستیکی نگه دارید. به مدت 12-24 ساعت

من در حال حاضر یک طرح چرخ عمومی ندارم زیرا از لاستیک های لاستیکی از یک کیت آموزشی رباتیک روی قطعات چاپ سه بعدی استفاده می کنم. در هفته های آینده ، من هابی را طراحی خواهم کرد که از حلقه های O برای گرفتن استفاده می کند. پس از اتمام چرخ ها ، این صفحه و صفحه Thingiverse را به روز می کنم

مرحله 3: پل H را آماده کنید

پل H را آماده کنید
پل H را آماده کنید

درایورهای مختلف موتور h-Bridge در تنظیمات مختلف قرار می گیرند ، اما ماژول متصل شده در لیست اولیه دارای 2 بلوک ترمینال به عنوان خروجی است. این بلوک های ترمینال سنگین و حجیم هستند بنابراین بهتر است آنها را بردارید.

ساده ترین راه برای انجام این کار این است که هر دو پد را به طور همزمان با آهن لحیم کاری گرم کنید و بلوک ها را با دقت با یک انبردست بیرون بیاورید.

قبل از حرکت ، تصمیم بگیرید که آیا می خواهید بتوانید موتورهای نصب شده خود را تعویض کنید یا خیر. در این صورت ، کابل های بلوز آردوینو را می توان در خروجی ماژول لحیم کرد ، سپس کابل مقابل را می توان به موتور لحیم کرد و در صورت نیاز آنها را جدا کرد.

مرحله 4: سیم کشی ماژول ها

سیم کشی ماژول ها
سیم کشی ماژول ها
سیم کشی ماژول ها
سیم کشی ماژول ها
سیم کشی ماژول ها
سیم کشی ماژول ها

سیم کشی ماژول ها را می توان به 3 روش مختلف انجام داد ، به همین دلیل مرحله طراحی بسیار مهم است. انتخاب سلاح بر روی شکل ربات و انتخاب سیم کشی تأثیر می گذارد.

3 انتخاب عبارتند از:

  1. سیمهای سست (وزن سبک اما شکننده تر) (تصویر 1)
  2. تخته چوبی (سنگین تر از 1 اما قوی تر با رد پای بزرگتر) (تصویر 2)
  3. برد مدار سفارشی (سنگین تر از 1 اما قوی با رد پای کوچک) طراحی برد پیوست شده است (تصویر 3)

صرف نظر از انتخاب انجام شده ، اتصالات واقعی یکسان هستند.

اتصالات زیر را دوبار انجام دهید (یک بار برای کنترل کننده و یک بار برای گیرنده)

nRF24L01 (شماره گذاری پین تصویر 4 **):

  • پین 1 -> GND
  • پین 2 -> پین خارج از ماژول 3.3 ولت
  • پین 3 -> آردوینو پین 9
  • پین 4 -> پین 10 آردوینو
  • پین 5 -> پین 13 آردوینو
  • پین 6 -> پین 11 آردوینو
  • پین 7 -> پین 12 آردوینو

ماژول 3.3 ولت:

  • پین Vin -> Vcc*
  • پین خارج -> پین 2 nRF (مانند بالا)
  • پین GND -> GND

آردوینو:

  • پین های 9-13 -> مانند بالا به nRF وصل شوید
  • خام -> Vcc*
  • GND -> GND

اتصالات زیر را یکبار انجام دهید تا بین کنترلر و گیرنده تمایز قائل شوید

برای کنترل کننده:

جوی استیک:

  • +5 ولت -> آردوینو 5 ولت
  • vrx -> پین آردوینو A2
  • vry -> پین آردوینو A3
  • GND -> GND

برای گیرنده:

ماژول h-bridge:

  • Vcc -> Vcc*
  • B -IB -> پین آردوینو 2
  • B -IA -> پین آردوینو 3
  • A -IB -> پین آردوینو 4
  • A -IA -> پین آردوینو 5
  • GND -> GND

این کار با تعویض پین های Vcc و GND با سیم ، و سپس چرخاندن تخته به صورت وارونه و اتصال مستقیم پین ها به داخل آردوینو به آسانی انجام می شود ، این امر لحیم کاری را ساده کرده و یک سوار مطمئن برای درایور موتور ایجاد می کند.

*برای قانونی بودن یک ربات رزمی ، باید بین باتری و مدار یک نقطه ایزوله (کلید یا اتصال قابل جابجایی) اضافه شود. این بدان معنی است که مثبت باتری باید به یک سوئیچ و سپس سوئیچ به Vcc متصل شود

** تصویر از https://arduino-info.wikispaces.com/Nrf24L01-2.4GHz-HowTo که منبع خوبی برای ماژول nRF24L01 است

مرحله 5: راه اندازی کنترل کننده

راه اندازی کنترل کننده
راه اندازی کنترل کننده

هنگامی که همه چیز متصل می شود زمان آن برای برخی از کد است.

با شروع از کنترلر ، مقداری پتانسیومتر مورد نیاز است تا اطمینان حاصل شود که جوی استیک دقیق متصل شده با کد ارسال کننده کار می کند.

کد "joystickTestVals2" را بارگذاری کنید. این کد برای خواندن مقادیر پتانسیومتر و نمایش آنها از طریق سریال استفاده می شود

با اجرای کد و باز شدن پنجره سریال با نگاه کردن به مقدار "UP" ، جوی استیک را به حالت کاملا جلو بکشید ، مقدار "UP" احتمالاً بین چند عدد بزرگ پرش کرده و کوچکترین مقداری را که مشاهده می کنید انتخاب کنید. ، عدد 10 را از آن کم کنید (این امر باعث می شود تا با فشار دادن چوب تا انتها قدرت کامل به دست آید) و آن را به صورت "Up Max" بنویسید تا جوی استیک دوباره به مرکز باز شود. حالا بزرگترین مقداری را که می بینید انتخاب کنید ، 20 به آن اضافه کنید و آن را با عنوان "UpRestMax" بنویسید. با فشار دادن چوب به پایین و برعکس افزودن/تفریق ضبط مقادیر "UpMin" و "UpRestMin" ، روند را تکرار کنید

مجدداً کل مراحل را برای چپ و راست تکرار کنید ، با فشار دادن چوب به سمت راست ، ضبط "SideMax" سپس "SideRestMax" در صورت بازگشت به عقب و فشار دادن چپ برای ضبط "SideMin" و "SideRestMin"

این مقادیر بسیار مهم هستند ، به ویژه همه مقادیر حاوی کلمه "Rest". این مقادیر "منطقه مرده" را در مرکز چوب ایجاد می کند به طوری که وقتی ربات در مرکز استراحت می کند ربات حرکت نمی کند ، مطمئن شوید که وقتی چوب در مرکز قرار می گیرد مقادیر بین "restMin" و "restMax" قرار می گیرند. برای هر دو محور

مرحله 6: کد

کد
کد
کد
کد

کد داده شده همه چیز را برای یک wedge-bot اساسی با ساختار موجود انجام می دهد تا امکان ارسال مقدار pwm سلاح نیز وجود داشته باشد.

کتابخانه های مورد نیاز:

  • nRF24L01 کتابخانه از اینجا: GitHub
  • نرم افزار PWM از اینجا: کد Google

کنترل کننده خود را تنظیم کنید:

کد txMix را باز کرده و مقادیر محدوده stick را به مقادیری که در آخرین مرحله نوشتید تغییر دهید. این اطمینان می دهد که کد به درستی به جوی استیک شما واکنش نشان می دهد (تصویر 1)

سفارشی کردن لوله:

برای اطمینان از عدم مداخله شما در رویداد خود ، باید لوله رادیویی را عوض کنید. این در واقع یک شناسه است و گیرنده فقط روی سیگنال های لوله صحیح عمل می کند ، بنابراین مطمئن شوید که لوله را در هر دو کد به یک چیز تغییر دهید.

در تصویر 2 رقم هگز لوله مشخص شده است. این دو رقمی است که باید برای سفارشی سازی لوله تغییر کند. "E1" را به هر دو عدد شش رقمی دیگر تغییر دهید و آن را بنویسید تا بتوانید به راحتی آن را در برابر لوله های حریف در یک رویداد بررسی کنید

بارگذاری:

  • txMix را به کنترلر اضافه کنید
  • دریافت به ماژول گیرنده

اجرا کردن کد:

txMix:

کد در موقعیت جوی استیک به عنوان یک مقدار "UP" و یک مقدار "side" خوانده می شود. این مقادیر بر اساس حداکثر مقدار ارائه شده محدود می شوند تا اطمینان حاصل شود که قدرت کامل در حداکثر موقعیت چوب داده می شود.

این مقادیر سپس بررسی می شوند تا اطمینان حاصل شود که چوب از موقعیت خنثی خارج شده است ، در صورت عدم صفر بودن ارسال می شود.

سپس مقادیر به صورت جداگانه به دو متغیر مخلوط می شوند ، یکی برای سرعت موتور چپ و دیگری برای سرعت موتور راست. در این متغیرها از مقدار منفی برای نشان دادن موتور در حال حرکت به عقب استفاده می شود زیرا اختلاط را ساده می کند.

مقادیر سرعت چپ و راست به چهار مقدار pwm تقسیم می شوند ، یکی برای هر کدام: موتور راست به جلو ، موتور چپ به جلو ، موتور راست به عقب ، موتور چپ به عقب.

سپس چهار مقدار pwm به گیرنده ارسال می شود.

دريافت كردن:

به سادگی سیگنال ها را از کنترل کننده دریافت می کند ، بررسی می کند که سیگنال دارای مقادیر pwm برای جلو و عقب در یک موتور واحد نیست و سپس pwm را اعمال می کند.

در صورت عدم دریافت سیگنال از کنترلر ، گیرنده قادر به خاموش شدن موتورها نیست

مرحله 7: پیچ و مهره آن همه Togheter

Bolting It All Togheter
Bolting It All Togheter
Bolting It All Togheter
Bolting It All Togheter
Bolting It All Togheter
Bolting It All Togheter

اتصالات را به موتورها لحیم کنید یا موتورها را مستقیماً به پل h لحیم کنید. (من کانکتورها را ترجیح می دهم تا بتوانم در صورتی که موتورها را به اشتباه وصل کرده باشم به سادگی شاخه ها را عوض کنم)

سیم مثبت را از اتصال باتری به پین وسط سوئیچ و یکی از پایه های بیرونی سوئیچ را به Vcc ماژول های متصل شده لحیم کنید.

سربی منفی اتصال باتری را به GND ماژول های متصل شده لحیم کنید.

(اختیاری) LED های اضافی را بین Vcc و GND اضافه کنید. همه روبات های رزمی به چراغی نیاز دارند که در حالی که سیستم قدرت دارد روشن باشد ، بسته به قطعاتی که این سیستم در آردوینو ، ماژول 3.3v و h-bridge دارد ، مادامی که حداقل یکی از آنها از خارج قابل مشاهده باشد. bot این قانون رعایت شده است از LED های اضافی می توان برای اطمینان از رعایت این قانون و سفارشی کردن ظاهر استفاده کرد

اندکی خام به آسانی پیچیده می شود ، ابتدا موتور را در جای خود محکم کنید ، قطعات الکترونیکی را اضافه کنید ، سپس درپوش را در جای خود بچسبانید ، مقدار کمی مخمل چسبنده کمک می کند تا سوئیچ روی درب نگه داشته شود.

کنترل کننده برای طراحی و چاپ با شماست. برای آزمایش ، من از کنترلر متصل استفاده کرده ام که از کنترلر BB8 V3 جیمز بروتون تغییر یافته است

مرحله 8: یک کلمه در مورد قوانین رزمی ربات

یک کلمه در مورد قوانین مبارزه با ربات
یک کلمه در مورد قوانین مبارزه با ربات

کشورها ، ایالت ها و گروه های مختلف رویدادهای رزمی روبات ها را با قوانین مختلف اجرا می کنند.

من این سیستم را ایجاد کرده ام و می توانم آن را تا آنجا که ممکن است کلی بنویسم در حالی که به قوانین اصلی مربوط به سیستم های RC (به ویژه سیستم باید 2.4 گیگاهرتز دیجیتال و دارای نقطه جداسازی باتری باشد) استفاده کنم. برای اجرای این سیستم و یا طراحی اولین ربات خود ، بهتر است با گروه محلی خود تماس بگیرید و یک کپی از قوانین آنها را دریافت کنید.

قواعدی که گروه محلی شما اجرا می کند مطلق است ، از قول من در مورد این دستورالعمل درباره قوانین گروه خود استفاده نکنید.

از آنجا که این سیستم آردوینو برای جامعه جدید است ، به احتمال زیاد از شما خواسته می شود قبل از استفاده از آن در رویداد ، آن را آزمایش کنید. من بارها و بارها این سیستم را در برابر تجهیزات استاندارد RC و در برابر خود بدون هیچ گونه دخالت آزمایش کرده ام ، بنابراین باید در هر آزمایشی قبول شود ، با این حال ، برگزارکنندگان رویداد محلی شما آخرین حرف را می زنند ، به تصمیم خود احترام بگذارید. اگر آنها استفاده از آن را رد کردند ، بپرسید آیا ربات وام وجود دارد که می توانید با آن مبارزه کنید یا توضیح دهید که چرا رد شده است و سعی کنید مشکل را برای رویداد بعدی برطرف کنید.

مرحله 9: اطلاعات اضافی در مورد موتورها

اطلاعات اضافی در مورد موتور
اطلاعات اضافی در مورد موتور

موتورهای چرخ دنده ای که در کلاس مورچه ها استفاده می شوند دارای طیف وسیعی از سرعت ها هستند و یا با استفاده از RPM یا نسبت Gear مشخص می شوند. در زیر یک تبدیل خشن است.

اکثر ربات ها از موتورهای بین 75: 1 و 30: 1 استفاده می کنند (به استثنای موارد 10: 1). ربات هایی که دارای سلاح های چرخان بزرگ هستند می توانند از موتورهای 75: 1 کندتر سود ببرند زیرا سرعت کندتر امکان کنترل بیشتر را می دهد. گوه های آسان ، آسانسورها و تلنگرها در 30: 1 در دستان یک راننده ماهر بهتر است. من برای عادت به سیستم و رانندگی ، موتورهای 50: 1 را به صورت گوه ای برای اولین دعوا توصیه می کنم

  • 12V 2000 دور در دقیقه (یا 6V 1000 دور در دقیقه) -> 30: 1
  • 6V 300 دور در دقیقه -> 50: 1

مرحله 10: به روز رسانی و بهبود

چند سالی است که من این "ible" را ارسال کرده ام و چیزهای زیادی در مورد این سیستم آموخته ام ، بنابراین زمان آن رسیده است که آنها را در اینجا به روز کنم. مهمترین چیز انتخاب جزء است ، اجزای اصلی نسبتاً خوب کار می کردند ، اما گاهی اوقات در هنگام مبارزه شکست می خوردند. دو عامل اصلی H-Bridge و ماژول nrf24l01 هستند ، زیرا من ارزان ترین قطعاتی را که می توانستم پیدا کنم انتخاب کردم. این موارد را می توان با موارد زیر برطرف کرد:

  • ارتقاء پل 0.5A H به پل 1.5A H ، مانند این: پل 1.5A H
  • ارتقاء ماژول nrf24l01 به یک طرح کاملاً SMD: NRF24l01 هوشمند را باز کنید

همراه با ارتقاء اجزای جدید ، چند PCB جدید طراحی کرده ام که به جمع و جور RX و افزودن ویژگی های بیشتر به TX کمک می کند.

برخی تغییرات کد نیز در راه است ، پس منتظر آن باشید

توصیه شده: