Кремень FMZ Реклама
Kremen FMHM Реклама

Repetier мне запили...

gritsenko.physicist
Идет загрузка
Загрузка
12.02.2016
39839
54
Техничка

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

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

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

37
Приветствую Вас дорогие читатели. Сразу скажу, в посте ОЧЕНЬ МНОГО БУКАФ и она предназначена прежде всего для тех, кто подходит самостоятельно к сборке принтера и покупает «голую» электронику, которые впоследствии нужно адаптировать под свой аппарат.

Небольшое предисловие.

Сегодня покажу, как настроить прошивку repetier host firmware на примере своего принтера. Здесь на сайте есть хорошая статья по настройке Marlin. Как человек, попробовавший обе прошивки для себя, могу сказать, что repetier мне понравилась больше, почему? Она более стабильно работает, крутит двигатели, по каким то другим алгоритмам. Не вдаваясь сильно в подробности, которые я честно говоря не знаю, внешне это проявляется другим звуком двигателей, особенно при печати окружностей. А самое главное, то, что при одинаковых настройках слайсера и скоростей и ускорений по осям Marlin для окружностей менее 15 мм в диаметре срезал мне один край круга, т.е. получалось что то вроде овала – разница в 1 мм (одна диагональ короче другой). В принципе не очень заметно, но я как человек, который хочет сделать все точно не мог успокоится.

Что я только не делал с прошивкой, программой управления Repetier Host, принтером. Натягивал ремни, применял подшипники разных диаметров на осях Х, У (которые на ремнях стоят), измучил вдоль и поперек слайсер, пробовал разные скорости общения с компьютером, настраивал, менял местами драйвера, менял скорости, ускорения по осям - никак!

Честно сказать потом все же я победил овал, но он пропадал, только если драйвера ставить на полный или ½ шага и внешний контур делать значительно медленнее, чем все остальное.

Не хочу конечно всех убеждать теперь, что Marlin ..авно, но у меня так (на глаз не все даже замечали неровность кругов, а вот штангельциркулем все становилось очевидно! ). Получалась разница около 7%. Повторись, что все справедливо при скоростях от 20 мм/сек и более и малых диаметрах и работой исключительно с программой Repetier-Host.

Но только после установки repetier прошивки, данный глюк исчез.



Теперь непосредственно про настройку прошивки.


На сайте http://www.repetier.com/firmware/v092/ есть конфигуратор прошивки. Все просто и понятно устанавливаешь параметры и в конце скачиваешь проект для Arduino IDE. Но когда ты все скачал, поставил, попробовали и вдруг, например вам нужно инвертировать направление движения по какой-нибудь оси, то нужно опять все настраивать на сайте, а если ты его успел закрыть – то все настройки заново! А комментариев прошивка не дает)))

Поэтому я выбрал немного другой вариант, скачать весь проект можно здесь https://github.com/repetier/Repetier-Firmware там уже будут комментарии. Пройдусь по основным, необходимым для настройки принтера под себя!

После открытия проекта Arduino идем во вкладку Configuration.h

1. Количество экструдеров (написано, что до 6 можно).

#define NUM_EXTRUDER 1

2. Рабочая плата, в моем случае Mega+Ramps1.4

#define MOTHERBOARD 33

3. Количество шагов на 1 мм по осям X,Y,Z. У меня ремни GT2 и шестерни с 16 зубцами и резьбовая шпилька М5 по оси Z. Использую деление 1/16.

#define XAXIS_STEPS_PER_MM 100

#define YAXIS_STEPS_PER_MM 100

#define ZAXIS_STEPS_PER_MM 4000

4. С какой температуры включать вентилятор экструдера - прикольная фича.

#define EXTRUDER_FAN_COOL_TEMP 50

5. Число шагов на 1 мм системы подачи пластика, настраивается индивидуально.

#define EXT0_STEPS_PER_MM 108.57

6. Тип температурного сенсора - у меня терморезистора 100 кОм.

#define EXT0_TEMPSENSOR_TYPE 1

7. Пин температурного датчика экструдера, где подключен на плате. Их два один для стола другой для экструдера.

#define EXT0_TEMPSENSOR_PIN TEMP_0_PIN

8. Пин нагревателя экструдера. Их тоже два один для экструдера, другой для стола.

