Controller Board for DIY Pick place Project

Chat about pick and place machines, reflow ovens, assembly techniques and other SMT tips & trix

Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.
User avatar
alphatronique
 
Posts: 231
Joined: Fri Jun 25, 2010 8:30 am

Re: Controller Board for DIY Pick place Project

Post by alphatronique »

Hi

finally found the missing step issue (a stupid programing error).
so now head position no more drift :wink:

so i will try to build a pcb today ...

Best regard

User avatar
alphatronique
 
Posts: 231
Joined: Fri Jun 25, 2010 8:30 am

Re: Controller Board for DIY Pick place Project

Post by alphatronique »

Hi

assembly of 48 closely spaced resistor whit view of GUI and close-up on head / pcb ..

http://www.youtube.com/watch?v=MOtb3EI0DEg

Best regard

User avatar
tastewar
 
Posts: 408
Joined: Thu Mar 17, 2011 10:16 am

Re: Controller Board for DIY Pick place Project

Post by tastewar »

Very cool!!

User avatar
alphatronique
 
Posts: 231
Joined: Fri Jun 25, 2010 8:30 am

Re: Controller Board for DIY Pick place Project

Post by alphatronique »

Detail of GUI operation

from cad system to production in <3 minute
whit PCB panelization in machine software whit PCB preview :cheers:

.ini file hold feeder pick point and last feeder setting on machine :mrgreen:

http://www.youtube.com/watch?v=4VNK7XBh_ls

Best regard

blogger
 
Posts: 43
Joined: Tue Nov 24, 2009 5:59 am

Re: Controller Board for DIY Pick place Project

Post by blogger »

Dear Alphatronique

Would you like to write proper usable software for the MDC pick and place? :)

User avatar
alphatronique
 
Posts: 231
Joined: Fri Jun 25, 2010 8:30 am

Re: Controller Board for DIY Pick place Project

Post by alphatronique »

Hi

i knot some one that have make it ,but it also redo most of mechanical
and it on older machine

problem whit new machine is that it much more complex
and reply on vision for "fix" mechanical defect
my old zevatech was build like a thank since i born to be blind machine
so i very repeatable but rebuilt it today will really expensive

and i not knot how MDC layer will react to a hack of it current machine ?

but on the good news side i really think to make a kind of universal
modular controller that may fit many machine :mrgreen:
but this will later once i will finish to integrated vision to my software
and fully defogged it , is sill have some small issue to fix before make it "commercial" grade

p.s. last night i have increase speed by 30% so 1300 part /hour whit feeder at 12" from placement zone

Best regard

User avatar
alphatronique
 
Posts: 231
Joined: Fri Jun 25, 2010 8:30 am

Re: Controller Board for DIY Pick place Project

Post by alphatronique »

HI

during long week-end i have fix\add

1-) move from old pm360 machine to a newer 460 machine whit ATC ,add the cognex camera to machines
and build 5 controller card so now all my machine have the new controller (ya i buy 2 more machine few week back)

2-) ADD auto tool changer support ,for now we will only handle first 5 bit ,bit #6 pose problem whit negative coordinate

3-) bootloader in firm and software

4-) fix cut-tape feeder operation on software

5-) handle part rotation in 1.7 deg increment , this still need mechanical calibration

6-) begin to work whit machinist for make my own nozzle ,CAD draying was done waiting for first prototype

7-) cognex vision system integration in software
ok for vision software was ready but still have lot of work to put on optic side
i have problem whit lighting ,mirror reflection and gosh image ,uniform focus ,etc etc
will need front surface mirror and box for control illumination and
probably help for some one that better that me in optic ,so if you may help me not be shy :wink:

on image above RED circle was the machine bit position ,green cross was calculate part center
and text on top was data send trough rs232 to pc software

in this case "X:300.666 Y:410.057 T:-3.830 S:44.391"

on PC side it do ...

X = ((X - 240) / 21) and Y = ((Y - 320) / 21) "21" was scale value for pixel to mm
T = rotation in degree
S = score < 40 vision result was considered as void

this will convert in +/- value based on center position

