roboforum.ru

Технический форум по робототехнике.


Калибровка стола Marlin UBL

Обсуждение технологии печати на 3D принтерах. Самостоятельное изготовление и приобретение. RepRap и его последователи.

Калибровка стола Marlin UBL

Сообщение setar » 28 фев 2019, 13:21

Приветствую начинающих печатников и профессионалов.

Этот небольшой пост я решил выложить, чтобы на многочисленные вопросы о методике калибровки стола, отвечать ссылкой.
Речь идет о новой методике программного выравнивания стола unified bed leveling (UBL) реализованной в прошивке MARLIN.
Оригинальная документация http://marlinfw.org/docs/features/unifi ... eling.html

Суть выравнивания заключается в том, что изначально со стола снимается (при использовании датчика уровня, например Bltouch) матрица реальных высот, и по всем этим точкам строится сглаженная криволинейная поверхность.
Далее эта виртуальная поверхность используется как ноль модели при печати (есть опция постепенного выравнивания к физическим координатам).
После активации UBL сопло начинает двигаться в виртуальной координатной системе, с учетом кривизны стола. Например при горизонтальном движении на высоте 0.1 мм над уровнем стола, координата Z будет плавно подкручиваться для огибания всех неровностей.

Этот механизм особенно востребован на системах со значительной областью печати ( 300+ мм) поскольку поверхность стола обычно имеет форму пропеллера и механически не выравнивается.

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

Инструкция

0. подготовка
Прогреваем стол и сопло до рабочей температуры
M109 S230
M190 S120
-- ожидаем стабилизации 10-15 мин --

1. калибровка датчика
1.1. проверка текущей конфигурации EEPROM
M503
--- skip---
Unified Bed Leveling System v1.01 active.
Active Mesh Slot: 1
EEPROM can hold 16 meshes.
--- skip ---
echo: M851 Z-1.55
--- skip ---
1.2. выключаем выравнивание
SENDING:G29 D
Unified Bed Leveling System v1.01 inactive.

1.3. обнуляем смещение сенсора относительно сопла
M851 Z0
1.4. сохраняем текущее состояние
M500

1.5. перемещаемся в точку тестирования
G1 z20 x200 y200

1.6. тестируем точность сенсора и среднюю координату срабатывания
SENDING:M48 P10 V2
M48 Z-Probe Repeatability Test
1 of 10: z: 5.077
2 of 10: z: 4.919
3 of 10: z: 5.104
4 of 10: z: 5.009
5 of 10: z: 5.138
6 of 10: z: 5.188
7 of 10: z: 5.088
8 of 10: z: 5.015
9 of 10: z: 5.018
10 of 10: z: 5.174
Finished!
Mean: 5.072989 Min: 4.919 Max: 5.188 Range: 0.269
Standard Deviation: 0.079403

1.7. перемещаемся на место в котором был замер стола
g1 z20 x200 y226 ; датчик смещен на 26мм позади сопла, сопло должно встать на место где был датчик


1.8. производим тест на зажим бумажки (обычной A4), постепенно вручную уменьшая коордирату Z по 0.1 мм , первый прижим к столу покажет искомую координату
тест на зажим листа бумаги Z=3.6

1.9. вычитая из реальной высоты из теста на зажим бумаги , среднюю высоту замерянную датчиком, получаем смещение датчика
3.6-5.07=-1.47мм

1.10. сохраняем смещение датчика в EEPROM
M851 Z-1.47
M500


2. калибровка стола

2.1. основная калибровка
G29 P1 T
SENDING:G29 T
Bed Topography Report:
( 0,390) (390,390)
0 1 2 3 4 5 6
6 | +6.956 +7.033 +7.083 +6.979 +6.704 +6.494 +6.654
|
5 | +7.520 +7.345 +7.208 +7.136 +7.113 +6.832 +7.002
|
4 | +8.227 +8.117 +8.064 +7.840 +7.787 +7.808 +7.756
|
3 | +8.703 +8.681 +8.267 [+8.606] +8.363 +8.305 +8.288
|
2 | +9.517 +9.098 +9.087 +9.123 +9.001 +9.005 +8.960
|
1 | +10.072 +9.788 +9.895 +9.869 +9.759 +9.471 +9.396
|
0 | . . . . . . .
0 1 2 3 4 5 6
( 0, 0) (390, 0)

2.2. заполнение недоступных областей
G29 P3 T

SENDING:G29 P3 T
Bed Topography Report:
( 0,390) (390,390)
0 1 2 3 4 5 6
6 | +6.956 +7.033 +7.083 +6.979 +6.704 +6.494 +6.654
|
5 | +7.520 +7.345 +7.208 +7.136 +7.113 +6.832 +7.002
|
4 | +8.227 +8.117 +8.064 +7.840 +7.787 +7.808 +7.756
|
3 | +8.703 +8.681 +8.267 [+8.606] +8.363 +8.305 +8.288
|
2 | +9.517 +9.098 +9.087 +9.123 +9.001 +9.005 +8.960
|
1 | +10.072 +9.788 +9.895 +9.869 +9.759 +9.471 +9.396
|
0 | +10.627 +10.477 +10.703 +10.615 +10.518 +9.938 +9.832
0 1 2 3 4 5 6
( 0, 0) (390, 0)

2.3. сохранение матрицы поправок
G29 S1

2.4. Активация и сохранение автоуровня
G29 F0
G29 A
M500

