Шановні друзі!
26 та 31 грудня магазин працюватиме до 16 години. 1 та 2 січня магазин працювати не буде.
Вітаємо всіх з Різдвом та Новим Роком!
Мобільна версія Форум Arduino Документація Гарантійні умови 0 0
UA RU
Графік роботи магазину:
Пн-Пт: 8.00 - 19.00
Сб: 10.00 - 17.00
Нд: вихідний
Каталог
Напиши статтю і отримай знижку!

Пробный минивыжигатель на двигателях 28byj-48

2020-06-12

Всі статті →

Антон Царицынский

От прошлых ARDUINO-проектов осталось немного разного железа, которое стало основой для этой поделки. С ее помощью я познакомился с основами g-code, разным свободным программным обеспечением для ЧПУ и его настройками.Вид поделки показан на (рис. 1)

Рис: 1 - Общий вид

 

Механика

Как явствует из заголовка, в поделке нашлось место двум завалявшимся униполярным шаговикам 28byj-48 (рис. 2).

Рис. 2 – Шаговые двигатели 28byj-48

Использованы четыре обрезка вала диаметром 8мм и длиной 125мм и четыре линейных подшипника LM8UU, которые каким-то чудом плавно скользят по валу.

Все это крепко-крепко соединено воедино стяжками (рис. 3).

Рис. 3 – Крепление стяжками

Поскольку двигатели весьма медленные, выбрана ременная передача (рис. 4).

Рис. 4 – Ременная передача

Натяжение ремня в данной поделке обеспечивается только за счет выбора его длины. Сгонка ремня выполнена с помощью обычного суперклея. Устройств натяжения ремня нет, в качестве ответного узла (ролика) использованы сдвоенные подшипники (рис. 5, 6)

Рис. 5 – Ролики из подшипников

Дискета выступила в качестве импровизированного стола. Размер рабочей области составляет около 80х80мм. Стол приподнят на отрезках сосновой рейки и закреплен термоклеем (рис. 6).

Рис. 6 – Крепление стола

Каркас собран из частей металлического конструктора (рис. 7). Главное – не дышать, и все будет работать довольно сносно)

Рис. 7 – Каркас сомнительной жесткости

 

Электроника

В поделке использованы такие компоненты (рис. 8):

  • ARDUINO Nano (можно UNO);
  • «драйверы» шаговых двигателей ULN2003;
  • модуль с mosfet IRF520 для управления лазером;
  • понижающий стабилизатор напряжения (необязательно, все компоненты в данной поделке пятивольтовые, т.е. без модуля можно обойтись, однако мой блок питания на жутко просаживал напряжение, поэтому поделка работает через стабилизатор от блока на );
  • модуль гнезда разъема 2,1-5,5мм.

Рис. 8 – ARDUINO и компания

Ну и конечно же лазерный модуль (рис. 9). Заявлен целый 1Вт с длиной волны 405мм (фиолетовый цвет). При работе с лазером следует соблюдать меры предосторожности!

Рис. 9 – Лазерный модуль

Схема подключения компонентов показана на (рис. 10).

Рис. 10 – Схема подключения

 

Прошивка для ARDUINO

