Каталог
|
Пробный минивыжигатель на двигателях 28byj-482020-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):
Рис. 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. Поэтому необходимо использовать специальное ПО, например:
В качестве дополнительного ПО могу порекомендовать:
Примеры работы с 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 Ускоренное видео:
Считаю эксперименты с поделкой вполне удачными.
Благодарим Вас за обращение! Ваш отзыв появится после модерации администратором.
Михаил
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
Шикардос!!!
|