구동 축 - Helsparrow/OpenpnpDocs_KR GitHub Wiki

OpenPnP 좌표계

OpenPnP는 개념적으로 오른손 직각 좌표계를 사용합니다. 기계 앞에 서 있다고 가정하면 X축은 오른쪽을 가리키고 Y는 사용자로부터 멀어지고 Z는 위로 향합니다. 회전축 C는 Z를 중심으로 회전합니다. 기계 테이블을 내려다볼 때 이것은 시계 반대 방향이며 X축이 가리키는 곳은 0°입니다.

Axis Coordinate System

Z축 관련 용어

OpenPnP는 일반적으로 노즐이 들어간 위치, 즉 안전한 높이에서 Z = 0인 Z 좌표를 사용합니다. 노즐이 PCB 또는 피더에 도달하면 음의 Z 범위에 있습니다. 예를 들어 PCB가 Z = -25mm일 수 있습니다.

처음에는 이상하게 들릴 수 있지만 이러한 선택에는 기술적인 이유가 있습니다. 2개의 노즐 헤드가 Z축을 공유 하는경우 하나의 노즐이 올라가면 다른 하나가 내려갑니다. 따라서 동일한 좌표 값(하나는 음수, 하나는 양수)의 두 노즐을 갖는 것이 자연스러운 선택입니다. 좌표계를 오른손잡이로 유지하려면(Z축이 위를 가리켜야 함) 아래로 향하는 노즐의 Z 좌표가 음수여야 합니다. 또한 대부분의 Z축은 상단(단일 노즐) 또는 중간점(Z축 공유 듀얼 노즐)에서 _호밍_되어 노즐이 후퇴하거나 균형을 이룹니다. 많은 컨트롤러가 축을 0으로 홈으로 설정하는 것이 기본값입니다. 즉, 상단 Z가 0이고 하단 도달 범위가 음수인 또 다른 이유가 있는 것입니다.

이론적으로, 소프트웨어는 Z가 모두 양의 방향인 시스템을 지원해야 합니다. 그러나 몇 가지 주의 사항이 있습니다:

  1. 위치는 Z를 포함하여 모두 0으로 초기화됩니다. 때때로 X, Y 및 Z는 별도로 처리됩니다. 즉, 카메라로 X, Y를 설정하고 노즐로 Z를 설정합니다(피더, 노즐 교환기 위치 등에 일반적). 모두 양수인 Z 좌표를 사용하여 Z를 설정하는 것을 잊고 0에 두는 경우 잠재적으로 위험합니다. 사용자 또는 OpenPnP의 일부가 해당 위치에 위치를 지정하려고 할 때 노즐이 피더/노즐 체인저 등에 충돌할 수 있기 때문입니다. 당신 또는 OpenPnP의 어떤 부분이 해당 위치에 접근하려고 할 때. Z=0을 안전한 높이로 지정해 주었다면 나쁜 일이 일어나지 않습니다.
  2. 가장 높고, 균형있고, 안전한 Z축 지점인 Z=0은 OpenPnP의 기본 설정입니다. 대부분의 사용자(개발자 포함!)가 해당 방법을 사용합니다. 소프트웨어는 분명히 모든 양의 방향 Z 좌표를 지원해야 하지만 거의 테스트되지 않았을 것으로 생각됩니다. Z를 0으로 초기화하고 적절한 안전 Z 좌표를 설정하는 것을 잊는 코드가 있을 가능성이 더 높습니다. 올 포지티브 Z 머신에서는 노즐이 충돌할 수 밖에 없습니다.
  3. OpenPnP의 일부 코드는 Z=0이 작업영역 내, 있어야 하는 위치에 "아직 세팅되지 않았다"고 가정합니다.(즉, Safe Z가 아님). 이는 이러한 좌표가 아직 설정되지 않은, 문제 및 솔루션 마법사의 교정 단계의 경우 입니다. 올 포지티브 Z 좌표계가 사용하며 Z=0이 유효한 작업 범위 좌표여야 하는 경우 Z=0.001을 입력하세요.

만약 올 포지티브 Z로 설정 하고 싶으시다면, 토론 그룹에 최신 상태를 요청하세요. 만약 혼자서 잘 해내셨다면, 부디 공유 해 주세요!

OpenPnP에서 구동 축 지정

