586,105 active members*
3,424 visitors online*
Register for free
Login
Results 1 to 7 of 7
  1. #1
    Join Date
    Nov 2007
    Posts
    25

    pick & place machine

    Hi All

    My name is marcel. I am new to this forum but not to EMC
    I already build two machines that run of EMC
    I am now building a pick and place machine for placing SM electronic components.
    I don’t know much about how the G codes work, as I rely on a Cad-Cam program and EMC to do it all. The problem with a P/P machine is you need to pick a component like a tool change location except you have many such locations. All the picking locations will have a different Z-axis setting and when at the bottom it must switch the vacuum on to pick the component up. Could these locations and its functions be kept inside the EMC program or will you have to program it as part of your G code every time? Could one create a new G code like a drilling cycle with extra functions or is there any other easy way of doing this?

  2. #2
    Join Date
    Mar 2008
    Posts
    267
    Hello Marcel,

    An interesting proposition. I had been looking at flying probe requirements and have come to a conclusion that in a multi axis setting there would need to be too many anti collision checks to kee g-code as a viable coding medium.

    On the question of pick and place I am convinced it is a viable client for EMC and g-code.

    n general PCB cam software outputs SMD component centroid information.
    You would need to write a parser of centroid data to convert it to suitable G-code. Dont forget You have at least three commands in standard G-code You could use in lieu of vacuum on vacuum off for the pickup nozzle. namely you could coopt FLOOD ON, MIST ON and LUBRICATION OFF as a control line for vacuum.

    Given the centroid information and feeder number it is quite feasible to write a script ( stand alone program ) which will bring the location of pick up point and placement points into G-code instruction.

    SAY

    centroid data ( x,y)
    feeder number k => which automatically gives feeder pickup point (Xk,Yk, Zk)
    PCB thickness t
    Component thickness Ct


    so now the pickup routine would be

    G00 Xk Yk Zk+offset ( offset to clear component thickness)
    G01 Zk+Ct ( nozzle resting on the back of component )
    M8 ( time to swithch vacuum on say using FLOOD ON)
    G01 Fabc Zk+offset ( pickup component above feeder at a slower rate so as not to break vacuum nozzle hold)
    G01 Xx Yy ( deliver component to the centroid coordinates)
    G01 Zt (Bring the component to the top surface of PCB )
    M9 ( turn vaccum off using ALL LUBRICATION OFF and perhaps even activate pushh down pin inside pickup nozzle)

    G00 Zk+offset ( move to new pickup height and now ready to pickup next component)


    All of the above can be programed within a script to output Gcode and make the machine perform rudimentary pick and place job.

    Keep in mind that vaccum pickup is not alway 100% sure thing so you may have to eventually write a script which would do rework pick and place instructions.

    I hope this gives You some ideas and do not rely on everything i have said. M codes may prove to be a bad choice i do not know.. You may even have to do some PLC programing within EMC2 to stick your machine together.

    In any case ... GOOD LUCK

    G01 Fabc Xx Yy

  3. #3
    Join Date
    Nov 2007
    Posts
    25
    Hi Zig
    Thanks for the advice but I was hoping for something easier. I have a PCB program that generates the Gerber file. I was hoping to use its drilling function as the center for picking and placing the component. The Gerber file can be converted in to DFX and in my Cad cam program to G codes. Could one create a new G code or macro file that will switch the vacuum on when z is at the bottom and move the XY to the specified location for picking? A drilling G code file would work nice if one could find a way for it to perform those extra functions automatically.
    Regards
    Marcel

  4. #4
    Join Date
    Aug 2008
    Posts
    573
    I was hoping to use its drilling function as the center for picking and placing the component.
    Don't forget about component orientation (for diodes and electrolytics).
    Bill

  5. #5
    Join Date
    Jul 2007
    Posts
    1602
    Have you seen this video? [ame="http://www.youtube.com/watch?v=bbBr9cbMqq4"]YouTube - Pick and Place with a Taig CNC mill[/ame]

    After the component is picked up, it takes it to a location where it can center it on the pickup probe to ensure proper alignment when it is placed.

  6. #6
    Join Date
    Mar 2008
    Posts
    267
    You can not use the Excellon drill file. It is just that DRILL file not component CENTROID.

    Do a bit more research into PCB CAM packages and pick and place centroid information they produce.

    Look at GRAPHICODE, CAM350 and similar packages. I do not think PCB CAD packages can help You ; they do not have suitable manufacturing outputs.

    And no it does not get any easier; unless You decide to write Your own motion control software and not go with G-codein which case You are on Your own.

  7. #7
    Join Date
    Mar 2004
    Posts
    369
    Quote Originally Posted by gombault View Post
    Hi All

    My name is marcel. I am new to this forum but not to EMC
    I already build two machines that run of EMC
    I am now building a pick and place machine for placing SM electronic components.
    I don’t know much about how the G codes work, as I rely on a Cad-Cam program and EMC to do it all. The problem with a P/P machine is you need to pick a component like a tool change location except you have many such locations. All the picking locations will have a different Z-axis setting and when at the bottom it must switch the vacuum on to pick the component up. Could these locations and its functions be kept inside the EMC program or will you have to program it as part of your G code every time? Could one create a new G code like a drilling cycle with extra functions or is there any other easy way of doing this?
    After looking at the problem for a long time, and talking a bit with Nicholas Benezan who built his own very nice P&P machine, I decided to buy a used machine. I think it was a pretty good decision for me, as I would have spent several years building a mediocre machine from scratch.
    Instead, I have a VERY sophisticated machine (Philips CSM84) that works pretty well for the type of boards I build. It is clearly not as accurate as it was when new, but still works OK.

    But, I also have a high-end electronic CAD/CAM package (Protel 99SE) which does produce P&P files. I then wrote a little C program that converts this file to what the Philips needs. It also takes in a file that assigns component names to feeder positions, and the orientation of the parts on the tapes.

    The Philips machine finds fiducial locations on the board (I usually just use the mounting holes instead of dedicated fiducial spots) and uses these to correct for offset and twist as the board is held on the conveyor rails. It can handle from 0402 (I never use anything smaller than 0805) up to 35 mm square QFP chips, with 3 heads with different nozzles. it can even pick up a part on each head and put all three down on the board in the same move.

    I pretty much figured out how you would do P&P with EMC, but it wouldn't be real pretty. The Philips has all SORTS of nice features in its software (runs on a 80286, that tells you the vintage).
    It retries if it failed to pick up a part, counts how many times it failed and then stops after that many, which can be set differently for each part. It allows you to change the settings for a particular feeder/component even in the MIDDLE of placing a board, and all sorts of other stuff
    that would be hard to do with a G-code based system. It has 3 levels of vacuum sensing on each head, and each component can be set for which level of vacuum indicates the part was picked correctly. My machine also has a vibratory feeder for SO-type chips in tubes, and a "mechanical aligner" where the head lowers the part and pairs of jaws center it on the nozzle.
    The small-part nozzles have jaws that align the parts when the nozzle picks them up.

    I think an EMC - G-code based P&P might be OK for small boards with 20 parts max, I've already done a board with over 800 parts on it. I can't imagine how I'd deal with jammed feeders or component tapes that went empty if I had to do the "run from line" stuff in EMC every time that happened. As I have gotten the machine tuned up and found out what parts just didn't work well on this machine, it gets more reliable, but in the beginning, I had a LOT of trouble with dropped and mis-picked parts, but the Philips made it pretty easy to recover from most of those.

    Jon

Similar Threads

  1. SMD pick and place
    By ciccio in forum Printing, Scanners, Vinyl cutting and Plotters
    Replies: 195
    Last Post: 09-13-2019, 12:56 PM
  2. pick & place software
    By gombault in forum Digitizing and Laser Digitizing
    Replies: 0
    Last Post: 09-06-2009, 11:53 AM
  3. who has smd pick place software???
    By C++ in forum Printing, Scanners, Vinyl cutting and Plotters
    Replies: 2
    Last Post: 03-04-2009, 08:43 PM
  4. Best place to pick up tooling
    By rossrods in forum Benchtop Machines
    Replies: 9
    Last Post: 03-14-2008, 03:30 AM
  5. Pick-and-place using a CNC mill
    By mickelsen in forum CNC Tooling
    Replies: 2
    Last Post: 12-24-2007, 02:02 AM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •