Делаем из 3D-принтера лазерный гравер

Сборка самодельного лазерного гравера с ЧПУ. Схема подключения cnc shield v3.0 + arduino uno + TTl и лазер.

Содержание

Фиксация экрана на фотополимернике

winso
Идет загрузка

Загрузка

19.05.2021

2270

24

Подпишитесь на автора

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых постах.

Отписаться от уведомлений вы всегда сможете в профиле автора.

Подписаться

Хотел обратиться к теме фиксации экрана на фотополимернике. Обобщить собственный опыт, может кому по…

Устройство лазерного гравёра для домашнего пользования и его принцип работы

Основой лазерного принтера является оптическая система. По своей сути это неоднородные линзы, собранные воедино. Их задача – сфокусировать световой поток от лазерного светодиода в мельчайшую точку, усилив его.

Также нельзя умалять и роль трансмиссионной и контрольной систем. Первая включает в себя сервоприводы, синхронизирующие лазер с заданной программой. Вторые, состоящие из датчиков и вычислительных схем, обеспечивают безошибочную работу систем оборудования.

Лазерный гравёр своими руками

ФОТО: bing.comЛазерный гравёр заводского производства

Механическая часть состоит из основных опорных частей и вспомогательных механизмов, которые составляют устройство самого агрегата. И наконец, охлаждение. Без этой системы кулеров, радиаторов лазер бы моментально перегрелся и сгорел – при работе он очень сильно нагревается.

Сборка самодельного лазерного гравера с ЧПУ.

Механическая часть самодельного лазерного гравера.

Недавно делал узел из карандашей (каретку для ЧПУ), и на основе данной каретки решил собрать лазерный гравер с ЧПУ. Но нужно, как минимум, 2 оси, поэтому собрал второй узел, но немного уже. Вот так выглядят узлы оси X и Y для самодельного лазерного гравера.

узлы оси X и Y для самодельного лазерного гравера.

Как собирал каретку, можете почитать в предыдущей статье. Про нее могу сказать одно: сделана она из карандашей, строительной шпильки и фанеры.

Закрепил с помощью реек и фанеры узлы осей Y и X.

Закрепил с помощью реек и фанеры узлы осей Y и X. Вот такой каркас станка получился. Пора приступить к электронной составляющей самодельного ЧПУ гравировального станка.

Электроника самодельного лазерного гравера.

Доставать лазер из старого DVD привода не стал, так как меня просили сделать ЧПУ станок, который можно повторить, и все узлы можно было бы купить, например, на AliExpress. Поэтому буду использовать лазерный модуль с TTL контролером от моего лазерного гравера. Обзор гравера можно посмотреть тут.

Лазерный модуль можно использовать в такой самоделке и подешевле, например, на 500 mw.

Лазерный модуль можно использовать в такой самоделке и подешевле, например, на 500 mw.

Так как я увлекаюсь еще и Arduin, то мозгом станка будет Arduino UNO и CNC shield v3. Драйвера буду использовать самые дешёвые A4988. Описание драйверов A4988 читайте в этой статье:

  • Драйвер шагового двигателя A4988.

Описание CNC shield v3 читайте в статье:

  • Плата для ЧПУ на Arduino UNO, CNC shield v3 и драйвера A4988 (DRV8825).

Для того, чтобы закрепить электронику

Для того, чтобы закрепить электронику, сделал заготовку из фанеры, которая будет крепиться с задней стороны гравера.

крепиться с задней стороны гравера.

После чего, закрепил электронику и установил на место, где будет все стоять.

После чего, закрепил электронику и установил на место, где будет все стоять.

Пришло время все подключить и запрограммировать.

Схема подключения cnc shield v3.0 + arduino uno + TTl и лазер.

Подключаем все компоненты по схеме.

Схема подключения cnc shield v3.0 + arduino uno + TTl и лазер.

Правда, у меня не установлены концевые выключатели. Схему взял из интернета, самому рисовать стало лень. Но когда буду писать обзорную статью про подключение электроники, обязательно все нарисую.

Как видим, схема достаточно простая, и запутаться тут сложно. Нам нужно к шилду подключить 2 шаговых двигателя. Один подключаем в разъем, где написано X, второй в разъем с надписью Y. Соответственно, один двигатель перемещает по оси X, второй по оси Y.

