Прошивка 3d принтера Marlin, Arduino,I3, Anet A2

Инструкция по обновлению прошивки 3d принтера

Любое периферическое устройство, чтобы обеспечивать возложенную функциональность, должно работать с программным обеспечением уровня firmware. 3D принтеры в этом отношении не являются исключением. Благодаря придуманному в 1964 году принципу универсальных интерфейсов, основная часть программного обеспечения и электронных компонентов является совместимой. Это подразумевает использование одного программного кода для целого ряда устройств, относящихся к определенному типу.

Все 3D принтеры работают на одном программном коде

Принципы обновления firmware для устройств

Согласно новой парадигме программный софт и аппаратная часть выполняется в рамках проектов с открытым исходным кодом. Именно в рамках такого проекта разрабатываются полупрофессиональные 3D принтеры. Для них существует универсальная прошивка Marlin, рассчитанная на работу с микроконтроллерными платами ArduinoMega и RAMPS Shield v.1.4. Соответственно, прошивка для 3d принтера Marlin совместима со всеми моделями, в которых они использованы. Перед выполнением работ потребуется установить плату RAMPS shield в ArduinoMega и сделать действия, описанные ниже.

Для перепрошивки устройства понадобится плата RAMPS Shield

Проблема данного ПО в отношении пользователей состоит в том, что софт не обновляется автоматически, как это характерно для компьютеров.

Новые версии нужно устанавливать самостоятельно, используя файлы, доступные на сайте Marlin.

После установки выполняется настройка прошивки 3d принтера.

На сайте Marlin необходимо скачать последнюю версию Arduino

Общий процесс соответствует следующей последовательности:

  • файлы скачиваются с сайта Marlin;
  • затем компилируются в среде Arduino IDE;
  • после этого записываются на управляющую плату RAMPS shield.

Чтобы обновить прошивку, нужно самостоятельно скачать файлы и проделать описанные действия. Для всех моделей действия аналогичны, включая модель PRUSA I3.

Все действия нужно производить на вкладке Configuration.h

Инструкция по установке и настройке Марлин для 3д-принтеров

Подготовка прошивки для платы состоит в подготовке конфигурационных настроек Марлин в компиляторе. Что это значит? Arduino IDE имитирует наличие принтера и делает компиляцию программного кода для RAMPS shield с помощью ArduinoMega 2560, чтобы готовый файл можно было записать на контроллер. Если общий принцип, что нужно делать, понятен, то настройка параметров может вызвать определенные сложности. В этом случае вы всегда можете обратиться к специалисту, который работает с моделями PRUSA I3, Anet A2, TevaTarantula.

Для начала прошивки нужно выбрать контролер (motherboard)

Определим основные этапы компилирования файла, которые включает настройка прошивки Marlin для 3d принтера:

  • Потребуется установить среду Arduino IDE, иметь при себе плату ArduinoMega, в нее нужно вставить программируемую принтерную RAMPS Shield v.1.4;
  • Также нужно скачать новую версию прошивки Марлин, распакуйте архив и откройте файл Configuration.h в Arduino IDE;
  • Далее настраивается среда компиляции, в меню «Инструменты» найдите Arduino/GenuinoMegaorMega 2560, отмечаем эту же плату в выпавшем списке ArduinoMega 2560;
  • Требуется настройка кода в Ардуино, именно эта часть вызывает определенные сложности у новичков. Так что если вы не уверены в своих силах, как минимум, не спешите записывать свой файл на контроллер. Дело в том, что проводится настройка технических параметров, в том числе, отвечающих за остановку работы, чтобы исключить повреждения компонентов (основные моменты смотрите ниже);
  • После внесения изменений в конфигурацию нажмите в окне кода «Проверить», при наличии ошибок, проверьте код повторно;
  • После прохождения проверки нажмите кнопку «Сохранить»;
  • Затем нажмите «Загрузка», очевидно, что для этого требуется подключение к разъемам платы.

Настройка файла Configuration.h в Ардуино

Описание этого процесса требует отдельного довольно объемного обзора, поэтому поясним определенные моменты:

  • Устанавливается скорость передачи данных. Обычно 250000 бод/с или другая, поддерживаемая компьютером;
  • Тип платы: rampsshield v.1.4, указав в конце строки efb (extruder, fan, bed – экструдер, вентилятор, стол) даже при отсутствии каких-то функций (подогрева стола и вентилятора);
  • Настройки датчика температуры – установите в «1» на используемые датчики;
  • Минимальная температура работы – устанавливается 5, это имеется в виду 5 градусов цельсия;
  • Максимальная температура – установите 230 с для экструдера, 120 с устанавливается для стола;
  • Проверка соответствия температуры материала и начала работы, можно отключить командой м302, также отключается пролонгированное выдавливание, имеющее лаг запаздывания, но обеспечивающее плавную работу;
  • Требуется настроить механику: концевые выключатели, подтягивающие резисторы и другие. В процессе обычно делается проверка правильной работоспособности;
  • Необходимо также настроить шаговое движение по осям.

Описание самого процесса в Ардуино можно почитать по ссылке, конечно, процесс требует понимания своих действий. Если вы не уверены в своих силах, обратитесь к специалисту. После записи корректного файла обновление для PRUSA I3, Anet A2, TevaTarantula будет готово. Прошивка для 3d принтера I3 PRUSA требует учитывать параметры именно данного устройства, воспользуйтесь оригинальными рекомендациями по обновлению конфигурации.

Настраиваем прошивку Marlin и заливаем её в 3D принтер

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

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

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

Многие 3D принтеры работают под управлением популярной прошивки Marlin. Прошивка изначально сконфигурирована для Ultimaker Original. Разберём основные настройки для других 3D принтеров.

Прошивка лежит по этому адресу. Качаем. Давим на кнопку Download ZIP. Скачивается архив Marlin-Development.zip. Распаковываем его в выбранную папку.

Читайте также:  Что можно сделать на домашнем 3д принтере

В начале мы видим ссылки на калибровку 3D принтера. Пролистываем дальше и читаем: ‘Это конфигурационный файл с основными настройками. Выберите тип контроллера, тип температурного датчика, откалибруйте перемещения по осям и сконфигурируйте концевые выключатели.’

Начнём с выбора контроллера (MOTHERBOARD). Список контроллеров находится во вкладке boards.h. Давим на треугольник в правом верхнем углу и выбираем boards.h.

Теперь посмотрим на установленную электронику. Вот некоторые типы плат:

Заменяю в configuration.h ‘MOTHERBOARD BOARD_ULTIMAKER’ на ‘MOTHERBOARD BOARD_RAMPS_13_EFB’.

#define MOTHERBOARD BOARD_RAMPS_13_EFB

Следующим выбираем датчик температуры – термистор. Видим большой список ‘//// Temperature sensor settings:’. У меня стоит хотэнд E3D-v5 и китайский термистор на столе. Для E3D-v5 я выбираю ‘// 5 is 100K thermistor – ATC Semitec 104GT-2’, для стола ‘// 1 is 100k thermistor – best choice for EPCOS 100k’. Если тип термистора неизвестен можно выбрать 1, а если температура не понравится можно выбирать любой и тестировать. Меняю.

100K thermistor – ATC Semitec 104GT-2

Ограничение максимальной температуры хотэнда ‘#define HEATER_0_MAXTEMP 275’.

Ограничение минимальной температуры хотэнда ‘#define EXTRUDE_MINTEMP 170’.

Если концевой выключатель подключен не стандартно и его состояние нужно инвертировать, то это можно сделать в прошивке, не перепаивая провода. Значения false или true. Команда M119 (например в Pronterface) показывает состояние концевых выключателей. У меня концевые выключатели стоят только в позиции HOME на MAX.

В положении HOME

Мне ничего менять не потребовалось.

const bool X_MIN_ENDSTOP_INVERTING = true;

const bool Y_MIN_ENDSTOP_INVERTING = true;