Machine Setup 탭의 계층적 화면에서 Axes 항목를 확장하세요. 이전 버전의 OpenPnP 또는 기본 세트에서 마이그레이션된 정의된 축을 이미 볼 수 있을 것입니다. 또한 문제 및 솔루션 마법사모든 적절한 축이 연결된 전체 노즐 솔루션을 생성하도록 할 수 있습니다. 당신이 이질적인 기기를 쓰지 않는한, 항상 거기에서 시작해야 합니다.

구동축 수동 생성

이는 이질적인 구동 축 구성 및/또는 노즐 솔루션을 사용한 후에만 필요합니다.

기존 축 중 하나를 클릭하거나 Plus버튼을 눌러 새 축을 만드세요:

Select Axis Type

ReferenceControllerAxis

ReferenceControllerAxis는 기본적으로 기기의 기본적인 컨트롤러-연결 축입니다.

Linear Axis Setup

환경설정

Type 은 직각 좌표계 내부의 축 의미를 정의합니다. OpenPnP는 동일한 유형의 여러 축을 가질 수 있으고, 일반적으로는 다중 노즐 기계의 경우 여러 Z 및 C 축을 가질 수 있습니다.

Axis Type

Name 은 개념적인 축 이름입니다.

컨트롤러 설정

Driver 는 모션을 제어하는 컨트롤러와 통신하는 드라이버에 구동축을 연결합니다.

Axis Letter 는 컨트롤러에서 어드레싱되는 축의 문자를 제공합니다(일반적으로 G 코드 문자). 문자는 분명히 주어진 드라이버에 대해 고유해야 합니다. 여러 드라이버가 있는 경우 일반적으로 동일한 문자가 여러 번 사용됩니다(그래서 OpenPnP 내부에서 Name이 아닌 개념적 Letter으로 축을 참조합니다).

오픈 소스 컨트롤러 펌웨어는 3D 프린팅의 영향으로 X Y Z 축과 더불어 기능이 제한되는 압출기용 E축이 있는 경우가 많습니다. 훗날 이러한 펌웨어는 더 많은 축을 지원하도록 확장되었는데, 예를 들면 동시에 이동하고 위치를 다시 보고하는 것과 같은 모든 기능을 갖춘 A B C와 같은 것들입니다. 이러한 최신 펌웨어 중 하나를 불러와 추가 축을 올바르게 구성했는지 확인하십시오. 모션 컨트롤러 펌웨어를 참조하시기 바랍니다.

Switch Linear ↔ Rotational: G 코드 컨트롤러는 선형 축과 회전 축을 구분합니다. 그 차이는 이송 속도, 가속 제한 및 기타 문제의 올바른 해석과 관련이 있습니다. 하나 이상의 컨트롤러 및/또는 2개 이상의 노즐이 있는 기계가 있는 경우 선형 컨트롤러 축(일반적으로 X Y Z)을 사용하여 개념적으로 회전 축(A B C) 또는 그 반대로 이동해야 할 가능성이 높습니다.

또한 최상의 결과를 얻으려면 개념적으로 _Rotational_하더라도 모든 컨트롤러 축을 _Linear_로 설정하는 것을 권장합니다. 이를 통해 OpenPnP는 더 나은 정밀도와 부드러운 세그먼트 전환으로 이송 속도, 가속도 등을 제어할 수 있습니다. 이는 Simulated3rdOrderControl 모션 제어를 포함하여 motion interpolation과 같은 고급 기능에 필수적입니다.

어쨌든 OpenPnP는 컨트롤러에서 축이 어떻게 구성되어 있는지 알아야 하므로 필요한 경우 스위치를 사용하여 의미를 전환합니다. [올바른 펌웨어](모션 컨트롤러 펌웨어)가 있는 고급 컨트롤러(현재 스무디웨어 및 Duet 3D)의 경우 문제 및 솔루션 마법사에서 자동으로 감지합니다.

이 설정이 올바르게 구성되지 않은 경우 일반적으로 타임아웃 에러가 발생합니다. 즉, 속도 제어가 제대로 작동하지 않거나 속도 %를 줄였을 때에도 이동 속도가 매우 느리거나 너무 빠르게 됩니다. 두 문제는 혼합 이동에서만 발생합니다. 즉, 회전 축과 선형 축이 모두 동일한 이동에서 변위될 때 발생합니다. 이는 일반적으로 노즐 팁 보정에서 발생합니다.

