- PP4 -
Software
I have written the software in Embarcadero Delphi XE4. To keep the main program free from commercial and non free components, it is split into a couple of separate programs. The programs are called from the main program:
- The main pick and place software with its driver DLL that communicates with the machine.
- An external CAD program that is used to generate part footprints, to import gerber files and to define the PCB and to simulate part placement and placement of parts onto the feeders.
- A script controlled program used to import centroid files.
- A program to generate part packagings (part tapes, trays or part tubes).
Defining part packagings
The program is used to define part packagings which are then assigned to the parts. The following packagings are available:
- Part tapes
- Part tubes
- Part trays
- Single component tray
![]() |
![]() |
Reading centroid files
To allow reading of different centroid file formats, I programmed a small pascal-script controlled importer. It knows specific commands for parsing (comma or any other character) separated text files. This allows easy adoption to different CAD centroid file formats.
![]() |
Defining footprints
The external CAD-Programm allows the definition of part footprints. They are used for placement simulation. The CAD program has simple functions to draw footprints:
- Drawing part pins
- Drawing the part case
- Drawing and automatic calculation of the centroid location on the part
- Drawing and automatic calculation of paste point for solder paste
- Automatic calculation of the part size and the part rotation following the JEDEC standard.
Defining the PCB
The external CAD program is also used to define the PCB. It can read extended gerber files. Only a subset of flashed gerber elements is supported.
Simulation
The CAD program is also used for simulation. It can simulate component placement on the PCB as well as component placement on the feeders or trays. This will later be used to check the part placement and rotation.
![]() |
![]() |
Main Program
The main pick and place program controls the machine- and feeder controllers using a DLL. It is easy to make changes to adopt the software to your own hardware.
The central part of the software is the inventory database. It is used to store information on the feeder-slots used, the rotation within the feeder, an optional vision alignment procedure, the remaining parts and other relevant data. Inventory entries can also be created from the imported centroid file where missing information must be fillled in later.
![]() |
![]() |
Before a placement or dispensing job is started, some additional provisions have to be made: Reels have to be placed onto the machine, the cut tape feeder has to be aligned and the nozzle changer has to be populated.
![]() |
![]() |
A detailed test can be executed. It checks if the data within the centroid and inventory file is valid. Now the solder paste can be dispensed or components can be placed. You can select if only the selected part or all parts are assembled. When placing it is also possible to place in single step mode. This is usually used for initial calibration of the machine.
![]() |
After placing the component all component positions can be checked by moving the camera to the selected component location.
To setup the machine and for testing the vision procedures can be adjusted and the machine can be jogged manually.
![]() |
![]() |