모션 컨트롤러 펌웨어 - Helsparrow/OpenpnpDocs_KR GitHub Wiki

고급 모션 컨트롤을 위한 컨트롤러 및 관련 펌웨어

이 페이지에는 GcodeAsyncDriver 및 [Advanced Motion Control] 기능과 호환되는 것으로 알려진 컨트롤러 및 관련 펌웨어가 나열됩니다. 다른 컨트롤러도 필요한 기능을 지원할 수 있습니다. 본 문서에 없는 컨트롤러가 필요한 기능을 제공한다고 생각되는 경우 사용자 그룹의 저희들에게 문의하십시오.

펌웨어 업그레이드 및 구성

오픈 소스 컨트롤러 펌웨어는 'X' 'Y' 'Z' 축과 압출기의 제한된 기능 'E'축 만 지원되었던 3D 프린팅 유산을 가지고 있는 경우가 많습니다. 나중에 이러한 펌웨어는 'A' 'B' 'C'와 같은 더 많은 축을 지원하도록 확장되어 동시에 이동하고 위치를 보고하는 등의 모든 기능을 제공했습니다. 이러한 최신 펌웨어 버전 중 하나를 로드했는지 확인하십시오. 일부 펌웨어에서는 추가 축을 적절하게 구성해야 합니다. 잘 지원되는 일부 펌웨어의 경우 다음 섹션에서는 구성에 필요한 업그레이드 및 지침에 대해 설명합니다.

이 영역에서는 Wiki의 기여를 매우 환영하므로 펌웨어가 제대로 문서화되지 않은 경우 문서를 발견한 후 문서를 기증하는 것을 고려하십시오.

주요 특징

