Anet A8 и автокалибровка стола. ч2. Миграция на Marlin 1.1.8 и конфигурация для автоуровня LJ18A3-8-Z/BX.

Подписаться на 3Dtoday
komandr
Идет загрузка
Загрузка
30.01.18
7398
48
печатает на Anet A8
Техничка
22
Статья относится к принтерам:
Anet A8 Anet A6
Часть 2. Установка индукционного или емкостного датчика(зонда) уровня стола.
Это продолжение эпопеи одного принтера. Ознакомиться с первой частью.
И так на руках есть два зонда LJ18A3-8-Z/BX - индукционный(срабатывает на металл) и LJC18A3-8-Z/BX емкостной и регулируемый(срабатывает еще и на тело) Оба зонда нормально разомкнуты NPN. При срабатывании на сигнальном проводе появляется минус.
414dee72ab2e62458327143f10f53706.jpg
"Порадовала" цветовая "гамма" распиновки зондов :o Первое, что пришло в голову - китаец, придумавший такое расключение, учился на электрика. Да, да, именно на электрика. Коричнивый - фаза, синий - ноль, черный - что осталось. :D
В общем шутки в сторону, расключение зонда:
  • КОРИЧНЕВЫЙ - "плюс от 5В до 30В";
  • СИНИЙ - "минус";
  • ЧЕРНЫЙ - "сигнальный".
Много читал, что нужно питать именно от 12В, но эксперимент на двух зондах показал адекватную работоспособность и от +5В Забегая наперед - точность замеров 0,019мм.

Было распечатано два держателя под зонд. Как на картинке выше - для стокового директа. Если сделать модернизацию, как на фото ниже("открывающийся" штатный вентилятор) - перекрывается радиатор охлаждения и нужен другой держатель.
56b7e23e822fd0bb6aa2806ef7338f0b.jpg
f400af13c71bf8eac804d8574d6a9fb8.jpg
Так как работа зонда идентична работе концевика Z - я сделал "горыныча", или разветвитель. С его помощью можно подключить и зонд и концевик одновременно.
a2afdb19dbc83c088d1e67444afb36b2.jpg
290590fc4b62ef9d4e1b79e129dce44d.jpg
Как правильно называются такие коннекторы я не нашел. Одно из названий CHU-3 Цыфра обозначает кол-во контактов. Вот с этим названием и фоткой приставал к продавцам на базаре.:)

Дальше установил зонд и пошел анализ получившейся конструкции. Через управление слайсером подвел зонд к левому переднему краю стола XY(0,0) и померил расстояние, по осям, от края стола до ценра сопла.
Получилось по Х-23мм, по Y-44мм. Так как зонд стоит слева и спереди, относительно сопла, получили отрицательные координаты OFFSET - записываем их.
Передвигаем экструдер в центр стола и поднимаем его на пару мм выше стола. Регулируем зонд, что бы он начинал срабатывать на этой высоте и затягиваем его крепление. Механический концевик оси Z не трогаем.(для тех кто не помнит как его настраивали - пересмотрите ч1., ссылка в начале статьи). Концевик будет дублировать зонд на случай его отказа. К стати, у меня стоит антивоблинг и ось Z не связана жестко с экструдером. По этому я не сильно переживаю если ось Z не остановится по концевику. Максимум может быть неприятный треск говорящий о том, что двигатель пропускает шаги и уперлась винтовая гайка в муфты оси Z(вот это завернул!)