#define EXT0_HEATER_PIN HEATER_1_PIN

9. Пины для вывода step/dir экструдера. В моем случае подключено к экструдеру E0 на плате расширения.

#define EXT0_STEP_PIN E0_STEP_PIN

#define EXT0_DIR_PIN E0_DIR_PIN

10. Инверсия, т.е. изменение направления для экстудера, если необходимо.

#define EXT0_INVERSE true

11. Максимальная скорость экструдера мм/сек

#define EXT0_MAX_FEEDRATE 1000

12. Скорость, с которой стартует мотор экструдера (без ускорения) мм/сек.

#define EXT0_MAX_START_FEEDRATE 5

13. Максимальное ускорение экструдера мм/сек^2

#define EXT0_MAX_ACCELERATION 1000

14. Метод поддержания температуры на экструдере. Здесь три метода:

0 - Вкл/Выкл

1 - Пид регулирование

3 - Включение и выключение используя 'мертвое время', которое можно задать.

Здесь Marlin явно побеждает у меня при использовании всех трех методов - температура стабилизируется значительно хуже, чем на Marlin-е. Оптимально, выбрать 1. Стабилизируется хуже - имею ввиду медленнее - проходит заданный предел на 8 градусов, потом возвращается и держится стабильно, но время затрачиваемое на это больше, чем на Marlin.

#define EXT0_HEAT_MANAGER 1

15. Пин подключаемый к вентилятору экструдера. У меня он подключен к вентиллятору обдува детали!

#define EXT0_EXTRUDER_COOLER_PIN ORIG_FAN_PIN

16. Скорость вращения вентиллятора охлаждения экструдера, пределы 0-255.

#define EXT0_EXTRUDER_COOLER_SPEED 100

17. Используется ли стол в Вашей конфигурации. У меня – нет!

#define HAVE_HEATED_BED false

#define HEATED_BED_MAX_TEMP 115

#define HEATED_BED_SENSOR_TYPE 1

18. Стоит ли подтягивание на ограничивающих свичах. Обычно у всех - да. Ну если используем обычный свич на размыкание. У меня установлены свичи только в минимальных позициях.

#define ENDSTOP_PULLUP_X_MIN true

#define ENDSTOP_PULLUP_Y_MIN true

#define ENDSTOP_PULLUP_Z_MIN true

19. Логика работы свича. Здесь зависит от того как вы его подключили если он у вас в свободном состоянии разомкнут то true, замкнут false.

#define ENDSTOP_X_MIN_INVERTING false

#define ENDSTOP_Y_MIN_INVERTING false

#define ENDSTOP_Z_MIN_INVERTING false

20. Инвертировать ли направление движения по осям. У каждого свое!

#define INVERT_X_DIR true

#define INVERT_Y_DIR true

#define INVERT_Z_DIR false

21. Положение позиции 'дом' в минимуме -1, в максимуме 1.

#define X_HOME_DIR -1

#define Y_HOME_DIR -1

#define Z_HOME_DIR -1

22. Можно ли заезжать в положение менее 0, по осям, true - нельзя, false - можно.

#define min_software_endstop_x true

#define min_software_endstop_y true

#define min_software_endstop_z false

23. Максимальные и минимальные позиции по осям (рабочее поле).

#define X_MAX_LENGTH 110

#define Y_MAX_LENGTH 110

#define Z_MAX_LENGTH 110

#define X_MIN_POS 0

#define Y_MIN_POS 0

#define Z_MIN_POS 0

24. Максимальные скорости движения по осям X,Y,Z в мм/сек.

#define MAX_FEEDRATE_X 200

#define MAX_FEEDRATE_Y 200

#define MAX_FEEDRATE_Z 3



25. Скорость движения по осям в домашнюю позицию в мм/сек.


#define HOMING_FEEDRATE_X 30

#define HOMING_FEEDRATE_Y 30

#define HOMING_FEEDRATE_Z 3

26. Очередность осей для общей команды 'дом'. Мне нравиться X,Y,Z соответсвенно прописывать нужно просто, без запятых - XYZ.

#define HOMING_ORDER HOME_ORDER_XYZ