다음 주요 기능이 지원되어야 합니다(호밍 또는 G1 등과 같은 및 모션 명령 외에도).

  1. 컨트롤러는 M115 펌웨어 보고 명령을 제공합니다. OpenPnP에서 펌웨어 종류를 자동으로 감지하기 위해 사용합니다. 그런 다음 [문제 및 솔루션 마법사]] 시스템에서 일부 자동 설정을 제공할 수 있습니다. 비모션 컨트롤러(예: 피더 제어 보드)의 경우에도 포트에서 컨트롤러를 쉽게 식별하고 [자동 문제 및 솔루션 자동 설정을 허용하기 위해 최소한으로 구현하는 것이 좋습니다.

축이 부착된 컨트롤러에는 다음 요구 사항이 적용됩니다:

  1. 컨트롤러는 추가 축(A, B, C 등)을 실제 축으로 동시에 관리할 수 있어야 합니다. T tool select 명령으로 "extruder" E축을 다중화하는 것만 지원하는 컨트롤러/펌웨어는 유효하지 않습니다. NIST RS274/NGC Interpreter – Version 3 표준, 보다 구체적으로 섹션 "2.1.2.5 이송 속도" 이상에 따른 이송 속도 및 가속도 제한의 모든 측면을 포함하여 축의 혼합이 올바르게 지원되어야 합니다.

  2. 컨트롤러는 일반적으로 'M114' 명령을 사용하여 추가 축('A', 'B', 'C' 등)을 포함한 축 위치를 보고할 수 있습니다.

  3. 컨트롤러는 일반적으로 'G92' 명령을 사용하여 추가 축('A', 'B', 'C' 등)을 포함한 축 위치를 재설정할 수 있습니다.

  4. G92는 동작이 아직 보류 중일 때 올바르게 동작해야 합니다. 정지 상태를 암묵적으로 기다리거나 즉석 오프셋을 허용하거나.

  5. 컨트롤러는 일반적으로 M400 명령을 사용하여 모션 완료를 기다릴 수 있어야 합니다. 'M400' 이후에 전송된 추가 명령은 모션 완료까지 일시 중지되어야 합니다. 컨트롤러는 동작이 완료될 때 명령을 승인해야 합니다. 즉, "ok"(COMMAND_CONFIRM_REGEX) 응답은 그때까지 일시 중지되어야 하며 OpenPnP에 블로킹 동기화를 제공해야 합니다.

  6. 컨트롤러는 일반적으로 가속을 위한 M204 명령 또는 저크를 위한 M201.3 명령에 의해 동적 가속 및/또는 저크 제한을 지원해야 합니다.

새 펌웨어를 적용하려면 OpenPnP에 내장된 GcodeServer 컨트롤러 시뮬레이터를 사용하는 것이 가장 좋습니다. 그런 다음 명령을 보내고 예상되는 응답과 동작을 관찰할 수 있습니다. GcodeDriver를 tcp로 전환하고 IP 주소를 정확하게 GcodeServer로 설정(대소문자 구분)하여 내장 GcodeServer를 활성화할 수 있습니다.

Duet3D

Duet3D 2/3 컨트롤러 펌웨어는 OpenPnP와 함께 사용하기에 완벽했습니다. 무료 Duet 3 보드를 제공한 Duet3D와 실질적인 개선 사항을 구현하고 중요한 pull request를 수락한 dc42에 많은 감사를 드립니다. 고급 OpenPnP 사용을 위해 Duet 펌웨어가 다음과 같이 개선되었습니다...

  • USB 시리얼 속도
  • 압축된 G 코드 구문 분석에 대한 수정
  • NIST G-Code 표준의 섹션 2.1.2.5에 따라 올바른 이송 속도 계산을 위한 수정 및 환경설정 옵션
  • 사전계획 수립을 위한 유예기간 환경설정

대부분의 OpenPnP Advanced Motion Control 기능을 지원하려면 펌웨어 버전 version 3.3beta 이상을 사용해야 합니다. 문제 및 솔루션 마법사시스템을 사용하여 올바른 버전 및 구성을 감지하고 적절한 G 코드를 설정하십시오.

업그레이드 방법은 Duet3D Wiki를 참조하십시오.

환경 설정

다른 보드에 RepRapFirmware 업로드

RepRapFirmware는 Duet3D 보드 펌웨어의 공식 이름입니다( 참조). 오픈 소스이며 포트는 일부 STM32 및 LPC 보드에서 사용할 수 있습니다.

이를 지원하려면 2023-01-11 이상의 OpenPnP 버전이 필요합니다.

Smoothieware

⚠ 경고 ⚠ 일반적으로 중국 온라인 상점에서 제공되는 스무디보드의 불법 복제품을 구매하지 마십시오. 이들은 오픈 소스 라이선스 및 브랜드 이름을 위반하는 것으로 알려져 있으며 열등/하위 사양 및 위조 구성 요소, 부적절한 동박 레이어 등을 사용합니다. OpenPnP에서 실패하는 것으로 알려져 있습니다. 우리는 이러한 보드에 대한 지원을 제공하지 않습니다. 여기여기에서 토론을 참조하십시오.


OpenPnP용 특수 스무디웨어 펌웨어를 사용할 수 있습니다. 여기에는 OpenPnP와 함께 사용하는 데 중요한 몇 가지 버그 수정 및 기능이 포함되어 있지만 공식 스무디웨어 펌웨어에는 없거나 허용되지 않습니다. 펌웨어 및 자세한 내용은 여기에서 확인할 수 있습니다:

업그레이드 방법은 Smoothieware Wiki를 참조하십시오:

구동 축 vs. 압출기 환경설정

스무디웨어가 압출기가 아닌 실제 축, 즉 A B C를 사용하도록 구성되어 있는지 확인하세요(저희는 3D 프린팅이 아닙니다!). config.txt에 다음과 같은 내용이 포함된 경우:

# Extruder module configuration
# See http://smoothieware.org/extruder
extruder.hotend.enable                          true          # Whether to activate the extruder module at all. All configuration is ignored if false
extruder.hotend.steps_per_mm                    8.8888      # Steps per mm for extruder stepper

그런 다음 extruder 부품을 제거하고 대신 Smoothieware 6axis page 페이지에 설명된 delta, epsilon zeta 를 정의를 사용해야 합니다.

이 단계를 건너뛰면 문제 및 솔루션 마법사에서 "드라이버가 예상 X Y Z A B C 순서로 축을 보고하지 않습니다" 또는 "가능하면 축 문자 E를 피하십시오. 대신 적절한 회전 축을 사용하십시오."라는 항의를 표시합니다.

driver reported

Marlin 2.0

Marlin은 최신 6축 또는 9축 지원을 위해 구성해야 합니다. 즉, 축 A B C 등을 사용합니다. OpenPnP는 이전 다중 압출기 E0 E1 등 모드에서 (합리적으로) 작동하지 않습니다.

도움 요청: 여기에서 환경 설정에 대해 논의했지만 Marlin 사용자가 별도의 Marlin Configuration 페이지에 더 간결한 지침을 제공해야 합니다.

TinyG

TinyG는 Liteplacer 키트와 함께 제공되기 때문에 Pick & Place에 자주 사용됩니다. 일부 기능이 TinyG에 추가되어 다른 컨트롤러처럼 만들고 OpenPnP와의 사용을 최적화했습니다. 펌웨어 및 자세한 내용은 여기에서 확인할 수 있습니다:

TinyG 프로젝트는 이제 대부분의 변경 사항을 공식적으로 채택했습니다. 그러나 공식 펌웨어 다운로드(바이너리)가 아직 업데이트되지 않았으며 추가 지침이 필요하므로 여전히 makr.zone 링크를 사용하십시오. 또한 진공 감지를 위해 ADC를 지원하는 특수 버전이 여전히 있습니다.


Advanced Motion Control Topics

Motion Control

Machine Axes

General