Настройка параметров нагревателей

Открытая прошивка RepRapFirmware
Аватара пользователя
demonlibra
Помогаю слегка
Сообщения: 2552
Зарегистрирован: 18 янв 2020, 11:49
Откуда: Ростов-на-Дону

Настройка параметров нагревателей

Сообщение demonlibra »

Перевод статьи Tuning the heater temperature control

Настройка регуляторов температуры нагревателей

Данное руководство содержит инструкции по использованию команды M303 для автоматической настройки нагревателей HotEnd`а и стола,
настройка параметров ПИД вручную, а также рекомендации по поиску и устранению неисправностей.

Как работает контроль нагревателей

Каждый регулятор температуры в RepRapFirmware 1.15 и более поздних версиях может работать в режимах bang-bang или ПИД.

Параметры для режима ПИД могут быть получены одним из двух способов:
  • Используйте два набора параметров ПИД, рассчитанных на основе модели системы нагрева первого порядка + время задержки (FOPDT).
    Параметры модели FOPDT можно получить с помощью автонастройки или настроить вручную командой M307.
  • Используйте набор устаревших параметров ПИД, настроенных вручную командой M301.
    Это обеспечивает обратную совместимость с предыдущими версиями и предоставляет запасной вариант настройки, если поведение вашей системы нагрева не может быть достаточно хорошо описано моделью FOPDT.
Параметры ПИД заносятся в файл config.g вручную или в файл config_override.g при сохранении параметров командой M500.
  • В RepRapFirmware 3.x нагреватели по умолчанию не определены.
    Настройте параметры датчика температуры и нагревателя командами M308 и M950 соответственно, затем установите параметры PID командой M307.
  • В RepRapFirmware 2.x и более ранних, регулятор температуры нагревателя стола по умолчанию работает в режиме bang-bang, а нагреватели HotEnd`а используют параметры ПИД по умолчанию.
Если вы используете команду M301 для установки устаревших параметров ПИД, регулятор этого нагревателя переключается на их использование. Если вы выполнили успешную автонастройку или задали параметры модели вручную командой M307, контроллер снова переключается на использование параметров ПИД, полученных из модели.

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

Код: Выделить всё

M307 Hnn
nn - номер нагревателя.

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

Автонастройка запускается командой M303:

Код: Выделить всё

M303 H1 S240 ; auto tune heater 1, default PWM (100%), 240C target

M303 ; report the auto-tune status or last result
Пример настройки параметров

RepRapFirmware 3.2 содержит новый алгоритм настройки параметров нагревателя. Этот алгоритм является более точным, чем старый (особенно при измерении мертвого времени), часто завершается быстрее, чем старый алгоритм, и более компактен для плат расширения (автонастройка нагревателей на платах расширения реализована в RRF 3.3). Также возможно настройка инструмента, а не только нагревателя, который настраивает нагреватель совместно с вентиляторами. Цель этого состоит в том, чтобы позволить регулятору нагревателя отслеживать изменение ШИМ вентилятора и изменить мощность нагревателя, прежде чем сработает алгоритм ПИД.

Код: Выделить всё

M303 T0 S205; настроить нагреватель инструмента 0
Кроме того, новый алгоритм позволяет задавать температуру окружающей среды (параметр A) для настройки нагревателя, который не остыл до температуры окружающей среды.
Также можно установить гистерезис цикла настройки (параметр Y) и ШИМ вентилятора (параметр F).

При автонастройке будет выполнено несколько фаз (нагрев, стабилизация, выключение вентилятора, включение вентилятора), циклически изменяясь между целевой температурой и температурой на 5 °C ниже нее.
В процессе измеряется скорость нагрева и охлаждения на последних 3 °C в каждом цикле и накапливает среднее значение и стандартное отклонение.
Обычно цикл нагрева и охлаждения выполняется 8 раз, но может быть до 30, если показания несовместимы (шумный термистор или большая тепловая масса). Вы можете использовать параметр Y, чтобы изменить гистерезис.

Если у вас уже есть рабочие значения для команды M307 полученные ранее, нет особой необходимости повторно запускать автонастройку (хотя это может улучшить стабильность температуры).
Просто используйте определённые ранее значения параметры команды M307.


Примечания по автонастройке
Предупреждение! Во время автонастройки защита от неисправностей нагревателей минимальна.
Поэтому не оставляйте принтер без присмотра во время автонастройки.

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

Одновременно можно автоматически настраивать только один нагреватель.

Перед тем, как начать автонастройку, настраиваемый нагреватель должен иметь комнатную температуру или близкую к ней, а его показания температуры должны быть стабильными. Исключением является использование параметра A в M303 (RRF 3.2 и новее).

