Металл2024 Реклама
Метобр2024 Реклама

Автоуровень по 9 точкам на принтере Anet A2

orensnake
Идет загрузка
Загрузка
29.01.2017
12861
31
Техничка

Подпишитесь на автора

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.

Отписаться от уведомлений вы всегда сможете в профиле автора.

14
Прошло совсем немного времени с момента покупки данного принтера. Какой либо информации по установке автоуровня по 9 точкам мне не встретилось (вполне может быть, что плохо искал), а подстраивать столик уже очень сильно надоело. Захотелось автоматизации процесса и не зависеть от поведения H-подложки под столиком из акрила, которую у меня начинает вести при перепадах температуры.

По принтеру:

Досталась мне модель с платой управления Anet v1.0 (другой аппаратной версии платы на текущий момент не существует) с прошивкой версии 2.0 (для работы с 'полнографическим' экраном).

Ближайший аналог по электронике, на котором подобная система упоминается - это Anet A8 и Anet A6.

Для воплощения моих 'хотелок' понадобится датчик LJ12A3-4-Z/BX.

В характеристиках датчика у продавца указано, что он работает при напряжении питания от 6 до 36 Вольт. Но это несколько не так. Он вполне неплохо работает при питании в 5В (подтверждено в обзорах народа на ютубе, да и лично).

Ну что же, заказываем датчик, дожидаемся его прихода - и вперед!

Стандартная прошивка не позволяет калибровать стол по девяти точкам. Обидно, досадно, но.. будем искать решение. И оно нашлось в виде прошивочки с дивным именем SkyNet3D. На момент написания - актуальная версия 2.3.1.

Итак, качаем архив. В нем есть все необходимое (правда, под винду). В архиве - ардуино иде, сам проект, каталог с описанием процедуры восстановления. В каталоге проекта есть папка с различными конфигурациями под Anet A6 и A8.

Итак, для начала нам следует подготовиться - необходимо напечатать крепеж для датчика. Накидал его в SolidWorks.
Автоуровень по 9 точкам на принтере Anet A2
Моделька лежит тут.

Печатать, повернув лицевой частью на стол, с поддержками, слоем 0.1-0.2 на выбор.

Напечатанную модель устанавливаем вместо решетки вентилятора. Закручиваем винтами, ранее державшими металлическую решетку на вентиляторе.

Сам датчик рекомендую вкрутить в крепеж заранее, не забыв о гайке сверху и снизу. Выглядеть должно как-то так:
Автоуровень по 9 точкам на принтере Anet A2
Ну что? Стоит? Красиво?

А подключить? А подключить, чтоб работало?

Оказалось, что в подключении нет ничего сложного. Достаточно лишь выставить провода согласно фотографии

и подключить датчик взамен стандартного микрика на оси Z.
Автоуровень по 9 точкам на принтере Anet A2
Цвета проводов датчика по порядку - синий, коричневый, черный. За качество фотографии - пардон, фотографировал на тапок.

Предварительная подготовка завершена, пора прошить принтер ;)

Для этого необходимо внести изменения в файл конфигурации от какого-то из имеющихся принтеров. Пусть донором файла конфигурации будет Anet A6 (так захотелось моей левой пятке).

В качестве исходного берем файл 'configuration.h' из папки 'SkyNetV3.2.1ConfigurationA8- fullgraphicslcd- front left sensor12mm sensor' и копируем его в папку 'SkyNetV3.2.1'.

Меняем в нем следующие параметры

#define TEMP_SENSOR_0 1 // Иначе температура не соответствует параметрам оригинальной прошивки

#define TEMP_SENSOR_BED 1

#define DEFAULT_Kp 24.83 // Данные для ПИД регулятора - у меня получились такие

#define DEFAULT_Ki 1.51

#define DEFAULT_Kd 101.81

#define X_PROBE_OFFSET_FROM_EXTRUDER -36 // Значения для держателя датчика из статьи

#define Y_PROBE_OFFSET_FROM_EXTRUDER -22

#define INVERT_Y_DIR true

#define INVERT_Z_DIR false

#define X_MIN_POS -1 // Координаты сработки концевых датчиков относительно стола по Х

#define Y_MIN_POS -1 // по Y

#define Z_MAX_POS 220 // У моего А2 рабочие размеры 220*220*220 мм

#define ABL_PROBE_PT_1_X 40

#define ABL_PROBE_PT_1_Y 180 // Более 180 не указывайте - головка упрется в блок управления

#define ABL_PROBE_PT_2_X 40

#define ABL_PROBE_PT_2_Y 40

#define ABL_PROBE_PT_3_X 180 // аналогично

#define ABL_PROBE_PT_3_Y 40

#define LCD_LANGUAGE ru // Если хотите получить меню на русском языке

#define DEFAULT_NOMINAL_FILAMENT_DIA 1.75


Менять какие либо другие параметры не рекомендую. Хотя все на ваше усмотрение. К примеру, при включении ПИД для стола вы получите мертвый принтер (со слетевшим бутлоадером). Так что, если не хотите иметь счастье с его воскрешением - лучше не пробуйте.

Для тех, кому лень исправлять - готовый файл конфигурации лежит тут, а немного модифицированный файл с русскими сообщениями - тут.

Итак, нужно все это дело скомпилировать.

Запускаем Arduino.exe из папки arduino-1.8.0. Открываем файл 'SkyNetV3.2.1SkyNetV3.2.1.ino'

Удостоверимся, что в списке плат стоит Anet 1.0, принтер нормально подключен к Вашему компьютеру и Вы правильно выбрали соответствующий COM порт.

Жмем на кнопку 'Загрузка' (значёк со стрелкой вправо) и ждем порядка 3 минут. За это время прошивка должна скомпилироваться и залиться в принтер, принтер перезагрузится и покажет новое лого.

Что нужно сделать дальше?

1) Выставить индуктивный датчик на 1-1.5 мм выше уровня сопла.

2) в Настройки - Механика - Смещение Z выставть это значение со знаком минус.

3) Сохранить (Настройки - Сохранить в EEPROM)

4) Добавить/изменить начальный блок в слайсере.

Для slic3r Start G-Code у меня выглядит так:

G28 ; home all axes

G29 ; autolevel calibrate

G0 X-1 Y-1 F12000

G0 Z0.2 F500

M109 S[first_layer_temperature]

G1 E10 F100 ; extract a little

G1 X40 Y40 Z0.2 F1000



Итог - все работает, датчик радует, все красиво.

P.S. Судя по данным с калибровки мой столик имеет диагональный горб в 1 мм :(

P.P.S. Как можно добавить Anet A2 в список известных на данном сайте принтеров? Есть А6 и А8, а вот А2 обидели.

Подпишитесь на автора

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.

Отписаться от уведомлений вы всегда сможете в профиле автора.

14
Комментарии к статье
Кремень КБ Реклама
Кремень КМ Реклама