BGA vision/placement demo
Posted: Fri Mar 04, 2016 3:36 am
A bunch of people have asked for this, please excuse the crappy camera-pointed-at-monitor video quality, it was a quick-and-dirty thing.
First video is what I see, second video is the actual machine (which has been moved to a different room on account of nasty flux vapors):
https://vimeo.com/157673682
https://vimeo.com/157673710
Also please ignore the deafening vacuum pump in the second video; I just upgraded to two-stage dual vacuums (they rule) to reduce the number of different nozzles I need -- but I haven't redone the soundproofing.
The chip is an 0.8mm-pitch 84-ball DDR2 memory chip. There are 16 of them on this board (eight on each side). I've built over 200 of these boards so far.
If you want to see the chip actually deposited on the board you need to keep an eye on the middle left-hand pane in the first video.
The upper-left pane is a wide-angle "plan view" camera. You can see the rectangle formed by the four PCB fiducials called out in this view.
The QR code you see is my origin marker. I've still got a few lingering problems with lost steps (the set screws on the Y-axle are the weakest link by far) so before the really ultra-critical placements (basically the BGAs) I reverify that the machine hasn't lost any steps. If it has, I dump the part, rehome, and start that placement over again.
MSER, people, I'm telling you, MSER is the way to go. Hough circles and canny edges are a big waste of time. Even FFT-based template matching is unnecessary. I've dumped all of the vision code except for the MSER routine (which I rewrote) and the QR code detector (switched to zxing). You don't need anything else. For ultra-precise homing do a QR recognition, then use the QR code coordinates to guide an MSER search for the three corner-markers. When you see the corner-markers flash RED that's the MSER locking on them.
First video is what I see, second video is the actual machine (which has been moved to a different room on account of nasty flux vapors):
https://vimeo.com/157673682
https://vimeo.com/157673710
Also please ignore the deafening vacuum pump in the second video; I just upgraded to two-stage dual vacuums (they rule) to reduce the number of different nozzles I need -- but I haven't redone the soundproofing.
The chip is an 0.8mm-pitch 84-ball DDR2 memory chip. There are 16 of them on this board (eight on each side). I've built over 200 of these boards so far.
If you want to see the chip actually deposited on the board you need to keep an eye on the middle left-hand pane in the first video.
The upper-left pane is a wide-angle "plan view" camera. You can see the rectangle formed by the four PCB fiducials called out in this view.
The QR code you see is my origin marker. I've still got a few lingering problems with lost steps (the set screws on the Y-axle are the weakest link by far) so before the really ultra-critical placements (basically the BGAs) I reverify that the machine hasn't lost any steps. If it has, I dump the part, rehome, and start that placement over again.
MSER, people, I'm telling you, MSER is the way to go. Hough circles and canny edges are a big waste of time. Even FFT-based template matching is unnecessary. I've dumped all of the vision code except for the MSER routine (which I rewrote) and the QR code detector (switched to zxing). You don't need anything else. For ultra-precise homing do a QR recognition, then use the QR code coordinates to guide an MSER search for the three corner-markers. When you see the corner-markers flash RED that's the MSER locking on them.