[RRF 3.2 и более поздние версии] При настройке нагревателя HotEnd`а переместите сопло близко к столу (в пределах 1 мм). Это необходимо чтобы происходила компенсация влияния вентиляторов HotEnd`а и обдува модели, если нагреватель настраивается как инструмент.

Отправьте M303 с параметром H (и, возможно, параметрами P и S), чтобы запустить процесс автоматической настройки. Сообщение с параметрами будет сгенерировано после завершения или прерывания автонастройки.
Вы также можете запустить M303 без параметров, чтобы увидеть текущий статус автонастройки.

Если автонастройка прошла успешно, новые параметры модели устанавливаются (но не сохраняются) и используются вычисленные на их основе параметры ПИД. Вы можете увидеть эти параметры, выполнив команду M307 Hnn, где nn - номер нагревателя.
M307 также будет указывать на то, что используется модель с параметрами M307, вместо M301.

Настройка нагревателя HotEnd`а обычно занимает от пяти до десяти минут.
Настройка нагревателя стола может занять более получаса, в зависимости от теплоемкости стола.
Вы можете отменить настройку, отправив команду M0.

После того, как Вы выполнили автонастройку и убедились, что управление нагревателем работает нормально, сохраните параметры нагревателя одним из двух способов:
  • Если Вы используете команду M501 в конце файла config.g для запуска файла config-override.g, запустите M500, чтобы сохранить параметры нагревателя в config-override.g.
  • В противном случае скопируйте команду M307, предложенную после завершения автонастройки, в config.g, заменив любую существующую команду M307 для того же нагревателя.
Убедитесь, что после команды M307 отсутствуют команды M301 для того же нагревателя, иначе параметры не будет использоваться.


RRF 3.x - Error: Heater 0 fault: temperature rising much more slowly than the expected 1.7°C/sec
В RRF3 больше не используется стандартная модель нагревателя стола. Следовательно, Вы должны выполнить автонастройку ПИД, чтобы определить параметры. В противном случае появится сообщение об ошибке о том, что температура нагревателя не повышается достаточно быстро и, следовательно, сработает тепловая защита.
Запуск автоматической настройки ПИД для нагревателя стола и сохранение результатов должны устранить ошибку.


Устранение неполадок автонастройки (RRF 1.18 и новее)
Если автонастройка не срабатывает с сообщением о том, что температура не растет достаточно быстро, это означает, что либо вы используете слишком низкое значение P в команде M303, либо мертвое время в существующей модели слишком мало для вашего нагревателя.
Вы можете увеличить "мертвое время" с помощью команды M307.
Например, отправка M307 H0 D30 увеличит мертвое время до 30 секунд.
Фактическое мертвое время станет известно после успешной автонастройки.
Установка параметров модели вручную

Параметры модели можно изменять и выводить с помощью команды M307:

Код: Выделить всё

M307 H1 A350 C139 D5.5 B0; установить параметры модели для нагревателя 1 и использовать режим PID

M307 H1; вывести параметры модели для нагревателя 1
  • H указывает номер нагреватель.
  • A задаёт коэффициент усиления модели, который представляет собой предельное повышение температуры, делённое на коэффициент заполнения ШИМ.
    Например, коэффициент усиления 350 означает, что при коэффициенте заполнения ШИМ 50% температура в конечном итоге достигнет температуры окружающей среды плюс 350*0,5 °C.
    В RRF 3.3 и более поздних версиях параметр A заменяется параметром R, который определяет скорость нагрева в градусах Цельсия/сек при полной мощности, когда температура нагревателя близка к температуре окружающей среды.
  • D задаёт мертвое время, которое представляет собой задержку между изменением ШИМ и заметным изменением скорости изменения температуры.
  • C задаёт постоянную времени модели.
    Это можно представить как время, необходимое для повышения температуры до 63,2% от ее предельного значения после включения нагревателя из холодного состояния при постоянной ШИМ, за вычетом мертвого времени.
  • S ограничивает коэффициент заполнения ШИМ.
    Например, S0.8 ограничит коэффициент заполнения ШИМ до 80%.
  • B используется для выбора режима bang-bang или ПИД.
    Чтобы использовать режим bang-bang вместо ПИД, измените B0 на B1.
    В режиме bang-bang параметр S также используется для ограничения ШИМ при включении нагревателя.

Измерение скорости нагрева (RRF 3.3 и позже, параметр M307 R)
Включите нагрев из холодного состояния, подождите несколько секунд, пока температура не начнет расти.
Затем определите, сколько времени потребуется, чтобы температура повысилась на величину, например 10C (для медленного нагревателя стола вы можете использовать меньшее значение, например, 5C).
Разделите величину повышения температуры на время в секундах, чтобы получить скорость нагрева.


Измерение постоянной времени охлаждения (параметр M307 C)
Когда нагреватель нагрет до температуры Tstart при температуре окружающей среды Tambient, рассчитайте целевую температуру формуле:

Ttarget = Tstart * 0,37 + Tambient * 0,63

Выключите нагреватель и измерьте, сколько секунд потребуется, чтобы температура понизилась до значения Ttarget.
Получено значение будет определять постоянную времени.


Ручная регулировка параметров модели нагревателя
При необходимости вы можете вручную настроить параметры модели M307 следующим образом:
  • Если во время начального нагрева температура ниже целевого значения, уменьшите параметр A (RRF 3.2 и более ранние) или увеличьте параметр R (RRF 3.3 и более поздние).
    Если температура превышает целевое значение, увеличьте параметр A или уменьшите параметр R.
    Пробуйте увеличивать/уменьшать значение на 5% или 10%.
  • Если реакция на внешние изменения температуры (например, включение вентилятора охлаждения принтера) слишком медленная, уменьшите параметр D.
    Если температура нестабильна, но колеблется вокруг целевой температуры, даже когда печатающая головка неподвижна, увеличьте параметр D.
    Попробуйте увеличить/уменьшить параметр на 30%.

Устаревшие параметров ПИД
Этот режим предназначен в качестве резервного для использования, если настройка на основе модели работает недостаточно хорошо.
Параметры настраиваются с помощью команды M301:

Код: Выделить всё

M301 H1 P10 I0.2 D50 T0.3
Параметр H определяет номер нагревателя.
Обычно 0 - это нагреватель стола, 1 - нагреватель экструдера.

P, I и D - пропорциональные, интегральные и дифференциальные коэффициенты, масштабированные на 255 для совместимости со старыми прошивками.
Отрицательное значение P означает использование режима bang-bang.

Предыдущие версии прошивки также содержат параметры B, S, T и W в команде M301. В новых версиях прошивки они не используются.

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

Если прошивка обнаруживает аномалию, она выключит соответствующий нагреватель и переведет его в состояние неисправности. Это можно увидеть в DuetWebControl, который покажет состояние этого нагревателя как «неисправность (fault)» вместо «активен (active)», «режим ожидания (standby)» или «выключен (off)».

Вы можете сбросить состояние неисправности нагревателя, находящийся в состоянии неисправности, с помощью команды M562 Pnn, где nn - номер нагревателя.

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

Наиболее частые причины неисправностей:
  • Показания температуры были слишком низкими для нескольких последовательных измерений, что говорит о том, что термистор отключился.
  • Показания температуры были выше предела, установленного M143 для нескольких последовательных измерений.
  • Термопара или преобразователь PT100 сообщают об ошибке при нескольких последовательных измерениях.
  • Во время первоначального нагрева температура повышалась не так быстро, как ожидалось.
    Это может произойти, если у вас медленный или маломощный обогреватель или не настроена модель нагревателя.
    В этом случае у вашего нагревателя будет большее мёртвое время или меньшее усиление, чем у модели по умолчанию.
  • Нагреватель достиг заданной температуры, но впоследствии температура изменилась более чем на +/- 10 °C.
    Это может произойти, если вы используете неподходящие параметры ПИД или если вы включаете очень сильный вентилятор охлаждения печати, который чрезмерно охлаждает сопло.
Использование нескольких датчиков температуры для одного нагревателя

Возможны три способа использования двух термисторов для управления одним нагревателем:
  • Соедините датчики последовательно.
    Показания температуры будут усреднены с уклоном в пользу более холодного.
    Если какой-либо провод оборвется, вы получите обычное значение -273C, и нагреватель выключится с ошибкой.
  • Соедините датчики параллельно.
    Показания температуры будут усреднены с уклоном в пользу более горячего.
    Если один из проводов термисторов оборвётся, температура будет заниженной, и в конечном итоге будет получена слишком высокая температура нагрева.
  • Используйте один датчики для контроля температуры, а другой для защиты от перегрева, настроенный командой M143.
Примечание:
  • При последовательном соединении двух термисторов в файле config.g необходимо указывать их суммарное сопротивление.
    Если каждый термистор имеет сопротивление 100 кОм при комнатной температуре, необходимо указать сопротивление 200 кОм.
  • При параллельном подключении одинаковых термисторов сопротивления будет вдвое меньше.

При последовательном или параллельном подключении термисторов, значение коэффициента "B" оставьте прежним, но так как изменится значение коэффициента "C", проще всего изменить значение коэффициента "R".
Например, для Duet 3 нормальное значение "R" составляет 2200.

Если вы подключаете два идентичных термистора параллельно, вы можете указать для термисторов обычные значения "T", "B" и "C", но удвоить "R" до 4400. Аналогичным образом, если вы подключаете два термистора последовательно, уменьшите вдвое значение R.
Не бойся поломать. Бойся не починить ))
Изображение

Вернуться в «RepRapFirmware»