Инструкция по замене пинов конфигурации
Эта страница предназначена для помощи пользователям в адаптации существующих конфигураций Klipper к используемой плате FLY. Многие конфигурации из сети можно использовать только как структурные примеры, их нельзя копировать напрямую. Перед использованием необходимо заменить соответствующие пины в соответствии с моделью платы, расположением разъемов и способом подключения.
Перед началом работы полностью выключите принтер и отключите его от источника питания. Не подключайте и не отключайте жгуты проводов, не выравнивайте порядок контактов в разъемах и не прикасайтесь к клеммам, когда устройство находится под напряжением.
- Данная статья объясняет только, как найти и заменить пины в конфигурации, и не предоставляет полную готовую конфигурацию для какого-либо конкретного станка.
- Параметры, такие как
position_max,rotation_distance,microsteps,run_current,sensor_type, необходимо уточнять в соответствии с фактическим станком и оборудованием. Не следует слепо копировать их только из-за замены платы. - Пины платы следует определять на основе документации соответствующего продукта FLY, маркировки на самой плате и официальных эталонных конфигураций.
Подход к модификации
При изменении конфигурации рекомендуется следовать приведенному ниже порядку:
- Определите модель используемой в данный момент платы FLY.
- Откройте документацию на соответствующую плату и найдите описание пинов для драйверов, концевых выключателей, вентиляторов, нагревателей, термисторов и т.д. Также можно напрямую обратиться к эталонной конфигурации Klipper для соответствующей платы.
- Найдите в файле
printer.cfgи всех файлах[include]разделы функций, которые необходимо изменить. - Найдите новый пин, который вы собираетесь использовать, и убедитесь, что он не занят другими активными конфигурациями.
- Замените только те пины, которые связаны с разъемами платы, и сохраните необходимые символы
!,^,~. - Сохраните конфигурацию и перезапустите Klipper.
- Тестируйте функции по одной, не включайте все периферийные устройства одновременно.
Распространенные функциональные разделы
| Функция | Распространенный раздел конфигурации | Распространенные элементы для замены |
|---|---|---|
| Двигатели 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 |
Поиск соответствующей конфигурации
Если вы не уверены, в каком файле находится конфигурация, рекомендуется использовать веб-интерфейс конфигурации для поиска.
- Откройте веб-интерфейс принтера в браузере, например, Fluidd или Mainsail.
- Перейдите на страницу файлов конфигурации и откройте
printer.cfg. - Используйте функцию поиска в браузере или редакторе для поиска ключевых слов ниже.
- Если вы видите
[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]:
[extruder]
heater_pin: PD12
sensor_pin: PC2
sensor_type: Generic 3950
Нагреватель стола обычно находится в разделе [heater_bed]:
[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 и т.д.).
Вентиляторы
Распространенная запись для обычного вентилятора обдува модели:
[fan]
pin: PA0
Распространенная запись для вентилятора охлаждения хотэнда:
[heater_fan hotend_fan]
pin: PA1
heater: extruder
heater_temp: 50.0
Выше приведены примеры разъемов вентиляторов для платы C8P. Перед заменой найдите PA0, PA1, чтобы убедиться, что эти пины не заняты одновременно [output_pin], [fan_generic] или другими конфигурациями вентиляторов. Если разъемы вентиляторов на плате разделены на постоянно включенные и управляемые, убедитесь, поддерживает ли соответствующий разъем вентилятора, указанный в документации, управление ШИМ.
Зонды и концевые выключатели
Распространенная запись для механического концевого выключателя:
[stepper_x]
endstop_pin: ^PD9
Распространенная запись для обычного зонда:
[probe]
pin: ^PC0
Распространенная запись для зонда типа BLTouch:
[bltouch]
sensor_pin: ^PC0
control_pin: PE6
Выше приведены примеры разъемов концевых выключателей и зондов для платы C8P. Используется только один из вариантов: обычный [probe] или [bltouch], не активируйте одновременно один и тот же сигнальный пин зонда. Необходимость в ^ или ! для входных сигналов, таких как концевые выключатели и зонды, зависит от типа модуля и способа подключения. Перед изменением найдите PD9, PC0, PE6, чтобы убедиться в отсутствии повторного использования; после изменения сначала проверьте состояние срабатывания с помощью команд QUERY_ENDSTOPS, QUERY_PROBE в веб-консоли, а затем выполняйте хоминг или выравнивание стола.
Сохранение и проверка
После завершения изменений нажмите SAVE & RESTART в правом верхнем углу веб-страницы, чтобы сохранить и перезапустить Klipper. Если изменения затрагивают низкоуровневые конфигурации, такие как подключение к MCU или связь с драйвером, может потребоваться выполнить FIRMWARE_RESTART в консоли вместо обычного RESTART.
Рекомендуется проверять в следующем порядке:
- Убедитесь, что Klipper запускается нормально и не выдает ошибок конфигурации, таких как
Unknown pin chip name,Pin is not a valid pin name,Unable to parse option. - Если появляется ошибка
pin xxx used multiple times in config, сначала найдите и устраните повторное использованиеxxx, не продолжайте тестирование. - Используйте команду
QUERY_ENDSTOPSв веб-консоли, чтобы проверить нормальное состояние концевых выключателей. - Проверяйте вентиляторы, нагреватели и зонды по отдельности, не тестируйте несколько периферийных устройств одновременно.
- Проверьте направление двигателей, перемещая их на небольшие расстояния, например, на
1mmили5mm. - Убедившись, что направление, концевые выключатели, температура и вентиляторы работают нормально, приступайте к тестированию хоминга и печати.
Часто задаваемые вопросы (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