Металл2024 Реклама
Метобр2024 Реклама

Repetier Firmware. Механическая часть.

dagov
Идет загрузка
Загрузка
12.05.2016
18391
39
Обзоры

Подпишитесь на автора

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

Отписаться от уведомлений вы всегда сможете в профиле автора.

35
Repetier Firmware. Механическая часть.
Продолжаю обзор настроек Repetier Firmware. Решил рассматривать все настройки в расширенном режиме (expert), так как в оставшихся режимах часть настроек будет скрыта.

И так, первым пунктом у нас идут шаговые двигатели и все параметры с ними связанные.

Шаги и шаговики.

Первыми пунктами стоят включение компенсации обратного движения или люфта вдоль оси при смене направления движения, если хотите (Enable backlash compensation). Хоть на ременных, настроенных передачах люфта как такового нет, тут функция компенсации есть, которую можно записать в EEPROM. Например

#define ENABLE_BACKLASH_COMPENSATION 1

#define X_BACKLASH 0

#define Y_BACKLASH 0.22

#define Z_BACKLASH 0

Таким образом мы компенсируем люфт по оси Y на 0,22 мм.
Repetier Firmware. Механическая часть.
Вторым пунктом 'с галочкой' стоит разрешение на эдакое 'учетверение' :D микрошагов с пояснением, что для этого нужна частота процессора выше 24МГц. Судя по документации к прошивке и datasheet ATMEGA 2560 способна выдать не больше 16Мгц
Repetier Firmware. Механическая часть.
.Если образно, то это частота следования импульсов на ноге драйвера, выдаваемая процессором, которая занимает более чем 80% мощности чипа, и тратится подпрограммой процессора, и оставляет совсем немного места для других задач. В этом случае, по достижении заданной частоты процессором он станет объединять 4 микрошага (в зависимости от вашего драйвера) в один. Небольшая аппроксимация, дающая возможность увеличить скорость движения пожертвовав точностью. Если учесть,что на ATMEGA максимальная частота 12МГц, то эта функция просто не сработает.

- Disable steppers after inactivity of ___ s. То бишь время после которого двигатель из режима удержания выключается.

- Disable as much as possible after inactivity of __ s. В общем это выключение на сколько это возможно, то есть, по видимому после указанного времени двигатели отключаются и даже при желании повернуть ось принтер этого не сделает. Поэтому сделали приписку [ 0 is disabled], то есть выключение этой функции. Не очень понятна логика того зачем это делается, ладно бы там скажем на прюшу прицепить лазер, настроить фокус и после этого выключить определенные двигатели (по оси Z), но тут настройка для всех двигателей без исключений.

- Delay stepper high signal __ microseconds. Needed for gantry systemes and DUE boards.

По моему пониманию это задержка подачи сигнала с процессора на драйвер для учета инерционности системы, так как при сильном дроблении шага и большой скорости сигнал на ноге драйвера очень короткий и двигатель может просто не успеть его отработать и возможна неравномерность движения. Поэтому разработчик в зависимости от типа драйверов (А4988 или DRV8825) рекомендует выставлять 1 или 2 микросекунды для Corexy/H-bot и для плат на основе DUE.

- Frequency, where steps get grouped in double steps ____ Hz. [Atmel AVR has a limit near 12000 Hz].

Частота, при которой 2 микрошага будут объединяться в один для снижения нагрузки на процессор. Для DUE эту цифру можно поднять до 50000-70000, если вы не хотите эдакового округления при движении. Судя по всему это относится только к тем шагам, которые можно сгруппировать, к примеру движение по оси X у вас будет 123 микрошага, процессор объединит 122 микрошага в 61 двойной микрошага и добавит 1 микрошаг. Дальше каретка по оси не уедет,это жертва точности во благо скорости.

-Delay between double/quad steps ___ microseconds, increase when you loose steps frequency.

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

- Limit for a half stepping ___ processor steps, 1999 is a good value for AVR. Higher values increase load and quality.

По-видимому тут есть не только удвоение/учетверение шагов, но и дополнительное деление пополам. Причем на это выделена мощность и количество этих удвоений при той же нагрузке на процессор 1999. Увеличение этого количества увеличит нагрузку на процессор, но так же и увеличит качество печати. Оптимальное значение для AVR ардуины уже стоит по умолчанию.

- Move cash size ___ moves. Higher value require more RAM. Cartesian printer can go up to 32 on ATMEL AVR, Deltas until 16.

Это объем RAM памяти, выделенный под перемещения наперед, если можно так выразиться. То есть при печати с ПК на прюше можно выставить запоминание 32 перемещений от координаты к координате, и частота запроса координат из файла *.gcode упадет, чем можно увеличить скорость. У дельт очень сложная математически кинематика, так как даже для движения вдоль любой из осей задействованы 3 двигателя, поэтому и при всех прочих равных запомнить можно только 16 координат.

Если рассмотреть весь алгоритм работы процессора во время печати, то приближенно он будет выглядеть так:

1. Парсинг Gcode. То есть сопоставление координат из кода с максимальными значениями перемещений по осям.

2. Расчет траектории. И времени исходя из таблиц работы шаговиков.

3. Опрос всех нагревателей.

4. Опрос эндстопов.

5. Генерация импульсов на драйвера двигателей.

Этот алгоритм происходит после каждой перезаписи памяти.

- Ensure minimum time per move when cash is bellow ____ entries. 0 - move cash size.

Гарантированное минимальное время на движение, когда память перезаписывает новые 16/32 координаты. Если проще, то при скорости принтера X мм/с буфер в 32 координаты расходуется за время Y с. А этот параметр - через сколько сделанных шагов будет перезаписываться буфер. Если поставить 0, то перезапись будет происходить после прохождения всех координат кареткой.

- Assumed ticks per move computation time ___ processor steps.

Допустимое количество сигналов или отметок во время вычисления перемещения за указанное количество операций процессора. Разработчик рекомендует цифру в 250000.

- Jerk XY moves ___ mm/s.

Это - разность оборотов между двумя перемещениями, которые могут быть достигнуты без ускорения. То есть такая резкая остановка в момент изменения количества оборотов или наоборот. Своеобразный толчок от двигателя к каретке, который в большой разнице скоростей и их частой смене приводит к таким дрыганиям принтера и его вибрации. Почему ввели этот параметр? Да все просто, это такой предел резких ускорений и торможений, которые не загружают процессор. Иначе бы процессору пришлось обрабатывать сглаживания в скоростях. Этот параметр влияет на стартовую скорость движения. Стартовая скорость движения каретки это 50% от этого параметра. Иначе говоря, если jerk имеет 20 mm/s, то стартовая скорость движения будет 10 mm/s. И еще - при хоть небольшом прослаблении ремня (а его все натягивают без динамометра) и большом jerk у вас будет люфт из-за резкости движения. Да, тот самый backlash, компенсацию которого мы включали выше, и ее можно изменять не занимаясь перекомпиляцией и заливкой прошивки заново, а через EEPROM.

Далее переходим к двигателям.

Мотор оси X

Мотор оси Y

Мотор оси Z

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

- Stepper socket

Тут можно переназначить пин не влезая в дебри их цифровых обозначений. Они называются именно так, как то приятно глазу - место мотора X или Y, а можно и Z, или даже на место экструдера 1 (их поддерживается 5).

- Resolution ___steps per mm

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

- Max travel speed ___ mm/s

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

- Homing speed ___ mm/s

Скорость движения в положение Home, то есть ноль.

- Travel acceleration ___ mm/s^2

Ускорения на холостом ходу (перемещения при которых экструдирования пластика не происходит.

- Print acceleration ___ mm/s^2

Ускорения при печати.

После этого есть пункты выбора изменения направления (invert direction), изменение сигнала включения (invert enable signal), отключение питания когда не используется (disable when unused) и зеркалирование сигнала двигателя на другой драйвер (mirror motor signals to other stepper driver).

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

Эндстопы

Опять куча галочек с включением/отключением.

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

Далее идут включенные функции минимального положения концевиков. То есть если у вас концевик расположен в максимуме (к примеру в ZAV или Sprinter по оси Z).

После в выпадающем меню можно выбрать последовательность парковки в пункте Homing order. Сначала X,после Y, и далее Z (как по умолчанию у всех), либо выбрать любую другую последовательность.

Пины эндстопов, а так же их характеристики настраиваются ниже для каждой из осей в положениях MIN и MAX. Они могут быть как с переключением на землю, нормально открытыми (swich on GND, normaly open), так и нормально закрытыми (swich on GND, normaly closed). Насколько я понял это если концевик подключить к GND и +5V. Остальные варианты подключения это - Electronic (полагаю между Signal и +5V), точно так же нормально открытый и нормально закрытый.

Если у вас нет концевиков в положении MAX их можно отключить, выбрав Not installed.

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

Далее можно настроить параметры:

- Возврат к заданной координате после касания эндстопа (go back after first hit) для каждой из осей.

- Некий множитель для второго теста (reduction factor 2nd test). Полагаю это коэффициент замедления при втором касании концевика.

- Расстояние между концевиками и нулевым положением (endstop distance after homing). Это те координаты, в которые пойдет экструдер после обнуления координат на концевиках. Разработчики советуют использовать этот параметр в случае, если вы хотите предотвратить включение эндстопа рядом с ним (может если использовать датчик Холла) и рекомендуют использовать для дельт. Насколько я понял этот параметр можно использовать для юстировки. Ось касается концевика, а мы видим,что сопло не коснулось стола, далее экструдер отходит в эту координату, а мы крутим регулировочный винт.

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

Подпишитесь на автора

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

Отписаться от уведомлений вы всегда сможете в профиле автора.

35
Комментарии к статье
Кремень КБ Реклама
Кремень КМ Реклама