2017년 9월 5일

excelliSCAN 과 RTC6



작년말경 스캔랩(SCANLAB)에서 고성능의 스캐너와 제어기를 개발발표한바 있습니다. 제품명은 excelliSCAN 으로 주요한 기능으로는 트래킹 에러(Tracking error)가 0 이라는 시간값에 근접한다는 강력한 성능을 가지고 있습니다.
트래킹 에러(tracking error)라는 것은 시간에 대한 오차값으로 갈바노메터(galvanometer)에 명령된 위치와 실제 이동된 위치간의 지연값(latency delay)을 의미합니다. 위의 이미지처럼 제어기(RTC) 에서는 매 10usec 마다 위치 명령이 전송되지만 갈바노메터및 미러장치는 질량이 있고 이에 따른 관성(inertia)도 가지고 있기 때문에 가감속이 진행되고 결국 tracking error 시간만큼의 지연이 발생됩니다.
결국 가감속 부분의 균일하지 못한 위치 차이도 있는데다가, 만약 가공대상 물체가 이동중이라면 가공 위치 오차 (= tracking error * 이동중인 물체의 속도) 만큼의 가공편차가 발생합니다.

이 때문에 RTC 제어기와 스캐너의 조합으로 2차원 on the fly 를 개발하게 되면 치명적으로 위치 오차가 발생됩니다. RTC의 경우 이 오차에 대한 보상으로 tracking error 값을 지정하여 완화시킬수는 있지만 이 또한 등속 구간에서 유효한 값이라 하겠습니다.

이같은 문제를 해결하기 위해 나온것이 바로 tracking error 0 이라는 스펙을 가지는 excelliSCAN 제품이고, 이를 효과적으로 제어하기 위해서는 반드시 RTC6 라는 최신 제어기를 사용해야 합니다.




이 핵심 기술을 "scan-ahead" 라고 부르고 있는데 마치 모션 제어기들이 제공하는 "look-ahead" 라 유사한 명칭입니다. 말그대로 스캐너의 예상 운동경로를 사전에 분석/예측하여 이동 명령을 사전 계산하여 내보내는 것이라 할수있겠습니다.
위 도표와 같이 전통적인 방식의 스캐너의 운동과 달리 명령된 것과 거의 동일한 운동이 발생하는것을 알 수 있습니다. 이를 위해서 Tp (Preview time) 이라는 지연 시간이 발생하는데 이는 결국 사전 계산에 드는 비용으로 볼 수 있습니다.

scan-ahead를 사용하면 해당 시간만큼 명령이 지연되는 손실이 발생하나  (대략 1ms 로 예상됩니다) 스캐너의 실제 운동이 매우 정확해 지고 이에 따른 다양한 동기적 처리 (IO 및 레이저 출사등) 가 가능해 집니다. 결국 좀더 고성능의 2D on the fly 와 같은 제어가 가능해 지는 것입니다.

이 제품을 사용해 on the fly 테스트를 진행한 평가 문서를 보면, 최대 41%의 성능향상이 있으며 위치 정밀도 평균 3.4um, 표준편차 2.9um 로 정밀한 제어가 가능하다고 합니다.




광학 환경은,
- excelliSCAN14
- 100 mm telecentric 렌즈
- 필드 크기 : 54x54 mm
- 최대 마킹 속도 : 2. 5m/s
- 최대 점프 속도 : 20 m/s
- 최대 가속도 : 28*10^3 m/s^2

XY 스테이지의 테스트 환경은,
- 스테이지 크기 : 300x300mm
- 반복정밀도 : 0.1um
- 정밀도 : +- 2um
- 엔코더 분해능 : +- 0.5um
- 최대 속도 : 1 m/s
- 최대 가속도 : 10 m/s^2

모션 제어기 환경은,
- ACS 모션 (NPM 이더켓 드라이버)
- 스캐너 서보 업데이트 :  100KHz
- 스테이지 서보 업데이트 : 20KHz

레이저 환경은,
- JDSU PicoBlade (pico second 레이저)

댓글 3개:

  1. 덧붙혀 이전 방식은 가속시간(Ta) 항상 고정입니다. 즉 사용자가 속도를 바꾸어도 가속시간은 항상일정합니다. 때문에 스캐너및 레이저 지연값(delay)을 건드릴 필요가 없습니다.
    반면, SCAN-ahead 의 프로파일을 보시면 속도에 따라 가속시간(Ta)이 최적화 되어 바뀝니다. 때문에 스캐너및 레이저 지연값도 조절을 사용자가 해주어야 합니다. 이같은 불편함을 해결해주기 위해서 auto delay 라는 기능이 추가되었습니다. (activate_scanahead_autodelay 참고)

    답글삭제
  2. 좋은 정보 잘보고 있습니다.
    질문이 있는데 RTC에서 보낸 위치에 대해 실제 갈바노미터가 움직일텐데 위치 보정(예를 들어 PID제어)은 RTC보드에서 하나요, 아니면 갈바노미터와 연결된 보드(scan 보드?)에서 하나요? RTC보드가 status 정보를 받아서 RTC에서 위치 보정(PID 제어)를 할 것 같긴 합니다만...

    답글삭제
  3. 작성자가 댓글을 삭제했습니다.

    답글삭제

시리우스 라이브러리 홈페이지 오픈

현재 시리우스(Sirius) 라이브러리라는 제품을 개발하고 이를 소개하는 홈페이지를 오픈 하였습니다. 관심있는 분들의 많은 방문 요청드립니다. 앞으로 업데이트 소식및 변경사항은 스파이럴랩 홈페이지를 통해 진행할 예정입니다. 스파이럴랩 홈페이지 :  h...