C подключением лазера будьте внимательны, в зависимости от версии прошивки, подключение TTL к Arduino может быть разным.

Внимание!!!С прошивки GBRL 9.0i были поменяны местами Z-Max (D12) и Spn_EN (D11).

TTL модуль подключаем к D11, который является ШИМ портом, – это необходимо для управления мощностью лазера, с помощью ШИМ.

Теперь, если вы желаете подключить концевик Z_Max, то его необходимо подключить в Spn_EN, а включение лазера необходимо подключать в Z+. Вот такая путаница с распиновкой на шилде.

После подключения уложил провода, чтобы ничего не торчало и не мешало работе станка.

Прошивка для лазерного гравёра на Arduino.

Для того, чтобы гравер заработал, в Arduino нужно загрузить код. Где же его взять? Код писать самостоятельно не нужно. Добрые люди уже написали и проверили работу прошивки на тысячах, а может и на сотнях тысяч различных станках с ЧПУ. Скачать прошивку GRBL 1.1 можно с репозитория, или внизу статьи, в разделе Материалы для скачивания.

Более подробно о прошивке и настройке GRBL 1.1 буду рассказывать в следующей статье.

Настройка и калибровка самодельного станка с ЧПУ.

После того, как мы загрузили прошивку, все настройки будут стандартные, и их нужно поменять под ваш станок. Это не так и сложно, но процесс занимает некоторое время. Для калибровки нужно перемещать по оси лазерный модуль, и смотреть, как точно происходит перемещение. Например, вы переместили на 100 мм, а станок переместился на 102 мм. Это все настраивается в прошивке. Полный процесс калибровки буду рассказывать в следующей статье. А сейчас выложу скриншот моих настроек GRBL 1.1 для лазерного гравировального станка.

скриншот моих настроек GRBL 1.1 для лазерного гравировального станка.

Программа LaserGRBL для управления лазерным гравером на Arduino.

Осталось установить программное обеспечения для компьютера, которое позволит гравировать, выбрав понравившуюся картинку. Я буду гравировать векторный логотип сайта и елочную игрушку. Исходники будут в разделе материалы для скачивания.

Программа LaserGRBL для управления лазерным гравером на Arduino.

LaserGRBL поддерживает гравировку растровой и векторной графики, что позволяет облегчить поиск материала для гравировки.

Подробнее о программе LaserGRBL напишу отдельную статью, так как там есть некоторые фишки, которые упрощают работу с лазерным гравером. Некоторые из них вы можете увидеть в видео.

А сейчас покажу, как выглядит исходное изображение, загруженное в программу LaserGRBL, и что получается после гравировки.

А сейчас покажу, как выглядит исходное изображение, загруженное в программу LaserGRBL, и что получается после гравировки.

Подведём итог.

В домашних условиях собрать лазерный гравер не составит большого труда. Но перед сборкой нужно определиться, чего мы ожидаем. В связи с тем, что данный станок я собрал попутно, то лазерный гравер не является первоначальной задачей. И выбор ходового винта, для данного станка, является не правильным решением. Потому что перемещение происходит медленно, а гравировка делается быстро, и я использовал только 50% мощности лазера. Это не приемлемо. Что же делать? Нужно использовать не ходовые винты, а ременную передачу, что увеличит скорость и плавность перемещения.

Если присмотреться на гравированные изделия

Если присмотреться на гравированные изделия, то можно увидеть небольшую рябь. Это связанно с тем, что по оси X ходовой винт имеет изгиб и при перемещении происходит раскачивание лазерной головы. Если такое колебание будет при фрезеровке, то зажатая фреза в материал просто не допустит такие небольшие колебания.

Более подробно настройку станка и программное обеспечение разберу в следующих статьях:

  • Электроника лазерного гравера. Arduino UNO, CNC shield v3, ttl laser driver.

Понравился проект Самодельный Лазерный гравёр с ЧПУ, в домашних условиях? Не забудь поделиться с друзьями в соц. сетях.

А также подписаться на наш канал на YouTube, вступить в группу Вконтакте, в группу на Facebook.

