Настройки GRBL arduino контроллера под конкретную механику
Настройки которые нас интересуют выглядит так: $0 и $1.
Эти 2 настройки устанавливают А и ось Y.
Нам потребуется вычислить количество шагов, которое нужно для того, чтобы переместить головку на 1 миллиметр в любом направлении.
Мы считаем это так:
Количество шагов = количество шагов на оборот х микрошагов / шаг резьбы
То есть, в нашем случае это будет выглядеть так:
20 шагов на оборот х (18 градусов на шаг) х 8 микрошагов (пины MS1 и MS2 подсоединены к +5v на платах EasyDriver-ов) /на 3-миллиметровый шаг резьбы (путь в 3 мм на один оборот).
(20 x 8) / 3 = 53.333333333
Итак введите в терминал: $0=53.333 и $1=53.333, — чтобы установить оси.
Далее вам необходимо сделать мягкий reset, для того, чтобы изменения вступили в действие ($X).
Или вы можете использовать программу Zapmaker’s Grbl Controller для настройки Grbl.
Вам необходимо также ввести:
$ 4 = 200 — Устанавливает скорость по умолчанию, с которой головка движется по время работы.
$ 5 = 200 — Устанавливает скорость по умолчанию, с которой головка движется по время движения между заданиями.
$ 16 = 1 Это задает возможность конечных остановок.
$ 17 = 1 Это задает возврат на базу ($ H), в моем случае- все зависало. Для включения этой функции вам необходимо изменить исходный код для Grbl и перекомпилировать файл .hex. Инструкции, показывающие, как это сделать находятся в нижней части этого шага.
$ 18 = 69 Это установит нулевую точку в левом нижнем углу монтажного стола, когда команда H возврата на базу $ выполняется. Для углубленного понимания этой функции читайте Grbl Wiki.
$ 19 = 200
$ 20 = 200
$ 22 = 2,000 -Это задает расстояние задает дистанцию, на которую оси смещаются от конечных точек после выполнения команды на возврат на базу.
Углубленные объяснения для каждого из параметров Grbl находятся на Grbl Wiki.
Убедитесь в том, что все ваши настройки конфигурации верны, введя $$ в терминал. Вы должны увидеть нечто следующее:
$0=53.333 (x, шагов/мм)
$1=53.333 (y, шагов/мм)
$2=53.330 (z, шагов/мм)
$3=10 (импульс шага, микросекунд)
$4=200.000 (подача по умолчанию, мм / мин)
$5=200.000 (по умолчанию искать, мм / мин)
$6=28 (шаг порт инвертировать маску, Int: 00011100)
$7=50 (задержка простоя шаг, мс)
$8=100.000 (ускорение, мм / сек ^ 2)
$9=0.050 (отклонение перехода, мм)
$10=0.100 (дуги, мм / сегмент)
$11=25 (коррекция н-дуги, целое)
$12=3 (N-десятичные, целое)
$13=0 (отчет дюймов, логическое значение)
$14=1 (автозапуск, логическое значение)
$15=0 (обратный шаг позволен, логическое значение)
$16=1 (жесткие пределы, логическое значение)
$17=1 ( цикл возврата на базу, логическое значение)
$18=69 (самонаведения реж инвертировать маску, Int: 00000000)
$19=200.000 (самонаведение подача, мм / мин)
$20=200.000 (самонаведение искать, мм / мин)
$21=100 (самонаведение дребезга, мс)
$22=2.000 (самонаведение отрыва, мм)
Последним шагом является фокусировка лазера.
Я загрузил небольшой тестовый образец и дал последовательности X запуститься.
Вы можете включать и выключать лазерный диод используя соответствующий флажок Spindle On в программе Zapmaker’s Grbl Controller.
С первого раза у меня ничего не получилось, но после нескольких оборотов линзы, мне удалось получить отметку на бумаге, после этого все что мне было нужно, это всего лишь тонкая настройка и лазер был правильно ориентирован на монтажном столе.
Я подложил несколько 3 миллиметровых покладок под лазерным модулем, чтобы немного приподнять его, так как я хотел гравировать трехмиллиметровую фанеру. Это означало, что мне не потребуется каждый раз перенастраивать линзы, когда я захочу поменять материал.
Изменение исходного кода
Во время тестов я обнаружил что программа зависала во время получения команды возврата на базу: $H (homing).
Я подозревал, что проблема заключалась с осью Z, так как мой резак не имел ее.
Чтобы исправить данную проблему, нам нужно удалить все упоминания об оси Z из цикла возврата на базу.
Данное упоминание содержатся в файле исходного кода.
1. Скачайте файл исходного кода.
2. Распакуйте архив
3. откройте файл config.h в вашем текстовом редакторе (можно использовать блокнот)
4. Найдите следующий кусок кода:
#define HOMING_SEARCH_CYCLE_0
(1< #define HOMING_SEARCH_CYCLE_1 ((1<
5. Замените этот кусок на следующий:
// #define HOMING_SEARCH_CYCLE_0 (1<
#define HOMING_SEARCH_CYCLE_0 ((1<
6. Найдите следующий кусок кода:
#define HOMING_LOCATE_CYCLE ((1<
7. Замените этот кусок на следующий:
#define HOMING_LOCATE_CYCLE ((1<
8. Сохраните файл
9. Скомпилируйте заново файл grbl.hex . Я использовал Raspberry Pi для компиляции этого hex файла.
Если у вас что то не получится, — я приложил hex файл для вас ниже. Теперь вам надо прошить вашу ардуино, используя файл из этого архива.
Если всё работает корректно и все настройки введены, у вас должно получиться запустить цикл возврата на базу в процессе чего вы увидите как ваш резак установится на ноль. После чего вы можете начать креативить! Удачи !;-)
P.S. Ну и напоследок- видео:
Обратная связь
Интересуют вопросы реализации алгоритмов, программирования, выбора электроники и прочая информация, постараюсь осветить в отдельных статьях
пишите мне на netdm@mail.ru
Добавить комментарий