Автоуровень по 9 точкам на принтере Anet A2
По принтеру:
Досталась мне модель с платой управления Anet v1.0 (другой аппаратной версии платы на текущий момент не существует) с прошивкой версии 2.0 (для работы с 'полнографическим' экраном).
Ближайший аналог по электронике, на котором подобная система упоминается - это Anet A8 и Anet A6.
Для воплощения моих 'хотелок' понадобится датчик LJ12A3-4-Z/BX.
В характеристиках датчика у продавца указано, что он работает при напряжении питания от 6 до 36 Вольт. Но это несколько не так. Он вполне неплохо работает при питании в 5В (подтверждено в обзорах народа на ютубе, да и лично).
Ну что же, заказываем датчик, дожидаемся его прихода - и вперед!
Стандартная прошивка не позволяет калибровать стол по девяти точкам. Обидно, досадно, но.. будем искать решение. И оно нашлось в виде прошивочки с дивным именем SkyNet3D. На момент написания - актуальная версия 2.3.1.
Итак, качаем архив. В нем есть все необходимое (правда, под винду). В архиве - ардуино иде, сам проект, каталог с описанием процедуры восстановления. В каталоге проекта есть папка с различными конфигурациями под Anet A6 и A8.
Итак, для начала нам следует подготовиться - необходимо напечатать крепеж для датчика. Накидал его в SolidWorks.Моделька лежит тут.
Печатать, повернув лицевой частью на стол, с поддержками, слоем 0.1-0.2 на выбор.
Напечатанную модель устанавливаем вместо решетки вентилятора. Закручиваем винтами, ранее державшими металлическую решетку на вентиляторе.
Сам датчик рекомендую вкрутить в крепеж заранее, не забыв о гайке сверху и снизу. Выглядеть должно как-то так:Ну что? Стоит? Красиво?
А подключить? А подключить, чтоб работало?
Оказалось, что в подключении нет ничего сложного. Достаточно лишь выставить провода согласно фотографии
и подключить датчик взамен стандартного микрика на оси Z.Цвета проводов датчика по порядку - синий, коричневый, черный. За качество фотографии - пардон, фотографировал на тапок.
Предварительная подготовка завершена, пора прошить принтер ;)
Для этого необходимо внести изменения в файл конфигурации от какого-то из имеющихся принтеров. Пусть донором файла конфигурации будет 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 обидели.
Еще больше интересных статей
Температура стола и пирометр.
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Антивоблинг на flyingbear ghost 5
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Настраиваем прошивку Marlin и заливаем её в 3D принтер
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Комментарии и вопросы
Красиво! Прозрачность дает инт...
Офигеть! Чего только не бывает...
Прикольно. Первый раз вижу как...
Спаситепомогите, это уже не эх...
Такое впечатление, что у прюша...
Вот такие «лесенки» появляются...
Отслайсил модель в Cura закину...