Page 1 of 1

Part pickup detection

Posted: Wed Feb 10, 2016 9:19 am
by Pixopax
As far as I understood, the software detects a part by query of the Z-Limit-Switch on the A-Axis right?
If the needle goes down, the axis is pushed up and the switch triggers.

Is there a way to do it without the switch?
I am thinking of this: The height of the pcb is known, also the ehight of the part tapes, with some tolerances.
If i use one of those juki-nozzles, it would be anough to move Z to the height of the pcb and, fopr example, -2mm deeper.
The spring in the nozzle would do the trick.
The same in the parts section, just lower the Z-axis 2 mm deeper as the parts are.

Would that be possible? That way we could use the juki nozzles without any switches. Auto-change nozzles would be very easy.

Re: Part pickup detection

Posted: Wed Feb 10, 2016 11:40 am
by mrandt
Hi Louis,

this has been subject to long and controversial discussions in the DIY PnP community :-P

The Z-limit switch is not used for part pickup detection though.

To detect if a part was really picked up and released later, you need to either measure the vacuum (see thereza's posts about that) or implement optical inspection of the pickup and / or placement location.

Juha's software uses the switch for something I'd rather call "Z probing of parts and other features".

Most commercial PnP use the approach you describe; they rely on preconfigured heights / Z-levels and have springy nozzles to compensate small errors. The obvious downside is that each and every part's height needs to be configured in your part database when you setup a job. Also, you need to specify Z-levels of all feeders, PCB etc.

I came to like Juha's approach with the integrated Z-probing very much. It essentially works the same way, only that the Z-levels / heights are automatically determined when placing the first part. The Z-level is probed and the result is used for all subsequent parts of same type. IMHO this significantly reduces effort and source of error. This is very convenient for prototyping where you often have different parts in different locations.

Jason's OpenPNP for example does not use integrated probing so you have to configure the heights yourself. As this is an annoying task, some people have added a separate Z-probe to the head which they use for setup. Works, but not es elegantly as Juha's concept I think.

Karl (knaster) implemented Z-probing with Juki nozzles by essentially inserting a contact into the holder and using the nozzle itself as a switch to close the loop. The inner part moves up beyond the nozzle's outside and touches the contact. Building this requires a contact in the holder, a cable inside the hollow shaft and a slip-ring or similar means for electrical contact to the outside. Does not affect nozzle changing whatsoever.

See here:
http://liteplacer.com/phpBB/viewtopic.p ... p&start=10

Another approach I have been experimenting with uses a longer pin inserted into the tube which is pushed upwards by the nozzle and can be detected optically at the top end of the hollow shaft (light barrier). Basically it would offer the same functionality as Karl's approach but without the contact and wires.

Other ideas?

Hope this helps.

Re: Part pickup detection

Posted: Thu Feb 11, 2016 7:44 am
by Pixopax
Thank you very much for this exact explanation!

Funny is, that I had the same idea, a hollow pushrod inside the nozzle-holder, and a polycarbonate insert with a photodiode on the outside :D
That would be a clean solution.

Do you still have plans for ordering a nozzle holder with nozzles?

Let us discuss that idea in the "Better nozzle with auto change?"-Thread!
http://liteplacer.com/phpBB/viewtopic.p ... 1762#p1762

Re: Part pickup detection

Posted: Thu Feb 11, 2016 1:44 pm
by mrandt
Only problem is that the insert would require some clever way of being forced back down... Polycarbonate might not be heavy enoug; especially as the vacuum also creates a "upward suction".

I have to further expriment on this.

Regarding the nozzle kit:

Yep, I still have those plans. I also bought a bunch of nozzles and had different holders made in China.

While the nozzles are great, the holders did not meet my expectations in terms of quality.

The first ones did not even match my CAD drawings, the second batch was better but has a bit of runout - nozzle and shaft are not exactly concentric.

I will post to the other thread you mentioned once I have news on this.

Re: Part pickup detection

Posted: Fri Feb 26, 2016 1:21 pm
by WayOutWest
Pixopax wrote: Is there a way to do it without the switch?
I am thinking of this: The height of the pcb is known, also the ehight of the part tapes, with some tolerances.
If i use one of those juki-nozzles, it would be anough to move Z to the height of the pcb and, fopr example, -2mm deeper.
The spring in the nozzle would do the trick.
The same in the parts section, just lower the Z-axis 2 mm deeper as the parts are.

Would that be possible? That way we could use the juki nozzles without any switches. Auto-change nozzles would be very easy.
I'm doing this, but only because I couldn't get the @*#^@(^% Juki z-switch working reliably.

It does work. Mainly because the spring in the Juki nozzle is so soft. It gives you a ton of margin for error.
mrandt wrote: Most commercial PnP use the approach you describe; they rely on preconfigured heights / Z-levels and have springy nozzles to compensate small errors. The obvious downside is that each and every part's height needs to be configured in your part database when you setup a job. Also, you need to specify Z-levels of all feeders, PCB etc.
... only if they differ by more than the nozzle spring distance, which is huge -- more than 5mm. Nothing I build is more than that far off the table.

Still, I'd like to have my z-probing back, I wrote a lot of code to do cool stuff with that. But the Juki z-switch is such a freaking pain.