3. проверка

3.1
--- reset ---

3.2.
Прогреваем стол и сопло до рабочей температуры
M109 S230
M190 S120

3.3. контроль состояния EEPROM
SENDING:M503
---
echo:Unified Bed Leveling:
echo: M420 S1 Z0.00
Unified Bed Leveling System v1.01 active.
Active Mesh Slot: 1
EEPROM can hold 16 meshes.
---
echo:Z-Probe Offset (mm):
echo: M851 Z-1.00

3.4. загрузка и активация системы автоуровня
G29 L1
G29 J
G29A

3.5. проверка встроенным тестом
G26 B120 H250 L0.4 O0.5 S0.6 X200 Y200 U100


-----

Ну и в завершение приведу пример стартового кода для использования UBL.
При этом происходит загрузка матрицы , ее "подтягивание" на актуальную высоту по 4 контрольным точкам (по углам).


Код: Выделить всёРазвернуть
M80 ; Power on
M140 S<BED> ; pre heat bed
G28 Z; home Z
G28 X; home X
G28 Y; home Y
G1 F15000 ; fast move preset
G1 Z10;
T0; use tool head 0
M104 S<TEMP>; pre heat extruder
M190 S<BED> ; wait bed temp
G21 ; unit in mm
G92 E0 ; set extruder to zero
M82 ; use absolute distances

; UBL Autolevel block
M280 P0 S160 ; reset bltouch
G29 D ; DeActivate the UBL System.
G29 L1 ; Load the mesh stored in slot 1 (from G29 S1)
G29 F 0 ; Set Fade Height for correction at 0.0 mm.
G29 J2 V4 ; No size specified on the J option tells G29 to probe the specified 3 points
G29 A ; Activate the UBL System.
; End UBL Autolevel block

M107 ; fan off

; nozzle clean block
G1 X0 Y0 Z12 F15000
M109 S<TEMP> ; wait heat
G1 X0 Y0 Z1 F15000
G1 E10 F100
G4 S5 ; wait 5 sec
G1 E9.9 F100 ; suck
G1 Z5
G4 S5 ; wait 5 sec
G1 F15000
Аватара пользователя
setar
Site Admin
 
Сообщения: 10643
Зарегистрирован: 04 окт 2004, 12:58
Откуда: St.Petersburg
Skype: taranenko.sergey
ФИО: Сергей Тараненко

Re: Калибровка стола Marlin UBL

Сообщение setar » 09 июл 2019, 12:07

включение UBL в прошивке Marlin 2.0

// датчик стола блтач
#define BLTOUCH
#define MIN_PROBE_EDGE 0
#define MULTIPLE_PROBING 2
#define Z_PROBE_SPEED_FAST (HOMING_FEEDRATE_Z / 1.5)
//тут свои циферки по смещениям
#define X_PROBE_OFFSET_FROM_EXTRUDER 0 // X offset: -left +right [of the nozzle]
#define Y_PROBE_OFFSET_FROM_EXTRUDER 25 // Y offset: -front +behind [the nozzle]
#define Z_PROBE_OFFSET_FROM_EXTRUDER -0.7 // (больше минус - сильнее вдавливаем в стекло)


#define AUTO_BED_LEVELING_UBL
#define RESTORE_LEVELING_AFTER_G28
#define G26_MESH_VALIDATION
#define MESH_INSET 0 // Set Mesh bounds as an inset region of the bed
#define GRID_MAX_POINTS_X 7 // тут свое пожелание по матрице , я использую 7x7 на столе 400x400 Don't use more than 15 points per axis, implementation limited.
Аватара пользователя
setar
Site Admin
 
Сообщения: 10643
Зарегистрирован: 04 окт 2004, 12:58
Откуда: St.Petersburg
Skype: taranenko.sergey
ФИО: Сергей Тараненко

Re: Калибровка стола Marlin UBL

Сообщение whoim » 05 фев 2020, 00:23

Приветствую! Возможно ли в этом алгоритме заменить блтач на концевик или аналог более точный, по итогу контактный?
Как я понимаю, его нужно подцепить к Z_MIN_PIN (по крайней мере на дельте)? Тогда активировать блтач в прошивке не нужно?
whoim
 
Сообщения: 2
Зарегистрирован: 05 фев 2020, 00:20

Re: Калибровка стола Marlin UBL

Сообщение setar » 07 фев 2020, 16:29

прошивке все равно какого типа у вас датчик, главное чтобы сигнал Z_PROBE отрабатывал

Если у вас проба на Z_MIN_PIN должно быть определение #define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
Можно вообще любой контакт назначить
//#define Z_MIN_PROBE_PIN 32 // Pin 32 is the RAMPS default

концвик должен быть объявлен в максимуме (и использоваться по факту для хоминга ) #define USE_ZMAX_PLUG
Аватара пользователя
setar
Site Admin
 
Сообщения: 10643
Зарегистрирован: 04 окт 2004, 12:58
Откуда: St.Petersburg
Skype: taranenko.sergey
ФИО: Сергей Тараненко

Re: Калибровка стола Marlin UBL

Сообщение whoim » 07 фев 2020, 16:38

setar писал(а):прошивке все равно

Спасибо!
whoim
 
Сообщения: 2
Зарегистрирован: 05 фев 2020, 00:20


Вернуться в 3D печать

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9

Mail.ru counter