config.g
Код: Выделить всё
; Конфигурация для Duet 3 Mini 5+
; ------------------------- Основные настройки -------------------------
M550 P"UNI MINI" ; Имя принтера
M669 K1 ; Кинематика CoreXY
; ------------------------------- Экран --------------------------------
M918 P2 E2 F2000000 C40 R6 ; Экран Fysetc mini12864
M150 X2 R100 U100 B100 S3 ; Адресная подсветка экрана
; --------------------------- Локальная сеть ---------------------------
M552 S1 P"demonlibra" ; Включить Wi-Fi и подключиться к сети "demonlibra"
M586 P0 S1 ; Включить HTTP
M586 P1 S0 ; Выключить FTP
M586 P2 S0 ; Выключить Telnet
; -------------------------------- Оси ---------------------------------
; X и Y
var motor_step_angle_XY = 1.8 ; Угол поворота мотора, градус
var microstep_X = 16 ; Дробление шага драйвера X
var microstep_Y = 16 ; Дробление шага драйвера Y
var pulley_step = 2 ; Шаг шкива, мм
var pulley_teeths = 20 ; Количество зубов шкива
var step_value_X = 360 / var.motor_step_angle_XY * var.microstep_X / (var.pulley_step * var.pulley_teeths) ; Шагов на 1 мм
var step_value_Y = var.step_value_X ; Шагов на 1 мм
; Z
var motor_step_angle_Z = 1.8 ; Угол поворота мотора, градус
var microstep_Z = 16 ; Дробление шага
var lead = 8 ; Ход гайки за один оборот винта, мм
var step_value_Z = 360 / var.motor_step_angle_Z * var.microstep_Z / lead ; Шагов на 1 мм
; E
var microstep_E = 16 ; Дробление шага
var step_value_E = 923 ; Шагов на 1 мм. Точное значение подобрано экспериментально
; ------------------------------- Драйверы -----------------------------
M569 P0 S1 D3 F4 V40 ; Драйвер 0, вперёд, stealthChop, toff=4, tpwmthrs=40
M569 P1 S1 D3 F4 V40 ; Драйвер 1, вперёд, stealthChop, toff=4, tpwmthrs=40
M569 P2 S1 D3 F4 V40 ; Драйвер 2, вперёд, stealthChop, toff=4, tpwmthrs=40
M569 P3 S1 D3 F4 V4000 ; Драйвер 3, вперёд, stealthChop, toff=4, tpwmthrs=4000
M584 X0 Y1 Z2 E3 ; Соответствие оси и драйвера
M906 X1200 Y1200 Z500 E700 I30 ; Максимальный ток шагового двигателя и процент при бездействии, мА
M84 S30 ; Задержка снижения тока при бездействии, сек
M350 X{var.microstep_X} I1 ; Дробления шагов оси X
M350 Y{var.microstep_Y} I1 ; Дробления шагов оси Y
M350 Z{var.microstep_Z} I1 ; Дробления шагов оси Z
M350 E{var.microstep_E} I1 ; Дробления шагов оси E (экструдера)
M92 X{var.step_value_X} ; Количество шагов на 1 мм оси X
M92 Y{var.step_value_Y} ; Количество шагов на 1 мм оси Y
M92 Z{var.step_value_Z} ; Количество шагов на 1 мм оси Z
M92 E{var.step_value_E} ; Количество шагов на 1 мм оси E (экструдера)
M203 X12000 Y12000 Z1800 E2400 ; Максимальная скорость (мм/мин)
M201 X2000 Y2000 Z50 E2000 ; Максимальное ускорение (мм/сек^2)
;M566 X900 Y900 Z60 E600 P1 ; Максимальный рывок (мм/мин)
M205 X15 Y15 Z1 E12 ; Максимальный рывок (мм/сек)
; --------------------------- Ограничения осей -------------------------
M208 X0 Y0 Z0 S1 ; Минимальные координаты осей
M208 X154 Y159 Z158.70 S0 ; Максимальные координаты осей
; ------------------------ Коррекция геометрии -------------------------
M579 X1.0042 Y1.0028 ; Коррекция размеров
M556 S100 X-0.28 Y0 Z0 ; Коррекция угла
; ------------------------ Концевые выключатели ------------------------
M574 X1 S3 ; Sensorless оси X
M574 Y1 S3 ; Sensorless оси Y
M574 Z2 S1 P"io5.in" ; Концевик Z, высокий уровень при срабатывании, контакт io5.in
; -------------------------- Нагреватель стола -------------------------
M308 S0 P"temp0" Y"thermistor" A"Bed" T100000 B3950 ; Датчик температуры 0, контакт "temp0"
;M950 H0 C"out0" T0 ; Нагреватель 0, выход "out0"
M950 H0 C"io1.out" T0 Q250 ; Нагреватель 0, выход "io1.out"
M307 H0 B0 R0.496 C189.6 D1.95 S1.00 V23.9 ; ПИД нагревателя 0
M140 H0 ; Столу назначен нагреватель 0
M143 H0 S120 ; Максимальная температура нагревателя 0
; ------------------------- Нагреватель HotEnd`а -----------------------
M308 S1 P"temp1" Y"thermistor" A"HotEnd" T100000 B3950 ; Датчик температуры 1, контакт "temp1"
;M950 H1 C"out1" T1 ; Нагреватель 1, выход "out1"
M950 H1 C"io2.out" T1 Q250 ; Нагреватель 1, выход "io2.out"
M307 H1 B0 R3.734 C193.6:130.5 D8.61 S0.60 V23.9 ; ПИД нагревателя 1
M143 H1 S280 ; Максимальная температура нагревателя 1
; ------------------------- Обдув зоны печати --------------------------
;M950 F0 C"out6" Q50 ; Вентилятор 0 подключен к выходу "out6, частота ШИМ 50 Гц
;M106 P0 C"MODEL FAN" S0 H-1 ; Вентилятор 0 при включении выключен
; BerdAir
M950 F0 C"out1" Q22500 ; Вентилятор 0, выход "out1, частота ШИМ 22500 Гц
M106 P0 C"BerdAir" S0 H-1 ; Вентилятор 0 при включении выключен
; Дополнительный обдув
M950 F3 C"out3" Q20 ; Вентилятор 3, выход "out3, частота ШИМ 20 Гц
M106 P3 C"EXTRA MODEL FAN" S0 H-1 ; Вентилятор 3 при включении выключен
; ---------------------- Обдув радиатора HotEnd`а -----------------------
M950 F1 C"out5" Q50 ; Вентилятор 1, выход "out5, частота ШИМ 50 Гц
M106 P1 C"HOTEND" S1.0 H1 T50 ; Вентилятор 1 включается при температуре HotEnd` > 50С
; ----------------------- Обдув платы управления -----------------------
;M950 F4 C"out4" Q40 ; Вентилятор 4, выход "out4, частота ШИМ 40 Гц
;M106 P4 C"BOARD COOLING FAN" S0 H-1 ; Вентилятор 4
; ----------------------- Подсветка зоны печати ------------------------
M950 F5 C"out0" Q5000 ; Подсветка как вентилятор 5, выход "out0, частота ШИМ 5000 Гц
M106 P5 C"LEDLIGHT" S0.9 H-1 ; Подсветка при включении включена на 90%
; ---------------------------- Инструменты -----------------------------
M563 P0 D0 H1 F0 ; Инструмент 0, экструдер 0, нагреватель 1, вентилятор 0
G10 P0 X0 Y0 Z0 ; Смещение координата инструмента 0
M568 P0 R0 S0 A0 ; Инструмент 0, температура ожидания 0, рабочая температура 0, состояние - выключен
; ---------------- Триггер управления подсветкой -----------------------
M950 J1 C"io3.in" ; Пин 1, вход "io3.in"
M581 T3 P1 S0 R0 ; Триггер 3, номер пина 1, срабатывать по спаду сигнала, срабатывать в любом режиме
; Сценарий триггера 3 в файле trigger3.g
homeall.g
Код: Выделить всё
; homeall.g
; Исполняется по команде G28
; ------------------------- Калибровка оси Z ---------------------------
M17 Z ; Включить двигатель Z
G4 S1 ; Пауза 1 секунду
M150 X2 R200 U0 B0 S3 ; Синяя подсветка экрана
G91 ; Относительные координаты осей
M913 Z60 ; Снижение тока двигателя Z для безопасности
M569 P2 V2000 ; Режим SpreadCycle
G1 H2 Z-1 F300 ; Подъем стола вверх на 1 мм
M569 P2 V40 ; Режим StealthChop
G1 H1 Z160 F600 ; Перемещение стола вниз быстро до срабатывания концевика
G1 H2 Z-3 F300 ; Подъём стола вверх на 3 мм
G1 H1 Z3.5 F60 ; Перемещение стола вниз медленно до срабатывания концевика
M400 ; Ожидание завершения всех перемещений
; ----------------------- Подготовка осей X и Y ------------------------
M17 X Y ; Включить двигатели X и Y
G4 S1 ; Пауза 1 секунду
M569 P0 D3 V40 ; Исключение переключения в режим SpreadCycle драйвера 0
M569 P1 D3 V40 ; Исключение переключения в режим SpreadCycle драйвера 1
M913 X30 Y30 ; Снижение тока двигателей X и Y до 30%
M566 X1 Y1 ; Снижение рывков
M201 X300 Y300 ; Снижение ускорений
G91 ; Относительные координаты осей
M915 X Y H90 S45 F0 R0 ; Обнаружение пропуска шага для скорости 20 мм/сек
; ------------------------- Калибровка оси X ---------------------------
G1 H1 X5 F600 ; Перемещение головы от упора
G4 P100 ; Пауза 100 мсек
G1 H1 X-154 F1200 ; Перемещение головы в сторону упора до обнаружения пропуска шага
G4 P100 ; Пауза 100 мсек
G1 X10 F600 ; Перемещение головы от упора
M400 ; Ожидание завершения всех перемещений
; ------------------------- Калибровка оси Y ---------------------------
G1 H1 Y5 F600 ; Перемещение головы от упора
G4 P100 ; Пауза 100 мсек
G1 H1 Y-159 F1200 ; Перемещение головы в сторону упора до обнаружения пропуска шага
G4 P100 ; Пауза 100 мсек
G1 Y10 F600 ; Перемещение головы от упора
M400 ; Ожидание завершения всех перемещений
; ---------------------------- Завершение ------------------------------
M913 X100 Y100 Z100 ; Ток 100%
M566 X900 Y900 ; Рывки 15 мм/сек
M201 X1500 Y1500 ; Ускорения 1500 мм/сек^2
G90 ; Абсолютные координаты
M400 ; Wait for current moves to finish
; ---- Калибровка осей X и Y без концевиков и без SensorlessHoming -----
;M150 X2 R0 U0 B200 S3 ; Синяя подсветка экрана
;M18 X Y ; Выключение питания двигателей X и Y
;M300 P500 ; Звуковой сигнал
;M291 P"Move head X0 Y0" R"HOMING X Y" S2 ; Вывод сообщения на экран
;M17 X Y ; Включение питания двигателей X и Y
;G4 S1 ; Пауза 1 секунду
;G92 X0 Y0 ; Присвоение координат X=0 Y=0
trigger3.g
Код: Выделить всё
;trigger3.g
if {fans[5].actualValue < 0.9} ; Если текущий коэффициент заполнения ШИМ < 0.9
M106 P5 S0.9 ; Задать коэффициент заполнения ШИМ = 0.9
else
M106 P5 S0.1 ; Иначе задать коэффициент заполнения ШИМ = 0.1