Marlin и двойной экструдер: автоуровень

Подписаться на 3Dtoday
booroondook
Идет загрузка
Загрузка
21 Марта 2019
264
11
печатает на Anet A6
Вопросы и Ответы
Знает ли кто-нибудь, можно ли в прошивке Марлин организовать раздельное вычисление и сохранение нулевой координаты Z для разных сопел?
Как известно, в системах с несколькими экструдерами в общем случае сопла могут находиться на разных высотах относительно друг друга. Можно, конечно, попытаться их выровнять с точностью до сотых долей миллиметра. Еще можно вычислить разницу высот и записать ее в прошивку. Но оба эти способа неудобны и трудоемки - особенно, если периодически приходится менять сопла.

Приходит в голову мысль - реализовать раздельное вычисления нуля по оси Z для разных сопел.
Например, в моей конструкции для автовыравнивания используется датчик веса в сочетании с Arduino - и ноль по Z определяется по касанию соплом поверхности стола. Соответственно, хочется сделать так:
1. Переключение на 1-й экструдер
2. Автовыравнивание по 1-му соплу
3. Переключение на 2-й экструдер
4. Автовыравнивание по 2-му соплу
Далее полученные величины сохраняются и в дальнейшем используются для коррекции высоты головки при печати разными соплами.

Только вот ка это реализовать?
Ответы на вопрос

Ответы

21.03.19 в 14:19
печатает на Anycubic Kossel linear plus
0
offset называется. датчик один раз ищет 0, а относительно датчика указывается оффсеты по каждому экструдеру (по всем 3-м координатам)
21.03.19 в 15:21
1
...или можно даже прямо в G-code корректировать оффсет текущего сопла командой типа M851 Z-1.0.
21.03.19 в 15:57
печатает на Anet A6
0
Вообще-то разговор не об этом. Читайте внимательнее. При чём тут ручное выставление оффсетов, когда я спрашивал именно об автоматическом выравнивании по второму соплу?
21.03.19 в 14:24
0
Раздельно не получится, надо выровнять как можно точнее два сопла относительно стола и далее автоуровнем по всему столу минус оффсет.
Это для неподвижных сопел типа "химера".
21.03.19 в 15:53
печатает на Anycubic Kossel linear plus
0
Это для неподвижных сопел типа "химера".
Для них надо сопла делать в идеал. Иначе будет цеплять сопло которое ниже.
21.03.19 в 16:01
печатает на Anet A6
0
Не знаю - может быть тут меня не все поняли. Но я спрашивал не о ручном выставлении оффсетов сопел (это я и так знаю, как делать, и поэтому не спрашиваю), а именно об автовыравнивании по второму соплу, чтобы этот самый оффсет вычислялся автоматически, а не задавался вручную.
21.03.19 в 16:07
печатает на Anycubic Kossel linear plus
0
Лично я подобных механик не видел. 2. непосредственно оффсет до сопла автоматом даже для одного сопла можно вынести только контактным способом сопла и стола. Из простого - написать свое приложение которое будет коннектится к принтеру, тем же gcode делать всю механику и просто в тот же eeprom гнать оффсеты через gcode.
21.03.19 в 16:16
печатает на Anet A6
0
оффсет до сопла автоматом даже для одного сопла можно вынести только контактным способом сопла и стола
У меня именно такая система (и я об этом писал) - уровень определяется по физическому контакту сопла со столом - никаких косвенных датчиков не используется, только прямой контакт.

В идеале система должна работать так:
"Постучали" первым соплом - запомнили позицию. Подняли голову на "страховочные" 10 мм, повернули на второе сопло, "постучали" вторым соплом, запомнили позицию. Теперь известны позиции Z-нуля для обоих сопел и, соответственно, разница между соплами по высоте. Все это учитывается при печати.
21.03.19 в 17:04
печатает на Anycubic Kossel linear plus
0
Копай в сторону G92 Z0
либо M851
21.03.19 в 17:41
печатает на Anet A6
-1
Копай в сторону G92 Z0
либо M851
Не имеющий смысла совет. Что я должен указать в качестве параметра команды M851, если у меня еще нет этого значения?
21.03.19 в 17:51
печатает на Anycubic Kossel linear plus
0
Включи голову попрошайка.
Начини от сюда
https://ru.wikipedia.org/wiki/G-code
Закончи тут
http://marlinfw.org/meta/gcode/
Там все возможные вариант написаны.
Не хватает - дописывай свой кусок кода.

Для написания комментариев, пожалуйста, авторизуйтесь.