آموزش linux CNC – قسمت اول

آموزش linux CNC – قسمت اول

لینوکس CNC چیست و چرا شناختن آن مهم است ؟

به‌ احتمال زیاد اگر این مطلب رو می خونید با دستگاه‌های CNC آشنا هستید، شایدم تا حالا برای خودتان یه CNC کوچولو ساخته باشید، چه به‌ صورت پرینتر3D یا شاید هم سی‌ان‌سی لیزر یا فرز یا هر نوع دیگر ای، میدونیم که یک ماشین CNC نیاز داره به یک کنترلر، البته اکثر cnc های دست ساز از آردوینو برای اینکار استفاده می‌کنند و همین باعث محدود شدنشون میشه مثلاً کنترل اونها به صورت حلقه باز هست و اکثر اوقات باید حواسمون بهشون باشه که یه موقع خرابکاری نکنند، یا اینکه امکانات محدود و رابط کاربری ضعیفی دارند بخاطر توان پردازشییه پایینشون و … در این سری آموزش میخوایم نرم‌ افزار فوق العاده ای رو معرفی کنیم و باهاش کار کنیم که بسیار انعطاف‌ پذیر هست برای ساخت دستگاه‌هایcnc، اوپن سورس هست و میتونید هر جور که دوست دارید اون رو کانفیگ کنید، یه کانفیگ ساده برای اجرا روی یه دستگاه ضعیف با یه GUI ساده یا حتی بدون GUI یا یه کانفیگ شیک و پر امکانات روی یه سیستم قوی برای کنترل یه سی‌ان‌سی 9 محوره! با ما همراه باشید تا به بررسی این نرم‌ افزار فوق العاده بپردازیم.

نرم افزار LINUXCNC چیست؟

بزارید تا قبل از توضیح خود نرم‌ افزار با چند تا اصطلاح مهم آشنا بشویم.

نرم افزار CAD

اولین مرحله برای ساخت یک قطعه طراحی اون هست، این کار به کمک نرم‌ افزارهای CAD (computer-aided design) انجام میشه مثل solidWorks , Catia و … توی این نرم‌ افزارها قطعه‌ای که می‌خوایم تولید کنیم رو ابتدا طراحی می‌کنیم اینجا خیلی مهم نیست که این قطعه چطوری قراره ساخته بشه، حداقل به نرم‌ افزار CAD مربوط نیست و صرفاً شکل قطعه در اون طراحی می شود.

نرم افزار CAM

بعد از اینکه قطعه ما طراحی شد، نوبت به استفاده از نرم‌ افزارهای Computer-aided manufacturing (CAM) می رسه، توی این نرم‌ افزار مهم هست که این قطعه قرار هست به چه صورت و حتی توسط چه دستگاهی تولید بشه، معمولاً برای روش‌های ساخت مختلف نرم‌ افزارهای مشخصی استفاده میشند که طیف وسیعی از دستگاه‌ها رو پشتیبانی می‌کنند، به طور مثال اگر قرار هست با پرینتر 3d تولید بشه معمولاً از نرم‌ افزار Cura استفاده می‌کنند یا برای تولید توسط دستگاه‌های سی‌ان‌سی فرز یا تراش از نرم‌ افزار PowerMILL استفاده می‌کنند (حداقل توی ایران)، خروجی این نرم‌ افزارها یک فایل G-Code هست که متناسب با دستگاهی هست که قراره باهاش قطعه تولید بشه.

CNC Controller

قلب دستگاه های CNC قسمت Controller اونهاست که برخی جاها صرفا یک میکروکنترلر و یکسری درایور هست (مثل استفاده از آردوینو به کمک grbl ) و برخی جاهای دیگه از یک نرم افزار روی PC استفاده میشه مثل Mach3 یا linuxCNC خودمون که البته قابلیت اجرا روی سیستم های امبدد مثل رزبری پای و .. هم داره (چون لینوکس بیس هست) و برخی جاها هم از کنترلر های شرکت های بزرگ و معروف مثل کنترلر های شرکت siemens با نام SINUMERIK یا کنترلر های شرکت آمریکایی hass یا کنترلر های شرکت ژاپنی mitsubishi یا…، این کنترلر ها g-code ساخته شده توسط نرم افزار CAM رو پردازش میکنند و بر اون اساس حرکت دستگاه رو کنترل میکنند.

خب ، تا اینجای کار با مراحل تولید یک قطعه به صورت دقیق تر آشنا شدیم و فهمیدیم که LinuxCNC دقیقا کجای کار قرار داره ، در ادامه چندتا از ویژگی های اصلی این نرم افزار رو بررسی میکنیم:

  • پشتیبانی از ماشین های تا 9 درجه آزادی !
  • رابط های کاربری مختلف و کاربردی (که خودتون هم خیلی راحت میتونید براش بسازید) و رابط هایی که مخصوص صفحات لمسی طراحی شدند.
  • کنترل ماشین های مختلف مثل “پرینتر سه بعدی ، برش لیزر ، فرز ، بازوی رباتیک و ………. “
  • اجرا بر روی لینوکس (فقط لینوکس نه ویندوز یا چیز دیگه)
  • پشتیبانی از درگاه های ارتباطی مختلف مثل “LAN , parallel port , pci و …”
  • و مهم ترین ویژگی “اوپن سورس بودن” به همراه فروم های فعال

در اصل اینها کمی بود! وقتی واردش میشیم و می‌بینیم که چه راحت میتونیم برای خودمون شخصی سازیش بکنیم و چه امکانات و ویژگی های گسترده ای داره بیشتر بهش علاقه مند می‌شید.

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

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

برای اینکار میخوایم ابتدا با کمک LiveImage ی که برای این نرم افزار آماده شده پیش بریم و امکانات مختلفش رو به صورت عملی بررسی کنیم و کمی با شبیه سازش کار بکنیم

بعد از اون میخوایم سراغ راه اندازی یه CNC ساده و کنترلش با این نرم افزار بریم که به احتمال زیاد با یه 3d printer پیش میریم ، برای کنترلش هم در نظر داریم از یه برد Orange Pi 4 LTS استفاده کنیم که قیمت مناسب و سخت افزار قابل قبولی داره.

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

درباره نویسنده

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