Теперь идем в Configuration.h и производим настройку программы. Все настройки приведены относительно стокового файла настроек, находящегося по пути Marlin\example_configurations\Anet\A8\ Это то, что я изменил для работы зонда.
  1. #define PROBING_HEATERS_OFF //отключение нагрева стола во время автоуровня;
  2. #define PROBING_FANS_OFF //отключение вентилятора.;
  3. #define X_PROBE_OFFSET_FROM_EXTRUDER -23 //смещение датчика автоуровня относительно сопла по оси Х -23мм.;
  4. #define Y_PROBE_OFFSET_FROM_EXTRUDER -44 //смещение датчика относительно сопла по оси Y -44мм.;
  5. #define XY_PROBE_SPEED 10000 //это скорость перемещения экструдера при замерах. По умолчанию 6000 Можно оставить как было
  6. #define MULTIPLE_PROBING 2 // это количество замеров проводимых в одной координате. Если оставить закоментированным значение - берется одна проба.
  7. #define Z_MIN_PROBE_REPEATABILITY_TEST //эта строчка позволяет произвести замер точности показаний зонда. Запускается из слайсера командой M48. Как говорил выше - точность составила 0,019мм;
  8. //#define MIN_SOFTWARE_ENDSTOP_Z //эта строчка отключает остановку экструдера при движении по оси Z Нам это нужно, что бы настроить OFFSET Z.;
  9. #define AUTO_BED_LEVELING_BILINEAR // выбираем режим автокалибровки стола.
  10. #define ABL_BILINEAR_SUBDIVISION //Синтезирует промежуточные точки, чтобы получить более подробную сетку. Ну люблю я все новое пробовать.
  11. #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X-32 Y-9\nG1 Z10" // Эта команда возвращает экструдер, после калибровки уровня стола, в близкое к первоначальным координатам и поднимает его на 10мм по оси Z. Можно не трогать эту строчку, тогда движение экструдера, при начале печати, будет начинаться в дальнем правом углу. С того места где остановился экструдер после калибровки.
  12. #define Z_SAFE_HOMING // после этой настройки хоуминг оси Z будет происходить после хоуминга осей Х,Y и в центре стола. Это нужно, что бы зонд находился над столом в момент хоуминга оси Z;
  13. #define INDIVIDUAL_AXIS_HOMING_MENU \\ Моя любимая настройка, позволяющая отправлять отдельно оси домой.
Первая часть марлизонского балета окончена. Это необходимые настройки для правильной работы автоуровня. После прошивки принтера - приступаем к его настройке.

Отправляем все оси домой. Последней хоумится ось Z и по окончании поднимает экструдер на 10мм оставляя его в середине стола. Через управление принтером в слайсере опускаем Z к столу на 10мм, потом по миллиметру, потом по 0,1мм и регулируем первый слой бумажным листом. После регулировки на табло принтера мы увидим отрицательное число оси Z. В моем случае "Z-3.6"Это значение и будет нашим OFFSET-ом оси Z Можно внести его через кнопки принтера или командой M851 Z-3.6 и сохраняем это значение в памяти принтера командой М500 или кнопками принтера через меню. Так же можно это значение вписать в конфигурационный файл
#define Z_PROBE_OFFSET_FROM_EXTRUDER -3.6 и прошить прошивку еще раз.

Теперь настал черед подправить стартовый скрипт в слайсере. Ниже мой пример:

M140 S[bed0_temperature] ; Прогрев стола без ожидания
M109 S[extruder0_temperature] ; прогрев экструдера с ожиданием
G90 ; установитm абсолютное позиционирование
G21 ;установить метрическую систему
M82 ;установить экструдер в абсолютный режим
M117 Auto home now
G28 ; захоумить все оси
M117 Autobedleveling...
G29 ; запустить автоматическое выравнивание
M117 Moving up on 5 mm...
G1 Z5 E-2 F3000 ; поднять сопло 5 мм и втянуть филамент(ретракт) на 2мм
G90 ; установитm абсолютное позиционирование
M117 Preheat now...
M116 ; ожидание прогрева всех нагревателей(экструдер и стол)
M190 S[bed0_temperature] ; ожидать прогрев стола
M117 Start
G92 E0 ;обнулить значение пути экструдера
G1 F200 E5 ;подать в экструдер 5мм филамента.

Можно обойтись и просто командами G28 и G29, но я уже привык когда мне принтер еще и на экране что-то пишет...;)
Еще в слайсере Simplify3D, в разделе Post Processing в поле Additional terminal commandsfor post processing дописал такой скрипт:

{REPLACE "; layer" "M117 Layer"}
{REPLACE " Z = " " Z="}


Теперь в последней строчке на экране, во время печати, принтер пишет какой слой печатается и какая текущая высота слоя.На этом вторая часть окончена.
Анонс.
  • В третьей части будет переезд принтера на Arduino MEGA и RAMPS 1.4 с картинками и настройкой Marlin под стоковую механику Anet A8.
  • В четвертой части будем устанавливать китайский 3D Touch с настройкой прошивки.
