Nauwkeuriger, voorzichtiger, maar vooral niet langzamer
In de backendindustrie zijn een hoge plaatsingsnauwkeurigheid en een lage plaatsingskracht in combinatie met een hoge output een vereiste. Door continu verbeteringen door te voeren, worden de standaard pak-en-plaatsmachines van Kulicke & Soffa steeds vaker toegepast in die tak van sport.
Kulicke & Soffa in Eindhoven (voorheen Assembléon) ontwikkelt, produceert en verkoopt pak-en-plaatsmachines. Van oudsher worden deze apparaten gebruikt om printplaten te assembleren. De systemen combineren een hoge output met hoge plaatsingsnauwkeurigheid en hoge plaatsingskwaliteit. Een paar getallen: de output varieert van 30 tot 120 duizend plaatsingen per uur, de plaatsingsnauwkeurigheid van 10 tot 35 µm en de plaatsingskwaliteit is beter dan één fout per miljoen plaatsingen. De laatste jaren worden de machines van Kulicke & Soffa steeds vaker toegepast in de backendindustrie. Typische applicaties zijn wafer-level packaging, system in package, flip chip en package on package.

Sinds de overname van Assembléon door Kulicke & Soffa begin 2015 investeert het bedrijf fors in nieuwe ontwikkelingen ten behoeve van de backendindustrie. Bestaande machines worden verder doorontwikkeld. Naast de vele nieuwe softwarefuncties die continu worden ontwikkeld, zijn een hogere plaatsingsnauwkeurigheid (5 µm) en een lagere plaatsingskracht (0,5 N) een vereiste, zonder daarbij concessies te doen aan de output. Dit artikel beschrijft de aanpak van Kulicke & Soffa om de nauwkeurigheid te verbeteren en hoe het bedrijf de lagere krachten realiseert.
Ba en ca
Het substraat (een pcb of een ander type drager waarop de componenten worden geplaatst) bevat een aantal kenmerken, die we fiducials noemen. Nadat het substraat in de machine is ingevoerd en onder een van de plaatsingsrobot is gepositioneerd, worden de locaties van de fiducials met de board alignment-camera (ba) opgemeten. De exacte locatie van het substraat ten opzichte van de plaatsingsrobot is hiermee bepaald. Door meerdere (minimaal drie) fiducials op te meten, worden de eigenschappen en vervormingen van het substraat bepaald (naast de positie ook de oriëntatie, de rek in beide richtingen en de haaksheid). Nu is het substraat uitgelijnd met het robotcoördinaatsysteem.
Vervolgens pakt de robot een component uit een feeder en beweegt hem naar de component alignment-camera (ca). Deze camera meet de pick offset waarmee de relatie tussen component en robot wordt vastgelegd. De ca-camera bevat een glasplaat waarop vier nauwkeurige markers zijn aangebracht. In het ca-camerabeeld zijn zowel de component als de markers op de glasplaat zichtbaar. De positie en de oriëntatie van de component ten opzichte van de markers is hiermee bekend.

Tegelijkertijd met de beeldinname van de ca-camera wordt met de ba-camera ook een van de markers op de glasplaat van de ca-camera gemeten (de zogeheten closed loop-meting). De posities van de diverse markers op de glasplaat zijn nauwkeurig bekend en daarmee de positie in het robotcoördinaatsysteem van de component die we willen oppakken. De gemeten pick offset wordt verrekend en de component wordt nauwkeurig ten opzichte van de fiducials op het substraat geplaatst. Daar de vervormingen in de robot en in het substraat niet helemaal lineair zijn, hebben we soms nog een lokale fiducial nodig om kleine offsets in de plaatsingspositie weg te regelen.
Robotserver
Door deze methode van plaatsen en corrigeren hebben de robots geen absolute nauwkeurigheid nodig; relatieve nauwkeurigheid is voldoende. Een vereiste is wel dat posities tussen twee fiducial-metingen stabiel blijven. Thermische drift wordt gecompenseerd door regelmatig de fiducials op te meten. Daarmee blijft het substraat uitgelijnd met het robotcoördinaatsysteem.
De robots zijn echter niet ideaal: de assen staan niet perfect haaks, geleidingen zijn niet helemaal recht. Daarom worden alle robots gekalibreerd op een kalibratietafel. Deze tafel bevat een glasplaat met een groot aantal nauwkeurig aangebrachte markers. Door alle posities van markers in het werkveld van de robot op te meten kan voor elke robot een 2d correctietabel worden bepaald. In de tabellen worden de x-, y- en Rz-correcties als functie van de xy-servopositie opgeslagen. Dat doen we in de robot zelf, waar de software ze kan uitlezen bij het opstarten van de machine.



