Ошибка autotune failed temperature too high при настройки PID, переназначение портов в MARLIN для термистора.

KirillZ
Идет загрузка
Загрузка
08.05.2021
2281
6
Техничка

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

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

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

4
Статья относится к принтерам:
ZAV-MAX-PRO

Народ, привет. Гуру 3д принтеров и знатоки прошивки Marlin, могут пропустить.

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

Ошибка autotune failed temperature too high.

Настройки PID делал через Repitor host, но можно и проще, если не нужны графики, закинув gcode с нужными командами на флешку и запустив его на прямую с принтера. 

Подключим принтер к пк->уст. соед. с Repitor host->в командной строке прописываем след код:

M303 E0 S235 C8

M303 - Запустить процесс PID калибровкиЕ0 - хотэнд, который будем нагревать

S235 - температура до которой будет нагреваться хотэнд. Желательно контроль осуществлять термопарой.

C8 - кол-во циклов. Не знаю на сколько правда, на форуме писали о 15-20 циклах. Мол так вернее. 

Жмём Enter. Нагревается хотэнд и переваливает температура на 20-30 градусов за пределы той что указана была. В итоге репитор сообщает об ошибке "autotune failed temperature too high" - что в переводе означает примерно "слишком высокая температура при авто настройке"

Решение:

Вариант 1. Лезем к блоку питания. И понижаем вых. напряжение блока питания. 11.5В, была точно такая же ошибка. Отрегулировал до 10.5В. Снова повторил команду  и успех. Но в это методе есть и минус. Чем меньше напряжение, тем дольше будет греться стол(если он на 12В и хотэнд).

Вариант 2. Открываем прошивку Marlin. В моём случаи это версия 1.1.9.1

Находим temperature.cpp и в этой вкладке ищем #define MAX_OVERSHOOT_PID_AUTOTUNE 20 число в конце - это максимально допустимая температура на которую возможно превышение при PID настройке. Изменяем это число. В моём случаи хватило 35. Брал значение с запасом.

Судя из графика. Превышение от указанной температуры было примерно на 25 градусов. Выходное напряжение на БП отрегулировано до 12.6В.

Далее тестирую уже на момент смены числа в параметре  #define MAX_OVERSHOOT_PID_AUTOTUNE

Кол-во циклов по итогу указал 20. Лишним не будет, подожду чуть дольше. Пока идёт регулировка можете попить чаю или чего еще =) 

По окончанию настроек записываем данные показания в прошивку, сразу через репитор. 

С этой темой всё. Поехали дальше.

Переназначение портов термисторов в MARLIN 1.1.9.1

Столкнулся с проблемой. Плата MKS GEN1.4. Года 3 ей как уже. Обратил внимания что температуру на Хотенде показывает не 25-26 градусов как стол (май месяц, дома до сих пор топят, ага))) ), а аж целых 42. После некоторых манипуляций с платой, 42 превратились в 6. При отключение датчика значение без изменений. Но при этом худо бедно оно работало пока не стало показывать "6 градусов". Термистор исправен, проводка в порядке, значит дело именно в порту МК ATMega2560. Значит пора разобраться как переназначить термистор на работающий порт 2-ого хотенда. Опять же поиски дебрей в комментариях к разным статьям навели на мысль где всё это добро искать. 

Открываем прошивку и ищем ниже след. чтобы посмотреть какая плата у вас прописана в прошивке.

Далее открываем вкладу с платой MKS GEN 13

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

Это говорит о том что все основные настройки по портам искать именно тут. Открываем и ищем через поиск "Temperature Sensors" и меняем местами порты 13 и 15. 

 

После изменений, заливаем прошивку в мк. Готово. Теперь термистор можно подключить на разъём второго хотенда. Температура снова в норме =) Чуть выше комнатной так как ещё камера не остыла внутри полностью. 

Одно знаю точно как только еще один порт вылетит MKS Gen 1.4 уйдёт на запчасти или в Мусорку. А на замену поставлю Lerdge. Наигрался вдоволь с ковырянием прошивки)) Хватит. Хочу принтер с настройками с экрана)) И без танцов с бубном, хотя и там танцы бывали, но не такие долгие))  Нажали пару кнопок и ушли пить чаёк, пока принтер сам настроися, потом лишь проконтролировать что он там настроил) 

Надеюсь данная информация кому то сэкономит уйму времени. В завершение прикреплю свою прошивку Марлина для ZAV MAX PRO, файл для регулировки PID с флешки. Его просто запустить как печать. В конце можете добавить код мелодии на пару секунд чтобы было понятно. что регулировку принтер закончил. 

https://disk.yandex.ru/d/okU9e31wKesEwA - файл для регулировки PID с флешки

https://disk.yandex.ru/d/PjQk13Y3snzXWw?w=1 - прошивка marlin 1.1.9.1 для Zav Max Pro на плате MKS Gen 1.4 - если у вас порт хотенда0 исправен, то порты вернуть в исходную как на скрине 

TEMP-0_PIN 13

TEMP_1_PIN 15

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

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

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

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

Комментарии

08.05.2021 в 06:46
4

)))

Чтоб не трогать регулировку напряжения на БП в прошивке уже предусмотрено

#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current

255 - полный газ.

Считаете по методу пропорции, 10,5*100/12.6=83%

255-83%=211

Лучше будет БП накрутить на максимум (14в), сопло получит расчётную мощность (180-200), а столик полную - греется быстрей и сильней. Для него кстати тоже есть такая возможность.

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

08.05.2021 в 10:42
0

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

08.05.2021 в 20:10
0

Способ правильный, ещё годится для подключения 12В нагревателя к блоку 15-17В. Только для хорошей точности отношение напряжений надо брать в квадрате.

09.05.2021 в 00:15
1

К сообщению Пауля я бы добавил еще, что обычно чтобы пройти первоначальную настройку хватает ручками чуток подправить начальные коэффициенты. У вас видимо пропорциональный был слишком задран. А по поводу отказавших портов микроконтроллера, что можно еще не используемые концевики переназначить на то что нужно. У меня например так работает скр 1.1, на которой очень мало ног вытащено наружу, а очень хотелось электронное управление светом в камере принтера и вентиляторами по температуре/активности... Кстати если вы в лердж убьете ножку процессора это скорее всего приговор... А плата из недешевых... Ну и подключить можно только стандартный набор переферии... Даже термисторов плата понимает ...аж две штуки. Большинству этого хватает, мне вот нет...

10.05.2021 в 15:26
0

как вариант, чтобы не выкидывать, можно залить в нее марлин для лазера)) там термопары не нужны

11.05.2021 в 16:57
0

считаю, что самое правильное решение для этой проблемы на марлине - увеличить значение


#define PID_FUNCTIONAL_RANGE 10 // If the temperature difference between the target temperature and the actual temperature is more than PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max.


это граница переключения от постоянного нагрева к PID. в результате PID включится раньше и не будет превышения


мощные нагреватели требуют 15-20


скручивать напряжение на БП - изврат, ограничивать мощность на штатном напряжении тоже так себе решение, теряем скорость нагрева.


Для написания комментариев, пожалуйста, авторизуйтесь.

Читайте в блогах

Get over here!

Проблема ретракта в 3D печати. Почему ретракт работает не всегда?

Самосвал и экскаватор

Обновления для лазерного гравера под поворотную ось

Значок "Космические рейнджеры"

Записки страйкболиста. Как я товарищу рацию чинил.