Равномерной всем экструзии!!!
Подписаться на 3Dtoday
22
Комментарии к статье

Комментарии

30.01.18 в 23:31
1
Ну, цветовая маркировка это промстандарт для датчиков, а насчет 5v работает ,но от случая к случаю (повторяемость), приемлемо 24v, это для омрона.
31.01.18 в 00:53
1
:) Я писал, по тесту M48, зонд на 5В - 0,019мм По моему результат в 2 сотые миллиметра очень и очень!
31.01.18 в 00:20
0
Давайте сразу 4ю часть, упарил этот китайский bltouch. А лучше подскажите здесь :) http://3dtoday.ru/questions/delta-klon-bltouch-z-servo-probe-marlin-ne-ispolzuyutsya-rezultaty-kal/
31.01.18 в 01:06
1
Я бы с удовольствием, но только сегодня получил курьером зонд 3D Touch. Настройку его уже завершил. Работает падлец, хоть и китайский.
Спойлер!
А третья часть, пока еще, только как на фото. В предоперационном состоянии. Сначала проверка навесным монтажом, потом полноценный переезд но уже вместе с 3D Touch. Можно сказать 3 и 4-я части выйдут одна за одной.
П.С. В твоей теме, вроде бы, есть решение. Да и зонд не при чем. Результат-то выдает одинаковый...

efb61198375461b349ab7875831e2e8c.jpg
31.01.18 в 07:18
1
Такой же датчик подключал к 12В. Через делитель напряжения не заработал. Заработало только когда подключил через ортопару, использовал PC817.
31.01.18 в 11:17
1
Делитель - вообще неграмотное решение.
Оптрон - явный перебор.
Там достаточно одного диода, катодом к датчику, анодом - ко входу платы.
31.01.18 в 11:23
1
как диод поможет при согласовании уровней 12В и 5В ?
31.01.18 в 11:30
1
Идеально
31.01.18 в 18:32
0
А оно вообще нужно? Основная идея выхода типа "открытый коллектор" в том, что выход или находится в высокоимпедансном состоянии(обрыв) или замкнут на землю. В таком случае согласование уровней вообще не нужно, нужна подтяжка выхода датчика кпитанию на стороне приемника(в микроконтроллере можно включить внутреннюю).
Валяется такой же датчик, может дойдут руки поставить, тогда проверю нет ли внутри датчика подтяжки выхода к питанию.
31.01.18 в 21:13
0
У датчика выход устроен примерно так:



Так что без согласования не обойтись.
Как минимум диод нужен.
31.01.18 в 09:43
1
Здорово
А Как проходит корректировка кривизны стола-то?
31.01.18 в 10:23
1
После команды G29, в стартовом скрипте, и промера зонда 9-ти точек стола, создается, так называемая, сетка уровня стола. Далее при печати учитывается эта разница внося поправки в отправляемый G-code принтеру. Это хорошо видно при печати периметров. Муфты оси Z слегка вращаются, выбирая кривизну стола. И предвидя ответ что получается кривая деталь - спешу успокоить, получается ровная деталь :)
31.01.18 в 11:55
1
Это хорошо видно при печати периметров. Муфты оси Z слегка вращаются, выбирая кривизну стола. И предвидя ответ что получается кривая деталь - спешу успокоить, получается ровная деталь
Извините не понял...
что изменяется:
- печатается специальная подложка для компенсации неровностей
- печатается с переменной толщиной слоя
- и т.п
????
31.01.18 в 17:18
1
С включенным Mesh Bed Leveling деталь печатается (компенсируя неровность стола) с переменной толщиной слоя до заданной в настройках высоты, после чего принтер переходит в "нормальный" режим.
Т.е. если стол совсем кривой - то придётся-таки рафт в несколько слоёв "прогнать".. иначе низ у модели повторит "настольный пейзаж".
31.01.18 в 17:31
0
Спасибо за разъяснение. Небыло времени отписать.
Если еще прописать M420 Z10 где 10 это кол-во слоев — то вьіравнивание будет работать до этого уровня.
31.01.18 в 17:50
0
У меня включен простой (без автоуровня) MBL - там всё прямо с экрана принтера делается (в прошивке только количество точек "поверки" указал и отступ от краёв стола (из-за прищепок, держащих стекло, у себя сделал этот отступ в 30мм)).
31.01.18 в 18:01
0
Всё это было описано в первой части. В начале статьи. К чему твой комментарий в статье про автоматическое выравнивание стола по зонду. Или просто было желание выделиться и показать что ты умнее всех?
02.02.18 в 12:15
0
31.01.18 в 11:24
2
Оказывается уже появились такие 5 вольтовые датчики, называются LJ18A3-8-Z/bx-5v
https://ru.aliexpress.com/item/M18-NO-NPN-8mm-Approach-Sensor-Inductive-Proximity-Switch-5VDC-LJ18A3-8-Z-BX-5V/32798775131.html?spm=a2g0s.13010208.99999999.262.rZyeKl
31.01.18 в 15:18
1
Оказывается уже появились такие 5 вольтовые датчики...
Китайская попытка скопировать "заказной" датчик Йосифа Прусы.

