roboforum.ru

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

Датчик касания оптический, триангуляция

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

Re: Датчик касания оптический, триангуляция

Сообщение setar » 06 мар 2017, 13:38

нужно посмотреть как оно реализовано.
то что я видел когда оно впервые появилось - имело "разрывы" 3D пространства, и проход линии по такому разрыву сопровождался хрустом как по песку, с соответствующими дефектами на изделии.

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

Re: Датчик касания оптический, триангуляция

Сообщение sergey2x » 06 мар 2017, 15:32

setar писал(а):Но это даже не важно - у них идеология не правильная, нельзя вслед за кривой кроватью распространять кривизну на все изделие.
его нужно компенсировать динамически изменяемой высотой слоя, с целью вывести кривой стол к ровной поверхности к определенному уровню (например за 10 первых слоев)


Ну, судя по строчкам (если я правильно понял)
----
#if ENABLED(AUTO_BED_LEVELING_BILINEAR)

// Gradually reduce leveling correction until a set height is reached,
// at which point movement will be level to the machine's XY plane.
// The height can be set with M420 Z<height>
#define ENABLE_LEVELING_FADE_HEIGHT
----
идеологию они поменяли :)
sergey2x
 
Сообщения: 235
Зарегистрирован: 14 янв 2015, 16:18
Откуда: СПб

Re: Датчик касания оптический, триангуляция

Сообщение setar » 06 мар 2017, 15:49

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

Re: Датчик касания оптический, триангуляция

Сообщение Madf » 06 мар 2017, 17:19

а у вас там г-код генерится на печать или он в релтайме как-то из 3д модели рождается?
я к чему это всё, неужели трудно, на дуня железках сделать вначале оценочность поверхности, потом вносить поправки г-код и потом только печатать?
Madf
 
Сообщения: 3298
Зарегистрирован: 03 янв 2012, 12:55
Откуда: Москва
прог. языки: VB6, BASCOM, ASM...

Re: Датчик касания оптический, триангуляция

Сообщение dccharacter » 06 мар 2017, 18:15

Madf писал(а):а у вас там г-код генерится на печать или он в релтайме как-то из 3д модели рождается?
я к чему это всё, неужели трудно, на дуня железках сделать вначале оценочность поверхности, потом вносить поправки г-код и потом только печатать?

Не знаю, но по логике должно быть трудно. Потому что представь себе длинную линию. Раньше она была одной строчкой - G1 XYZ. А теперь ее надо превратить в отрезки с шагом интерполяции. И так с каждым отрезком.

Добавлено спустя 1 минуту 2 секунды:
setar писал(а):я бы по другому сказал, вне зависимости от числа узлов матрицы (ее можно определить хоть 5x5) выравнивание все равно будет плоскостью (средняя плоскость через массив точек со смещением по максимальной вершине вверх, чтобы эта вершине стала нулем)
следовательно датчик нужен чтобы понять как и где ровнять стол

Ну тогда результат офигенный
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

Re: Датчик касания оптический, триангуляция

Сообщение Madf » 06 мар 2017, 18:48

dccharacter писал(а):но по логике должно быть трудно

В теории, можно вообще основу/подложку/поверхность самому готовить под модель на основе её (из 3Д или лучше г-кода), печатать её, а потом уже общую печать делать с отступом.
Madf
 
Сообщения: 3298
Зарегистрирован: 03 янв 2012, 12:55
Откуда: Москва
прог. языки: VB6, BASCOM, ASM...

Re: Датчик касания оптический, триангуляция

Сообщение dccharacter » 06 мар 2017, 18:59

Где-то тут Сергей публично чесал затылок на эту тему. Там не все тривиально.
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

Re: Датчик касания оптический, триангуляция

Сообщение Madf » 06 мар 2017, 19:22

dccharacter писал(а):Там не все тривиально.

Я не говорил, что это "просто". У меня 3Д принтера нет, всех нюансов не знаю, но на фрезерах эта проблема как бы решается щупами. Т.е. тему конечно можно ещё развить, но это наверное не в теме данного раздела. Правда если на выходе получается так, как описал человек выше, то вообще ставит под сомнение этой всей затеи с оптическим датчиком...

