Перейти к содержанию

iDryer RP2040: руководство по меню

Как читать меню

  • global — параметр общий для всего устройства.
  • per controller — параметр хранится отдельно для каждого контроллера (UNIT).
  • Для toggle в интерфейсе используются состояния ON/OFF.
  • Для некоторых uint8 значений интерфейс показывает текст:
  • LANGUAGE: 0=RU, 1=EN
  • PORT 1/2/3: EXT/SCR/SCL/LNK (см. раздел GLOBAL -> PORT CONFIG)
  1. КОНТРОЛЛЕР (CONTROLLER)
  2. СУШКА (DRYING)
  3. ХРАНЕНИЕ (STORAGE)
  4. ПРОФИЛЬ (PROFILE)
  5. ПРЕСЕТЫ (PRESETS)
  6. ВЕСЫ (SCALES)
  7. НАСТРОЙКИ (SETTINGS)
  8. ОБЩИЕ (GLOBAL)

CONTROLLER (global)

Пункт Тип Диапазон По умолчанию Логика
КОНТРОЛЛЕР value 0..2 0 Выбор активного UNIT. Все параметры per controller редактируются для него. При изменении значение ограничивается сверху units_count-1.

DRYING (per controller)

Пункт Тип Диапазон По умолчанию Логика
ТЕМПЕРАТУРА value 30..110 °C, шаг 1 60 Целевая температура воздуха в сушке.
ВРЕМЯ value 0..600 мин, шаг 1 240 Длительность сушки.
СТАРТ action - - Запуск режима Drying для активного UNIT. Если Temp или Time равны 0, используется fallback 60 °C и 30 мин.

Логика таймера сушки:

  • Отсчет начинается не в момент нажатия СТАРТ, а когда воздух вошел в допуск ±1 °C от целевой температуры.
  • После истечения времени:
  • если SETTINGS -> STORAGE -> AUTO STORAGE = ON, происходит переход в Storage;
  • если OFF, контроллер останавливается (Idle).

STORAGE (per controller)

Пункт Тип Диапазон По умолчанию Логика
ТЕМПЕРАТУРА value 35..90 °C, шаг 1 45 Базовая температура хранения (если выбран режим по температуре).
ВЛАЖНОСТЬ value 5..30 %RH, шаг 1 12 Целевая влажность для режима по влажности.
ПО ВЛАЖНОСТИ (BY HUMIDITY) toggle ON/OFF ON ON: приоритет влажности. OFF: приоритет температуры.
СТАРТ action - - Запуск режима Storage с текущими параметрами активного UNIT.

Логика Storage:

  • Если приоритет влажности ON, нагрев включается/выключается по RH с гистерезисом и MIN HOLD (см. SETTINGS -> STORAGE).
  • Если приоритет влажности OFF, поддерживается температурная цель Storage.

PROFILE (per controller)

PROFILE START

Пункт Тип Диапазон По умолчанию Логика
ПЕРВЫЙ ЭТАП value 1..10, шаг 1 1 Номер этапа, с которого стартует профиль.
СТАРТ ПРОФИЛЯ action - - Запускает профиль из 10 этапов для активного UNIT.

ЭТАПЫ 01..10

Для каждого этапа есть три параметра:

  • ТЕМПЕРАТУРА: 30..110 °C, шаг 1
  • ПОДЪЕМ (RAMP): 0..1200 мин, шаг 1
  • УДЕРЖАНИЕ (HOLD): 0..1200 мин, шаг 1

Значения по умолчанию:

Этап Temp, °C Ramp, мин Hold, мин
01 50 5 1
02 60 5 1
03 70 5 1
04 60 5 1
05 50 5 1
06 70 5 1
07 90 5 1
08 75 5 1
09 65 5 1
10 55 5 1

Логика выполнения профиля:

  • Каждый этап состоит из фазы RAMP, затем HOLD.
  • В RAMP целевая температура меняется плавно по времени от текущей к целевой этапа.
  • Переход к следующему этапу выполняется, когда для HOLD одновременно выполнено:
  • прошло заданное время удержания;
  • текущая температура достигла порога (примерно не ниже целевой - 1 °C).
  • После последнего этапа профиль завершает работу и переводит контроллер в Idle.

PRESETS (global)

Каждый пресет содержит:

  • ТЕМПЕРАТУРА
  • ВРЕМЯ
  • СТАРТ (запуск Drying активного UNIT с параметрами пресета)

Общий диапазон времени для всех пресетов: 0..600 мин, шаг 5.

Пресет Температура (min..max), °C Температура default, °C Время default, мин
PLA 35..55 45 240
PLA-CF 35..55 45 240
PLA-GF 35..55 45 240
PETG 50..70 60 180
PETG-CF 55..75 65 180
PETG-GF 50..70 60 180
ABS 70..90 80 240
ABS-CF 80..100 90 240
ABS-GF 80..100 90 240
PA 80..100 90 240
PA-CF 90..110 100 240
PA-GF 90..110 100 240
PC 90..110 100 360
PC-CF 90..110 100 360
MY1 60..80 70 360
MY2 70..90 80 360
MY3 80..100 90 360

SCALES (global)

NUMBER OF MODULES

Пункт Тип Диапазон По умолчанию Логика
КОЛ-ВО МОДУЛЕЙ value 0..4 0 Количество активных модулей весов (HX711). При изменении вызывается setNumSensors().

TARE

Пункт Тип Диапазон По умолчанию
КАТУШКА 1 value 0..2000 г, шаг 1 0
КАТУШКА 2 value 0..2000 г, шаг 1 0
КАТУШКА 3 value 0..2000 г, шаг 1 0
КАТУШКА 4 value 0..2000 г, шаг 1 0

CALIBRATION

Для каждой катушки (1..4):

  • ПРИНЯТЬ НОЛЬ (SET ZERO) — калибровка нуля
  • ПРИНЯТЬ 1000 Г (SET 1000 G) — калибровка точки 1000 г

SETTINGS (per controller)

STORAGE

Основные

Пункт Тип Диапазон По умолчанию Логика
АВТО ХРАНЕНИЕ (AUTO STORAGE) toggle ON/OFF ON После завершения Drying автоматически стартует Storage.
АВТО СУШКА (AUTO DRY) toggle ON/OFF ON Пункт присутствует в разработке.

ПО ВЛАЖНОСТИ (BY HUMID)

Пункт Тип Диапазон По умолчанию Логика
ГИСТЕРЕЗИС % value 1..10 %, шаг 1 5 Для RH-режима: включение нагрева при RH >= target + hyst; выключение при RH <= target; переключения ограничены MIN HOLD.

ПО ТЕМПЕРАТУРЕ (BY TEMP)

Пункт Тип Диапазон По умолчанию Логика
АБС/%СУШКИ (ABS/%DRY) toggle ON/OFF OFF OFF = абсолютная температура хранения (STORAGE -> TEMPERATURE), ON = процент от последней температуры сушки (lastDryTemp).
% ОТ T СУШКИ (% OF DRY TEMP) value 50..100 %, шаг 1 90 Используется при режиме %DRY.

ОБЩЕЕ (COMMON)

Пункт Тип Диапазон По умолчанию Логика
МИН. СОСТОЯНИЕ (MIN HOLD) value 5..600 с, шаг 5 30 Минимальное время между переключениями нагрева в Storage-by-Humidity.

Важно по температурной цели Storage:

  • Температура хранения ограничивается в коде диапазоном 45..air_max_temp.
  • В %DRY используется lastDryTemp (последняя целевая температура Drying).

PID HEATER

Пункт Тип Диапазон По умолчанию
Kp float 0..1000, шаг 0.1 9.810
Ki float 0..1000, шаг 0.01 0.084
Kd float 0..1000, шаг 0.1 87.825
GAIN float 0.1..50, шаг 0.01 9.810
Autopid action - -

PID CHAMBER

Пункт Тип Диапазон По умолчанию
Kp float 0..1000, шаг 0.1 5.873
Ki float 0..1000, шаг 0.01 0.18
Kd float 0..1000, шаг 0.1 50.402
GAIN float 0.1..200, шаг 0.01 5.873
Autopid action - -

Логика PID:

  • Коэффициенты применяются сразу после изменения.
  • Внутри контроллера GAIN участвует как множитель усиления PID.
  • GAIN в PID HEATER это общий множитель усиления PID-регулятора нагревателя.

Как работает:

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

Практически:

  • слишком маленький GAIN -> «вялый» нагрев, долгий выход на уставку;
  • слишком большой GAIN -> перерегулирование, колебания, возможная нестабильность.
  • Autopid запускает автонастройку для активного UNIT:
  • PID HEATER: целевая температура ~80% от MAX TEMP нагревателя;
  • PID CHAMBER: целевая температура берется из текущего DRYING -> TEMPERATURE.

HEATING

Пункт Тип Диапазон По умолчанию Логика
MAX TEMP (МАКС.НАГРЕВАТЕЛЬ) value 30..150 °C, шаг 1 130 Базовый лимит нагревателя.
MAX AIR TEMP (МАКС.ТЕМП.ВОЗДУХ) value 30..120 °C, шаг 1 90 Базовый лимит воздуха.
DELTA (ДЕЛЬТА) value 0..45, шаг 1 35 Смещение для каскадного управления heater setpoint относительно air target.
DELTA ABS/% toggle ON/OFF OFF OFF=абсолютная DELTA, ON=процент от текущей air target.

DELTA — это не “прибавка к температуре воздуха”, а запас по температуре нагревателя относительно целевой температуры воздуха.

Например, DELTA = 35 означает:

  • контроллер может держать целевую температуру нагревателя примерно на +35 °C выше текущей целевой температуры;
  • это нужно, потому что воздух, проходя через нагреватель, забирает только часть тепла, а часть энергии теряется.

Почему так:

  • сразу после нагревателя поток горячее, но уже через несколько сантиметров начинает смешиваться с более холодным воздухом в камере;
  • из-за смешения, температура воздуха быстро становится ниже температуры поверхности нагревателя;
  • поэтому для удержания нужной температуры воздуха нагреватель работает “с запасом”.

Итого:

  • DELTA задаёт энергетический запас для корректной каскадного PID регулятора;
  • маленькая DELTA может давать недогрев и медленный разгон;
  • слишком большая DELTA повышает риск перегрева филамента.

CHECK (проверка нагревателя)

Пункт Тип Диапазон По умолчанию
ERROR LIMIT value 0..500, шаг 10 150
TEMP GAIN value 0.1..10.0 °C, шаг 0.1 1.0
CHECK WINDOW value 5..120 с, шаг 1 20
PWM START % value 10..100 %, шаг 5 30

Фактическая логика CHECK:

CHECK — это часть контура безопасности. Его задача: подтвердить, что при подаче мощности на нагреватель система видит ожидаемую реакцию по температуре.

Это помогает обнаруживать неисправности:

  • слабый/неработающий нагреватель;
  • плохой контакт в цепи;
  • некорректную работу датчика (термистора);
  • ситуацию, когда мощность подается, но прогрева нет.

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

Параметры ERROR LIMIT, TEMP GAIN, CHECK WINDOW, PWM START % подбираются под конкретную систему: объем камеры, теплопотери корпуса, мощность нагревателя и воздушный поток.

Примеры:

  • Небольшая камера и мощный нагреватель: можно уменьшать CHECK WINDOW и/или повышать TEMP GAIN, чтобы быстрее ловить аномалии.
  • Большая камера с высокой инерцией: разумно увеличить CHECK WINDOW и ERROR LIMIT, чтобы снизить риск ложных срабатываний.
  • Ложные срабатывания на старте: обычно помогает немного поднять PWM START % и увеличить CHECK WINDOW.

Аварийные остановы по температуре:

  • Air: авария при air_temp >= MAX AIR TEMP + 5 °C.
  • Heater: авария при heater_temp >= MAX TEMP + 10 °C.

FAN

Пункт Тип Диапазон По умолчанию Логика
ON THRESHOLD value 40..70 °C, шаг 0.5 55 Температура включения вентилятора.
HYSTERESIS value 5..20 °C, шаг 0.5 5 Выключение при temp < ON THRESHOLD - HYSTERESIS.

HYSTERESIS нужен, чтобы вентилятор не щелкал слишком часто около порога.

Логика простая:

  • включение: при достижении ON THRESHOLD;
  • выключение: только после снижения температуры ниже ON THRESHOLD - HYSTERESIS.

SERVO

