به احتمال زیاد اگر این مطلب رو می خونید با دستگاههای CNC آشنا هستید، شایدم تا حالا برای خودتان یه CNC کوچولو ساخته باشید، چه به صورت پرینتر3D یا شاید هم سیانسی لیزر یا فرز یا هر نوع دیگر ای، میدونیم که یک ماشین CNC نیاز داره به یک کنترلر، البته اکثر cnc های دست ساز از آردوینو برای اینکار استفاده میکنند و همین باعث محدود شدنشون میشه مثلاً کنترل اونها به صورت حلقه باز هست و اکثر اوقات باید حواسمون بهشون باشه که یه موقع خرابکاری نکنند، یا اینکه امکانات محدود و رابط کاربری ضعیفی دارند بخاطر توان پردازشییه پایینشون و … در این سری آموزش میخوایم نرم افزار فوق العاده ای رو معرفی کنیم و باهاش کار کنیم که بسیار انعطاف پذیر هست برای ساخت دستگاههایcnc، اوپن سورس هست و میتونید هر جور که دوست دارید اون رو کانفیگ کنید، یه کانفیگ ساده برای اجرا روی یه دستگاه ضعیف با یه GUI ساده یا حتی بدون GUI یا یه کانفیگ شیک و پر امکانات روی یه سیستم قوی برای کنترل یه سیانسی 9 محوره! با سیسوگ همراه باشید تا به بررسی این نرم افزار فوق العاده بپردازیم.
شاید برای شما مفید باشد: آموزش امبدد لینوکس از 0 تا 100
نرم افزار 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 استفاده کنیم که قیمت مناسب و سخت افزار قابل قبولی داره.
البته این که تا کجا پیش بریم کاملا بستگی به استقبال از این سری آموزش داره ، چرا که صرفا به دلیل احساس نیاز این سری مطلب شروع شده و در صورت عدم استقبال ادامه داده نمیشه ، برامون کامنت بزارید و اگر نظری در مورد نحوه آموزش دارید یا برد دیگه ای پیشنهاد دارید بهمون بگید
به نظر خیلی جذاب میاد
الان بالا 12 ساله سیستم خونگیم لینوکسه عالیه سیستم عامل
Shild cnc v3 /v4 برای کار خوبه؟
عالی بی صبرانه منتظریم که ادامه ش بدید بالاخص که برای بازوها هم میشه ازش استفاده کرد خسته نباشید و دمتون گرم
سلام. ممنون از شما . حتما ادامه داده میشه
عالی
عالی ادامه بدین
یه مورد هم اینه که در نهایت برای diy اقتصادی نیست و جایگزین هاش بهتر هستند. اما اگر علاقه داشته باشید ، تجاری سازی اش توی ایران خیلی میتونه مفید و سودآور باشه. من دو تا شرکت میشناسم که به نون و نوای خوبی رسیدن از این طریق. روی کنترلرشون هم زدن ساخت ایتالیا که کسی نفهمه 🤣🤣
چی اقتصادی نیست ؟
استفاده از خود لینوکس cnc یا سخت افزارهاش ؟
مطمئنا برای اینجور پروژه ها از سخت افزار های ارزان قیمت هم میشه استفاده کرد
ما هم یه اطلاعاتی در مورد اون شرکتا داریم
اما این سری مطالب آماده شده تا همه بتونند به کمکش به یه نون و نوایی برسه 🙂
خیلی جالب بود . ممنون
خواهش میکنم 🙂
درود بر شما
خیلی خوب این اموزش رو ادامه بدید در کنارش فیلم بسازید و تولید محتوا بصورت کاملا پارسی باشه
خیلی ساده و کاربردی باشه مثلا منه مخاطب شما فنی حرفه درس خوندم ولی تو ۲یال مرونا هیچی یاد نگرفتم چیزی که میدونم فقط در حد تئوری هست
شب رفتم خونه قسمت دوم هم میخونم
سلام
در مورد فیلم حقیقتا من اهلش نیستم و اصلا علاقه ای به محتوای تصویری ندارم ، چه برسه به اینکه بخوام تولید کنم !
یکسری فیلم در یوتیوب هست که البته انگلیسی هست ولی خب !
در مورد نکته آخر هم اینکه من خودم هم هنرستانی هستم و دانشکده فنی درس خوندم و خیلی اطلاعات اولیه و شخصیت فنیم رو مدیون اون دوران هستم
سلام خیلی مبحث جذابه لطفا در کنار آموزش داکیومنت های جانبی هم قرار بدید یا مراجع مرتبط معرفی کنید
بهترین و تقریبا تنها جایی که اطلاعات کامل در موردش هست داکیومنت های خودشه
http://linuxcnc.org/docs/stable/html/
خیلی عالیه لطفا ادامه بدید
ممنون از شما
بله حتما
سلام
خیلی مشتاقم تا این سری مطالب ادامه داشته باشه و کاملتر بشود.
خودم با آردینو دستگاه سه محوره ساختم که فیلمش هم در آپارات موجود هست.
اما بدون آردینو خیلی بهتر میشه…
سلام
بله حتما ادامش میدیم
سلام
لینک پلاتر سه محوره که هفت سال پیش با آردینو ساخته بودم.
https://www.aparat.com/v/YpgJh
این سیستم با کامپیوتر معمولی کنترل میشد و هر فایل gcode که میدادی پلات میکرد.
خیلی عالی
چیزای خیلی خاصی میشه با این مکانیزم های داخل dvd writer ساخت😀
سلام ممنون از شما من خوشم اومد لطفا ادامه بدید
سلام
خواهش میکنم
بله حتما 🙂
فوقلادست
خدا قوت
حتما ادامه بدید استفاده می کنیم
تشکر
بله حتما 🙂
سلام مهندس،بسیار بحث عالی و جذابی هست و بخصوص جای کار و اینده هم داره،بنده به شدت استقبال میکنم و منتظر قدم های بعدی هستم،اگر اموزش ها طوری باشه که بتونم فقط با اتکا به اونها یک دستگاه رو بسازم و راه بندازم حتما برای بازدید و احیانا همکاری برای تولید انبوه از شما دعوت به همکاری میکنم،بنده کاملا نظرم مساعد هست
سلام
ممنون از شما
آموزش ها کاربردی هست و هدف ما هم همین کاری هست که شما گفتید
سلام ممنون از اطلاعات خوبتون . و خواهش میکنم ادامه بدید .خدا خیرتون بده
خواهش میکنم
بله حتما
سلام مهندس مطلب بسیار اموزنده و خوبه اگر ادامه دار باشه و امثال من خوب یادش بگیرن و زیر و بم کارو خوب دربیاریم میتونیم بریم پیش به سوی تولید کارای خوب و رقابتی حتی! بی صبرانه منتظرم قسمت های بعدی هستم چون تو بحث سی ان سی و پرینتر سه بعدی فعالم همیشه تو فکرم ساخت یه کنترل خارج از پلتفرم اردوینو تو ذهنم بوده و میخواستم یه کنترلر اختصاصی خوب بسازم که بتونم صنعت گر هارو بروز کنیم تا اون ها مجبور از استفاده کنترلر های قدیمی نشن بنده خوشحال میشم ادامه دار باشه حتی اگر کمکی هم بود درخدتم🌹
سلام
لطف دارید
بله خیلی خوبه اگر که بتونیم از کنترلر ایرانی روی دستگاه هامون استفاده کنیم ، البته که چند شرکت ایرانی به صورت چراغ خاموش از این نرم افزار برای دستگاه هاشون استفاده کرده و میکنند اما هدف ما این هست که این کار گسترش پیدا کنه
خیلی عالیه و کاربردی،این دست از آموزش ها میتونه برای مهندسین کشور خیلی کارگشا و باعث پیشرفت در کارشون بشه
بله همینطوره 🙏🙏
مهندس جان بقیه مطلب بگو تا نظر بدم
حالا شما تا همینجاشو بفرمایید … 🙂
سلام مهندس
خیلی خیلی عالیه
لطفا این اموزش رو ادامه بدین، مخصوصا اینکه تو کامنت ها نوشته بودید با اسپارتان 6 کدش موجوده.
برای میکروکنترلر هم هست؟ چه دلیلی داره FPGA با این قیمت بزاریم؟
چون به نظر میاد خیلی پردازش خاصی نداره، حداقل برای سه محور و اپن لوپ بودنش.
بی صبرانه منتظر قسمت های بعدی هستم.
سلام
ممنونم
بله برای stm32 هست ، برای آردوینو هست و خیلی چیزای دیگه
همه چیز به کاربرد بستگی داره
از FPGA به دلیل سرعت بالا و اطمینان پذیری استفاده میشه
مثلا مدل هایی از کارت های FPGA از طریق PCI یا PCI E متصل میشند
اطلاعات بیشتر در قسمت های بعد
تا اون موقع خودتون هم میتونید یه بررسی بکنید
خیلی عالی ممنون ، حتما ادامه بدین
🙏
بله حتما
عالی عالی
🙏🙏
عالی عالی لطفا ادامه بدید.
بله حتما 🙂
عالیه ، من با پورت پارالل راه اندازی کردم ولی محدودیت هایی داره ، مثلا نمیشه به صورت close loop بهش استپر متصل کرد(اتصال خطکش و …).کارت های fpga توسعه ای براش هست که متاسفانه خیلی گرونن ، اگه بشه ی کارت توسعه براش ساخت یا از ی پورت پارالل دوم استفاده کرد عالی میشه…
شما چون بصورت پارالل راه اندازی کردید نتونستید کلوز لوپ کنترل کنید ، در مورد کارت های fpga هم یه spartan 6 روش هست و کدش به صورت اوپن سورس موجوده شماتیک بعضی برد هاش هم موجود هست
من خودم cnc 3 محوره کلوز لوپ با کارت fpga باهاش راه اندازی کردم 🙂
منتظر قسمت های بعدی باشید 🙂
علیه مهندس ، منتظر قسمت های بعدی هستم
لطف دارید
بله حتما
من با اترکت ، کلوز لوپ ۵ محور راه اندازی کردم. خوشحال میشم برد fpga رو بتونید تجاری سازی کنید.
ولی سه تا ایراد اساسی داره بنظر من.
۱- trajectory planing خطی داره در نتیجه جرک غیر قابل کنترل هست و نرمی حرکت خوبی نداره.
2-trajectory planing اش look ahead خیلی ضعیفی داره که در نتیجه توی حرکات چهار محور همزمان به بالا سرعت دستگاه رو به شدت پایین میاره.
۳- مثل مچ تری ، شرکت های چینی علاقه ای بهش نشون نمیدن و اگر هم بدن خودشون ورمیدارن تغییر میدن و با قیمتهای بالای ۲ هزار دلاری میفروشن.
در نتیجه برد های آماده براش عملا در دسترس نیست. چیزهایی مثل برد مسا رو من نتونستم بخرم حداقل
مطمئنا توی سطوح مختلف میشه از linuxcnc استفاده کرد و همون اترکت هم توی سطح های پایین تر مثلا 3 محوره کلوز لوپ یا 3 محوره اوپن لوپ میتونه کافی باشه
خیلی خوب میشه اگه بتونید مراحلی که انجام دادید رو به صورت مطلب در طی همین سری آموزش منتشر کنید یا حتی اطلاعات رو به من بدید تا مطلبش رو آماده کنم و اسم شما رو هم بیارم (اگر علاقه دارید در تلگرام پیام بدید به منhttps://t.me/mahdi2001h1 )
در مورد fpga هم بردش ادیت خورده و در حال تست هست و امیدوارم تا یکی دو ماه دیگه مطلبش روی سایت باشه
عالی، خیلی برام جالب بود ممنون
دلم میخواد بیشتر بدونم راجبش
خواهش میکنم 🙂
بله ، حتما در مطالب آینده
مهندس جان عالی بود… ممنون از مباحث بسیار عالی که اینجا میزارید
خواهش میکنم 🙂