Author Topic: Pick and place build, openpnp  (Read 36544 times)

0 Members and 1 Guest are viewing this topic.

Online Kjelt

  • Super Contributor
  • ***
  • Posts: 6460
  • Country: nl
Re: Pick and place build, openpnp
« Reply #75 on: April 15, 2020, 09:26:20 pm »
I think the tuning of the servos will cost effort but not too much since you do not have a problem with a little overshoot such as cnc machines where this is an absolute dead sin, a no go.
So you could start with the autotune feature many driver manufacturers have built in software for to get a first aproximation and then manually tweak for more performance. Sometimes a little overshoot and backing out can be way faster than stopping ahead and slowly move to the endposition. It often also depends on the distance that needs to be travelled.

You said you had problems with the laser optics, I offered to sent you a few of the used ones from the assembleon hesds, don't know if they have the good optics, but they did work   ;)
 

Offline pisoiuTopic starter

  • Regular Contributor
  • *
  • Posts: 185
  • Country: ro
Re: Pick and place build, openpnp
« Reply #76 on: April 15, 2020, 09:42:46 pm »
Thanks for the offer. I have studied them but they are not ok in my case, this is why I did not asked for them.
My problem is mostly related to space available around the nozzle tip. In order to be able to construct a matrix of heads, I must keep entire head assembly inside a small square of 30x30mm approx. Your sensors are much longer, this is why I cannot use them. Inside that square, nozzle is in center, and alignment system must be in the same plane as nozzle tip, when it is retracted. There are several moves over Z axis which are required to measure component height and nozzle runout during rotation, as well as the component positioning. The beam is approx 8mm wide and here is the problem, the laser diode and collimation optics have very little space to fit, only few mm. This forces me to use a very low focal distance lens and a laser diode with output angle over 40 degrees, which are not too common. Only some blue laser diodes fits these specs. Z of the lens must be also reduced as much as possible, therefore I must use a cylindrical lens, not circular. With common laser diodes and glass optics from aliexpress, I cannot make emitter shorter than 15mm, which is too much, does not fit in available space.
 

Offline cgroen

  • Supporter
  • ****
  • Posts: 631
  • Country: dk
    • Carstens personal web
Re: Pick and place build, openpnp
« Reply #77 on: April 16, 2020, 06:34:50 am »
I cannot share design files. They are quite useless anyway because they contain many precision custom machined parts and without a mechanical workshop, it is outside of many amateur capabilities. This entire project is not a personal project, it is a company funded project. The costs are quite high, so far they are close to 10k$ in components only. But I can share implementation details and some component details.
For the x-y, motors and drivers are MHMF042L1U2M+MBDLT25SF . Iirc, I said in some post details of ballscrews, TBI2550, one is 1m, other 1.5 meters.
Controllers are configured in full closed control, they have external scales with 5 microns resolution, this is work in progress, scales are yet to be installed, configured, then both servos must be tuned to the actual mechanical parameters of the machine. I expect this to be a hard process.
The heads are not yet finished. Parts are in various design phases. I tested the rotation motor, it is a small 8x10mm stepper, 20degree step, with 1:10 mechanical demultiplication to nozzle. It works fine, so far microstepping down to 1:8 should be enough for positioning. The laser alignment system is tested as a principle of operation, it uses a TSL1401 sensor (128x1) but currently I am having trouble obtaining a parallel laser beam with good quality. I tested some configurations with plastic lenses but the quality is not ok, they produces a parallel beam but most of them have a dead spot in center due to plastic quality. I must switch to glass lenses but I was not able to find a ready made one for my needs, I need to design and build a custom one.
Voice coil actuator and vacuum system are yet to be designed and tested.
However, this entire corona situation created me some personal problems which significantly slowed the working pace. The progress is far from what I want, but unfortunately I cannot do too much about it.

Thanks pisoiu!
I was not after the design files, only the partnumbers for the motors/drives etc that you were using (as they seem to do a very good job!).
Thanks for the info, and I do hope that whatever problems you have encountered during this corana shit will be behind you soon!
God luck with the build, and please keep us updated :)
Regards,
Carsten
 

Offline pisoiuTopic starter

  • Regular Contributor
  • *
  • Posts: 185
  • Country: ro
