The Context
The printed circuit board (PCB) is the linchpin for all of today’s modern electronics. A business leader in the semiconductor equipment industry was developing a state of the art, fully automated PCB manufacturing system. This employed a high speed gantry that dispensed certain liquids such as lead paste, glue, coating chemicals etc. Tismo was brought on board to develop the control software, that constituted the brains of the system.
The Challenge
The software was intended to control the different parts of the system that included a gantry, dispensing head, conveyor and various other subsystems. Since the client was developing the hardware parallelly, continuous changes in the system definition and functionalities were a given. The team realized that the operational challenges would also have to be accounted for by the control software. These could include non-aligned and warped PCB substrates. The Tismo team was faced with developing a software architecture, flexible enough to accommodate hardware and process changes, specifically, number and types of dispensing jets to be supported, optional height sensors, different types of cameras etc. Additionally, the software would have to actively monitor various physical parameters like offset of the PCBs, arching of the substrates, distance between dispensing nozzle and substrate etc, all in real time.
The Solution
Tismo developed a modular software architecture that controlled the SMEMA compliant conveyor system used to move substrate in and out, and a three axis gantry system used to move the liquid dispensing head. It also supported a vision system, comprising a camera and height sensor, mounted on the gantry and an optional substrate heating module which interfaces with the conveyor system. The software employed algorithm that detected fiducial markings to create ‘Matrox Models’ and compute the necessary corrective offsets for the dispensing head. The challenge of arched substrates was overcome by using the height sensors to project the arch of the substrate and incorporate the required corrective measures. Automatic and manual setup and calibration of the camera to machine coordinates, automatic calibration of the height sensor, camera to Jet dispenser head were built into the software. It also helped the operator to jog the camera on top of the substrate and create custom dispensing patterns (dispensing program) for each substrate as well as create callable, reusable patterns.
Features:
- Easy to create dispensing programs using calibrated motion-vision system
- Support for Workpiece with parts
- Subroutines and Parts can be nested
- Automated setup procedures for dispense head offset calculations, height sensor and vision calibration
- Fiducial detection with orientation
- Workpiece or part level corrections for offset, rotation, skew plane and height sensing, fiducial definitions and height
- Diagnostics at all abstraction levels: Dispenser, Gantry, Axis, I/O
- Single and integrated tool & UI for handling all subsystems (Vision, Motion etc.)
- Conveyor management with support for SMEMA
- Automated or Manual workpiece handling
- Support for multiple types of runs such as production, camera, wet, dry etc
- Easy to use navigation and Jog control, multi-camera views
- Relative motion handling with respect to any device
- Easy handling of jobs such as recipe, workpiece, fluid, valve & dispensing patterns definitions
The software was developed using C# on .NET framework, following an MVVM architecture. Windows Presentation Foundation (WPF) was used to develop the User Interface. Matrox Imaging Library was used to support the vision system.
Cover Image: “Photo” by Joshua Mormann is licensed under CC BY 2.0