in this example part was X=300.6 - 240 = 60.6 \\ Y= 410.0 - 320 = 90.0 pixel off center
whit -3.8 degre rotation scale value will be ~21
x=60.6 / 21 = 2.88mm
y=90.0 / 20 = 4.28mm

problem was that this was a still image take whit perfect illumination and focus on stopped machine
but on a working machine it hard to make it reliable and handle variable lighting condition


Best regard
Attachments
vision.JPG
vision.JPG (36.53 KiB) Viewed 4003 times

User avatar
alphatronique
 
Posts: 231
Joined: Fri Jun 25, 2010 8:30 am

Re: Controller Board for DIY Pick place Project

Post by alphatronique »

Hi

this was ghost effect caused by reflection on mirror
so i just order 38mm front surface mirror from Edmund Optics

think i finally found right camera distance and lens set that work well
it have to got resolution for fit a 100 pin TQFP and a soic-8 whit same optic ..
that explain wly expensive machine use 2 camera whit 2 set of lens...

Best regard
Attachments
TQFP100_ghost.jpg
TQFP100_ghost.jpg (162.19 KiB) Viewed 3997 times

User avatar
alphatronique
 
Posts: 231
Joined: Fri Jun 25, 2010 8:30 am

Re: Controller Board for DIY Pick place Project

Post by alphatronique »

Hi

look that IC whit marking on bottom was not may confuse system and see it as a pin ...
so seem that i will need to work again on the vision system programing
red circle = machine nozzle
big green cross = calculated part center
small green cross = IC pin found in image doing mean of all pin coordinate and rotation = part center
for now i not find better way to have one programing do all

a easy way may teach every single part but i what to keep it simple and one thing do all
or at least as more as possible

the good thing is image resolution was fine whit this setting so it may have hope
Attachments
SOIC-8.JPG
SOIC-8.JPG (16.08 KiB) Viewed 3997 times

User avatar
alphatronique
 
Posts: 231
Joined: Fri Jun 25, 2010 8:30 am

Re: Controller Board for DIY Pick place Project

Post by alphatronique »

HI


this is how now look the .ini file ,so here all major machine config was stocked
i build a box for camera so i will able to test it back vision part of the software


[Settings]
CoordUnit=128 ;for old pro format
SpeedSlow=1000 ;speed value for slow
SpeedMed=4000 ;speed value for medium
SpeedFast=8000 ;speed value for fast
LaneMaxX=361.00 ;in mm
LaneMaxY=510.00 ;in mm
TrickX=309.00 ;in mm ATC Tes PAD
TrickY=127.00 ;in mm ATC Tes PAD
CameraX=319.00 ;in mm
CameraY=171.00 ;in mm
CameraPpmmX=21.00 ;in ppmm (pixels per mm)
CameraPpmmY=21.00 ;in ppmm (pixels per mm)
JunkX=0.00 ;in mm Junk bin for reject Vision part
JunkY=0.00 ;in mm Junk bin for reject Vision part
PCBZoneX=54.80 ;in mm PCB 0.0 cordinate
PCBZoneY=145.80 ;in mm
PCBZoneWidth=300.00 ;in mm
PCBZoneHeight=300.00 ;in mm
CameraTimeout=200 ;in ms
TakePlaceTimeout=2000 ;in ms
MotorCheckInterval=250 ;in ms Motor position pooling delay
TakePlaceCheckInterval=100 ;in ms
CurrentBit=-2 ;-2=no info, -1=unknown bit, 0=no bit, 1-5=bit number
COMPort=1 ; Modbus
CameraPort=2 ; Cognex camera port
EnableVision=1 ;set to non-zero to enable
DebugMode=1 ;set to non-zero to enable

[Default Part Components] ;lesser number has higher priority
1=AD8132ARZ,SOP8P ;Assing AD8132ARZ to SOP8P pakage
2=R*A,0805 ;Assing any Resistor finish by "A" to 0805 pakage
3=R*B,0603
4=C*A,0805 ;Assing any CAP finish by "A" to 0805 pakage
5=C*B,0603

