Getting started with image processing and Linuxcnc

More
28 Nov 2012 16:44 #27035 by Storken
Hello, I'm a last year electronics student - next year I'll start my master within instrumentation (sensor techniques).

Recently I've built myself a 5W laser soldering station. I want to CNC controll this. Together with it - I want the machiene to pick up the component, to be soldered, and place it on the PCB. I'm therefore looking at a 'Pick and Place' + soldering machiene.

I'm knowledgeable within general microcontrollers, worked a lot with Atmels AVR's series. I've done some motor controll, data transmission and programming (everything in c++, some assembly). What I'm missing is knowledge within camera software processing and how to setup a cnc (but there's good manuals for that ;))

As for hardware, this is what I picture.
- 350mm x 400mm Pcb work area.
- Component 'presenter' will fetch the next component to be placed - placing the component for camera scanning.
- Solder-paste dispenser or solid core solder (being presented to the laser beam nearly instantly melts it).
- Temperature controller, so that the laser overheat stuff.

The plan is quite a huge project, the gantry will feature three different workheads; Pick and placer, laser solderer and the camera module. Making everything work together will be a huge undertaking, so the first goal is to make the laser solderer work alone.

Any resources and general tips will be appreciated.

Please Log in or Create an account to join the conversation.

More
28 Nov 2012 21:06 #27042 by andypugh
Is the camera intended to locate the board and align to it, or to locate the pads too?

Most of your project sounds straightforward other than the vision part. I suggest starting there and seeing if you can find a way to convert image data into HAL pins.
The following user(s) said Thank You: Storken

Please Log in or Create an account to join the conversation.

More
28 Nov 2012 21:10 #27044 by ArcEye
Hi

Sounds a interesting project

For starters have a look at
www.linuxcnc.org/index.php/english/forum...amera-locations-vcps
linuxcnc.org/index.php/italian/forum/10-...ion-with-emclinuxcnc
www.linuxcnc.org/index.php/english/forum...704-soldering-robot-
www.linuxcnc.org/index.php/english/forum...-webcam?limitstart=0

may give you some ideas as to what others have done thus far

Use the left hand side search line edit on the forum and it will search all the wikis etc as well as the forum

regards
The following user(s) said Thank You: Storken

Please Log in or Create an account to join the conversation.

More
28 Nov 2012 21:12 #27045 by cncbasher
take a look at openpnp , a good vison library is opencv
The following user(s) said Thank You: Storken

Please Log in or Create an account to join the conversation.

More
29 Nov 2012 21:43 #27078 by Storken

Hi

Sounds a interesting project

*snip*

regards


Thanks for the resources, I had a look at some of them earlier ;)

Is the camera intended to locate the board and align to it, or to locate the pads too?

Most of your project sounds straightforward other than the vision part. I suggest starting there and seeing if you can find a way to convert image data into HAL pins.


Hmm, if I incorporate fiducials I should be able to pull the 'paste pad' list from the gerber files. So basically align the virtual and real pcb; then solder all pads.

For the pick and place part I think I'll make my own robot capable of presenting and scanning parts. A 'top level' program must be created to synchronize all the different operations to be done. I'm not sure if the machiene will need programming or if it can run from exported files from the PCB straight away. If there is 400 pads in the design, there will be 400 pads to be soldered - image processing, vision processing and machine action is completely new to me.

Paste dispenser is another challenge.

take a look at openpnp , a good vison library is opencv


I've looked at openpnp, certainly a interesting start - but I think my plans differ too much from theirs.

I'm concidering splitting the actions up into separate parts though, as this starts to become very complex :whistle:

Please Log in or Create an account to join the conversation.

More
29 Nov 2012 22:33 #27081 by cncbasher
how does openpnp differ from your ideas ? , i'd be curious to know .

how do you envison to solder the parts , if indeed that's your intention , how will you cope with leadless components ,
the major way it is done is to align the part to the pcb pads using the vision component , once it's picked .

linuxcnc has been used for basic pick and place.

Please Log in or Create an account to join the conversation.

More
29 Nov 2012 22:41 #27083 by andypugh
There might be some interesting stuff on solder dispensing hereL
thread.gmane.org/gmane.linux.distributio...er/38491/focus=38626
The thread is not very well laid out..

Please Log in or Create an account to join the conversation.

More
30 Nov 2012 00:16 #27090 by Storken

how does openpnp differ from your ideas ? , i'd be curious to know .

how do you envison to solder the parts , if indeed that's your intention , how will you cope with leadless components ,
the major way it is done is to align the part to the pcb pads using the vision component , once it's picked .

linuxcnc has been used for basic pick and place.


Openpnp uses one 'head' for everything. I do not have time for tape advancing - I'll let a microcontroller control a small stepper for that. Therefore my system will have two 'heads'; one for sorting and checking components, and the other for placing solder, placing the component and soldering it.

The sort and check robot will place the component on a glass plate, under it a camera (looking up) will make sure it has the correct rotation and size (and that it is centered).

Leadless components are very hard to solder, some can maybe be done by heating nearby copper traces, but BGA's can certainly not be done like this. I've theorized about using the laser from the bottom side for these components - but buried vias sabotages this. This application isn't suited for BGA's :unsure: .

I could do everything vision based - then I could also use brushless motors for closed loop controll. Faster and cheaper (I could steer away from expencive lead screws and the like. If using steppers, I'll rely on their accuracy - that what I was planning on, since closed loop controll hasn't got much documentation behind it. But maybe I should take the plunge and try, it's not like I'm experienced with open-loop control yet :silly:

That's the problem with creativity, you allways find a different way to do things - instead of just doing it :pinch:

There might be some interesting stuff on solder dispensing here
*snip*


Nice, definitely some gems inbetween much blabber there :)

Please Log in or Create an account to join the conversation.

Time to create page: 0.422 seconds
Powered by Kunena Forum