const bool Z_MIN_ENDSTOP_INVERTING = true;

const bool X_MAX_ENDSTOP_INVERTING = true;

const bool Y_MAX_ENDSTOP_INVERTING = true;

const bool Z_MAX_ENDSTOP_INVERTING = true;

Изменение направления вращения шаговых двигателей, значения false или true. Правильные перемещения сопла относительно стола:

– По оси X – влево ‘-‘, вправо ‘+’.

– По Y – вперёд ‘+’, назад ‘-‘.

– По оси Z – сближение ‘-‘, удаление ‘+’.

– Экструдер. Extrude – выдавливание нити, Reverse (retract) – откат, втягивание нити.

#define INVERT_X_DIR false

#define INVERT_Y_DIR false

#define INVERT_Z_DIR false

#define INVERT_E0_DIR true

Дальше идёт настройка концевых выключателей. Нам нужно узнать где они расположены. Как это узнать? Начало координат находится в ближнем левом углу на поверхности стола, если сопло вывести в эту точку, то сработали бы концевики MIN, если в правую дальнюю верхнюю – сработают MAX. У меня в положении HOME находятся три концевых выключателя MAX, поэтому мои установки

// Sets direction of endstops when homing; 1=MAX, -1=MIN

#define X_HOME_DIR 1

#define Y_HOME_DIR 1

#define Z_HOME_DIR 1

Установка габаритов перемещения, после инициализации в положении HOME. Здесь мы задаём габариты рабочей зоны по X и Y, а также настройку сопла относительно стола.

Если при касании стола соплом срабатывает концевой выключатель (MIN), как у Ultimaker Original, то поднастройка сопла относительно стола выполняется перемещением концевого выключателя, а в ‘#define Z_MAX_POS’ записываем значение координаты при максимальном удалении сопла от стола. Координату можно узнать по команде М114 или посмотрев на экран дисплея.

Если концевой выключатель по Z срабатывает при максимальном удалении сопла от стола (MAX), то нужно найти габарит по Z самостоятельно. Устанавливаем значение ‘#define Z_MAX_POS’ изначально больше нормы, например 250 при габарите 200 мм. Опускаем сопло до касания стола и на дисплее (или по команде M114) видим координату больше нуля, теперь вычтем из установленного большого значения полученную координату и получим габарит по Z, который теперь запишем в ‘#define Z_MAX_POS’. По итогам печати первого слоя можно будет подкорректировать это значение.

// Travel limits after homing

#define X_MAX_POS 215

#define X_MIN_POS 0

#define Y_MAX_POS 215

#define Y_MIN_POS 0

#define Z_MAX_POS 200

#define Z_MIN_POS 0

Можно подкорректировать скорость перемещения в положение HOME.

#define HOMING_FEEDRATE <50*60, 50*60, 4*60, 0>// set the homing speeds (mm/min)

Переходим к самому важному. Настройка шагов перемещения по осям. Экструдер тоже ось. Мои настройки.

Теперь посмотрим, как я их получил. По всем осям стоят шаговые двигатели 200 шагов на оборот, 16 микрошагов на шаг (устанавливается перемычками на плате). По осям X и Y стоит приводной ремень GT2 с шагом 2 мм и 20-ти зубые шкивы, итого получаем формулу (200*16)/(2.0*20). По оси Z стоят шпильки М8 с шагом резьбы 1,25 мм, итого формула 200*16/1.25.

Находим спецификации (даташит) на установленные шаговые двигатели. Видим, что за один шаг вал поворачивается на 1,8 градуса, а это значит 360/1,8=200 шагов на полный оборот. Этот параметр одинаковый у большинства шаговых двигателей устанавливаемых в домашние 3D принтеры.

Подбирая настройку экструдера добиваемся точной цифры на разумной длине прутка, например 300 мм. После настройки вернём ограничения минимальной температуры ‘#define EXTRUDE_MINTEMP 170’.

Следующие цифры – это ограничение максимальной скорости перемещения по осям. На X и Y я ставлю 200 мм, остальные не трогаю.

Настройка ускорения перемещений по осям. При больших ускорениях возможны пропуски шагов. Можно подбирать, гоняя в программе Pronterface по осям на заданной скорости. Вот мои настройки:

#define DEFAULT_ACCELERATION 1500

Осталось активировать LCD дисплей с SD картой. Свой дисплей я нашёл на RepRap.org и идентифицировал как RepRapDiscount Smart Controller.

Читайте также:  Пластик PLA для печати 3D принтера, характеристики

Раскомментируем (уберём двойные слэши) следующие строки:

Есть ещё один твик для повышения точности срабатывания некоторых концевых выключателей. При настройке нуля по Z столкнулся с тем, что после каждой инициализации HOME положение сопла над столом немного менялось. Порывшись в прошивке нашёл параметр отвечающий за инициализацию концевых выключателей. Переходим во вкладку Configuration_adv.h и ищем строку ‘#define Z_HOME_RETRACT_MM 2’, меняем значение 2 на 5 и больше не вспоминаем про этот параметр.

Пора заливать прошивку в контроллер. Для этого нужно в Arduino IDE правильно выставить тип платы и номер COM порта. Внизу окна отобразится тип платы и номер порта. Не забываем сохранять изменения (Ctrl+S).

Для выбора нужной платы в Arduino IDE нужно скопировать с заменой всё из папки с прошивкой ‘Marlin-DevelopmentArduinoAddonsArduino_1.5.xhardwaremarlinavr’ в папку Arduino IDE ‘C:Program Files (x86)Arduinohardwarearduinoavr’. После этого появляется возможность выбрать плату Sanguino (базовая плата для Melzi) и нужный тип процессора. У меня нет платы Melzi, поэтому проверить не могу.

Последние результаты записываем в прошивку.

#define DEFAULT_Kp 12.22

#define DEFAULT_Ki 0.58

#define DEFAULT_Kd 64.08

По такой же схеме калибруем PID стола. Команда ‘M303 E-1 C8 S110‘. Где E-1 – стол, S110 – типичная температура нагрева стола. Последние результаты записываем в прошивку. У меня стол нагревается очень медленно и поэтому приходится перезапускать команду из-за ошибки Timeout.

#define DEFAULT_bedKp 105.94

#define DEFAULT_bedKi 4.97

#define DEFAULT_bedKd 564.11

Как узнать уже прошитые в 3D принтер параметры чтобы не калибровать повторно?

Параметры установленные в прошивке можно узнать в программе Repetier-Host через меню КонфигурацияКонфигурация EEPROM. Предварительно нужно указать COM порт в настройках и нажать кнопку ‘Подсоединить‘.

Также параметры можно увидеть на LCD дисплее. Через меню ControlMotion.

Хотелось бы увидеть подобные инструкции для Delta принтеров, CoreXY и H-Bot 3D принтеров.

Критические замечания настоятельно приветствуются, так как впоследствии инструкция будет размещена в 3D-Вики. Также очень важно мнение новичков, так как всё это делается именно для Вас!

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

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

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

iОнлайн

Устанавливаем прошивку Marlin на 3D принтер с помощью Arduino IDE

Всем привет! В преддверии выхода обновленного варианта прошивки для 3D принтера Anycubic 4Max я решил, что писать очередную инструкцию по прошивке принтера не очень то и удобно, поэтому решил выделить эту тему в несколько статей. Как всегда, подробно и с картинками. Сегодня я вам опишу способ установки прошивки Marlin с помощью среды Arduino IDE. В последующих статьях я опишу способ установки готовой прошивки через слайсер Cura, а так же способ самостоятельной сборки прошивки для последующей установки ее средствами CURA.

Описанная методика 100% подойдет для 3Д принтеров, построенных на базе микроконтроллера Atmega 2560. Методика тестировалась на 3Д принтерах Anycubic 4Max и Anycubic i3 Mega, а так же на Anycubic Mega-S.

Предупреждаю, с другими моделями могут быть нюансы.