Спасибо за внимание!

Технологии начинаются с простого!

Фотографии к статье

подключить электронику лазерного гравировального станка

Файлы для скачивания

логотип сайта логотип сайта .svg 10 Kb 468 Скачать

Вы можете скачать файл.

елочнаяигрушка елочнаяигрушка.svg 8 Kb 448 Скачать

Вы можете скачать файл.

grbl_v1.1h grbl_v1.1h.zip 301 Kb 521 Скачать

Вы можете скачать файл.

Шаг 1

Берем два линейных вала и четыре суппорта для них.

Изготовление гравёра своими руками в домашних условиях – возможно ли это

По сути, подобная работа не столь сложна, как может показаться на первый взгляд. Существует несколько вариантов, как сделать гравёр своими руками с применением деталей от различной техники, которая может оказаться дома.

К примеру, такое устройство можно собрать на основе приводов DVD, принтера или же использовать для изготовления Ардуино Уно.

Из DVD привода можно изготовить лазерный гравировальный станок своими руками

ФОТО: ugra.ruИз DVD привода можно изготовить лазерный гравировальный станок своими руками

Самодельные лазерные гравёры могут быть предназначены для работы по дереву или металлу. Именно на этом параметре мы и остановимся подробнее.

Шаг 4

Подготавливаем пластины для лазерного резака (держатели каретки).

Необходимые материалы

Перед тем, как сделать гравер необходимо ознакомиться с перечнем нужных материалов. Для этого понадобятся:

  • две использованные гильзы калибра 7,62 мм и 8 мм;
  • лазер и моторчик от ДВД привода;
  • ЮСБ гнездо;
  • три резистора на 10 Ом;
  • резистор на 50 Ом;
  • кнопка выключения.

Важно! Для выполнения работ может понадобиться паяльник, дрель, шуруповерт, болгарка и бормашинка.

Пошаговая инструкция по изготовлению лазерного гравёра по дереву своими руками

Перед тем как приступить к работе, следует запомнить – лазерный луч довольно опасен. Если он попадает на роговицу глаза, необходимо немедленно обращаться к врачу. В противном случае последствия могут быть самыми плачевными, вплоть до полной потери зрения.

Подготовка материала корпуса

Для начала необходимо подготовить гильзы, чтобы они были пригодны для изготовления корпуса ручного лазерного гравёра. Для этого нужно взять сверло, хвостовик которого подходит по диаметру к горлышку  гильзы от патрона 7,62 мм.

Поджимая плоскогубцами и постоянно увеличивая диаметр, можно полностью выправить гильзу, придав ей форму ровного цилиндра.

Гильза должна принять форму ровного цилиндраФОТО: youtube.comГильза должна принять форму ровного цилиндра

После следует проверить размеры. Выправленная гильза должна довольно плотно входить в восьмимиллиметровую. При этом она должна двигаться, что необходимо впоследствии для регулировки.

Размеры гильз должны совпасть идеальноФОТО: youtube.comРазмеры гильз должны совпасть идеально

Выбор лазерного светодиода: какой подходит

Следует обратить внимание, что привод, из которого извлекается светодиод, должен иметь функцию записи. Именно записывающий лазер можно использовать как гравёр.

Для того чтобы определить, какой из двух подойдёт, нужно подать на них питание. Если свечения нет, значит, это считывающий элемент. Но стоит быть осторожным, чтобы луч при этом не попал в глаза.

Необходимо правильно выбрать лазерный светодиодФОТО: youtube.comНеобходимо правильно выбрать лазерный светодиод

Следующий шаг – подбор линзы

Линзу можно извлечь из того же привода. Они могут быть двух размеров, при этом подойдёт любая. Более крупная хорошо встанет в расправленную гильзу, ну а маленькой найдётся место позади после удаления капсюля.

Линзу можно демонтировать с того же приводаФОТО: youtube.comЛинзу можно демонтировать с того же привода

При демонтаже линзы следует быть особенно аккуратным. Если повредить её рабочую поверхность, линза будет непригодна для гравёра, придётся искать новую.

