배너
닫기

산업동향

배너

PCB 조립라인의 자동프로그래밍 시스템③ - 칩마운터(2)

  • 등록 2012.06.02 15:32:10
URL복사

PCB 조립라인의자동
프로그래밍시스템-칩마운터❷

박태형 충북대학교 전자공학부 교수

옵티마이저(Optimizer)

옵티마이저는 칩마운터 자동프로그래밍의 핵심 구성 요소로서, 부품 실장시간의 단축을 위한 부품할당, 피더배치, 장착순서의 최적화를 담당해 왔다. 일반적으로 칩마운터는 하나의 기판조립을 여러 대가 나누어 작업하므로 하나의 장비가 아닌 여러 대의 장비를 대상으로 최적화를 수행하는 것이 바람직하다.
그림 1은 3 개의 조립헤드를 포함한 간단한 겐트리형 칩마운터 모델을 보여준다.



XY 운동을 하는 겐트리에 부착돼 있는 조립헤드는, 피더 레인의 부품공급 피더로부터 부품을 흡착하여 PCB 상에 부품을 장착하는 사이클 운동을 수행한다. 이때 조립헤드에는 부품의 흡착과 장착을 위한 노즐이 부착돼 있는데, 부품의 크기에 따라 지정된 노즐을 적용해야 한다는 점에 주의할 필요가 있다.
노즐의 교환이 필요한 경우에는 자동 노즐교환기를 사용하여 노즐 교환이 가능하다. κ번째 장비의 PCB 조립 시간 Tκ 는 다음 식을 이용해 구할 수 있다.



여기서 nanc는 전체 노즐교환 횟수, Δtanc는 1회 노즐교환 시 소요시간, ncycle는 전체 사이클 수, Ti는 i번째 사이클의 소요시간을 의미하며 다음과 같이 나타낼 수 있다.



이 경우 tpi 는 피더열에서의 부품흡착 시간(Pickup Time), tfi는 피더열의 흡착 종료점부터 PCB의 장착 시작점까지의 이동시간(Forward Time), tmi 는 PCB에서의 부품 장착시간 (Mount Time), tri는 PCB의 장착 종료점부터 피더열의 흡착 시작점까지의 이동시간(Return Rime)을 각각 가리킨다.
nmachine개의 장비가 라인으로 구성되어 PCB 조립을 실행하는 경우, 하나의 PCB 조립에 소요되는 생산시간을 나타내는 TLine은 다음 식으로 값을 구할 수 있다.



칩마운터의 최적화 문제는 라인 생산시간을 의미하는 TLine을 최소화하는 장비별 부품의 할당, 부품별 피더의 배치 위치와 장착점별 장착순서를 결정하는 최적화 문제와 연관이 있다.
그러나 이에 대한 문제는 매우 복잡한 조합 최적화 문제의 범주에 속하며 일반 컴퓨터를 통해 일정 시간 내에 최적 해를 구하는 것이 불가능하다는 점이 입증됐다.
따라서 이러한 방법 대신에 전체 문제를 몇 개의 문제로 분할하고 각 문제에 대해 최적 해를 구하는 발견적 기법이 적용되고 있다. 일반적으로 칩마운터의 최적화 알고리즘은 다음과 같은 계층적 구성을 갖는다.

■ 1 단계 : 부품 할당 최적화
이 단계에서는 각 장비에서의 조립시간을 단축하고 조립 시간의 균형을 유지할 수 있도록 장비별로 부품 할당이 이뤄진다. 전체 조립시간 중 노즐교환시간이 차지하는 비중이 크기 때문에 부품별 사용노즐을 고려하여 각 장비의 조립헤드에 노즐을 할당하고 이에 따라 부품을 할당하는 과정이 요구 된다.
이때 각 장비의 노즐교환 횟수 및 사이클 수가 최소화되도록 해야 한다. 또한 각 장비의 사이클 수와 사이클 시간을 추정하여 라인 생산시간을 최소화하는 할당 조합을 선택해야 한다.

■ 2 단계 : 피더배치 최적화
여기서는 부품 흡착시간 및 PCB와 피더열 사이의 이동시간을 단축시키기 위해 각 부품에 대한 공급피더의 배치 위치가 결정된다. 장착점의 수가 상대적으로 많은 부품의 경우에 는 PCB와 가까운 위치에 피더를 배치해야 한다.
특히 동시흡착 기능을 보유하고 있는 장비는 헤드 사이의 간격을 고려하여 같은 사이클에 속한 부품의 동시흡착이 발생되도록 피더를 배열시킬 필요가 있다.