Home Coordinate 는 OpenPnP에 원점 복귀 후 초기 좌표를 제공합니다. 여기에는 후퇴 거리가 포함될 수 있습니다.

Backlash Compensation백래시 보상 페이지에서 나중에 다룰 예정입니다. 첫 번째 기본 설정의 경우 None으로 두십시오.

Resolution [Driver Units] 는 OpenPnP가 좌표의 변경으로 간주해야 하는 최소 스텝을 나타내며 해상도 "tick"이라고 부르기도 합니다. 축 모터의 마이크로 스텝 변위 또는 실제 배수와 같아야 합니다. 이는 [Driver Unit] 당 스텝 수로 지정되는 경우가 많기 때문에 대신 입력할 수 있으며 두 필드는 자동으로 앞뒤로 변환됩니다:

Resolution

Steps per Unit

해상도 틱이 클수록 OpenPnP는 불필요한 미세 축 이동을 더 자주 생략할 수 있습니다. 특히 비직각도 보상, 노즐 팁 런아웃 보상 등의 작은 조정에서 더욱 자주 생략할 수 있습니다. 미세 축 이동을 생략함으로써 OpenPnP는 추가 백래시 보상 이동도 방지할 수 있습니다. 따라서 모션 시간을 절약하십시오. 해상도를 PnP에 필요한 정밀도 측면에서 의미가 있도록 마이크로 스텝 변위의 정수배로 설정하세요. 즉, 일반적으로 몇 0.01mm 정도입니다.

0.0001 드라이버 단위를 표현할 수 있는 %.4f로 기본 설정된 G-Code MOVE_TO_COMMAND 형식으로 표현될 때 표현된 모든 좌표는 항상 "틱"마다 변경되어야 합니다.(단, 작은 자릿수에서 좌표를 반올림해도 무방합니다.)

컨트롤러 설정 (회전 축)

회전축에는 두 개의 체크박스가 더 있습니다.

Rotation Axis

Limit to Range 는 회전 범위를 -180° ... +180°(기본값) 범위로 한정합니다. 예를 들어 대신 190°로 이동하면 물리적으로 동일한 -170° 위치로 이동합니다. 사용자 정의 범위가 있는 축, 관절 노즐 제한(예: 360° 미만 회전) 등에 대한 지침은 특수 노즐 회전 모드 페이지를 참조하십시오.

Wrap around 는 항상 원하는 각도로 더 짧은 방향으로 이동합니다. 예를 들어 대신 270°에서 30°(-240° 회전)로 이동하면 등가 390° 위치(+120° 회전)로 이동합니다. 이는 매우 큰 각도까지 감기는 결과를 초래할 수 있습니다. 경우에 따라 한순간에 감김이 풀어지면서 진공관 커플링에 과도한 부담을 줄 수도 있습니다.

다행스럽게도 Limit to RangeWrap around가 결합되면 축 좌표는 wrap around 이동 후 해당 좌표인 -180° ... +180°로 재설정됩니다. 따라서 감기지 않게 됩니다.

참고: GcodeDriver는 문제 및 솔루션 마법사가 제안하는 'SET_GLOBAL_OFFSETS_COMMAND'가 구성되어 있어야 합니다.(컨트롤러가 지원하는 경우)

운동 설정 / 거리 한계


참고: 다음 설정은 이제 문제 및 솔루션 마법사에서 간단한 단계별 지침을 사용하여 설정하고 대화식으로 기계를 위치시켜 실제 좌표를 캡처할 수 있습니다. 예외적인 수동 설정과 더 나은 이해를 위해 다음 지침이 남아 있습니다.


Soft Limit LowSoft Limit High 는 해당 축의 유효한 범위입니다. OpenPnP는 이 범위를 벗어날 경우 위치 이동을 거부 할 것입니다.

Soft Limit

각각의 제한은 **Enabled?**가 선택 된 경우에만 활성화 됩니다.

Capture Axis Limit Capture 버튼을 눌러 현재 축 위치를 새 한계점으로 캡처합니다.

Position to Axis Limit Position 버튼을 눌러 축을 현재 한계점으로 이동합니다.

