본문으로 건너뛰기

CAN 펌웨어 연결 주의사항

배선 설명

다음 세 단계를 순서대로 완료하세요:

1단계: DIP 스위치 설정

  1. 먼저 전원 차단: 모든 전원을 분리하세요.
  2. DIP 스위치 찾기: 툴 보드를 뒤집어 뒷면의 DIP 스위치 그룹을 찾으세요.
  3. 위치 설정: CAN 모드를 사용하려면 모든 스위치를 아래 예시 위치로 설정해야 합니다.

중요 안내: DIP 스위치 변경 후에는 반드시 해당 펌웨어(본 가이드는 CAN 펌웨어 사용)를 다시 플래싱해야 합니다.

2단계: 배선 연결

  1. 전원 차단 유지: 배선 작업 중에는 절대 전원을 연결하지 마세요.
  2. 케이블 준비: XT30(2+2)-F 4심 데이터 케이블을 사용하세요. 색상 정의는 다음과 같습니다:
    • 빨강 (VCC): 12V-24V 전원 양극에 연결
    • 검정 (GND): 전원 음극에 연결
    • 노랑 (CAN-H): CAN 확장 포트의 H에 연결
    • 흰색/초록 (CAN-L): CAN 확장 포트의 L에 연결
  3. 장치 연결:
    • 케이블의 XT30(2+2)-F 커넥터를 툴 보드에 연결하세요.
    • 케이블의 단자부를 UTOC 모듈 또는 "USB 브리지 CAN" 펌웨어가 플래싱된 메인보드에 연결하세요.
    • 마지막으로, USB 케이블로 UTOC 모듈 또는 메인보드를 상위 컴퓨터(예: FLY Pi 또는 라즈베리 파이)에 연결하세요.

3단계: 터미네이터 저항 구성 및 점검

신호 안정성을 위해 터미네이터 저항을 올바르게 연결해야 합니다. 아래 표에 따라 구성하고, 전원이 차단된 상태에서 측정하세요:

장치작업 설명
툴 보드120Ω 표시가 있는 점퍼 캡을 찾아 끼우세요.
메인보드메인보드에 연결하는 경우, 동일하게 120Ω 점퍼 캡을 끼우세요.
UTOC 모듈내장 저항*이 있습니다.

점검 방법:

  1. 완전히 전원이 차단된 상태를 유지하세요.
  2. 멀티미터를 사용하여 툴 보드 CAN 포트의 CAN-H와 CAN-L 사이의 저항을 측정하세요.
  3. 결과 판단:
    • 약 60Ω: 정상. 양단 저항이 올바르게 연결되었습니다.
    • 약 140Ω: CAN-H와 CAN-L이 반대로 연결되었을 수 있습니다.
    • 약 120Ω: 120Ω 저항이 설치되지 않았거나 선이 끊어졌습니다.
    • 약 90Ω: 120Ω 저항이 하나만 설치되었습니다.
    • 약 40Ω: 불필요한 저항이 있을 수 있습니다. 중간 노드를 확인하세요.

한 줄 요약: 먼저 전원을 차단하고, DIP 스위치를 올바르게 설정하고, 선을 올바르게 연결하고, 양단의 120Ω 점퍼 캡을 연결한 후, 마지막으로 저항이 약 60Ω인지 측정하세요.

점검 목록:

  • 작업 중 전원 차단 유지
  • DIP 스위치가 모두 아래로 설정됨(CAN 모드)
  • 툴 보드 120Ω 점퍼 캡 설치됨
  • 메인보드(해당 시) 120Ω 점퍼 캡 설치됨
  • CAN 데이터 케이블 연결 견고함
  • 저항 측정값 약 60Ω

CAN 네트워크 구성 및 장애 해결

1단계: 상위 컴퓨터가 CAN 장치를 인식하는지 확인

  1. 상위 컴퓨터에 로그인하여 다음 명령을 입력하세요:
lsusb
  1. 결과 확인:
  • 1d50:606f 표시됨 → 장치 인식 성공
  • ls 명령을 찾을 수 없다는 메시지 → 실행: sudo apt-get install usbutils
  • 아무 반응 없음 → 시스템 문제일 수 있으므로 시스템 교체 권장
  • 1d50:606f가 여러 개 표시됨 → 하나의 장치만 유지하는 것이 좋습니다(UTOC를 사용하는 경우 다른 USB 브리지 CAN 펌웨어가 플래싱된 장치는 분리하세요).

