Page 3 of 6

Re: Openpnp

Posted: Fri Jan 06, 2017 3:17 pm
by sebastian
vonnieda wrote: * Vacuum sensing is now supported: https://github.com/openpnp/openpnp/wiki ... st_command
What kind of hardware is required for this?


On the liteplacer and openpnp front after months of building, fiddling, learning and testing I finally arrived at a state that I say is good-enough in terms of accuracy for me. Hurray! :P

The last issue was related to pickup rotation, bottom vision rotation and placement rotation which messed up the axes the bottom vision offset was applied to...

These 6 parts 0402 have been placed with liteplacer and bottom vision (there is still a small offset from somewhere, but since all parts are affected the same way it should be easy to correct):
0402-BV-placements-success.jpg
0402-BV-placements-success.jpg (476.21 KiB) Viewed 45620 times
The graveyard of the resistance next to the placed part is what brought us here :)

Re: Openpnp

Posted: Sun Jan 08, 2017 10:20 pm
by mrandt
Hi Sebastian,

for sensing the vacuum, most absolute digital or analogue pressure sensors will work.

I have experimented with MPXV6115VC6U (http://de.farnell.com/nxp/mpxv6115vc6u/ ... dp/2102574) and MPX5100AP (http://de.farnell.com/nxp/mpx5100ap/sen ... dp/1457156).

Just connect with a T-adaptor near the nozzle.

Problem is more on the interface side. Either you make a separate microcontroller board with it's own RS232 / USB connection to PC and hack the software to connect to two controllers, or you need to modify TinyG hard- and firmware.

Someone here on the forum did the latter, soldered an extra wire to one of the A/D IO pins of the TinyG and modified the firmware to provide a meaningful readout; I could not find the post quickly, but it must be out there... :-D

Good luck and please report your results!

Cheers
Malte

Re: Openpnp

Posted: Mon Jan 09, 2017 10:33 am
by Pixopax
The question is: How do we connect the sensor and how do we tell openpnp how to communicate with the sensor?

Re: Openpnp

Posted: Mon Jan 09, 2017 11:48 am
by JuKu
mrandt wrote:Problem is more on the interface side. Either you make a separate microcontroller board with it's own RS232 / USB connection to PC and hack the software to connect to two controllers, or you need to modify TinyG hard- and firmware.

Someone here on the forum did the latter, soldered an extra wire to one of the A/D IO pins of the TinyG and modified the firmware to provide a meaningful readout; I could not find the post quickly, but it must be out there... :-D
Thereza, http://liteplacer.com/phpBB/viewtopic.php?f=10&t=74 for page two onwards, scattered in the thread.

Re: Openpnp

Posted: Tue Jan 10, 2017 3:49 pm
by Pixopax
That is what I use now, but can openpnp access that sensor also by default?

Re: Openpnp

Posted: Tue Jan 10, 2017 4:35 pm
by vonnieda
Pixopax wrote:That is what I use now, but can openpnp access that sensor also by default?
See https://github.com/openpnp/openpnp/blob ... md#changes

Re: Openpnp

Posted: Wed Jan 11, 2017 10:32 am
by Pixopax
I am still puzzled on how I do connect the sensor, could not find anything about that.

Also, how does the software sample the data? On every pickup?
So:

Valve on
wait delay for pressure settling
Get pressure data without part
valve of
drive down on part
valve on
pickup part
wait delay for pressure settling
Get pressure data with part


?

The RMOD-Fork of the liteplacer software did that so, and it costs a lot of time.
I changed that fork so it will sample the pressure without part once it picks up a new nozzle.
Then it only samples the sensor on pickup, which saves a lot of time and makes it much faster.

Re: Openpnp

Posted: Wed Jan 11, 2017 4:31 pm
by sebastian
In my opinion the current approach to detect failed pick ups with the bottom vision camera is the way to go - all the hardware and software (not 100% in openpnp yet but its wip) to do that is already in place.

Re: Openpnp

Posted: Wed Jan 11, 2017 6:04 pm
by mpbrock
Hi

I added the vacuum sense support to OpenPNP - you need to define a command in your controller firmware. For example, I've got Marlin running my machine, so i've added an M2000 command.

OpenPNP sends 'M2000' whenever it wants to do a vacuum check
Marlin receives this, parses it, samples the A2D pin, gets a value and responds back to OpenPNP.
We define a regex in OpenPNP to parse this response, extract the none-integer bits, and that gives us the vacuum value.
If this vacuum value is in range, all is well, otherwise we error.

Matt

Re: Openpnp

Posted: Mon Jan 16, 2017 12:54 pm
by sebastian
I now got optical homing and the nozzle tip changer working with OpenPnP.