Grbl controller candle инструкция на русском

Что такое Candle?

Candle GRBL — это бесплатное программное обеспечение для управления станками с ЧПУ. Он очень несложный и поэтому идеально подходит для новичков.

Хотя наличие только минимума функций может быть ограничением, это значительно снижает «информационную перегрузку», которая может возникнуть, если вы еще не знакомы с обработкой с ЧПУ.

Какие типы станков с ЧПУ используют программное обеспечение Candle?

Candle использует исходный код GRBL, программное обеспечение которого можно запустить с помощью аппаратного обеспечения Arduino . Таким образом, любой станок с ЧПУ, который имеет контроллер Arduino и не более 3 осей (X, Y и Z), может использовать программное обеспечение Candle для управления им.

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

Большинство граверов с ЧПУ в стиле 3018 оснащены оборудованием-клоном Arduino, поэтому они будут поставляться с копиями Candle или другого программного обеспечения на основе Grbl для управления этими станками.

Обзор интерфейса Candle

Состояние

В этом разделе показано положение шпинделя по отношению к рабочим координатам (смещения нулевой точки) и координатам станка (исходная точка станка или исходное положение станка).

Показания «состояния» Candle

Показания «состояния»

Для базовых станков с ЧПУ координаты станка будут располагаться там, где находится шпиндель, когда станок включен.

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

Контроль

Первая кнопка — « Кнопка домой ». При правильной настройке функция «Candle Grbl домой» вернет вашу машину в заранее определенную точку, это можно использовать, если ваша машина оснащена концевыми/домашним выключателями.

Кнопка «Домой» Candle

Кнопка «Домой»

Если у вас есть базовый станок, такой как гравер 3018, который не имеет концевых выключателей, вы можете игнорировать эту кнопку и вместо этого использовать «безопасное положение». Я объясню, как использовать его в качестве функции самонаведения позже в этой статье.

Следующая кнопка управления — датчик нуля Z. Плата управления Arduino имеет возможность подключения щупа.

Кнопка управления датчиком нуля Z

Кнопка управления датчиком нуля Z

Если он у вас подключен и настроен правильно, при нажатии этой кнопки будет прощупываться верхняя часть вашей детали, и она будет установлена ​​в качестве точки отсчета по оси Z.

Следующие две кнопки — Zero XY и Zero Z. Их нажатие установит ваши рабочие координаты в том месте, где в данный момент находится ваш шпиндель.

Кнопки нуля осей XY и Z

Кнопки нуля осей XY и Z

Переходя к нижнему ряду кнопок управления, первая из них — « Восстановить исходное положение ». Нажатие этой кнопки восстановит ваши предыдущие рабочие смещения с помощью команды G92.

Кнопка восстановления исходного состояния

Кнопка восстановления исходного состояния

Это необходимо, если вы нажмете сброс, так как это очистит ваши рабочие координаты, а нажатие «Восстановить исходную точку» восстановит их.

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

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

«Безопасное положение» будет перемещать оси вашего станка, как указано в диалоговом окне настроек в командах безопасного положения.

Кнопка безопасного положения

Кнопка безопасного положения

Ее можно использовать в качестве кнопки исходного положения, если на вашей машине нет переключателей исходного/конечного положения. Просто откройте окно настроек и введите «G53G00G90Z0.;G53G90X0.Y0». ” в командном поле безопасных позиций.

Теперь вы можете нажать эту кнопку, и ваша машина вернется в исходное положение.

Сброс является эквивалентом аварийной остановки. Нажмите ее, и ваш станок остановит шпиндель и любые движения осей. 

Кнопка сброса

Кнопка сброса

Разблокировка используется для того, чтобы ваша машина снова заработала после нажатия кнопки сброса

Кнопка разблокировки

Кнопка разблокировки

Шпиндель

Функция управления шпинделем

Функция управления шпинделем

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

Переопределение

Переопределение Candle

Переопределение Candle

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

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

Перемещения

Секция Jog позволяет вам вручную управлять 3 осями вашего станка. 4 кнопки направления слева управляют осями X и Y, а две сплошные стрелки справа управляют осью Z.

Секция перемещения Candle

Секция перемещения Candle

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

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

Выберите расстояние, на которое вы хотите переместиться, и нажатие кнопки направления переместит ось на выбранное расстояние.

В центре кнопок направления XY есть кнопка остановки, если вам нужно предотвратить сбой.

Следующим выбором является подача. Выберите скорость подачи, например, более медленную подачу, обеспечивающую более точное ручное управление.

Последним вариантом является флажок для включения управления с клавиатуры . Элементы управления для перемещения ваших осей следующие

ЦИФРОВОЙ БЛОК 8 = Y+
ЦИФРОВОЙ БЛОК 2 = Y-
ЦИФРОВОЙ БЛОК 4 = X-
ЦИФРОВОЙ БЛОК 6 = X+
ЦИФРОВОЙ БЛОК 9 = Z+
ЦИФРОВОЙ БЛОК 3 = Z-
ЦИФРОВОЙ БЛОК 5 = СТОП
ЦИФРОВОЙ БЛОК 7 = ДЛИНА ШАГА +
ЦИФРОВОЙ БЛОК 1 = ДЛИНА ШАГА –
ЦИФРОВОЙ БЛОК / = СКОРОСТЬ ШПИНДЕЛЯ –
ЦИФРОВОЙ БЛОК * = СКОРОСТЬ ШПИНДЕЛЯ +
ЦИФРОВОЙ БЛОК 0 = ПУСК / ОСТАНОВ ШПИНДЕЛЯ

Убедитесь, что вы не установили флажок по ошибке, так как если он установлен, вы не сможете использовать консоль.

Консоль

Консоль Candle

Консоль Candle

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

M Anual D ата I Nput позволяет вводить отдельные строки кода и выполнять их независимо от любого G кода программы.

Загрузите Программу G Code

Сначала необходимо создать программу, либо написав вручную использую команды G-кода, либо с помощью CAM программ.

Когда у вас есть программа, вы можете нажать «открыть» или «файл»> «открыть». Это поместит вашу программу в «очередь», готовую к отправке на ваш компьютер, когда вы нажмете «отправить».

Первые несколько строк программы должны быть видны в нижней части экрана.

Вы можете запустить программу G-кода как в метрической, так и в имперской системе, но Candle будет показывать только миллиметры в показаниях «состояния». Кажется, нет никакого способа изменить это.

Запуск программы G-кода в британских единицах приведет к созданию проекта правильного размера, если в вашей программе указан код G20 (дюймы).

Настройте Свой Станок С ЧПУ

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

Когда точки отсчета установлены, нажмите «безопасное положение», и если вы настроите его, как показано ранее в этой статье, ваша машина вернется в исходное положение.

Запустите Программу G-Кода

Как только ваша программа загружена, просто нажмите « Отправить», и машина запустит программу

Функции команды запуска программы

Функции команды запуска программы

Нажатие Pause остановит движение осей без остановки шпинделя.

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

Если вы хотите перезапустить, нажмите «Сброс», чтобы вернуться к началу программы, прежде чем снова нажать «Отправить».

Визуализатор Candle

Траекториями инструментов в визуализаторе можно управлять с помощью мыши обычным способом. 

Визуализатор, показывающий пути инструментов загруженной программы

Визуализатор, показывающий пути инструментов загруженной программы

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

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

Вывод

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

Это программное обеспечение идеально подходит для использования в сочетании с JCut и другими базовыми программами для генерации G-кода.

У меня было несколько глюков, когда я впервые начал использовать его. Основная проблема заключалась в том, что машина пыталась быстро выйти за пределы своих возможностей после нажатия «Прервать» и «Восстановить исходное положение». (Он вообще не должен двигаться).

Я не уверен, что я сделал, чтобы он работал правильно, но теперь он работает нормально.

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

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

В предыдущих статьях мы рассмотрели, где скачать прошивку grbl 1.1, как установить данную прошивку и с помощью какой программы производить настройки. Сегодня рассмотрим какие параметры мы получаем от станка. И как произвести настройку grbl 1.1 – инструкция на русском языке.

Включение станка, что за информация нам выдает grbl 1.1?

  • В предыдущей статье про Universal G-Code Sender при подключении станка, в консоли программы, мы видели информацию: Включение станка, что за информация нам выдает grbl 1.1?

Что означают все эти строки. Давайте рассмотрим их по порядку. Первая строка.

**** Connected to COM5 @ 115200 baud ****

Расшифровать ее можно так:

  • порт COM5;
  • скорость 115200 бод.

Данные параметры мы выбирали при подключении станка.

Данные параметры мы выбирали при подключении станка.

Следующая строка выводит информацию о версии прошивки.

Grbl 1.1g [‘$’ for help]

  • версия GRBL 1.1g.
  • [‘$’ for help] ([‘$’ для справки]) — для получения справки по прошивке GRBL необходимо ввести в командной строке $ и нажать Enter.

Третья строка отправляет команду «$$», что заставляет вывести настройки прошивки.

Следующая команда «$G» — Просмотр состояния парсера gcode. Эта команда выводит все активные режимы gcode в парсере G-кода Grbl. При отправке этой команды в Grbl, он ответит сообщением:

[GC:G0 G54 G17 G21 G90 G94 M0 M5 M9 T0 S0.0 F500.0]

Следующая команда «$G» - Просмотр состояния парсера gcode.

Команды Grbl «$».

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

Команда «$$» выводит все настройки «$» в монитор порта или в консоль управляющей программы.

Команда «$$» выводит все настройки «$» в монитор порта

Введите $ и нажмите Ввод, чтобы Grbl вывел подсказку. Символы $ и Ввод не будут отображаться.

