Hi Roman!
On 16.04.2024 09:47, Roman Valls Guimerà wrote:
[...]
> W.r.t the contact probe sensing: is there a way to start the
> SOLENOID+PUMP right before it tries to perform a pick? Right now it
> seems like SOLENOID+PUMP are activated right when the contactnozzle
> actuator clicks, which is arguably too late to build up proper vacuum?
>
The vacuum pump can be controlled at the head level. You can specify
when to switch it on and how log OpenPnP will wait until it continues.
For the valve, there is the machine coordination that you have to
configure. But this would only change the valve earlier, not later then
required. After switching the valve to vacuum, the pick dwell time is
used to delay operation before the part is lifted.
Jan
> Cheers!
> Roman
> tisdag 16 april 2024 kl. 02:32:33 UTC+10 skrev ma...@makr.zone:
>
> __
>
> Hi Roman,
>
> there are many questions in that post. I'll answer off the top of my
> head, so take it with a grain of salt 😉
>
> 1. *Regarding empty part pockets: *currently there is no vision of
> the parts themselves taking place, in none of the OpenPnP
> feeders. It would likely be quite difficult to implement
> robustly. Plus we want to assume that not every feed uses
> vision. When you use the "until confident" statistical analysis,
> vision should stop after a few feeds. Vision requires extra
> moves and camera settling etc. i.e. it is expensive and we want
> to avoid it.
> 2. *Regarding retry after vision failed: *OpenPnP does not
> currently support this. It only supports retry in the feed&pick
> loop and in the alignment itself, i.e. it retries the bottom
> vision operation, which happens so fast you might not notice
> (check the log). A retry loop across JobProcessor steps is not
> supported, because everything is currently done "per
> nozzle-full". On multi-nozzle machines it would have to go back
> to the feed&pick step but then only for the failed nozzle(s).
> Such a "masked" operation is not currently supported. And single
> nozzle machines get no special treatment. Currently, as Jan
> already mentioned, the only advice is using vacuum sensing, as
> it can happen inside the feed&pick step, i.e. inside the retry loop.
> 3. *Regarding halting the whole job*: there is a *Error Handling*
> option *Defer*, which will skip the part and you can then later
> restart the job with just the failed parts. You can set it on
> multiple placements at once using select/right-click:
>
> I have not tested it.
> 4. Note, there has been much, much talk about improving automatic
> error handling, but never any real implementation. It is very
> complex if you want it to actually improve the situation and not
> risk wasting whole tapes of expensive parts.
> 5. *Regarding the errors accumulating:* see Jan's answer. Disable
> Vision calibration on the axis in drag direction.
> 6. *Regarding the vacuum dwell time:* again I recommend vacuum
> sensing. It can actively monitor the vacuum and dwell as long as
> needed to establish a certain level. This time may vary a lot
> e.g. after a failed pick where a lot of pressure got lost.
> A/lways/ dwelling for a very long time makes the machine very slow!
>
https://makr.zone/openpnp-advanced-vacuum-sensing-part-on-part-off-detect/421/ <
https://makr.zone/openpnp-advanced-vacuum-sensing-part-on-part-off-detect/421/>
> 7. *Regarding failed picks:* also check the *Contact Probing *you
> mentioned, it might not work correctly, i.e. not make a sealed
> vacuum contact. Be aware of its Z offset caching, it might apply
> outdated cached Z offsets when you changed something on machine
> or feeder (yes, it has fooled me too!). When in doubt, look into
> the log or set probing to *EachTime*.
>
> _Mark
>
> On 15.04.2024 15:41, Roman Valls Guimerà wrote:
>> Hello Mark and other OpenPnP experts,
>>
>> We are test driving a custom PnP drag feeder designed to be
>> manufactured very fast and cheaply with a laser cutter and a
>> significantly reduced amount of 3D printed material (faster
>> prints) while also requiring minimal assembly efforts since it
>> doesn't involve any electronics (like the original PushPullFeeder,
>> but way faster to make and put together):
>>
>>
https://github.com/PancakeLegend/Pancake-Feeder
>> <
https://github.com/PancakeLegend/Pancake-Feeder>
>>
>> The feeder works fairly well with OpenPnP's PushPullFeeder, it's a
>> small and beautiful minimalistic thing:
>>
>> pancake_feeder.png
>>
>> The problems we are facing look a bit like this, only sometimes:
>> the machine tries (and obviously fails) to pick a component where
>> there's none (the feed operation goes fine for a few components in
>> a row and then randomly decides to pick an empty "box" in the
>> paper strip):
>>
>> IMG_3835.JPG
>>
>> And I've set a "Pick retry" of 3 in bottom vision settings...
>> always fails at the first try though, when the bottom camera only
>> sees the nozzle tip instead of the component. Then my two
>> questions would be:
>>
>> Can I force this step to either go to retry a pick on the feeder
>> if no component is found on the tip OR go to discard and try to
>> pick again to be safe?
>>
>> Can I have this error not be a total job halt situation without
>> resorting to scripting?
>>
>> In other words, what I'm doing right now when that bottom vision
>> error pops up is clicking on "Stop job (red square stop button)"
>> and then "Start job (green triangle button)" and it resumes where
>> it left off fine... so I presume this behavior should be
>> builtin/automated somehow?
>>
>> Last but not least, this is not an ask but more of a laugh
>> together on yet another thing that goes wrong with pick and place
>> machines: (old?) paper-based reels where the peel plastic takes
>> some paper with it, biasing the feed operation and messing stuff
>> up more than needed (easy fix IRL by humans, doesn't need fix by
>> software):
>>
>>
https://groups.google.com/d/msgid/openpnp/fc7968ea-6af0-44c6-90ab-d66eea5d9093n%40googlegroups.com <
https://groups.google.com/d/msgid/openpnp/fc7968ea-6af0-44c6-90ab-d66eea5d9093n%40googlegroups.com?utm_medium=email&utm_source=footer>.
>
> --
> You received this message because you are subscribed to the Google
> Groups "OpenPnP" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to
openpnp+u...@googlegroups.com
> <mailto:
openpnp+u...@googlegroups.com>.
> To view this discussion on the web visit
>
https://groups.google.com/d/msgid/openpnp/68b88389-50f0-41a2-b85c-81ce57729868n%40googlegroups.com <
https://groups.google.com/d/msgid/openpnp/68b88389-50f0-41a2-b85c-81ce57729868n%40googlegroups.com?utm_medium=email&utm_source=footer>.