Open MicroManipulator – یک پلت فرم کنترل حرکت سه بعدی زیر میکرومتری
آدرس مقاله: https://github.com/0x23/MicroManipulatorStepper آدرس نظرات: https://news.ycombinator.com/item?id=50140001 امتیاز: 168 # نظرات: 13
این پروژه شامل یک پلت فرم کنترل حرکت موتوری XYZ Micro-Manipulator با ساخت آسان کم هزینه و منبع باز است که به دقت زیر میکرونی دست می یابد. این برای کاربردهایی مانند تراز نوری، کاوشگر قطعات الکترونیکی و میکروسکوپ طراحی شده است.
برای اطلاعات بیشتر در مورد دستگاه و نحوه ساخت آن، ویدیوی YouTube را بررسی کنید: یک Micro-Manipulator XYZ موتوریزه منبع باز - کنترل حرکت زیر میکرومتر مقرون به صرفه
به لطف ساختار موازی سینماتیک و اتصالات توپ مینیاتوری، سفتی مکانیکی خوب و دامنه حرکتی زیادی را به دست می آورد. موتورها خارج از موتورهای پله ای قفسه ای هستند که توسط یک کنترل کننده حلقه بسته 30 کیلوهرتز و یک سیگنال PWM بسیار دقیق هدایت می شوند. رویکرد «دندههای مغناطیسی» وضوح رمزگذارهای چرخشی مغناطیسی ارزانقیمت را تا ضریب 30 افزایش میدهد و اجازه میدهد تا 50 نانومتر گام بردارند.
دستگاه را می توان از طریق دستورات ساده G-Code از طریق یک رابط سریال USB کنترل کرد و بنابراین به راحتی در پروژه های دیگر ادغام می شود. این سیستم عامل یک پشته برنامه ریزی حرکتی کامل با نگاه به جلو را برای قابلیت های مسیر صاف و دقیق پیاده سازی می کند.
در زیر لیستی از مراحل سطح بالایی وجود دارد که می توانید در صورت تمایل به تکرار پروژه، آنها را دنبال کنید. اگر سؤال یا مشکلی در مورد ساخت دارید یا فقط می خواهید در مورد موضوعات مرتبط با پروژه بحث کنید، با انجمن پروژه Discord Server همکاری کنید.
همچنین راهنمای نصب دستگاههای جدید را بررسی کنید: راهنمای راهاندازی
نسخه جدیدی از سخت افزار منتشر شده است که چندین مشکل مربوط به طراحی قبلی را برطرف می کند:
ویدئویی در مورد فرآیند تولید اتصالات و اتصال توپ بهبود یافته را میتوانید در YouTube پیدا کنید: اتصالات توپی بهتر برای Open Micro-Manipulator همچنین مدل FreeCAD بازسازی و بهبود یافته است و اکنون شامل تمام پینها و بستها میشود. اکنون مرجعی برای تمام قطعات مکانیکی مورد نیاز ارائه می دهد.
برای آسان و راحت کردن تست و استفاده از Open-Micro Manipulator، یک برنامه کنترل پایتون با یک رابط کاربری گرافیکی در اینجا ارائه شده است: Open Micro-Manipulator GUI. دارای کنترلهای سادهای برای حرکت دادن دستگاه به اطراف، در عین حال نشان دادن فید دوربین زنده (به عنوان مثال از دوربین میکروسکوپ). ویژگیهای اضافی، شامل اجرای ساده کد g و کنترل ماوس بیدرنگ (مثلا برای برنامههای زیستشناسی) است.
API سبک وزن Python تمام ارتباطات سریال را مدیریت می کند و اجرای دستورات راحت و چاپ پیام اشکال زدایی را فراهم می کند. این رابط شامل عملکردهایی برای خانه، جابجایی، و کالیبره کردن دستگاه، و همچنین جستجوی اطلاعات دستگاه است. به سادگی فایل open_micro_stage_api.py را در پروژه خود کپی کنید (همچنین وابستگی ها را در requirement.txt نصب کنید)، و آماده شروع کار هستید.
Firmware 1.0.4 با بسیاری از بهبودها و رفع اشکالات کوچکتر و همچنین یک ویژگی جدید عالی ارائه می شود:
ابزارها: استفاده از ابزار (مثلا برای حکاکی لیزری) اکنون روی دو پین GPIO J5 روی PCB پشتیبانی میشود. ابزارها در برنامه ریز ادغام می شوند و هنگام اجرای g-code سریع و با زمان بندی صحیح اجرا می شوند. این ابزارها از PWM پشتیبانی می کنند (با استفاده از ویژگی PIO برای فشرده کردن کانال های اضافی بدون تکیه بر نرم افزار PWM).
کالیبراسیون: اکنون کالیبراسیون دارای برخی بررسیهای خطای اضافی برای بهبود گزارش خطای مشکلات احتمالی مانند تراز کردن رمزگذار است.
پارامتر مدل سینماتیک: کد اولیه پاکسازی شده و نظرات بهتری به پارامترها اضافه شده است. پارامترها برای HW v4.0 از پیش تنظیم شدهاند، اما در صورت لزوم میتوانید به پارامترهای قدیمی HW-v3.0 برگردید.
مهم: اگر نسخه سختافزار نسخه 3.0 دارید، باید به پارامترهای سینماتیک قدیمی در فایل kinematic_model_delta3d.cpp برگردید (یک #define برای آن در بالا وجود دارد).
این به روز رسانی کالیبراسیون، هومینگ، ورود به سیستم را بهبود می بخشد و چندین دستور جدید G-Code را اضافه می کند.
همه مدلهای CAD در FreeCAD ساخته شدهاند تا به همه اجازه دهند بدون اشتراک یا پرداخت هزینه برای راهحل اختصاصی CAD، طرح را مشاهده و اصلاح کنند. توجه داشته باشید که اکثر اجزا از قبل با این هدف طراحی شدهاند که به راحتی در آسیاب CNC 3 محوره قابل ماشینکاری باشند. شما همچنین می توانید قطعات را به صورت سه بعدی پرینت کنید اما باید با رانش حرارتی زندگی کنید (رشته های پر از کربن می توانند این مشکل را کاهش دهند).
فایلهای CAD را میتوانید در اینجا پیدا کنید: مدلهای CAD. لطفا توجه داشته باشید که FreeCAD نسخه 1.2.0dev استفاده شده است و ممکن است فایل ها با نسخه های قدیمی تر کار نکنند.
فایل های STL برای چاپ را می توانید در اینجا پیدا کنید: فایل های STL
مدل سینماتیکی در اینجا تعریف می شود: kinematic_model_delta3d.cpp. لطفا ابعاد ساخت خود را در برابر مقادیر تنظیم شده در سازنده بررسی کنید. به ویژه، مطمئن شوید که طول بازو مطابقت داشته باشد.
مهم: اگر نسخه PCB نسخه 1.2 را ساخته اید (به برچسب نسخه روی برد مراجعه کنید) باید از طریق دیود D1 یک قطعه نابجا را سوراخ کنید که ریل 5 ولت را به زمین متصل می کند (تصویر تعمیر را ببینید). مشکل در نسخه 1.3 برطرف شد.
لوازم الکترونیکی در KiCAD طراحی شدهاند و فقط ماژولهای معمولی (درایورهای موتور و بردهای MCU) استفاده میشوند و توسط یک PCB ساده به هم متصل میشوند. هیچ لحیم کاری SMD برای پر کردن برد برای دسترسی بیشتر به ساخت مورد نیاز نیست. برای مقاومت سیم پیچ معمولی موتورهای شما، دستگاه باید با $${\color{سبز روشن} 5V-6V }$$ (2A) تغذیه شود تا جریان و گرمایش را در حد معقولی نگه دارد.
مخزن اکنون حاوی فایلهای ساختی است که میتوانند مستقیما در سازنده PCB آپلود شوند.
سیستم عامل به زبان C++ نوشته شده است و از پروژه SimpleFOC الهام گرفته است. هدف آن این است که با تمرکز بر سخت افزار مورد استفاده در این پروژه، ساده و قابل خواندن بدون هیچ سر و صدا اضافی باشد. این برنامهریزی مسیر را با نگاه به جلو اجرا میکند و برخلاف بسیاری از پروژههای کنترلکننده حرکت دیگر، از درونیابی و برنامهریزی واقعی 6DOF-Pose پشتیبانی میکند و آن را برای راندن سکوهای حرکتی ششپایه آماده میکند. که ممکن است گام بعدی برای این پروژه باشد یا نباشد.
ممکن است پیکربندی شماره پین، نوع موتور و سایر پارامترها را در hw_config.h بیابید. لطفا قبل از آپلود سیستم عامل آنها را بررسی کنید.
برای ساخت و فلش کردن سیستم عامل، Visual Studio Code (به صورت رایگان در ویندوز و لینوکس موجود است) توصیه می شود. افزونه PlatformIO را نصب کنید و پوشه سیستم عامل را باز کنید. اکنون می توانید سیستم عامل را مانند هر پروژه PlatformIO دیگری بسازید و فلش کنید.
سیستم عامل تنها از یک زیر مجموعه کوچک از دستورات G-Code که در زیر فهرست شده اند پشتیبانی می کند. هر فرمان با پاسخ ok یا خطا تأیید می شود.
اگر دستوری اطلاعات اضافی را ارائه دهد (به عنوان مثال، دستور دریافت موقعیت)، آن اطلاعات قبل از پیام ok برگردانده می شود. کلاینت باید قبل از ارسال دستور قبلی منتظر تاییدی از دستور قبلی باشد - در غیر این صورت، رفتار تعریف نشده است.
*نکته: پروتکل ارتباطی از بردارهای سه بعدی برای چرخش استفاده می کند. جهت نشان دهنده محور چرخش و طول بردار نشان دهنده زاویه چرخش حول محور است.
اگر مایل به حمایت از این پروژه هستید، موارد زیر را در نظر بگیرید:
متن اصلی (انگلیسی)
Open MicroManipulator – A sub-micrometer 3D motion control plattform
Article URL: https://github.com/0x23/MicroManipulatorStepper Comments URL: https://news.ycombinator.com/item?id=50140001 Points: 168 # Comments: 13