ArduinoGRBL: различия между версиями
Staltech (обсуждение | вклад) (Карта контактов для Arduino Mega) |
Staltech (обсуждение | вклад) (Команды сброса EEPROM) |
||
| Строка 18: | Строка 18: | ||
[[Файл:2016-09-20 214420.jpg|Карта контактов]] | [[Файл:2016-09-20 214420.jpg|Карта контактов]] | ||
| − | Карта контактов для платы Arduino Mega:<br /> | + | Карта контактов для платы Arduino Mega версия GRBL 0.9:<br /> |
[[Файл:Arduino Mega connect.jpg|750px|Карта контактов]] | [[Файл:Arduino Mega connect.jpg|750px|Карта контактов]] | ||
| − | Ссылка на прошивку для Arduino Mega с хомлением по осям X и Y. | + | Ссылка на прошивку GRBL 0.9j для Arduino Mega с хомлением по осям X и Y. |
https://yadi.sk/d/UL0NA_hyvTrdm | https://yadi.sk/d/UL0NA_hyvTrdm | ||
| Строка 63: | Строка 63: | ||
Изменение параметра: <b>$x = значение</b> (x - номер параметра, например $100=90, новое значение количества шагов на один миллиметр для оси X = 90)<br /><br /> | Изменение параметра: <b>$x = значение</b> (x - номер параметра, например $100=90, новое значение количества шагов на один миллиметр для оси X = 90)<br /><br /> | ||
| − | <b>Таблица значений для масок инвертирования:</b> | + | <b>RST=$, $RST=#, $RST=* - Команды восстановление настроек и параметров Grbl по умолчанию.</b> |
| + | <br /><b>RST=$</b> - Восстанавливает параметры из списка <b>$$</b> на значения из прошивки (заданные по умолчанию перед компиляцией). | ||
| + | <br /><b>RST=#</b> - Обнуляет все значения заданные через команды <b>G54-G59, G28, G30</b> (смещения и позиции), хранящиеся в EEPROM. | ||
| + | <br /><b>RST=*</b> - Обнуляет и восстанавливает все настройки и параметры GRBL, хранящиеся в EEPROM. | ||
| + | <br /><span style="color:#ff0000">RST=* рекомендуется выполнить после прошивки, перед дальнейшей настройкой).</span> | ||
| + | <br /> | ||
| + | <br /><b>Таблица значений для масок инвертирования:</b> | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
Версия 06:21, 21 сентября 2016
Виды ардуино-контроллеров
Ардуино-контроллеры используемые в любительском ЧПУ, бывают различного вида, но все содержат одинаковые компоненты:
- Микроконтроллер - который в себе содержит не только прошивку (программа по которой он работает), но и специальную память EEPROM в которой можно хранить настройки контроллера, и они не теряются, при отключении контроллера от питания.
- Микросхема преобразования USB сигнала в USART сигнал, для связи компьютера с микроконтроллером.
- Драйвера моторов - специальные модули преобразующие цифровые данные от микроконтроллера, в нужное напряжение, и ток, который подается на моторы.
Возможные варианты:
По умолчанию в 0.9 версии контакты настроены следующим образом:
Карта контактов для платы Arduino Mega версия GRBL 0.9:
Ссылка на прошивку GRBL 0.9j для Arduino Mega с хомлением по осям X и Y. https://yadi.sk/d/UL0NA_hyvTrdm
Настройка GRBL версии 0.9
Ссылка на официальный англоязычный ресурс GitHub https://github.com/grbl/grbl/wiki/Configuring-Grbl-v0.9
Список параметров хранящихся в EEPROM контроллера.
$0 = 10 Ширина импульса Step, мкс.
$1 = 25 Задержка перед переходом на удержание, мс.
$2 = 0 Маска инвертирования сигналов Step: 00000000
$3 = 6 Маска инвертирования сигналов Dir: 00000110
$4 = 0 Инвертирование сигнала Step enable, BOOL
$5 = 0 Инвертирование входов от конечных датчиков (концевики), BOOL
$6 = 0 Инвертирование входа от датчика поверхности Probe, BOOL
$10 = 3 Маска получения статуса от GRBL: 00000011
$11 = 0,020 Отклонение при прохождении крутых поворотов, мм.
$12 = 0,002 Величина сегмента дуги, мм.
$13 = 0 Данные от контроллера GRBL в дюймах, BOOL
$20 = 0 Включить программное ограничение перемещений (параметры $130,$131,$132) BOOL
$21 = 0 Включить ограничение по концевым датчикам, BOOL
$22 = 0 Автопозиционирование по концевикам, поиск точки Home, BOOL
$23 = 1 Маска инвертирования направления движения к точке Home 00000001
$24 = 50,000 Скорость движения у концевиков, мм / мин
$25 = 635,000 Скорость движения к точке Home, мм / мин
$26 = 250 Задержка срабатывания концевиков (антидребезг) мс.
$27 = 1,000 Расстояние «отскока» от концевиков, мм.)
$100 = 314,961 Число шагов на мм. по оси X, шаг / мм
$101 = 314,961 Число шагов на мм. по оси Y, шаг / мм
$102 = 314,961 Число шагов на мм. по оси Z, шаг / мм
$110 = 635,000 Максимальная скорость перемещений по оси X мм / мин
$111 = 635,000 Максимальная скорость перемещений по оси Y мм / мин
$112 = 635,000 Максимальная скорость перемещений по оси Z мм / мин
$120 = 50,000 Ускорение по оси X (чем больше значение тем быстрее разгон) мм / сек ^ 2
$121 = 50,000 Ускорение по оси Y (чем больше значение тем быстрее разгон) мм / сек ^ 2
$122 = 50,000 Ускорение по оси Z (чем больше значение тем быстрее разгон) мм / сек ^ 2
$130 = 225,000 Программное ограничение перемещения по оси X мм (включение $20 = 1)
$131 = 125,000 Программное ограничение перемещения по оси Y мм (включение $20 = 1)
$132 = 170,000 Программное ограничение перемещения по оси Z мм (включение $20 = 1)
Вывод списка параметров, команда: $$
Изменение параметра: $x = значение (x - номер параметра, например $100=90, новое значение количества шагов на один миллиметр для оси X = 90)
RST=$, $RST=#, $RST=* - Команды восстановление настроек и параметров Grbl по умолчанию.
RST=$ - Восстанавливает параметры из списка $$ на значения из прошивки (заданные по умолчанию перед компиляцией).
RST=# - Обнуляет все значения заданные через команды G54-G59, G28, G30 (смещения и позиции), хранящиеся в EEPROM.
RST=* - Обнуляет и восстанавливает все настройки и параметры GRBL, хранящиеся в EEPROM.
RST=* рекомендуется выполнить после прошивки, перед дальнейшей настройкой).
Таблица значений для масок инвертирования:
| Инв. X | Инв. Y | Инв. Z | Маска bit |
Значение dec |
|---|---|---|---|---|
| Нет | Нет | Нет | 00000000 | |
| Да | Нет | Нет | 00000001 | |
| Нет | Да | Нет | 00000010 | |
| Да | Да | Нет | 00000011 | |
| Нет | Нет | Да | 00000100 | |
| Да | Нет | Да | 00000101 | |
| Нет | Да | Да | 00000110 | |
| Да | Да | Да | 00000111 |
Если например нужно инвертировать направление движения по осям X и Y, выбираем маску 00000011 значение 3.
Вводим команду: $3 = 3 OK
После внесения изменений в параметры, выполняем сброс контроллера (команда CTRL-X OK или
соответствующая кнопка в управляющей программе).
Настройка параметров ($100, $101, $102) количество шагов на миллиметр для осей X, Y, Z.
Для ШВП. Вводные:
1. Шаг винта мм/оборот
2. Число полных шагов на один оборот вала двигателя, для шагового двигателя обычно 200 но может быть и меньше (смотрите документацию на двигатель).
3. Микрошаг (деление шага, установленное на драйвере двигателя) если полный шаг берем 1.
Шагов на миллиметр = Число полных шагов * микрошаг / Шаг винта.
Пример для оси Y: Шаг винта = 5, Число полных шагов = 200, микрошаг = 8; 200 * 8 / 5 = 320
Задаем новое значение для оси Y: $101 = 320 OK, делаем сброс CTRL-X и проверяем перемещение (например F500 G1 Y30).
Тоже самое для других осей.
Метод подбора (пример для оси X). Входящие:
1. Заданный путь, например F500 G1 X10.
2. Реально пройденный путь (замеряем линейкой), к примеру получилось 16 мм.
3. Текущее количество шагов на миллиметр для оси X (смотрим параметр $100 по команде $$), допустим у нас $100 = 314.961.
Считаем: шагов на мм. (новое значение) = Реально пройденный путь мм / Заданный путь мм * Шагов на мм (текущее значение); 16 / 10 * 314.961 = 503.9376
Задаем новое значение для оси X: $100 = 503.9376 OK, делаем сброс CTRL-X затем проводим замер заново но с большим перемещением
(например F500 G1 X100). И так несколько раз до получения приемлемой точности. Тоже самое для других осей.