Только вот с диаметром в восемь мм - переборчик вышел, по Вашей ссылке.

Пруса заказывал для своей серии - пятивольтовые, синяя шапочка, диаметром шесть мм, "inductive-proximity-type".

Казалось-бы - мелочь - какие-то два миллиметра... ;)

Мой референс тут.

Индексы моделей на 4 мм:
SIEN-4B-PS-K-L
SIEN-4B-PO-K-L
SIEN-4B-NS-K-L
SIEN-4B-NO-K-L
SIEN-4B-PS-S-L
SIEN-4B-PO-S-L
SIEN-4B-NS-S-L
SIEN-4B-NO-S-L

Как видно - Пруса просто "фишку" коннектора - убрал, для дешевизны, и промаркировал типично OEM-ный продукт..

Там же есть и версии под монтаж M5, вот только напряжение начинается с 10 вольт...

Ньюанс, однако...

А торговцы наши везут по-прежнему стандарты в 12 мм и в 18 мм... Увы...
31.01.18 в 17:23
0
олько вот с диаметром в восемь мм - переборчик вышел
А причём тут диаметр? По ссылке там диаметр 18мм. А 8мм это дистанция обнаружения "поверхности" (тут где-то проскакивало, что датчики с "рабочим" расстонием в 4мм "не берут" через стекло 4мм).
31.01.18 в 17:31
0
Почему все вешают датчик на лицевую сторону?по уму лучше на тыльную за крепления ремней чтобы уравновешивать массы относительно опор, а не грузить момент с одной стороны, тем более, что этот оранжевый не из лёгких
01.02.18 в 15:10
0
Подскажите пожалуйста стартовый скрипт нужно прописывать без русских пояснений и его нужно записывать в eeprom и где он прописывается в слайдере.
01.02.18 в 15:42
0
Все, что находится за ; не учитывается. Скрипт прописываетя в программе слайсере, во вкладкe scripts или G-Code. Ищи в своей программе.
Если, что не понятно, можно и в ютубе посмотреть.
01.02.18 в 18:41
0
Можно ссылку на ютуб.А записывать eeprom что-то надо.Спасибо за ответ
01.02.18 в 20:07
0
Перечитай еще раз статью, тут все подробно расписано.
В ютубе набери "уроки simplify3D" и вперед за знаниям!
06.02.18 в 18:12
0
Как правильно называются такие коннекторы я не нашел. Одно из названий CHU-3 Цыфра обозначает кол-во контактов.
Похожи на XH2.54-3p
08.02.18 в 20:20
0
вопрос: при компиляции с учетом повтора ваших изменений пишет ошибку (строка 742)
что нужно еще поправить?
80bd7e6cf799153fd09f95d24ceacb48.JPG
08.02.18 в 23:39
0
Так внизу, на красном поле, написана причина ошибки. Тест можно активировать при выборе одного из перечисленных режимов. Так жежследует учесть, что память Anet ограничена 128Кб и не все функции можно подключить одновременно.
08.02.18 в 23:47
0
а какой режим у вас активирован?
09.02.18 в 00:11
1
Вот открыл доступ на свой Configuratoin.h для Anet A8 с автокалибровкой. Файл только для сравнения со своим. Не рекомендую просто подменять. Разные offfset, PID и т.д.
09.02.18 в 00:18
1
Только что проверил - скетч компилируется без ошибок и с режимом Z_MIN_PROBE_REPEATABILITY_TEST
34d69b4e70a54e2af3579eb4207daebb.png
09.02.18 в 01:15
0
Ага нашел!
#define FIX_MOUNTED_PROBE раздокументирован!)