27. ООчень интересный параметр - переведу его как 'компенсация люфта' - вроде нет в Marlin. Задается использовать его или нет (true или false), а потом можно задать вроде как в циферном эквиваленте.

#define ENABLE_BACKLASH_COMPENSATION false

#define Z_BACKLASH 0

#define X_BACKLASH 0

#define Y_BACKLASH 0

28. Максимальное ускорение по осям при печати в мм/сек^2

#define MAX_ACCELERATION_UNITS_PER_SQ_SECOND_X 1000

#define MAX_ACCELERATION_UNITS_PER_SQ_SECOND_Y 1000

#define MAX_ACCELERATION_UNITS_PER_SQ_SECOND_Z 100

29. Максимальное ускорение по осям при перемещениях в мм/сек^2

#define MAX_TRAVEL_ACCELERATION_UNITS_PER_SQ_SECOND_X 1000

#define MAX_TRAVEL_ACCELERATION_UNITS_PER_SQ_SECOND_Y 1000

#define MAX_TRAVEL_ACCELERATION_UNITS_PER_SQ_SECOND_Z 100

30. Скорости, до которых прошивка не применяет ускорение в мм/сек.

#define MAX_JERK 30.0 // для осей X,Y

#define MAX_ZJERK 0.3 // для осиZ

31. Минимальная температура экструдера (при которой начнет движение мотор, толкающий пластик). Именно этот параметр нужно менять, при калибровки!

#define MIN_EXTRUDER_TEMP 160

32. Режим работы вентилятора. Если у вас вентилятор обдува детали, то этот параметр не стоит трогать, а если вы, как я не используйте вентилятор обдува детали и к его выводу подсоединили вентиллятор экструдера, то необходимо поменять значение на false и тогда вентилятор будет автоматически включаться при включении экструдера и автоматически отключаться при температуре, которую вы задали! Очень прикольная фича - мне нравиться, что вентилятор не все время крутит - шума нет, когда принтер просто включен и ждет задания!

#define FEATURE_FAN_CONTROL false

Ну вот я и прошелся по основным параметрам, которые необходимо будет поменять всем, без исключения, кто будет прошивать Repetier себе. Это минимальный набор, так сказать, но конечно же не все возможное!

Но самое крутое, о том, что я не рассказал, это Z-probbing. Принтер сам будет настраивать себя по Z. Как это происходит? Пишут, что для этого используют датчик LJ12A3-4-Z/BY.

Вы в прошивке настраиваете точки (X,Y) в которых проверять положение стола, экструдер подъезжает туда и начинает опускать наконечник, пока не определит контакт со столом. Поясню, т.е один контакт - наконечник экструдера, второй стол - коснулись - замкнулись, значит он в нуле! И пройдя по всем точкам, принтер строит для себя картину (форму стола) и с учетом этого будет печатать!!!

ЗАМЕЧАНИЕ: Компилировать и загружать прошивку в плату необходимо версией Arduino IDE не новее 1.6.4 (у меня ей получилось). Самая последняя версия выдает фатальную ошибку.



ВЫВОДЫ:
Эти выводы сугубо субъективные, не хочу ни в коем случае их кому-нибудь навязать, это лишь мой личный опыт. В принципе я добился хороших результатов с прошивкой Marlin, но для того, чтобы все было идеально (мелкие круглые объекты получались в форме овалов, при хорошем рассмотрении) пришлось уменьшить скорость печати - внешний контур 20 мм/сек и поставить делитель 1/2 шага на драйвер шагового мотора (доступно 1/16). Repetier хорошо печатает и при 40 мм/сек (верхний предел не проверял – нет необходимости – этого достаточно), драйвера при этом работают плавно т.к. делитель 1/16 шага. И еще дополнительные плюсы к прошивки Repetier те, что она более корректно работает с программой Repetier Host, которую я очень люблю и пользуюсь. Т.е. например, при отключении принтера, программа спрашивает завершить текущие действия (например включен экструдер) и при нажатии Да – завершает, Marlin же при нажатии да вновь выводит окно. Так же при Marlin присутствует всегда управление для стола, хотя в прошивке он отключен, в repetier значок стола исчезает. Repetier так же включает сам вентилятор экструдера, после достижения им заданной температуры и выключает его самостоятельно.

Спасибо за внимание!

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

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

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

37
Комментарии к статье