⚠️ 중요: 1d50:606f가 표시되어야만 CAN ID 검색을 계속할 수 있습니다.

2단계: CAN 네트워크 구성

시스템 유형에 따라 구성 방법 선택:

이미 구성했거나 FlyOS-FAST 시스템을 사용하는 경우 이 단계는 필요 없습니다!

일반 Linux 시스템 구성 방법

1M 속도 설정(권장):

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 시스템에서는 이 작업을 실행할 필요가 없습니다!

  1. 시스템 재시작하여 적용:
sudo reboot

3단계: CAN ID 검색

CAN 상태 확인:

ip -details link show can0
  • 아래 그림에서 동그라미 친 부분은 상위 컴퓨터 CAN 속도와 버퍼입니다.
  • 위쪽 1024는 현재 CAN0 버퍼입니다.
  • 아래쪽 1000000은 현재 CAN0 속도입니다.

장치 검색:

~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0

정상적으로 표시되면: Found canbus_uuid=xxxx...

일반적인 오류 해결

오류 메시지원인해결 방법
OSError: [Errno 19] No such deviceCAN 장치를 찾을 수 없음1. USB 연결 확인
2. 펌웨어가 올바른지 확인
3. lsusb 실행하여 확인
can.CanError: Failed to transmit: [Errno 100] Network is downCAN 네트워크가 구성되지 않음1. 위 구성 단계 실행
2. 시스템 재시작
can.CanError: Failed to transmit: [Errno 105] No buffer space available버퍼 공간 부족1. CAN 버퍼가 1024인지 확인
2. 시스템 재시작

CAN ID를 찾을 수 없는 경우 점검 단계

1단계: 기본 점검

  • lsusb 실행 시 1d50:606f가 표시됨
  • CAN 장치와 툴 보드에 전원이 공급됨
  • 데이터 케이블 연결이 견고함

2단계: 구성 점검

  • CAN 네트워크가 올바르게 구성됨
  • 상위 컴퓨터 CAN 속도가 툴 보드 펌웨어와 일치함(기본값 1M)
  • 시스템이 재시작됨

3단계: 하드웨어 점검

  • CAN 버스 양단에 120Ω 터미네이터 저항이 있음
  • 전원 차단 상태에서 CAN-H와 CAN-L 사이 저항 ≈60Ω
  • 선로에 단선 없음
  • CAN-H와 CAN-L이 반대로 연결되지 않음

4단계: 특수 상황 처리

  • Klipper가 ID를 이미 사용 중인 경우:

    1. Klipper 구성에서 해당 설정 비활성화
    2. 완전히 전원 차단 1분
    3. 다시 전원 공급 후 검색
  • 터미네이터 저항 측정값:

    • ≈60Ω: 정상
    • ≈120Ω: 한쪽 끝에만 저항이 있음
    • ≈40Ω: 세 곳에 저항이 있음
    • ≈140Ω: 선이 반대로 연결되었을 수 있음

빠른 문제 해결 순서

  1. 먼저 장치 확인: lsusb1d50:606f가 있나요?
  2. 다음 구성 확인: ip -details link show can0 → 속도가 올바른가요?
  3. 마지막 하드웨어: 전원 차단 후 저항 측정 → 약 60Ω인가요?

모두 점검한 후에도 안 될 경우: 데이터 케이블이나 장치 교체 시도, 또는 기술 지원에 문의하세요.

툴 보드 펌웨어 업데이트 단계

1단계: 준비 작업

  1. 튜토리얼에 따라 새 펌웨어 파일 컴파일 완료
  2. Klipper 서비스 중지:
sudo systemctl stop klipper

2단계: 툴 보드 ID 가져오기

Klipper 구성 파일에서 해당 툴 보드의 CAN UUID를 찾으세요(예: 241696050c56)

3단계: 펌웨어 업데이트 실행

다음 명령을 사용하여 펌웨어 플래싱(241696050c56을 실제 CAN UUID로 대체):

python3 ~/klipper/lib/canboot/flash_can.py -u 241696050c56

4단계: 결과 확인

  • CAN Flash Success 메시지 표시 → 플래싱 성공
  • 기타 오류 메시지 표시 → 플래싱 실패, UUID와 연결 확인 필요

참고: -u 뒤에는 공백이 하나 있어야 하며, 그 다음에 툴 보드의 CAN UUID가 옵니다.

5단계: 서비스 재시작

sudo systemctl start klipper

업데이트 완료!

Loading...
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
Loading...