Введите $ и нажмите Ввод, чтобы Grbl вывел подсказку. Символы $ и Ввод не будут отображаться.
Grbl должен вывести следующее:[HLP:$$ $# $G $I $N $x=val $Nx=line $J=line $SLP $C $X $H ~ ! ? ctrl-x]
‘$’-команды — это системные команды Grbl, используемые для изменения настроек, просмотра или изменения состояний и режимов работы Grbl, а также запуска процедуры поиска начальной позиции.
Последние четыре не-‘$’ команды — это команды управления в реальном времени, которые могут быть отправлены в любой момент, независимо от того, что в настоящее время делает Grbl. Они либо тут же меняют поведение работающего Grbl или сразу же выводят важные в реальном времени данные, например текущие координаты (aka DRO).

Для просмотра настроек введите «$$» и нажмите Ввод, после того как подключитесь к Grbl. Grbl ответит списком текущий системных настроек, как в примере ниже. Все эти настройки хранятся в памяти EEPROM после отключения питания, так что они будут автоматически загружены при следующем включении вашей платы Arduino.

x или $x=val описывают отдельный параметр настроек, причем val это значение параметра.

В предыдущих версиях Grbl каждый параметр имел после себя описание в круглых скобках (), но в Grbl, начиная с v1.1, этого, к сожалению, больше нет. Так было сделано, чтобы освободить драгоценную flash память для добавления новых возможностей, появившихся в v1.1. Однако, большинство хороших графических оболочек (GUI) добавляют для вас описания к параметрам, так что вы всегда будете знать на что смотрите.

Настройки по умолчанию.

  • $0=10 длительность импульса Step, мкс
  • $1=25 задержка откл. ШД, мс
  • $2=0 Инверсия порта шаговых испульсов
  • $3=0 Инверсия направления, маска
  • $4=0 Инверсия сигнала включения шаговых двигателей
  • $5=0 Инверсия входов концевых выключателей
  • $6=0 Инверсия входа контактного датчика, логический
  • $10=1 Отчет о состоянии
  • $11=0.010 Отклонение на стыках, мм
  • $12=0.002 Отклонение от дуги, мм
  • $13=0 Отчет в дюймах
  • $20=0 Мягкие границы
  • $21=0 Жесткие границы
  • $22=1 Поиск начальной позиции
  • $23=0 Инверсия направления начальной точки
  • $24=25.000 Скорость подачи при поиске начальной точки, мм/мин
  • $25=500.000 Скорость поиска начальной точки, мм/мин
  • $26=250 Подавление дребезга при поиске начальной точки, миллисекунд
  • $27=1.000 Отъезд от начальной точки, мм
  • $30=1000 Максимальные обороты шпинделя, Об/мин
  • $31=0 Минимальные обороты шпинделя, Об/мин
  • $32=0 Режим лазера
  • $100=250.000 кол-во шагов на мм для оси Х
  • $101=250.000 кол-во шагов на мм для оси Y
  • $102=250.000 кол-во шагов на мм для оси Z
  • $110=500.000 Максимальная скорость оси Х, мм/мин
  • $111=500.000 Максимальная скорость оси Y, мм/мин
  • $112=500.000 Максимальная скорость оси Z, мм/мин
  • $120=10.000 Ускорение оси Х, мм/сек^2
  • $121=10.000 Ускорение оси Y, мм/сек^2
  • $122=10.000 Ускорение оси Z, мм/сек^2
  • $130=200.000 Максимальное перемещение оси Х, мм
  • $131=200.000 Максимальное перемещение оси Y, мм
  • $132=200.000 Максимальное перемещение оси Z, мм

$x=val — Изменение настроек Grbl.

Команда $x=val сохраняет или изменяет параметр настройки Grbl, это можно сделать вручную, отправкой соответствующей команды в Grbl через программу-терминал последовательного порта, но большинство графических оболочек Grbl позволяют сделать это более удобным способом.

Для ручного изменения, например, длины шагового импульса в микросекундах на значение 10мкс, нужно ввести следующее, завершив команду нажатием клавиши Ввод: $0=10 Если все прошло успешно, Grbl ответит ‘ok’, новые настройки будут сохранены в EEPROM и будут использоваться до следующего их изменения.

Вы можете перепроверить, что Grbl получил и сохранил верное значение параметра, повторно введя команду $$ для просмотра системных настроек.

Описание параметров grbl 1.1.

Примечание! Разница между Grbl v0.9 и Grbl v1.1 заключается только в том, что изменился вывод статуса командой $10 и были добавлены команды для новых параметров $30/ $31 — максимальные/минимальные обороты шпинделя и $32 — работа в режиме лазера. Все остальное — осталось как было.

$0 – Длительность шагового импульса, микросекунд.
Драйверы шаговых двигателей имеют ограничение на минимальную длительность шагового импульса. Уточните нужное значение в документации или просто попробуйте разные варианты. Желательно использовать максимально короткие импульсы, которые драйвер способен надежно распознавать. Если импульсы будут слишком длинные, вы можете столкнуться с проблемами при высоких скоростях подачи и большой частоте импульсов, возникающими из-за того, что идущие подряд импульсы начнут перекрывать друг друга. Мы рекомендуем использовать длительности в районе 10 микросекунд, что является значением по-умолчанию.

$1 — Задержка отключения двигателей, миллисекунд.
Каждый раз, когда ваши шаговые двигатели заканчивают движение и останавливаются, Grbl делает задержку на указанный интервал времени перед отключением питания двигателей. Вы можете всегда держать двигатели включенными (с подачей питания для удержания текущего положения) установив значение этого параметра в максимально возможное значение, равное 255 миллисекунд.

Отключение призвано помочь для тех типов двигателей, которые не следует держать включенными в течении долгого периода времени без какой-либо работы. И еще, имейте в виду, что в процессе отключения некоторые драйверы шаговых двигателей не запоминают на каком микрошаге они остановились, из-за этого вы можете стать свидетелем ‘пропуска шагов’ при отключении/включении двигателей. В этом случае просто держите двигатели всегда включенными с помощью $1=255.

$2 – Инверсия порта шаговых импульсов, маска.

Этот параметр управляет инверсией сигнала шаговых импульсов. По-умолчанию, сигнал шагового импульса начинается в нормально-низком состоянии и переключается в высокое на период импульса. По истечении времени, заданного параметром $0, вывод переключается обратно в низкое состояние, вплоть до следующего испульса. В режиме инверсии, шаговый импульс переключается из нормально-высокого в низкое на период импульса, а потом возвращается обратно в высокое состояние. Большинству пользователей не требуется менять значение этого параметра, но это может оказаться полезным, если конкретные драйверы ШД этого требуют.

$3 – Инверсия порта направления, маска.

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

  • $3=0 Без инверсии осей
  • $3=1 Инверсия оси Х
  • $3=2 Инверсия оси Y
  • $3=3 Инверсия всех осей

$4 — Инверсия сигнала включения шаговых двигателей, логический.
По умолчанию, высокий уровень сигнала включения шаговых двигателей соответствует выключению, а низкий — включению. Если ваша сборка требует обратного, просто инвертируйте сигнал, введя $4=1. Отключается с помощью $4=0. (Может потребоваться перезапуск контроллера чтобы изменения вступили в силу.)

$5 — Инверсия входов концевых выключателей, логический.

По умолчанию, входы концевых выключателей подтягиваются к питанию встроенным резистором подтяжки Arduino. Когда сигнал на входе принимает низкий уровень, Grbl рассматривает это как срабатывание выключателя. Для противоположного поведения, просто инвертируйте входы, введя $5=1. Отключается командой $5=0. Может потребоваться перезапуск контроллера, чтобы изменения вступили в силу.

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

$6 — Инверсия входа контактного датчика, логический.

По умолчанию, вход контактного датчика подтягивается к питанию встроенным резистором подтяжки Arduino. Когда сигнал на входе принимает низкий уровень, Grbl рассматривает это как срабатывание датчика. Для противоположного поведения, просто инвертируйте вход контактного датчика, введя $6=1. Отключается командой $6=0. Может потребоваться перезапуск контроллера, чтобы изменения вступили в силу.

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

$10 — Отчет состояния, маска.

Параметр определяет какие данные реального времени вернет Grbl, когда пользователь запрашивает статус командой ‘?’.
Эти данные включают в себя текущее состояние, текущие координаты, текущую скорость подачи, значения на входах, текущие переопределенные значения, состояния буферов, и номер выполняемой команды G-кода (если было включено при компиляции).

По-умолчанию новая реализация вывода отчета в Grbl v1.1+ включает в себя вывод информации практически обо всем в стандартном выводе статуса. Множество данных скрывается и выводятся только тогда, когда их значение меняется. Это существенно увеличивает производительность по сравнению со старым способом и позволяет значительно быстрее получать обновленные данные о станке, причем в большем объеме. Документация на интерфейс в общих чертах рассказывает, как это работает, хотя в основном она предназначена только для разработчиков GUI или любопытных.Для простоты и удобства, Grbl v1.1 имеет всего две опции для данного параметра. Обе используются пользователями и разработчиками в основном для отладочных целей. Текущие координаты могут быть настроены на вывод либо машинных координат (MPos:), либо рабочих (WPos:), но не обеих одновременно. Например, отчет, содержащий машинные координаты без данных о буфере соответствует параметру $10=1. Рабочие координаты и информация о буфере соответствуют параметру $10=2.

$11 — Отклонение на стыках, мм.
Заданная величина отклонения на стыках, используется модулем управления ускорением для определения как быстро можно перемещаться через стыки отрезков запрограммированного в G-коде пути. Например, если путь в G-коде содержит острый выступ с углом в 10 градусов, и станок двигается к нему на полной скорости, данный параметр поможет определить насколько нужно притормозить, чтобы выполнить поворот без потери шагов.Вычисление делается довольно сложным образом, но в целом, более высокие значение дают более высокую скорость прохождения углов, повышая риск потерять шаги и сбить позиционирование. Меньшие значение делают модуль управления более аккуратным и приводят к более аккуратной и медленной обработке углов. Так что, если вдруг столкнетесь с проблемой слишком быстрой обработкой углов, уменьшите значение параметра, чтобы заставить станок притормаживать перед прохождением углов. Если хотите, чтобы станок быстрее проходил через стыки, увеличьте значение параметра. Любопытные могут пройти по ссылке и прочитать про алгоритм обработки углов в Grbl, который учитывает и скорость, и величину угла на стыке, простым, эффективным и надежным методом.

$12 – Отклонение от дуги, мм.
Grbl выполняет круги, дуги и спирали G2/G3, разбивая их на множество крошечных отрезков таким образом, чтобы погрешность отклонения от дуги не превышала значения данного параметра. Скорее всего вам никогда не придется менять этот параметр, поскольку значение 0.002мм находится ниже разрешающей способности большинства станков с ЧПУ. Однако, если вы обнаружили, что ваши окружности слишком угловатые или прохождение по дуге выполняется слишком уж медленно, откорректируйте значение этого параметра. Меньшие значение дают лучшую точность, но могут снизить производительность из-за перегрузки Grbl огромным количеством мелких линий. И наоборот, более высокие значения приводят к меньше точности обработки, но могут повысить скорость, поскольку Grbl придется иметь дело в меньшим количеством линий.Для любопытных уточним, что отклонение от дуги определяется как максимальная длина перпендикуляра, проведенного от отрезка, соединяющего концы дуги (он же хорда) до пересечения с точкой дуги. Используя основы геометрии мы вычисляем на отрезки какой длины нужно разбить дугу, чтобы погрешность не превышала заданное значение. Моделирование дуг данным способом замечательно в том смысле, что отрезки с точки зрения производительности получаются оптимальной длины, а точность никогда не теряется.

$13 — Отчет в дюймах, boolean.
Grbl в реальном времени выводит координаты текущей позиции, чтобы пользователь всегда имел представление, где в данный момент находится станок, а также параметры смещения начала координат и данные измерения (probing). По-умолчанию вывод идет в мм, но командой $13=1 можно изменить значение параметра и переключить вывод на дюймы. $13=0 возвращает вывод в мм.

$20 — Мягкие границы, логический.
Мягкие границы это настройка безопасности, призванная помочь избежать перемещения далеко за пределы допустимой области, которое может повлечь за собой поломку или разрушение дорогостоящих предметов. Она работает за счет информации о текущем положении и пределах допустимого перемещения по каждой из осей. Каждый раз, когда в Grbl отправляется G-код движения, он проверяет не произойдет ли выход за пределы допустимой области. И в случае, если происходит нарушение границ, Grbl, где бы он ни находился, немедленно выполняет команду приостановки подачи, останавливает шпиндель и охлаждение, а затем выставляет сигнал аварии для индикации проблемы. Текущее положение при этом не сбрасывается, поскольку останов происходит не в результате аварийного принудительного останова, как в случае с жесткими границами.

Мягкие границы требуют включения поддержки процедуры поиска домашней позиции и аккуратной настройки максимальных границ для перемещения, поскольку Grbl нужно знать где находятся допустимые границы. $20=1 для включения, и $20=0 для отключения.

$21 — Жесткие границы, логический.
Жесткие границы в общих чертах работают также как и мягкие, но используют аппаратные выключатели. Как правило, вы подсоединяете концевые выключатели (механические, магнитные или оптические) в конце каждой из осей или в тех точках, достижение которых в процессе перемещения, как вы считаете, может привести к проблемам. Когда срабатывает выключатель, он приводит к немедленной остановке любого перемещения, останову охлаждения и шпинделя (если подключен), и переходу в аварийный режим, требующий от вас проверить станок и выполнить сброс контроллера.Для использования жестких границ с Grbl, соответствующие выводы подтягиваются к питанию внутренним резистором, поэтому все, что от вас требуется — подключить нормально разомкнутый концевой выключатель между выводом и землей и задействовать жесткие границы командой $21=1. (Отключение — командой $21=0.) Мы настоятельно рекомендуем озаботиться подавлением электрических наводок и помех, способных повлиять на измерения. Если хотите проверять границы для обоих концов одной оси, просто подключите два выключателя параллельно между выводом и землей, чтобы срабатывание любого из них приводило к срабатыванию жесткой границы.Имейте в виду, что срабатывание жестких границ рассматривается как исключительное событие, выполняющее немедленный останов, и может приводить к потере шагов. Grbl не имеет никакой обратной связи от станка о текущем положении, так что он не может гарантировать, что имеет представление о том где реально находится. Так что, если произошло нарушение жестких границ, Grbl перейдет в бесконечный цикл режима АВАРИЯ, давая вам шанс проверить станок и требуя выполнить сброс Grbl. Помните, что эта возможность используется исключительно в целях безопасности.

$22 — Поиск начальной позиции, логический.
Для тех, кто только знакомится с миром ЧПУ: процедура поиска начальной позиции используется для аккуратного и точного поиска заранее известной точки станка каждый раз после включения Grbl между сеансами работы. Другими словами, вы всегда, в любой момент времени точно знаете где находитесь. Собирались ли вы только начать работу или перешли к следующей операции, а в это время отключилось электричество, в любом случае Grbl перезапустится и понятия не будет иметь где он сейчас находится. Вам остается только выяснять, а где же вы все-таки сейчас находитесь. При наличии начальной позиции, у вас всегда есть эталонная точка отсчета, так что все, что в этом случае требуется, это запустить процедуру поиска начальной точки и продолжить работу с того места, где остановились.

Для настройки процедуры поиска начальной позиции вам потребуется наличие надежно закрепленных концевых выключателей в некоторой точке, на которые нельзя наткнуться или сдвинуть, в противном случае точка отсчета может быть сбита. Обычно они устанавливаются в самых дальних точках в направлении +x, +y, +z на каждой из осей. Соедините концевые выключатели с соответствующими выводами и землей, так же как и концевые выключатели аппаратных границ и задействуйте поиск начальной позиции. Если интересно, то вы можете использовать граничные выключатели И для аппаратных границ, И для поиска начальной позиции. Они прекрасно работают вместе.По-умолчанию, процедура поиска начальной позиции Grbl сначала выполняет перемещение по оси Z в положительном направлении, чтобы освободить рабочую область, а затем выполняет одновременное перемещение по осям X и Y в положительном направлении. Для настройки точного поведения процедуры поиска начальной позиции имеются несколько параметров настройки, описанных ниже (и параметры компиляции тоже.)Также следует отметить, что при задействованной процедуре поиска начальной позиции Grbl блокирует выполнение команд перемещения G-кода до выполнения поиска начальной позиции. Имеется в виду отсутствие перемещения по осям, пока не будет отключена блокировка ($X), но об этом чуть позже. Большинство, если не все контроллеры с ЧПУ, ведут себя аналогично, делается это, в основном, для безопасности, чтобы не позволить оператору допустить ошибку позиционирования, что довольно просто, и расстроиться, когда работа будет загублена. Если вас это раздражает или вы обнаружили какие-то странные ошибки, пожалуйста, дайте нам знать, и мы попытаемся поработать над этим и сделать так, чтобы все были счастливы.

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

$23 — Инверсия направления начальной точки, маска.
По-умолчанию, Grbl предполагает, что концевые выключатели начальной точки находятся в положительном направлении, он выполняет сначала перемещение в положительном направлении по оси Z, затем в положительном направлении по осям X-Y, перед тем как точно определить начальную точку медленно перемещаясь назад и вперед около концевого выключателя. Если у вашего станка концевые выключатели находятся в отрицательном направлении, инверсия направления начальной точки изменяет направление осей. Она работает точно так же, как и макси инверсии порта шаговых импульсов или инверсии порта направления, все что вам нужно это указать значение из таблицы, указывающее какие оси нужно инвертировать для поиска в противоположном направлении.

$24 — Скорость подачи при поиске начальной точки, мм/мин.
Процедура поиска начальной точки сначала ищет концевые выключатели с повышенной скоростью, а после того как их обнаружит, двигается в начальную точку с пониженной скоростью для точного определения ее положения. Скорость подачи при поиске начальной точки — это та самая пониженная скорость. Установите ее в некоторое значение, обеспечивающее повторяемое и точное определение местоположения начальной точки.

$25 — Скорость поиска начальной точки, мм/мин.
Скорость поиска начальной точки — это начальная скорость с которой контроллер пытается найти концевые выключатели начальной точки. Откорректируйте на любое значение, позволяющее переместиться к начальной точке за достаточно малое время без столкновения с концевыми выключателями из-за слишком быстрого к ним перемещения.

$26 — Подавление дребезга при поиске начальной точки, миллисекунд.
Когда срабатывают выключатели, некоторые из них в течении нескольких миллисекунд могут издавать электрический/механический шум приводящий к быстрому переключению сигнала между высоким и низким значениями, прежде чем значение зафиксируется. Для решения данной проблемы нужно подавить дребезг сигнала либо аппаратно, за счет какой-нибудь фильтрации, либо программно, сделав небольшую задержку на время дребезга. Grbl будет делать короткую задержку, но только при поиске начальной точки на этапе ее точного определения. Установите значение задержки, достаточное, чтобы ваши выключатели обеспечивали устойчивый поиск начальной точки. Для большинства случаев подойдут значения 5-25 миллисекунд.

$27 — Отъезд от начальной точки, мм.
Чтобы сосуществовать с возможностью отслеживания жестких границ, в случаях, когда для поиска начальной точки используются те же концевые выключатели, процедура поиска после завершения определения положения начальной точки выполняет перемещение от концевых выключателей на указанное расстояние. Другими словами, это предотвращает непреднамеренное срабатывание жестких границ по окончании процедуры поиска.

$30 — Максимальные обороты шпинделя, Об/мин.
Задает обороты шпинделя, соответствующие максимальному напряжению на выходе ШИМ, равному 5В. Допускается задавать в программе и более высокие обороты шпинделя, но вывод ШИМ все равно не может быть больше 5В. По-умолчанию, Grbl строит линейную зависимость из 255 отсчетов между максимальными-минимальными оборотами шпинделя и напряжениями на выходе ШИМ из диапазона 5В-0.02В. Значение ШИМ, равное 0В, означает отключение шпинделя. В файле config.h есть дополнительные параметры, влияющие на это поведение.

$31 — Минимальные обороты шпинделя, Об/мин.
Задает обороты шпинделя, соответствующие минимальному напряжению на выходе ШИМ, равному 0.02V (0В означает отключение). Меньшие значение оборотов будут приняты Grbl, но напряжение на выходе ШИМ не будет меньше 0.02V, за исключением случая равенства нулю. Если равно 0, то шпиндель отключен и выход ШИМ всегда равен 0В.

$32 — Режим лазера, логический.
Если включен, то Grbl, в случае, когда обороты шпинделя (мощность лазера) меняются командой S, будет продолжать движение от точки к точке в соответствии с заданной последовательностью команд G1, G2, или G3. Значение скважности ШИМ, отвечающего за управление оборотами шпинделя, будет меняться в процессе движения сразу же, без выполнения остановки. Обязательно прочтите руководство Grbl по работе в режиме лазера и документацию на ваш лазер перед включением данного режима. Лазеры очень опасны. Они могут мгновенно лишить вас зрения или стать причиной пожара. Grbl, как и указано в его GPL лицензии, не несет никакой ответственности за любой вред, нанесенный в результате использования данной программы.Если параметр отключен, то Grbl будет вести себя как обычно, прерывая движение каждый раз, когда встречает команду изменения оборотов шпинделя S. Это стандартное поведение для фрезеровальных станков, формирующее некоторую паузу, чтобы шпиндель успел изменить скорость своего вращения.

$100, $101, $102 – [X,Y,Z] шагов/мм.
Grbl нужно знать на какое расстояние каждый шаг двигателя в реальности перемещает инструмент. Для калибровки соотношения шагов/мм для вашего станка вам нужно знать следующее: Перемещение в мм, соответствующее одному обороту вашего двигателя. Это зависит от размера шестерней ременной передачи или шага винта. Количество полных шагов на один оборот двигателя (обычно 200). Количество микрошагов на один шаг для вашего контроллера (обычно 1, 2, 4, 8, или 16).
Совет: Использование больших значений микрошага (например, 16) может уменьшить крутящий момент вашего двигателя, так что используйте минимальное значение, обеспечивающее нужную точность перемещения по осям и удобные эксплуатационные характеристики.
После этого значение шаг/мм может быть вычислено по формуле: шагов_на_мм = (шагов_на_оборот*микрошагов)/мм_на_оборот. Рассчитайте данные значения для каждой из осей и запишите настройки в Grbl.

$110, $111, $112 – [X,Y,Z] Максимальная скорость, мм/мин.
Эти параметры задают максимальную скорость, с которой можно перемещаться по каждой из осей. Когда Grbl планирует перемещение, он проверяет индивидуально для каждой из осей, будет или нет превышена ее максимальная скорость. Если будет, что он замедлит движение, чтобы максимальное значение скорости не превышалось. Это означает, что каждая из осей имеет свою максимальную скорость, что необычайно полезно для ограничения скорости, как правило, более медленной оси Z. Самый просто способ найти нужные значения — тестировать каждую ось раз за разом немного увеличивая скорость и выполняя действие перемещения.
Например, для проверки оси X, отправьте Grbl команду вида G0 X50 с расстоянием перемещения, достаточно большим для разгона до максимальной скорости. Максимальное значение будет достигнуто, когда ваш шаговый двигатель застопорится. Он будет издавать жужжащий звук, но ничего страшного с ним не случится. Задайте значение на 10-20% меньше обнаруженного, чтобы учесть износ, трение и массу вашей рабочей головки/инструмента. Повторите процесс для остальных осей.
Эти значения также определяют максимальную скорость перемещения при выполнении команды G0.

$120, $121, $122 – [X,Y,Z] Ускорение, мм/сек^2.
Эти параметры задают параметры ускорения в мм/сек за секунду. Попросту говоря, меньшее значение делает Grbl более плавным в движении, в то время как большее приводит к боле резким движениям и достижению требуемой скорости подачи гораздо быстрее. Как и в случае максимальных скоростей, каждая из осей имеет свое собственное значение ускорения, которые независимы друг от друга. Это означает, что в случае многоосевого перемещения ускорение будет соответствовать самой медленной из движущихся осей. И опять, как и в случает с максимальными скоростями, самый простой способ определить значение этих параметров — индивидуально протестировать каждую из осей, медленно увеличивая значения, пока мотор не застопорится. Завершите настройку сохранением значения на 10-20% меньшим от обнаруженного. Это позволит учесть износ, трение и инертность массы. Мы настоятельно рекомендуем в черновую протестировать некоторое количество программ на G-коде, прежде чем окончательно остановиться на выбранных значениях. Иногда нагрузка на ваш станок может оказаться иной при одновременном перемещении по нескольким осям.

$130, $131, $132 – [X,Y,Z] Максимальное перемещение, мм.
Эти параметры задают максимальную дистанцию перемещения в мм от одного конца каждой из осей до другого. Они имеет смысл только если вы задействовали мягкие границы (и поиск начальной точки), поскольку используются только модулем проверки мягких границ для определения выхода за пределы допустимой области в процессе перемещения.

настроек мох самодельных ЧПУ станков.

Параметров много, но настройка достаточно простая. Достаточно внимательно ознакомиться с инструкцией и посмотреть примеры настроек мох самодельных ЧПУ станков.

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

Настройки Grbl Universal G-Code Sender

grbl 1.1 - cnc-tex.ru

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

Прошивка GRBL 1.1 Прошивка GRBL 1.1.zip 300 Kb 2222 Скачать

Меню Grbl

GRBLControl Инструкция Содержание

GrblControl Grbl 1.1 Cкачать установить для Arduino

Grbl Прошивка для Arduino IDE

GrblControl Candle Как установить программу в Windows

Инструкция GrblControl Candle Интерфейс

GrblControl Candle Интерфейс G-код программа
GrblControl Candle Интерфейс Состояние
GrblControl Candle Интерфейс Управление
GrblControl Candle Интерфейс Карта высот
GrblControl Candle Интерфейс Панель Шпиндель
GrblControl Candle Интерфейс Панель Коррекция
GrblControl Candle Интерфейс Панель Перемещение
GrblControl Candle Интерфейс Консоль

Инструкция GrblControl Candle Как настроить программу

GrblControl Candle Настройки Соединение
GrblControl Candle Настройки Отправка файла
GrblControl Candle Настройки Информация о станке
GrblControl Candle Настройки Управление
GrblControl Candle Настройки Команды
GrblControl Candle Настройки Карта высот
GrblControl Candle Настройки Парсер
GrblControl Candle Настройки Визуализатор
GrblControl Candle Настройки Модель фрезы
GrblControl Candle Настройки Консоль
GrblControl Candle Настройки Панели
GrblControl Candle Настройки Цвета
GrblControl Candle Настройки Шрифт

Уроки GrblControl Candle

GrblControl Candle Как создать карту высот

В предыдущих статьях мы рассмотрели, где скачать прошивку grbl 1.1, как установить данную прошивку и с помощью какой программы производить настройки. Сегодня рассмотрим какие параметры мы получаем от станка. И как произвести настройку grbl 1.1 – инструкция на русском языке.

Включение станка, что за информация нам выдает grbl 1.1?

  • В предыдущей статье про Universal G-Code Sender при подключении станка, в консоли программы, мы видели информацию: Включение станка, что за информация нам выдает grbl 1.1?

Что означают все эти строки. Давайте рассмотрим их по порядку. Первая строка.

**** Connected to COM5 @ 115200 baud ****

Расшифровать ее можно так:

  • порт COM5;
  • скорость 115200 бод.

Данные параметры мы выбирали при подключении станка.

Данные параметры мы выбирали при подключении станка.

Следующая строка выводит информацию о версии прошивки.

Grbl 1.1g [‘$’ for help]

  • версия GRBL 1.1g.
  • [‘$’ for help] ([‘$’ для справки]) — для получения справки по прошивке GRBL необходимо ввести в командной строке $ и нажать Enter.

Третья строка отправляет команду «$$», что заставляет вывести настройки прошивки.

Следующая команда «$G» — Просмотр состояния парсера gcode. Эта команда выводит все активные режимы gcode в парсере G-кода Grbl. При отправке этой команды в Grbl, он ответит сообщением:

[GC:G0 G54 G17 G21 G90 G94 M0 M5 M9 T0 S0.0 F500.0]

Следующая команда «$G» - Просмотр состояния парсера gcode.

Команды Grbl «$».

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

Команда «$$» выводит все настройки «$» в монитор порта или в консоль управляющей программы.

Команда «$$» выводит все настройки «$» в монитор порта

Введите $ и нажмите Ввод, чтобы Grbl вывел подсказку. Символы $ и Ввод не будут отображаться.

Введите $ и нажмите Ввод, чтобы Grbl вывел подсказку. Символы $ и Ввод не будут отображаться.
Grbl должен вывести следующее:[HLP:$$ $# $G $I $N $x=val $Nx=line $J=line $SLP $C $X $H ~ ! ? ctrl-x]
‘$’-команды — это системные команды Grbl, используемые для изменения настроек, просмотра или изменения состояний и режимов работы Grbl, а также запуска процедуры поиска начальной позиции.
Последние четыре не-‘$’ команды — это команды управления в реальном времени, которые могут быть отправлены в любой момент, независимо от того, что в настоящее время делает Grbl. Они либо тут же меняют поведение работающего Grbl или сразу же выводят важные в реальном времени данные, например текущие координаты (aka DRO).

Настройки Grbl.

Для просмотра настроек введите «$$» и нажмите Ввод, после того как подключитесь к Grbl. Grbl ответит списком текущий системных настроек, как в примере ниже. Все эти настройки хранятся в памяти EEPROM после отключения питания, так что они будут автоматически загружены при следующем включении вашей платы Arduino.

x или $x=val описывают отдельный параметр настроек, причем val это значение параметра.

В предыдущих версиях Grbl каждый параметр имел после себя описание в круглых скобках (), но в Grbl, начиная с v1.1, этого, к сожалению, больше нет. Так было сделано, чтобы освободить драгоценную flash память для добавления новых возможностей, появившихся в v1.1. Однако, большинство хороших графических оболочек (GUI) добавляют для вас описания к параметрам, так что вы всегда будете знать на что смотрите.

Настройки по умолчанию.

  • $0=10 длительность импульса Step, мкс
  • $1=25 задержка откл. ШД, мс
  • $2=0 Инверсия порта шаговых испульсов
  • $3=0 Инверсия направления, маска
  • $4=0 Инверсия сигнала включения шаговых двигателей
  • $5=0 Инверсия входов концевых выключателей
  • $6=0 Инверсия входа контактного датчика, логический
  • $10=1 Отчет о состоянии
  • $11=0.010 Отклонение на стыках, мм
  • $12=0.002 Отклонение от дуги, мм
  • $13=0 Отчет в дюймах
  • $20=0 Мягкие границы
  • $21=0 Жесткие границы
  • $22=1 Поиск начальной позиции
  • $23=0 Инверсия направления начальной точки
  • $24=25.000 Скорость подачи при поиске начальной точки, мм/мин
  • $25=500.000 Скорость поиска начальной точки, мм/мин
  • $26=250 Подавление дребезга при поиске начальной точки, миллисекунд
  • $27=1.000 Отъезд от начальной точки, мм
  • $30=1000 Максимальные обороты шпинделя, Об/мин
  • $31=0 Минимальные обороты шпинделя, Об/мин
  • $32=0 Режим лазера
  • $100=250.000 кол-во шагов на мм для оси Х
  • $101=250.000 кол-во шагов на мм для оси Y
  • $102=250.000 кол-во шагов на мм для оси Z
  • $110=500.000 Максимальная скорость оси Х, мм/мин
  • $111=500.000 Максимальная скорость оси Y, мм/мин
  • $112=500.000 Максимальная скорость оси Z, мм/мин
  • $120=10.000 Ускорение оси Х, мм/сек^2
  • $121=10.000 Ускорение оси Y, мм/сек^2
  • $122=10.000 Ускорение оси Z, мм/сек^2
  • $130=200.000 Максимальное перемещение оси Х, мм
  • $131=200.000 Максимальное перемещение оси Y, мм
  • $132=200.000 Максимальное перемещение оси Z, мм

$x=val — Изменение настроек Grbl.

Команда $x=val сохраняет или изменяет параметр настройки Grbl, это можно сделать вручную, отправкой соответствующей команды в Grbl через программу-терминал последовательного порта, но большинство графических оболочек Grbl позволяют сделать это более удобным способом.

Для ручного изменения, например, длины шагового импульса в микросекундах на значение 10мкс, нужно ввести следующее, завершив команду нажатием клавиши Ввод: $0=10 Если все прошло успешно, Grbl ответит ‘ok’, новые настройки будут сохранены в EEPROM и будут использоваться до следующего их изменения.

Вы можете перепроверить, что Grbl получил и сохранил верное значение параметра, повторно введя команду $$ для просмотра системных настроек.

Описание параметров grbl 1.1.

Примечание! Разница между Grbl v0.9 и Grbl v1.1 заключается только в том, что изменился вывод статуса командой $10 и были добавлены команды для новых параметров $30/ $31 — максимальные/минимальные обороты шпинделя и $32 — работа в режиме лазера. Все остальное — осталось как было.

$0 – Длительность шагового импульса, микросекунд.
Драйверы шаговых двигателей имеют ограничение на минимальную длительность шагового импульса. Уточните нужное значение в документации или просто попробуйте разные варианты. Желательно использовать максимально короткие импульсы, которые драйвер способен надежно распознавать. Если импульсы будут слишком длинные, вы можете столкнуться с проблемами при высоких скоростях подачи и большой частоте импульсов, возникающими из-за того, что идущие подряд импульсы начнут перекрывать друг друга. Мы рекомендуем использовать длительности в районе 10 микросекунд, что является значением по-умолчанию.

$1 — Задержка отключения двигателей, миллисекунд.
Каждый раз, когда ваши шаговые двигатели заканчивают движение и останавливаются, Grbl делает задержку на указанный интервал времени перед отключением питания двигателей. Вы можете всегда держать двигатели включенными (с подачей питания для удержания текущего положения) установив значение этого параметра в максимально возможное значение, равное 255 миллисекунд.

Отключение призвано помочь для тех типов двигателей, которые не следует держать включенными в течении долгого периода времени без какой-либо работы. И еще, имейте в виду, что в процессе отключения некоторые драйверы шаговых двигателей не запоминают на каком микрошаге они остановились, из-за этого вы можете стать свидетелем ‘пропуска шагов’ при отключении/включении двигателей. В этом случае просто держите двигатели всегда включенными с помощью $1=255.

$2 – Инверсия порта шаговых импульсов, маска.

Этот параметр управляет инверсией сигнала шаговых импульсов. По-умолчанию, сигнал шагового импульса начинается в нормально-низком состоянии и переключается в высокое на период импульса. По истечении времени, заданного параметром $0, вывод переключается обратно в низкое состояние, вплоть до следующего испульса. В режиме инверсии, шаговый импульс переключается из нормально-высокого в низкое на период импульса, а потом возвращается обратно в высокое состояние. Большинству пользователей не требуется менять значение этого параметра, но это может оказаться полезным, если конкретные драйверы ШД этого требуют.

$3 – Инверсия порта направления, маска.

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

  • $3=0 Без инверсии осей
  • $3=1 Инверсия оси Х
  • $3=2 Инверсия оси Y
  • $3=3 Инверсия всех осей

$4 — Инверсия сигнала включения шаговых двигателей, логический.
По умолчанию, высокий уровень сигнала включения шаговых двигателей соответствует выключению, а низкий — включению. Если ваша сборка требует обратного, просто инвертируйте сигнал, введя $4=1. Отключается с помощью $4=0. (Может потребоваться перезапуск контроллера чтобы изменения вступили в силу.)

$5 — Инверсия входов концевых выключателей, логический.

По умолчанию, входы концевых выключателей подтягиваются к питанию встроенным резистором подтяжки Arduino. Когда сигнал на входе принимает низкий уровень, Grbl рассматривает это как срабатывание выключателя. Для противоположного поведения, просто инвертируйте входы, введя $5=1. Отключается командой $5=0. Может потребоваться перезапуск контроллера, чтобы изменения вступили в силу.

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

$6 — Инверсия входа контактного датчика, логический.

По умолчанию, вход контактного датчика подтягивается к питанию встроенным резистором подтяжки Arduino. Когда сигнал на входе принимает низкий уровень, Grbl рассматривает это как срабатывание датчика. Для противоположного поведения, просто инвертируйте вход контактного датчика, введя $6=1. Отключается командой $6=0. Может потребоваться перезапуск контроллера, чтобы изменения вступили в силу.

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

$10 — Отчет состояния, маска.

Параметр определяет какие данные реального времени вернет Grbl, когда пользователь запрашивает статус командой ‘?’.
Эти данные включают в себя текущее состояние, текущие координаты, текущую скорость подачи, значения на входах, текущие переопределенные значения, состояния буферов, и номер выполняемой команды G-кода (если было включено при компиляции).

По-умолчанию новая реализация вывода отчета в Grbl v1.1+ включает в себя вывод информации практически обо всем в стандартном выводе статуса. Множество данных скрывается и выводятся только тогда, когда их значение меняется. Это существенно увеличивает производительность по сравнению со старым способом и позволяет значительно быстрее получать обновленные данные о станке, причем в большем объеме. Документация на интерфейс в общих чертах рассказывает, как это работает, хотя в основном она предназначена только для разработчиков GUI или любопытных.Для простоты и удобства, Grbl v1.1 имеет всего две опции для данного параметра. Обе используются пользователями и разработчиками в основном для отладочных целей. Текущие координаты могут быть настроены на вывод либо машинных координат (MPos:), либо рабочих (WPos:), но не обеих одновременно. Например, отчет, содержащий машинные координаты без данных о буфере соответствует параметру $10=1. Рабочие координаты и информация о буфере соответствуют параметру $10=2.

$11 — Отклонение на стыках, мм.
Заданная величина отклонения на стыках, используется модулем управления ускорением для определения как быстро можно перемещаться через стыки отрезков запрограммированного в G-коде пути. Например, если путь в G-коде содержит острый выступ с углом в 10 градусов, и станок двигается к нему на полной скорости, данный параметр поможет определить насколько нужно притормозить, чтобы выполнить поворот без потери шагов.Вычисление делается довольно сложным образом, но в целом, более высокие значение дают более высокую скорость прохождения углов, повышая риск потерять шаги и сбить позиционирование. Меньшие значение делают модуль управления более аккуратным и приводят к более аккуратной и медленной обработке углов. Так что, если вдруг столкнетесь с проблемой слишком быстрой обработкой углов, уменьшите значение параметра, чтобы заставить станок притормаживать перед прохождением углов. Если хотите, чтобы станок быстрее проходил через стыки, увеличьте значение параметра. Любопытные могут пройти по ссылке и прочитать про алгоритм обработки углов в Grbl, который учитывает и скорость, и величину угла на стыке, простым, эффективным и надежным методом.

$12 – Отклонение от дуги, мм.
Grbl выполняет круги, дуги и спирали G2/G3, разбивая их на множество крошечных отрезков таким образом, чтобы погрешность отклонения от дуги не превышала значения данного параметра. Скорее всего вам никогда не придется менять этот параметр, поскольку значение 0.002мм находится ниже разрешающей способности большинства станков с ЧПУ. Однако, если вы обнаружили, что ваши окружности слишком угловатые или прохождение по дуге выполняется слишком уж медленно, откорректируйте значение этого параметра. Меньшие значение дают лучшую точность, но могут снизить производительность из-за перегрузки Grbl огромным количеством мелких линий. И наоборот, более высокие значения приводят к меньше точности обработки, но могут повысить скорость, поскольку Grbl придется иметь дело в меньшим количеством линий.Для любопытных уточним, что отклонение от дуги определяется как максимальная длина перпендикуляра, проведенного от отрезка, соединяющего концы дуги (он же хорда) до пересечения с точкой дуги. Используя основы геометрии мы вычисляем на отрезки какой длины нужно разбить дугу, чтобы погрешность не превышала заданное значение. Моделирование дуг данным способом замечательно в том смысле, что отрезки с точки зрения производительности получаются оптимальной длины, а точность никогда не теряется.

$13 — Отчет в дюймах, boolean.
Grbl в реальном времени выводит координаты текущей позиции, чтобы пользователь всегда имел представление, где в данный момент находится станок, а также параметры смещения начала координат и данные измерения (probing). По-умолчанию вывод идет в мм, но командой $13=1 можно изменить значение параметра и переключить вывод на дюймы. $13=0 возвращает вывод в мм.

$20 — Мягкие границы, логический.
Мягкие границы это настройка безопасности, призванная помочь избежать перемещения далеко за пределы допустимой области, которое может повлечь за собой поломку или разрушение дорогостоящих предметов. Она работает за счет информации о текущем положении и пределах допустимого перемещения по каждой из осей. Каждый раз, когда в Grbl отправляется G-код движения, он проверяет не произойдет ли выход за пределы допустимой области. И в случае, если происходит нарушение границ, Grbl, где бы он ни находился, немедленно выполняет команду приостановки подачи, останавливает шпиндель и охлаждение, а затем выставляет сигнал аварии для индикации проблемы. Текущее положение при этом не сбрасывается, поскольку останов происходит не в результате аварийного принудительного останова, как в случае с жесткими границами.

Мягкие границы требуют включения поддержки процедуры поиска домашней позиции и аккуратной настройки максимальных границ для перемещения, поскольку Grbl нужно знать где находятся допустимые границы. $20=1 для включения, и $20=0 для отключения.

$21 — Жесткие границы, логический.
Жесткие границы в общих чертах работают также как и мягкие, но используют аппаратные выключатели. Как правило, вы подсоединяете концевые выключатели (механические, магнитные или оптические) в конце каждой из осей или в тех точках, достижение которых в процессе перемещения, как вы считаете, может привести к проблемам. Когда срабатывает выключатель, он приводит к немедленной остановке любого перемещения, останову охлаждения и шпинделя (если подключен), и переходу в аварийный режим, требующий от вас проверить станок и выполнить сброс контроллера.Для использования жестких границ с Grbl, соответствующие выводы подтягиваются к питанию внутренним резистором, поэтому все, что от вас требуется — подключить нормально разомкнутый концевой выключатель между выводом и землей и задействовать жесткие границы командой $21=1. (Отключение — командой $21=0.) Мы настоятельно рекомендуем озаботиться подавлением электрических наводок и помех, способных повлиять на измерения. Если хотите проверять границы для обоих концов одной оси, просто подключите два выключателя параллельно между выводом и землей, чтобы срабатывание любого из них приводило к срабатыванию жесткой границы.Имейте в виду, что срабатывание жестких границ рассматривается как исключительное событие, выполняющее немедленный останов, и может приводить к потере шагов. Grbl не имеет никакой обратной связи от станка о текущем положении, так что он не может гарантировать, что имеет представление о том где реально находится. Так что, если произошло нарушение жестких границ, Grbl перейдет в бесконечный цикл режима АВАРИЯ, давая вам шанс проверить станок и требуя выполнить сброс Grbl. Помните, что эта возможность используется исключительно в целях безопасности.

$22 — Поиск начальной позиции, логический.
Для тех, кто только знакомится с миром ЧПУ: процедура поиска начальной позиции используется для аккуратного и точного поиска заранее известной точки станка каждый раз после включения Grbl между сеансами работы. Другими словами, вы всегда, в любой момент времени точно знаете где находитесь. Собирались ли вы только начать работу или перешли к следующей операции, а в это время отключилось электричество, в любом случае Grbl перезапустится и понятия не будет иметь где он сейчас находится. Вам остается только выяснять, а где же вы все-таки сейчас находитесь. При наличии начальной позиции, у вас всегда есть эталонная точка отсчета, так что все, что в этом случае требуется, это запустить процедуру поиска начальной точки и продолжить работу с того места, где остановились.

Для настройки процедуры поиска начальной позиции вам потребуется наличие надежно закрепленных концевых выключателей в некоторой точке, на которые нельзя наткнуться или сдвинуть, в противном случае точка отсчета может быть сбита. Обычно они устанавливаются в самых дальних точках в направлении +x, +y, +z на каждой из осей. Соедините концевые выключатели с соответствующими выводами и землей, так же как и концевые выключатели аппаратных границ и задействуйте поиск начальной позиции. Если интересно, то вы можете использовать граничные выключатели И для аппаратных границ, И для поиска начальной позиции. Они прекрасно работают вместе.По-умолчанию, процедура поиска начальной позиции Grbl сначала выполняет перемещение по оси Z в положительном направлении, чтобы освободить рабочую область, а затем выполняет одновременное перемещение по осям X и Y в положительном направлении. Для настройки точного поведения процедуры поиска начальной позиции имеются несколько параметров настройки, описанных ниже (и параметры компиляции тоже.)Также следует отметить, что при задействованной процедуре поиска начальной позиции Grbl блокирует выполнение команд перемещения G-кода до выполнения поиска начальной позиции. Имеется в виду отсутствие перемещения по осям, пока не будет отключена блокировка ($X), но об этом чуть позже. Большинство, если не все контроллеры с ЧПУ, ведут себя аналогично, делается это, в основном, для безопасности, чтобы не позволить оператору допустить ошибку позиционирования, что довольно просто, и расстроиться, когда работа будет загублена. Если вас это раздражает или вы обнаружили какие-то странные ошибки, пожалуйста, дайте нам знать, и мы попытаемся поработать над этим и сделать так, чтобы все были счастливы.

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

$23 — Инверсия направления начальной точки, маска.
По-умолчанию, Grbl предполагает, что концевые выключатели начальной точки находятся в положительном направлении, он выполняет сначала перемещение в положительном направлении по оси Z, затем в положительном направлении по осям X-Y, перед тем как точно определить начальную точку медленно перемещаясь назад и вперед около концевого выключателя. Если у вашего станка концевые выключатели находятся в отрицательном направлении, инверсия направления начальной точки изменяет направление осей. Она работает точно так же, как и макси инверсии порта шаговых импульсов или инверсии порта направления, все что вам нужно это указать значение из таблицы, указывающее какие оси нужно инвертировать для поиска в противоположном направлении.

$24 — Скорость подачи при поиске начальной точки, мм/мин.
Процедура поиска начальной точки сначала ищет концевые выключатели с повышенной скоростью, а после того как их обнаружит, двигается в начальную точку с пониженной скоростью для точного определения ее положения. Скорость подачи при поиске начальной точки — это та самая пониженная скорость. Установите ее в некоторое значение, обеспечивающее повторяемое и точное определение местоположения начальной точки.

$25 — Скорость поиска начальной точки, мм/мин.
Скорость поиска начальной точки — это начальная скорость с которой контроллер пытается найти концевые выключатели начальной точки. Откорректируйте на любое значение, позволяющее переместиться к начальной точке за достаточно малое время без столкновения с концевыми выключателями из-за слишком быстрого к ним перемещения.

$26 — Подавление дребезга при поиске начальной точки, миллисекунд.
Когда срабатывают выключатели, некоторые из них в течении нескольких миллисекунд могут издавать электрический/механический шум приводящий к быстрому переключению сигнала между высоким и низким значениями, прежде чем значение зафиксируется. Для решения данной проблемы нужно подавить дребезг сигнала либо аппаратно, за счет какой-нибудь фильтрации, либо программно, сделав небольшую задержку на время дребезга. Grbl будет делать короткую задержку, но только при поиске начальной точки на этапе ее точного определения. Установите значение задержки, достаточное, чтобы ваши выключатели обеспечивали устойчивый поиск начальной точки. Для большинства случаев подойдут значения 5-25 миллисекунд.

$27 — Отъезд от начальной точки, мм.
Чтобы сосуществовать с возможностью отслеживания жестких границ, в случаях, когда для поиска начальной точки используются те же концевые выключатели, процедура поиска после завершения определения положения начальной точки выполняет перемещение от концевых выключателей на указанное расстояние. Другими словами, это предотвращает непреднамеренное срабатывание жестких границ по окончании процедуры поиска.

$30 — Максимальные обороты шпинделя, Об/мин.
Задает обороты шпинделя, соответствующие максимальному напряжению на выходе ШИМ, равному 5В. Допускается задавать в программе и более высокие обороты шпинделя, но вывод ШИМ все равно не может быть больше 5В. По-умолчанию, Grbl строит линейную зависимость из 255 отсчетов между максимальными-минимальными оборотами шпинделя и напряжениями на выходе ШИМ из диапазона 5В-0.02В. Значение ШИМ, равное 0В, означает отключение шпинделя. В файле config.h есть дополнительные параметры, влияющие на это поведение.

$31 — Минимальные обороты шпинделя, Об/мин.
Задает обороты шпинделя, соответствующие минимальному напряжению на выходе ШИМ, равному 0.02V (0В означает отключение). Меньшие значение оборотов будут приняты Grbl, но напряжение на выходе ШИМ не будет меньше 0.02V, за исключением случая равенства нулю. Если равно 0, то шпиндель отключен и выход ШИМ всегда равен 0В.

$32 — Режим лазера, логический.
Если включен, то Grbl, в случае, когда обороты шпинделя (мощность лазера) меняются командой S, будет продолжать движение от точки к точке в соответствии с заданной последовательностью команд G1, G2, или G3. Значение скважности ШИМ, отвечающего за управление оборотами шпинделя, будет меняться в процессе движения сразу же, без выполнения остановки. Обязательно прочтите руководство Grbl по работе в режиме лазера и документацию на ваш лазер перед включением данного режима. Лазеры очень опасны. Они могут мгновенно лишить вас зрения или стать причиной пожара. Grbl, как и указано в его GPL лицензии, не несет никакой ответственности за любой вред, нанесенный в результате использования данной программы.Если параметр отключен, то Grbl будет вести себя как обычно, прерывая движение каждый раз, когда встречает команду изменения оборотов шпинделя S. Это стандартное поведение для фрезеровальных станков, формирующее некоторую паузу, чтобы шпиндель успел изменить скорость своего вращения.

$100, $101, $102 – [X,Y,Z] шагов/мм.
Grbl нужно знать на какое расстояние каждый шаг двигателя в реальности перемещает инструмент. Для калибровки соотношения шагов/мм для вашего станка вам нужно знать следующее: Перемещение в мм, соответствующее одному обороту вашего двигателя. Это зависит от размера шестерней ременной передачи или шага винта. Количество полных шагов на один оборот двигателя (обычно 200). Количество микрошагов на один шаг для вашего контроллера (обычно 1, 2, 4, 8, или 16).
Совет: Использование больших значений микрошага (например, 16) может уменьшить крутящий момент вашего двигателя, так что используйте минимальное значение, обеспечивающее нужную точность перемещения по осям и удобные эксплуатационные характеристики.
После этого значение шаг/мм может быть вычислено по формуле: шагов_на_мм = (шагов_на_оборот*микрошагов)/мм_на_оборот. Рассчитайте данные значения для каждой из осей и запишите настройки в Grbl.

$110, $111, $112 – [X,Y,Z] Максимальная скорость, мм/мин.
Эти параметры задают максимальную скорость, с которой можно перемещаться по каждой из осей. Когда Grbl планирует перемещение, он проверяет индивидуально для каждой из осей, будет или нет превышена ее максимальная скорость. Если будет, что он замедлит движение, чтобы максимальное значение скорости не превышалось. Это означает, что каждая из осей имеет свою максимальную скорость, что необычайно полезно для ограничения скорости, как правило, более медленной оси Z. Самый просто способ найти нужные значения — тестировать каждую ось раз за разом немного увеличивая скорость и выполняя действие перемещения.
Например, для проверки оси X, отправьте Grbl команду вида G0 X50 с расстоянием перемещения, достаточно большим для разгона до максимальной скорости. Максимальное значение будет достигнуто, когда ваш шаговый двигатель застопорится. Он будет издавать жужжащий звук, но ничего страшного с ним не случится. Задайте значение на 10-20% меньше обнаруженного, чтобы учесть износ, трение и массу вашей рабочей головки/инструмента. Повторите процесс для остальных осей.
Эти значения также определяют максимальную скорость перемещения при выполнении команды G0.

$120, $121, $122 – [X,Y,Z] Ускорение, мм/сек^2.
Эти параметры задают параметры ускорения в мм/сек за секунду. Попросту говоря, меньшее значение делает Grbl более плавным в движении, в то время как большее приводит к боле резким движениям и достижению требуемой скорости подачи гораздо быстрее. Как и в случае максимальных скоростей, каждая из осей имеет свое собственное значение ускорения, которые независимы друг от друга. Это означает, что в случае многоосевого перемещения ускорение будет соответствовать самой медленной из движущихся осей. И опять, как и в случает с максимальными скоростями, самый простой способ определить значение этих параметров — индивидуально протестировать каждую из осей, медленно увеличивая значения, пока мотор не застопорится. Завершите настройку сохранением значения на 10-20% меньшим от обнаруженного. Это позволит учесть износ, трение и инертность массы. Мы настоятельно рекомендуем в черновую протестировать некоторое количество программ на G-коде, прежде чем окончательно остановиться на выбранных значениях. Иногда нагрузка на ваш станок может оказаться иной при одновременном перемещении по нескольким осям.

$130, $131, $132 – [X,Y,Z] Максимальное перемещение, мм.
Эти параметры задают максимальную дистанцию перемещения в мм от одного конца каждой из осей до другого. Они имеет смысл только если вы задействовали мягкие границы (и поиск начальной точки), поскольку используются только модулем проверки мягких границ для определения выхода за пределы допустимой области в процессе перемещения.

настроек мох самодельных ЧПУ станков.

Параметров много, но настройка достаточно простая. Достаточно внимательно ознакомиться с инструкцией и посмотреть примеры настроек мох самодельных ЧПУ станков.

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

Настройки Grbl Universal G-Code Sender

grbl 1.1 - cnc-tex.ru

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

Прошивка GRBL 1.1 Прошивка GRBL 1.1.zip 300 Kb 2568 Скачать

Алексей C

Регистрация
06.12.2019
Сообщения
4
Реакции
4
Баллы
23


  • #1

Всем привет. Кто нибудь знает в чем причина: при нажатии кнопки Home в программе которая шла со станком Grblcontrol Candle версия программы Candle_1.1.7 , станок не возвращается в исходное положение? В консоле пишет
[CTRL+X] < Grbl 1.1f [‘$’ for help]

$H < error:5

S1000 < ok

extrimus

extrimus

Регистрация
29.03.2019
Сообщения
5 905
Реакции
5 268
Баллы
250
Возраст
57
Адрес

Россия

Город

Иваново

Имя

Андрей

Плата

Woodpecker 3.2

Прошивка

GBRL 1.1f


  • #2

$H — запуск цикла поиска «Дома». Концевики стоят? Активированы? Без них поиск «Дома» работать не будет.

Алексей C

Регистрация
06.12.2019
Сообщения
4
Реакции
4
Баллы
23


  • #3

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

YuTwo

Регистрация
14.12.2019
Сообщения
2
Реакции
0
Баллы
21
Город

Санкт-Петербург

Имя

Юрий


  • #4

Какую именно галочку? Такая же проблема.

Алексей C

Регистрация
06.12.2019
Сообщения
4
Реакции
4
Баллы
23


  • #5

Какую именно галочку? Такая же проблема.

  • 12.jpg

    12.jpg

    102 KB

    · Просмотры: 750

mart30

Регистрация
24.12.2019
Сообщения
7
Реакции
0
Баллы
11
Город

ua

Имя

mart


  • #6

добрый день только что собрал станок CNS3018 pro но столкнулся с проблемой нет програмного обеспечения, случайно набрел на форум почитал все есть для моей работы.не знаю какая прошивка у меня но хочу скачать по gblcontrol для версии 1,1,8 не ругайте если не в тему

Андрей

Андрей

Регистрация
08.05.2018
Сообщения
8 430
Реакции
8 363
Баллы
350
Адрес

Россия

Веб-сайт
www.cnc3018.ru
Город

Санкт-Петербург

Станок

CNC3018

Плата

3.2

Прошивка

1.1f


mart30

Регистрация
24.12.2019
Сообщения
7
Реакции
0
Баллы
11
Город

ua

Имя

mart


  • #8

спасибо буду изучать

Ваши сообщения автоматически объединены:

все хорошо но у на яндекс заблокирован

Андрей

Андрей

Регистрация
08.05.2018
Сообщения
8 430
Реакции
8 363
Баллы
350
Адрес

Россия

Веб-сайт
www.cnc3018.ru
Город

Санкт-Петербург

Станок

CNC3018

Плата

3.2

Прошивка

1.1f


  • #9

спасибо буду изучать
Ваши сообщения автоматически объединены: 9 мин. назад
все хорошо но у на яндекс заблокирован

Ну тогда давайте почту, где Вы не заблокированы :)
Странно!
На дворе 21 век :)
Как можно быть заблокированным на яндексе? :)
Что нужно такого сделать?;)