[Default F1 Lane Coordinates] ;all in mm (Default pick point for feeder)
X1=15.70
Y1=34.90
X2=37.20
Y2=34.90
X3=58.70
Y3=34.90
X4=80.20
Y4=34.90
X5=101.70
Y5=34.90
X6=123.20
Y6=34.90

[Default F2 Lane Coordinates] ;all in mm
X1=170.70
Y1=34.90
X2=192.20
Y2=34.90
X3=231.70
Y3=34.90
X4=235.20
Y4=34.90
X5=256.20
Y5=34.90
X6=278.20
Y6=34.90

[Default L1 Lane Coordinates] ;all in mm
X1=1.40
Y1=151.30
X2=1.40
Y2=172.80
X3=1.40
Y3=194.30
X4=1.40
Y4=215.80
X5=1.40
Y5=237.30
X6=1.40
Y6=258.80

[Default L2 Lane Coordinates] ;all in mm
X1=1.40
Y1=306.30
X2=1.40
Y2=327.80
X3=1.40
Y3=349.30
X4=1.40
Y4=370.80
X5=1.40
Y5=392.30
X6=1.40
Y6=413.80

[Default B1 Lane Coordinates] ;all in mm
X1=12.80
Y1=505.10
X2=34.30
Y2=505.10
X3=55.80
Y3=505.10
X4=77.30
Y4=505.10
X5=98.80
Y5=505.10
X6=120.30
Y6=505.10

[Default B2 Lane Coordinates] ;all in mm
X1=167.80
Y1=505.10
X2=189.30
Y2=505.10
X3=210.80
Y3=505.10
X4=232.30
Y4=505.10
X5=253.80
Y5=505.10
X6=275.30
Y6=505.10

[Default R1 Lane Coordinates] ;all in mm
X1=356.85
Y1=145.50
X2=356.85
Y2=159.50
X3=356.85
Y3=173.50
X4=356.85
Y4=187.50
X5=356.85
Y5=201.50
X6=356.85
Y6=215.50
X7=356.85
Y7=229.50
X8=356.85
Y8=243.50
X9=356.85
Y9=257.50
X10=356.85
Y10=271.50

[Default R2 Lane Coordinates] ;all in mm
X1=356.85
Y1=300.50
X2=356.85
Y2=314.50
X3=356.85
Y3=328.50
X4=356.85
Y4=342.50
X5=356.85
Y5=356.50
X6=356.85
Y6=370.50
X7=356.85
Y7=384.50
X8=356.85
Y8=398.50
X9=356.85
Y9=412.50
X10=356.85
Y10=426.50

[ATC] ;all in mm ATC cordinate
PADX=307.00
PADY=127.00
AX=327.15
AY=116.35
BX=327.00
BY=91.50
CX=327.00
CY=66.45
DX=326.90
DY=41.50
EX=326.90
EY=16.45

[Components] ;format = {Name}={Bit},{Speed},{WidthMm},{HeightMm}
0603=2,Slow,16,8
0805=1,Fast,20,11
1608=1,Fast,16,8
2125=1,Medium,21,25
3216=1,Medium,32,16
MLF16W=1,Medium,16,8
MLF4W=2,Medium,16,8
MLF8W=1,Medium,16,8
QFN=3,Slow,80,200
SOP16P=3,Medium,120,60
SOP8P=3,Medium,80,60
SOT23=5,Medium,20,16

[Part Types] ;format = {Name}={NeedVision}
3000=1 ; 1= vison enable on that part
744066100=0
AD8132ARZ=0
AD8137YR=0
ADC122S655=0
AT45DB161D=0
ATMEGA128=0
ATMEGA644-20AU=0
C100GA=0
C103GA=0
C104GA=0
R102A=0
R102B=0
R103A=0
R104A=0
R104B=0
R120A=0
V9MLA0805=0
X10.00D=0
X12.00D=0
X14.745D=0
X25.00D=0
X8.00D=0

User avatar
alphatronique
 
Posts: 231
Joined: Fri Jun 25, 2010 8:30 am

Re: Controller Board for DIY Pick place Project

Post by alphatronique »

Hi