In de applicatiesoftware is de robot geabstraheerd in de robotserver. Wat houdt dit in? De applicatiesoftware kent geen details van de robot en stuurt een algemeen bewegingscommando naar de robotserver in de vorm van ‘robot: beweeg ba-camera naar fiducial nummer x’ of ‘robot: beweeg component naar bordpositie (x, y)’. De robotserver bevat een model van de machine met daarin de nominale en gemeten locaties van alle relevante objecten zoals de feeders, camera’s en substraten. Naast alle nominale data worden de correctiedata (statisch en dynamisch) opgeslagen in de database. De robotserver berekent vervolgens met alle data (inclusief de correctietabellen) de gewenste servopositie. Deze wordt dan naar de servoregelaars gestuurd waarna de servoassen volgens een gedefinieerd profiel naar deze positie bewegen.
Het grote voordeel van deze architectuur is de gescheiden verantwoordelijkheid tussen applicatiesoftware en robotserver. De software die de correctiewaardes berekent, is kritiek. Een foutje is zo gemaakt en wordt niet direct opgemerkt vanwege de kleine waarde van de correctie (orde enkele micrometers). Bovendien heeft de software-engineer die de applicatiesoftware ontwikkelt, vaak onvoldoende kennis van correctiealgoritmes, wat de kans op fouten vergroot. Daarnaast worden alle noodzakelijke berekeningen op één plek in de software uitgevoerd. Wijzigingen en verbeteringen in de correctiealgoritmes zijn dan ook lokaal door te voeren en relatief eenvoudig te testen.
Hysterese
Om de uiteindelijke plaatsingsnauwkeurigheid te kunnen verifiëren, wordt een speciale tool gebruikt. De machine kan hierdoor zelf zijn plaatsingsnauwkeurigheid verifiëren. Hiertoe wordt een glazen component opgepakt en op een glazen bord met nauwkeurig aangebrachte markers gezet. De speciale component heeft ook een aantal markers. Met de ba-camera worden in één beeld de markers op de glazen component en de markers op het glazen bord opgemeten. Door de onderlinge positie van de markers op te meten en te vergelijken, is de plaatsingsnauwkeurigheid bekend. Door de glazen component telkens op een andere positie op het bord te zetten kan de totale machinenauwkeurigheid worden bepaald. De tooling genereert dan een rapport met daarin de resultaten.

