رباتیک و مکاترونیک, آموزش, آموزش linux CNC, توصیه شده, دستگاه cnc

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

آموزش LinuxCNC

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

شاید برای شما مفید باشد: آموزش امبدد لینوکس از 0 تا 100

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

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

نرم افزار CAD

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

نرم افزار CAD

نرم افزار CAM

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

نرم افزار CAM

CNC Controller

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

کنترلرCNC

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

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

شاید برای شما مفید باشد: آموزش رزبری پای از مقدماتی تا پیشرفته

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

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

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

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

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

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

انتشار مطالب با ذکر نام و آدرس وب سایت سیسوگ، بلامانع است.

شما نیز میتوانید یکی از نویسندگان سیسوگ باشید.   همکاری با سیسوگ

51 دیدگاه در “آموزش linux CNC – قسمت اول – لینوکس CNC چیست و چرا شناختن آن مهم است ؟

  1. Avatar for عرفان عرفان گفت:

    Shild cnc v3 /v4 برای کار خوبه؟

  2. Avatar for علیرضا علیرضا گفت:

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

    1. Avatar for Mahdi.h   Mahdi.h   گفت:

      سلام. ممنون از شما . حتما ادامه داده میشه

  3. Avatar for سید احسان رسولی سید احسان رسولی گفت:

    عالی

  4. Avatar for مهدی قدبیگی مهدی قدبیگی گفت:

    عالی ادامه بدین

  5. Avatar for مهدی مهدی گفت:

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

    1. Avatar for Mahdi.h   Mahdi.h   گفت:

      چی اقتصادی نیست ؟
      استفاده از خود لینوکس cnc یا سخت افزارهاش ؟
      مطمئنا برای اینجور پروژه ها از سخت افزار های ارزان قیمت هم میشه استفاده کرد
      ما هم یه اطلاعاتی در مورد اون شرکتا داریم
      اما این سری مطالب آماده شده تا همه بتونند به کمکش به یه نون و نوایی برسه 🙂

  6. Avatar for جمشید جمشید گفت:

    خیلی جالب بود . ممنون

    1. Avatar for Mahdi.h   Mahdi.h   گفت:

      خواهش میکنم 🙂

  7. Avatar for سینا عباسی سینا عباسی گفت:

    درود بر شما
    خیلی خوب این اموزش رو ادامه بدید در کنارش فیلم بسازید و تولید محتوا بصورت کاملا پارسی باشه
    خیلی ساده و کاربردی باشه مثلا منه مخاطب شما فنی حرفه درس خوندم ولی تو ۲یال مرونا هیچی یاد نگرفتم چیزی که میدونم فقط در حد تئوری هست
    شب رفتم خونه قسمت دوم هم میخونم

    1. Avatar for Mahdi.h   Mahdi.h   گفت:

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

  8. Avatar for Radmehr Radmehr گفت:

    سلام خیلی مبحث جذابه لطفا در کنار آموزش داکیومنت های جانبی هم قرار بدید یا مراجع مرتبط معرفی کنید

    1. Avatar for Mahdi.h   Mahdi.h   گفت:

      بهترین و تقریبا تنها جایی که اطلاعات کامل در موردش هست داکیومنت های خودشه
      http://linuxcnc.org/docs/stable/html/

  9. Avatar for امین امین گفت:

    خیلی عالیه لطفا ادامه بدید

    1. Avatar for Mahdi.h   Mahdi.h   گفت:

      ممنون از شما
      بله حتما

  10. Avatar for علیرضا علیرضا گفت:

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

    1. Avatar for Mahdi.h   Mahdi.h   گفت:

      سلام
      بله حتما ادامش میدیم

    2. Avatar for علیرضا علیرضا گفت:

      سلام
      لینک پلاتر سه محوره که هفت سال پیش با آردینو ساخته بودم.

      https://www.aparat.com/v/YpgJh

      این سیستم با کامپیوتر معمولی کنترل میشد و هر فایل gcode که میدادی پلات میکرد.

      1. Avatar for Mahdi.h   Mahdi.h   گفت:

        خیلی عالی
        چیزای خیلی خاصی میشه با این مکانیزم های داخل dvd writer ساخت😀

  11. Avatar for امین امین گفت:

    سلام ممنون از شما من خوشم اومد لطفا ادامه بدید

    1. Avatar for Mahdi.h   Mahdi.h   گفت:

      سلام
      خواهش میکنم
      بله حتما 🙂

      1. Avatar for احسان رسولی احسان رسولی گفت:

        فوقلادست
        خدا قوت
        حتما ادامه بدید استفاده می کنیم

        1. Avatar for Mahdi.h   Mahdi.h   گفت:

          تشکر
          بله حتما 🙂

  12. Avatar for مهدی حامد مهدی حامد گفت:

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

    1. Avatar for Mahdi.h   Mahdi.h   گفت:

      سلام
      ممنون از شما
      آموزش ها کاربردی هست و هدف ما هم همین کاری هست که شما گفتید

  13. Avatar for محسن محسن گفت:

    سلام ممنون از اطلاعات خوبتون . و خواهش میکنم ادامه بدید .خدا خیرتون بده

    1. Avatar for Mahdi.h   Mahdi.h   گفت:

      خواهش میکنم
      بله حتما

  14. Avatar for صدرا فاضلی فرد صدرا فاضلی فرد گفت:

    سلام مهندس مطلب بسیار اموزنده و خوبه اگر ادامه دار باشه و امثال من خوب یادش بگیرن و زیر و بم کارو خوب دربیاریم میتونیم بریم پیش به سوی تولید کارای خوب و رقابتی حتی! بی صبرانه منتظرم قسمت های بعدی هستم چون تو بحث سی ان سی و پرینتر سه بعدی فعالم همیشه تو فکرم ساخت یه کنترل خارج از پلتفرم اردوینو تو ذهنم بوده و میخواستم یه کنترلر اختصاصی خوب بسازم که بتونم صنعت گر هارو بروز کنیم تا اون ها مجبور از استفاده کنترلر های قدیمی نشن بنده خوشحال میشم ادامه دار باشه حتی اگر کمکی هم بود درخدتم🌹

    1. Avatar for Mahdi.h   Mahdi.h   گفت:

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

    2. Avatar for هادی هادی گفت:

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

      1. Avatar for Mahdi.h   Mahdi.h   گفت:

        بله همینطوره 🙏🙏

  15. Avatar for Amin Amin گفت:

    مهندس جان بقیه مطلب بگو تا نظر بدم

    1. Avatar for Mahdi.h   Mahdi.h   گفت:

      حالا شما تا همینجاشو بفرمایید … 🙂

  16. Avatar for محمد محمد گفت:

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

    1. Avatar for Mahdi.h   Mahdi.h   گفت:

      سلام
      ممنونم
      بله برای stm32 هست ، برای آردوینو هست و خیلی چیزای دیگه
      همه چیز به کاربرد بستگی داره
      از FPGA به دلیل سرعت بالا و اطمینان پذیری استفاده میشه
      مثلا مدل هایی از کارت های FPGA از طریق PCI یا PCI E متصل میشند
      اطلاعات بیشتر در قسمت های بعد
      تا اون موقع خودتون هم میتونید یه بررسی بکنید

  17. Avatar for سجاد آزادفلاح سجاد آزادفلاح گفت:

    خیلی عالی ممنون ، حتما ادامه بدین

  18. Avatar for احسان احسان گفت:

    عالی عالی لطفا ادامه بدید.

    1. Avatar for Mahdi.h   Mahdi.h   گفت:

      بله حتما 🙂

  19. Avatar for فیروز فیروز گفت:

    عالیه ، من با پورت پارالل راه اندازی کردم ولی محدودیت هایی داره ، مثلا نمیشه به صورت close loop بهش استپر متصل کرد(اتصال خطکش و …).کارت های fpga توسعه ای براش هست که متاسفانه خیلی گرونن ، اگه بشه ی کارت توسعه براش ساخت یا از ی پورت پارالل دوم استفاده کرد عالی میشه…

    1. Avatar for Mahdi.h   Mahdi.h   گفت:

      شما چون بصورت پارالل راه اندازی کردید نتونستید کلوز لوپ کنترل کنید ، در مورد کارت های fpga هم یه spartan 6 روش هست و کدش به صورت اوپن سورس موجوده شماتیک بعضی برد هاش هم موجود هست
      من خودم cnc 3 محوره کلوز لوپ با کارت fpga باهاش راه اندازی کردم 🙂
      منتظر قسمت های بعدی باشید 🙂

      1. Avatar for فیروز فیروز گفت:

        علیه مهندس ، منتظر قسمت های بعدی هستم

        1. Avatar for Mahdi.h   Mahdi.h   گفت:

          لطف دارید
          بله حتما

      2. Avatar for مهدی مهدی گفت:

        من با اترکت ، کلوز لوپ ۵ محور راه اندازی کردم. خوشحال میشم برد fpga رو بتونید تجاری سازی کنید.
        ولی سه تا ایراد اساسی داره بنظر من.
        ۱- trajectory planing خطی داره در نتیجه جرک غیر قابل کنترل هست و نرمی حرکت خوبی نداره.
        2-trajectory planing اش look ahead خیلی ضعیفی داره که در نتیجه توی حرکات چهار محور همزمان به بالا سرعت دستگاه رو به شدت پایین میاره.
        ۳- مثل مچ تری ، شرکت های چینی علاقه ای بهش نشون نمیدن و اگر هم بدن خودشون ورمیدارن تغییر میدن و با قیمتهای بالای ۲ هزار دلاری میفروشن.
        در نتیجه برد های آماده براش عملا در دسترس نیست. چیزهایی مثل برد مسا رو من نتونستم بخرم حداقل

        1. Avatar for Mahdi.h   Mahdi.h   گفت:

          مطمئنا توی سطوح مختلف میشه از linuxcnc استفاده کرد و همون اترکت هم توی سطح های پایین تر مثلا 3 محوره کلوز لوپ یا 3 محوره اوپن لوپ میتونه کافی باشه
          خیلی خوب میشه اگه بتونید مراحلی که انجام دادید رو به صورت مطلب در طی همین سری آموزش منتشر کنید یا حتی اطلاعات رو به من بدید تا مطلبش رو آماده کنم و اسم شما رو هم بیارم (اگر علاقه دارید در تلگرام پیام بدید به منhttps://t.me/mahdi2001h1 )
          در مورد fpga هم بردش ادیت خورده و در حال تست هست و امیدوارم تا یکی دو ماه دیگه مطلبش روی سایت باشه

  20. Avatar for مصطفی مصطفی گفت:

    عالی، خیلی برام جالب بود ممنون
    دلم میخواد بیشتر بدونم راجبش

    1. Avatar for Mahdi.h   Mahdi.h   گفت:

      خواهش میکنم 🙂
      بله ، حتما در مطالب آینده

  21. Avatar for امید آزاده امید آزاده گفت:

    مهندس جان عالی بود… ممنون از مباحث بسیار عالی که اینجا میزارید

    1. Avatar for Mahdi.h   Mahdi.h   گفت:

      خواهش میکنم 🙂

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *