Klipper: настройка¶
На этой странице описана установка конфигурационных файлов и настройка iDryer Unit в среде Klipper. Прошивка контроллера должна быть установлена заранее — см. Установка прошивки.
Конфигурация: mcu или second_mcu¶
iDryer Unit подключается к Klipper двумя способами:
iDryer Unit работает как основной MCU на отдельном хосте (например, Raspberry Pi только для сушилки). Секция в конфиге:
Установка конфигурационных файлов¶
1. Подключитесь к хосту по SSH¶
2. Перейдите в директорию конфигурации¶
Путь может отличаться: ~/klipper_config/ или ~/printer_data/config/ в зависимости от версии установки. Убедитесь, что в директории находится файл printer.cfg.
3. Загрузите и запустите скрипт установки¶
Скрипт создаст директорию с необходимыми конфигурационными файлами.
4. Подключите конфиг в printer.cfg¶
Добавьте строку в начало файла printer.cfg:
5. Укажите серийный ID в iDryer.cfg¶
Получите ID контроллера:
В файле iDryer.cfg в секции [mcu iDryer] замените плейсхолдер на полученный ID:
6. Подключение дополнительных блоков (U2–U4)¶
По умолчанию подключён блок U1. Раскомментируйте нужные строки в iDryer.cfg:
Настройка оборудования¶
Нагреватель¶
[heater_generic iDryer_U1_Heater]
heater_pin: H_U1
max_power: 1
sensor_type: NTC 100K MGB18-104F39050L32
sensor_pin: T_U1
control: pid
pwm_cycle_time: 0.3
min_temp: 0
max_temp: 120
pid_Kp: 32.923
pid_Ki: 5.628
pid_Kd: 48.150
Вентилятор¶
[heater_fan Fan_U1]
fan_speed: 1
pin: FAN_U1
# при использовании second_mcu: pin: iDryer:FAN_U1
heater: iDryer_U1_Heater
heater_temp: 55
Датчик температуры и влажности¶
В примере используется SHT3X на шине I2C:
[temperature_sensor iDryer_U1_Air]
i2c_mcu: iDryer
sensor_type: SHT3X
i2c_bus: i2c0f
i2c_address: 68 # 68 или 69
Датчики U1 и U2 подключены к одной шине I2C, датчики U3 и U4 — к другой. Адреса датчиков на одной шине должны отличаться: один на 68, другой на 69. При использовании другого датчика сверьтесь с документацией Klipper.
Калибровка PID¶
Выполните калибровку при закрытой крышке сушилки:
- Откройте консоль Klipper.
- Выполните команду:
- Дождитесь завершения.
- Запишите полученные коэффициенты в
iDryer.cfg.
Настройка сервопривода заслонки¶
1. Определение крайних положений¶
Сервопривод управляется ШИМ-сигналом. Разные модели сервоприводов по-разному реагируют на одни и те же значения — настройка всегда индивидуальна.
Не прикручивайте заслонку к корпусу на этом этапе — сначала определите рабочий диапазон.
Проверьте крайние положения командами в консоли Klipper:
Если сервопривод упирается в корпус — скорректируйте диапазон.
2. Запись углов в конфиг¶
В файле iDryer.cfg в макросе DRY_U1 задайте углы:
variable_servo_open_angle: 40 # градусы открытого положения
variable_servo_closed_angle: 94 # градусы закрытого положения
3. Коррекция питания сервопривода¶
При использовании нескольких сервоприводов возможны сбои из-за пиковой нагрузки на USB-порт хоста.
Вариант 1 — резистор в цепи питания серво:
Установите резистор 4–10 Ом в разрыв питания сервопривода. На платах ревизии 3 резисторы уже распаяны, однако конкретное сопротивление подбирается индивидуально.
Вариант 2 — активный USB-хаб:
Подключите контроллер через USB-хаб с отдельным питанием — это исключает перегрузку порта хоста.
Проблемы со стабильностью связи (обрывы, перезагрузки MCU) могут быть вызваны ЭМ-помехами от силовых проводов или вентилятора. Решения — ферритовый фильтр на USB-кабель и RC-снаббер параллельно вентилятору. → Устранение неисправностей
Настройка delta_high¶
variable_delta_high управляет разницей между температурой нагревателя и целевой температурой воздуха.
Процедура настройки:
- Установите начальное значение
variable_delta_high: 15. - Запустите нагрев макросом
PA_U1. - Дождитесь выхода на плато.
- Проверьте температуру в камере:
- Если в камере 90 °C — значение подходит.
- Если ниже — увеличьте
variable_delta_high. - Оставьте работать 30 минут, затем проверяйте состояние каждые 30–60 минут.
Если нагреватель прилипает к пластику корпуса — пластик не выдерживает температуру. Снизьте variable_delta_high, перепечатайте корпус из ABS или ABS-CF, либо измените способ крепления нагревателя.
Макросы G-кода¶
Для управления сушкой по типу материала используйте предустановленные макросы:
| Макрос | Температура | Время |
|---|---|---|
PLA_U1 |
55 °C | 180 мин |
PETG_U1 |
65 °C | 240 мин |
ABS_U1 |
80 °C | 240 мин |
PA_U1 |
90 °C | 240 мин |
TPU_U1 |
60 °C | 300 мин |
OFF_U1 |
выкл | — |
Запуск произвольного режима:
Открыть/закрыть заслонку вручную:
Альтернативный алгоритм управления — PyUnit¶
Проект от участника сообщества @Xatang. Автоматическое поддержание параметров сушки и хранения с настраиваемыми коэффициентами и информативными графиками.