mart30

Регистрация
24.12.2019
Сообщения
7
Реакции
0
Баллы
11
Город

ua

Имя

mart


  • #10

я с ua с яндексом у нас туго как то открывают окольными путями но я не в курсе. lux_partner@ua.fm

dvcues

dvcues

Регистрация
22.05.2019
Сообщения
1 259
Реакции
989
Баллы
123
Адрес

Олонецкая губерния

Город

Каргополь

Имя

Дмитрий

Отчество

Васильевич

Плата

CAMTOOL 3.3

Прошивка

0.9


  • #11

я с ua с яндексом у нас туго

плохо:(

Андрей

Андрей

Регистрация
08.05.2018
Сообщения
8 430
Реакции
8 363
Баллы
350
Адрес

Россия

Веб-сайт
www.cnc3018.ru
Город

Санкт-Петербург

Станок

CNC3018

Плата

3.2

Прошивка

1.1f


  • Последнее редактирование:

  • #12

Последнее редактирование:

mart30, отправил, может прилетит.

Неа :(
Не ушло…
Прилетел ответ, что не доставилось :(

OlegK

OlegK

OlegK

Младший ненаучный сотрудник
Регистрация
11.06.2019
Сообщения
2 885
Реакции
5 661
Баллы
188
Город

Печора

Имя

Олег

Станок

CNC3018C

Прошивка

1.1f


  • #13

А на гугл-драйв закинуть? Уж гугл вряд ли там банят…

mart30

Регистрация
24.12.2019
Сообщения
7
Реакции
0
Баллы
11
Город

ua

Имя

mart


  • Последнее редактирование:

  • #14

Последнее редактирование:

немного разбираюсь у меня видео на борту материнки может из за этого буду пробовать отпишусь

Ваши сообщения автоматически объединены:

может через фейсбук скайп

stegy

Регистрация
22.12.2019
Сообщения
15
Реакции
1
Баллы
23


  • Последнее редактирование:

  • #15

Последнее редактирование:

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

Ваши сообщения автоматически объединены:

mart30,


Навигация по проекту:

  1. Покупка и разбор фрезерного станка Cutmaster CM-1500
  2. Модернизация Cutmaster CM-1500
  3. Установка и настройка Grbl
  4. CNCjs + ESP-Link
  5. Grbl + ESC & Brushless motor

В плане выбора прошивок я рассматривал легкие opensource проекты. А в качестве контроллера изначально тыкнул пальцем в Arduino Uno просто потому что это самое дешевое и простое решение. И я хочу доказать, что даже оно на голову круче чем вариант со старым компом с LPT портом, который использовался на моем станке раньше.

На 8-битный мк Atmega328p который используется в Arduino Uno самыми известными прошивками являются Marlin и Grbl. При этом Marlin давно разросся и начиная со второй версии уже не подходит на 8-битные мк. В тоже время Grbl поддерживается по сей день и является узким и производительным решением под 8-битный AVR контроллер.

Установка

Проект Grbl раньше распологался в репозитории github.com/grbl/grbl, но сейчас переехал в github.com/gnea/grbl. На сколько я понимаю, это обусловлено смещением фокуса на главный продукт – G-code парсер gnea.

Прошивку можно скачать из вкладки релизы в репозитории в виде hex-файла или собрать самому с помощью Makefile.

Для загрузки на мк необходимо воспользоваться утилитой avrdude (не обязательно скачивать Arduino IDE). Чтобы вручную не вводить аргументы можно воспользоваться Makefile находящимся в репозитории:

Данная команда исполняет следущую конструкцию:

avrdude -c avrisp2 -P usb -p atmega328p -B 10 -F -U flash:w:grbl.hex:i

При использовании этого метода необходим AVR программатор для загрузки прошивки по AVR ISP порту, это не всегда удобно ввиду отсуствия проргамматора. В этом случае можно воспользоваться предустановленным в Arduino загрузчиком. Загрузчик это специальная программа записанная в память мк (работает аналогично BIOS), однако её может и не быть. Для прошивки таким способом достаточно иметь USB провод и саму плату Arduino. Это также позволяет удобнее загрузить скаченный hex-файл:

avrdude -c arduino -p m328p -U flash:w:path/to/firmware.hex:i -P /dev/tty.usbserial-A804CL9D

Где path/to/firmware.hex – путь к файлу прошивки, а /dev/tty.usbserial-A804CL9D – serial порт подключенной Arduino.

Настройка Grbl

Итак, станок собран, контроллер подключен, прошивка залита. После подключения контроллера к компьютеру по USB и подключения к UART консоли, контроллер должен написать приветственную строку:

Введите $ и нажмите Enter, чтобы Grbl вывел подсказку. На что Grbl должен вывести следующее:

[HLP:$$ $# $G $I $N $x=val $Nx=line $J=line $SLP $C $X $H ~ ! ? ctrl-x]

$-команды используются для просмотра или изменения параметров Grbl, а также запуска процедуры поиска начальной позиции.

Последние четыре команды (которые начинаются не со знака $) – это команды управления в реальном времени, которые могут быть отправлены в любой момент, независимо от того, что в настоящее время делает Grbl. Они либо тут же меняют поведение работающего Grbl или сразу же выводят важные в реальном времени данные, например текущие координаты (aka DRO).

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

Ниже я аккумулировал и причесал информацию о параметрах со следующих источников: portal-pk.ru, cnc-design.ru, r13-project.ru.

Также советую ознакомится ещё с тройкой статей по эксплуатации станка на Grbl:

  • cnc-tex.ru: Установка grbl 1.1 на Arduino uno. Основы работы в программе LaserGRBL
  • habr.com: Самодельный плоттер: советы для начинающих, работа с grbl-прошивкой
  • 3dtoday.ru: ЧПУ фрезер Cyclone PCB Factory. Электроника, настройка прошивки GRBL 1.1f и немного про софт

Параметры Grbl

Для просмотра параметров введите $$ и нажмите Enter. Grbl ответит списком текущих системных настроек. В примере ниже настройки по умолчанию.

$0=10 (Step pulse time, microseconds)
$1=25 (Step idle delay, milliseconds)
$2=0 (Step pulse invert, mask)
$3=0 (Step direction invert, mask)
$4=0 (Invert step enable pin, boolean)
$5=0 (Invert limit pins, boolean)
$6=0 (Invert probe pin, boolean)
$10=1 (Status report options, mask)
$11=0.010 (Junction deviation, millimeters)
$12=0.002 (Arc tolerance, millimeters)
$13=0 (Report in inches, boolean)
$20=0 (Soft limits enable, boolean)
$21=0 (Hard limits enable, boolean)
$22=0 (Homing cycle enable, boolean)
$23=0 (Homing direction invert, mask)
$24=25.000 (Homing locate feed rate, mm/min)
$25=500.000 (Homing search seek rate, mm/min)
$26=250 (Homing switch debounce delay, milliseconds)
$27=1.000 (Homing switch pull-off distance, millimeters)
$30=1000 (Maximum spindle speed, RPM)
$31=0 (Minimum spindle speed, RPM)
$32=0 (Laser-mode enable, boolean)
$100=250.000 (X-axis travel resolution, step/mm)
$101=250.000 (Y-axis travel resolution, step/mm)
$102=250.000 (Z-axis travel resolution, step/mm)
$110=500.000 (X-axis maximum rate, mm/min)
$111=500.000 (Y-axis maximum rate, mm/min)
$112=500.000 (Z-axis maximum rate, mm/min)
$120=10.000 (X-axis acceleration, mm/sec^2)
$121=10.000 (Y-axis acceleration, mm/sec^2)
$122=10.000 (Z-axis acceleration, mm/sec^2)
$130=200.000 (X-axis maximum travel, millimeters)
$131=200.000 (Y-axis maximum travel, millimeters)
$132=200.000 (Z-axis maximum travel, millimeters)

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

$x=val описывает отдельный параметр настроек, причем val это значение параметра.

В предыдущих версиях Grbl каждый параметр имел после себя описание в круглых скобках. Но в Grbl, начиная с v1.1, этого, к сожалению, больше нет. Так было сделано, чтобы освободить flash-память для добавления новых возможностей, появившихся в v1.1. Однако, большинство хороших графических оболочек (GUI) добавляют для вас описания к параметрам, например используемая мной CNCjs.

Для изменения параметра необходимо выполнить команду $x=val. Например, для изменения длины шагового импульса в микросекундах на значение 10мкс, нужно ввести $0=10, завершив команду нажатием клавищи Enter. Если все прошло успешно, Grbl ответит ‘ok’, новые настройки будут сохранены в EEPROM и будут использоваться вплоть до следующего их изменения.

Вы можете перепроверить, что Grbl получил и сохранил верное значение параметра, повторно введя команду $$ для просмотра параметров из памяти.

Описание параметров Grbl

Примечание! Разница между Grbl v0.9 и Grbl v1.1 заключается только в том, что изменился вывод статуса командой $10 и были добавлены команды для новых параметров $30 / $31 — максимальные/минимальные обороты шпинделя и $32 — работа в режиме лазера. Все остальное — осталось без изменений.

$0 – Длительность шагового импульса, микросекунды

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

$1 – Задержка отключения двигателей, миллисекунды

Параметр меняется от 0 до 255.

  • 0 — напряжение снимается сразу;
  • 255 — напряжение не снимается никогда.

Каждый раз, когда ваши шаговые двигатели заканчивают движение и останавливаются, Grbl делает задержку на указанный интервал времени перед отключением питания двигателей. Вы можете всегда держать двигатели включенными (с подачей питания для удержания текущего положения) установив значение этого параметра в максимально возможное значение, равное 255 миллисекунд.

Отключение призвано помочь для тех типов двигателей, которые не следует держать включенными в течении долгого периода времени без какой-либо работы. И еще, имейте в виду, что в процессе отключения некоторые драйверы шаговых двигателей не запоминают на каком микрошаге они остановились, из-за этого вы можете стать свидетелем пропуска шагов при отключении/включении двигателей. В этом случае просто держите двигатели всегда включенными, для этого выполните $1=255.

$2 – Инверсия порта шаговых испульсов, маска

Этот параметр управляет инверсией сигнала шаговых импульсов (вывод STEP). По-умолчанию, сигнал шагового импульса начинается в нормально-низком состоянии и переключается в высокое на период импульса. По истечении времени, заданного параметром $0, вывод переключается обратно в низкое состояние, вплоть до следующего испульса. В режиме инверсии, шаговый импульс переключается из нормально-высокого в низкое на период импульса, а потом возвращается обратно в высокое состояние. Большинству пользователей не требуется менять значение этого параметра, но это может оказаться полезным, если конкретные драйверы ШД этого требуют.

Данный параметр задается по следующей маске:

Значение Маска Ось X Ось Y Ось Z
0 000
1 001 +
2 010 +
3 011 + +
4 100 +
5 101 + +
6 110 + +
7 111 + + +

$3 – Инверсия порта направления, маска

Этот параметр инвертирует сигнал направления для каждой из осей (вывод DIR). По-умолчанию, Grbl предполагает, что ось движется в положительном направлении, когда уровень сигнала направления низкий, и в отрицательном — когда высокий. Часто оси в некоторых станках движутся не так. Этот параметр изменит инвертирует сигнал направления для тех осей, что движутся в обратную сторону.

Положительное направление, когда значение перемещения по осям растёт.
Например: X=1..2..3..4..5

Данный параметр задается по той же маске, что и $2.

$4 – Инверсия сигнала включения шаговых двигателей, логический

По умолчанию, высокий уровень сигнала включения шаговых двигателей (вывод ENABLE) соответствует выключению, а низкий — включению. Если ваша сборка требует обратного, просто инвертируйте сигнал, выполнив $4=1. Отключается с помощью $4=0.

Может потребоваться перезапуск контроллера, чтобы изменения вступили в силу.

$5 – Инверсия входов концевых выключателей, логический

По умолчанию, входы концевых выключателей подтягиваются к питанию встроенным резистором подтяжки Arduino. Когда сигнал на входе принимает низкий уровень, Grbl рассматривает это как срабатывание выключателя. Для противоположного поведения, просто инвертируйте входы, введя $5=1. Отключается командой $5=0. Может потребоваться перезапуск контроллера, чтобы изменения вступили в силу.

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

$6 – Инверсия входа контактного датчика, логический

По умолчанию, вход контактного датчика подтягивается к питанию встроенным резистором подтяжки Arduino. Когда сигнал на входе принимает низкий уровень, Grbl рассматривает это как срабатывание датчика. Для противоположного поведения, просто инвертируйте вход контактного датчика, введя $6=1. Отключается командой $6=0.

Может потребоваться перезапуск контроллера, чтобы изменения втупили в силу.

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

$10 – Отчет состояния, маска

Параметр определяет какие данные реального времени вернет Grbl, когда пользователь запрашивает статус командой ?.

Эти данные включают в себя текущее состояние, текущие координаты, текущую скорость подачи, значения на входах, текущие переопределенные значения, состояния буферов, и номер выполняемой команды G-кода (если было включено при компиляции).

По-умолчанию новая реализация вывода отчета в Grbl v1.1 включает в себя вывод информации практически обо всем в стандартном выводе статуса. Множество данных скрывается и выводятся только тогда, когда их значение меняется. Это существенно увеличивает производительность по сравнению со старым способом и позволяет значительно быстрее получать обновленные данные о станке, причем в большем объеме. Документация на интерфейс в общих чертах рассказывает, как это работает, хотя в основном она предназначена только для разработчиков графических интерфейсов GUI.

Для простоты и удобства, Grbl v1.1 имеет всего две опции для данного параметра. Обе используюся пользователями и разработчиками в основном для отладочных целей. Текущие координаты могут быть настроены на вывод либо машинных координат MPos, либо рабочих WPos, но не обеих одновременно. Включение рабочих координат полезно в некоторых случаях при прямом управлении через последовательный порт, но машинные координаты необходимо использовать по-умолчанию. Может быть включен вывод информации об использования буфера в планировщике и приемнике последовательного порта Grbl. При этом показывается количество блоков или байт, доступных в соответствующем буфере. Это, нужно для оценки производительности Grbl при тестировании потоковых интерфейсов. Эту опцию (параметр = 2) по-умолчанию следует отключить.

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

Значение Обозначение
0 Тип координат WPos
1 Тип координат MPos
2 Включен вывод буфера данных Buf, содержащий количество свободного места в буферах планировщика и приемника последовательного порта

Просто сложите значения в строках, содержащих включаемые параметры и сохраните в Grbl полученное значение. Например, отчет, содержащий машинные координаты без данных о буфере соответствует параметру $10=1. Рабочие координаты и информация о буфере соответствуют параметру $10=2.

$11 – Отклонение на стыках, мм

Заданная величина отклонения на стыках, используется модулем управления ускорением для определения скорости перемещения через стыки отрезков запрограммированного в G-коде пути. Например, если путь в G-коде содержит острый выступ с углом в 10 градусов, и станок двигается к нему на максимальной скорости, данный параметр поможет определить насколько нужно притормозить, чтобы выполнить поворот без потери шагов.

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

Описание алгоритма обработки углов в Grbl, который учитывает скорость и величину угла на стыке можно прочитать на onehossshay.wordpress.com, а также на blog.kyneticcnc.com.

$12 – Отклонение от дуги, мм

Grbl выполняет круги, дуги и спирали G2/G3, разбивая их на множество крошечных отрезков таким образом, чтобы погрешность отклонения от дуги не превышала значения данного параметра. Скорее всего вам никогда не придется менять этот параметр, поскольку значение 0.002мм находится ниже разрешающей способности большинства станков с ЧПУ. Однако, если вы обнаружили, что ваши окружности слишком угловатые или прохождение по дуге выполняется слишком уж медленно, откорректируйте значение этого параметра. Меньшие значение дают лучшую точность, но могут снизить производительность из-за перегрузки Grbl огромным количеством мелких линий. И наоборот, более высокие значения приводят к меньше точности обработки, но могут повысыть скорость, поскольку Grbl придется иметь дело в меньшим количеством линий.

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

$13 – Отчет в дюймах, логический

Grbl в реальном времени выводит координаты текущей позиции, чтобы пользователь всегда имел представление, где в данный момент находится станок, а также параметры смещения начала координат и данные измерения (probing). По-умолчанию вывод идет в мм, но командой $13=1 можно изменить значение параметра и переключить вывод на дюймы. $13=0 возвращает вывод в мм.

$20 – Мягкие границы, логический

Мягкие границы это настройка безопасности, призванная помочь избежать перемещения за пределы допустимой области, которое может повлечь за собой поломку или разрушение оборудования. Она работает за счет информации о текущем положении и пределах допустимого перемещения по каждой из осей. Каждый раз, когда Grbl отправляется G-код движения, он проверяет не произойдет ли выход за пределы допустимой области. И в случае, если происходит нарушение границ, Grbl, где бы он ни находился, немедленно выполняет команду остановки подачи, останавливает шпиндель и охлаждение, а затем выдает сигнал аварии для индикации проблемы. Текущее положение при этом не сбрасывается, поскольку остановка происходит не в результате аварийного принудительного останова, как в случае с жесткими границами.

Мягкие границы требуют включения поддержки процедуры поиска начальной позициии ($22) и аккуратной настройки максимальных границ для перемещения, поскольку Grbl нужно знать где находятся допустимые границы. Работают они так: станок при получении команды $H ищет начальную точку, а далее при работе следит за рабочей координатой, и если контроллеру приходит команда, которая вынудит его выехать за эти границы, то станок прекратит обработку сформировав сигнал ошибки. Текущее положение при этом не сбрасывается. $20=1 для включения, и $20=0 для отключения.

$21 – Жесткие границы, логический

Жесткие границы в общих чертах работают также как и мягкие, но используют аппаратные выключатели. Как правило, вы подсоединяете концевые выключатели (механические, магнитные или оптические) в конце каждой из осей или в тех точках, достижение которых в процессе перемещения, как вы считаете, может привести к проблемам. Когда срабатывает выключатель, он приводит к немедленной остановке любого перемещения, останову охлаждения и шпинделя (если подключен), и переходу в аварийный режим, требующий от вас проверить станок и выполнить сброс контроллера.

Для использования жестких границ с Grbl, соответствующие выводы подтягиваются к питанию внутренним резистором, поэтому все, что от вас требуется — подключить нормально разомкнутый концевой выключатель между выводом и землей и задействовать жесткие границы командой $21=1, отключение – командой $21=0. Мы настоятельно рекомендуем озаботиться подавлением электических наводок и помех, способных повлиять на измерения. Если хотите проверять границы для обоих концов одной оси, просто подключите два выключателя параллельно между выводом и землей, чтобы срабатывание любого из них приводило к срабатыванию жесткой границы.

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

Для включения жестких границ потребуется по 2 концевых выключателя на каждую ось, для ограничения перемещения в двух крайних положениях. Концевые выключатели вешают парно на 1 вход концевых выключателей, при срабатывании любого из двух должна происходить остановка станка.

$22 – Поиск начальной позиции, логический

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

Для настройки процедуры поиска начальной позиции вам потребуется наличие надежно закрепленных концевых выключателей в некоторой точке, на которые нельзя наткнуться или сдвинуть, в противном случае точка отсчета может быть сбита. Обычно они устанавливаются в самых дальних точках в направлении +x, +y, +z на каждой из осей. Соедините концевые выключатели с соответствующими выводами и землей, так же как и концевые выключатели аппаратных границ и задействуйте поиск начальной позиции. Если интересно, то вы можете использовать граничные выключатели и для аппаратных границ, и для поиска начальной позиции.

По-умолчанию, процедура поиска начальной позиции Grbl сначала выполняет перемещение по оси Z в положительном направлении, чтобы освободить рабочую область, а затем выполняет одновременное перемещение по осям X и Y в положительном направлении. Для настройки точного поведения процедуры поиска начальной позиции имеются несколько параметров настройки (а также параметры компиляции), описанных ниже.

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

Также следует отметить, что при задействованной процедуре поиска начальной позиции Grbl блокирует выполнение команд перемещения G-кода до выполнения поиска начальной позиции. Имеется в виду отсутствие перемещения по осям, пока не будет отключена блокировка ($X). Большинство, если не все контроллеры с ЧПУ, ведут себя аналогично, делается это, в основном, для безопасности, чтобы не позволить оператору допустить ошибку позиционирования.

Поиск начальной позиции осуществляется при подаче команды $H контроллер. Поиск начинается с перемещения инструмента в положение увеличения координаты (или уменьшения см. параметр $23), пока не произойдет срабатывание концевого выключателя. По умолчанию в первую очередь в нулевую точку едет ось Z, а за ней оси X и Y. Если вы используете контроллер для лазерного гравера, то в исходном коде необходимо установить запрет поиска нулевой точки оси Z, так как этой оси нет, и контроллер не найдя концевого выключателя выдаст ошибку или зависнет.

$23 – Инверсия направления начальной точки, маска

По-умолчанию, Grbl предполагает, что концевые выключатели начальной точки находятся в положительном направлении, он выполняет сначала перемещение в положительном направлении по оси Z, затем в положительном направлении по осям X-Y, перед тем как точно определить начальную точку медленно перемещаясь назад и вперед около концевого выключателя. Если у вашего станка концевые выключатели находятся в отрицательном направлении, инверсия направлений начальной точки изменяет направление осей.

Она работает точно так же, как и инверсия порта шаговых импульсов или инверсии порта направления, все что вам нужно это указать значение из таблицы (см. параметр $2), указывающее какие оси нужно инвертировать для поиска в противоположном направлении.

$24 – Скорость подачи при точном поиске начальной точки, мм/мин

При поиске нулевой точки контроллер вначале перемещает оси на высокой подаче до срабатывания концевика. Затем делает откат на расстояние $27 и уже на низкой скорости точно определяет координату, вторым касанием концевика. Данный параметр задает скорость перемещения инструмента после отката при точном определении координаты (низкая скорость).

$25 – Скорость подачи при быстром поиске начальной точки, мм/мин

Скорость поиска начальной точки — это начальная скорость с которой контроллер пытается найти концевые выключатели начальной точки.

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

$26 – Подавление дребезга при поиске начальной точки, миллисекунд

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

Для решения данной проблемы нужно подавить дребезг сигнала либо аппаратно, за счет какой-нибудь фильтрации, либо программно, сделав небольшую задержку на время дребезга. Grbl будет делать короткую задержку, но только при поиске начальной точки на этапе ее точного определения. Установите значение задержки, достаточное, чтобы ваши выключатели обеспечивали устойчивый поиск начальной точки. Для большинства случаев подойдут значения 5-25 миллисекунд.

При срабатывании концевого выключателя (особенно механического), наблюдается шум на входе (поочередные всплески от того, что контакт не сразу прижимается, а еще немного пружинит). Что бы исключить данный шум из расчета ьребуется либо установка фильтра, либо програмная задержка, которая и задается этим параметром. Для большинства случаев требуемое значения 5-25 миллисекунд.

$27 – Отъезд от начальной точки, мм

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

$30 – Максимальные обороты шпинделя, Об/мин

Задает обороты шпинделя, соответствующие максимальному напряжению на выходе ШИМ, равному 5В. Допускается задавать в программе и более высокие обороты шпинделя, но вывод ШИМ все равно не может быть больше 5В. По-умолчанию, Grbl строит линейную зависимость из 255 отсчетов между максимальными-минимальными оборотами шпинделя и напряжениями на выходе ШИМ из диапазона 5В-0.02В. Значение ШИМ, равное 0В, означает отключение шпинделя. В файле config.h есть дополнительные параметры, влияющие на это поведение.

$31 – Минимальные обороты шпинделя, Об/мин

Задает обороты шпинделя (или мощность лазера), соответствующие минимальному напряжению на выходе ШИМ, равному 0.02V (напряжение питания платы/256).

0В означает полное отключение. В случае использования драйвера бесколлекторного мотора нужно произвести его калибровку, чтобы при ШИМ соотвествующим 0В он не работал, а при 0.2В уже работал, а максимальная мощность достигалась при соотвествии ШИМ максимальному напряжению питания.

$32 – Режим лазера, логический

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

Если включить данный параметр, то контроллер перейдет на режим управления лазером. Лазер подключается на тот же пине отвечающем за обороты шпинделя. В случае с лазером, делать остановки не нужно, иначе в точках изменения яркости будут наблюдаться более черные точки или полосы. Значение скважности ШИМ, отвечающего за управление оборотами шпинделя, будет меняться в процессе движения сразу же, без выполнения остановки.

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

$100, $101, $102 – [X,Y,Z] шагов/мм

Данные параметры задают количество шагов, сделав которое ось сдвинется на 1мм.

Например шаговый двигатель имеет 200 шагов на 1 оборот, контроллер настроен на 16 микрошаг. Теперь допустим, что при вращении двигателя на 1 оборот инструмент переместился на 32мм, тогда имеем. 200 шагов умножить на 16 микрошаг – 3200 импульсов нужно подать на контроллер, что бы шаговый двигатель сделал 1 оборот, и переместил инструмент на 32мм. Значит на 1мм он сдвинется за 3200/32мм=100 шагов.

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

Использование больших значений микрошага (например, 16) может уменьшить крутящий момент вашего двигателя, так что используйте минимальное значение, обеспечивающее нужную точность перемещения по осям и удобные эксплутационные характеристики.

$110, $111, $112 – [X,Y,Z] Максимальная скорость, мм/мин

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

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

Например, для проверки оси X, отправьте Grbl команду вида G0 X50 с расстоянием перемещения, достаточно большим для разгона до максимальной скорости. Максимальное значение будет достигнуто, когда ваш шаговый двигатель застопорится. Он будет издавать жужжащий звук, но ничего страшного с ним не случится. Задайте значение на 10-20% меньше обнаруженного, чтобы учесть износ, трение и массу вашей рабочей головки/инструмента. Повторите процесс для остальных осей.

Эти значения также определяют максимальную скорость перемещения при выполненнии команды G0.

$120, $121, $122 – [X,Y,Z] Ускорение, мм/сек^2

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

И опять, как и в случает с максимальными скоростями, самый простой способ определить значение этих параметров — индивидуально протестировать каждую из осей, медленно увеличивая значения, пока мотор не застопорится. Завершите настройку сохранением значения на 10-20% меньшим от обнаруженного. Это позволит учесть износ, трение и инертность массы. Мы настоятельно рекомендуем вчерновую протестировать некоторое количество программ на G-коде, прежде чем окончательно остановиться на выборанных значениях. Иногда нагрузка на ваш станок может оказаться иной при одновременном перемещении по нескольким осям.

$130, $131, $132 – [X,Y,Z] Максимальное перемещение, мм

Эти параметры задают максимальную дистанцию перемещения в мм от одного конца каждой из осей до другого. Они имеет смысл только если вы задействовали мягкие границы (и поиск начальной точки), поскольку используются только модулем проверки мягких границ для определения выхода за пределы допустимой области в процессе перемещения. См. параметры $20, $22.

Мои настройки

Система координат

Для начала советую определить переднюю сторону станка. Это одна из сторон параллельных порталу. Затем в левом углу разместите начало координат. Потом вектора осей исходящие из него:

  • вектор оси X – ось расположенная на портале;
  • вектор оси Y – ось по которой перемещается портал;
  • вектор оси Z — ось рабочего инструмента, направлена вверх от рабочей поверхности (ноль будет в самом низком положении инструмента).

image

Такое расположение осей будет легко сопоставить с тем, которое вы будете использовать при моделировании изделий и составлении УП. А также в принципе позволит легко ориентироваться в координатах станка.

Это расположение осей также задекларировано стандартом DIN 66217, подробнее в этом руководстве.

Настройка алгоритма поиска домашней точки

По-правильному нужно установить концевики в максимальных положениях осей. Это позволит переместиться в нулевую точку без срабатывания концевых выключателей. Если это не так то, расположение концевых выключателей можно инвертировать использовав параметр $23. В этом случае нужно помнить про то, что, послав станок в начальную точку, он заденет концевой выключатель.

Тут нужно сделать ещё одно замечание: при инвертировании расположения концевых выключателей это смещает машинную систему координат относительно нуля, на заднное параметрами $130, $131, $132 расстояния минус расстояние заданное параметром $27.

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

Мои параметры

Я пришел к следующему набору параметров (показаны только отличиные от базовых значения):

Общие:

  • $0=15 – длина импульса на шаговик, поставил как в документации к PLC330.
  • $1=255 – запрет на отключение двигателей. При тестах по расчету коэфициента steps/mm ось не останавливалась продолжая движение по энерции. Очевидно, что стандартных 25мс было недостаточно для остановки. Поэтому я выбрал никогда не снимать питание с двигателей, так пропало движение оси по энерции. Также на PLC330 есть автоматическое снижение тока на двигателе до 300мА в случае отсуствия новых команд в течении нескольких секунд. Это сыграло на руку.
  • $3=3 – инвертировал движение по оси X и Y (вместо этого можно просто поменять подключение обмоток шаговых моторов на драйвере, но я сделал чтобы все по цветам было одинаково).
  • $4=1 – инвертировал пин ENABLE, тк в порту LPT нормальная логика (высокий уровень соотвествует включению и наоборот).
  • $5=1 – инвертировал пины концевиков, тк в порту LPT нормальная логика.
  • $10=1 – добавил в вывод машинные координаты.

Работа с концевиками:

  • $21=1 – включил аварийную остановку при срабатывании концевиков.
  • $22=1 – включил алгортим поиска начальной точки по концевикам.
  • $27=2 – увеличил отъезд от концевика на 2мм, тк рама немного изогнута и при алгоритме поиска нулевой точки, иногда срабатывал концевик по X.

Линейные коэффициенты, скорости и границы:

  • $100=78.353, $101=78.353, $102=1066.666 – задал количество шагов на 1мм перемещения по осям X, Y, Z.
  • $110=1000, $111=1000 – увеличил скорость перемещения по осям X, Y до 1000mm/min.
  • $130=500, $131=990, $132=200 задал максимальные перемещения по всем осям.

Расчет количества шагов на 1мм пермещения

Я добавил этот пункт, тк считаю важным понимать откуда берутся параметры 100-102 и что их можно рассчитать математически, а не подбирать, выполняя перещение станка и замеряя фактическое перещение.

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

Начнем с расчета трапецеидального винта. Это однозаходный винт с правой резьбой, диаметром 10мм и ходом 3мм. Ход винта это перемещение гайки при одном полном обороте. Подробнее о типах трапецеидальных винтов в этом видео.

На драйверах двигателя у меня включено деление шага 1/16, а угол двигателя 57HS76 на шаг составляет 1.8°. Это означает что двигатель совершает один оборот за 360° / 1.8° = 200шагов. Но так как у меня один шаг делится на 16 => 200×16 = 3200 импусов на один оборот.

Тоесть у нас получается простая пропорция перемещение на 3мм за 3200 импульсов, разделив количество импульсов на перещение получим 1066.666 импульсов на 1мм.

С зубчатой передачей чуть сложнее. Расчитаем диаметр шестерни по формуле: D = m × z, где m – модуль шестерни (в моём случае равный 1), z – количество зубов (в моём случае 13). Получается диамет моей шестерни равен 13мм. Далее расчитаем длину окружности – расстояние на которое перемещается шестерня по зубчатой рейке за один полный оборот: L = Pi × D, => L = 3.14159265 × 13 ≈ 40.84.

По аналогии расчитываем пропорцию для перемещения на 1мм => 3200 / 40.84 = 78.353.

Понравилась статья? Поделить с друзьями:
  • Скачать руководство для иж планета
  • Кашкин практическое руководство клирик
  • Для чего нужны инструкции по эксплуатации оборудования
  • Зивокс в таблетках инструкция по применению
  • Виртуализация kvm полное руководство 2е изд