Пункт Тип Диапазон По умолчанию Логика
CLOSED ANGLE value 0..180°, шаг 1 20 Угол закрытого положения. При изменении выполняется предпросмотр (servo preview).
OPEN ANGLE value 0..180°, шаг 1 50 Угол открытого положения. При изменении выполняется предпросмотр.
CLOSED TIME value 0..3600 с, шаг 1 600 Время удержания в закрытом положении.
OPEN TIME value 0..600 с, шаг 1 30 Время удержания в открытом положении.
SMART MODE toggle ON/OFF OFF Умное управление заслонкой по тренду влажности в активной сушке.

SERVO помогает отводить из сушилки воздух с повышенной влажностью. Частота открытия/закрытия заслонки зависит от конкретных условий: влажности пластика, объема камеры и влажности внешнего воздуха. Значения по умолчанию являются рабочей отправной точкой и подобраны опытным путем.

Поведение таймеров заслонки:

  • Если OPEN TIME = 0 и CLOSED TIME > 0, заслонка удерживается закрытой.
  • Если CLOSED TIME = 0 и OPEN TIME > 0, заслонка удерживается открытой.

GLOBAL (global)

PORTAL

Пункт Тип Логика
CLAIM (СВЯЗАТЬ) action Запускает процедуру привязки через UART Link и выводит статус.
IGNOR EXT CMD (ИГНОР КОМАНД) toggle Режим «телеметрия без удалённого управления».

CLAIM:

  • пункт предназначен для привязки устройства к порталу через UART Link;
  • сейчас основной сценарий Link обычно выполняется на install.idryer.org в общем потоке: прошивка, подключение к Wi-Fi и привязка к порталу;
  • в следующих версиях прошивки сценарий CLAIM будет расширяться.

IGNOR EXT CMD:

  • позволяет оставить весь функционал портала (телеметрия, статистика, учёт филамента), но отключить применение входящих внешних команд;
  • если нужен максимальный локальный контроль, можно включить этот режим;
  • важно: в текущей версии прошивки флаг сохранён в меню, но полноценная фильтрация внешних команд по этому флагу пока в процессе внедрения.

SESSION COUNTER

Пункт Тип Диапазон По умолчанию Назначение
DRYING value 0..65535 0 Счетчик запусков сушки.
STORAGE value 0..65535 0 Счетчик запусков хранения.
PROFILE value 0..65535 0 Счетчик запусков профиля.

Счетчики инкрементируются при переходе в соответствующий режим. Назначение счетчиков: учет количества циклов (сушки/хранения/профилей), анализ интенсивности использования, планирование обслуживания и оценка эксплуатационной нагрузки на инфраструктуру.

PORT CONFIG

Пункт Тип Диапазон По умолчанию
PORT 1 value 0..3 2 (SCL)
PORT 2 value 0..3 3 (LNK)
PORT 3 value 0..3 1 (SCR)

Расшифровка значений:

  • 0 = EXT (дополнительный модуль)
  • 1 = SCR (экран)
  • 2 = SCL (весы)
  • 3 = LNK (UART link)

Ограничения валидности (UI не дает выбрать запрещенные комбинации):

  • Port1: только EXT или SCL.
  • Port2: EXT, SCL или LNK.
  • Port3: SCR или LNK.
  • Режимы SCR, SCL, LNK могут быть только в одном порту одновременно.
  • Port2=EXT допустим только если Port1=EXT.

UNITS

Пункт Тип Диапазон По умолчанию Логика
КОЛ-ВО ЮНИТОВ (UNITS) value 1..3 1 Ограничивается аппаратным максимумом (calcMaxUnits()), после чего корректируется активный CONTROLLER.

LANGUAGE

Пункт Тип Диапазон По умолчанию
ЯЗЫК (LANGUAGE) value 0..1 1

Значения:

  • 0 = RU
  • 1 = EN

Короткие сценарии

  1. Ручная сушка: CONTROLLER -> DRYING -> TEMPERATURE/TIME -> START.
  2. Сушка пресетом: PRESETS -> материал -> START.
  3. Хранение по влажности: STORAGE -> BY HUMIDITY=ON -> START, затем настройка SETTINGS -> STORAGE -> HYSTERESIS % / MIN HOLD.
  4. Хранение по % от сушки: SETTINGS -> STORAGE -> ABS/%DRY=ON, задать % OF DRY TEMP, затем STORAGE -> START.
  5. Профиль: PROFILE -> PROFILE START -> FIRST STAGE -> PROFILE START.