Zautomatyzowana analiza projektów PCB
| TechnikaIstotnymi czynnikami, które decydują o wyborze producenta obwodów drukowanych, są czas realizacji zamówienia oraz szybkość dostarczenia oferty cenowej. Skrócenie procesów fizycznych zachodzących w trakcie produkowania obwodów jest bardzo trudne, czasami wręcz niemożliwe. Łatwiej można optymalizować czas etapów przedprodukcyjnych. Najdłuższym z nich jest ten, związany z przygotowaniem dokumentacji produkcyjnej. W artykule przedstawiona jest technika przyśpieszania procesów przedprodukcyjnych poprzez stosowanie programu Integr8tor, który wdrożono w firmie TS PCB na początku 2018 r.
Przygotowanie dokumentacji produkcyjnej przebiega w dwóch etapach. Pierwszym krokiem jest wstępna weryfikacja dokumentacji projektowej zamówienia. Polega ona m. in. na weryfikacji kompletności i czytelności plików projektu oraz sprawdzeniu wzajemnego dopasowania obrazów warstw.
Następnie weryfikuje się, czy parametry projektu odpowiadają technologii zadeklarowanej w karcie technologicznej. Przedmiotem porównywania są m.in.: liczba warstw miedzi, masek antylutowniczych czy opisów. Wynikłe niezgodności są wyjaśniane z klientami do chwili, kiedy dokumentacja nie budzi zastrzeżeń co do kompletności i interpretacji.
Najbardziej pracochłonnym elementem wstępnej weryfikacji jest wczytywanie dokumentacji generowanej przez różne programy CAD oraz interpretowanie przeznaczenia warstw na bazie wielu schematów nazewnictwa. Występująca duża różnorodność formatów plików oraz nazewnictwa poszczególnych warstw może prowadzić do pomyłek oraz wydłużyć czas analizy.
Wstępnie zweryfikowany projekt trafia następnie do działu CAM, gdzie opracowywana jest właściwa dokumentacja produkcyjna. W zarysie proces ten polega na weryfikacji i ewentualnym dopasowaniu projektów do wymogów technologicznych linii produkcyjnej oraz utworzeniu dokumentacji elektronicznej, w postaci programów m.in. do plotowania klisz lub dla naświetlarki bezpośredniego naświetlania Ledia (DLI - Direct Laser Imaging), obróbki mechanicznej oraz testowania optycznego i elektrycznego.
Najbardziej czasochłonnymi działaniami są wczytanie dokumentacji i ustawienie warstw oraz sprawdzenie parametrów DRC mozaik (Design Rule Check). Kontrola DRC wydłuża się dla skomplikowanych obwodów wielowarstwowych, szczególnie typu HDI (High Density Interconnect).
Obejmuje ona głównie wyznaczenie trzech parametrów charakterystycznych mozaik warstw zewnętrznych i wewnętrznych (rys. 1):
- minimalnej odległości (gaps) - najmniejszej odległości euklidesowej pomiędzy elementami mozaiki w obrębie sieci własnej lub sąsiednich,
- minimalnej szerokości ścieżki (tracks) - najmniejszej szerokości elementów mozaiki, tworzących sieci elektryczne,
- minimalnego pierścienia (annular rings) - obszaru miedzi wokół otworu metalizowanego. Zwykle szerokość pierścienia jest połową różnicy średnicy padu i umiesz czonego w nim otworu metalizowanego.
Czasochłonność wyznaczania parametrów DRC rośnie również dla projektów, w których pola kontaktowe (pady) nie są utworzone za pomocą apertur, lecz wykreślone ścieżkami. Innym czynnikiem wydłużającym określenie DRC jest malowanie dużych obszarów mas ścieżkami o grubości 1-2 milów, zamiast ich konturyzacji.
Możliwości optymalizacji
Obecne możliwości sztucznej inteligencji, a przede wszystkim technika uczenia maszynowego (machine learning) w połączeniu z dużą mocą obliczeniową współczesnych komputerów, pozwalają na analizowanie, wyszukiwanie oraz klasyfikowanie informacji w obszernych strumieniach danych.
Wykorzystanie tego potencjału do zautoma tyzowanego analizowania dokumentacji CAM obwodów drukowanych zaproponowała belgijska firma Ucamco. Jest ona światowym liderem na rynku oprogramowania CAM dla branży PCB, a także twórcą nowatorskich rozwiązań technicznych i technologicznych, np. w zakresie naświetlania obrazu mozaik bezpośrednio na laminatach pokrytych fotopolimerem.
Stworzone i rozwijane przez Ucamco oprogramowanie Integr8tor (w skrócie I8) jest narzędziem, które w sposób zautomatyzowany, przy zachowaniu wysokiej autonomii, analizuje dokumentację CAM obwodów drukowanych.
Wydobywa z niej szeroką gamę parametrów technologicznych (w tym DRC), by na koniec przetwarzania przygotować oczyszczony zestaw plików o jednolitym nazewnictwie, którego można szybko użyć do dalszej obróbki w celu wygenerowania dokumentacji produkcyjnej.
Integr8tor - przetwarzanie projektów
Przetwarzanie projektów zaczyna się od jego automatycznego wczytania. Integr8tor rozpoznaje wiele formatów plików wejściowych (Extended Gerbers, X2 Gerbers, ODB++, pliki BRD, Excellon2, Sieb&Mayer itd.).
Skierowanie projektu do I8 można zrealizować na kilka sposobów - zarówno ręcznie, jak i z wykorzystaniem integracji: ze stroną internetową, serwerem mailowym lub sieciowym systemem plików. Integracja z innymi systemami pozwala na automatyzację wymiany danych wejściowych i wynikowych przy wykorzystaniu skryptów.
Projekty przetwarzane przez Integr8tora widoczne są na liście (rys. 2) wraz z informacjami m.in. o: statusach, momencie dodania do listy oraz planowanym i rzeczywistym czasie zakończenia analizy. Domyślnie projekty są analizowane, począwszy od dodanego najwcześniej. Kolejność przetwarzania można zmieniać, nadając im priorytety. Funkcja ta jest przydatna przy przetwarzaniu projektów o różnym stopniu pilności. Po dodaniu projektu do analizy I8 wskazuje szacowany czas jej rozpoczęcia i zakończenia, co ułatwia planowanie pracy.
Po wczytaniu projektu dokonywana jest klasyfikacja przeznaczenia warstw przy wykorzystaniu zapisów w nazwach plików warstw, komentarzach z plików CAM, informacji z innych plików załączonych do projektu, a także na bazie obrazów zapisanych na poszczególnych warstwach.
Warstwy mozaik powinny mieć przypisaną funkcję Outer lub Inner, odpowiednio dla zewnętrznych oraz wewnętrznych warstw oraz podaną pozycję, rozpoczynając od 1 dla warstwy miedzi Top itd. Funkcja Soldermask oraz Legend zaś powinna być przypisana warstwom masek antylutowniczych oraz opisów. Strona położenia warstwy zadeklarowana jest jako Top lub Bottom.
Choć klasyfikacja odbywa się automatycznie, to możliwa jest późniejsza modyfikacja przypisanych typów. Do wyboru mamy około 30 różnych funkcji (rys. 3), dzięki czemu każda warstwa może zostać odpowiednio sklasyfikowana, a projekt prawidłowo przeanalizowany.
Gdy I8 ma wątpliwości dotyczące przyporządkowanej warstwy/pozycji, zostają wyświetlone ostrzeżenia lub błędy krytyczne, w zależności od skali problemu. Warstwy dotknięte problemem zostają podświetlone na żółto dla uwag lub na czerwono dla błędów krytycznych (rys. 3).
W procesie rozpoznawania warstw, I8 korzysta również z bazy wiedzy, którą program buduje na podstawie poprawnych analiz zaakceptowanych przez operatora, czyli w procesie uczenia nadzorowanego. Jest to niewątpliwie duży walor oprogramowania, ponieważ wraz ze wzrostem liczby przeanalizowanych projektów, maleje liczba fałszywych błędów klasyfikacji warstw, co usprawnia proces analizy i zwiększa jego autonomiczność.
W kolejnym kroku przetwarzania wyznaczane są najbardziej istotne parametry technologiczne projektu. Ze względu na ich obszerność, wymienione zostaną wybrane właściwości.
Poza wspomnianymi parametrami DRC, oprogramowanie analizuje warstwy masek anty lutowniczych, elementów SMD, a dla układów BGA określa raster. Dodatkowo, obliczane są powierzchnie odsłonięć miedzi oraz powierzchnia przeznaczona do pokrycia maską antylutowniczą.
Równie wnikliwie badane są także warstwy obróbki mechanicznej - otworowanie, frezowanie, rylcowanie, itd. Poza dopasowaniem otworów do mozaik lub odsłonięć na maskach antylutowniczych, I8 sam rozpoznaje, czy otwory są metalizowane, czy niemetalizowane.
Określane są wartości minimalnych i maksymalnych średnic wraz z gęstością otworów, liczbą narzędzi i otworów oraz minimalnymi odległościami między poszczególnymi wierceniami. Program automatycznie wykrywa ślepe oraz zagrzebane przelotki.
Na zakończenie przetwarzania Integr8tor tworzy plik raportu w formacie PDF oraz XML, który zawiera wyłuskane parametry technologiczne projektu oraz generuje wynikowe, oczyszczone pliki projektu w formacie DPF o ujednoliconej nazwie.
W zbiorach tych obszary mas kreślone ścieżkami są skonturyzowane, a pady malowane ścieżkami zastąpione są dedykowanymi aperturami o tym samym rozmiarze i kształcie jak w oryginale.
W celu zwiększenia elastyczności oraz łatwiejszego wkomponowania I8 w wewnętrzne procesy i obieg dokumentacji producenta PCB, wyposażono go w język skryptowy BeanShell na bazie Javy. W TS PCB skrypty wykorzystano do sprawnej realizacji wymiany danych pomiędzy Integr8torem a systemem ERP oraz do usprawnienia obiegu plików z dokumentacją na jego wejściu i wyjściu.
Integr8tor - rozwiązywanie problemów
Jeżeli w trakcie analizy wymagana jest interwencja operatora, przetwarzanie zostaje zatrzymane, a projekt oznaczony jako wyjaśniany. Po wybraniu projektu widoczna jest lista napotkanych problemów (rys. 4). Niektóre z nich są skutkiem błędnego rozpoznania warstw lub detekcji obrysu.
Można je rozwiązać we wbudowanym edytorze, który pozwala ręcznie przypisać właściwy typ warstwom oraz narysować obrys na podstawie rysunków poszczególnych warstw lub bezpośrednio wpisać wymiary płytki. Jednakże znakomita większość problemów pochodzi z uchybień występujących w dokumentacji projektowej.
Poniżej zamieszczono listę typowych napotykanych problemów:
- Kilka dokumentacji projektu - gdy w przesłanych plikach znajduje się kilka dokumentacji, czasami w różnych formatach, Integr8tor, podobnie jak inżynier CAM, nie jest w stanie określić, który zestaw plików jest tym właściwym przeznaczonym do produkcji. Należy zawsze dbać o to, aby dokumentacja była jednoznaczna i zawierała wszelkie potrzebne informacje.
- Pliki w formacie RS274D - najnowsze oprogramowanie CAM nie obsługuje już tego formatu. Warto wspomnieć, że nowsza i powszechnie dziś stosowana wersja RS274X funkcjonuje od niemal 20 lat. Przesyłanie plików w starszych formatach nastręcza coraz większych trudności przy wczytywaniu projektu do programu CAM. W roku 2014 wdrożono kolejną wersję formatu oznaczoną jako Gerber X2, który zawiera dodatkowe informacje na temat typu warstw, dzięki którym proces zautomatyzowanej analizy jest łatwiejszy.
- Niejednoznaczny obrys - problem spowodowany najczęściej brakiem warstwy obrysowej obwodu lub niepełnym obrysem (brakujące krawędzie). Spotykane są także projekty zawierające kilka różnych obrysów lub kilka mniejszych obwodów, które co prawda mają swoje obrysy, ale ułożone są w panel o brakującym obrysie. W tym przypadku program zwraca komunikat o niejednoznacznym obrysie.
- Problemy z warstwami wierceń - wynikają najczęściej z osobnej generacji plików mozaiki oraz plików obróbki mechanicznej, które niekiedy nie są dołączane do dokumentacji wskutek niedopatrzenia. Innym problemem są powielone pliki wierceń, np. o różnych rozszerzeniach. Pliki te mogą mieć inną strukturę, choć zawierają identyczny zestaw otworów. Niekiedy plik wierceń co prawda występuje, ale brakuje w nim definicji średnic narzędzi. Integr8tor rozpoznaje programy wierceń przelotek ślepych i zagrzebanych, ale wymagane jest dodanie do dokumentacji pliku definiującego, które warstwy łączy dany typ otworów (najczęściej z rozszerzeniem .drr). Automatycznie rozróżniane są również otwory metalizowane oraz niemetalizowane. Dobrą praktyką jest dodawanie pliku z mapą wierceń (drillmap lub drill draw), która wskazuje położenie otworów za pomocą unikalnych symboli dla poszczególnych średnic narzędzi.
- Przesunięcie frezowania - najczęstszym problemem jest przesunięcie obrazu względem pożądanego położenia. Aby temu zapobiec, na etapie przygotowywania projektu można dodać na każdej warstwie punkty referencyjne, leżące poza obrysem obwodu. Dzięki temu program jest w stanie odpowiednio zgrać warstwy względem siebie.
- Kolejności warstw wewnętrznych - I8 zwykle ustala kolejność warstw wg rozszerzeń plików np. .G1, .G2 itd., komentarzy z plików Gerber lub przeszukuje inne pliki zawierające kolejność np. .rep, .extrep. Jeśli nie jest możliwe jednoznaczne określenie kolejności warstw, I8 zwraca stosowny komunikat. Dobrym zwyczajem jest podawanie kolejności warstw np. na warstwie mechanicznej czy w osobnym pliku lub numerowanie warstw miedzi na mozaice poszczególnych plików.
Przedstawione powyżej, najczęściej spotykane problemy wymagają dodatkowego wyjaśniania dokumentacji z klientami, co może skutkować wydłużeniem terminów realizacji zamówień.
Wykorzystanie Integr8tora w TS PCB
W TS PCB Integr8tor znalazł zastosowanie zarówno w procesie opracowywania ofert cenowych, jak i wstępnej weryfikacji dokumentacji dla celów produkcyjnych. Pierwszy proces polega na przygotowaniu wyceny projektu w oparciu o dostarczone pliki. Klient, po otrzymaniu oferty cenowej, ma możliwość zamówienia obwodów, znając wiążącą cenę produktu.
Taka wycena wymaga sprawdzenia dokumentacji pod kątem możliwości technologicznych producenta oraz parametrów technologicznych projektu. W tym celu projekty do ofert przetwarzane są wstępnie przez I8.
Uzyskane parametry oraz oczyszczone po analizie pliki są następnie dostępne dla inżyniera CAM. Zastosowane rozwiązanie znacznie skraca czas przygotowania ofert oraz redukuje możliwość pominięcia krytycznych parametrów technologicznych.
Wykorzystanie Integr8tora przy wstępnej weryfikacji dokumentacji polega na wpisaniu części wydobytych parametrów technologicznych do systemu ERP oraz uzyskiwaniu jednolitego i oczyszczonego zestawu plików na potrzeby przygotowania dokumentacji produkcyjnej.
Wyeliminowano w ten sposób dwukrotne wczytywanie i klasyfikowanie warstw projektów na etapach wstępnej weryfikacji i przygotowywania dokumentacji. Zaniechano także wykonywania analizy DRC podczas przygotowania dokumentacji, jeśli wartości wydobyte przez I8 są typowe dla danej technologii.
Uzyskano tym samym skrócenie czasu trwania obu tych procesów oraz zwiększenie ich przepustowości i efektywności. Przyśpieszono wykrywanie potencjalnych nieścisłości w dokumentacji, dzięki czemu są one wyjaśnianie szybciej.
Wdrożone oprogramowanie działa w dużej mierze autonomicznie i większość projektów analizowana jest bez ingerencji operatora. Ten z kolei nie ma już problemów na etapie wczytywania projektu, bo dysponuje wstępnie spreparowaną dokumentacją i uzyskuje kompletne dane charakteryzujące projekt.
Typowy czas analizy projektu trwa zwykle 2-3 minuty, przy czym najszybciej przetwarzane są projekty w formacie ODB++. Projekty bardziej skomplikowane przetwarzają się dłużej, zwykle do kilkunastu minut.
Podsumowanie
W artykule omówiono czasochłonne etapy przedprodukcyjne oraz przedstawiono sposób ich optymalizacji przy wykorzystaniu programu Integr8tor firmy Ucamco. Opisano proces przetwarzania projektów oraz wybrane wyniki analizy. Omówiono najczęstsze błędy wynikające z uchybień w dokumentacji projektowej. Zaprezentowano także zyski zastosowania I8 w przetwarzaniu projektów na przykładzie firmy TS PCB.
Jak widać, oprogramowanie Integr8tor w znaczny sposób redukuje czas procesów przedprodukcyjnych, ułatwiając i przyśpieszając analizę dokumentacji. Dzięki temu możliwe jest przekazanie informacji zwrotnej klientowi w formie poprawnie przygotowanej oferty cenowej lub ewentualnego zapytania wyjaśniającego.
Michał Meironke
młodszy inżynier wsparcia CAM
TS PCB Techno-Service S.A.