Снять линзу несложно, она просто проклеена по краям. Для демонтажа можно использовать как нож или резачок, так и обычную шлицевую отвёртку. Правда, перед работой её потребуется немного подточить.

Линзу нужно демонтировать крайне аккуратно, чтобы не повредить рабочую поверхностьФОТО: youtube.comЛинзу нужно демонтировать крайне аккуратно, чтобы не повредить рабочую поверхность

Удаление капсюлей из гильз и последующая сборка

Капсюли выбиваются из гильзы очень просто. Для этого потребуется кернер и круглая насадка от мясорубки. Гильза устанавливается на неё капсюлем вниз, изнутри надставляется кернер, по которому производится пара ударов молотком.

Выбить капсюли из гильзы очень простоФОТО: youtube.comВыбить капсюли из гильзы очень просто

Теперь отверстия от выбитых капсюлей требуется рассверлить. Проблема заключается в том, что гильзу в тисках не зажать, она сразу помнётся.

Но выход есть. Гильзу необходимо зажать в патрон дрели или шуруповёрта. Три губки равномерно сожмут и надёжно зафиксируют её. Однако с затяжкой и здесь не стоит перебарщивать, всему есть предел.

Гильзу можно зажать в патроне, тогда она не сомнётсяФОТО: youtube.comГильзу можно зажать в патроне, тогда она не сомнётся

Также можно поступить следующим образом. В патрон дрели или шуруповёрта зажимается сверло, а сама гильза фиксируется при помощи наждачной бумаги.

Однако такой способ опасен, не исключено получение травм, поэтому редакция Homius не рекомендует его использовать.

Ещё один способ сверления гильзыФОТО: youtube.comЕщё один способ сверления гильзы

Остаётся поместить светодиод в отверстие, где был капсюль, и зафиксировать его при помощи термоклея, а также зафиксировать линзу во второй гильзе. Луч будет регулироваться вытягиванием гильзы с линзой.

Светодиод уже внутри, можно продолжать сборкуФОТО: youtube.comСветодиод уже внутри, можно продолжать сборку

Подключение электрической части для подачи питания

Для подключения можно использовать любой питающий порт. В данном случае было выбрано гнездо от отслужившего своё принтера.

Его требуется разобрать и обточить так, чтобы оно плотно встало внутри латунной трубки, после чего припаять к плюсовому контакту сопротивление на 30 Ом.

Порт требуется разобрать, сняв металлическую оболочкуФОТО: youtube.comПорт требуется разобрать, сняв металлическую оболочкуК плюсовому контакту припаивается сопротивлениеФОТО: youtube.comК плюсовому контакту припаивается сопротивление

Кнопку питания также нужно модернизировать, соединив её контакты сопротивлением 50 Ом. Это позволит получить слабый луч при отпущенной кнопке, чтобы примериться. При нажатии лазер начнёт работать в полную силу.

Небольшая модернизация кнопки включенияФОТО: youtube.comНебольшая модернизация кнопки включения

Что же должно получиться в итоге

После того как в латунной трубке будет размещена и зафиксирована кнопка, можно собрать конструкцию воедино. При этом внешняя часть питающего штекера должна касаться трубки. Это и будет минусовым контактом.

Вот такой аккуратный лазерный гравёр из DVD-привода можно изготовить своими рукамиФОТО: youtube.comВот такой аккуратный лазерный гравёр из DVD-привода можно изготовить своими руками

Остаётся проверить его в работе. Кстати, он подойдёт и для выпаивания SMD-элементов, если немного убавить мощность луча, двигая гильзу с линзой.

Ручной лазерный гравёр работает прекрасноФОТО: youtube.comРучной лазерный гравёр работает прекрасно

Более подробно мастер-класс по изготовлению подобного устройства можно увидеть в этом видео.

Шаг 8

Теперь монтируем конструкцию на деревянную плиту. Движения должны быть точными и уверенными.
К этому этапу, к сожалению, не сделано фотографий.

Шаг 9

Закрепляем два электродвигателя на оси Y креплениями, напечатанными на 3Д-принтере.
Для этого используйте винты М3 10мм.
Закрутите винты, убедившись, что они выставлены ровно.

5. Программное обеспечение

Эскиз Arduino интерпретирует каждый блок команд. Существует несколько команд:

