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 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 realised 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.
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.
The software was developed using C# on .NET framework. Matrox Imaging Library was used to support the vision system. A WPF MVVM architecture was followed and an integrated UI was developed to handle all subsystems.