Настройка FluidNc на примере файла 3axis_v4.yaml

Настройка FkuidNc на примере 3axis_v4.yaml

В этой статье расскажу о настройках FluidNc на основе файла 3axis_v4.yaml
то есть шагая по строкам файла разберу его структуру а так же покажу что за что отвечает и как настроить под свой фрезерный станок.
Что бы контроллер заработал как надо, в него нужно закачать файл конфигурации. Сам контроллер может хранить в себе несколько файлов конфигурации под разные станки или разные задачи и при желании их можно переключать. По сути этот файл аналог ini файлов применяемых в виндовс.

Теперь по пунктам (специально не стал изменять дефолтные настройки из файла):

name: «ESP32 Dev Controller V4» — Название файла конфигурации, название может быть произвольным
board: «ESP32 Dev Controller V4» — Название вашей платы управления, название может быть произвольным
stepping: -настройка работы шаговых двигателей:
engine: RMT
Методы, которым генерируются шаги в прошивке.
RMT-Управление с пинов esp32 на драйвера посредством сигналов Step, Dir, En.
TIMED-что за тип управления я не до конца понял, единствоееное, что понял — он практически не используется.
I2SO_STATIC, I2SO_STRIMING- типы I2SO работают толькос модулями I2S.
Если используете драйвер с входами Step, Dir, En то оставляйте метод RMT.
idle_ms: 250
Задержка отключения двигателей в милли секундах, предел регулировки 0-254, 255-двигатели всегда включен.
dir_delay_us: 1
Задержка, между переключениями сигнала Dir (смены направления вращения, что бы драйвер успер среагировать) в микросекундах.
pulse_us: 2
Длительность импульса на выводе Step в микро секундах.
disable_delay_us: 0
Задержка после подачи сигнала включения драйвера (En) до подачи первых сигналов на перемещение.

axes:
Настройки осей
shared_stepper_disable_pin: gpio.13:low
Общий вывод включения/отключения шаговых двигателей (сигнал En), если подключено напрямую, то можно установить параметр NO_PIN, тогда сигнал выводиться с платы не будет.
x:
Настройка оси X, для осей Y, Z, A, B настройки аналогичны, поэтому распишу только для одной оси.
steps_per_mm: 800
Количество шагов для перемещения оси на мм. Пример расчета. Шаговый двигатель имеет 200 шагов на 1 оборот. Установлено деление шага в драйвере 1/16 (16 микрошагов на 1 шаг). На станке установлена ШВП которая перемещает гайку на 4 мм на один оборот. Количество шагов будет равно: количество шагов двигателя умножить на микрошаг и разделить произведение на перемещение за один оборот. (200*16)/4=800. Если у вас шаговый двигатель с другим количеством шагов или вместо ШВП используется трапецеидальная гайка, то необходимо пересчитать под свои параметры.
max_rate_mm_per_min: 2000
Максимальная скорость перемещения мм/мин (как правило это скорость холостых перемещений станка). Подбирается опытным путем. увеличивается до тех пор пока не начнут проявляться пропуски шагов, далее рекомендуется снизить на 20 процентов максимальную скорость от найденного значения.
acceleration_mm_per_sec2: 25
Ускорение начала движения мм/сек2, подбирается так же опытным путем как и со скоростью. Чем больше этот параметр, тем быстрее может ускориться ось, а на малых перемещениях набрать большую скорость. Дело в том, что при низком ускорении ось может даже не достичь своей максимальной скорости. Это как с замером разгона автомобиля 0-100 на 400 метровом участке дороги — участка дороги для тихохода может даже не хватить, что бы до 100 разогнаться.
max_travel_mm: 1000
Максимальное расстояние перемещения в мм. По сути задает так называемые soft limit, дальше этого расстояния ось не поедет.
homing:
Движение домой (поиск концевика)
cycle: 2
Как я понял это количество проб, на основе которых вычисляется положение нулевой точки. обычно значение равно 2, найдя нулевую точку контроллер отъезжает от нее а далее медленно подъезжает вновь для более точного срабатывания.
mpos_mm: 10
Начало отсчета машинных координат после нахождения концевика. может быть как положительным так и отрицательным значением.
positive_direction: false
Направление движения шагового двигателя, может принимать два значения «true» или «false». Если необходимо изменить направление движения оси, то стоит поменять значение на противоположное. Иногда не работает, мне пришлось менять подключение одной обмотки шагового двигателя, что бы изменить направление его вращения.
motor0:
limit_all_pin: gpio.17:low:pu

Пин на который подключен концевой выключатель оси X. limit_all_pin — означает, что на одни пин можно подключить 2 концевика ограничивающие перемещение как в положительном так и в отрицательном направлениях. если необходимо различать качание в начале и конце координат, то следует использовать limit_neg_pin и limit_pos_pin. gpio.17:low:pu — означает, что подключается концевик к пину 17, срабатывает на низкий сигнал (low) и использован встроенный в контроллер подтягивающий резистор на шину питания (pu).
stepstick:
пины на который подключен драйвер шагового двигателя. Сигналы Step и Dir.
direction_pin: gpio.14
step_pin: gpio.12
motor1:
null_motor:

дополнительный мотор не используется, но если осью X управляет сразу 2 мотора, то тут настраивается второй двигатель, который будет работать синхронно с первым.
………………………..
Далее аналогичные настройки для осей Y и Z, а так же осей A, B, С если осей больше, чем 3.
spi:
Настройка Spi шины. тут менять ничего не требуется, так как именно к этим пинам подключена шина в контроллере, именно железная ее реализация.
miso_pin: gpio.19
mosi_pin: gpio.23
sck_pin: gpio.18
sdcard:

Настройка пинов для подключения флешки, так же лучше не трогать, без осознания того, что делается.
cs_pin: gpio.5
card_detect_pin: NO_PIN
coolant:

Пины, которые подают сигнал на включения охлаждающей дидкости и орошения камеры.
flood_pin: gpio.25
Управляется командами M7 и M9 (вкл/выкл)
mist_pin: gpio.21
Управляется командами M8 и M9 (вкл/выкл)
probe:
Настройка пина подключения пробника, например для построения карты высот при фрезеровке плат или при автоматической привязке инструмента к детали.
pin: gpio.32:low:pu
PWM:

Настройки ШИМ сигналов.
pwm_hz: 5000
Частота ШИМ, следует смотреть на характеристику шпинделя и его драйвера.
output_pin: gpio.2
Соответственно вывод с которого будет подаваться ШИМ сигнал
enable_pin: gpio.22
И пин который включает сам шпиндель.
direction_pin: NO_PIN
Пин направления вращения управляется командой М4 для смены направления вращения.
disable_with_s0: false
Отключение S0 «true» отключает шпиндель при установке оборотов в 0, а так же если будет получена команда S0 из G кода или консоли.
s0_with_disable: true
S0 при отключении «true»- сбрасывает обороты шпинделя в 0 при отключении.
spinup_ms: 0
Задержка для раскрутки шпинделя при смене оборотов мил.сек.
spindown_ms: 0
Тоже самое но для сброса оборотов.
tool_num: 0
Номер инструмента.
speed_map: 0=0% 10000=100%
Карта зависимости скорости шпинделя от процентов заполнения ШИМ, например:
0=0% 1000=10% 4000=50% 8000=80% 10000=100%

Автор: Ryazanec13

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *