Seminar: Camera-based PCB Analysis for Solder Paste Dispensing

2013-12-02_20.02.29

The lectures during my last semester were largely focused on digital image processing. Combining this with the inspiration for 3D printing, I gathered through my trip though South Korea, resulted in the following seminar paper. Seminars are a compulsory part of our curriculum which I like due the self-contained work and the ability to pick an individual topic.

Over the past year, I’ve built my own Kossel 3D printer. The Mini Kossel is based on a novel parallel delta kinematic which was developed by Johann C. Rocholl, a Google engineer from Germany.

This paper is targeting the automation of solder paste dispensing onto printed circuit boards by using computer vision and RepRap robots.

Full Slides as PDF
Full Paper as PDF
Source Code at GitHub

Seminar: Image Processing and Content Analysis

Camera-based PCB Analysis for Solder Paste Dispensing

Steffen Vogel (steffen.vogel@rwth-aachen.de)
Academic Advisor: Wei Li (wei.li@lfb.rwth-aachen.de)
Institute of Imaging & Computer Vision (LfB)
Rheinisch-Westfälische Technische Hochschule (RWTH), 52056 Aachen

1 Abstract

Two of the main challenges for PCB prototyping are the time-consuming setup of involved machines and their economic feasibility for small laboratories and hobbyists. This paper tries to offer solutions for both of these issues:

  1. The complex setup process of industrial machines can be accelerated by computer vision. It is preferable to automate this process as far as possible to enable the operation by untrained personnel and hobbyists. The workflow can be further simplified by not relying on external CAD data. This includes: detection of components, pads and footprints; mapping between available components and footprints and planning of shortest tool paths.
  2. The adaption of proven 3D printers allows to lower the costs for such machines. The lightweight and fast kinematics of parallel 3D-delta robots like the RepRap Mini Kossel are perfectly suited for the assembly of PCBs. Only the print head has to be exchanged between the individual steps of the process.

This work presents a workflow to control DIY 3D printers for the purpose of PCB assembly. By using cheap and easy-obtainable parts like proven RepRap 3D printers, this technique is viable for small laboratories, FabLabs and hobbyists. During the seminar, a analysis and control software for RepRap printers was written. Hence, we focus on the overall workflow and tools and less on algorithms and theory.
Here, the task of solder paste dispensing was chosen to be explored in detail. This work establishes the groundwork for more complex task like the pick and placing of electronic components.

2 Motivation

The ongoing miniaturization of electronic products like smartphones and Ultra Books has led to a new form factor for electronic components. Surface-mounted devices (SMD) are already widespread in electronic design and production. As a result, previously used through-hole components are gradually phased out. This miniaturization of SMD components is an ongoing trend and raises the barrier for hobbyists to produce PCBs themselves. Soldering and placement of 0401-sized resistors or BGA packages is not possible by hand any longer.

This work is motivated by the vision to build an all-in-one machine for the complete process of prototype PCB assembly (PCBA). To accelerate the development process and to reduce the costs, all of these tasks can be handled by a single workbench 3D printer / CNC mill. The PCB production process roughly can consists of the following steps:

  1. Isolation milling or pen plotting of PCB traces
  2. Drilling of holes and contours
  3. Solder paste dispensing for SMD pads with a syringe
  4. Pick-and-place of SMT components with vacuum
  5. Soldering with hot air, a hot plate or by a laser

For the scope of this paper, the process of solder paste dispensing was chosen. This task offers the biggest margin to profit from computer vision. Industrial mass production uses stencils to apply solder paste onto the PCB. For small prototype assemblies the fabrication of stencils is not worthwhile. Therefore, solder paste is applied manually with a pressurized syringe, which is hold by hand.
The dispensing of solder paste requires the knowledge exact solder pad positions and dimensions. Traditionally, this information is exported by CAD design tools and is required to produce the stencils.
But sometimes the CAD data is not available or stored in an inaccessible proprietary format. This paper presents techniques to gather the pad locations and dimensions by means of computer vision.

Fig. 1: Solder paste dispensing techniques
Fig. 1: Solder paste dispensing techniques
smd0805
Fig. 2: 0805-sized resistor
Seminar: Camera-based PCB Analysis for Solder Paste Dispensing weiterlesen

TetraBot, die Erste

Nun bisher habe ich euch noch nicht viel über mein derzeitiges Projekt verraten. Es handelt sich um einen ca. 0,8 kg schweren Roboter, der vier Modellbauservos als Antrieb nutzt. Immer nur 3 seiner 4 Räder werden gleichzeitig für Antrieb genutzt, das vierte Rad ist Reserve und wird später eventuell für die Radarnavigation benutzt.