1 – переместите ПРАВО на один пиксель FAST (пустой пиксель).

2 – переместите ПРАВО на один пиксель SLOW (сгоревший пиксель).

3 – переместите ЛЕВЫЙ на один пиксель FAST (пустой пиксель).

4 – переместите LEFT на один пиксель SLOW (сгоревший пиксель).

5 – перемещение вверх на один пиксель FAST (пустой пиксель).

6 – переместите UP на один пиксель SLOW (сгоревший пиксель).

7 – переместите ВНИЗ одним пикселем FAST (пустой пиксель).

8 – переместите ВНИЗ одним пикселем SLOW (сгоревший пиксель).

9 – включить лазер.

0 – выключить лазер.

r – вернуть оси в исходное положение.

С каждым символом Arduino запускает соответствующую функцию для записи на выходные выводы.

Arduino контролирует скорость двигателя через задержки между ступенчатыми импульсами. В идеальном случае машина будет запускать двигатели с одинаковой скоростью, независимо от того, гравирует ли ее изображение или пропускает пустой пиксель. Однако из-за ограниченной мощности лазерного диода машина должна немного замедляться при записи пикселя. Вот почему есть две скорости для каждого направления в списке символов команд выше.

Скетч 3-х программ для лазерного Arduino-гравера ниже:

