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

Инструкция по замене пинов конфигурации

Эта страница предназначена для помощи пользователям в адаптации существующих конфигураций Klipper к используемой плате FLY. Многие конфигурации из сети можно использовать только как структурные примеры, их нельзя копировать напрямую. Перед использованием необходимо заменить соответствующие пины в соответствии с моделью платы, расположением разъемов и способом подключения.

Отключение питания

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

Примечание по применимости
  • Данная статья объясняет только, как найти и заменить пины в конфигурации, и не предоставляет полную готовую конфигурацию для какого-либо конкретного станка.
  • Параметры, такие как position_max, rotation_distance, microsteps, run_current, sensor_type, необходимо уточнять в соответствии с фактическим станком и оборудованием. Не следует слепо копировать их только из-за замены платы.
  • Пины платы следует определять на основе документации соответствующего продукта FLY, маркировки на самой плате и официальных эталонных конфигураций.

Подход к модификации

При изменении конфигурации рекомендуется следовать приведенному ниже порядку:

  1. Определите модель используемой в данный момент платы FLY.
  2. Откройте документацию на соответствующую плату и найдите описание пинов для драйверов, концевых выключателей, вентиляторов, нагревателей, термисторов и т.д. Также можно напрямую обратиться к эталонной конфигурации Klipper для соответствующей платы.
  3. Найдите в файле printer.cfg и всех файлах [include] разделы функций, которые необходимо изменить.
  4. Найдите новый пин, который вы собираетесь использовать, и убедитесь, что он не занят другими активными конфигурациями.
  5. Замените только те пины, которые связаны с разъемами платы, и сохраните необходимые символы !, ^, ~.
  6. Сохраните конфигурацию и перезапустите Klipper.
  7. Тестируйте функции по одной, не включайте все периферийные устройства одновременно.

Распространенные функциональные разделы

ФункцияРаспространенный раздел конфигурацииРаспространенные элементы для замены
Двигатели X / Y / Z[stepper_x], [stepper_y], [stepper_z]step_pin, dir_pin, enable_pin, endstop_pin
Двигатель экструдера[extruder]step_pin, dir_pin, enable_pin
Связь с драйвером TMC[tmc2209 stepper_x], [tmc5160 stepper_x] и т.д.uart_pin, cs_pin, spi_software_mosi_pin, spi_software_miso_pin, spi_software_sclk_pin, diag_pin
Нагреватель хотэнда[extruder]heater_pin, sensor_pin
Нагреватель стола[heater_bed]heater_pin, sensor_pin
Вентиляторы[fan], [heater_fan xxx], [fan_generic xxx]pin, tachometer_pin
Концевые выключатели[stepper_x], [stepper_y], [stepper_z]endstop_pin
Датчики/Зонды[probe], [bltouch]pin, sensor_pin, control_pin
LED / Зуммеры[output_pin xxx], [neopixel xxx]pin

Поиск соответствующей конфигурации

Если вы не уверены, в каком файле находится конфигурация, рекомендуется использовать веб-интерфейс конфигурации для поиска.

  1. Откройте веб-интерфейс принтера в браузере, например, Fluidd или Mainsail.
  2. Перейдите на страницу файлов конфигурации и откройте printer.cfg.
  3. Используйте функцию поиска в браузере или редакторе для поиска ключевых слов ниже.
  4. Если вы видите [include xxx.cfg], это означает, что часть конфигурации вынесена в другие файлы, и вам нужно открыть соответствующий файл include, чтобы продолжить поиск.