Re: Pick and place build, openpnp
« Reply #78 on: August 06, 2020, 07:30:46 pm »
Progress is slow but it is.
I installed the cable paths and all the required sensors and mechanics for X axis : end stop hard protections, end sensors, homing sensor, external scale sensor, top camera and laser Z sensor.
In the next period there will be a lot of work at servo driver parameters, to optimize them for the actual mechanics. I also have some debugging to perform, external scale sensor seem to create some problems at speeds over 2000 rpm, it needs some verification of signals waveforms.
Anyway, tedious work. Must go on.

 

Offline olkipukki

  • Frequent Contributor
  • **
  • Posts: 790
  • Country: 00
Re: Pick and place build, openpnp
« Reply #79 on: August 06, 2020, 09:46:44 pm »
There are a lot of vibrations going on - how you will fix it? Epoxy granite or cast iron base?

P.S.
The most advanced OpenPNP build that I saw in a public

 

Offline pisoiuTopic starter

  • Regular Contributor
  • *
  • Posts: 185
  • Country: ro
Re: Pick and place build, openpnp
« Reply #80 on: August 07, 2020, 06:35:30 am »
The build sits on a workshop bench, that one was designed only for static loads.
In the end, it will have its own table with thicker legs and it will have some weight under it.
 

Offline pisoiuTopic starter

  • Regular Contributor
  • *
  • Posts: 185
  • Country: ro
Re: Pick and place build, openpnp
« Reply #81 on: August 14, 2020, 04:03:32 pm »
Well, after a consistent number of tests with X axis, I want to share some conclusions in case it may help others. Y axis is not yet ready, about that I will post in the future.
The ballscrew I use is TBI2550,class 7. It has 1.5 meters total length but due to mechanical components size and other limitations from sensors, the useful actual travel is around 1 meter.
The initial tests were performed with servocontrollers set in positioning mode, that means the position is solely dictated by measuring the encoder in the motor, encoder with 2^23 steps resolution, that is 8388608 steps per revolution or per 50mm of travel.
When servocontroller is set on positioning mode, I can use speeds up to 3000 rpm without issues, but I have an error of about 0.4mm over the entire travel length. It was measured with an inox ruler sticked to the table and with top camera pointing to it.
When I switched the servocontroller to full closed loop (that means positioning control when the feedback is from the motor encoder and also external encoder), the error was gone. I am sure some error still exists but I cannot see it with the camera. For feedback I use an external encoder from aliexpress, A/B type with differential outputs and 5um step resolution. However, this encoder gives me troubles at high speeds. I discovered that when speed is over 1800 rpm, it 'slips', the head travel more than programmed. I tried to debug the encoder lines with a logic analyzer but I failed to see anything because of the noise present in long wires.
However, after some tests using pick'n'place programs close to real cases, I concluded that very rarely the speed approaches to 2000 rpm, so it makes no sense to spend more time debugging this problem. I will leave max speed at 1800 rpm, because what is more important than that is the acceleration/deceleration. The system works flawlessly with 20ms acceleration times and under these circumstances, the measured speed with my test programs was around 5000 cph. I hope will stay around this number after further development.
« Last Edit: August 14, 2020, 08:05:43 pm by pisoiu »
 

Offline MR

  • Regular Contributor
  • *
  • Posts: 215
  • Country: tw
Re: Pick and place build, openpnp
« Reply #82 on: August 14, 2020, 05:23:04 pm »
There are a lot of vibrations going on - how you will fix it? Epoxy granite or cast iron base?

P.S.
The most advanced OpenPNP build that I saw in a public



this one is not doing so much optical recognition, which is needed for placing eg. 0402 nicely, it also depends how nice the feeders are.
The CPH will go down drastically once it would do the optical recognition on everything.
 

Offline pisoiuTopic starter

  • Regular Contributor
  • *
  • Posts: 185
  • Country: ro
Re: Pick and place build, openpnp
« Reply #83 on: August 14, 2020, 08:11:29 pm »
Yes, it will go down definitely. To prevent it going down too much I plan to use bottom camera optical recognition only for big components. For smaller components (biggest size under ~6mm) I plan to use laser alignment in head, during travel. At least that's the plan.
 

Online Kjelt

  • Super Contributor
  • ***
  • Posts: 6460
  • Country: nl
Re: Pick and place build, openpnp
« Reply #84 on: August 14, 2020, 10:27:48 pm »
Quote
because what is more important than that is the acceleration/deceleration. The system works flawlessly with 20ms acceleration times
What is the acceleration setting in mm/s2 ?
 

Offline pisoiuTopic starter

  • Regular Contributor
  • *
  • Posts: 185
  • Country: ro
Re: Pick and place build, openpnp
« Reply #85 on: August 14, 2020, 11:08:14 pm »
Approx 5.1G or 50.000mm/s^2 if I calculated correctly. Ballscrew step is 50mm/rotation.
That acceleration time, according to servo driver rules is time required to reach 3000rpm.
 

Online Kjelt

  • Super Contributor
  • ***
  • Posts: 6460
  • Country: nl
Re: Pick and place build, openpnp
« Reply #86 on: August 15, 2020, 07:48:44 am »
That is  very high , almost time for a linear motor  ;) but your pnp head is lightweight so the forces will probably be ok?
Still I would be carefull of the ballscrew, running at these accelerations might cause extra wear on them.
Check with the manufacturer if this is within their spec.
At the the end you can tune them down to the needed speeds for your application.
Still impressive results.  :-+
 

Offline pisoiuTopic starter

  • Regular Contributor
  • *
  • Posts: 185
  • Country: ro
Re: Pick and place build, openpnp
« Reply #87 on: August 15, 2020, 11:10:37 am »
The heads are still on paper. Most probably I will have to slow it down a bit depending on other components behavior.
I already think I have some problems due to high acceleration. The top camera uses a coaxial light and is mounted quite far from viewing plane. To compensate this and to minimize distortions I use a C mount lens with 6-60mm focal. Even if its rings are fixed on position with screws and none of camera parameters are on auto, I observed variations in exposure, most probably high accelerations are affecting lens mechanics.
 

Offline nisma

  • Regular Contributor
  • *
  • Posts: 87
  • Country: it
Re: Pick and place build, openpnp
« Reply #88 on: August 15, 2020, 12:33:09 pm »
High accelleration, even on fixed lens glued in with red dot glue (nail lack from you girlfriend) after some time it must be serviced and the sensor reinforced with glue as well as other parts and the amera mount reinforced otherwise it flex. Ring light works fine, but real th ring light with intensity settings using lm317 and four piranha warm LEDs with its own brightness settings.  I would not recommend using and clearly you must upgrade USB interface for ESD protection and with ferrites, after that 5-7 image drops are normal, but without it freeze camera. This if USB cable is near stepper driver cable running on higher voltage. Camera drops have ben merged to openpnp for high speed head motion.
If you are not using loose feeders then illumination is not so critical.
 

Offline pisoiuTopic starter

  • Regular Contributor
  • *
  • Posts: 185
  • Country: ro
Re: Pick and place build, openpnp
« Reply #89 on: August 15, 2020, 01:03:20 pm »
Truth is I had a lot of problems lately with signal integrity, but surprisingly the camera was the least affected. The top camera is an usb2.0 full hd global exposure camera, 120fps from aliexpress. It is connected with its original ~1m cable and another usb 3.0 extender, in total are ~3m of usb cable, of course, running in parallel with servo cables. It never freezed and if I had dropped frames, I had not noticed them.
But the usb to dual port ftdi interface which connects openpnp to the driver made a lot of troubles, mostly, after servo driver enabling, the usb ports from win10 dissappeared. This was entirely my fault, because initial setup of servo installation was not in accordance to recommendations from datasheet regarding filters. After I installed ferrite chokes on power cables and also on usb cable, problems were gone.
 

Offline MR

  • Regular Contributor
  • *
  • Posts: 215
  • Country: tw
Re: Pick and place build, openpnp
« Reply #90 on: August 15, 2020, 02:59:24 pm »
Is the lag of the video introduced by using MJPEG of the camera or OpenPNP itself?
We're using YUYV directly for live view and the picture is available much earlier.
 

Offline pisoiuTopic starter

  • Regular Contributor
  • *
  • Posts: 185
  • Country: ro
Re: Pick and place build, openpnp
« Reply #91 on: August 15, 2020, 03:14:02 pm »
Unfortunately that camera can only output mjpeg stream. It may cause some lag.
In the videos above, the laptop I am using for tests works on battery, no external power, and I think is clocked down because of this. Openpnp preview has around 20fps preview rate but when works on external adapter it goes higher, around 50fps.
 

Offline MR

  • Regular Contributor
  • *
  • Posts: 215
  • Country: tw
Re: Pick and place build, openpnp
« Reply #92 on: August 16, 2020, 02:58:17 pm »
You said you had problems with the laser optics, I offered to sent you a few of the used ones from the assembleon hesds, don't know if they have the good optics, but they did work   ;)

http://www.wg.com.pl/pliki/karta/Laser%20Alignment%20Data%20Sheet.pdf

If I look at that and think about it it will require 2 pictures 0° / 90° to completely figure out where the component sits on the nozzle.
Is that detection fully done in hardware or is it done on the PC via software in that commercial machine?
I'm just using the camera approach for the SMDs.

I did not check the price for the modules, but economically are those laser systems still worth it? Or just fading out in current PNP machines.
« Last Edit: August 16, 2020, 03:22:17 pm by MR »
 

Offline pisoiuTopic starter

  • Regular Contributor
  • *
  • Posts: 185
  • Country: ro
Re: Pick and place build, openpnp
« Reply #93 on: August 16, 2020, 05:13:35 pm »
2 pictures at 0 and 90 are enough only if you talk about 0/90 of the component. But since component may be rotated in respect to nozzle, then only a full 0-360 swing with multiple pictures at much smaller angles will determine x-y as well as rotation error.
I am not sure about the supplier indicated by you, I know nothing about their products.
I do not think laser alignment is fading out. Afaik this is the only way to align small components faster than up looking camera and I am pretty sure all high end machines (including those with hundreds of thousands CPH) uses it.
My design will use laser alignment, but I do not use a readily available system, I will use one designed and built by me. All the correction data will be determined at head and communicated to the driver which will apply corrections. Openpnp is not involved in this.
« Last Edit: August 16, 2020, 05:15:42 pm by pisoiu »
 

Online Kjelt

  • Super Contributor
  • ***
  • Posts: 6460
  • Country: nl
Re: Pick and place build, openpnp
« Reply #94 on: August 16, 2020, 09:58:04 pm »
Is that detection fully done in hardware or is it done on the PC via software in that commercial machine?
It is done in hardware, it was from a machine of late 90s.
Besides the reasonable compact laser and optics in this module there is a coax cable going to an aluminium boxed eurocard size pcb where the dedicated controller and computing logic are located. A modern PC with multiple cores could do this easily on the fly.
 

Offline pisoiuTopic starter

  • Regular Contributor
  • *
  • Posts: 185
  • Country: ro
Re: Pick and place build, openpnp
« Reply #95 on: October 05, 2020, 04:54:05 pm »
Some play with feeders. First 3 are 0402, next 3 are 0603, last 3 are something bigger.

https://youtu.be/83dRwtGfQPw
 

Online Kjelt

  • Super Contributor
  • ***
  • Posts: 6460
  • Country: nl
Re: Pick and place build, openpnp
« Reply #96 on: October 05, 2020, 08:33:28 pm »
Some play with feeders. First 3 are 0402, next 3 are 0603, last 3 are something bigger.

https://youtu.be/83dRwtGfQPw
Nice but it is really time to stabilize the mount of you're machine  :)
 

Offline pisoiuTopic starter

  • Regular Contributor
  • *
  • Posts: 185
  • Country: ro
Re: Pick and place build, openpnp
« Reply #97 on: October 06, 2020, 08:50:23 am »
Unfortunately it's not possible at this time due to restrictions in my mechanical workshop. It will have a proper table after moving to production site.
 

Offline pisoiuTopic starter

  • Regular Contributor
  • *
  • Posts: 185
  • Country: ro
Re: Pick and place build, openpnp
« Reply #98 on: October 07, 2020, 12:19:12 pm »
Another walk through passive components of one of my projects, to check coordinates accuracy. Most of passives are 0402.
-I defined roughly 0,0 of the board
-moved head to fiducials location, without any correction
-perform fiducial check and apply corrections
-walk through components to check placement position


https://youtu.be/M-8AKqj_JTk
 

Online Kjelt

  • Super Contributor
  • ***
  • Posts: 6460
  • Country: nl
Re: Pick and place build, openpnp
« Reply #99 on: October 07, 2020, 02:00:01 pm »
Very nice  8) which camera did you use.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf