Примечания по подключению прошивки CAN
Инструкция по подключению
Пожалуйста, выполните следующие три шага по порядку:
Шаг 1: Настройка DIP-переключателей
- Сначала отключите питание: Отключите все источники питания.
- Найдите DIP-переключатели: Переверните плату инструмента. Найдите группу DIP-переключателей на обратной стороне.
- Установите переключатели: Для использования режима CAN переведите все переключатели в положение, показанное на примере ниже.
Loading...
Важное примечание: После изменения положения DIP-переключателей необходимо перепрошить соответствующую прошивку (в данном руководстве используется прошивка CAN).
Шаг 2: Подключение кабелей
- Обесточьте: Не подключайте питание во время подключения кабелей.
- Подготовьте кабель: Используйте четырехжильный кабель данных
XT30(2+2)-F. Цветовая маркировка:- Красный (VCC): Подключается к плюсу источника питания 12В-24В
- Черный (GND): Подключается к минусу источника питания
- Желтый (CAN-H): Подключается к контакту H порта расширения CAN
- Белый/Зеленый (CAN-L): Подключается к контакту L порта расширения CAN
- Подключите устройства:
- Вставьте разъем
XT30(2+2)-Fкабеля в плату инструмента. - Подключите клеммы кабеля к модулю UTOC или к материнской плате с уже прошитой прошивкой «USB-мост CAN».
- Наконец, подключите модуль UTOC или материнскую плату к вашему верхнему компьютеру (например, Fly-Pi или Raspberry Pi) через USB-кабель.
- Вставьте разъем
Шаг 3: Настройка и проверка оконечного резистора
Для обеспечения стабильности сигнала необходимо правильно подключить оконечные резисторы. Настройте их в соответствии с таблицей ниже и выполните измерения при отключенном питании:
| Устройство | Инструкция по эксплуатации |
|---|---|
| Плата инструмента | Найдите и установите перемычку с маркировкой 120Ω. |
| Материнская плата | При подключении к материнской плате также установите перемычку 120Ω. |
| Модуль UTOC | Резистор встроен*. |
Как проверить:
- Убедитесь, что питание полностью отключено.
- С помощью мультиметра измерьте сопротивление между контактами CAN-H и CAN-L на разъеме CAN платы инструмента.
- Интерпретация результата:
- Около 60 Ом: Нормально, оба оконечных резистора подключены правильно.
- Около 140 Ом: Возможно, CAN-H и CAN-L перепутаны местами.
- Около 120 Ом: Не установлен резистор
120Ωили обрыв линии. - Около 40 Ом: Возможно, присутствует лишний резистор. Проверьте промежуточные узлы.
Краткое резюме: Сначала обесточьте. Установите DIP-переключатели. Правильно подключите провода. Затем установите перемычки 120 Ом на обоих концах. В конце измерьте сопротивление, оно должно быть около 60 Ом.
Контрольный список:
- Все операции выполнялись при отключенном питании
- Все DIP-переключатели установлены в нижнее положение (режим CAN)
- Перемычка
120Ωна плате инструмента установлена - Перемычка
120Ωна материнской плате (если используется) установлена - Кабель данных CAN подключен надежно
- Измеренное значение сопротивления около 60 Ом
Настройка сети CAN и устранение неисправностей
Шаг 1: Проверка обнаружения CAN-устройства верхним компьютером
- Войдите в верхний компьютер. Введите команду:
lsusb
- Оцените результат:
- Виден
1d50:606f→ Устройство обнаружено успешно - Выдается ошибка
команда ls не найдена→ Выполните:sudo apt-get install usbutils - Нет никакой реакции → Возможно проблема с системой, рекомендуется переустановить систему
- Несколько
1d50:606f→ Рекомендуется оставить только одно устройство (например, при использовании UTOC отключите другие устройства с прошивкой USB-мост CAN)
⚠️ Важно: Только при наличии
1d50:606fможно продолжить поиск CAN ID
Шаг 2: Настройка сети CAN
Выбор метода настройки в зависимости от типа системы:
Если сеть уже настроена или используется система FlyOS-FAST, этот шаг не требуется!
- Обычная Linux
- Raspberry Pi
Метод настройки для обычной Linux
Установка скорости 1М (рекомендуется):
sudo /bin/sh -c "cat > /etc/network/interfaces.d/can0" << EOF
allow-hotplug can0
iface can0 can static
bitrate 1000000
up ifconfig \$IFACE txqueuelen 1024
pre-up ip link set can0 type can bitrate 1000000
pre-up ip link set can0 txqueuelen 1024
EOF
Установка скорости 500K:
sudo /bin/sh -c "cat > /etc/network/interfaces.d/can0" << EOF
allow-hotplug can0
iface can0 can static
bitrate 500000
up ifconfig \$IFACE txqueuelen 1024
pre-up ip link set can0 type can bitrate 500000
pre-up ip link set can0 txqueuelen 1024
EOF
Примечание: Для системы FAST эту операцию выполнять не нужно!
Метод настройки для Raspberry Pi
- Создайте сетевую конфигурацию (BitRate можно изменить на 500000):
sudo tee /etc/systemd/network/99-can.network > /dev/null <<'EOF'
[Match]
Name=can*
[CAN]
BitRate=1000000
RestartSec=100ms
EOF
- Создайте конфигурацию подключения (TxQueueLength не рекомендуется менять):
sudo tee /etc/systemd/network/99-can.link > /dev/null <<'EOF'
[Match]
OriginalName=can*
[Link]
TxQueueLength=1024
EOF
- Перезагрузите систему для применения изменений:
sudo reboot
Шаг 3: Поиск CAN ID
Проверка состояния CAN:
ip -details link show can0
- Обведенная часть на рисунке ниже показывает скорость CAN и буфер верхнего компьютера
1024сверху — текущий буфер can01000000снизу — текущая скорость can0
Поиск устройства:
- Инструкция для Fly-Armbian и обычных верхних компьютеров
- Инструкция для Fly-FAST
~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0
python ~/klipper/scripts/canbus_query.py can0
В норме отобразится: Found canbus_uuid=xxxx...
Решение распространенных ошибок
| Сообщение об ошибке | Причина | Способ решения |
|---|---|---|
OSError: [Errno 19] No such device | CAN-устройство не найдено | 1. Проверьте USB-подключение 2. Убедитесь в правильности прошивки 3. Выполните lsusb для проверки |
can.CanError: Failed to transmit: [Errno 100] Network is down | Сеть CAN не настроена | 1. Выполните шаги настройки выше 2. Перезагрузите систему |
can.CanError: Failed to transmit: [Errno 105] No buffer space available | Недостаточно буфера | 1. Убедитесь, что буфер CAN равен 10242. Перезагрузите систему |
Шаги проверки, если CAN ID не найден
Шаг 1: Базовая проверка
- Команда
lsusbпоказывает1d50:606f - CAN-устройство и плата инструмента включены
- Кабель данных подключен надежно
Шаг 2: Проверка конфигурации
- Сеть CAN настроена правильно
- Скорость CAN верхнего компьютера соответствует скорости прошивки платы инструмента (по умолчанию 1М)
- Система перезагружена
Шаг 3: Проверка оборудования
- На обоих концах шины CAN есть оконечные резисторы 120 Ом
- Сопротивление между CAN-H и CAN-L, измеренное при выключенном питании, ≈60 Ом
- Проверьте линию на наличие обрывов
- CAN-H и CAN-L не перепутаны
Шаг 4: Обработка особых ситуаций
-
Если ID занят Klipper:
- Закомментируйте соответствующую конфигурацию в Klipper
- Полностью обесточьте на 1 минуту
- Включите питание и выполните поиск заново
-
Измерение оконечного резистора:
- ≈60 Ом: Нормально
- ≈120 Ом: Резистор только на одном конце
- ≈40 Ом: Резистор на трех концах
- ≈140 Ом: Возможно, провода перепутаны
Порядок быстрой проверки
- Сначала проверьте устройство:
lsusb→ Есть1d50:606f? - Затем проверьте конфигурацию:
ip -details link show can0→ Скорость верна? - В конце проверьте оборудование: Измерьте сопротивление при отключенном питании → Около 60 Ом?
Если после всех проверок проблема не решена: Попробуйте заменить кабель данных или устройство. Или обратитесь в службу технической поддержки.
Шаги обновления прошивки платы инструмента
Шаг 1: Подготовка
- Скомпилируйте новый файл прошивки в соответствии с инструкцией
- Остановите службу Klipper:
sudo systemctl stop klipper
Шаг 2: Получение ID платы инструмента
Найдите CAN UUID соответствующей платы инструмента в конфигурационном файле Klipper (например: 241696050c56)
Шаг 3: Выполнение обновления прошивки
Выберите правильную команду в зависимости от версии вашей системы:
-
FlyOS-FAST версии 1.3.8 и выше или системы с обновленным Klipper после 9 апреля 2026:
python3 ~/klipper/lib/katapult/flashtool.py -u 241696050c56 -
Старые версии системы (FAST до версии 1.3.8 или Klipper не обновлялся после 9 апреля 2026):
python3 ~/klipper/lib/canboot/flash_can.py -u 241696050c56
Примечание: После
-uдолжен быть пробел. Затем указывается CAN UUID вашей платы инструмента
Шаг 4: Проверка результата
-
Появилось сообщение
CAN Flash Success→ Прошивка успешно загружена -
Появилось другое сообщение об ошибке → Прошивка не загружена. Проверьте UUID и подключение.
Loading...
Шаг 5: Перезапуск службы
sudo systemctl start klipper
Обновление завершено!