Manual optical inspection

481 views
Skip to first unread message

vespaman

unread,
Nov 24, 2023, 4:27:13 AM11/24/23
to OpenPnP
So, afaict, there's no open source or even low cost AOI out there. (If I'm wrong, please tell!), so I'm doing manual inspection of my panels. First one after paste printing, then before oven.
I'm about to get a better digital microscope for the process, but it strikes me that one other solution, would be, if the OpenPnP could take pictures of the board after completing a panel, either component by component, or at a grid of pics which is covered by the down camera. The images can then be inspected manually on another computer, one by one, while the PnP is continuing with next panel.
Has anyone tried this?
Benefit is that the panels don't have to handled as much, and I guess it is less likely to miss an area of the panel.

Knowing this forum, this has probably been discussed before :-)

What are your thoughts?

  - Micael

tonyl...@gmail.com

unread,
Nov 24, 2023, 9:22:15 AM11/24/23
to OpenPnP
See open issue #317

vespaman

unread,
Nov 24, 2023, 10:40:44 AM11/24/23
to OpenPnP
That was an interesting read! Too bad it died off.
I'll try the script @estechnical  did, when i get to my machine. All the AOI would be lovely, but I guess it is a huge undertaking. My idea was that e.g. flipping through e.g. 10 pictures of R1 (10 boards/panel) can be done quicker than doing it board by board (R1, then R2 etc). At least something to try out, maybe it is going to be extremely tedious and I'll fall asleep ;-)

  - Micael

Jan

unread,
Nov 24, 2023, 3:17:22 PM11/24/23
to ope...@googlegroups.com
Hi Micael!
The idea is interesting indeed. IIRC there is a scripting example that
takes a picture of a part just placed.
Googling around, it seems, that this topic is discussed every now and
then here and there. So likely a lot of information if collected and
sorted. I also found, that Seon (UnexpectedMaker) has done something
like that back in November 2021.
However, you'd have to add software later anyhow, why use OpenPnP to
take multiple images in the first place if you can just take a separate
camera with a larger FOV. I'd place a camera above a PCB holder and
compare images with a reference. For component placed/missing that shall
be enough. For solderpaste or -join inspected one would probably need
more cameras looking onto the PCB at an angle to detect thickness issues.

Jan
> --
> You received this message because you are subscribed to the Google
> Groups "OpenPnP" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to openpnp+u...@googlegroups.com
> <mailto:openpnp+u...@googlegroups.com>.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/openpnp/f615fe20-635e-48de-8bbb-285a616b7544n%40googlegroups.com <https://groups.google.com/d/msgid/openpnp/f615fe20-635e-48de-8bbb-285a616b7544n%40googlegroups.com?utm_medium=email&utm_source=footer>.

mark maker

unread,
Nov 25, 2023, 6:29:17 AM11/25/23
to ope...@googlegroups.com

Hi Jan,

in the spirit of Open Source: if somebody where to create a solution inside OpenPnP or via scripting, then using the normal down-looking camera (and lighting) would enable everybody to immediately benefit when that solution was later shared.

_Mark

vespaman

unread,
Nov 26, 2023, 3:40:48 AM11/26/23
to OpenPnP
Hi Jan


>> IIRC there is a scripting example that takes a picture of a part just placed.
That might be useful as well, but from a quality process point of view, I suppose "picture run" before and after populating as sepate steps is more useful. e.g. if there's past missing, you don't want to find out during a job. Also there's a chance that components could be moved during a job.

Googling around, it seems, that this topic is discussed every now and
then here and there. So likely a lot of information if collected and
sorted. I also found, that Seon (UnexpectedMaker) has done something
like that back in November 2021.

Unexpected Maker has a live stream on his "O.T.I.S" as late as September 23, possibly even later (it is kind of time consuming to follow live streams, so I am not through them yet.
 
However, you'd have to add software later anyhow,

No, my intention was just a little step, to make my own process a little bit better. Not adding any new software, just taking the pics, and eyeballing (my theory is that if you stack e.g. 10 pics of the exact same component, you can "play through them" pretty fast, and see if any of them sticks out.)
 
why use OpenPnP to take multiple images in the first place if you can just take a separate
camera with a larger FOV. I'd place a camera above a PCB holder and
compare images with a reference. For component placed/missing that shall
be enough. For solderpaste or -join inspected one would probably need
more cameras looking onto the PCB at an angle to detect thickness issues.

I don't run separate PCB's, only panels. And one panel is too big to be photographed in one go, since you will have an angle issue. The camera needs to sweep the board. It can be done like (i think) Balázs and Mosso suggested in the other thread, by stitching (did not find any output from them, so I might be wrong), or just each component like estechnical's approach.
And also, since I am eyeballing the pic, the full panel is anyway too large to detect differences by eyeballing.

The way I see it, OpenPnP has "everything" for a good picture data acquisition, as well as rich meta data with the pic. And it scales well; in very small scale the extra cost by running the picture sweeps is insignificant, in my case, I am not sure - it might take too long time to do it - but then I can easily just do a new machine (from some 3d printer) that just do the pictures (still running OpenPnP, with the exact same job loaded). Such machine only need XYZ (not sure about Z), so it is very uncomplicated and low cost. Then it would not use precious time from the PnP machine, which is already the clear bottle neck in my setup.
The other benefit of a separate machine is that you can run it in a light controlled box, if needed.


Regarding the "next step", as far as I understand (reading between the lines), all previous tries, has ended up with severe issues using openCV from the scripts, so I have no illusion I will be able to do better. Maybe the answer is to let OpenPnP do the preprocessing (taking pictures, saving them with relevant data, perhaps with different illuminations), and have a separate software doing the analyzing. ML or not.

 - Micael

Clemens Koller

unread,
Nov 26, 2023, 6:07:14 AM11/26/23
to ope...@googlegroups.com
Hi, all!

I do not see the highest benefit to integrate an AOI into the PnP Machine,
when there are IMO quite cheap alternate solutions / low hanging fruits at hand:

Use a high to ultra high resolution camera of a smart phone on a rigit mount in
a light box. Put your PCBs or panels against some rigit stops. Take pictures of
your PCBs. Subtract them in your favorite image processing software (OpenCV,
Imagemagick, Gimp) and look for differences.

Just my five cents,

Clemens
> --
> You received this message because you are subscribed to the Google Groups "OpenPnP" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to openpnp+u...@googlegroups.com <mailto:openpnp+u...@googlegroups.com>.
> To view this discussion on the web visit https://groups.google.com/d/msgid/openpnp/3c152fbd-f9b1-4d5b-a146-aa8151583086n%40googlegroups.com <https://groups.google.com/d/msgid/openpnp/3c152fbd-f9b1-4d5b-a146-aa8151583086n%40googlegroups.com?utm_medium=email&utm_source=footer>.

Alexander

unread,
Nov 27, 2023, 1:34:02 AM11/27/23
to OpenPnP
SMD-TAXI installer visual check of the program and the result of placing components.   https://www.youtube.com/watch?v=560_4uCYOd4

воскресенье, 26 ноября 2023 г. в 13:07:14 UTC+2, Clemens Koller:

vespaman

unread,
Nov 28, 2023, 8:05:10 AM11/28/23
to OpenPnP
Interesting SMD-TAXI, not that I understood much of it, google wanted to translate from Portuguese so it did not make much sense :-) But there was some nice features afaics. 
Also, https://www.youtube.com/watch?v=z47Or7wJeag is a interesting solution for the AOI part. Unfortunately the project seems to be unavailable.
Having thought more about this, the missing paste part might be possible to do with only one camera position, using e.g. red light on a HASL board. Or maybe one can simply shine a red light onto the panel once it has been printed, to see if there's any red reflections. Will try next time.

- Micael

Mike Menci

unread,
Nov 28, 2023, 8:46:37 AM11/28/23
to OpenPnP
See here how it should work: https://www.youtube.com/watch?v=xctsO8qUpDw
Mike

Mark

unread,
Nov 29, 2023, 5:04:02 AM11/29/23
to ope...@googlegroups.com

Wow.

To unsubscribe from this group and stop receiving emails from it, send an email to openpnp+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/openpnp/783016c2-782f-4adc-9dbf-76e518553737n%40googlegroups.com.

Blowtorch

unread,
Dec 5, 2023, 9:51:09 AM12/5/23
to OpenPnP
In terms of the various steps, and checking.  I am lazy, so would rather get my printing process right, so I do not need to check the panel after pasting.    

Then, OpenPnP can already check at least the pick process, using vision/rotate etc.  If a part is miss-picked, OpenPnP pauses.   

So, things can go wrong when placing but this is unlikely if the pick was 100%.  So, not much benefit of inspection at the "post place, pre-reflow" stage.  Assuming a non-conveyor transfer of the board to the reflow station, we could bump / wipe the panel accidentally and move or remove a component.  Things could go wrong in reflow too.  So for me, it would seem that you must anyway inspect the board at the end of reflow.  Hence my opening remark of checking once, and not duplicating effort.    

But, what about loading a completed panel back into the machine, then using OpenPnP to go to each component and take a pic?  It already knows where each component is.  Then proceed as above, flipping through the pics or letting the computer do a compare/subtract check?  

Blowtorch

unread,
Dec 5, 2023, 9:55:01 AM12/5/23
to OpenPnP
A further thought:  Mark, that clever offset system you implemented for fiducial checking could work well to view component from side, revealing problem not visible from directly overhead?

vespaman

unread,
Dec 5, 2023, 12:43:26 PM12/5/23
to OpenPnP
In terms of the various steps, and checking.  I am lazy, so would rather get my printing process right, so I do not need to check the panel after pasting.    

I'm lazy too, but the whole idea about checking is to improve every step in the process. Goal is to get perfect printing. Yes, I agree that stencil are the least valuable check in the vision process. But probably also the fastest and simplest (if not trying to measure the thickness and stuff - for me, I'd be happy if a half-covered pad would show up in this step). This one could probably be done with one pic from distance.

So, things can go wrong when placing but this is unlikely if the pick was 100%.  So, not much benefit of inspection at the "post place, pre-reflow" stage.

This is not my experience, and we have the "90degree problem" threads which indicates benefits checking pre reflow. Apart from that, in my experience larger panels tends to be not totally planar so Z can be different in various places, possibly creating placing issues. Or, it could be a component has changed and the height is not correct any longer. Should not happen of course, but ...

And the biggest benefit of finding these errors prior reflow, is of course, that they are easy to fix. Especially the more layers it is harder and more time consuming to do rework once boards has been reflowed especially with BGA and similar components. And I am really lazy here. I hate tedious rework. :-)
 
too.  So for me, it would seem that you must anyway inspect the board at the end of reflow.  Hence my opening remark of checking once, and not duplicating effort.    

Yes, this is the most important inspection. Agree.
 

But, what about loading a completed panel back into the machine, then using OpenPnP to go to each component and take a pic?  It already knows where each component is.  Then proceed as above, flipping through the pics or letting the computer do a compare/subtract check?  

Yes, this is what I meant. It can save each picture with meta data, (panel, board, component/position, and also as needed, the rotation and package data). Possibly later add multiple pictures of each component, either from different angle and/or different angular+color lighting. And if the machine gets to be too busy, a simple "vision-check"-machine can be added just to do this, just by loading the same job.
This would be exactly the same as the pre reflow check. Which also gives evidence where the problem arrived in the chain.
 
If we can be achieve this, then I suspect a later step to AOI is smaller, since most/all the data is available and can be used as many times improving the AOI-grinding outcome.


 - Micael

Blowtorch

unread,
Dec 7, 2023, 12:03:51 PM12/7/23
to OpenPnP
Hi Micael

You make some good points.  When I started this OpenPnP journey, the printing was always the weak link (bridging, tombstone, etc), now I put a lot of focus on getting it right.  I have a decent squeegee, I take my time, every few panels I will check and perhaps wipe the underside of the stencil.  But sure, if there was a quick way of checking that would be nice.

I think my panels are fairly simple so have not experienced problems on the placing side or with Z variance.  I had some warped panels but they were still fairly small and did not present a problem, but they were down in the centre (concave) , so I put a couple spacers underneath.   

I do like the idea also of a separate vision machine - it would be a simple build, with only top camera, so one could build the gantry light and drive it fast.
 
.   

Reply all
Reply to author
Forward
0 new messages