■ 3 단계 : 장착 순서 최적화
마지막 단계에서는 부품 장착을 위한 이동시간을 최소화할 수 있도록 PCB 장착점들의 조립순서가 결정되는데, 미리 결정되어 있는 조립헤드별 노즐과 부품, 피더배치를 고려하여 전체 이동시간을 단축시킬 수 있는 순서를 찾아내야 한다.
이때 잘 알려져 있는 TSP(Traveling Salesman Problem) 알고리즘들을 변형하여 적용할 수 있다. 그러나 노드의 수 (장착점의 수)가 수백-수천 개에 이르므로 최적화에 많은 시간이 소요될 수 있으므로 이를 고려하여 알고리즘을 설계해야 한다.




이러한 최적화 알고리즘은 사용자의 작업설정 조건을 충분히 고려하여 적절한 조립계획을 설정해야 한다. 즉, 노즐, 피더, 부품 등에 관해 사용자가 설정한 여러 가지 제약 사항 들을 고려한 최적화가 실현돼야 실제 라인에서의 적용이 가능하다. 표 1은 최적화 시 고려해야 하는 대표적인 사항들을 정리한 것이다.
장비 제조사별 옵티마이저의 성능을 구분함에 있어서 가장 큰 차이가 발생하는 부분은 부품할당 최적화 부분이다. 라인발란스라 부르는 이 기능은 여러 대의 장비가 사용되는 경우 가장 중요한 역할을 한다.
좋은 라인발란스를 위해서는 각 장비별 장착시간의 추정이 정확해야 한다. 부정확한 시간추정으로 장비별 작업할당이 이루어지는 경우에는 낮는 발란스 성능을 야기할 수밖에 없다.
또한 라인발란스의 성능을 높이기 위해서는 피더배치 최적화, 장착순서 최적화를 각 장비별로 수행하는 것이 아니라, 여러 대의 장비에 대하여 통합적인 수행이 이뤄져야 한다.
즉, 옵티마이저는 장비별 머신 옵티마이저가 아닌 라인 단위의 최적화를 수행하는 라인 옵티마이저가 구현돼야 한다. 그러나 아직도 다수의 옵티마이저는 각 장비별로 피더 배치와 장착순서를 결정하는 머신 옵티마이저 수준에 머물러 있다.
하지만 컴퓨터의 연산속도가 빨라지면서 옵티마이저의 성능도 개선되는 추세를 나타내고 있다. 유전자 알고리즘, 개인집단최적화(Particle Swarm Optimization) 알고리즘 등 새로운 최적화 알고리즘을 칩마운터에 적용하는 연구도 많이 시도되고 있다.
그러나 칩마운터의 옵티마이저 개발에 가장 중요한 것은 장비 메커니즘에 대한 이해이다. 현장의 오랜 경험을 바탕으로 장비 메커니즘과 최적화 알고리즘에 숙달된 전문가들을 통해 좋은 옵티마이저가 개발될 수 있다.



시뮬레이터 및 디버깅 툴

이것은 자동티칭, 데이터베이스, 최적화를 통해 생성된 칩 마운터의 조립프로그램을 오프라인에서 검증할 수 있는 툴이다. 그러나 조립프로그램에 대한 디버깅을 장비에서 직접 실행하는 경우, 장비 가동이 중단돼야 하는데 이로 인해 작업이 불편해지고 소요시간이 길어질 수 있다.
이러한 불편을 해소하기 위해 시뮬레이터를 사용해 옵티 마이저에서 작성한 장비별 부품할당, 피더배치 및 장착순서를 그래픽으로 확인할 수 있다. 또한 조립시간을 예측하며, 실제 조립동작을 실시간으로 모사할 수 있다. 여기서 오퍼 레이터는 장비 가동 전 사무실의 컴퓨터로 조립프로그램의 동작을 확인할 수 있으며 문제를 사전에 발견해 수정 가능하다.
최근에는 자동티칭된 부품의 위치와 각도, 데이터베이스에 등록된 부품의 크기, 리드 수, 리드 간격, 리드 길이 등에 대한 프로그램 데이터를 거버데이터를 통해 자동 검증할 수 있는 디버깅 소프트웨어도 개발됐다.
이 소프트웨어에서는 PCB에 대한 거버파일을 사용해 그래픽으로 사용자가 부품 데이터를 확인할 수 있게 한다. 또 한 거버데이터와 부품데이터의 패턴을 비교하여 자동으로 오류를 체크하는 기능도 내장돼 있다.
부품이 소형화되고 PCB 내 부품밀도가 증가하면서, 칩마 운터 프로그램의 복잡도도 크게 증가하고 있다. 따라서 프로그램 작성 내용을 사전에 확인하고 자동으로 오류를 검증할 수 있는 시뮬레이터 및 디버깅 툴의 사용이 점차 확산되리라 예상된다.









배너










주요파트너/추천기업