Спасибо большое!!! Буду копать дальше))
09.02.18 в 14:57
0
{REPLACE "; layer" "M117 Layer"}
{REPLACE " Z = " " Z="}

этот скрипт не работает, почему?
09.02.18 в 15:34
0
Работает скрипт, нужно в правильное место его вписать!
09.02.18 в 16:16
0
еще раз проверил, вписал в правильное место
2 клика на Proces1 FFF, закладка Scripts
внизу секция Post processing
далее в самом низу поле с именем Additional ....

жму Update profile
и ничего
версия 3.1.0
11.02.18 в 19:52
0
Вместо тысячи слов!
https://photos.app.goo.gl/rBF6tXHYCY5I2Vth1
12.02.18 в 04:19
0
Фу ты блин, я сморю на нижнюю строку Симплефая
Извените не понял, что надо на дисплее смотреть
12.02.18 в 10:43
0
А чего туда смотреть-то, он и так пишет во время печати какой слой печатается! :D
15.02.18 в 15:07
0
Я уже замучался с этим автоуровнем. Сделал все по этой статье. После калибровки принтер либо начинает печатать в воздухе, либо вдавливает сопло в стол. На это его поведение влияет команда M851. Ей мы записывали значение после G28 и калибровки листком при опускании Z. Так вот, что бы я туда не писал, после этого принтер собственно и начинает печатать либо в воздухе либо ниже стола. Закономерность выявить не удалось.
15.02.18 в 16:08
0
Этой командой нужно один раз задать offset Z и больше не лазить! А еще и сохранить значение в EEPROM нужно, что-бы оно не сбрасывалось. А еще перед всеми манипуляциями нужно сбросить офсет командой M851 Z0 !!!
16.03.18 в 00:38
0
Подскажите пожалуйста при компиляции выдаёт такую строку #error "Auto Bed Leveling requires one of these: PROBE_MANUALLY, FIX_MOUNTED_PROBE, BLTOUCH, SOLENOID_PROBE, Z_PROBE_ALLEN_KEY, Z_PROBE_SLED, or a Z Servo." Что я не правильно делаю. Ардуино 1.8.5
16.03.18 в 01:12
0
Всё получилось.
22.03.18 в 06:14
0
Подскажите пожалуйста, а после настройки OFFSET Z нужно ли убрать комментарий перед строкой //#define MIN_SOFTWARE_ENDSTOP_Z ?
18.04.18 в 09:57
0
Подскажите пожалуйста что я не правильно делаю.Вставил Ваш стартовый скрипт в Simplify3D запустил печать и вместо того что бы сначало пошёл нагрев стола, нагреваются экструдер и стол вместе потом выполняет команды домой и авто настройка а потом идёт до нагрев стола.
18.04.18 в 10:07
0
Все правильно, только нужно убедиться, что строчка M140 S[bed0_temperature] ; стоит первой. :)
Скрипт вьіполняется четко построчно.
П. С. я взял за привьічку, при включении принтера сразу включать преднагрев под нужньій пластик, из меню принтера. Пока корректирую слайсер, записьіваю Гкод на флешку - принтер уже прогрет и готов к печати.
18.04.18 в 12:43
0
Спасибо за ответ.Так и стоит M140 S[bed0_temperature] ; первой да пояснения после точки с запятой надо убирать или не обязательно.
18.04.18 в 12:50
0
Все, что после ; и до следующей строчки - скрипт не обрабатьівает.

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

Читайте в блогах

Халява для самых внимательных и придирчивых

Медицинский проект HoloDoctor объединяет дополненную реальность и 3D-печать

Formlabs приглашает на вебинар по стереолитографической 3D-печати

Прозрачный куб и пирамида - детские головоломки на 3д принтере

Обзор 3D-принтера WANHAO D9/300: видео

Поговорим об основах?