• Home
  • About
  • Portfolios
  • Blog

ReFlux – BGA Rework Station

Introduction

ReFlux is a BGA  rework station with automatic pick and place and alignment capabilities using computer vision. Designed for research and development of new rework processes, the machine and software are fully customizable and extensible.

Broadly, The rework process can be divided into two major steps?
  • Reflow: involves the desoldering and re-soldering of surface mounted ICs, a very delicate task that should be handled with great precision. Furthermore, each reflow curve must be created and adapted depending on the alloy used, the flux, the package type.
  • Alignment: The precise placement of the new or re-balled unit onto the prepared pad array.

Functional prototype

To accelerate the development process of the electronics and the software, a 30-year-old glue dispensing machine was brought to life again by upgraiding its stepper drivers and replacing the controller with an AVR board running the GRBL firmware. A new endtool was attached to the machine.

The following video shows the machine performing a pick and place operation after a reflow profile was executed.

The second video is showing me having fun with the machine while testing the alignment and scenario features.  (the checker game is a pre-programmed using the scenario toolbox)

Hardware

The machine is a 4-Axis cartesian manipulator, using closed-loop servomotors and precision ball screws on the three axis (X,Y and Z) and a stepper motor for the fourth axis (A). The pick and place mechanism uses a pneumatic piston, the needle is attached to a custom made Venturi vacuum.

Electronics

The machine was designed to be modular and extensible, for this reason, each part of the machine has it’s own controller, called “Nodes”. Each node is connected to the main controller via a CAN bus, the address of each node can be changed using the integrated DIP switch. The main controller is a Linux machine with a PCI CAN interface.

There are four major nodes :

Heating Control Node

  • PID control of up to 10 heating elements
  • Up to 10 independent profiles can be stored and executed in parallel
  • Cortex M0 ARM processor
  • High precision thermocouple
Heating Control Node

Servomotor Control Node

    • 32 bits ARM Cortex-M3 processor
    • 30A output current
    • Quadrature encoder interface
    • Load current sensing
    • Speed and acceleration profile
    • Fault detection and data logging

Pneumatics Control Node

  • Control of 12 pneumatic solenoid
  • Positive and Negative pressure sensing using a monolithic silicon pressure sensor
  • Cortex M0 ARM processor

 

Stepper Control Node

  • Cortex M0 ARM processor
  • synchronized control of three stepper motors (up to 2A each)
  • high resolution microstepping
  •  sensorless mechanical load measurement
  • load adaptive power optimization

Firmware

All nodes were developed using C/C++ and the OpenLPC libraries. FreeRTOS was used to handle multitasking and synchronization. Each node has it’s own features and capabilities, but they all share the same base code for the control, monitoring and fault detection over the CAN bus.

Software

The control software is running on an x86 Linux machine. Developed using C++ and Qt Framework for the GUI and concurrent event-driven procedures.

The main features can be grouped into three categories :

Programming and scripting

Reflow profiles can be created easily using the Curves creator interface. The user can choose which channel to use, the control method, input sensors,… and then plot the desired curve profile.

A curve can also be a combination of different inputs and outputs preprocessed by a user script.

PWM and discrete controls are also possible using the same curves interface (I.e: cooling fans (PWM), water pump (on/off), fume extractor (on/off),…)

Operations can also be programmed using the scenario tool, it allows the user to define a scenario for each rework process, each scenario can have a list of Actions organized in chronological order.

Actions are :

  • MoveTo: sends the end tool to a defined position
  • ChangeTool: changes the current end effector (hotair, camera or needle)
  • Profile: executes a profile
  • Pick/Place: pick the IC from the PCB or the holding plate
  • Idle: puts the machine to idle state

Alignment

Alignment is required before each desoldering and resoldering operation, the software allows the precise alignment of the unit and the prepared pad array by using the inputs from the two cameras to locate fiducial marks, and then adjust component placement based on the exact position of the board.

Stencils are landmarks of IC packages extracted from Eagle CAD software libraries using a custom made tool (stencilmaker). The stencils are used as an overlay to help in verifying the alignments. They are very useful in helping to compensate for the PCB leveling.

Execution and Monitoring

Once created and stored, profiles and scenarios can be executed, using the toolbox docked widget. The software uploads the required profiles to their corresponding nodes sends the start command and ensures the synchronization between each node.

Data is acquired in real-time from each node and displayed in its corresponding widget. Measured temperatures are drawn over the profile curve. T

 

 

Related Projects

Zacrumium – Front door Intercom and access control system

January 9, 2019

OmniHolo

March 17, 2019

ALARME ! ALARME ! ALARME !

January 8, 2019
© 2019