Прошивка Марлин


Configuration.h
Скачать архив прошивки




Вернуться назад и поменять значения




Добавлено в закладки: 1

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

RAMPS 1.4
2015-10-19_125150

2015-10-19_125240
2015-10-19_125357

MELZI, Sanguinololu

Электроника Melzi удачно прошивается только старыми версиями Arduino IDE, поэтому качаем версию 1.0.1. Устанавливаем. Скачиваем файлы для поддержки электроники Sanguino-0101r1. Распаковываем в папку с Arduino IDE. Теперь в меню появятся нужные платы. Выбираем и прошиваем. Тема на форуме по проблемам прошивки Melzi.

Что делать если порт не выбирается? Нужно установить дополнительный драйвер CH341SER

Для заливки прошивки нажимаем на круг со стрелкой.
Marlin _ Arduino 1.0.6 2015-02-13 23.04.56

Прогресс заливки прошивки отображается индикатором
Marlin _ Arduino 1.0.6 2015-02-13 23.09.22

После того, как всё заработает нужно откалибровать PID нагрева хотэнда и стола. Для этого я использую Pronterface. Вводим команду “M303 E0 C8 S260“. Где M303 – команда калибровки, E0 – хотэнд, C8 – количество циклов нагрева-охлаждения, S260 – типичная температура работы сопла.
Pronterface 2015-02-14 10.10.18

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

#define  DEFAULT_Kp 12.22
#define  DEFAULT_Ki 0.58
#define  DEFAULT_Kd 64.08

По такой же схеме калибруем PID стола. Отвечает строка #define PIDTEMPBED. Команда “M303 E-1 C8 S110“. Где E-1 – стол, S110 – типичная температура нагрева стола. Последние результаты записываем в прошивку. У меня стол нагревается очень медленно и поэтому приходится перезапускать команду из-за ошибки Timeout.
Pronterface 2015-02-14 11.09.53

#define  DEFAULT_bedKp 105.94
#define  DEFAULT_bedKi 4.97
#define  DEFAULT_bedKd 564.11

В последних прошивках не настраивается автоПИД на реле. Реле переключается очень быстро. Это сильно разогревает твердотельное реле и обычное реле видимо долго не проживёт. Предлагаю использовать пока мою старую настройку
#ifdef PIDTEMPBED
#define  DEFAULT_bedKp 234.18
#define  DEFAULT_bedKi 31.62
#define  DEFAULT_bedKd 433.56
#endif // PIDTEMPBED
или эту
#ifdef PIDTEMPBED
#define  DEFAULT_bedKp 105.94
#define  DEFAULT_bedKi 4.97
#define  DEFAULT_bedKd 564.11
#endif // PIDTEMPBED
Вместо PID регулировки температуры стола рекомендую включить режим гистерезиса bang-bang. Функцию PID тогда нужно закомментировать. Чем так хорош этот режим – он не терзает реле (если стоит) частыми переключениями и снижает нагрев SSR реле.
Configuration.h
//#define PIDTEMPBED

Как защитить 3D принтер от пожара и поломок

Находим в Configuration.h строку Thermal Runaway Protection. Здесь можно подробнее прочитать про работу этой функции, а чтобы её включить нужно раскомментировать строки:
для хотэнда
#define THERMAL_RUNAWAY_PROTECTION_PERIOD 40 //in seconds
#define THERMAL_RUNAWAY_PROTECTION_HYSTERESIS 4 // in degree Celsius
для стола
#define THERMAL_RUNAWAY_PROTECTION_BED_PERIOD 20 //in seconds
#define THERMAL_RUNAWAY_PROTECTION_BED_HYSTERESIS 2 // in degree Celsius
Чтобы защита работала правильно нужно чтобы колебания температуры не выходили за рамки HYSTERESIS или увеличить этот параметр до разумных пределов.

Как узнать уже установленные в прошивке параметры

M501 читает параметры прошивки и их можно сохранить в текстовом файле
0_f3b38_c0554033_orig

Параметры установленные в прошивке можно узнать в программе Repetier-Host через меню Конфигурация\Конфигурация EEPROM. Предварительно нужно указать COM порт в настройках и нажать кнопку “Подсоединить”.
Настройки Marlin EEPROM 2015-02-14 13.09.35

При подключении 3D принтера к программе Pronterface в правой части окна загружается список параметров
Pronterface 2015-02-14 13.16.10

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

Очистка EEPROM

EEPROM clear

Вопрос – ответ

настроил ПИД, температуру держит на ура, но при нагреве с 20 до 240 улетает за 270. какой из коэфициентов руками подкрутить?
решил проблему снижением тока в прошивке и руками уменьшил Кр относительно автопид на несколько едииниц
#define BANG_MAX 255 // limits current to nozzle while in bang-bang mode; 255=full current 
#define PID_MAX BANG_MAX // limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
Теперь температура + – 3градуса

Возможные ошибки

На экране надпись (Сработала термозащита):
Err MINTEMP – Неподключен термистор (термопара) или обрыв провода к нему.
Err MAXTEMP – Короткое замыкание контактов термистора (термопары).

Описание G-кодов






Авторизация
*
*
Генерация пароля
Яндекс.Метрика