مینی CNC لیزری با آردوینو برای حکاکی چوب و برش کاغذ
خیلی وقتها دلمون میخواد طرحهای دلخواهمون رو روی چوب حکاکی کنیم یا کاغذ و مقوا رو با دقت بالایی برش بزنیم، اما خرید یه دستگاه CNC صنعتی اصلا مقرونبهصرفه نیست. خبر خوب اینه که با چند تا قطعه دورریختنی و یه کم خلاقیت، میتونی یه مینی سیانسی لیزری خیلی جذاب بسازی. تو این پروژه از قطعات مکانیکی درایورهای قدیمی دیویدی برای ساخت محورهای حرکتی استفاده میکنیم که هم هزینه رو حسابی میاره پایین و هم دقت قابل قبولی داره.
ما تو تیم آیسیمدار همیشه دنبال پروژههایی هستیم که با کمترین هزینه، بهترین نتیجه رو بهت بدن. مغز متفکر این دستگاه یه برد Arduino Nano هست که کنار درایورهای استپر موتور و یه ماژول لیزر، کدهای مسیر (G-Code) رو به حرکات دقیق فیزیکی تبدیل میکنه. فرقی نمیکنه بخوای لوگوی خودت رو روی چوب حک کنی یا استیکرهای سفارشی بسازی، این مینی CNC قشنگ از پس کارهای ظریف برمیاد.
برای راهاندازی این پروژه علاوه بر کارهای مکانیکی، یه کم با تنظیمات نرمافزاری و کالیبره کردن محورها هم سروکار داریم که یکی از جذابترین بخشهای ساخت دستگاههای CNC به حساب میاد. پس قطعاتت رو آماده کن، حتما عینک ایمنی لیزر رو هم دم دستت بذار تا بریم و قدمبهقدم این گجت فوقالعاده رو با هم بسازیم.
قطعات و ابزار مورد نیاز برای ساخت CNC لیزری
- برد Arduino Nano (همراه با کابل USB)
- دو عدد مکانیزم استپر موتور درایو DVD
- دو عدد ماژول درایور استپر موتور A4988 (یا شیلد GRBL)
- ماژول لیزر 250 میلیوات با لنز قابل تنظیم (یا قویتر)
- منبع تغذیه 12 ولت با حداقل جریان 2 آمپر
- یه دونه ماسفت N-Channel مدل IRFZ44N
- مقاومت 10 کیلواهم
- مقاومت 47 اهم
- رگولاتور ولتاژ LM7805 (همراه با هیتسینک)
- برد سوراخدار (PCB خام)
- پین هدر نری و مادگی
- کانکتور دو پین JST XH
- خازن 1000 میکروفاراد 16 ولت
- سیم جامپر
- 8 عدد آهنربای نئودیمیوم کوچیک (میتونی از مکانیزم لنز دیویدی باز کنی)
- ترمینال پیچی دو پین
- بست کمربندی کوچیک
- چسب قطرهای
- چسب دوقلو (اپوکسی)
- تخته چوبی برای شاسی اصلی
- ورق پلکسی گلاس (اکریلیک)
- تعدادی پیچ، مهره و واشر M4
- عینک ایمنی لیزر
باز کردن درایو DVD و استخراج استپر موتورها
برای محورهای X و Y به دو تا مکانیزم درایو دیویدی نیاز داری. با یه پیچگوشتی چهارسوی کوچیک، همه پیچها رو باز کن و استپر موتور، ریلهای کشویی و قطعه متحرک (فالوئر) رو با دقت بیار بیرون. این موتورها از نوع استپر دوقطبی 4 پین هستن.
به خاطر ابعاد کوچیک این موتورها، نباید انتظار دقت و رزولوشن خیلی عجیبی داشته باشی، اما برای کاری که ما میخوایم انجام بدیم کاملا مناسبه. معمولا این موتورها با هر چرخش بین 20 تا 24 استپ میزنن. برای اینکه خیالت از بابت دقت کار راحت بشه، بهتره موتور رو تست کنی. محاسبه رزولوشن موتور مکانیزم دیویدی اصلا کار سختی نیست.
اول با یه کولیس یا میکرومتر دیجیتال، طول کل قسمت مارپیچ میله رو اندازه بگیر. برای موتوری که من استفاده کردم، این طول دقیقا 51.56 میلیمتر بود.
حالا باید فاصله بین دو رزوه مجاور (Lead) رو حساب کنیم. تعداد رزوهها تو این طول مشخص 12 تا بود. اگه طول کل رو تقسیم بر تعداد رزوهها کنیم (51.56 تقسیم بر 12)، فاصله هر رزوه حدود 4.29 میلیمتر برای هر چرخش به دست میاد.
اگه زاویه استپ این موتورها 18 درجه باشه، یعنی تو هر دور 20 استپ کامل میزنن. با تقسیم فاصله رزوه بر تعداد استپ (4.29 تقسیم بر 20)، رزولوشن نهایی حدود 0.214 میلیمتر بر هر استپ میشه. این دقت خیلی خوبیه و برای حکاکی و کارهای ظریف ما کاملا ایدهآله.
آمادهسازی ریلهای کشویی محورهای X و Y
برای اینکه حرکت ریلها نرمتر و روونتر بشه، میتونی از دو تا میله فلزی اضافه استفاده کنی. وظیفه اصلی این بخش اینه که قطعه متحرک بتونه با کمترین اصطکاک ممکن روی میلهها بلغزه. شاید تنظیم کردن زاویهها یه کم وقتت رو بگیره، اما حتما براش وقت بذار تا حرکت کاملا روون و بدون گیر کردن انجام بشه.
ساخت فریم نگهدارنده برای استپر موتورها
حالا باید با استفاده از ورقهای پلکسی گلاس (اکریلیک)، دو تا شاسی اصلی برای نگه داشتن استپر موتورها و ریلهای کشویی بسازی. بین شاسی اصلی و پایه موتور حتما باید از اسپیسر (فاصلهانداز) استفاده کنی تا محورها دقیقا سر جای درستشون قرار بگیرن و موقع کار تراز باشن.
اتصال دقیق ریلهای کشویی به شاسی اصلی
تو این مرحله اول با استفاده از یه کم چسب قطرهای، جایگاه دقیق ریلها رو موقتا تنظیم کن. این تنظیم باید طوری باشه که قطعه متحرک (فالوئر) خیلی خوب با مارپیچ استپر موتور درگیر بشه. حواست باشه که این اتصال نباید خیلی سفت یا خیلی شل باشه؛ چون اگه درگیری مناسب نباشه، موتور اصطلاحا استپ رد میکنه یا موقع حرکت جریان بیش از حدی میکشه.
پیدا کردن نقطه بهینه یه کم زمان میبره و نیاز به دقت و حوصله داره. بعد از اینکه جای دقیقشون رو پیدا کردی و مطمئن شدی همهچیز روون حرکت میکنه، با چسب دوقلو (اپوکسی) قطعات رو سر جای خودشون محکم و ثابت کن. وقتی تنظیم شد، با استفاده از چسب اپوکسی اونها رو ثابت کردم.
سیمکشی و آمادهسازی کابل استپر موتورها
برای سیمکشی استپر موتورها، استفاده از یه کابل USB قدیمی انتخاب خیلی هوشمندانهایه، چون هم 4 رشته سیم داخلی داره، هم روکش محکم و انعطافپذیری خوبی برای حرکتهای مداوم دستگاه داره. اول مولتیمتر رو بذار روی حالت بوق (پیوستگی) تا جفتسیمهای مربوط به کویل A و کویل B موتور رو پیدا کنی.
بعد از مشخص شدن سیمها، هر جفت رو با رنگهای مجزا لحیم کن. برای تمیزی کار و جلوگیری از اتصالی تو آینده، روی محل لحیمکاریها حتما از وارنیش حرارتی (شیرینک) استفاده کن.
ترکیب و اتصال محورهای X و Y به یکدیگر
حالا باید محورهای حرکتی X و Y رو به صورت عمود بر هم به هم وصل کنی تا مختصات حرکتی شکل بگیره. بینشون از اسپیسر استفاده کن تا فاصله مناسب حفظ بشه. روی محور بالایی هم یه شبکه فلزی نازک یا تخته سبک رو به عنوان میز کار دستگاه نصب کن. برای نگهداشتن قطعه کار روی میز، آهنرباهای نئودیمیومی که از قطعات دیویدی درآوردی، بهترین گیره برای کار ما هستن.
مدار الکترونیکی و اتصالات کنترلر
قطعاتی که برای ساخت بخش الکترونیک نیاز داریم:
- برد Arduino Nano
- دو عدد ماژول درایور استپر موتور A4988
- یه دونه ماسفت N-Channel مدل IRFZ44N
- رگولاتور ولتاژ LM7805 همراه با هیتسینک
- مقاومتهای 47 اهم و 10 کیلواهم
- یه دونه خازن 1000 میکروفاراد 16 ولت
- کانکتور JST دو پین نرینگی
- پین هدرهای نری و مادگی
- یه تیکه برد سوراخدار 20 در 80 میلیمتر
تو فریمور GRBL، پینهای دیجیتال و آنالوگ آردوینو از قبل رزرو و تعریف شدن. پینهای Step برای محورهای X و Y به ترتیب به پینهای دیجیتال 2 و 3 وصل میشن. پینهای Dir برای همین محورها هم به پینهای دیجیتال 5 و 6 وصل میشن. پین D11 هم برای فعالسازی و کنترل لیزر در نظر گرفته شده.
برد آردوینو مستقیم از طریق کابل USB تغذیه میشه، اما درایورهای A4988 نیاز به تغذیه خارجی دارن. یادت نره که تمام پایههای زمین (GND) تو مدار باید به هم وصل بشن. پایه منطقی VDD تو ماژولهای A4988 هم به پایه 5 ولت آردوینو وصل میشه.
ماژول لیزری که اینجا استفاده میکنیم با ولتاژ 5 ولت کار میکنه و مدار درایور جریان ثابت داخلی داره. برای تامین 5 ولت تمیز و پایدار از منبع تغذیه اصلی، از رگولاتور LM7805 استفاده میکنیم. نصب هیتسینک روی این رگولاتور کاملا اجباریه.
ماسفت IRFZ44N تو این مدار نقش یه سوییچ الکترونیکی سریع رو بازی میکنه و هر زمان که پین D11 آردوینو سیگنال High بفرسته، لیزر رو روشن میکنه.
نکته مهم: هیچوقت لیزر رو مستقیم به پایه 5 ولت آردوینو وصل نکن! این لیزر جریانی بالاتر از 250 میلیآمپر میکشه و برد نانو توانایی تامین این جریان رو نداره. حالا باید پینهای تنظیم میکرواستپ (MS1 تا MS3) رو کانفیگ کنیم.
وضعیت پینها به این شکله: اگه هر سه Low باشن (حالت پیشفرض)، موتور Full step حرکت میکنه. اگه پین اول High و بقیه Low باشن، Half step میشه. اگه پین دوم High باشه، Quarter step داریم. اگه دو پین اول High باشن حالت یکهشتم استپ، و اگه هر سه پین High بشن حالت یکشانزدهم استپ فعال میشه.
این سه پین مقاومت Pull-down داخلی دارن، پس اگه رهاشون کنی، مدار تو حالت فولاستپ کار میکنه. ما برای اینکه حرکتی خیلی نرم و بدون لرزش داشته باشیم، هر سه پین رو به ولتاژ وصل میکنیم تا درایور تو حالت 1/16 استپ کار کنه.
بیشتر استپر موتورها تو حالت عادی 200 استپ تو هر دور میزنن. با کنترل دقیق جریان کویلها، درایور A4988 میتونه حرکت رو به قسمتهای خیلی کوچیکتری تقسیم کنه؛ یعنی تا 3200 استپ تو هر دور! مزیت اصلی میکرواستپینگ اینه که خشکی و پرش حرکتی موتور رو به شدت کم میکنه.
البته باید بدونی که دقیقترین گشتاور و موقعیت نگهدارنده موتور، تو همون حالت فولاستپ به دست میاد و موتور تو گامهای میانی قدرت نگهداری کمتری داره. به صورت کلی، هرجا نیاز به سرعت بالا داشتی باید بری سراغ فولاستپ، اما برای این کار ظریف لیزری، همون میکرواستپ بهترین انتخابه.
مونتاژ نهایی شاسی و قطعات الکترومکانیکی
حالا باید یه پایه نگهدارنده برای لیزر با استفاده از یه تسمه فلزی نازک و چند تا براکت پلاستیکی L شکل بسازی. بعد از آماده شدن پایه لیزر، کل مجموعه مکانیکی و محورها رو با پیچ و مهرههای M4 روی یه تخته چوبی محکم نصب کن.
نصب و راهاندازی ماژول لیزر
ماژول لیزری که تو این پروژه استفاده شده، یه لیزر فوکوسدار 650 نانومتری با توان 250 تا 300 میلیواته. بدنه فلزی این لیزر خودش به عنوان هیتسینک عمل میکنه و لنز اون بهت اجازه میده نقطه تمرکز پرتو رو دقیقا روی کار تنظیم کنی.
با دو تا بست کمربندی، لیزر رو محکم روی پایهای که ساختی ببند. سیمهای لیزر رو هم به سوکت مربوطه روی برد درایور وصل کن. اگه احساس کردی لیزر خیلی داغ میشه میتونی یه هیتسینک اضافه هم روش نصب کنی، اما برای من داغ نمیکرد و به همون بدنه فلزی اکتفا کردم.
تنظیم دقیق جریان درایور استپر موتورها
برای اینکه موتورها با سرعت مناسبی کار کنن اما داغ نشن یا آسیب نبینن، باید جریان خروجی درایور رو محدود کنیم. مثلا اگه موتور تو نهایتا تحمل 1 آمپر رو با مقاومت 5 اهم داشته باشه، تو حالت عادی باید با ولتاژ 5 ولت راهاندازی بشه.
اما ما اینجا مدار رو به 12 ولت وصل کردیم تا سرعت استپها بالاتر بره. پس قطعا باید جریان رو به صورت اکتیو محدود کنیم تا موتور نسوزه.
درایور A4988 یه پتانسیومتر کوچیک (پیچ تنظیم) روی خودش داره که دقیقا برای همین کاره. یه راه برای تنظیم اینه که درایور رو بذاری رو حالت فولاستپ و جریانی که از یکی از کویلهای موتور میگذره رو اندازه بگیری.
جریانی که تو این حالت اندازه میگیری، حدودا 0.7 برابر حداکثر جریانیه که درایور اجازه عبور میده (چون تو حالت فولاستپ هر دو کویل روشن هستن). یادت باشه که تغییر ولتاژ منطقی (Vdd) روی میزان ولتاژ مرجع (VREF) تاثیر میذاره.
اما راه بهتر و سادهتر اینه که ولتاژ مرجع (VREF) رو مستقیم از روی پتانسیومتر اندازه بگیری. طبق فرمول این درایور، جریان محدود شده برابر است با ولتاژ مرجع ضرب در 1.25. پس اگه بخوای جریان روی 0.75 آمپر محدود بشه، باید ولتاژ مرجع رو با چرخوندن پتانسیومتر روی 0.6 ولت تنظیم کنی.
همونطور که گفتیم تو حالت فولاستپ جریان روی 70 درصد قفل میشه. پس اگه جریان 1 آمپر میخوای، لیمیت جریان باید 1.4 آمپر باشه که معادل تنظیم ولتاژ VREF روی 1.12 ولته.
حواست باشه که جریان سیمپیچها با جریانی که منبع تغذیه میکشه خیلی فرق داره؛ پس هیچوقت برای تنظیم جریان موتور، آمپرمتر رو تو مسیر ورودی منبع تغذیه نذار. بهترین جا برای مولتیمتر، سری کردنش با یکی از سیمپیچهای استپر موتوره.
آمادهسازی برای اولین تست دستگاه!
قطعه کاری خودت رو با چهار تا آهنربای کوچیک نئودیمیومی روی میز کار فیکس کن و محورهای X و Y رو دستی تو نقطه شروع (Home) قرار بده. حالا تغذیه خارجی برد رو وصل کن و برد Arduino Nano رو با کابل USB به کامپیوتر متصل کن. قبل از اینکه بری سراغ نرمافزار، باز هم تکرار میکنم: اول عینک ایمنی لیزر رو به چشم بزن. ایمنی همیشه مهمترین بخش پروژههاست!
نصب و آپلود فریمور GRBL روی آردوینو
- فایل فریمور GRBL نسخه 1.1 رو دانلود کن.
- فایل فشرده master.zip رو روی دسکتاپ اکسترکت کن تا پوشه grbl-master رو ببینی.
- نرمافزار Arduino IDE رو باز کن.
- از منوی بالا برو به مسیر Sketch <- Include Library <- Add .ZIP Library.
- وارد پوشه grbl-master شو، پوشه داخلی grbl رو انتخاب کن و دکمه Open رو بزن.
- حالا کتابخونه نصب شده و پیغام موفقیتآمیز بودن اضافه شدن کتابخونه رو پایین نرمافزار میبینی.
- در نهایت از منوی File و Examples، برنامه grbl upload رو باز کن و اون رو مستقیم روی برد آردوینو آپلود کن.
ارسال جیکد (G-Code) به دستگاه CNC
حالا به نرمافزاری نیاز داریم که کدهای حرکتی رو به آردوینو بفرسته. نرمافزار LaserGRBL یکی از بهترین و سادهترین برنامهها برای سیانسیهای لیزری خانگیه که میتونه تصاویر و لوگوها رو مستقیم به دستورات G-Code تبدیل کنه. این برنامه به طور خودکار پورتهای COM رو چک میکنه. پورت مربوط به آردوینو رو انتخاب کن و Baud Rate رو روی عدد 115200 بذار.
برای اینکه تنظیمات داخلی دستگاه رو ببینی، تو بخش کنسول دستور $$ رو تایپ کن و اینتر بزن. لیستی از تنظیمات فریمور GRBL روی مانیتور نمایش داده میشه. این مقادیر روی حافظه EEPROM آردوینو ذخیره میشن، بنابراین با قطع شدن برق پاک نمیشن. بعضی از این کدها مثل $0 برای تاخیر پالس و $1 برای تاخیر تو حالت استراحت هستن.
دستورات دیگه هم به ترتیب برای معکوس کردن پینها، فعالسازی محدودکنندهها و هومینگ استفاده میشن که اگه از سنسور لیمیت استفاده نمیکنی، نیازی به تغییرشون نداری.
مهمترین مقادیری که باید با توجه به موتورها و گام پیچ دستگاهت تغییر بدی، کدهای $100 و $101 (میزان استپ بر میلیمتر برای هر محور) و کدهای $110 و $111 (حداکثر سرعت محورها) هستن. کدهای $120 تا $122 برای شتاب حرکت و کدهای $130 تا $132 برای تعیین حداکثر فضای حرکتی فیزیکی دستگاه (بر حسب میلیمتر) کاربرد دارن.
$120=50.000 (x accel, mm/sec^2) $121=50.000 (y accel, mm/sec^2) $122=50.000 (z accel, mm/sec^2) $130=225.000 (x max travel, mm) $131=125.000 (y max travel, mm) $132=170.000 (z max travel, mm)
کالیبره کردن و تنظیمات نهایی نرمافزار
رسیدیم به چالشبرانگیزترین بخش پروژه! اول از همه باید لنز لیزر رو اونقدر با دست بچرخونی که پرتو لیزر به کوچیکترین و تیزترین نقطه ممکن روی سطح کار تبدیل بشه. این کار یه کم نیاز به صبر و آزمون و خطا داره.
بعد از اون باید تنظیمات GRBL رو کالیبره کنی. مثلا برای موتورهای من تنظیمات به این شکل جواب داد: مقادیر $100 و $101 روی عدد 110.000 و مقادیر $130 و $131 روی عدد 40.000 قرار گرفت.
برای تست دقت، یه مربع 40 میلیمتری رو طراحی کن و اجازه بده دستگاه اون رو حک کنه. با خطکش اضلاع مربع رو اندازه بگیر و اگه سایزش فرق داشت، مقادیر $100 و $101 رو تغییر بده. اگه این دو مقدار یکی نباشن، شکلت تو یه جهت کشیده میشه. موتورهای دیویدیرایترهای مختلف با هم فرق دارن، پس با حوصله این کار رو انجام بده.
- بخش Connection control: اینجا میتونی پورت سریال و Baud rate مناسب رو برای اتصال به آردوینو انتخاب کنی.
- بخش File control: نمایش فایل لود شده و درصد پیشرفت کار. دکمه سبز Play اجرای کار رو شروع میکنه.
- بخش Manual commands: اینجا میتونی کدهای G-Code رو دستی تایپ کنی و بفرستی.
- بخش Command log: وضعیت اجرای کدها، صف انتظار و ارورهای احتمالی رو نشون میده.
- بخش Jogging control: دکمههایی برای حرکت دادن دستی لیزر. اسلایدر عمودی برای سرعت و اسلایدر افقی برای تعیین طول قدم حرکتیه.
- بخش Engraving preview: پیشنمایش طرح نهایی. موقع کار هم یه علامت ضربدر آبی محل فعلی لیزر رو نشون میده.
- بخش Grbl reset/homing: دکمههایی برای ریست نرمافزاری، حرکت به نقطه صفر و باز کردن قفل موتورها.
- بخش Feed hold and resume: برای متوقف کردن موقت کار و ادامه دادن مجدد اون.
- بخش Line count and time: تخمین زمان پایان کار بر اساس سرعت فعلی.
- بخش Overrides status: برای تغییر سرعت موتورها و توان لیزر تو حین کار (این قابلیت فقط تو فریمور 1.1 به بالا فعاله).
حکاکی روی سطح چوب
تو نرمافزار LaserGRBL قابلیتی به اسم Raster Import وجود داره که بهت اجازه میده عکسهای JPG، PNG یا BMP رو مستقیم وارد برنامه کنی و بدون نیاز به برنامههای دیگه، اونو به دستورات حکاکی تبدیل کنی. فرقی نمیکنه یه عکس پرتره باشه، یه فایل کلیپآرت یا یه لوگوی ساده؛ نرمافزار بهترین الگوریتم رو برای تبدیلش پیاده میکنه.
فقط یادت باشه که سرعت حرکت و توان لیزر برای مواد مختلف با هم فرق داره. با چند بار تست روی تکه چوبهای باطله، بهترین سرعت بر میلیمتر و تعداد خطوط (Quality) دستت میاد تا به کیفیت ایدهآلت برسی.
برش کاغذ و مقوای نازک
این ماژول لیزر 250 میلیواتی، علاوه بر حکاکی، توانایی برش کاغذهای نازک رو هم داره. برای برش موفق باید سرعت حرکت دستگاه رو خیلی بیاری پایین (مثلا کمتر از 15 میلیمتر بر دقیقه) و نقطه فوکوس لیزر رو هم تو تیزترین حالت ممکن تنظیم کرده باشی تا بیشترین انرژی تو یه نقطه متمرکز بشه.
برش وینیل، استیکرهای سفارشی و کلام آخر
یکی از جذابترین کاربردهای این مینی CNC، برش ورقهای وینیل و ساخت استیکرهای سفارشیه. جالبه بدونی که برش رنگهای تیره خیلی راحتتر از رنگهای روشنه، چون رنگ تیره نور و حرارت لیزر رو بهتر جذب میکنه و سریعتر برش میخوره. با یه کم خلاقیت میتونی با این دستگاه کوچیک، لیبلها و برچسبهای خیلی خاصی برای وسایلت بسازی.
ما تو آیسیمدار سعی کردیم صفر تا صد ساخت این گجت کاربردی رو برات باز کنیم. این پروژه نهتنها یه تمرین عالی برای یادگیری مکاترونیک و کار با برد آردوینو محسوب میشه، بلکه در نهایت یه دستگاه کاربردی روی میز کارت داری. حتما نظراتت رو برامون بنویس و اگه این مینی سیانسی رو ساختی، تجربهات رو با ما و بقیه بچههای آیسیمدار به اشتراک بذار. موفق باشی!
تو میتونی اولین سازنده باشی!
اگه پروژه رو ساختی به اشتراک بزار و اعتبار هدیه بگیر
این آموزش با استانداردهای اختصاصی آیسیمدار بازنویسی و بهینهسازی شده و تمامی حقوق انتشار آن متعلق به این مجموعه است و در صورت کپی یا بازنشر پیگرد قانونی خواهد داشت.








































گفتگوهای کاربران
هنوز نظری ثبت نشده؛ تو شروع کن!
هنوز نظری ثبت نشده؛ تو شروع کن!