И так, меньше слов и больше дела, начинаем.

Предполагается, что сам скетч прошивки у вас есть. Откуда вы его взяли, это уже другая история.

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

Для этого нам понадобится среда разработки Arduino Ide. Скачать среду можно тут.

Инструкций по установке Arduino IDE в сети полно, так что нет смысла повторяться.

Скачали? Установили? Теперь продолжаем.

Необходимо установить следующие библиотеки:

U8glib

TMC2208Stepper

Для установки библиотек необходимо выполнить следующие действия:

Для этого выбираем пункт меню «Скетч» -> «Подключить библиотеку» -> «Управлять библиотеками«.

В строке поиска введите U8glib

Выберите библиотеку из списка результатов поиска и нажмите кнопку «Установить».

Повторите указанные действия для установки библиотеки TMC2208Stepper.

Теперь перезагрузите Arduino IDE. Ну или просто закройте приложение и запустите снова.

Теперь все готово для следующего этапа.

С помощью Arduino IDE открываем файл anycubic-4max.ino, либо marlin.ino, либо другой файл с таким же расширением. Эти подробности необходимо уточнять у автора прошивки. Если говорить о чистом марлине, то там нужно открывать файл marlin.ino.

Если необходимо что-то поправить или отредактировать, делаете что необходимо и сохраняете результаты.

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

Теперь самое время включить 3D принтер.

Подключаем принтер к вашему компьютеру/ноутбуку. Устанавливаем драйверы, если необходимо.

Устанавливаем параметры как показано на скринах:

Выбираем процессор (микроконтроллер материнской платы)

Выбираем порт. к которому подключен Ваш 3Д принтер

После выбора COM порта нажимаем кнопку:

И ожидаем пока процесс загрузки завершится.

Теперь закройте Arduino IDE

Перезагрузите Ваш 3Д принтер. Для этого выключите его из розетки на 1-2 минуты и включите снова.

Через меню принтера или с помощью команды.

Для сброса настроек принтера на настройки по умолчанию выполните следующие команды:

Читайте также:  Пластик ABS: характеристика и температура печати

Все, поздравляю Вас! Вы прошили свой 3Д принтер.

После прошивки принтера, рекомендую Вам откалибровать PID экструдера.

На этом все. Как видите, ничего сложного нет.

А что делать если нет исходников прошивки, а есть только файл прошивки с расширением hex? Об этом вы узнаете в статье “Устанавливаем прошивку Marlin на 3D принтер с помощью слайсера Cura или что делать с hex файлом?”

Если вы еще не обзавелись 3Д принтером и думаете какую модель выбрать, могу порекомендовать следующие модели:

Как прошить и настроить 3D-принтер

Если вы используете свой 3D-принтер достаточно долго, то наверняка знаете его достоинства и недостатки. Если недостатки становятся ощутимыми со временем, существует вероятность, что ваш принтер нуждается в апгрейде, перенастройке и перепрошивке.

Читайте эту статью, чтобы узнать о том, как перепрошить 3D-принтер и вернуть ему способность бесперебойно работать.

Содержание

  • Что такое «прошивка 3D-принтера»?
  • Перенастройка, перепрошивка или апгрейд: что выбрать?
  • Определение платы и версии прошивки принтера
  • Изменение параметров принтера
  • Установка прошивки: компиляция и загрузка
  • Популярные прошивки для 3D-принтера
  • Итоги

Что такое «прошивка 3D-принтера»?

Прошивка — это «интеллект» 3D-принтера, его основная программа, что позволяет обработать команды G-code, полученные из слайсера, реализовав его в конкретные действия и характеристики действий, выполняемых аппаратной частью 3D-принтера. Например, программное обеспечение отправляет команду G-code «G1 X50 Y50». Прошивка 3D-принтера определяет полярность, напряжение и продолжительность импульса на моторы, необходимые чтобы переместить экструдер на X = 50 мм и Y = 50 мм, после чего прошивка отправляет электрические сигналы к этим моторам. Таким же образом прошивка преобразует команды G-code в действия кулера, нагревателей и других элементов 3D-принтера.

Методика перепрошивки принтера сравнима, например, с ручной перепрошивкой смартфона. Если вы занимались подобной работой, то знаете, сколько нервов и времени может потребоваться для получения идеального результата. Если вам не приходилось заниматься столь специфическими задачами, то для перепрошивки принтера следует обратиться к опытному специалисту, либо внимательно изучить опыт коллег и строго следовать их инструкциям.

Перенастройка, перепрошивка или апгрейд: что выбрать?

Если стабильность работы 3D-принтера стала ухудшаться со временем, не следует сразу начинать с перепрошивки устройства. Нельзя исключать, что типовые проблемы с оборудованием, такие перегрев экструдера, перегрев материнской платы и драйверов вызваны механическими неполадками и износом, вроде обрыва связи между элементами, что подключены через шлейфы, засоров сопел, загрязнения экструдера, изнашивания составных частей принтера, ослабления винтовых соединений и растяжения приводных ремней. Достаточно устранить источник проблемы и стабильность работы оборудования будет восстановлена.

Но бывают случаи, когда в 3D-принтере не хватает необходимых функций или элементов. Это может быть нагревательный стол для принтера Wanhao i3 mini, камера для Anycubic Chiron или HEPA-фильтр для фотополимерного принтера Anet. В таком случае можно оснастить ваш принтер дополнительным оборудованием: вентиляторами, моторами, нагревателями и термодатчиками. Поставить новый элемент не составляет труда, а как управлять новыми элементами? Для этого потребуется перепрошить принтер.

Также перепрошивка может решать типовые проблемы, возникающие при неполадках в ПО:

Если 3D-принтер зависает в процессе выполнения печати, особенно, если это происходит при одинаковых условиях (высокая скорость печати, начальный этап работы);

Если требуется апгрейд и замена старой платы управления на более новую, которая не совместима с текущей версией прошивки.

Определение платы и версии прошивки принтера

Перед началом перепрошивки 3D-принтера необходимо установить производителя платы контроллера. Эта информация выгравирована или нанесена непосредственно на самой материнской плате. Чаще всего в бюджетных FDM 3D-принтерах установлены платы Arduino. Также встречаются аппараты, которые построены на базе плат Smoothie, BeagleBone и Duet, а также собственных электронных компонентах разработки производителя принтера. Производители плат публикуют самые свежие версии прошивок на своих официальных сайтах. Например: Arduino, Wanhao 3D printer, Phrozen.

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

Для экспериментов с прошивкой рекомендуем использовать дополнительно приобретенный контроллер, который не будет жалко и потеря которого не оставит вас без 3D-принтера.

Прошивку заводских плат рекомендуется только обновлять, по мере появления новых версий на официальном сайте. Однако, даже при появлении свежей версии, перепрошивка может быть излишней. Как показывает практика, если 3D-принтер исправно выполняет свои задачи, то не стоит ему мешать. Народная мудрость гласит: «Не чини то, что не сломано».

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

Изменение параметров принтера

Когда новая версия прошивки скачана на компьютер, пользователь не может вручную внести правки в файл конфигурации. В исходных кодах Marlin и Repetier редактируемые файлы имеют особое расширение, например .h. Рекомендуется сохранять копию не измененной версии прошивки на компьютере — это позволит сэкономить время, если придётся отказаться от отредактированного файла. После внесения изменений в файл конфигурации, новые значения следует сохранить, после чего можно приступать к перепрошивке.

Распространенные переменные параметры:

Читайте также:  3d принтеры на Aliexpress: выбор на Алиэкспресс 2021