В поделке использована прошивка GRBL 0.9j servo – модификация стандартной версии для работы с сервомашинкой и двумя двигателями 28byj-48 (ссылка: https://github.com/ruizivo/GRBL-28byj-48-Servo).

Данная модификация ориентирована на 2D-рисовалки (плоттеры), в которых сервомашинка опускает/поднимает маркер. Управление сервомашинкой осуществляется посредством широтно-импульсной модуляции (ШИМ, она же PWM) на пине D11, что вполне подойдет и для управления мощностью лазера.

Существует также модификация более свежей GRBL 1.1f, в которой появился специальный «режим лазера» («laser mode»), для работы с тремя 28byj-48 (ссылка: https://github.com/TGit-Tech/GRBL-28byj-48). Однако у меня обнаружилась проблема с PWM, а именно с ее отсутствием. Возможно, это следствие модификации для добавления третьей оси. Поэтому пришлось остановиться на версии GRBL 0.9j.

Для работы с лазером в GRBL внесены некоторые изменения:

Файл «spindle_control.c»: в отличие от сервомашинки нам потребуемся весь диапазон PWM (рис. 11). Дополнительно я установил частоту PWM 980кГц по аналогии с GRBL 1.1 (рис. 12)

Рис. 11 – Изменяем диапазон PWM в файле «spindle_control.c»

Рис. 12 – Установка предделителя в файле «spindle_control.c»

Файл «config.h»: проверим, объявлен ли параметр VARIABLE_SPINDLE (отвечает за PWM), а также установим максимальные обороты шпинделя, равные 255 (рис. 13);

Рис. 13 – Изменяем обороты шпинделя в файле «config.h»

В среду ARDUINO прошивка добавляется через меню «Скетч» > «Подключить библиотеку» > «Добавить ZIP библиотеку», после чего нужно выбрать папку grbl из скачанного архива.

 

Программное обеспечение для компьютера

GRBL получает команды от компьютера через соединение USB. Поэтому необходимо использовать специальное ПО, например:

В качестве дополнительного ПО могу порекомендовать:

  • Inkscape (https://inkscape.org/) – векторный графический редактор, для которого существуют плагины для генерирования g-code (хотя у меня с ними не заладилось);
  • DXF2GCODE (https://sourceforge.net/projects/dxf2gcode/) – конвертор dxf-файлов в g-code. Экспорт в формат dxf поддерживают многие CAD-программы.

 

Примеры работы с LaserGRBL

Перед первым использованием необходимо задать в GRBL такой важный параметр как количество шагов на миллиметр по осям X и Y. Подключаемся к плате ARDUINO через «Grbl» > «Connect», затем выбираем «Grbl» > «Grbl configuration» (рис. 14).

Рис. 14 – Окно настроек GRBL

В первом приближении это число можно рассчитать так:

n = N*R / (?*D),

где N = 64 – количество шагов на 1 оборот двигателя 28byj-48;

R ≈ 64 – передаточное отношение редуктора двигателя 28byj-48;

D – диаметр шкива ременной передачи, мм (в моем случае около 12мм).

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

После внесения изменений в таблицу нажимаем кнопку «Write» для записи значений в энергонезависимую память микроконтроллера.

Завершающий этап настройки – фокусирование лазера. Согласно документации (https://github.com/robottini/grbl-servo) управление PWM осуществляется с помощью команды

M3 SXXX,

где XXX – число от 0 до 255 (0 – минимальная мощность, 255 – максимальная).

Для фокусирования не требуется максимальная мощность, поэтому в специальном поле LaserGRBL (рис. 15) можем записать, например, такой вариант:

M3 S10.

Рис. 15 – Выполнение команды g-code в GRBL

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

После фокусирования выполняем команду M5. Теперь поделка готова к работе.

Открываем растровую картинку в GRBL: «File» > «Open File» (рис. 16). Привет Факультету ракетно-космической техники (https://khai.edu/ua/education/fakultety-i-kafedry/fakultet-raketno-kosmichnoi-tehniki/) Национального аэрокосмического университета им. Н.Е. Жуковского «Харьковский авиационный институт»!

Рис. 16 – Открываем картинку в LaserGRBL

Обрабатываем изображение средствами LaserGRBL (рис. 17). Назначение настроек описано на официальном сайте программы.

Рис. 17 – Обработка логотипа

Жмем «Next» и задаем скорость гравировки, режим работы лазера, а также положение и размеры картинки на рабочем поле (рис. 18).

Рис. 18 – Завершение обработки

Нажимаем кнопку «Create!» и получаем картину траектории движения лазера. Поскольку в поделке отсутствуют концевики, перед каждой гравировкой проверяем начальное положение лазерного модуля (текущее программное положение отмечено «плюсом»). Для корректировки следует использовать джойстик слева внизу и кнопку установки нулевого положения (рис. 19).

Рис. 19 – Проверяем положение лазерного модуля перед выполнением!

Выбираем «File» > «Send To Machine» и наблюдаем процесс. Учитывая скорость двигателей и степень заполнения рисунка, он может занимать часы.

После проб на фанере решил выгравировать логотип на задней крышке телефона (рис. 20).

Рис. 20 – В процессе

Ссылка на вторую часть: https://arduino.ua/art124-probnii-minivijigatel-na-dvigatelyah-28byj-48-chast-2

Ускоренное видео:

Считаю эксперименты с поделкой вполне удачными.

Ваша оцінка статті:

Відмінно
Добре
Задовільно
Погано
Дуже погано

Загальна оцінка:

Оцінка "Пробный минивыжигатель на двигателях 28byj-48"
4 з 5
зроблена на основі 3 оцінок 3 клієнтських відгуків.

Дякуємо Вам за звернення! Ваш відгук з'явиться після модерації адміністратором.
Михаил
21.05.2021 17:09:05
У меня вопрос по настройке. На сколько я знаю в прошивке GRBL распиновка такая: Pin 2 - X_STEPPin 3 - Y_STEPPin 4 - Z_STEPPin 5 - X_DIRECTIONКак Вы подключили к этм пинам одну ось Х? Как Вы перенастроили прошивку под униполярное управление?Я попробовал на практике и у меня на драйвере ULN2003 не получилось.
Павлович Иван
07.07.2020 00:10:38
Прекрасная статья попробую повторить с некоторыми изменениями
Роман
29.06.2020 21:00:07
Шикардос!!!
оплата картами Visa і MasterCard