9bf03384c5a71a85bdd1856bb42f2279479c0666
[web/gag.com] / pcb / csm84 / index.mdwn
1 # Surface Mount Robot
2
3 For a long time, we've hand-loaded prototypes and then sent production board
4 runs out to one of several 3rd-party surface mount assembly shops.  We've
5 tired of dealing with these assemblers, however, would like more control
6 over the process, and are intrigued by the [OpenPnP](https://openpnp.org)
7 project. 
8
9 After playing around for a while with building a machine from scratch, Bdale
10 was offered a surplus Philips (Yamaha) CSM84 pick and place robot.  This is
11 a massive thing to make room for in a home shop, but as designed it's meant
12 to be able to hold 84 reel feeders with 8mm width reels, has a conveyer belt
13 for loading and unloading assembly panels, 3 placement heads, and very good
14 fundamental mechanical accuracy and repeatability.  Unfortunately, the machine
15 controller is 1980's era technology, and the machine isn't really capable of
16 handling 0402 parts as-is.  The goal, therefore, is to convert the machine
17 over to using a modern control and vision system running OpenPnP, capable of
18 loading [Altus Metrum](https://altusmetrum.org) and other products that make
19 heavy use of 0402 passive components, and fine-pitch integrated circuits.
20
21 ## Sub-Projects
22
23 * The stock machine has a nozzle vacuum sensing board that uses an analog
24   amplifier and comparators to output 3 states per nozzle as a 2-bit digital
25   signal.  OpenPnP would rather have simple analog vacuum sensors on each 
26   nozzle, readable by one of the system's control interfaces, then implement
27   the thresholds in software.  That that end, Bdale designed a [replacement
28   vacuum board](https://git.gag.com/hw/csm84vacuum) that uses 3 NXP 4115
29   series analog output vacuum sensors, intended to be attached to three of
30   the "thermistor" inputs on the Smoothieboard that also provides axis servo
31   control.
32