So, I am now the proud owner of a Desktop SMT pick-and-place machine. And although it has its quirks, it's a good machine in general. My only complaint would be the quality of its nozzles, but I'd rather leave those details out of this discussion.
What's proving to be a real challenge, though, is learning to use its controller software. The machine uses the Open PNP software, which is of the open source type and is available for download at github. The machine is basically a vanilla-type of XYZ (and C) linear motion CNC gantry with the very valuable added functionality of computer vision that enhances its precision.
The general way in which it basically works is as follows.
My question here has to do with fiducials. Fiducials are visual references used to accurately define and compensate the coordinates of the job currently being processed. Most commercial PCBs have several fiducials on them for production purposes. And of most fiducials have a basic 1mm diameter circular geometry.
But sometimes a PCB can be so crowded with parts that it's very hard, if not impossible, to place a fiducial in it. In fact, a minimum of two fiducials is required to define a board's coordinate system. So the alternative is to use a part's footprint pads on the PCB as fiducials. And THAT is what I'm having trouble with. I've been struggling quite a bit trying to set this up but I haven't gotten far.
Is anyone here familiar with Open PNP and has faced the same problem?
What's proving to be a real challenge, though, is learning to use its controller software. The machine uses the Open PNP software, which is of the open source type and is available for download at github. The machine is basically a vanilla-type of XYZ (and C) linear motion CNC gantry with the very valuable added functionality of computer vision that enhances its precision.
The general way in which it basically works is as follows.
- A database of parts and their individual geometry must be generated
- A list of feeders must also be generated
- The machine then consults the user's parts list and their specific placement and orientation
- It then picks each part from its corresponding feeder using a vacuum nozzle, transports it to a camera, which then takes a picture of the part and calculates its geometry.
- It then compensates for misalignment and rotation and places the part on its corresponding coordinates on the PCB.
My question here has to do with fiducials. Fiducials are visual references used to accurately define and compensate the coordinates of the job currently being processed. Most commercial PCBs have several fiducials on them for production purposes. And of most fiducials have a basic 1mm diameter circular geometry.
But sometimes a PCB can be so crowded with parts that it's very hard, if not impossible, to place a fiducial in it. In fact, a minimum of two fiducials is required to define a board's coordinate system. So the alternative is to use a part's footprint pads on the PCB as fiducials. And THAT is what I'm having trouble with. I've been struggling quite a bit trying to set this up but I haven't gotten far.
Is anyone here familiar with Open PNP and has faced the same problem?