586,106 active members*
3,192 visitors online*
Register for free
Login
IndustryArena Forum > Hobby Projects > RC Robotics and Autonomous Robots > image processing for SMT pick and place
Results 1 to 17 of 17
  1. #1
    Join Date
    Jul 2005
    Posts
    450

    image processing for SMT pick and place

    Hi everyone, just wondering if anyone is interested in collaborating on some of the computer vision issues around homemade pick and place machines? Im considering building one myself, and thought this might be a good part to experiment with first.


    I have had a go at detecting strips of components, detecting if the component is in the hole, and locating the round holes for indexing the strip.

    I have also experimented with pad detection on the pcb. This turns out to be a bit difficult due to the silkscreen being a similar color. Im considering using polarised light to get round this.

    Two of the source photos (seg-orig, pcb_sm) are from Outguessing the machine, which i have used to compare results. The others are captured with a logitech webcam on my desk. I dont have proper lighting set up (just room light), hopefully doing so will improve results.
    Attached Thumbnails Attached Thumbnails blob detection.jpg   blob detection (blobs).jpg   component pad detection.jpg   detect holes in strip.jpg  

    detecting strip.jpg   seg-orig.png   detecting components with text.jpg   pcb pads (live feed).jpg  

    pcb pads source.jpg   pcb_sm.jpg   pcb_sm_blobs.jpg  

  2. #2
    Join Date
    Mar 2005
    Posts
    305
    cool, could you give more infomation

    b.r

  3. #3
    Join Date
    Jul 2005
    Posts
    450
    Sure, at the moment i am doing all my prototyping in a piece of software called RoboRealm, which is a windows gui based computer vision tool. There is a free trial available from their website. The reason i use this over openCV is its much faster to do development in. I may port the final solution to openCV when im happy with the result.

    The webcam i am using is a logitech webcam pro 9000, which is a bit of a mixed blessing, as its autofocus will not work on close up objects, so have to keep camera around an inch away from the target.

    On pcb recognition, there are several issues to overcome. I am trying to avoid just using red lights, as i want to support multiple resist colors. The problem i have is identifying pads from silkscreen, which are both similar intensities in the current lighting scheme. Two potential solutions spring to mind, IR lighting, or using polarizing filters, but havent tested them yet.

    With parts in cut strip, i am trying to locate the round holes to index the strip with a cnc head. This works quite well with a classical image processing approach. I am using a canny edge detector, then a hough transform to locate circles in the edge image. The other test i want to achieve is being able to tell if a given pocket has a component in or not (for failiure to pick errors).

    When using a blob detector and automatic threshold image, i can identify the pockets, component pads, and round holes. It should be possible to classify the blobs based on roundness, and inclusions to detect the three states reliably, but i havent done this yet.

    My next job is to get an led ring light to remove shadowing, and a better background material for the images. I may also end up having to modify the webcam optics, as at the moment most of the resolution is going to waste.

  4. #4
    Join Date
    Mar 2005
    Posts
    305
    why you dont use CCD camera? webcam too slow

    b.r

  5. #5
    Join Date
    Oct 2006
    Posts
    120
    don't know if this will be any help to you but the pick and place machines i have worked with mainly used "gray scale" for the component and Fiducial recognition.

  6. #6
    Join Date
    Jul 2005
    Posts
    450
    tivoidethuong: the webcam i am using is capable of 720p@15fps, most ccd capture cards i have seen do far lower resolution at 30fps. They also tend to be more expensive, when you factor in cost of camera and webcam.

    blighty: do the machines you use happen to have colored lights and filters on the cameras?
    Also i would be interested to know what is required by way of component teaching before the system can recognise the parts.

  7. #7
    Join Date
    Oct 2006
    Posts
    120
    hi daedalus,

    the led array around the cameras have three sets of red led's done in layers. depending on what you was doing depended on what set was lit. e.g if it was just looking at a 0805, 0604 etc it would use just one set like a fleeting glance. if it was looking at a PLCC44 it would use all three for better look. as for filters, they had a diffuser cover that was just a piece of opaque plastic over the led's.

    component teaching.....

    was done by a package library in conjunction with a component library.
    each package has its own rules. e.g 0805 (cant remember the sizes so i will make them up ) lets say you have a 100nf cap to lay. in your component library it would be.......

    item 100nf cap
    code CAP318 (i remember that code as we shot billions of them)
    pack 0805

    in your package library you will have one for 0805. this is where you tell it what its looking for. don't know how your going to do this, but this is how it was done. you would place a 0805 on the nozzle (the way it would be picked up) then using the gray scale turn down the intensity till all you could see is bright white feet(pads) of your 0805. you would tell it that these white pads are 3mm x 2mm and 4mm apart @ 90deg. then you would have another 7 pages of stuff to fill in, but i wont go into that. if it doesn't see this it will reject the part and go get another one. you would do this for every package type you have. things get fun when you have to teach it what a 120 leg smd looks like.

    hope that made sense.

  8. #8
    Join Date
    Oct 2006
    Posts
    120
    just found this [nomedia="http://www.youtube.com/watch?v=mf_obohkygo"]YouTube - europlacer iineo smt pick and place in action[/nomedia]

    @ the 0:40 mark they show the screen when its looking at the components and @ 4:00 a shot of one of the led arrays for the cam.


    i miss the sound of these things................. NOT!!

  9. #9
    Join Date
    Feb 2005
    Posts
    57
    Hi

    you may got on ebay in-sight cognex vision system for 500$
    then you train it for fiducial or part pad and program it for output
    x,y cordinate by rs-232 and bingo your done ...

    extract blob was nice but it later hard to use it for find part center
    so best way was train for "pin" find and then compute average of all x ,y coordinate the result will be the part center :idea:

    also the blob was very sensitive to external light source
    Attached Thumbnails Attached Thumbnails cognex_vision.jpg   center.JPG  

  10. #10
    Join Date
    Oct 2005
    Posts
    2392
    You only have to compute the corner pins, not all pins. Actually you only need 2 opposite corner pins but it's probably best to still use 4.

  11. #11
    Join Date
    Sep 2006
    Posts
    70
    Using a webcam is not difficult, the key is lightning.
    You must have a histogram comparable to this, the background color don´t matter. If you don´t have it, you don´t have the right lightning and that´s the failure.
    The second image is a illumination that is not perfect, but working.
    Attached Thumbnails Attached Thumbnails Unbenannt.jpg   caption1.jpg  

  12. #12
    Join Date
    Dec 2007
    Posts
    51

    image processing

    hi there
    a few thoughts on image processing
    let me just start with this is a necessary subject to learn how ever it is the application of this knowledge that is important.
    if your machine cannot reliably arrive at the calculated position of a part then
    you will not be able to place accurately any way.
    the recognition of where the part goes on the board is not necessary as this information is made by the pcb cad package.
    the machine i use at work uses the image system to find the board via fiducials, also it can be used to find the center of parts by measuring there legs. as a note the vision box has red green and blue leds for illumination only on rare cases some bga's will you change the light source. the camers used for loking at the board are monochrome with red leds as you usaly remove the solder mask around a fiducial.
    what i belive the small pnp machine builder will need is the ability to pick the part take it to a camera and get placement correction data x,y offset and rotation, so it can then be placed. having just finished my first machine which has no placement correction i can say this is my biggest problem. we all use the tools we are most familiar with keep up the good work learning this tool
    Peter r

  13. #13
    Join Date
    Feb 2005
    Posts
    122
    Hi Peter,
    You said that you have finished your machine. Will you please post some pictures with your machine ?

    Kind Regards,
    DAniel

  14. #14
    Join Date
    Dec 2007
    Posts
    51

    pic's

    please see for more detail and pic's

    http://www.cnczone.com/forums/rc_rob..._build-39.html

    when i get some time i will upload some vids
    Peter r

  15. #15
    Join Date
    Feb 2005
    Posts
    122
    Hi Peter,
    I have seen them already. Will you please elaborate a little about vision system of your "work" machine ?
    You said that it has RGB led's. It is changing the lighting color often ? or is using only red light ? What if the PCB has RED color soldermask ?

    Kind REgards,
    DAniel

  16. #16
    Join Date
    Dec 2007
    Posts
    51

    lighting

    hi there
    the cameras that look for fiducials only have red light, this light is only switched on during capture. for a fiducial to be effective it is recommended to have clearance around it for example a common fiducial would be 1mm circle of copper maybe plated or hot a air leveled then you would have a expansion in your solder mask of 3mm then if you require a legend you would place that further outside. have not done many red boards but have not noticed any problems. mostly the hot air leveled boards give the most trouble as the
    uneven surface of the solder can cause funny reflections witch show up as voids in the circle making it un readable.
    the rgb leds are in the vision pit used for component correction on fine pitch parts BGA'S or other parts that need to be aligned by there legs not by the body as the laser dose.

    the vision system can be used with a normal pad but if there is not good contrast and the shape is not perfect it becomes unreliable.
    P
    Attached Thumbnails Attached Thumbnails leds.jpg  

  17. #17
    Join Date
    Nov 2004
    Posts
    26
    I would like to develop an application that can build a spice model of the circuit board from computer vision and then perform diagnostics from probe measurements on the circuit.

    This could be implemented as augmented reality with a hand held device

    Augmented spice circuit diagnostics essentially.

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 in VB
    By pdl in forum Visual Basic
    Replies: 1
    Last Post: 04-16-2010, 06:28 PM
  3. Pick and place file
    By jcvel in forum CNC Machine Related Electronics
    Replies: 0
    Last Post: 01-22-2010, 02:35 AM
  4. Anyone SC or NC need a Pick & Place?
    By Al_The_Man in forum Community Club House
    Replies: 0
    Last Post: 01-18-2010, 09:46 PM
  5. pick & place machine
    By gombault in forum LinuxCNC (formerly EMC2)
    Replies: 6
    Last Post: 09-19-2009, 07:19 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
  •