참고: Soft Limit은 백래시 보상 전에 적용됩니다. 즉, 컨트롤러는 여전히 백래시 오프셋에 대한 Soft Limit을 약간 넘어서도록 지시받을 수 있습니다. 물리적 리미트 스위치 또는 hard limit을 적용할 별도 수단이 있는 경우 추가 오프셋을 허용하는 Soft Limit을 선택하십시오.

Soft Limit 내에서 Safe Zone LowSafe Zone High 한계점을 정의할 수 있습니다. 이것은 Safe Z를 정의하기 위해 Z축에 필수 적용해야합니다. 기계 테이블에 있는 사물과의 충돌을 방지하기 위해 헤드가 X 및 Y(또는 C)축 이동을 실행하기 전에 노즐(및 기타 헤드 마운트 테이블)을 Safe Z까지 들어 올려집니다.

Safe ZoneLowHigh에 대해 동일한 값이 될 수 있으며 단일 Safe Z 높이를 정의합니다. 또는 범위로 설정하여 OpenPnP가 작업을 최적화할 더 많은 자유를 제공 할 수도 있습니다.

다중 노즐 기계는 보통 하나의 물리적 Z축을 공유하여 두 개의 노즐이 균형추, 시소, 로커 구성으로 움직입니다(변환 축 페이지 참조). Safe Z를 두 노즐의 완벽한 균형점으로 설정하려면 Z축의 중간점을 Safe Z 높이, 즉 Low/High로 동일한 값으로 선택합니다. 또한 당신이 현재 구동축을 처음으로 정의하는 도중인 경우 이 설정을 시작점으로 사용해야 합니다(닭이 먼저냐 달걀이 먼저냐 문제).

기계가 이미 설정되어 있으면 Z축 설정을 다시 열여 최적화할 수 있습니다. 노즐은 Z축 빈공간많을 수 있습니다. 즉, 노즐을 균형점까지 이동하는 것이 상당히 느립니다. 따라서 노즐에 대한 개별적 Safe Z 높이를 선택하고 각각 Safe Zone LowHigh 제한으로 설정할 수 있습니다(위아래로 조그할 때 어느 것이 무엇인지 알 수 있음) . 그러면 OpenPnP는 자유롭게 최적화되고 필요한 만큼만 노즐을 들어 올립니다. 편안하게 구경할 준비 하셔도 좋습니다 ;-)

job 도중 OpenPnP가 한 노즐에서 다음 노즐로 전환할 때(노즐 하나가 올라가고, X/Y축 이동하고, 반대쪽 노즐이 내려감), OpenPnP는 전송 시간을 이용하여 반대쪽 Z축을 안전 영역의 한계까지 이동하여, 출구지점에 반대쪽 노즐을 대기시시켜 대상 위치로 가장 짧고 빠르게 하강하도록 합니다.

다른 선형 축(X, Y)에도 제한된 안전 영역을 잡을 수 있습니다. 모든 축에서 안전 영역을 결합하신다면, 공간내에 모든 동작(충돌 X)에 대해 안전하다고 간주되는 박스가 생깁니다. 그 박스 안에서 OpenPnP는 어떤 움직임도 자유롭게 할 수 있습니다. 이것은 Advanced-Motion-Control에 악용됩니다.

참고: 안전 영역 제한이 정의되지 않은 경우(**Enabled?**가 꺼짐) 영역 제한이 없는 것으로 간주됩니다. 즉, 다른 축(즉, 적어도 Z축)이 해당 안전 영역에 있는 한 모든 위치가 안전한 것으로 간주됩니다. .

운동 설정 / 속도 한계

per Second per Minute

**Feedrate [/s]**는 축의 속도 제한을 설정합니다. 참고: G-코드 F값 쓰듯 초당 단위 또는 (보다 전통적인) 분당 단위로 설정하실 수 있습니다. 자동으로 GUI에서 서로 변환됩니다.

축은 서로 다른 속도 제한을 가질 수 있으며, 이 제한은 선형 [mm/s]가 아닌 각도 [°/s]인 회전 축에 특히 중요합니다. 일반적인 DIY PnP 머신에서 각속도는 일반적으로 선형 속도보다 훨씬 높습니다. 예를 들어 180° 노즐 회전은 180mm 선형 이동보다 훨씬 빠를 것입니다.