зы: мало того, что проблема с сыростью ПО 3Д печати, так ещё если даже доведя до совершенства форму датчика и его ПО, всё равно непонятно как стандартизировать его крепление для "нулевой точки" (т.е. как бы его опять надо настраивать).
Madf
 
Сообщения: 3298
Зарегистрирован: 03 янв 2012, 12:55
Откуда: Москва
прог. языки: VB6, BASCOM, ASM...

Re: Датчик касания оптический, триангуляция

Сообщение dccharacter » 06 мар 2017, 19:48

Да большинство принтеров так гуляет, что там хоть объидеалься с датчиком. Более того, это гуляние является залогом нормального функционирования, потому что убирая люфты из конструкции, повышаются требования к точности всех элементов и сборки экспоненциально.
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

Re: Датчик касания оптический, триангуляция

Сообщение setar » 07 мар 2017, 16:13

Madf писал(а):а у вас там г-код генерится на печать или он в релтайме как-то из 3д модели рождается?
я к чему это всё, неужели трудно, на дуня железках сделать вначале оценочность поверхности, потом вносить поправки г-код и потом только печатать?

если вопрос про то как работает "кривой" автоуровень ( AUTO_BED_LEVELING_BILINEAR + ENABLE_LEVELING_FADE_HEIGHT),
то Gcode там используется стандартный, построенный для идеального 3D пространства.

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

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

Re: Датчик касания оптический, триангуляция

Сообщение Madf » 07 мар 2017, 17:18

setar писал(а):все изменения вычисляются и вносятся непосредствено при печати,
причем значения поправок могут отличаться от принта к принту, если кровать механически гуляет

Тогда получается, что это некий реалтайм, а не пред подготовка поверхности. :roll: Если я правильно понял. Честно говоря, в это слабо верится, ибо оптический датчик должен всегда видеть поверхность стола (а она занята моделью уже) или отталкиваться от последнего слоя детали и вносить коррективы...

А так, да, раз ПО принтера не очень корректно/точно подходит к учету кривости поверхности, то логично предположить, что проще её просто пред подготавливать (заливать), а только потом печатать. Хотя тут как я понимаю, уже будет проблема разрешения слоя, ибо может понадобится такое отклонение по Z, при котором сопло не сможет выдать нужную тонкость пластика...тут как говорится, уже не хватает лопатки, чтобы как куличик подровнять. :crazy:
Madf
 
Сообщения: 3298
Зарегистрирован: 03 янв 2012, 12:55
Откуда: Москва
прог. языки: VB6, BASCOM, ASM...

Re: Датчик касания оптический, триангуляция

Сообщение setar » 07 мар 2017, 23:06

Ну не до такой степени реалтайм чтобы смотреть где стол прямо во время печати, тут проще
по команде G29 снимается матрица замеров высоты стола, и поправки на основании этой матрыцы (обычно 3x3 4x4 5x5) сохраняются до следующей команды G29, чаще всего это ровно один принт
Аватара пользователя
setar
Site Admin
 
Сообщения: 10989
Зарегистрирован: 04 окт 2004, 12:58
Откуда: St.Petersburg
Skype: taranenko.sergey
ФИО: Сергей Тараненко

Re: Датчик касания оптический, триангуляция

Сообщение dccharacter » 07 мар 2017, 23:09

Ха
А вот на какую вы меня мысль навели. Вот мы отхоумились G28, да? В некоей точке (50,50), например. Дальше делаем G29, получаем матрицу. А ведь эта матрица коррекции не относительно точки (50,50), а, скорее всего, относительно точки (0,0). Сергей, нет возможности проверить, учитывается ли позиция хоуминга при коррекции?
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

Re: Датчик касания оптический, триангуляция

Сообщение setar » 08 мар 2017, 00:03

нет, не учитывается
G29 отменяет предыдущий хоуминг по Z и имеет больший приоритет
во время действия виртуального 3D объема замеренный ранее ноль теряет смысл, он все равно будет скорректирован.

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

Re: Датчик касания оптический, триангуляция

Сообщение dccharacter » 08 мар 2017, 00:21

// Don't allow auto-leveling without homing first
if (axis_unhomed_error(true, true, true)) return;
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

Пред.След.

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

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

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