ساخت دستگاه CNC پلاتر با آردوینو (طراحی ماشین سی ان سی)
سلام. ساخت دستگاه CNC پلاتر با آردوینو (آموزش کامل طراحی ماشین سی ان سی Plotter) را آماده کردیم.
محتویات
- آموزش راه اندازی دستگاه CNC با Arduino
- عملکرد دستگاه CNC
- به چه چیز هایی نیاز داریم ؟
- قطعات مورد نیاز
- نرم افزار های مورد نیاز
- طراحی بدنه دستگاه پلاتر CNC
- مونتاژ محورهای X ، Y و Z دستگاه سی ان سی
- پلتفرم طراحی برای دستگاه CNC
- سیم کشی و مدار دستگاه CNC
- کد آردوینو و پروسسینگ برای تست ماشین CNC
- استفاده از G-Code برای دستگاه CNC
- استفاده از نرم افزار پروسسینگ برای ارسال G-Code به آردوینو
- چگونه می توانیم G-Code خود را تولید کنیم ؟
- استفاده از GRBL Controller در دستگاه CNC
آموزش راه اندازی دستگاه CNC با Arduino
دستگاه های سی ان سی ماشین های کامپیوتری کنترل عددی هستند که برای ترسیم هر چیز یا طراحی هر قسمت مکانیکی طبق برنامه طراحی شده استفاده میشود. واحد کنترل کننده میتواند رایانه یا میکروکنترلر باشد. دستگاه های سی ان سی دارای استپر موتور و سروو موتور هستند تا طبق برنامه تعیین شده برنامه را ترسیم کنند.
در این پروژه آردوینو ما با استفاده از مواد موجود دستگاه سی ان سی خود را میسازیم. انواع مختلفی دستگاه CNC در جهان وجود دارند که درست کردن برخی از آن ها بسیار فنی و پیچیده است. ما در اینجا یک دستگاه CNC پلاتر ساده را با استفاده از برد Arduino میسازیم.
این آموزش ارزانترین و ساده ترین روش برای ساخت دستگاه CNC Plotter با استفاده از آردوینو Uno در خانه است.
در فیلم زیر نحوه عملکرد این دستگاه CNC را مشاهده میکنید.
دستگاهی که میسازیم میتواند اکثر اشکال اساسی ، متون و … را ترسیم کند. عملیات انجام شده ساده است و انگار که فردی دارد مینویسد. اما نسبت به نوشتن و کشیدن انسان بسیار دقیق تر است. میتواند فیلم عملکرد این پروژه را در انتهای این صفحه مشاهده کنید.
عملکرد دستگاه CNC
برای بهره برداری از دستگاه نقشه برداری سی ان سی، 3 محور مورد نیاز است (محور x ، محور y و محور z). محور x و محور y به صورت یکنواخت برای ایجاد یک تصویر 2D روی یک کاغذ ساده کار می کنند. محورهای x و y به صورت 90 درجه از یکدیگر قرار می گیرند به گونه ای که هر نقطه روی سطح با مقدار مشخصی از x و y تعریف می شود.
بسته به تصویری که باید بکشید، کامپیوتر مختصات مناسب را تولید کرده و آنها را از طریق درگاه USB به میکروکنترلر ارسال می کند. میکروکنترلر این مختصات را تفسیر می کند و سپس موقعیت موتورها را برای ایجاد تصویر کنترل می کند. در اینجا ما از آردوینو به عنوان میکروکنترلر برای ساخت این دستگاه CNC استفاده کرده ایم.
حالا بیایید ساخت دستگاه را شروع کنیم.
به چه چیز هایی نیاز داریم ؟
در این قسمت لیست قطعاتی که برای ساخت ماشین پلاتر سی ان سی نیاز دارید مشاهده میکنید.
قطعات مورد نیاز
- ورق آلومینیوم (710mm x 710mm)
- چاپگر قدیمی HP / Epson. می توانید از درایوهای DVD رایانه ای قدیمی استفاده کنید
- شیشه Perspex
- آردوینو UNO
- شیلد درایور موتور L293D
- مینی سرو موتور
نرم افزار های مورد نیاز
برای عملکرد کامل این دستگاه از نرم افزارهای زیر استفاده شده است. آنها را بارگیری کنید.
- نرم افزار Arduino ، دانلود از اینجا
- نرم افزار Processing ، دانلود از اینجا
- نرم افزار Inkscape ، دانلود از اینحا
طراحی بدنه دستگاه پلاتر CNC
بدنه اصلی این دستگاه پایه ای است که از کلیه قسمت های اصلی دستگاه پشتیبانی می کند تا دستگاه محکم باشد و همچنین قابل حمل باشد. در این طرح از آلومینیوم برای ساخت پایه استفاده خواهیم کرد زیرا سبک است و قابلیت خم شدن را دارد و برش آن ساده است و همچنین از آنجا که زنگ نمی زند، ظاهر براق خوبی دارد.
طراحی و ابعاد پایه ما در تصویر زیر نشان داده شده است :
توجه: کلیه ابعاد در واحد میلی متر است.
پس از انجام خم کردن و برش ،پایه ما بسیار محکم به شکل زیر میشود :
مونتاژ محورهای X ، Y و Z دستگاه سی ان سی
برای ساخت محورهای x و y از دو چهارچوب چاپگر استفاده می شود. هر یک از این قسمت ها شامل یک موتور پله ای و یک مکانیزم درایو Belt است که بطور معمول برای جابجایی کارتریج به داخل و خارج استفاده می شود.
برای محور z ، یک مینی سروو موتور با استفاده از چسب روی محور y وصل شده است. از این سروو موتور برای حرکت قلم به بالا و پایین استفاده می شود. باید مکانیسم پشتیبانی خوبی ساخته شود که حرکت آزاد و رو به پایین قلم را امکان پذیر سازد.
پلتفرم طراحی برای دستگاه CNC
با توجه به اندازه زیاد این دستگاه، این دستگاه قادر به ترسیم روی کاغذ با اندازه A5 است. بنابراین یک سکوی بزرگ A5 (148mmx210mm) از شیشه Perspex میسازیم و سپس آن را با استفاده از چسب روی قسمت متحرک محور X می چسبانیم.
سیم کشی و مدار دستگاه CNC
شیلد درایور موتور L293D را روی برد آردوینو UNO قرار دهید. این شیلد می تواند دو موتور پله ای را به طور همزمان و دو موتور سروو را به حرکت درآورد. مطابق شکل زیر، دو موتور پله ای را به هم وصل کنید. GND باید بدون اتصال بماند زیرا موتورها از نوع دوقطبی هستند.
همچنین مینی سروو موتور را به servo1 وصل کنید. یک منبع تغذیه 7.5 ولت-9 ولت را به پورت برق شیلد درایور موتور وصل کنید. اکنون دستگاه آماده آزمایش است.
کد آردوینو و پروسسینگ برای تست ماشین CNC
ابتدا باید موتورهای استپر را تست کنیم و ببینیم که آیا آنها به درستی وصل شده اند یا خیر. از آنجا که ما از شیلد درایور موتور L293D استفاده می کنیم، لازم است که کتابخانه AFmotor را نصب کنید. نام آن را به AFMotor تغییر دهید. اگر Arduino IDE باز بود ، آن را ببندید و دوباره آن را باز کنید و روی file -> examples -> Adafruit Motor Shield Library -> stepper کلیک کنید. اطمینان حاصل کنید که پورت و برد صحیح را در Tools انتخاب کرده اید و سپس کد را در برد Arduino بارگذاری کنید. سپس برخی از حرکات را باید در موتور پله ای مشاهده کنید.
برای تست موتور دو ، در زیر پورت موتور را از 2 به 1 تغییر دهید و دوباره کد را بارگذاری کنید.
#include <AFMotor.h> AF_Stepper motor(48, 2);
پس از واکنش مناسب موتور استپر ، کد آردوینو را برای دستگاه CNC را که در فایل انتهای آموزش قرار دارد در برد آردوینوی خود بارگذاری کنید.
استفاده از G-Code برای دستگاه CNC
G – CODE زبانی است که در آن ما به ماشینهای رایانه ای (CNC) میگوییم کاری انجام دهند. در اصل این پرونده حاوی مختصات X ، Y و Z است.
مثلا :
G17 G20 G90 G94 G54 G0 Z0.25X-0.5 Y0. Z0.1 G01 Z0. F5. G02 X0. Y0.5 I0.5 J0. F2.5 X0.5 Y0. I0. J-0.5 X0. Y-0.5 I-0.5 J0. X-0.5 Y0. I0. J0.5 G01 Z0.1 F5. G00 X0. Y0. Z0.25
نوشتن یک G-Code حتی برای یک مربع ساده می تواند واقعاً سخت باشد، اما خوشبختانه ما یک نرم افزار داریم که که لینک آن را در کمی بالاتر برای دانلود قرار دادیم. شما می توانید G-Code خود را با استفاده از Inkscape تولید کنید، که روش آن را در بخش بعدی توضیح دادیم یا می توانید از کدهای آماده G-Code در اینترنت استفاده کنید.
قبل از اینکه بگوییم چگونه می توانید کدهای G-Code با استفاده از Inkscape را تولید کنید اجازه دهید تا در مورد نحوه ارسال آن به Arduino بحث کنیم. نرم افزاری که ما را قادر می سازد G-Codes را به Arduino ارسال کنیم، Processing نامیده می شود.
استفاده از نرم افزار پروسسینگ برای ارسال G-Code به آردوینو
پلت فرم Processing به ما کمک می کند تا G-Codes را به برد آردوینو ارسال کنیم. برای انجام این کار، شما باید فایل GCTRL.PDE را بارگیری کنید. فایل GCTRL.pde در فایل دانلودی انتهای صفحه قرار داده شده است. آن را با نرم افزار Processing باز کنید.
پس از باز کردن آن در Processing ، روی run کلیک کنید. یک پنجره با تمام دستورالعمل ها ظاهر می شود. روی صفحه کلید p را فشار دهید. سیستم از شما می خواهد پورت را انتخاب کنید. بنابراین درگاهی را که برد Arduino به آن متصل است ، انتخاب کنید. برای ما پورت 6 بوده است ممکن است برای شما متفاوت باشد.
اکنون g را فشار داده و به پوشه ای که G-CODE خود را ذخیره کرده اید بروید. G-CODE را انتخاب کرده و Enter را فشار دهید. اگر همه چیز درست وصل شده باشد، باید ببینید که دستگاه شروع به طرح ریزی روی کاغذ می کند.
اگر می خواهید فرایند را خاتمه دهید ، فقط x را فشار دهید و دستگاه هر کاری را انجام می دهد متوقف می کند.
چگونه می توانیم G-Code خود را تولید کنیم ؟
ما اشاره کردیم که Inkscape نرم افزاری است که ما برای تولید G-CODES خود استفاده خواهیم کرد. در این مثال ما متن ساده (HELLO WORLD) را مانند شکل زیر ایجاد خواهیم کرد.
توجه: Inkscape روش ذخیره ای برای ذخیره فایلها به عنوان G-CODE ندارد. بنابراین شما باید یک افزونه نصب کنید که امکان صادرات تصاویر به پرونده های G-CODE را فراهم کند. ما از افزونه MakerBot Unicorn استفاده میکنیم که آن را در فایل دانلودی قرار داده ایم.
اگر نصب موفقیت آمیز بود، Inkscape را باز کنید ، به منوی File بروید و روی “Document Properties” کلیک کنید. ابتدا ابعاد را از px به mm تغییر دهید. همچنین عرض و ارتفاع را به 90 میلی متر کاهش دهید. اکنون این پنجره را ببندید. یک مربع به عنوان ناحیه ترسیم ظاهر می شود. این منطقه ای است که ما برای نوشتن متن خود استفاده خواهیم کرد.
اکنون در نوار سمت چپ ، روی زبانه create و edit text object کلیک کنید. متن “HELLO WORLD” را تایپ کنید و مطابق شکل زیر آن را در گوشه سمت راست بالای مربع قرار دهید.
روی متن کلیک کنید و نوع و سبک فونت مورد نظر خود را انتخاب کنید. روی Apply کلیک کنید و ببندید.
اکنون بر روی path کلیک کرده و “object to path” را انتخاب کنید.
متن شما اکنون آماده است تا به عنوان G-CODE ذخیره شود. بر روی file -> save as کلیک کنید و سپس نام پرونده را “hello world” تایپ کنید.
نوع پرونده را مطابق تصویر زیر به “MakerBot Unicon G-Code” تغییر دهید. این گزینه تنها در صورت موفقیت آمیز بودن نصب افزونه ظاهر می شود. در آخر بر روی save کلیک کرده و در پنجره پاپ آپ روی OK کلیک کنید.
شما یک G-Code ایجاد کرده اید و می توانید با استفاده از مراحل قبلی آن را ترسیم کنید.
استفاده از GRBL Controller در دستگاه CNC
هنگامی که شما موفق به تولید یک G-Code با استفاده از Inkscape شدید، ممکن است لازم باشد G-Code را مشاهده کنید تا اطمینان حاصل کنید که در محدوده طراحی است.
محدوده رسم در CNC در در خطوط زیر نشان داده شده است :
تصویری که در نرم افزار GRBL Controller نمایش داده میشود نباید فراتز از حد باشد. زیرا اگر بیشتر از محدوده باشد توسط دستگاه ترسیم نمیشود. در این مثال مقادیر x و y از 0 تا 40 میلی متر است.
از آنجا که من از قطعات یک پرینتر استفاده می کنم که می توانند در یک منطقه بزرگتر هم ترسیم کنند ، مقادیر حداکثر را از 40 میلی متر به 60 میلی متر تغییر می دهم.
هر زمان که G-Code را با استفاده از Inkscape تولید می کنید، می توانید ابتدا آن برنامه G-Code را در برنامه GRBL باز کنید تا ببینید که آیا در آن محدوده مورد نظر است یا خیر. اگر در داخل محدوده نباشد، باید اندازه آن را در Inkscape تغییر دهید تا اینکه در محدوده شما قرار بگیرد.
موارد موجود در فایل : کتابخانه مورد نیاز ، سورس کامل ، افزونه مورد نیاز
سلام سال نو مبارک
سوالی داشتم فایلهای مورد نظر جهت جی کد گرفتن در نرم افزار Inkscape دانلود کردم در محلی که اشاره شده نصب کردم
ولی هنگام ذخیره جهت جی کد گرفتن خطا می دهد
خطا اینست:
Inkscape has received additional data from the script executed. The script did not return an error, but this may indicate the results will not be as expected.
ودیگر :
Traceback (most recent call last):
File “unicorn.py”, line 23, in
from unicorn.context import GCodeContext
File “C:\Program Files\Inkscape\share\extensions\unicorn.py”, line 23, in
from unicorn.context import GCodeContext
ImportError: No module named context
ببخشید طولانی شد
تمنا دارم راهنمایی فرمایید باتشکر
سلام جناب، به احتمالا این پروژه منسوخ شده است.
باعرض سلام و تبریک سال نو
من کدهای پروژه رو در آردینو کپی کردم
و بعد از باز کردن فایل gctrl دکمه run رو زدم پورت رو انتخاب کردم و با کلید g
فایل G-Code رو باز کردم
اما متاسفانه فقط سروو موتور به حرکت در میاد و استپر هیچ عکس العملی نشون نمیده استپرها تست شده و هیچ ایرادی در سیم بندی به نظر نمیرسه
با عرض سلام و خسته نباشید
مهندس من همه مراحل را به درستی انجام میدهم ودر اخر پنجره پاپ اپ را تایید میکنم ولی ذخیره نیمیشود واین اخطار رامیدهد
Inkscape has received additional data from the script executed. The script did not return an error, but this may indicate the results will
not be as expected
و فقط برای ذخیره باg -codeمیباشد
ممنون میشوم اگر بنده را راهنمایی کنید
سلام مهندس
داخل درایور DVD رایانه ای قدیمی یک عدد موتور بود که چهار سیم داشت و اینکه حالا باید این چهار سیم را به کدام پایه درایور L293 وصل کنم ؟؟
سلام
یک سوال دیگه
شما گفتید کد نویسی فایل g-code خیلی سخته و برای این کار یک نرم افزار داریم
خب حالا من میخام از طریق خود فایل g-code کد نویسی کنم هرچند سخت باشه
حالا از کجا میتونم به خود فایل g-code دسترسی داشته باشم؟؟؟
ممنون میشم راهنمایی کنید
سلام موتور سروو چند درجه هستند
سلام. باید عملی بررسی کنید فکر میکنم انواع سروو موتور ها جوابگو باشند.
سلام جناب یه فیلمی از کدی که وارد آردوینو می کنی بگیری
سلام. منظورتون رو متوجه نشدم
سلام من هاشمي هستم از افغانستان شهر هرات خيلي علاقه دارم cnc بسازم اينجا وسائل خيلي كم پيداميشه من از آموزشا شما استفاده كردم وسائل گرفتم از ايران ولي كمي به مشكل خوردم ميشه همراي من كمك كنيم
سلام جناب. مشکلاتتون رو همینجا بفرمایید.
سلام اقای هاشمی برای اینکار نیاز به برد اردینو uno و برد توسعه cncشیلد و درایور cnc A4988 به تعداد محورهای حرکتیتون دارید که برای سه محور xوyوz حداقل 3 عدد درایور
همچنین قسمتهای مکانیکی دستگاه شامل بدنه سیستم حرکتی و اسپیندا (فرز) و برای هر محور حرکتی یک عدد استپ موتور ترجیحا nema جزییات دیگر
در اینترنت سرچ کنید و تصاویر و نقشه های زیادر برای اینکار وجود داره که میتونید ایده بگیرید
ضمنا تا حدودی با با برد اردینو و نرم افزار gbrl و Ardino IDE باید اشنایی پیدا کنند
البته این cnc نیمه صنعتی خواهد بود و در بهترین حالت ساخت با استرکشن خوب و قوی قدرتی متوسط و تا حدی مایل به ضعیف نسبت به cnc های صنعتی خواهد بود
موفق باشید
خادمی تهران
سلام وقت بخیر خواستم ببینم بصورت خصوصیم شما درس میدین؟ ممنون میشم جوابمو بدین.
سلام جناب، دوره آموزش آردوینو رو بررسی بفرمایید، اگر سوالی برای تدریس خصوصی دارید به ایمیلی که در صفحه تماس با ما نوشتم پیام بدید.
یه کدی باید وارد کنی که موتور ها عقب و جلو بشن من اون کد نوارم داخل کتابخانه ندارمش چجوری باید بدستش بیارم
کد مورد نظر در فایل دانلودی موجود است. مطابق با متن آموزش انجام بدید.
این کددستوری از کجا باید پیداکنم
سلام جناب، کد مورد نظرتون رو وارد کنید.
خو چجوری وارد کنم میتوانی ای فیلم کدیکه وارد می کنی فیلم بگیری من کد شو نمیدونم از کجا بیارم 😢
سلام جناب. منظورتون رو متوجه نمیشم.
سلام و خسته نباشید
می خواستم بدونم برای ساخت دستگاه cnc نباید از شیلد cnc استفاده کرد ؟
سلام عزیز. بله میتونید استفاده کنید و بهتره. اما این پروژه با شیلد CNC کار نمیکنه.
سلام میشه یه آموزش در مورد cnc بزارین که با آردوینو نباشه و فقط avr تنها باشه؟ چون احساس من این هست آردوینو آدمو محدود میکنه
سلام جناب. بله انشالله به زودی قرار میدیم.