OpenPnP가 여러 축 조합(예: 대각선 + 회전)으로 이동을 수행할 때 모든 축의 속도 제한을 이용합니다. 즉, 대각선의 전체 속도는 개별 축에 비해 상당히 빠를 수 있습니다(이 동작은 선택 사항입니다. 고급 모션 제어 참조).

Acceleration [/s²]가속도 제한(단위 시간당 속도의 최대 변화)를 설정합니다. 대부분의 경우에 이것이 속도 제한보다 더 중요합니다. 속도 제한은 매우 긴 이동에서만 도달하기 때문입니다.

Jerk [/s³]저크 한계(단위 시간당 최대 가속도 변화)를 설정합니다. 0으로 두면 저크 제어가 사용되지 않습니다. 저크를 설정해야 하는지 여부는 컨트롤러에 따라 다릅니다. 대부분의 컨트롤러에는 가속 제어만 있으므로 저크는 선택 사항입니다. TinyG의 경우 오직 Jerk만 사용하므로 Jerk 설정은 필수입니다.

저크 제어가 없으면 가속이 순간적으로 켜지고 꺼지므로 진동과 마모가 발생합니다. OpenPnP에는 컨트롤러에 기본적으로 기능이 없는 경우에도 저크 제어를 사용할 수 있는 몇 가지 옵션이 있습니다(고급 모션 제어 참조).

중요: 이러한 제한을 컨트롤러에 대해 구성된 제한 이하로 설정해야 합니다. 그렇지 않으면 매우 이상한 결과를 얻게 될 것입니다. 그러면 OpenPnP 내부의 동작 계획이 완전히 틀어집니다.

Smoothieware 컨트롤러의 경우 config.txt 파일에서 다음과 같은 값을 찾으십시오. Smoothie guide 참조:

x_axis_max_speed                             40000            # mm/min
alpha_max_rate                               40000            # mm/min actuator max speed
alpha_acceleration                           2000.0           # mm/sec^2

다른 유형의 컨트롤러 펌웨어의 경우 이러한 설정은 다른 위치에 있습니다. 컨트롤러 설명서를 참조하십시오.

무슨 값을 세팅해야 합니까?

이 질문은 기계마다 다르기 때문에 답하기가 불가능합니다. 이 문제는 두 개 또는 세 개의 속도 제한이 함께 작동하기 때문에 더욱 혼란스럽습니다. 다음은 완전한 해결법은 아니지만 기계의 좋은 값에 접근하는 방법에 대한 몇 가지 아이디어를 제공합니다. 이 작업은 각 축 따로 수행됩니다:

  1. OpenPnP와 컨트롤러 모두에 대해 환경설정을 백업합니다. 파킹 위치를 기록해 두십시오.

  2. OpenPnP 측에서 자유롭게 실험할 수 있도록 컨트롤러 구성에 매우 높은 제한을 설정하십시오. 컨트롤러에서 OpenPnP에서 설정하는 속도를 잘라먹어선 안 됩니다. 분명하게 확인 해 두세요. 그렇지 않으면 다음 단계에서 혼란을 겪을 수 있습니다.

  3. Duet, Smoothiewware 또는 다른 고성능 컨트롤러가 있는 경우 드라이버를 Simulated3rdOrderControl로 설정합니다. TinyG 및 S-Curve를 지원하는 컨트롤러가 있는 경우 SimpleSCurve을 설정합니다. 그외의 경우 ModeratedConstantAcceleration을 설정합니다. 방법은 여기를 참조하십시오.

  4. 모든 방향으로 자유롭게 이동할 수 있는 중간 어딘가에 기계 테이블의 눈에 잘 띄는 고대비 표시로 파킹 위치를 설정합니다. **'P'**를 누른 후 아래를 내려다보는 카메라의 십자선에 표시가 정확하게 위치하는지 판단할 수 있어야 합니다. 이는 기계가 스텝을 잃어버리는가에 대한 확인이 됩니다(폐쇄 루프가 없다고 가정).

  5. 기계/하향 카메라 설정으로 이동하여 비전 탭으로 이동합니다. 카메라 고정이 아직 구성되지 않은 경우 다음과 같이 활성화합니다:

    Camera Settle Diagnostics