Распространенные способы поиска:

  • Поиск оси X: ищите [stepper_x]
  • Поиск оси Y: ищите [stepper_y]
  • Поиск оси Z: ищите [stepper_z]
  • Поиск экструдера: ищите [extruder]
  • Поиск нагревателя стола: ищите [heater_bed]
  • Поиск вентиляторов: ищите [fan], [heater_fan, [fan_generic
  • Поиск драйверов: ищите [tmc2209, [tmc5160, [tmc2240
  • Поиск пинов: ищите step_pin, dir_pin, enable_pin, heater_pin, sensor_pin, endstop_pin, uart_pin, cs_pin
Совет по поиску

Конфигурация обычно не записывается целиком в одном файле printer.cfg. Увидев [include mainsail.cfg], [include fluidd.cfg], [include printer/*.cfg], [include xxx.cfg], вам нужно открыть соответствующий файл, чтобы увидеть фактическую конфигурацию.

Проверка конфликта пинов

Перед заменой пина сначала найдите новый пин, который вы собираетесь использовать, и убедитесь, что он не занят повторно другой функцией. В Klipper один и тот же физический GPIO обычно может быть назначен только одной функции. При повторном использовании может возникнуть ошибка pin xxx used multiple times in config.

При поиске удаляйте модификаторы перед пином. Например, если вы собираетесь использовать !PA15, ищите PA15; если собираетесь использовать ^PD9, ищите PD9.

Место, где найден пинТребуется ли обработкаПояснение
Тот же элемент в том же функциональном разделеОбычно не требуетсяНапример, step_pin в изменяемом [stepper_x]
Закомментированная строка-примерОбычно не требуетсяСтроки, начинающиеся с #, неактивны
Другой активный функциональный разделТребуется обработкаОдин и тот же пин не может использоваться одновременно для вентилятора, нагревателя, концевого выключателя, зонда и т.д.
diag_pin драйвера TMC совместно с физическим концевым выключателемНужно выбрать одно из двухПри использовании физического концевого выключателя не активируйте одновременно diag_pin на том же пине; при использовании безконтактного хоминга endstop_pin должен быть изменен на virtual_endstop соответствующего драйвера
Пины нескольких MCUНеобходимо проверить префиксtoolboard:PA0 и PA0 на основной плате — это не один и тот же MCU, но префикс должен соответствовать имени [mcu toolboard]
Повторяющиеся пины

Если после сохранения появляется ошибка pin xxx used multiple times in config, вернитесь в веб-интерфейс конфигурации, найдите xxx из сообщения об ошибке в printer.cfg и всех include-файлах, оставьте правильную функцию, а остальные повторяющиеся занятия удалите, закомментируйте или измените.

Пояснение символов пинов

Перед пинами в Klipper могут стоять специальные символы. Не удаляйте их произвольно при замене пинов:

СимволЗначениеРаспространенное расположение
!Инверсия уровняdir_pin, enable_pin, endstop_pin
^Включение подтяжки вверхВход механического концевого выключателя, зонда
~Включение подтяжки внизНемногие входные сигналы
mcu1:PA0Указание пина на определенном MCUКонфигурации с несколькими MCU или инструментальной платой

Например:

enable_pin: !PC3
endstop_pin: ^PA1
sensor_pin: toolboard:PA0

Фактический пин в !PC3 — это PC3, ! указывает только на инверсию уровня. При замене на новую плату следует записать его как !<new_enable_pin> в соответствии с пином новой платы, не удаляя просто !.

Пример замены

Предположим, что в старой конфигурации ось X использовала пины другой платы:

До изменения
[stepper_x]
step_pin: PA3
dir_pin: PA2
enable_pin: !PA1
endstop_pin: ^PB10

Ниже приведен пример с разъемом драйвера оси X платы FLY-C8P. После просмотра документации платы C8P можно изменить пины разъема драйвера оси X и разъема концевого выключателя оси X на соответствующие. Перед изменением сначала найдите PE5, PA8, PA15, PD9, чтобы убедиться, что эти пины не заняты другими активными конфигурациями.

После изменения
[stepper_x]
step_pin: PE5
dir_pin: !PA8
enable_pin: !PA15
endstop_pin: ^PD9

Если для оси X используется драйвер TMC2209, также необходимо проверить соответствующие пины связи драйвера:

После изменения
[tmc2209 stepper_x]
uart_pin: PC9
run_current: 0.800
Пояснение к примеру

Приведенный выше пример показывает только запись для разъема драйвера оси X платы FLY-C8P. Если ваш двигатель подключен к другому разъему драйвера или используется не C8P, заполните в соответствии с документацией на вашу плату и фактическим подключением, не копируйте напрямую.

Если двигатель вращается в противоположном направлении, обычно достаточно добавить или удалить ! перед dir_pin. Например, если сейчас dir_pin: !PA8, измените на dir_pin: PA8; и наоборот.

Если состояние концевого выключателя инвертировано, обычно проверяют, соответствует ли ! и ^ перед endstop_pin фактическому способу подключения:

endstop_pin: ^!PD9

Замена по функциям

Двигатели и драйверы

Для одного и того же двигателя обычно необходимо проверить оба раздела конфигурации [stepper_x] и [tmc2209 stepper_x] (полный пример см. в разделе «Пример замены» выше). При замене пинов также обратите внимание на следующее:

Модель драйвера

Разделы конфигурации, такие как [tmc2209 stepper_x], [tmc5160 stepper_x], [tmc2240 stepper_x], должны соответствовать фактической модели драйвера. При замене платы не меняйте только пины, но также убедитесь, что модель драйвера, метод связи и параметры шунтирующего резистора (sense resistor) соответствуют действительности.

Бесконтактный хоминг

Пример пина концевого выключателя оси X для C8P: PD9. При использовании бесконтактного хоминга не следует продолжать использовать endstop_pin: ^PD9, а нужно изменить его на virtual_endstop в соответствии с моделью драйвера и активировать соответствующий diag_pin в конфигурации TMC. Не смешивайте физический концевой выключатель и бесконтактный хоминг на одном и том же пине.

Пример бесконтактного хоминга
[stepper_x]
endstop_pin: tmc2209_stepper_x:virtual_endstop
homing_speed: 40
homing_retract_dist: 0

[tmc2209 stepper_x]
uart_pin: PC9
diag_pin: ^PD9
run_current: 0.800

Нагрев и температура

Нагреватель хотэнда обычно находится в разделе [extruder]:

printer.cfg
[extruder]
heater_pin: PD12
sensor_pin: PC2
sensor_type: Generic 3950

Нагреватель стола обычно находится в разделе [heater_bed]:

printer.cfg
[heater_bed]
heater_pin: PB0
sensor_pin: PC5
sensor_type: Generic 3950

Выше приведены примеры типичного подключения хотэнда и стола для платы C8P. heater_pin соответствует выходу нагревателя, sensor_pin — входу термистора. Не путайте их и не записывайте один и тот же пин термистора в несколько датчиков температуры одновременно. sensor_type в примере указан как Generic 3950, пожалуйста, руководствуйтесь фактической моделью термистора (также распространены ATC Semitec 104GT-2, PT1000 и т.д.).

Вентиляторы

Распространенная запись для обычного вентилятора обдува модели:

printer.cfg
[fan]
pin: PA0

Распространенная запись для вентилятора охлаждения хотэнда:

printer.cfg
[heater_fan hotend_fan]
pin: PA1
heater: extruder
heater_temp: 50.0

Выше приведены примеры разъемов вентиляторов для платы C8P. Перед заменой найдите PA0, PA1, чтобы убедиться, что эти пины не заняты одновременно [output_pin], [fan_generic] или другими конфигурациями вентиляторов. Если разъемы вентиляторов на плате разделены на постоянно включенные и управляемые, убедитесь, поддерживает ли соответствующий разъем вентилятора, указанный в документации, управление ШИМ.

Зонды и концевые выключатели

Распространенная запись для механического концевого выключателя:

printer.cfg
[stepper_x]
endstop_pin: ^PD9

Распространенная запись для обычного зонда:

printer.cfg
[probe]
pin: ^PC0

Распространенная запись для зонда типа BLTouch:

printer.cfg
[bltouch]
sensor_pin: ^PC0
control_pin: PE6
Входные сигналы

Выше приведены примеры разъемов концевых выключателей и зондов для платы C8P. Используется только один из вариантов: обычный [probe] или [bltouch], не активируйте одновременно один и тот же сигнальный пин зонда. Необходимость в ^ или ! для входных сигналов, таких как концевые выключатели и зонды, зависит от типа модуля и способа подключения. Перед изменением найдите PD9, PC0, PE6, чтобы убедиться в отсутствии повторного использования; после изменения сначала проверьте состояние срабатывания с помощью команд QUERY_ENDSTOPS, QUERY_PROBE в веб-консоли, а затем выполняйте хоминг или выравнивание стола.

Сохранение и проверка

После завершения изменений нажмите SAVE & RESTART в правом верхнем углу веб-страницы, чтобы сохранить и перезапустить Klipper. Если изменения затрагивают низкоуровневые конфигурации, такие как подключение к MCU или связь с драйвером, может потребоваться выполнить FIRMWARE_RESTART в консоли вместо обычного RESTART.

Рекомендуется проверять в следующем порядке:

  1. Убедитесь, что Klipper запускается нормально и не выдает ошибок конфигурации, таких как Unknown pin chip name, Pin is not a valid pin name, Unable to parse option.
  2. Если появляется ошибка pin xxx used multiple times in config, сначала найдите и устраните повторное использование xxx, не продолжайте тестирование.
  3. Используйте команду QUERY_ENDSTOPS в веб-консоли, чтобы проверить нормальное состояние концевых выключателей.
  4. Проверяйте вентиляторы, нагреватели и зонды по отдельности, не тестируйте несколько периферийных устройств одновременно.
  5. Проверьте направление двигателей, перемещая их на небольшие расстояния, например, на 1mm или 5mm.
  6. Убедившись, что направление, концевые выключатели, температура и вентиляторы работают нормально, приступайте к тестированию хоминга и печати.

Часто задаваемые вопросы (FAQ)

СимптомРаспространенная причинаНаправление устранения
Двигатель не движетсяНеправильный уровень enable_pin, неправильные пины связи драйвера, несоответствие модели драйвераПроверьте, нужен ли ! для enable_pin, сверьтесь с разделом конфигурации TMC
Двигатель вращается в другую сторонуНесоответствие направления уровня dir_pinДобавьте или удалите ! перед dir_pin
Концевой выключатель всегда срабатываетИнверсия endstop_pin или несоответствие подтяжкиПроверьте ^ и !, выполните проверку с помощью QUERY_ENDSTOPS
После сохранения выдается сообщение о повторяющемся пинеОдин и тот же GPIO используется несколькими функциями одновременноНайдите имя пина из сообщения об ошибке, удалите, закомментируйте или измените повторяющиеся занятия
Ошибка связи TMCНеправильные пины uart_pin / cs_pin / SPI, или несоответствие модели драйвераПовторно сверьте пины связи в соответствии с разъемом драйвера на плате
Нагреватель не реагируетНеправильно указан heater_pin или подключен к неуправляемому выходуСверьте номер разъема нагревателя с документацией на плату
Некорректное отображение температурыНесоответствие sensor_pin или sensor_typeСверьте разъем термистора и его тип
Вентилятор не управляетсяНеправильно указан pin или подключен к постоянно включенному разъему вентилятораПереключитесь на разъем вентилятора, поддерживающий управление, и измените конфигурацию

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

Устранение ошибок, связанных с пинами: Unknown pin / pin used multiple times

Loading...