De nauwkeurigheid is een optelsom van een aantal kleine fouten in de diverse machinemodules. Denk hierbij aan het niet haaks staan van een optische as waardoor een kleine hoogtevariatie een plaatsingsoffset oplevert, resttrillingen in de machine na een beweging, het wegschuiven van een component tijdens plaatsing en fouten tijdens kalibratie. Een gedetailleerde analyse van de plaatsingsfouten moet de belangrijkste foutbronnen zichtbaar maken.
Een voorbeeld van een verbetering is de vermindering van de hysterese in de rechtgeleiding van de x-as van de robot. Door altijd van de dezelfde kant aan te komen, wordt de speling naar één kant gedrukt en de plaatsnauwkeurigheid verbeterd. Dit is eenvoudig in software te implementeren. Voor onze toekomstige applicaties is dit echter onvoldoende, dus hebben we de kogelomloop-rechtgeleiding vervangen door een luchtlager.
Verende tooltip
Behalve dat de componenten nauwkeurig moeten worden neergezet, moeten de krachten tijdens het oppakken en plaatsen goed zijn gedefinieerd. Een te grote kracht tijdens het proces kan leiden tot beschadiging van de component (microcrack) en een vroegtijdig falen van het eindproduct. Overlijdt je smartphone ten gevolge van een beschadigde component, dan is dat vervelend, maar faalt de elektronica in je airbag op het cruciale moment, dan zijn de gevolgen veel groter.
Een van de problemen bij het plaatsen van de componenten is dat de bordhoogte kan variëren. Borden kunnen namelijk krom zijn. Door verende nozzles te gebruiken kun je deze hoogtevariatie opvangen. De kracht die de plaatsingskop op de component uitoefent, is evenredig met de veerindrukking. Om de kracht constant te houden, heb je een lange, slappe veer nodig. De meeste plaatsingsmachines gebruiken deze methode om de componenten weg te zetten.

Door het indrukken van de veer in de nozzle kan de component wegdriften, waardoor de plaatsingsnauwkeurigheid verslechtert. Om dit te voorkomen, kun je starre nozzles gebruiken. Nadeel hiervan is dat op het moment dat het bord wordt geraakt de volledige massa van de z-as op de component doorwerkt, met hoge krachten tot gevolg. Om deze kracht te beperken, moet je de snelheid verkleinen waarmee de component op het bord terechtkomt. Gezien de onvoorspelbare hoogtevariatie betekent dit dat je ruim van tevoren de zoeksnelheid van de z-as moet verlagen, met als gevolg dat de machineoutput laag wordt. Bij onze plaatsingsmachines maken we gebruik van een verende tooltip in de nozzle zonder concessies te doen aan de output.
Dsp
Op de IX Hybrid ondersteunen we drie type nozzles. We maken gebruik van starre nozzles indien hogere krachten (> 2 N en hoge nauwkeurigheid) toegestaan zijn, verende nozzles met een korte veerweg en een relatief stijve veer (2 N en maximale output) en low-force nozzles (0,5 tot 1 N en hoge nauwkeurigheid). Zo’n nozzle heeft zowel een diameter als een hoogte van 12,5 mm. De componenten worden met vacuüm vastgehouden.
De nozzles worden gebruikt in combinatie met specifiek ontwikkelde algoritmes. Deze zijn geïmplementeerd op de dsp in de servoregelaar. Ze zorgen ervoor dat de componenten met een gedefinieerde kracht beheerst worden weggezet. De motorstroom wordt gemonitord. Op het moment dat de plaatsingskop het bord raakt, wijkt de motorstroom af van de gekalibreerde waarde. Als de dsp dat detecteert, switcht hij van regelstrategie en stopt de beweging gedefinieerd zodat de krachten op de component begrensd blijven.
Voor de low-force nozzles passen we een andere strategie toe. In plaats van een slappe veer hebben we gekozen voor een voorgespannen bladveer-rechtgeleiding. Hiermee kan de tooltip spelingsvrij over een kleine afstand van ongeveer 0,5 millimeter bewegen. Punt is nu: hoe detecteer je dat je het bord raakt? Detectie op basis van motorstroom is te onnauwkeurig en te traag. We maken bij deze nozzles gebruik van de vacuümsensor in de plaatsingskop. Op het moment dat de tooltip het bord raakt, meet de vacuümsensor verderop in het pneumatisch circuit een verandering in de druk. De dsp stopt de beweging dan gecontroleerd met de vooraf gekozen kracht op de component. De krachtopbouw blijkt in de praktijk zeer reproduceerbaar.
Rik van der Burg is motioncontrolspecialist bij Kulicke & Soffa en docent bij The High Tech Institute.