6.더 나은 방법: 지금 바로 카메라 고정 설정을 수행하면(아직 하지 않은 경우) 추가적인 중요한 지표로 정착 시간을 얻을 수 있습니다. 흔들림/진동으로 인해 공격적인 기계 모션과 짧은 정착 시간 사이에 트레이드 오프가 나타날 수 있습니다. Liteplacer와 같은 더 간단한 기계의 경우 이는 중요한 트레이드오프입니다. 즉, 급박한 움직임을 통해 절약된 시간은 훨씬 길어진 카메라 고정 시간에 의해 번번히 낭비 될 수 있습니다. 또한 노즐 팁이 수백 밀리초 동안 여기저기서 흔들릴 수 있기 때문에 정착 시간이 길다는 것은 피킹/배치의 정밀도가 떨어진다는 것을 의미합니다. 7. SimpleSCurve에서 컨트롤러는 feed-rate 200mm/s, acceleration 500mm/s² 및 jerk 10000mm/s³로 시작합니다. 다른 컨트롤러의 경우 이송 속도 200mm/s, 가속도 500mm/s² 및 저크 0mm/s³(비활성화)(3단계 참조). 8. Machine Controls에서 서로 다른 단계 거리(1mm, 10mm, 100mm)를 설정하고 각각에 대해 다음 단계를 수행합니다:

Distance Control

  1. 기계 동작을 테스트하려면 Vision 탭(Machine Controls이 아님)의 화살표 버튼을 사용하십시오. 그런 다음 기계가 어떻게 흔들리고 진동하는지에 대한 그래픽 진단과 (6단계에서 논의된 대로) 고정 시간을 얻어야 합니다.

  2. 또한 모터 소리에 주목하십시오. 모터가 한계에 도달했을 때를 느껴보십시오. 4단계에서 준비한 대로 **P**로 확인하여 손실된 스텝이 없는지 확인하십시오.

  3. 한계 점/절충 수준에 도달했다고 생각될 때까지 축 가속도를 조금씩 높여가며 8단계부터 반복합니다. 긴 이동에서 속도가 일정해지면 이송 속도를 높입니다. 주의: 이송 속도가 증가할 때마다 매우 긴 이동이 여전히 작동하는지 확인해야 합니다. SimpleSCurve 컨트롤러의 경우 여전히 수평이 유지되면 즉시 다음 단계로 진행합니다. 또한 Motion Planner Diagnostics 을 사용하여 어느 제한이 모션 프로파일 언제 어디서 형성하는지 확인할 수 있습니다.

    Motion Profile

  4. 가속 제어 성능이 양호하다고 생각되면 저크로 실험을 시작할 수 있습니다. SimpleSCurve 컨트롤러의 경우 이것은 실제로 메인 튜닝 노브입니다. ModeratedConstantAcceleration이 있는 사용자의 경우 짧은 이동에서의 가속을 억제시킵니다. Simulated3rdOrderControl이 있는 사용자의 경우 저크 제한은 시뮬레이션만 가능하며 보간설정의 조건에 따릅니다. 즉, 이제 보간이 올바르게 설정되었는지 확인해야 합니다.

  5. 저크 제한이 제공되지 않으면 대부분의 컨트롤러는 등 가속도 모델(Constant Acceleration model)이라 불리는 형태로 작동합니다. 이는 사실상 저크가 무한하다는 것을 의미합니다(이론상). 저크를 제한함으로써 진동을 크게 줄일 수 있습니다. "무한"에서 시작하므로 숫자가 상당히 높을 수 있습니다. 100000mm/s³에서 시작한 다음 내려갈 수 있습니다.

  6. 저크 제한은 시작/정지 시뿐만 아니라 최고 속도 전환 시에도 가속의 적극성을 완화합니다. 둘 다 가속도를 높이고 때로는 이송 속도 제한을 차례로 높일 수 있습니다. 다양한 저크/가속 조합을 실험하면 6단계에서 설명한 것처럼 카메라 고정과 더 나은 절충안을 찾을 수 있습니다.

  7. 이 작업을 반복해서 수행하십시오. 좋은 설정을 기록해 두세요.

  8. 모든 축에 대한 설정이 양호하면 컨트롤러 설정성 제한값을 동일하거나 다소 높은 값(안전을 위해)으로 설정합니다.

  9. 5, 6단계에서 카메라 고정 설정을 제대로 하지 않았다면 다시 FixedTime으로 전환하세요.

  10. 파킹 위치를 이전 상태로 복원합니다.

