بررسی دستورهای پرکاربرد زبان برنامه نویسی G-code
در بخش اول از آموزش زبان برنامه نویسی G-code، به بررسی جوانب مختلف این زبان و همچنین موارد استفاده آن پرداختیم و چند دستور مهم و اولیه را بررسی کردیم.زبان برنامه نویسی G-code قسمت دوم
در این بخش، دستورات بیشتری را بررسی خواهیم کرد. اگر علاقه دارید که درباره این زبان و همچنین فرایند چاپ سه بعدی اطلاعات بیشتری کسب کنید، در 15 دقیقه بعدی با ما همراه باشید.
در ضمن دستوراتی که در بخش اول بررسی شد، شامل دستورات حرکت خطی (G0 و G1) و همچنین موقعیت مطلق و نسبی (G90 و G91) میباشندزبان برنامه نویسی G-code قسمت دوم
بخش اول: بررسی دستورات G28 و G29، بازگشت به نقطه صفر ماشین
اصطلاح homing یا بازگشت به نقطه آغاز، در زبان برنامه نویسی G-code به عنوان فرایند تعیین محدودیتهای فیزیکی برای تمامی محورها نامیده میشود. در واقع دستور G28 معمولاً قبل از هر فرآیند چاپ انجام میشود. این کار به این گونه است که هد چاپ (printhead) به مکان مورد نظر هدایت میشود تا فرایند چاپ با دستورات جدید آغاز شود.زبان برنامه نویسی G-code قسمت دوم
در ضمن Homing و بازگشت به نقطه صفر، نه تنها برای جهت گیری دستگاه بلکه برای جلوگیری از حرکت هد چاپ به خارج از محدوده تعیین شده نیز مهم است.
در واقع کد G28 همه محورهای B، X، Y، Z و A را به طور همزمان در صورتی که هیچ محوری در دستور مورد نظر مقدار نداشته باشد، به موقعیت صفر ماشین برمیگرداند. به مثال زیر دقت کنید.
G28 X Y; فقط محورهای گفته شده را بازنشانی میکند.
G28; تمام محورها را به موقعیت صفر ماشین بر میگرداند.
برای بررسی دستور بعدی که G29 میباشد، ابتدا باید مفهوم bed leveling را توضیح دهیم. bed leveling که در زبان فارسی به تراز کردن سطح ترجمه شده است، فرایندی است که باید قبل از شروع چاپ بررسی شود. بستر ناهموار به این معنی است که فاصله بین نازل و صفحه ساخت در نقاط مختلف تغییر میکند و میتواند باعث ایجاد مشکل در چسبندگی چاپ و کیفیت لایه اول شود.
در واقع دستور G29 در زبان برنامه نویسی G-code، فرایند تسطیح خودکار بستر (automatic bed leveling) را انجام میدهد. این تراز کردن معمولا توسط سیستم عامل انجام میشود و به همین دلیل ما نیز وارد جزئیات آن نمیشویم. فقط بدانید که این دستور بعد از دستور G28 مورد استفاده قرار میگیرد.زبان برنامه نویسی G-code قسمت دوم
بخش دوم: بررسی دستورات تنظیم دما
در بخش اول از آموزش برنامه نویسی G-code بیان کردیم که دستورات متفرقه (miscellaneous commands) با حرف M متمایز میشوند. و وظیفه آنها کنترل گرمایشی و یا دستورات کنترل فن است.
دستورات M104، M109، M140 و M190 به عنوان دستورات تنظیم دما در این زبان برنامه نویسی کاربرد دارند.
اما قبل از توضیح این دستورات بهتر است که چند اصطلاح تخصصی در حوزه چاپ سه بعدی را توضیح دهیم.
Extrusion یا اکستروژن، نامی است که به بر اساس سازمان استاندارد بین المللی ASTMبه یک فرآیند چاپ سه بعدی خاص داده میشود که در آن مواد به طور انتخابی از طریق یک نازل یا روزنه توزیع میشود.
Filament یا فیلامنت نوع خاصی از مواد چاپی است که توسط چاپگرهای سه بعدی استفاده میشود. این گلولههای پلاستیکی کاربرد زیادی در صنعت چاپ دارند.
filament extrusion نیز دستگاهی است که گلولههای فیلامنت را به رشته پلاستیکی تبدیل میکند. این رشته به عنوان ماده چاپی به چاپگرها تزریق میشود.
hotend نیز بخشی از چاپگر سه بعدی است که رشته فیلامنت را به اکستروژن تبدیل میکند. و به حفظ دمای ثابت و دقیق برای چاپ موفق کمک میکند.
دستورات زیر در زبان برنامه نویسی G-code شامل هیچ حرکتی نمیشوند. اما تاثیر زیادی بر نتیجه نهایی دارند.
دستور M104، دمای مورد نظر را برای رسیدن به دمای hotend تنظیم میکند و آن را تا زمانی که دستور دیگری داده شود، حفظ میکند.
در این دستور از پارامترهای S برای تعیین دما و همچنین T برای تعیین شماره هد چاپ نیز استفاده میشود. به مثال زیر توجه کنید.
M104 S210; دمای هدف برای هات اند را بر روی 210 درجه تنظیم میکند.
این خط فرمان به دستگاه دستور میدهد که hotend را تا 210 درجه سانتیگراد گرم کند. پس از تنظیم دمای مورد نظر، چاپگر دستور بعدی در خط فرمان را اجرا میکند و منتظر رسیدن به آن دما و اجرای دستور بعدی نمیماند.
اگر تمایل دارید که hotend به دمای مورد نظر برسد و سپس دستور دیگر در خط بعدی اجرا شود، میتوانیم از دستور M109 استفاده کنیم.
M109 S210; دمای هدف برای هات اند را بر روی 210 درجه تنظیم میکند و تا رسیدن به آن دما به دستور بعدی نمیرود.
قبل از توضیح دو دستور دیگر، ابتدا باید print bed را توضیح دهیم. print bed سطحی از چاپگر سه بعدی است که در آن هد چاپ مواد تشکیل دهنده پرینت سه بعدی را در آن قرار میدهد.
در زبان برنامه نویسی G-code برای تنظیم دمای print bed از دستورات M140 و M190 استفاده میشود.
M140 S110; دمای مورد نظر برای print bed را روی 110 درجه تنظیم میکند.
M190 S110; دمای مورد نظر برای print bed را روی 110 درجه تنظیم میکند و تا رسیدن به آن دما به دستور بعدی نمیرود.زبان برنامه نویسی G-code قسمت دوم
بخش سوم: بررسی دستورات کنترل فن
در زبان برنامه نویسی G-code از دو دستور M106 و M107 برای کنترل فن استفاده میشود. M106 یک فن را روشن و سرعت آن را تنظیم میکند. این تنظیم سرعت به ویژه برای فن خنک کننده قطعه مفید است، زیرا در طول فرآیند چاپ به سرعتهای متفاوتی نیاز است.
پارامتر S در این دستور تعیین کننده سرعت است که عددی بین 0 تا 255 است. عدد 255 میزان 100 درصدی سرعت فن است و مقادیر دیگر نیز بر همین اساس تنظیم میشوند.
M106; یک فن را با سرعت حداکثر روشن میکند
M106 S128; یک فن را روشن و سرعت آن را بر روی 50 درصد تنظیم میکند.
چند فن با سرعت کنترل شده را میتوان با پارامتر شاخص (P) تعریف کرد، زیرا به هر فن یک شاخص توسط سیستم عامل اختصاص داده شده است.
در نهایت، دستور M107 یک فن مشخص شده را خاموش میکند. اگر پارامتر شاخص ارائه نشده باشد، معمولاً فن خنک کننده خاموش میشود.زبان برنامه نویسی G-code قسمت دوم
بخش چهارم: بررسی یک قطعه کد نوشته شده با زبان برنامه نویسی G-code
اکنون با توجه به آنچه در بخش اول و دوم آموزش دستورات G-code بیان کردیم، وقت آن رسیده است که ساختار یک برنامه ساده را بررسی کنیم. به صورت کلی برنامه نویسی در این زبان به سه فاز تقسیم میشود.زبان برنامه نویسی G-code قسمت دوم
فاز اول: آماده سازی قبل از چاپ
نمونه کد زیر آماده سازی قبل از چاپ است که درباره آن توضیح خواهیم داد.
G90
M82
M140 S80
M104 S200
G28
G29
خط اول میگوید که حرکات باید از موقعیت مطلق استفاده کنند. خط دوم نیز به اکسترودر میگوید که اکستروژن را نیز به صورت مطلق تفسیر کند. خطوط سوم و چهارم شروع به گرم کردن بستر و نازل تا دمای مورد نظر خود میکنند. دو خط آخر نیز باعث تنظیم محورها به موقعیت صفر ماشین و تنظیم فرایند تسطیح خودکار بستر میشوند.
پرینت سه بعدی یک فرآیند لایه به لایه است، و چاپ سه بعدی شامل حرکات زیادی در صفحه XY است. در ضمن در پرینت سه بعدی یک حرکت کوچک در جهت Z شروع لایه بعدی را مشخص میکند. به مثال زیر که با زبان برنامه نویسی G-code نوشته شده است، توجه کنید.زبان برنامه نویسی G-code قسمت دوم
G1 X103.505 Y153.291 E4.5648; حرکت و اکستروژن در صفحه XY
G1 X103.291 Y153.505 E4.5804; حرکت و اکستروژن در صفحه XY
G1 Z0.600 F3000; تغییر لایه
G1 X104.025 Y154.025 F9000; حرکت در صفحه XY
G1 X95.975 Y154.025 E0.4133 F1397; حرکت و اکستروژن در صفحه XY
فاز سوم: بازنشانی دادههای چاپگر
دستورات که در این بخش نوشته میشوند، چاپگر را به حالت پیشفرض بازنشانی میکنند. دستورات زیر بخشی از اقداماتی هستند که در این بخش نوشته میشوند.
M107; خاموش کردن فن
G1 Z10; دور کردن نازل از پرینت
M104 S0; گرمایش هات اند را خاموش میکند.
M140 S0; گرمایش bed را خاموش میکند.
M84; موتورها را خاموش میکند.
بخش پنجم: شیوه انتقال دستورات
ارسال دستورات از طریق کامپیوتر تنها راه ارسال اطلاعات به چاپگرهای سه بعدی نیست. نرم افزارهای کنترلی مانند Pronterface و OctoPrint امکان ارتباط مستقیم با چاپگر سه بعدی را فراهم میکنند، در این صورت میتوانید دستورات را به صورت دستی وارد کنید.
OctoPrint و کاربرد آن در زبان برنامه نویسی G-code
به دلایل واضح، چاپ هر چیزی با ارسال خطوط کد به صورت جداگانه عملی نیست. اما این روش برای اهداف دیگری مانند بازیابی اطلاعات ارزشمند برای کالیبراسیون یا حتی زمانی که چاپگر سه بعدی فاقد صفحه نمایش است، استفاده میشود.
در این بخش سعی شد تا پرکاربردترین دستورات زبان برنامه نویسی G-code که در حوزه چاپ سه بعدی کاربرد دارد، گفته شود. برای کسب اطلاعات بیشتر با ما مانند همیشه همراه باشید.زبان برنامه نویسی G-code قسمت دوم