roboforum.ru

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

Автоуровень кровати: методы программного выравнивания.

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

Автоуровень кровати: методы программного выравнивания.

Сообщение setar » 15 июн 2015, 12:28

Коллеги, предлагаю обсудить тему программного выравнивания уровня кровати.

Я недавно завершил постройку принтера с большим столом и столкнулся с тем что традиционно выставлять уровень регулировкой высоты трех болтиков как в принтерах стандартных размеров - это не вариант.

Логичным продолжением было изготовление автоуровня кровати, а вот дальше самое интересное.
Оказалось что кровать условно имеет форму пропеллера, перепады конечно не очень большие, но в максимуме составляют порядка 0.3 мм
Это очень неудобная и неприятная ситуация.

Насколько мне известно существует несколько методов компенсации этой неровности:
1. увеличиваем в слайсере первый слой на уровень перепада, а там как ляжет - местами первый слой будет уходить до нулевой толщины, а местами до величины перепада. Это классический метод не требует модификаций прошивки
Снимок экрана 2015-06-15 в 11.10.33.png

2. меряем плоскость кровати по 3 точкам и при печати используем компенсацию к этой виртуальной плоскости. Тут остается мною не изученный вопрос: модель поворачивается матрицой разворота целиком и ось Z поворачивается нормально к новой виртуальной поверхности или ось Z остается вертикальной и просто вносится поправка по вертикали. это реализовано в стандартной прошивке marlin опции ENABLE_AUTO_BED_LEVELING (по трем точкам) или ENABLE_AUTO_BED_LEVELING + AUTO_BED_LEVELING_GRID (средняя проскость по массиву)
Снимок экрана 2015-06-15 в 11.00.39.png
или
Снимок экрана 2015-06-15 в 11.02.50.png

3. строится нелинейная модель кровати, нормаль Z берется к усредненной плоскости а дальше варианты: либо нелинейность сохраняется с низу до верху либо постепенно выводится в ноль.
Зачатки варианта с сохранением нелинейности есть в developer ветки marlin, опции MANUAL_BED_LEVELING + MESH_BED_LEVELING
Снимок экрана 2015-06-15 в 11.16.01.png

или
Снимок экрана 2015-06-15 в 11.05.25.png


Я специально значительно увеличил нелинейность для лучшего восприятия.
Вероятнее всего самый интересный вариант это последний - нелинейная кровать с нормализованным вектором Z и постепенной компенсацией Z в ноль. но такой реализации в прошивках я не нашел.

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

Re: Автоуровень кровати: методы программного выравнивания.

Сообщение SkyFlyer » 15 июн 2015, 12:50

А в каком состоянии сейчас код автолевела? Разработчики в последний раз практически потонули в коде, пытаясь выловить все глюки автовыравнивания.
SkyFlyer
 
Сообщения: 134
Зарегистрирован: 21 дек 2014, 23:08

Re: Автоуровень кровати: методы программного выравнивания.

Сообщение setar » 15 июн 2015, 13:00

он работает, но сильно раздувает код (~20% прошивки)
глюков в релиз ветке я не обнаружил (с другой стороны я много и не печатал в этом режиме), и пока не смотрел сделана ли нормализация вектора Z с разворотом модели или это вертикальная компенсация
Аватара пользователя
setar
Site Admin
 
Сообщения: 10989
Зарегистрирован: 04 окт 2004, 12:58
Откуда: St.Petersburg
Skype: taranenko.sergey
ФИО: Сергей Тараненко

Re: Автоуровень кровати: методы программного выравнивания.

Сообщение abuharsky » 15 июн 2015, 13:55

setar писал(а):он работает, но сильно раздувает код (~20% прошивки)
глюков в релиз ветке я не обнаружил (с другой стороны я много и не печатал в этом режиме), и пока не смотрел сделана ли нормализация вектора Z с разворотом модели или это вертикальная компенсация



а вы не пробовали вот этот форк https://github.com/beckdac/Marlin ?

Дело в том, что есть похожая ветка на http://3dprintboard.com/showthread.php? ... eling+roxy

Если в двух словах, то комрады затронули ту же проблему с тем, что сама кровать в разных местах может быть неровная, то есть выравнивание по углам не дает никакого толку. Они пришли к выводу, что необходимо снять топологию поверхности и использовать эту информацию при печати.

Ссылку на версию с их наработками я выложил выше, там они даже еще дальше пошли: сделали плагины для Cura и Slicer чтобы снятие топологии поверхности включалось только для площади, на которой будет печать.
abuharsky
 
Сообщения: 420
Зарегистрирован: 20 апр 2011, 13:36
Откуда: Россия, Орёл

Re: Автоуровень кровати: методы программного выравнивания.

Сообщение setar » 15 июн 2015, 14:00

спасибо, сейчас изучу эту ветку
Аватара пользователя
setar
Site Admin
 
Сообщения: 10989
Зарегистрирован: 04 окт 2004, 12:58
Откуда: St.Petersburg
Skype: taranenko.sergey
ФИО: Сергей Тараненко

Re: Автоуровень кровати: методы программного выравнивания.

Сообщение SkyFlyer » 15 июн 2015, 14:08

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

setar

У меня итогом работы автолевела явилось то, что после него каретка движется непараллельно столу, чего нет при ручном выравнивании. Скорее всего тут тоже самое, я даже не знаю, как это можно доработать. Нужно с нуля алгоритм писать, в добавление к тому что уже есть. Но в математике я увы, не особо силен.
SkyFlyer
 
Сообщения: 134
Зарегистрирован: 21 дек 2014, 23:08

Re: Автоуровень кровати: методы программного выравнивания.

Сообщение TedBeer » 15 июн 2015, 14:20

Можно взять высшую точку и всё подогнать к ней - заполнить неровности и получить ровную площадку (рафт) с нормалью совпадающей с осью Z станка. А дальше печатать как обычно.
Аватара пользователя
TedBeer
 
Сообщения: 1129
Зарегистрирован: 08 авг 2012, 00:38
Откуда: Нидерланды, Алмере
Skype: edwbes
ФИО: Эдуард

Re: Автоуровень кровати: методы программного выравнивания.

Сообщение SkyFlyer » 15 июн 2015, 14:49

Рафт печатать??? Это уж совсем непрактично, как с точки зрения скорости, так с с расходом пластика.
SkyFlyer
 
Сообщения: 134
Зарегистрирован: 21 дек 2014, 23:08

Re: Автоуровень кровати: методы программного выравнивания.

Сообщение setar » 15 июн 2015, 14:50

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

Re: Автоуровень кровати: методы программного выравнивания.

Сообщение ДимаМ » 15 июн 2015, 15:06

Пропеллер связан с тепловым расширением, да?
ДимаМ
 
Сообщения: 120
Зарегистрирован: 07 дек 2013, 01:01

Re: Автоуровень кровати: методы программного выравнивания.

Сообщение setar » 15 июн 2015, 15:13

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


в закладки по вопросу
тут обсуждение реализации "Manual bed leveling + mesh bed leveling" в developer версии марлина
Аватара пользователя
setar
Site Admin
 
Сообщения: 10989
Зарегистрирован: 04 окт 2004, 12:58
Откуда: St.Petersburg
Skype: taranenko.sergey
ФИО: Сергей Тараненко

Re: Автоуровень кровати: методы программного выравнивания.

Сообщение ДимаМ » 15 июн 2015, 15:28

Фанерка...Я думаю, тут стекло косячит! Либо оно банально механически изгибается под влиянием прищепок, либо тепловое расширение. Думаю, что если взять стекло потолще, то будет лучше.
ДимаМ
 
Сообщения: 120
Зарегистрирован: 07 дек 2013, 01:01

Re: Автоуровень кровати: методы программного выравнивания.

Сообщение abuharsky » 15 июн 2015, 15:46

SkyFlyer писал(а):Форк этот - старье. Если только кое-какие алгоритмы оттуда использовать. Но если уж и дорабатывать последнего марлина, то проще свой алгоритм написать, а не чужие глюки искать.



возможно, однако нет ничего такого в официальном марлине, что хоть как-то ощутимо влияло бы на печать.
abuharsky
 
Сообщения: 420
Зарегистрирован: 20 апр 2011, 13:36
Откуда: Россия, Орёл

Re: Автоуровень кровати: методы программного выравнивания.

Сообщение TedBeer » 15 июн 2015, 16:19

ДимаМ писал(а):Думаю, что если взять стекло потолще, то будет лучше.

Толстое стекло ломается от температурного градиента. Его надо медленно нагревать и медленно охлаждать.
Аватара пользователя
TedBeer
 
Сообщения: 1129
Зарегистрирован: 08 авг 2012, 00:38
Откуда: Нидерланды, Алмере
Skype: edwbes
ФИО: Эдуард

Re: Автоуровень кровати: методы программного выравнивания.

Сообщение setar » 15 июн 2015, 16:44

ДимаМ писал(а):Фанерка...Я думаю, тут стекло косячит! Либо оно банально механически изгибается под влиянием прищепок, либо тепловое расширение. Думаю, что если взять стекло потолще, то будет лучше.

это абсолютно не важно, 0.3 мм перепад для стекольщика это "почти ровное", но для наших задач не приемлемо.
лучше не будет, лишние несколько сот грамм активной массы сделают только хуже.
еще раз говорю, не нужно рассказывать как механически выровнять систему, на больших размерах стоимость подобного выравнивания растет в геометрической прогрессии.
Аватара пользователя
setar
Site Admin
 
Сообщения: 10989
Зарегистрирован: 04 окт 2004, 12:58
Откуда: St.Petersburg
Skype: taranenko.sergey
ФИО: Сергей Тараненко

След.

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

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

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