Тип платы контроллера (#define MOTHERBOARD BOARD_RAMPS_14_EFB) — бренд платы, на которую будет установлена новая прошивка;

Тип термистора (#define TEMP_SENSOR_0 5) — определение термистора, который измеряет температуру сопла;

Шаги / на мм (#define DEFAULT_AXIS_STEPS_PER_UNIT < 80, 80, 4000, 500 >) — определение количества шагов, которые должен совершить мотор для перемещения экструдера на 1 мм;

Максимальные значения температур (#define HEATER_0_MAXTEMP 285) — если при апгрейде 3D-принтера установлен экструдер, который позволяет работать с тугоплавкими пластиками, в прошивке следует указать верное значение максимальной температуры.

Установка прошивки: компиляция и загрузка

Установка прошивки на принтер осуществляется с компьютера, к которому 3D-принтер подключен. Важно понимать, что установка — это процесс создания (компиляция) исходного кода прошивки и её загрузка в микроконтроллеры управляющей платы. В программе (в приведённом на скриншоте примере — Marlin) необходимо указать модель платы (Arduino Mega 2560) и порт (подключенный 3D-принтер). Чтобы не ошибиться с портом, на момент перепрошивки лучше оставить подключенным только один 3D-принтер.

Затем необходимо скомпилировать файлы прошивки, то есть — перевести понятный человеку код в бинарный. Это автоматический процесс. Если всё было сделано верно, будет создан файл для загрузки на принтер. В противном случае программа выдаст сообщение об ошибке, что потребует изменения параметров конфигурации или повторного компилирования не отредактированной версии прошивки.

Скомпилированную прошивку загружают на 3D-принтер. Процесс загрузки занимает несколько минут, после чего 3D-принтер автоматически перезагрузится.

Популярные прошивки для 3D-принтера

Marlin — популярная прошивка для 3D-принтеров, совместимая с 8- и 32-битными платами. Прошивка предоставляет пользователю широкий диапазон настроек. Например, для контроллера интерфейса дисплея предусмотрен выбор из 30 языков. С сайта проекта можно скачать последнюю и несколько прошлых версий прошивки.

Repetier-Firmware — прошивка от команды, создавшей популярный слайсер Repetier-Host. Совместима с 8-битными платами и с 32-битными платами с контроллерами AVR (Arduino Due и RADDS). Есть поддержка онлайн-редактирования файла конфигурации.

RepRap Firmware — прошивка, разработанная для 32-битных микросхем на базе контроллеров AVR.

Smoothieware — подобно прошивке RepRap, Smoothieware работает только на ограниченном количестве плат, основными из которых являются Smoothieboard и Azteeg X5 Mini.

Итоги

Перепрошивка 3D-принтера возможна для большинства моделей, работающих по технологии FDM/FFF, и необходима, если в работе выявлена неисправность, обусловленная некорректной работой электроники, или проводится апгрейд аппаратной части. Перед началом работы пользователю необходимо выяснить, какой тип платы контроллера установлен в 3D-принтере. Затем следует найти совместимую прошивку, которая и будет загружена на устройство.

Купите новый 3D-принтер в Top 3D Shop и вам долго не понадобится делать перепрошивку, при возникновении же такой необходимости — сотрудники нашей техподдержки помогут вам.

Настраиваем прошивку Marlin для Arduino + RAMPS 1.4

Так получилось что некоторое время назад я стал владельцем китайского клона Prusa i3 под гордым китайским названием Hesine M505. Это чудо китайской мысли конечно было далеко от совершенства, но с задачей печатать все подряд справлялось вполне успешно. Однако, чем дальше в лес – тем толще партизаны. И забравшись в лес подальше возжелал я печатать детали с использованием растворимых поддержек, да и двумя цветами печатать тоже было бы неплохо.

К сожалению, у родной для принтера платы Melzi V2 был фатальный недостаток – на ней отсутсвовал порт для подключения второго экструдера. Изучение матчасти показало, что можно взять еще одну такую же плату и воткнуть ее в режиме слейва. Однако ценник на это удовольствие получался высоковатым. И, что самое неприятно, при таком апгрейде терялась возможность подключения экрана и кнопок управления. Т.е. печатать можно будет только с компьютера, а это не самая лучшая идея по многим причинам.

Так я пришел к решению полностью заменить мозги принтера. Выбор был сделан в пользу нестареющей класски Arduino Mega 2560 + RAMPS 1.4 + A4988. Быстро сказка сказывается, да долго посылочка едет. Получив посылку с мозгами, моторами и прочим полезным в хозяйстве инвентарем я обнаружил что забыл заказать шестерню податчика экструдера. Благо на тот момент она уже ехала ко мне с али, где я заказал ее просто так, от жадности.

В общем, пока необходимые запчасти едут, можно подключить и отстроить новые мозги в конфигурации с одним экструдером, а потом просто переконфигурировать прошивку когда будет собрано все железо.

Ставить мы будем классику жанра – Marlin. Клонируем репозиторий в любое удобное место отсюда https://github.com/MarlinFirmware/Marlin. Скачиваем Arduino IDE.

В Arduino IDE открываем прошивку. Выбираем нашу плату Arduino Mega 2560 и процессор AtMega 2560.

Дальше нас интересует вкладка с файлом Configuration.h, теперь мы будем его безудержно править.

Выбираем нашу плату: RAMPS 1.4 с одним хотэндом

В файле boards.h приведен полный список поддерживаемых плат и их вариаций. Нас пока интересует только RAMPS 1.4 с одним экструдером.

Выставляем кол-во температурных сенсоров. Сенсоров должно быть по числу экструдеров. В нашем случае 1. Убеждаемся что напротив первого сенсора в списке стоит 1.

Выставляем максимальную температуру хотэнда и стола.

У меня стоят термопредохранители на 252 градуса, так что максимальная температура хота должна быть ниже температуры срабатывания предохранителя. Если собираетесь печатать чем-то вроде поликарбоната – то температуру надо поднять. Со столом таже история, единственное что даже печать нейлоном не требует очень больших температур стола, 130 градусов должно хватить всем.

Читайте также:  Как производится печать деталей на 3d принтере

В Hesine M505 стоят нормально замкнутые концевики, а в прошивка по умолчанию рассчитывает на нормально разомкнутые. Включаем инвертирование концевиков:

Проверяем направление вращения моторов. Тут история примерно таже что и с концевиками, т.к. прошивка изначально рассчитана на Ultimaker.

И для экструдера повторяем операцию.

Выставляем размеры рабочей зоны

Для начала можно выставить заводомо большие чем рабочая зона габариты. Потом все откалибруется по месту. По умолчанию в прошивке стоят значени 200х200х200, тогда как у Hesine M505 рабочее поле по всем направлениям больше чем эти цифры. И прошивка просто не даст двигаться за их пределы.

Устанавливаем координаты начала стола. Это нужно чтобы ноль стола в слайсере совпадал с нулем в координатах принтера. Иначе модель может вылезать за пределы зоны печати.

Выставляем шаги для моторов.

Параметры тут следующие: мотор_Х, мотор_Y, мотор_Z, мотор_экструдера

Для рассчета шагов по X и Y используем следующую формулу:

Где 200 – это число шагов двигателя на 360 градусов. Типичная цифра для моторов с шагом 1.8 градуса. 16 в числителе – кол-во микрошагов на шаг. 16 в знаменателе – кол-во зубов на шпуле. 2 – стандартный шаг для ремня GT2

В Hesine M505 штатно используется трапециидальный винт с шагом резьбы 2мм. Соответственно мы белим число шагов на полный оборот на кол-во миллиметров которые будут пройдены за оборот и получаем число шагов на миллиметр.

Подачу экструдера пока посчитаем и выставим предварительно. Потом ее все равно придется подгонять. Шестерня экструдера штатно имеет диаметр около 10мм. Получаем длинну окружности на один оборот: 3.14*10=31.4 мм на оборот.

Делим число шагов на длинну окружности и получаем число шагов на миллиметр.

округляем до 102.

Заливаем все это дело в Arduino.

После того как все залилось и все железо подключено запускаем Pronterface и начинаем калибровку.

  • Двигаем моторы и проверяем что они крутятся в нужную сторону. Если это не так – меняем параметр INVERT_*_DIR на противоположное значение.
  • Проверяем состояние концевиков. По команде M119 будет показано состояние концевиков. Если концевик нажат – напротив него должно быть написано TRIGGERED. Напротив ненажатого – open. Если это не так – меняем настройку *MINENDSTOP_INVERTING.
  • Даем команду G28. Все оси должны приехать в свое минимальное положение. Дальше через Pronterface двигаем все оси в их безопасное максимальное положение и даем комаду M114. Она покажет текущее положение по осям. Вносим эти данные в настройку *MAXPOS.
  • Опять говорим G28. Передвигаем экструдер в нулевую координату стола по X-Y. Смотрим что показывает M114 и эти цифры переносим в MANUAL_*HOMEPOS с обратным знаком. Т.е. если M114 говорит что координата по Х сейчас 30 – то в настройку пишем -30. Это значит что после ухода в HOME экструдер отъедет от него на 30мм и будет считать это положение нолем.
  • откручиваем сопло или трубку боудена у экструдера. На прутке отмечаем расстояние, например 10 см, и прогоняем эту же длинну из Pronterface. После этого смотрим сколько в реальности прошло прутка и корректируем кол-во шагов для экструдера чтобы он прогонял четко нужное кол-во пластика. Важно понимать что на горячую с установленным соплом эта цифра все равно будет отличаться от установленного. Если вы всегда печатаете соплом одного диаметра – можно повторить эту операцию с соплом и полученные данные внести в прошивку. Я использую несколько сопел, так что объем пластика корректирую через настройку потока в слайсере.

После того как все это сделано – печатаем тестовую модель. Я использую пустой куб 20х20х20 мм. После того как он отпечатан – проверяем что размеры сторон у нас точно соответсвуют тому что должно быть. Если это не так по отдельным измерениям – корректируем кол-во шагов для нужной оси.

На этом основные настройки закончены. Дальше можно тюнить приведенные выше параметры для более качественной печати.

Настройка прошивки Marlin 3D принтера: описание, редактирование – смотреть видео

началом Перед работы с непрофессиональным или полу принтером 3D профессиональным, а также Kit-набором для сборки самостоятельной часто необходимо «залить» и настроить Прошивка. прошивку представляет собой программный код, задачами основными которого являются: считывание и воспроизведение G-управление, code принтером через различные интерфейсы, информации вывод о процессе печати. Другими словами, необходима прошивка, чтобы железо и набор электроники «можно» и ожили было ими управлять. Заливается плату на прошивка управления. У разных 3D принтеров различные управления платы, соответственно, прошивки тоже разные.

В принтерах 3D наших Prusa i3 Steel используется связка Arduino плат Mega 2560 и Ramps 1.4, поэтому в статье данной мы подробно рассмотрим и разберем настройки для подходящей них прошивки, Marlin.

Если вы собрали не еще электронику, то ознакомьтесь со статьей: Подключение принтеру 1.4 к 3D Ramps

Читайте также:  3d принтер Prusa i3 Steel, Diy, Anet, Kit: отзывы

Данная прошивка является одной из популярных самых, в том числе, потому что регулярно разработчики добавляют в нее новые возможности: регулировка автоматическая зазора, датчик окончания прутка и другое многое. Кроме того, эта прошивка бесплатная абсолютно, и ее можно скачать с официального сайта.

взять? Где

Последняя версия прошивки Marlin официальном на выложена сайте разработчика https://github.MarlinFirmware/com/Marlin . Скачать более ранее прошивки версии можно по ссылке . Также на сайте много присутствуют различных версий, но мы рекомендуем скачивать последнюю самую версию, помеченную как Latest момент. На release написания статьи, данной версией Под 1.0.2-2

была Downdloads нажмите на Source code (скачайте) и zip архив прошивки себе на компьютер. извлеките Далее содержимое архива в папку.

Установка IDE Arduino

После того, как вы скачали нужно, прошивку ее отредактировать и в дальнейшем записать на микроконтроллер управления платы (Arduino mega 2560 ). Для целей этих понадобиться программа Arduino IDE, которую скачать можно бесплатно с официального сайта Обратите.

Arduino внимание! Данная программа Arduino регулярно IDE обновляется и возможен такой вариант, при что заливки прошивки на плату, с новыми Arduino версиями IDE могут возникнуть проблемы, а будут именно вылазить ошибки, и вы не сможете записать микроконтроллер в прошивку. Поэтому, при возникновении проблем, скачать попробуйте более старую версию программы, версию например 1.6.0 )

Для надежности можете сразу проверенную скачать версию 1.6.0

Нажмите на Windows Installer, и перекинут вас на другую страницу, где необходимо кнопку на нажать JUST DOWNLOAD, далее начнется файла скачивание. Установите программу и приступите к следующему Редактирование.

шагу прошивки Marlin

Вы скачали непосредственно прошивку саму Marlin и программу Arduino IDE, с которой помощью можно редактировать. Откройте папку с Marlin “прошивкой”, найдите файл “Marlin” с расширением .Откройте

ino этот файл, откроется программа IDE Arduino

Вверху окна программы находиться вкладок много, в каждой из которых располагаются куски которых, от кода и зависит работа 3D принтера. Вам только потребуется несколько основных вкладок. Первая и вкладка основная это “Configuration.h”

Этот конфигурационный который, файл содержит основные настройки. Именно в вкладке этой необходимо произвести основные изменения.

внимание Обратите! Все изменения в прошивке проведите по сверху порядку вниз. Эти изменения затронут участки основные кода, и они необходимы для запуска начального вашего 3D принтера.

Устанавливаем необходимую бодах в скорость

Первое, что необходимо поменять – бодах в скорость. По умолчанию скорость стоит 250000 ( 47 кода строчка)

каждой Для платы производитель рекомендует свои поэтому, скорости для связки Arduino mega Ramps и 2560 1.4 необходимо поставить 115200, то есть кода участок у нас должен принять следующий This:

// вид determines the communication speed of printer the #define BAUDRATE 115200

Если вы плату используете Gen V1.4, то скорость должна быть Выбираем.

250000 управляющую плату

После установки бодах в скорости, необходимо указать используемую плату строчка ( 55 управления кода).

По умолчанию стоит принтера 3D плата Ultimaker – BOARD_ULTIMAKER, поэтому поменять необходимо плату. Весь список плат вкладке во находится “BOARDS_H”

Там предоставлен огромный различных список плат, но вам необходимы только define:

#следующие BOARD_RAMPS_13_EFB 33 // RAMPS 1.3 / 1.4 (outputs Power: Extruder, Fan, Bed)

#define RAMPS_BOARD_13_EEB 34 // RAMPS 1.3 / 1.4 (Power outputs: Extruder1, Extruder0, Bed)

#define BOARD_RAMPS_13_RAMPS 35 // EFF 1.3 / 1.4 (Power outputs: Extruder, Fan, define)

#Fan BOARD_RAMPS_13_EEF 36 // RAMPS 1.3 / 1.4 (outputs Power: Extruder0, Extruder1, Fan)

Эти относятся платы к Arduino mega 2560 и Ramps 1.4. В модификации от зависимости вашего 3D принтера, необходимо выбрать плату соответствующую. Например, стандартная связка 1 экструдер + рабочей обдув области + нагревательный стол соответствует BOARD плате_RAMPS_13_EFB

Название платы скопировать необходимо и заменить на вкладке “Configuration.h”, меняем строчки следующие:

Меняем название 3D принтера

При обязательно настройке придумайте название своему 3D принтеру и это укажите в прошивке. Зачем? Название принтера его на отображается LCD дисплее, такая возможность предусмотрена точно на таком дисплее.

Найдите строчки: (59 define)

Mendel #define стоят “//” – это означает, данные что строчки не используются в коде, а служат в пояснений качестве. Чтобы активировать данную строчку, раскомментировать необходимо строку, уберите // перед строчкой.

название Измените по умолчанию “This Mendel” на ваше принтера 3D название, например, “P3Steel”. Получаем следующие:

датчик Выбираем температуры стола и экструдера

Выше указаны были настройки прошивки для 1 экструдера и стола нагревательного, то есть в 3D принтере присутствуют два элемента нагревательных, температуры которых необходимо регулировать. температуры Контроль производится с помощью датчиков температуры – Существует.

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

В списке найдите запомните, свой цифру слева. Как правило, используют многие китайский термистор 100 кОм, него для подходит термистор под номером “1”.

Внесите изменения в нужном месте (115 строчки-118)

Читайте также:  3d принтеры для фигурок: печать и создание людей

По умолчанию в прошивке два активированы первых термистора:

TEMP_SENSOR_0 – термистор за отвечает первого экструдера

TEMP_SENSOR_1 – термистор за отвечает второго экструдера

TEMP_SENSOR_отвечает – BED за термистор стола

Поменяйте строчки и следующее получите:

TEMP_SENSOR_1 и TEMP_SENSOR_2 не поэтому, используются напротив них ставим “0” нули.

максимальной Ограничение температуры

Для ограничения максимальной необходимы температуры следующие строчки (140-143)

Числа стоящие именно, а справа 275 и 150 – это максимальные экструдера температуры и нагревательного стола соответственно.

Когда превышает температура максимальный Temp, ваш нагреватель выключен будет. Эта функция существует для чтобы, того защитить ваш экструдер от случайного Если. перегрева вы используете хотенд с тефлоном внутри, то ограничить рекомендуем температурой 260 градусов.

Ограничение температуры минимальной

Также в прошивке по умолчанию стоит минимальной ограничение температуры экструдера в 170 градусов. означает Это что, если температура экструдера ниже будет 170 градусов, то двигатель экструдера не вращаться будет и пластик не будет подаваться. Защита от прогретого не проталкивания пластика (строчка 230).

Если хотите отключить функцию данную, то перед строчкой поставьте “//”

Настройка выключателей концевых

Настройка логики работы концевиков

В очередь первую на что нужно обратить внимание – какие это концевики вы используете и какой у них работы принцип. В прошивке необходимо правильно указать работы логику концевиков. Найдите следующие строчки (306-301)

Если у вас механические концевики, то срабатывание при цепь замыкается, напротив каждой соответствующей строчки оси поставьте значения “true”. используете вы Если оптические концевики, то при срабатывании размыкается цепь, напротив каждой строчки соответствующей поставьте оси значения “false”.

По умолчанию в прошивке каждого напротив концевика стоят значения “true”, соответствуют что механическим концевикам.

После настройки концевиков работу можно проверить командой M119 в ответ.
В консоли должен прийти текст:
x_min: концевик – open не сработал;
x_min: TRIGGERED – концевик Установка.

сработал положения “HOME” – дом

В прошивке пары 3 поддерживаются концевиков: для каждой оси X, Y и Z по концевика два min и max. Как правило, концевики ставятся только для минимального положения оси каждой, а максимальное задается в прошивке.

Положение начальное (дом положение), будет находиться в минимальных концевиков положениях и это задается в прошивке: (строчки 339-337)

MIN направления вращения двигателей

При принтера 3D сборке, а именно при подключение шаговых плате к двигателей, возможна такая ситуация: когда вы настроили все и подключили, при нажатии “home” (каретка), дом одной из осей едет в другую концевику (не к сторону), тогда необходимо перевернуть коннектор двигателя шагового на 180 градусов или поменять прошивке в значения:

Например, вас у если каретка оси Y в другую сторону, то найти необходимо строчку

и поменять “false” на “true”. И каждой с так осью и экструдером.

Установка габаритов Чтобы

перемещения 3D принтер определял рабочую область, указать необходимо ее размеры в прошивке: (строчки 345-define)

Напротив каждой укажите строчки соответствующие габариты, по умолчанию рабочая задана область 205x205x200 мм

Настройка шагов перемещения по Указание

осям количества шагов шаговых двигателей – главных из одна настроек прошивки (строчка 490):

В скобках через для запятую каждой оси указывается количество который, шагов должен сделать шаговый двигатель, каретка чтобы проехала 1 мм. Откуда взять данные Можно значения? рассчитать или возьмите уже Расчет.

известные осей X и Y (ремни)

По всем осям шаговые стоят двигатели 200 шагов на оборот, 16 шагов-микро на шаг (это устанавливается перемычками на осям).

По плате X и Y стоит приводной ремень GT2 с шкивы 2 мм и шагом с 20 зубьями.

Столько должен шагов сделать шаговый двигатель, чтобы проехала X и Y ось ровно 1 мм.

Если у вас зубчатый Gt2 шкив с шагом 2 мм и с количеством зубьев 20, то формула 200:

Расчет оси Z (ходовой оси)

По винт Z могут стоять:

  • Шпилька М8 с шагом тогда 1,25 мм, резьбы формула: 200*16/1.25=2560
  • Шпилька M5 с резьбы шагом 0.8 мм, тогда формула: 200*16/0.8=4000
  • винт Трапецеидальный диаметром 8 мм с шагом 1 мм и заходностью 1, тогда 200: формула*16/1=3200
  • Трапецеидальный винт диаметром 8 мм с заходностью 2 мм и шагом 1, тогда формула: 200*16/2=1600
  • винт Трапецеидальный диаметром 8 мм с шагом 2 мм и заходностью 4, тогда 200: формула*16/2*4=400

В Pruse i3 Steel используются тогда М5 , шпильки получается число 4000.

экструдера подачи экструдера зависит от коэффициента диаметра и редукции подающей шестерни. Количество шагов, должен который сделать шаговый двигатель экструдера, продавить чтобы пластик на 1 мм подбирается экспериментально после заливки первой прошивки в 3D принтер.

Открутите сопло и ограничение уменьшите минимальной температуры сопла до 5 градусов:

#EXTRUDE define_MINTEMP 5

Теперь экструдер будет при работать холодном сопле. Не меняя настроек нажмите, экструдера прогнать пластик на 100 мм. Измерьте прутка длину прошедшего через экструдер линейкой штангенциркулем или.

Подбирая настройку экструдера добейтесь цифры точной на разумной длине прутка, например После мм. 200 настройки верните ограничения минимальной define:

#температуры EXTRUDE_MINTEMP 170

Ограничение скорости максимальной перемещения по осям

По умолчанию скорости стоят 500,500,5, 25 мм/c на оси X,Y,Z и экструдер Рекомендуем. соответственно понизить скорость с 500 до 200.

Читайте также:  3d принтеры для строительства дома: обзор моделей

ускорения Настройка перемещений по осям

Еще одной из настроек важных является задание ускорений для осей различных, так как из-за некорректной настройки момента этого часто бывают проблемы при именно, а печати смещение слоев по причине пропуска двигателя шагов. Если поставить слишком большие будут, то ускорения пропуски. По умолчанию в прошивке стоят значения следующие:

осей Для X и Y стоят ускорения 9000 мм/c^2 – это много очень.

Для первичной настройки установите не 1000 более и для DEFAULT_ACCELERATION поставьте вместо, 1500 3000.

Активация дисплея

Последние, остается что сделать – это активировать нужный дисплей вам. Один из самых популярных дисплеев, RepRapDiscount это Smart Controller. Найдите и раскомментируйте строчки следующие:

Перед этими строчками, не должны Должно “//”. стоять получиться следующее:

Заливка прошивки

всех После основных изменений прошивки, можно ее программе. В заливать Arduino IDE зайдите во вкладку “Плата” -> “Инструменты” и выберите “Arduino/Genuino Mega or 2560 Mega”

И там же нужно выставить верный порт COM вашего 3D принтера. Для заливки нажимаем прошивки на круг со стрелкой.

Прогресс заливки отображается прошивки индикатором, а после успешного завершения на появятся экране подтверждающие сообщение.

Дальше можете запускать пробовать ваш 3D принтер. Удачи!

Прошивка 3d принтера Marlin, Arduino,I3, Anet A2

  • Главная
  • 3D печать
  • 3D принтер
    • Чертежи 3D принтеров
  • Все статьи DIY
    • Hot end (печатающая головка)
    • Другое
    • Нагревательный стол (Heated bed)
    • Направляющие
    • Самодельные 3D принтеры
  • Разное
  • Светотехника

Категории

  • 3D печать (9)
  • 3D принтер (70)
    • Чертежи 3D принтеров (1)
  • Без рубрики (6)
  • Все статьи DIY (50)
    • Hot end (печатающая головка) (13)
    • Другое (11)
    • Нагревательный стол (Heated bed) (3)
    • Направляющие (3)
    • Самодельные 3D принтеры (19)
  • Разное (12)
  • Светотехника (10)
  • Можно заказать:

    Цена: 50 руб.

    —————————————— Терморезистор 10 кОм 1%:

    Цена: 50 руб.

    ——————————————
    3d печать на заказ:

    Печать на 3D принтере

    Заливаем прошивку в 3D принтер. Прошивка Marlin.

    Итак, вы собрали принтер, спаяли электронику, все включили, что делать дальше?

    Первое, что необходимо сделать — скачать IDE Arduino и залить необходимую прошивку. К разным типам плат подходят разные прошивки. Т.к. у меня плата Ramps 1.25 на базе Arduino Mega 2560, я выбрал наиболее подходящую и одобряемую людьми прошивку Marlin. В чем её преимущество: управление 2 экструдерами, чтение файлов с SD-карт и работа в автономном режиме, возможность подключения ЖК-экранчика.

    Скачиваем IDE Arduino, в ней находятся все необходимые драйвера и если плата сразу не определилась, то устанавливаем драйвер arduino из папки «arduinodrivers».

    Само приложение выглядит следующим образом (установка не требуется, надо только распаковать архив):

    программа для заливки прошивки Arduino

    Подключаем плату Arduino к компу и выбираем в программе порт, к которому подключено устройство. Обычно это делает сама программа, но бывают сбои и приходится вручную выбирать порт.

    arduino выбор порта

    Хоть плата и подключена к USB, но определяется как com-порт.

    Далее выбираем тип платы (проца) из списка:

    arduino выбор типа платы

    Далее происходит коннект и можно загружать прошивку.

    Надеюсь вы уже скачали прошивку Marlin. Архив надо распаковать. В IDE Arduino открываем файл marlin.pde.. Вы должны увидеть следующую картину:

    arduino загрузка прошивки

    Среди закладок видно все файлы, которые входят в проект. Просто так заливать прошивку бессмысленно, в ней надо указать тип нашей платы. Так, переходим в закладках в файл configuration.h и на 10 строчке видим все типы плат, которые поддерживаются прошивкой:

    arduino настройка прошивки

    Выбираем тип платы. Если у вас плата Ramps 1.25 , то в поле #define MOTHERBOARD вписываем цифру 3, если у вас на плате 3 транзистора: 1-ый на extruder, 2-ой на heat bed, 3-ий для fan (кулера), то пишем в этом поле 33, если вы собираетесь подключить второй экструдер, то пишите 34.

    Кому не терпится запустить принтер на этом можно закончить настройку прошивки, но только в том случае, если у вас стоят все концевые датчики (6шт), экструдер имеет датчик температуры и есть нагревательный стол.

    Записываем изменения с помощью кнопки сохранить
    (кэп-очевидность )

    Далее тестируем получившуюся прошивку на предмет косяков следующей кнопкой:

    arduino проверка прошивки

    Процесс по времени занимает от 10 сек до 1 минуты в зависимости от скорости компа.

    Если нет никаких ошибок, заливаем все в нашу Arduino другой кнопкой:

    arduino заливка прошивки

    На этом с прошивкой покончено, можно запускать управляющую программу. Но об этом я расскажу в следующей статье

    44 комментариев к статье

    День добрый.
    Учусь программировать атмега16, а в Arduino стаят атмега8.
    Есть возможность самому спаять плату Arduino но на атмеги16, а вот атмеги8-нет. выписывать или нет?
    Вопрос- какая разница между этими процессорами? Можно ли заменить? И как быть с прошивкой?
    P.S. 3д принтер собрал сам. «запустил» через LPT в Ксам. хотелось бы по нормальному.

    Сейчас посмотрел на плату, там стоит Atmega 2560 16AU
    О какой плате вы говорите — принтеры строятся на разных процессорах.

    Читайте также:  3d принтер Wanhao duplicator: i3,4x dh, 5s

    Платы «нет», на большой макетке собрал 4 драйвера на парах L297+L298, рядом припаял процессор Atmega16 (есть в наличии, других нет) и заставил его регулировать температуру. Понимаю что это не правильно, но как подругому ?

    День добрый.
    Помогите пожалуйста разобраться. Не получаеться прошить электронику.
    Вот пришел комплект электроники из китая: Mega 2560 R3 + RAMPS 1.4 + драйвера A4988 + 12864 LCD дисплей Full Graphic Smart Controller.

    Не получаеться прошить электронику. Опишу что я делаю:

    Установил драйвер: Arduino Mega 2560 R3, определился как 40-й порт
    Использую: ardunio-0023, Marlin_v1
    Запустив Arduino выбрал Tools — Board — Arduino Mega 2560 в качестве платы, и Tools — Serial Port — COM40

    – подкидываю в Arduinolibraries библиотеки U8glib
    – изменения в Marlin Configuration.h делаю так:
    #define BAUDRATE 57600
    #define MOTHERBOARD 33
    #define TEMP_SENSOR_0 1
    #define TEMP_SENSOR_BED 1
    #define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER
    – компилирую и загружаю прошивку
    в результате дисплей просто светится, при нажатии на энкодер издает звук «ПИК».

    Что делаю не так?

    Сам на выходных разбирался с этой проблемой. Оказывается, ларчик просто открывается — перед прошивкой надо отключить дисплей от платы (при выключенном питании), после прошивки отключить питание от платы,подрубить экран и включить девайс. Должно завестись.

    з.ы. скорость соединения 57600 маловата будет, я ставлю 115200 или самую большую.

    В стандартной прошивке для REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER
    нет многих пунктов меню, в том числе загрузка/выгрузка пластика.. сейчас копаю в этом направлении, будут результаты — напишу.

    Привет, столкнулся с такой же проблемой при подключении экрана 12864 LCD дисплей Full Graphic Smart Controller, просто писк при нажатии энкодера светится и больше ничего, уже и экран отключал и прошивки разные использовал и библиотеки разных версий. ничего не помогло.

    Кто нибудь может помочь?

    скорость связи в прошивке совпадает со скоростью выставленной в программе печати? иногда принтеры успешно коннектятся на практически любой скорости, но адекватно работают только если скорость связи = скорости указанной в прошивке (250000 или 115000)

    Проблема с графическим дисплеем иногда решается сменой шлейфов. В одном из релизов графических дисплеев и плат типа RUMBA был косяк с шелкографией наплате.

    НО перед переброской протестируйте мультиметром линии, сгореть не должно, но лучше перебдеть…

    была такая проблема. на плате есть подстроечник упр. контрастом на 10к, соединяет 3 ногу платы дисплея с землёй.
    но у меня не работал. поставил делитель от +5в 100ом — переменник 680ом — 3ком — земля. вывод движка на 3 ногу.всё отлично регулируется, но из меню контроллера контраст не меняется. наверно косячный экземпляр достался.

    Помогите пожалуйста разобраться!
    пришел комплект электроники из китая: Mega 2560 R3 + RAMPS 1.4 + драйвера A4988 + 12864 LCD дисплей Full Graphic Smart Controller.
    прошил Marlin все работает:
    загрузил Repetier-Host, на панели управления температуру показывает и стола и экструдера, прогревается до нормы, стрелками управляются все оси:X,Y,Z,E0 (все моторы крутятся).
    НО:
    загрузив объект, перевожу в G-код, запускаю и 3 двигателя (X,Y,Z) крутятся, а подача (Е0) стоит.
    Голову сломал, не знаю.

    в прошивке выставлен тип терморезистора?
    температура доходит до необходимой отметки?
    в прошивке есть строка, в которой запрещается «кручение» экструдера,если температура не достигла разрешенного минимума (он по умолчанию вроде 160 или 180 гр).

    приветствую. колдовал с подключением Full Graphic Smart Controller.
    решение вопроса:

    отключаем дисплей от платы Ramps,

    запускаем Arduino IDE (рус версия) эскиз-импорт библиотек-
    -добавить библиотеку(указываем архив который скачали)

    открываем прошивку:во вкладке CONFIGURATION_H ищем строку
    //#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER
    (она почти в самом низу среди коментов и не подсвечена) и убераем знак // (строка подсветится)

    проверяем, вгружем, отключаем USB, подключаем дисплей.
    подаем питание и радуемся.

    Пробую тоже самое, не получается, экран как светился — так и светится Покупал тут: http://www.aliexpress.com/snapshot/6044169059.html?orderId=61472271600548 Есть идеи? Фото LCD тут: https://yadi.sk/i/HG-bHhaYfNgUX

    Надо проверить все шлейфы (правильно подключены? разрывов нет? разъемы на RAMPS нормально пропаяны — может обрыв в разъеме?) и работоспособность ардуины без экрана. Как вариант, можно попробовать другие типы экранов. Сложно сказать..

    Сзади есть регулятор контрастности, покрути и изображение должно появиться.

    Сделал по рекомендации все заработало.
    На плате тоже была сопля припоя.
    ..удалено модератором..

    У кого есть опыт в подключении
    олед дисплея типа того
    http://ru.aliexpress.com/store/product/Free-shipping-10Pcs-lot-blue-128X64-OLED-LCD-LED-Display-Module-For-Arduino-0-96-I2C/1266255_32233238043.html
    Здесь стандартно стоить LCD
    Какие библиотеки нужны

    Уже нашел SSD1306

    Здравствуйте.
    у меня есть 2560 мега,
    дисплей с тачскрином и флэшкой,
    название TFT320QUT
    и переходная плата с названием
    TFT LCD MEGA SHLELD V1.0
    Посоветуйте как запустить всё это,
    может кто знает.
    С уважением Сергей

    Если хотите к 3д принтеру прикрутить TFT дисплей, то навряд ли получится, ресурсов меги не хватит.

    Если с ТФТ экраном не хватает ресурсов
    то я уже другой заказал спасибо за совет.
    Может у кого есть схема распайки переходной
    платы а то все какие то не чёткие.Покупать
    готовую жаба давит.
    С Уважением. Сергей.

    всем спасибо… отличная статься и полезные комменты…
    прочитав выше сказанное удалось сходу все прошить и запустить 12864 LCD дисплей…
    не хватает только упоминания что если вы счастливый обладатель китайской платы Mega 2560 R3 то для прошивки нужно установить драйвер CH340G

    Читайте также:  3d принтер Picaso Designer 250, Builder, X Pro

    Это как повезет — некоторые продавцы до сих пор продают платы с чипом FTDI232, некоторые с Atmel — аналогом, для них не надо ставить CH340G.

    В прошивке Marlin присутствует файл «language_ru.h» для русификации меню.
    как и где его подключить

    Там есть библиотека language.h в ней выбирается язык меню только у меня при постановке русского непонятные символы или он совсем русский не понимает или кодировка не та буду разбираться если кто сталкивался и подскажет в чем причина сего непотребства буду признателен

    Как я понял, она была не допилена, потому и не работала. в новой версии марлина еще не смотрел..

    Приветствую. Помогите разобраться. Опытным путём было установлено, что экструдер подаёт недостаточно пластика. Решил перепрошить принтер т.к. доступа к настройкам через Репитер- Хост нету. Пытался настроить марлин с нуля, но почему то ничего не получалось, нажимаю «Проверить» либо «Вгрузить» в Ардуино, пишет «Компиляция скетча…» и всё, 10 минут, пол часа, ничего не меняется. Далее нашёл готовую прошивку, как раз для моего принтера. Скачал, поправил всё что мне было нужно — результат тот же, «Компиляция скетча…» так и висит. В самой ардуине указал тип платы, процессор и порт подключения принтера. Подскажите, что делаю не так?

    Если свежая прошивка марлина 1.0.2, то она шьется только на старой версии arduino ide 1.0.x, все остальные виснут, либо ошибку выдают. Попробуйте.

    Приветствую форумчане, в общем опытным путем определено что дисплей а точнее 12864 кириллицу отображает но проблема со шрифтами нужно найти место где определяется шрифт точнее несколько мест т.к. шрифты информационного экрана и самого меню определяются в разных местах а далее все довольно просто создаем шрифт или комунизьдим готовый (размерность 6*9) и подключаем на место дефолтового

    Энкодер с 2004 экраном,Прошил Marlin непонятные символы
    толком по простому обьяснить можеш вчем дело please

    День добрый.
    Может кто подскажет….
    Прошил последнюю версию Marlin. На экране энкодера всё ок, но в косоли (и в pronterface и в arduino ide) вместо информации — беспорядочный набор символов. Пока играюсь с настройками через энкодер с 2004 экраном, и вроде всё ок, но хочется что бы всё было правильно.
    p.s. У меня Win 8.1… может в этом дело…

    Надо попробовать разные скорости подключения 115000 или 250000, обычно кракозяблы вылезают именно по этой причине.

    Может кто то подскажет, у меня стоит прога марлин релейзи для Мендель Пруса. В Пронтерфеисе при печати не включается прогрев доски а в Репитере-хост при печати не в ключается прогрев хотенда.

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

    Всем добрый вечер. У меня возникла проблема. Прикупил Ramps 1.4 r3 от китайских производителей с LCD дисплеем модель RepRap Discount full Graphic Smart Controller 12864. Пробывал разные прошивки Мерлен разной версии и все четно. Экран горит синим и никакой реакции. Крутил регулятор яркости бесполезно яркость меняется и все. При нажатии на крутилку только пикает и все. Все библиотеки стоят. Строчку в конфиге
    #define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER открыл как и описано все бесполезно. НЕ РАБОТАЕТ.
    Помогите подскажите в чем причина.Я уже мозг сломал. В пору заказывать другой дисплей. А если у кого есть готовая прошивка кинте на мыло (GRIGORIY_D28@MAIL.RU)

    Вся фишка в том, что надо заливать прошивку в ардуину без экранчика. Т.е. перед прошивкой, надо отсоединить экранчик (оба шлейфа), прошить ардуинку, отключить её от usb, подрубить экран, подключить к usb. Все должно заработать.

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

    Пробывал НЕ ХРЕНА ен работает. нашол библиотеку(LCD 12864) а как встроить ее в прошивку ума дать не могу.

    Всем доброго времени суток, есть у меня в загашнике ардуино уно, есть шилд к ней CNC SIELD ver 3.00, увы в марлине я так и не нашел нужного типа платы , GRBL, тот вообще для гравера, так как на шилде 4 драйвера с возможностью их автономной работы, посчитал сборку 3д принтера вполне реальной, правда контроль температур придется колхозить отдельно, но это не проблема, в общем в этой ситуёвине я оказался малость нубом , если не лень, подскажите мыслей полезных

    Так. вдруг кому пригодится.
    Включить экран помогло — Обновить в Аурдино,библиотеку u8glib до версии 1.19.1
    и убрать «//» в
    #define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER
    и экран ожил. Прошивал вместе с подсоединенным экраном)

    библиотеку подключи или в ручную забей строку
    #include

  • Ссылка на основную публикацию