ReferenceVirtualAxis

ReferenceVirtualAxis는 실제 기계 축에 대한 가상 대역입니다. 일반적으로 하향식 카메라에 할당된 가상 Z 및 C가 있습니다. The ReferenceVirtualAxis is a virtual stand-in for a real machine axis. There is typically a virtual Z and C assigned to the down-looking Camera.

Virtual Axis

가상 축 / 설정

기본 Type 및 Name(ReferenceControllerAxis에서 설명함) 외에 Home Coordinate만 축의 초기 위치로 설정하면 됩니다. 이는 이 축에 대해 안전 Z로도 사용됩니다. 즉, 기계 제어에서 Z축 P 버튼을 누르면 이 좌표로 이동합니다.

카메라에 가상 축 할당

Z 및 가상 회전 축을 카메라에 할당합니다(구동축 매핑 페이지 참조):

Assigning Virtual Axes

픽셀당 3D 단위

다른 무엇보다도 가상 Z축은 올바른 보기 평면을 설정하는 데 사용됩니다. 별도의 픽셀당 3D 단위 페이지를 참조하십시오.

사용 사례 / 예시

카메라를 Machine Controls에서 사용하는 동안 Z 또는 C에 대한 좌표를 저장하거나 준비하는 것이 목적입니다.

Virtual Machine Controls

노즐을 피더의 Pick 위치로 이동했다고 가정합니다. 노즐 팁이 부품 바로 위에 있습니다. 이제 노즐의 Z축이 피더의 Z좌표를 제공합니다.

그러나 X/Y를 측면에서 정확하게 판단하기는 어렵고 부품의 회전(C)에 대해서는 전혀 알지 못합니다.

Move Camera to NozzleMove Camera to Nozzle 버튼을 사용하여 카메라를 부품 위로 이동합니다. 이렇게 하면 노즐이 먼저 Safe Z로 이동하므로 조심스럽게 조정한 Z가 손실됩니다. 그러나 카메라의 Z 가상 축을 사용하면 카메라는 X와 Y를 이전 노즐 위치로 이동시킬 수 있을 뿐만 아니라 Z도 이동시킬 수 있습니다. 이제 Z 좌표가 Z 가상 축에서 보호됩니다.

Machine Controls에서 카메라를 선택합니다(자동 툴 선택머신에서 활성화된 경우 이미 자동으로 선택되어 있을 것입니다). 그런 다음 X와 Y도 정확하게 설정되도록 카메라의 십자선에 피더의 선택 위치가 있는지 확인하기 위해 조깅합니다. 카메라에는 실제/물리적 C 축이 없지만 C machine controls을 사용하여 십자선이 카메라 보기의 부품과 잘 정렬될 때까지 회전하는 것은 여전히 의미가 있습니다. 이는 C 가상 축을 사용하여 수행됩니다.

Move Nozzle to Camera 이제 Move Nozzle to Camera 버튼을 사용하여 노즐을 이전 카메라 좌표로 다시 이동할 수 있으므로 이제 X와 Y가 노즐에 적용될 뿐만 아니라 이전의 보호된 Z와 조정된 C도 적용됩니다.

좌표를 잃지 않고 앞뒤로 전환할 수 있습니다. 일반적인 버튼(아래)을 사용하여 노즐 또는 카메라를 캡처하면 가상 축 덕분에 모든 좌표를 얻을 수 있습니다.

Capture Buttons

다른 축

여기에서 설명하는 기계 축 외에도 각각의 개별 페이지에 설명된 다른 유형의 축이 있습니다:

  • 공유 축, 일반적으로 다중 노즐 기계의 공유 Z를 사용하려면 Transformed-Axes를 사용할 수 있습니다.
  • 기계의 기계적 결함을 보정/보정하려면 Linear-Transformed-Axes를 사용하십시오.

Previous Step Jump To Next Step
Driver Setup Table of Contents Top Camera Setup

Advanced Motion Control Topics

Motion Control

Machine Axes

General

⚠️ **GitHub.com Fallback** ⚠️