wow new camera bod work really nice :mrgreen:

i use now optic grade front surface mirror ,ok it bit expensive but no more reflection
and new lighting also help allot , it test also a new algo for TQFP i now try to find i corner
then extract center based on corner position and rotation

this solve i part my lens problem since camera only need to see part corner not the whole part
so whit same lens i make TQFP-100 to 0402 resistor ,i setup new box\lens for "see" ~25mm x ~30mm

in this image calculated center was on a pin so it not to bad for a first try
Attachments
QFP_Corner.JPG
QFP_Corner.JPG (63.22 KiB) Viewed 3964 times

User avatar
alphatronique
 
Posts: 231
Joined: Fri Jun 25, 2010 8:30 am

Re: Controller Board for DIY Pick place Project

Post by alphatronique »

Hi

whit few mod i have something working now ;-)

centering was right on bouldzaill

need to implement that change on pc side software
Attachments
TQFP_100_bonzail.JPG
TQFP_100_bonzail.JPG (52.68 KiB) Viewed 3963 times

User avatar
alphatronique
 
Posts: 231
Joined: Fri Jun 25, 2010 8:30 am

Re: Controller Board for DIY Pick place Project

Post by alphatronique »

Hi

base machine function was now really close to be ready for production (less vision)
so i will release file format and modbus implementation

for now seem that future of the project will be commercial way ,i put lot of money on this hardware
so hardware / software will be not released to source level
but instead the hardware will sold to fair cost and software supplied for free
since modbus protocol and file format was public any one may make it own hardware specific to it machine

first batch on prototype was a viable for beta tester on ebay now .. 260794241847

so in my future post here i will focus only on vision system , i will as i do in the past put public the .job file
so any one will be take advantage of my work on this field ,so vision part will remain open source :mrgreen:

Best regard
Attachments
Protocol_doc.zip
(68.26 KiB) Downloaded 258 times

blogger
 
Posts: 43
Joined: Tue Nov 24, 2009 5:59 am

Re: Controller Board for DIY Pick place Project

Post by blogger »

It's pretty cool how a one-guy operation has better looking (and better performaing, i bet) bottom camera support than a machine costing nearly $30k from another well-known manufacturer.

What are you using for computer vision? OpenCV, or something custom?

User avatar
alphatronique
 
Posts: 231
Joined: Fri Jun 25, 2010 8:30 am

Re: Controller Board for DIY Pick place Project

Post by alphatronique »

Hi

first i not totally alone on that ,i have hired staff that do pc side application programing ,and part of firmware
but on the vision system i was alone ..

i use cognex insight camera ,if you googel insight + pick place you will find that it used on many of hight-end machine
the fun thing whit cognex it that i same "algo" for pc version and for standalone one
so insight camera was all build in system so camera + vision processor in same package
you may found it on ebay for <1000$ (i missing one last week for 200$) new that camera cost ~5000$

once programed camera do thing alone ,in my case i program it for output on it rs232 part center coordinate + rotation

so did my vision system was better that other ? that hard to tell and varies whit what you expect
most machine try to find bend pin or mis orientation chip etc etc , on my side i focus only on 1 thing
fast turn around prototype production whit very minimal machine programing , and keep odd part like connector to be solder by hand
so vision do only part centering whit no or very minimal part definition programing

for do this i find some trick ;-)

1-) For TQFP/QFN i do 2 image recondition on 2 pin on a corner and permit image scaling of 50% and rotation of 90%
so this permit to find 2 opposite corner in the image then do mean of coordinate and this got me part center
whit this i got precision of ~0.04mm on 0.5mm pitch

2-) for SOIC i do same but whit only 1 pin on a corner ,i lost some precision but most of time SOIC was bigger pitch

for finish i looking now for find a pc side solution since i use only image/pastern match it make software requirement more simple ,i looked the open-cv but it on c/c++ and my good pc programmer only do delphi
so i still look for find something cogenx was good but expensive to got new ....
and cannot rely on used marked for my goal ..

Locked
Please be positive and constructive with your questions and comments.

Return to “SMT (Surface Mount Tech)”