Open Source Automated Optical Inspection - Page 1
Forum section: electronics / projects

author: IMadeLoveToABear
author_rank: Newbie
timestamp: August 20, 2020, 02:48:59 am
content: Hi,I'm looking to build an open-source Automated Optical Inspection(AOI) device. This means the source code, hardware, and documentation would be released(GPL/LPGL).You aren't sure what an AOI is? Then take a look athttps://hackaday.com/2016/06/29/tools-of-the-trade-inspection/(this was my source of inspiration for the project).Now, my target user would be hobbyists, technicians, or engineers working independently or for small firms. I would appreciate it if you could take the time to answer my questions. Hopefully, with your answers, I can narrow down the scope of my project. If I'm lucky I can convince my professors to approve this as a valid school project.Onto the questions:Have you ever considered an AOI in the past?If so, what were some factors that made you decide to go with the model you purchased?What did you like or didn't like in the AOI you've worked with?What features would you like to see in an AOI?What would you expect from an open-source AOI(i.e: features, speed, responsiveness)?How important is the GUI and its responsiveness(in the context of an AOI)?Would you prefer a desktop app or a web app?Cheers!P.S: I made sure that I'm respecting the forum rules. If I'm posting in the wrong subforum, then please re-direct me to the appropriate one.

author: wizard69
author_rank: Super Contributor
timestamp: August 21, 2020, 06:17:59 am
content: Quote from: IMadeLoveToABear on August 20, 2020, 02:48:59 amI have no love what so ever for the GPL so you lost considerable interest right thereQuoteInteresting. Looks like a very basic optical inspection solution.QuoteThis might be an awfully big project for school.QuoteNope. However at work we use all sorts of optical inspection hardware. Some of it I even get to maintain.Obviously I've have not been in the purchasing loop! Just realize though that the usage here is not for the electronics industry.Well had to fix it without a manual for one. Two the controls were ridiculous. In one case the inspection unit had 3 axis control with no obvious manual operation. The word here is intuitive I believe, it should take a miracle to get a machine to execute basic manual operations. Any open source solution needs a GUI that makes sense.High resolution with fast screen updates. I mean both the camera and the PC's screen. Good light control, this includes light shielding as well as the artificial light. Scripting in Swift or another modern language.I'd rather like to see a more flexible system at least as an option. This means XYZ axis capability. As for open source the GPL has to go as the GPL just makes it impossible to use in many locations. Another worthwhile feature is logging, a capture of the photo along with tracking data is a must.A good GUI is everything when it comes to this sort of tool. The lower the mountain to climb the more likely the machine will be usedI've not seen a successful web app for anything like this. You really need the responsiveness of a well design native application. Now that doesn't mean that a web server to allow remote data collection and picture review is a bad thing. However such a web app should not be handling machine controlI will add one for you. I mentioned that three axis movement would make for a more flexible system. That would take a lot of time though so I can understand a solution that statically looks at the board / item under inspection. In either case lighting is critical when it comes to inspection systems, so that requires thought with either approach. i do have a question as to how a static system can do 100% inspection as you would expect some areas to be out of view.QuoteI don't know my way around here to help you with that question. Machine vision could be a subsection all on its own though.Edited to fix my messed up quoting done when I should have been in bed.

author: eeviking
author_rank: Regular Contributor
timestamp: August 21, 2020, 02:53:39 pm
content: HiSounds like an ambitious school project.First I think you need to clarify what your AOI system will be able to do and not do.If this is for use in electronic production you will need a good understanding of the challenges and common faults that can occur in pcb assembly.With AOI I think of inline machines in SMT production lines. Not exactly hobby stuff.The new generation of AOI's can generate a 3D image of the pcb by having extra angle mounted careras.Look at systems from Viscom, Cyberoptics, Yamaha, Omron etc.At work we have 3x 3D AOI system per SMT line:1st AOI is a solder paste inspection (SPI) between screen printer and pick and place machines that inspects the pr. pad paste volume, height, xy offset, bridging etc.2nd AOI is between pick and place and reflow oven. This inspects the placement of components, x, y, rotation, height, coplanarity, polarity marks, missing parts etc. This could all be done on the post reflow AOI, but its much easier and cheaper to fix problems before soldering. So this extra AOI machine is economical in an high volume production.3rd AOI inspects the soldering joints volume, height, shape, lifted leads etc. and again the placement of the component for tombstone's etc. that could happen in the reflow process.To really need an AOI system you need some volume of SMT production. So you will probably already have spent at least 50-100K$ on pick and place machine, feeders, reflow oven, screen printer etc. before you even start to look at an AOI system.If you do want to make a simple open AOI system for "hobby/garage" manufactures take a look at the OpenPnP project and look in the Manufacturing & Assembly part of the forum.

author: wizard69
author_rank: Super Contributor
timestamp: August 21, 2020, 05:00:55 pm
content: One suggestion to get this done for a school project - limit your scope. Here I mean don't go overboard trying to detect every type of fault / imperfection. Extended features and capabilities can be handled as an open source project after you get your grade.