فهرست مطالب:
- مرحله 1: مکان آموزش تغییر کرد
- مرحله 2: ساخت ربات دیفرانسیل SnappyXO
- مرحله 3: دستگاه الکترونیک را وصل کنید
- مرحله 4: PreciseMovement Arduino Library را نصب کنید
- مرحله 5: کد
- مرحله 6: چگونه کار می کند
تصویری: ربات حرکت دهنده دقیق SnappyXO: 6 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:56
با استفاده از کتابخانه PreciseMovement Arduino ، ربات آردوینو خود را با مسافت مشخص مستقیم حرکت دهید یا به زاویه مشخص بپیچید.
این ربات به یک کاستور توپ نورد یا معادل آن احتیاج دارد تا اصطکاک را هنگام چرخاندن به حداقل برساند.
www.pololu.com/product/954
می توانید به ربات بگویید که با فاصله مشخص جلو برود یا با زاویه مشخص بچرخد. برنامه موقعیت خود را با استفاده از حساب مرده تعیین می کند. از آنجا که برآورد موقعیت تنها بر سرعت چرخ متکی است ، لغزش خطای قابل توجهی را ایجاد می کند. طراح روبات باید مراقب باشد تا خطر سر خوردن را به حداقل برساند.
این مورد برای کار با ربات SnappyXO آزمایش شده است.
مرحله 1: مکان آموزش تغییر کرد
آموزش به صفحه زیر منتقل شده است. این آموزش دیگر نگهداری نمی شود.
sites.google.com/stonybrook.edu/premo
مرحله 2: ساخت ربات دیفرانسیل SnappyXO
کتابخانه PreciseMovement که ما از آن استفاده خواهیم کرد فقط با روبات های دیفرانسیل درایو سازگار است. شما می توانید از روبات های 2 چرخ محرک دیگر استفاده کنید.
مرحله 3: دستگاه الکترونیک را وصل کنید
برای رمزگذار نوری استاندارد SnappyXO:
D0 (خروجی رمزگذار) -> پین دیجیتال Arduino
VCC -> آردوینو 5 ولت
GND -> GND
موتور و قدرت آردوینو:
منبع تغذیه موتور باید برای موتورهای مورد استفاده شما مناسب باشد. برای کیت SnappyXO ، باتری 4AA برای قدرت موتور و باتری 9V برای قدرت آردوینو استفاده می شود. اطمینان حاصل کنید که همه آنها GND مشترک دارند.
مرحله 4: PreciseMovement Arduino Library را نصب کنید
دانلود:
github.com/jaean123/PreciseMovement-library/releases
نحوه نصب کتابخانه آردوینو:
wiki.seeedstudio.com/How_to_install_Arduino_Library/
مرحله 5: کد
کد آردوینو:
create.arduino.cc/editor/hileloop/7a35299d-4e73-409d-9f39-2c517b3000d5/preview
این پارامترها نیاز به تنظیم دارند. سایر پارامترهای برچسب گذاری شده بر روی کد را می توان برای عملکرد بهتر تنظیم کرد.
- پین های موتور را در قسمت ARDUINO PINS بررسی و تنظیم کنید.
-
LENGTH و RADIUS را تنظیم کنید.
- LENGTH فاصله از چرخ چپ تا چرخ راست است.
- RADIUS شعاع چرخ است.
-
PULSES_PER_REV را تنظیم کنید ، که تعداد پالس های خروجی رمزگذار برای یک دور چرخ است.
- توجه داشته باشید این با تعداد پالس خروجی های رمزگذار برای یک دور محور موتور متفاوت است ، مگر اینکه رمزگذارها به طور مستقیم از محور چرخ بخوانند.
- PULSES_PER_REV = (پالس در هر دور محور موتور) x (نسبت دنده)
-
اگر مشاهده کردید که ربات پس از حرکت رو به جلو است ، STOP_LENGTH را تنظیم کنید.
وقتی موقعیت تخمینی STOP_LENGTH از هدف فاصله داشته باشد ، ربات متوقف می شود. بنابراین ، STOP_LENGTH ، فاصله تقریبی مورد نیاز برای توقف روبات است
-
پارامترهای PID
KP_FW: این جزء متناسب حرکت رو به جلو است. این را تا زمانی که ربات مستقیماً حرکت می کند افزایش دهید. اگر نمی توانید با تنظیم این کار مستقیماً پیش بروید ، سخت افزار به احتمال زیاد در اشتباه است. (به عنوان مثال ، نامناسب بودن چرخ ، و غیره)
KP_TW: این جزء متناسب PID حرکت پیچشی است. به سادگی از یک مقدار کم شروع کنید و این مقدار را افزایش دهید تا سرعت چرخش یا سرعت زاویه ای روبات در حین چرخش به اندازه کافی سریع باشد ، اما باعث افزایش بیش از حد نشود. برای انجام مشاهدات ، می توانید با قرار دادن موارد زیر در تابع حلقه ، ربات را از 0 تا 90 و عقب متناوب کنید
این را برای تنظیم KP_FW در حلقه قرار دهید:
mover.forward (99999)؛
این را به صورت متناوب از 0 تا 90 برای تنظیم KP_TW در حلقه قرار دهید:
mover.twist (90)؛ // پیچش 90 CW
تاخیر (2000) ؛
mover.twist (-90) // Twist 90 CCW
تاخیر (2000) ؛
توجه داشته باشید که برای چرخاندن سرعت زاویه ای در TARGET_TWIST_OMEGA ، KI_TW نیز باید تنظیم شود زیرا یک کنترل کننده متناسب هرگز به هدف دقیق متصل نمی شود. با این حال ، لازم نیست با آن سرعت دقیق زاویه ای بچرخید. سرعت زاویه ای فقط باید به اندازه کافی کند باشد.
مرحله 6: چگونه کار می کند
اگر درباره نحوه کار کنجکاو هستید ، ادامه مطلب را بخوانید.
حرکت رو به جلو با استفاده از الگوریتم تعقیب خالص در یک مسیر مستقیم مستقیم نگه داشته می شود. بیشتر در پیگیری خالص:
کنترل کننده PID پیچشی سعی می کند سرعت زاویه ای چرخش را در TARGET_TWIST_OMEGA حفظ کند. توجه داشته باشید که این سرعت زاویه ای سرعت زاویه ای کل ربات است نه چرخ ها. فقط یک کنترلر PID استفاده می شود و خروجی سرعت نوشتن PWM موتورهای چپ و راست است. محاسبه مرده برای محاسبه زاویه انجام می شود. هنگامی که زاویه به آستانه خطا می رسد ، ربات متوقف می شود.
توصیه شده:
ولت متر دقیق و دقیق آردوینو (0-90V DC): 3 مرحله
متر ولتاژ دقیق و دقیق آردوینو (0-90V DC): در این قسمت ، من یک ولت متر برای اندازه گیری ولتاژهای بالا DC (0-90v) با دقت و دقت نسبی با استفاده از آردوینو نانو ساخته ام. اندازه گیری های آزمایشی که من انجام دادم به اندازه کافی دقیق بود ، بیشتر در 0.3 ولت از ولتاژ واقعی اندازه گیری شده با
ربات شادی (Robô Da Alegria) - ربات منبع باز 3D چاپ شده ، ربات Arduino !: 18 مرحله (همراه با تصاویر)
ربات شادی (Robô Da Alegria) - ربات منبع باز سه بعدی ، ربات قدرتمند Arduino!: جایزه اول در مسابقه چرخ های دستورالعمل ، جایزه دوم در مسابقه دستورالعمل های آردوینو و دومین مسابقه در طراحی برای کودکان. با تشکر از همه کسانی که به ما رای دادند! روبات ها به همه جا می رسند. از کاربردهای صنعتی تا
ربات آردوینو با فاصله ، جهت و درجه چرخش (شرق ، غرب ، شمال ، جنوب) کنترل صدا با استفاده از ماژول بلوتوث و حرکت ربات خودکار: 6 مرحله
ربات آردوینو با فاصله ، جهت و درجه چرخش (شرق ، غرب ، شمال ، جنوب) کنترل صدا با استفاده از ماژول بلوتوث و حرکت ربات خودکار: این دستورالعمل نحوه ساخت ربات آردوینو را که می تواند در جهت مورد نیاز حرکت کند (جلو ، عقب) توضیح می دهد. ، چپ ، راست ، شرق ، غرب ، شمال ، جنوب) با استفاده از فرمان صوتی فاصله در سانتیمتر لازم است. همچنین می توان ربات را به صورت خودکار جابجا کرد
ربات متعادل کننده / ربات 3 چرخ / ربات STEM: 8 مرحله
ربات متعادل کننده / ربات 3 چرخ / ربات STEM: ما یک ربات متعادل کننده و 3 چرخ ترکیبی برای استفاده آموزشی در مدارس و برنامه های آموزشی بعد از مدرسه ساخته ایم. این ربات بر اساس Arduino Uno ، یک سپر سفارشی (تمام جزئیات ساخت ارائه شده است) ، یک باتری لیتیوم یون (همه ساخت
[ربات آردوینو] چگونه می توان یک ربات ضبط حرکتی ساخت - ربات انگشت شست - سرو موتور - کد منبع: 26 مرحله (همراه با تصاویر)
[ربات آردوینو] چگونه می توان یک ربات ضبط حرکتی ساخت | ربات انگشت شست | سرو موتور | کد منبع: ربات انگشت شست از پتانسیومتر سروو موتور MG90S استفاده شده است. بسیار سرگرم کننده و آسان است! کد بسیار ساده است. فقط در حدود 30 خط است. به نظر می رسد یک حرکت ضبط است. لطفاً هر گونه سوال یا بازخوردی بگذارید! [دستورالعمل] کد منبع https: //github.c