/* Stepper motor control program */// constants won’t change. Used here to set pin numbers:const int ledPin = 13; // the number of the LED pinconst int OFF = 0;const int ON = 1;const int XmotorDIR = 5;const int XmotorPULSE = 2;const int YmotorDIR = 6;const int YmotorPULSE = 3;//half step delay for blank pixels – multiply by 8 (<8ms)const unsigned int shortdelay = 936;//half step delay for burnt pixels – multiply by 8 (<18ms)const unsigned int longdelay = 2125; //Scale factor//Motor driver uses 200 steps per revolution//Ballscrew pitch is 5mm. 200 steps/5mm, 1 step = 0.025mm//const int scalefactor = 4; //full stepconst int scalefactor = 8; //half stepconst int LASER = 51;// Variables that will change:int ledState = LOW; // ledState used to set the LEDint counter = 0;int a = 0;int initialmode = 0;int lasermode = 0;long xpositioncount = 0;long ypositioncount = 0;//***********************************************************************************************************//Initialisation Function//***********************************************************************************************************void setup(){ // set the digital pin as output: pinMode(ledPin, OUTPUT); pinMode(LASER, OUTPUT); for (a = 2; a <8; a++){ pinMode(a, OUTPUT); } a = 0; setinitialmode(); digitalWrite (ledPin, ON); delay(2000); digitalWrite (ledPin, OFF); // Turn the Serial Protocol ON Serial.begin(9600);}//************************************************************************************************************//Main loop//************************************************************************************************************void loop(){ byte byteRead; if (Serial.available()) { /* read the most recent byte */ byteRead = Serial.read(); //You have to subtract ‘0’ from the read Byte to convert from text to a number. if (byteRead!=’r’){ byteRead=byteRead-‘0′; } //Move motors if(byteRead==1){ //Move right FAST fastright(); } if(byteRead==2){ //Move right SLOW slowright(); } if(byteRead==3){ //Move left FAST fastleft(); } if(byteRead==4){ //Move left SLOW slowleft(); } if(byteRead==5){ //Move up FAST fastup(); } if(byteRead==6){ //Move up SLOW slowup(); } if(byteRead==7){ //Move down FAST fastdown(); } if(byteRead==8){ //Move down SLOW slowdown(); } if(byteRead==9){ digitalWrite (LASER, ON); } if(byteRead==0){ digitalWrite (LASER, OFF); } if (byteRead==’r’){ //reset position xresetposition(); yresetposition(); delay(1000); } } }//************************************************************************************************************//Set initial mode//************************************************************************************************************void setinitialmode(){ if (initialmode == 0){ digitalWrite (XmotorDIR, OFF); digitalWrite (XmotorPULSE, OFF); digitalWrite (YmotorDIR, OFF); digitalWrite (YmotorPULSE, OFF); digitalWrite (ledPin, OFF); initialmode = 1; }}//************************************************************************************************************// Main Motor functions//************************************************************************************************************void fastright(){ for (a=0; a<scalefactor; a++) { digitalWrite (XmotorDIR, ON); delayMicroseconds(15); digitalWrite (XmotorPULSE, ON); digitalWrite (ledPin, ON); delayMicroseconds(15); digitalWrite (XmotorPULSE, OFF); delayMicroseconds(shortdelay); digitalWrite (ledPin, OFF); } xpositioncount++;}void slowright(){ for (a=0; a<scalefactor; a++) { digitalWrite (XmotorDIR, ON); delayMicroseconds(15); digitalWrite (XmotorPULSE, ON); digitalWrite (ledPin, ON); delayMicroseconds(15); digitalWrite (XmotorPULSE, OFF); delayMicroseconds(longdelay); digitalWrite (ledPin, OFF); } xpositioncount++;}void fastleft(){ for (a=0; a<scalefactor; a++) { digitalWrite (XmotorDIR, OFF); delayMicroseconds(15); digitalWrite (XmotorPULSE, ON); digitalWrite (ledPin, ON); delayMicroseconds(15); digitalWrite (XmotorPULSE, OFF); delayMicroseconds(shortdelay); digitalWrite (ledPin, OFF); } xpositioncount–;}void slowleft(){ for (a=0; a<scalefactor; a++) { digitalWrite (XmotorDIR, OFF); delayMicroseconds(15); digitalWrite (XmotorPULSE, ON); digitalWrite (ledPin, ON); delayMicroseconds(15); digitalWrite (XmotorPULSE, OFF); delayMicroseconds(longdelay); digitalWrite (ledPin, OFF); } xpositioncount–;}void fastup(){ for (a=0; a<scalefactor; a++) { digitalWrite (YmotorDIR, ON); delayMicroseconds(15); digitalWrite (YmotorPULSE, ON); digitalWrite (ledPin, ON); delayMicroseconds(15); digitalWrite (YmotorPULSE, OFF); delayMicroseconds (shortdelay); digitalWrite (ledPin, OFF); } ypositioncount++;}void slowup(){ for (a=0; a<scalefactor; a++) { digitalWrite (YmotorDIR, ON); delayMicroseconds(15); digitalWrite (YmotorPULSE, ON); digitalWrite (ledPin, ON); delayMicroseconds(15); digitalWrite (YmotorPULSE, OFF); delayMicroseconds (longdelay); digitalWrite (ledPin, OFF); } ypositioncount++;}void fastdown(){ for (a=0; a<scalefactor; a++) { digitalWrite (YmotorDIR, OFF); delayMicroseconds(15); digitalWrite (YmotorPULSE, ON); digitalWrite (ledPin, ON); delayMicroseconds(15); digitalWrite (YmotorPULSE, OFF); delayMicroseconds (shortdelay); digitalWrite (ledPin, OFF); } ypositioncount–;}void slowdown(){ for (a=0; a<scalefactor; a++) { digitalWrite (YmotorDIR, OFF); delayMicroseconds(15); digitalWrite (YmotorPULSE, ON); digitalWrite (ledPin, ON); delayMicroseconds(15); digitalWrite (YmotorPULSE, OFF); delayMicroseconds (longdelay); digitalWrite (ledPin, OFF); } ypositioncount–;}void xresetposition(){ while (xpositioncount!=0){ if (xpositioncount > 0){ fastleft(); } if (xpositioncount < 0){ fastright(); } }}void yresetposition(){ while (ypositioncount!=0){ if (ypositioncount > 0){ fastdown(); } if (ypositioncount < 0){ fastup(); } }}

6. Запуск и настройка

Arduino представляет мозг для машины. Он выводит сигналы шага и направления для шаговых драйверов и сигнала разрешения лазера для драйвера лазера. В текущем проекте для управления машиной требуется только 5 выходных контактов. Важно помнить, что основания для всех компонентов должны быть связаны друг с другом.

Шаг 18

Электроника: теплоотвод шагового двигателя

Вам нужен радиатор, без него двигатель будет пропускать шаги.

Рейтинг
( 1 оценка, среднее 5 из 5 )
Загрузка ...