Seine gleichmäßige, geometrische Form, die einem Tetraeder ähnelt, gab ihm den Namen Tetrabot.

Auch die Elektronik soll redundant ausgelegt werden. Jede seiner vier “Tentakeln” wird durch einen Atmel AVR Mikrocontroller gesteuert. Zusätzlich bekommt jedes Bein noch eine spezielle Aufgabe:

  1. Kommunikation
  2. Navigation
  3. Stromversorgung
  4. Sensorik

Ein Bein besteht aus:

  • 2 AAA Ni-MH Akkus
  • Atmel AVR ATMega Mikrocontroller
  • Taster
  • LED’s
  • Umgebungslichtsensor
  • Servo + Omniwheel
  • Gabellichtschranke
  • Ultraschall Sensor

Hinzu kommen für die einzelnen Aufgabenbereiche individuelle Elemente:

  • IR Sender + Empfänger
  • Bluetooth
  • Temperatursensor
  • Mikrofon

Untereinander sollen die Beine über den I²C Bus verbunden werden und sich so im “multiple master” Modus gleichberechtigt austauschen.

Fast ein halbes Jahr ist jetzt seit meinen ersten Gedanken vergangen. Mittlerweile ist die Planung fast abgeschlossen.

Das Grundgerüst + Akkus und Antrieb des Roboters sind schon fertig. Trotzdem liegt noch viel Arbeit vor mir ;). Ich rechne erst nach meinem Abitur mit der Fertigstellung… Hoffentlich habe ich während meines Zivildienst dann mehr Zeit.

Hier meine ersten Ergebnisse:

Das war es mal fürs erste… Die entgültige Form und Funktionweise des Roboters behalte ich noch ein paar Monate für mich. Es jetzt zu beschreiben wäre sinnlos. Bilder sagen ja sowieso mehr als 1000 Worte…

TetraBot, selfmade Omniwheels

Der TetraBot soll sich effektiv und schnell bewegen können. Das gelingt ihm am besten durch einen Omnidirektionalen Antrieb. Dieser basiert auf speziellen Rädern, den “Omniwheels“, die ich euch hier vorstellen werde. Die dafür nötigen Servos habe ich in einem anderen Beitrag bereits gemoddet.

Raul Rojas and Alexander Gloye Förster verfassten auch eine wissenschaftliche Arbeit zum omnidirektionalen Antrieb.

Kommerzielle Omniwheels gibt es hier: www.omniwheel.com. Preislich liegen sie aber nicht in meinem Bereich und sind wegen der hohen Portokosten auch gleich ausgeschieden…

Also hab ich mich selber ans Werk gemacht. Preislich bin ich mit meiner Variante bei ca 10 € für alle vier Räder gelandet.

Bauanleitung

Material

  • Holzperlen mit Loch
  • Schrumpfschlauch mit dem Durchmesser der Holzperlen
  • dicker isolierter Draht mit dem Durchmesser des Innendurchmessers der Perlen
  • dünnen Draht für die Speichen
  • Lochrasterplatinen für die Radnarben
  • Muttern und Abstandshalter

Werkzeug

  • Schere
  • Kerze
  • feine Zange
  • Seitenschneider
  • Dremel
  • Bohrmaschine

Los gehts

  1. p1020509Wir beginnen mit dem Schrumpfschlauch. Dieser wird kleine Stücke geschnitten, die etwas solang wie der Durchmesser der Holzperlen lang sind.
  2. p1020517p1020520Der Schrumpfschlauch wird über die Holzperlen gezogen und mit einer Kerze erhitzt.
  3. p1020527Wir fädeln die Perlen auf ein entsprechend langes Stück des dicken Drahtes. Dies wird unsere Felge.
  4. Durch das Herausziehen des Metalldrahtes aus der Isolierung können wir die Felge schließen.
  5. p1020521Mit dem dünnen Draht werden je nach Perlenanzahl die Speichen gespannt.
  6. RadnarbenAus der Lochrasterplatine werden mithilfe des Dremels zwei kleine runde Radnaben geschnitten, die mit entsprechenden Löchern für die Achse und die Speichen versehen werden.
  7. fertiges RadSpeichen auftrennen und durch Anwinkeln der Enden in die Radnarbe einhängen.
  8. Die beiden Platten der Radnarbe mit den Abstandshaltern auseinander drücken. Dadurch entsteht die nötige Spannung des Rades.
  9. Fertig 😉

Ich gebe diese Anleitung ist sehr kurz gehalten. Sollten noch Fragen aufkommen, würde ich mich über ein paar Kommentare sehr freuen…