Turning off boolean actuator via python doesn't work

390 views
Skip to first unread message

Bobbe

unread,
Feb 15, 2022, 8:11:29 PM2/15/22
to OpenPnP
Hey everyone! I'm currently trying to setup a blowoff routine via a Nozzle.AfterPlace event python script. I basically want to immediately turn off the pump, move the nozzle up a bit (I just move it up to safeZ) and finally turn off the blowoff valve again.
The problem is, that neither of
  • nozzle.getVacuumActuator().actuate(False) (results in Pump.actuate(0.0))
  • nozzle.getVacuumActuator().actuate("false") (results in Pump.actuate(false) but still doesn't trigger the gcode??)
  • nozzle.actuateVacuumValve(False) (throws an error about that function not being defined)
seems to work for me. I've attached the tail of a log where I place a component using the actuate("false") method. The relevant debug output is at line 24. At line 119 there's an example of how it should look like.
The script I'm using is also attached.

Thanks in advance!
actuator_not_working.log.yml
Nozzle.AfterPlace.py

mark maker

unread,
Feb 17, 2022, 3:20:12 AM2/17/22
to ope...@googlegroups.com

Hi Bobbe,

I don't know anything about Python scripting of Java and its data type mapping, so I can't help you.

Plus I wanted you to know, that rather than trying to jury-rig missing functionality with scripts, I'm always aiming to solve the underlying problem, especially for such a routine operation as a blow-off would be, i.e. literally in the name-giving Pick & Place cycle. So please state what you are missing with the OpenPnP functionality.

If this is only about that paper test object, see my other e-mail, and be a bit patient.😎

_Mark

--
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.
To view this discussion on the web visit https://groups.google.com/d/msgid/openpnp/03460a64-6ace-44de-b323-9570c7c346e9n%40googlegroups.com.

Bobbe

unread,
Feb 17, 2022, 7:11:46 AM2/17/22
to OpenPnP
Hey, thanks for the answer! Yeah I think this is probably just a problem with the underlying Jython thing that's being used, so no worries.
So my main problem is basically, that if I enable blowoff (by specifying the blowoff level on a package), the blowoff actuator gets activated, but no blowoff deactivation and most importantly pump deactivation command ever gets sent.
For reference, here's the simplest gcode for that, which I expected to work (basically just a "set this pwm output to whatever value you get"):
simple_blowoff.PNG
So after realizing that this won't work, I asked around a bit and someone mentioned that the functionality probably doesn't exist, because blowoff setups can be vastly different, thus you are supposed to implement the gcode routine yourself.
Which tbh, wouldn't even be that bad, so what I tried next was something like this:
advanced_blowoff.png
Basically: disabling the left pump whenever the left blowoff valve gets actuated (with whatever value), waiting for some time then disabling the valve again, to get everything back to its initial state.
This couuuld work I guess, but in my specific case, the part gets dropped because the pressure gets released via blowoff, then after 200ms the valve gets turned off again, but the remaining pressure between the valve and the pump is still big enough to pick up the part and even hold it for several seconds on the nozzle still. Mind, the pump is completely deactivated during this period.

So what I figured, was that I really want to move the head up a little bit, before disabling the valve again. This didn't seem doable with gcode ... actually scratch that, thinking about it again, thats totally doable with gcode, I guess that couuuld be a potential solution for this.

Anyways, because you asked for missing functionality, I'm gonna give my 2 cents on what options I would expect ^^
(Note that this might or might not be specific to my current setup, ideally this should be looked over by someone else with a different blowoff system).

So the way I get it, the moment you activate your blowoff valve, or shortly after, you most definitely also want to disable your pump, so that should maybe just be a straight forward change in behavior.
Then, there should be a user configurable delay, after which the head moves up by a user configurable amount (possibly also just straight to safe Z) and after that the valve should be turned off again.
I'm thinking this could be done via a few fields/checkboxes for the mentioned parameters, possibly in the Vacuum tab of the nozzle, but you probably know better where stuff like that should go ^^
The only thing I'm concerned about is, that this might or might not break existing setups, so maybe it should be implemented "non destructively" in a way, so that the whole feature is disabled by default.

Oh, also regarding the paper test object stuff, there my main problem was simply that I couldn't find an option to enbable blowoff during that calibration routine. Which lead to me having to setup a place dwell time of 15s.

Sorry for the long message and thanks for looking into this Mark!

(PS: not sure if it's important or not, but I still didn't switch to testing, so maybe stuff there is a little different)

bert shivaan

unread,
Feb 17, 2022, 9:31:34 AM2/17/22
to OpenPnP
My 2 cents here real quick. The blowoff time is realistically in milliseconds. For instance in my old (now dead) commercial machine, the blow off times were typically 10-15 ms. The real intention I think is to make sure the line has no vacuum in it so the part will stay put.

I would think that a great solution would be to have the controller accept a duration and turn the blow back off on its own. I am not sure if any current firmware supports this but that is whats needed here. The truth is a USB command could take 10mS by itself (according to what I remember about the timing section of the standard) so that would make the blow off too long most likely.

But lets say we have this available in the controller, openPNP would then simply send a I/OO on with duration, or maybe it is setup in the config (better idea)
So openPNP says BV1 on. *(blow valve 1)
Then waits for some min time set in the package setup area, and then goes about its business of rasing the nozzle and moving on. In the mean time the controller saw (turn on BV1) and did, then after the config duration for BV1, turned it off again

Does this make sense?

Wayne Black

unread,
Feb 17, 2022, 11:48:23 AM2/17/22
to OpenPnP
Im with Bert re the secondary controller for the blow off. I moving from the pump style vacuum/blow off to venturi/ejector style. A simple scalable 555 one shot to pulse positive pressure at the closing of the vacuum valve would be easy and forego the need for tuning the pressure line via a needle valve. This is the system used in the cheapo glue dispensers I use the shop and it works very well.

mark maker

unread,
Feb 17, 2022, 12:14:11 PM2/17/22
to ope...@googlegroups.com

Hi Bobbe,

I'm not sure I understand your explanation, so lets first see, if I see such a system right.

  1. I always have a design in mind, where the pump creates vacuum, and positive pressure (usually just on the opposite ends of the pump, perhaps with a bleeder on the positive pressure side).
  2. Two tubes go to the head.
  3. Then there are two valves near each of the nozzles, one for negative pressure (vacuum), one for positive pressure (blow-off).
  4. Placing a part you would first switch off the vacuum valve.
  5. Then switch on the blow-off valve. Some machines can control the flow using the Blow-off Double. Others just switch it.
  6. Then wait a bit. For those machine, that can only switch the valve, the time will be controlled by the Blow-off Double.
  7. Then switch off the blow-off.
  8. During all the above the pump operation must continue, and that should not be a problem, because it is always shut off by the respective valves.
  9. For a multi-nozzle machine there is no other way, as the pump must continue providing the vacuum for the second part, that may be on the nozzle. For a single nozzle machine maybe this can be simplified, but I don't see how.
  10. Once all the valves on all the Nozzles are closed, OpenPnP switches off the pump.

Now, 5, 6, 7 must be modeled as one G-code sequence, as the Blow-off is a Pulse actuation, i.e. there is only one ACTUATE_DOUBLE_COMMAND, and  no "Off" command. One example (not actual M-codes):

M802 ; switch on Blow-off valve
G4 P{DoubleValue} ; dwell for the Blow-Off Value milliseconds
M803 ; switch off Blow-off valve

However, please do not mix in other actuators in your G-code, i.e. do not actuate the pump or the vacuum valve. If you do, OpenPnP will be mistaken about the state of the Actuator, which might cause malfunction later. And this will also not work with multiple nozzles where OpenPnP must keep track of all the valves.

_Mark

Wayne Black

unread,
Feb 17, 2022, 3:22:10 PM2/17/22
to OpenPnP
Hi Mark, I think we are mixing systems. So far as my understanding is, which may be wrong... 

The ejector system is always charged and vacuum or 'blow' is triggered via its own dedicated valves for vacuum or blow on each nozzle. Dual nozzle setup has x4 valves controlling vac/blow for each nozzle.

The pump system on the CHMT I am attempting to replace has an always open system to the 'blow' pump and a triggered single valve for vacuum to each nozzle. For a Dual nozzle setup only x2 valve are used to toggle vacuum for each nozzle and blow control is toggled at the pump and common to both nozzles. In my case toggling a pump to blow under 50% duty cycle is slow and doesn't appear that effective. Other CHMT conversions to Openpnp appear to forego the blow pump altogether relying on solder paste surface tension for component release.

So far as Ive read the ejector systems are much quicker and stable than the pump systems.

Bobbe

unread,
Feb 17, 2022, 6:06:51 PM2/17/22
to OpenPnP
Yeah okay, so the problem seems to be that the system I'm using is vastly different from "the standard".
I have a small air pump and a single three way valve per nozzle. The pump gets activated/deactivated constantly, because its set as the vacuum actuator.
The vacuum lines go from the pump, through the normally open connection of a 3-way valve, to the head (the valve is fairly close to the pump, which isn't ideal I guess, but should actually be helpful for this specific situation).
When the valve gets triggered, it disconnects the pump and connects the line to "nothing"/atmospheric pressure. The small piece of tubing between the pump and the valve though, stays at a lower pressure.
The problem in my case is, when I activate the valve, disable the pump and disable the valve again, the remaining pressure in that small piece of tubing is enough to suck the part back onto the nozzle and even carry it around for a couple more seconds. So what I really want, is to move the head back up, before disabling the valve.

So because my case is relatively special, I guess the approach via solving it via a script might be the way to go.

The only thing I don't really get is why the vacuum actuator never gets deactivated when using blowoff. Doesn't that have to happen aswell with the system you described?

Bobbe

unread,
Feb 17, 2022, 6:08:35 PM2/17/22
to OpenPnP
Just to make it super clear again:

"I have a small air pump and a single three way valve per nozzle."
I got 2 heads, thus 2 pumps and 2 nozzles ^^

mark maker

unread,
Feb 18, 2022, 3:02:27 AM2/18/22
to ope...@googlegroups.com

Hi Wayne,

I don't see where or how "we are mixing systems", but I agree that the blow valve can be shared.

_Mark

mark maker

unread,
Feb 18, 2022, 3:36:40 AM2/18/22
to ope...@googlegroups.com

Hi Bobbe,

Sorry, I still don't really understand.

> The pump gets activated/deactivated constantly, because its set as the vacuum actuator.

That doesn't make sense to me. Why would you do that? Do you have two nozzles? If yes, what happens if there is a second part on the other nozzle?

> The problem in my case is, when I activate the valve, disable the pump and disable the valve again..

Why would you "disable" the valve again? assuming you mean switching it back to vacuum/pump?

> ... the remaining pressure in that small piece of tubing is enough to suck the part back onto the nozzle...

You should not "disable" the valve. After the blow-off, it must be switched to atmospheric pressure, not to vacuum/pump.

And btw. where is your blow-off pressure coming from?

I can see how you could use a 3-way valve for vacuum/atmospheric/blow-off, but you would still have to conceptually model it as two actuators in OpenPnP. This should not be a problem, because OpenPnP will only pulse-actuate the conceptual blow-off, while the conceptual vacuum valve is closed, i.e. you can be sure that it will always pulse from atmospheric to blow-off and back, and not from vacuum to blow-off and back, i.e. you do not need to know the initial state or how to restore it (which would not be possible in plain G-code). As the blow-off is only a pulsed actuator, it will only temporarily switch the 3-way into its third state, and then revert it back to atmospheric, i.e. it will restore the OpenPnP conceptual vacuum actuator to its correct state.

(Obviously this will not be assured if you manually play around with the actuators on the GUI, but we can ignore this "use case")

> So because my case is relatively special, I guess the approach via solving it via a script might be the way to go.

Like I said, I may still not understand it correctly, but from how this sounds, your "vastly different from the standard" system does not seem to be right. You should fix the hardware, not the software. 😁

And if you can move the valves to the head, that's much better, because the long part of the tube (through the drag chain to the head) will otherwise slow down pressure transients dramatically, and force you to use long dwell times. These matter a lot for machine speed.

_Mark

mark maker

unread,
Feb 18, 2022, 3:44:06 AM2/18/22
to ope...@googlegroups.com

> Just to make it super clear again: "I have a small air pump and a single three way valve per nozzle."

> I got 2 heads, thus 2 pumps and 2 nozzles ^^

You mean 2 nozzles, not 2 heads, right? 😎😎

That explains, why you switch the pump with the vacuum actuator, but you should still also switch the 3-way valve to atmospheric, not to vacuum/pump.

OpenPnP Vacuum Valve ON:

  • switch on pump
  • switch 3-way valve to vacuum/pump

OpenPnP Vacuum Valve OFF:

  • switch 3-way valve to atmospheric
  • switch off pump

OpenPnP Blow-off ACTUATE_DOUBLE:

  • switch 3-way valve to blow-off positive pressure
  • dwell for {DoubleValue} milliseconds
  • switch 3-way valve to atmospheric

_Mark

Mike Menci

unread,
Feb 18, 2022, 3:53:31 AM2/18/22
to OpenPnP
Basic vacuum configuration with vacuum pump 2nozzles is done according to this sketch:unnamed.png

For vacuum generation- use of compressed air blow IN - see https://www.pisco.co.jp/media/pdf/en/Vacuum%20euipment%20introduction.pdf

Bobbe

unread,
Feb 18, 2022, 6:30:11 AM2/18/22
to OpenPnP
@Mark Yeah I mean two nozzles, you're right. And I'm also not sure what a 3-way valve is anymore. Because the setup you described doesn't seem to work with my hardware.
Here's what I have, drawn out:
vacuum_setup.PNG

@Mike Yeah like I already, my setup is probably not standard at all, as you can see.

mark maker

unread,
Feb 18, 2022, 7:44:52 AM2/18/22
to ope...@googlegroups.com

That's not 3-way in my book.

You just need to reverse the valve, and I would also swap NC/NO:

You do not have  positive pressure blow-off after all, right?

I was assuming you had, because of this post:

> Bobbe Feb 16, 2022, 2:18:50 AM (2 days ago)
> Sorry if I crash into this conversation randomly, but this might be related:
> I actually also noticed a potential nuisance with that calibration step: From what I can tell (I'm not on testing though), it doesn't seem to be possible to use blowoff functionality for picking the piece of paper.
> This resulted in me having to temporarily adjust the place dwell time of my nozzle to 15000ms.

https://groups.google.com/g/openpnp/c/BzX9kAWO5mo/m/y_HV8gqABQAJ

_Mark

--
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.

Bobbe

unread,
Feb 18, 2022, 10:34:09 AM2/18/22
to OpenPnP
Ah okay, so then I'd not be using "blowoff" at all and just configure both, the valve and the pump as my vacuum actuator, right? I guess that'd make sense.
Also, I think the confusion with the blowoff is once again due to lack of terminology on my side. I thought having a valve which connects the line to atmospheric would already count as blowoff, but seems like it doesn't ^^

mark maker

unread,
Feb 18, 2022, 10:44:07 AM2/18/22
to ope...@googlegroups.com

> Ah okay, so then I'd not be using "blowoff" at all and just configure both, the valve and the pump as my vacuum actuator, right? I guess that'd make sense.

Yep, as laid out before:

OpenPnP Vacuum Valve ON:

  • switch on pump
  • switch 2-way valve to vacuum/pump

OpenPnP Vacuum Valve OFF:

  • switch 2-way valve to atmospheric
  • switch off pump
_Mark

Wayne Black

unread,
Feb 18, 2022, 12:02:17 PM2/18/22
to OpenPnP
Well Mark I should have said I'm and not we ;)
I dont mean to muddy the water or derail the OP. But just for clarity I mapped out what I believe are the OEM pneumatics for the 36VA. I believe this is a very low cost common setup.
Schematic_36VA_2022-02-18 (1).png

mark maker

unread,
Feb 18, 2022, 12:16:54 PM2/18/22
to ope...@googlegroups.com

Hi Wayne

That's good to have as a reference. I think readers understand that this is just another example, i.e. not the OP's design.

Some questions:

Are the valves on the head?

Is the blow-off pump a separate pump? And is it fast enough to start and fill the tube to the head, so the blow-off will be effective in due time?

I'm a bit astonished that they do not use the vacuum pump exhaust (with a bleeder), and that they do not use a (head side) valve for blowing. I would expect it to be even more time sensitive to switch than the vacuum (you wouldn't want to blow the placed part off the solder paste, right?).

_Mark

Wayne Black

unread,
Feb 18, 2022, 12:31:05 PM2/18/22
to OpenPnP
Quickly as Im running out the door
For the valves these are the actual valves on the machine, OST 3/2 Mini Valve PN# T101-BL 24V DC These are located directly on the Head.
Separate blow and vac pump. No not fast enough and you cant leave the blow pump on as it will blow off other components via the other nozzle when not in use. Or so as I have found on my setup...
My research Ejector/Venturi system shine for quick crips vacuum/blow pulsing...

Bobbe

unread,
Feb 18, 2022, 12:50:45 PM2/18/22
to OpenPnP
@Mark Okay, then I'll try rearranging everything the way you recommended. Once again, thanks a lot!
@black That last schematic you sent definitely seems interesting too! Might try that aswell if the other one doesn't work out for some reason. (Not sure how well it'd behave with my valves being far away from the head though ...)

Wayne Black

unread,
Feb 18, 2022, 2:07:20 PM2/18/22
to OpenPnP
Hey Bobbe
I did the map hastily to outline general idae/function. Looking it over again I see a couple mistakes. Im in the field now and will correct it and post it in the Openpnp Charmhigh Wiki.
That Aside, This is not a great system and I wouldn't expend a lot of energy or time in trying to recreate it. I'm planning on an Ejector/Venturi setup. I'll outline that later to...

Wayne Black

unread,
Feb 18, 2022, 8:14:57 PM2/18/22
to OpenPnP
I went thru and fixed some minor mistakes. The general diagram was my best educated guess, so I tested/measured to confirm. The system does indeed perform as outlined in the diagram. For testing I mounted 503 tips to each nozzle and allowed them to free flow with no parts mounted. I then stepped thru every possible state and took a reading for each pressure sensor. This system does not perform well, and I hope to demonstrate as such by benching and scoping the sensor reading compared to the ejector system I'm putting together. The diagram has been added to the Openpnp/Charmhigh Pneumatic Wiki
Pneumatics_36VA_2022-02-18 .png

Wayne Black

unread,
Feb 18, 2022, 11:06:43 PM2/18/22
to OpenPnP
Heres the ejector setup. Here is an actual application video
Schematic_36VA_2022-02-18 (4).png

Jan

unread,
Feb 19, 2022, 4:12:29 AM2/19/22
to ope...@googlegroups.com
Just for the records: the original firmware pwms both the vacuum pump
and the blower. The default levels are 50% for vacuum and 2% for blower.
So the effect of the blower is really week. Both are operated 100% of
the time while a job is running, started at job start and stopped when
the job ends.
The valves are mounted on the head with about 10cm tubing between valve
and nozzle. I don't need any dwell time for pick and place even with
blower off.
With the blower switch on (at 2%) the calibration test object (made out
of 80g/m^2 paper) is blown away. With the blower switch off the test
object is placed well without errors (using a Juki 503 or 504 nozzle).
So I'm not sure if the blower is actually needed in this setup.

Jan

On 19.02.2022 02:14, Wayne Black wrote:
> I went thru and fixed some minor mistakes. The general diagram was my
> best educated guess, so I tested/measured to confirm. The system does
> indeed perform as outlined in the diagram. For testing I mounted 503
> tips to each nozzle and allowed them to free flow with no parts mounted.
> I then stepped thru every possible state and took a reading for each
> pressure sensor. This system does not perform well, and I hope to
> demonstrate as such by benching and scoping the sensor reading compared
> to the ejector system I'm putting together. The diagram has been added
> to the Openpnp/Charmhigh Pneumatic Wiki
> <https://github.com/openpnp/openpnp/wiki/Charmhigh-36VA-Pneumatics>
> Pneumatics_36VA_2022-02-18 .png
>
> On Friday, February 18, 2022 at 11:07:20 AM UTC-8 Wayne Black wrote:
>
> Hey Bobbe
> I did the map hastily to outline general idae/function. Looking it
> over again I see a couple mistakes. Im in the field now and will
> correct it and post it in the Openpnp Charmhigh Wiki.
> That Aside, This is not a great system and I wouldn't expend a lot
> of energy or time in trying to recreate it. I'm planning on an
> Ejector/Venturi setup. I'll outline that later to...
> On Friday, February 18, 2022 at 9:50:45 AM UTC-8 Bobbe wrote:
>
> @Mark Okay, then I'll try rearranging everything the way you
> recommended. Once again, thanks a lot!
> @black That last schematic you sent definitely seems interesting
> too! Might try that aswell if the other one doesn't work out for
> some reason. (Not sure how well it'd behave with my valves being
> far away from the head though ...)
>
> black...@blackboxembedded.com schrieb am Freitag, 18. Februar
> 2022 um 18:31:05 UTC+1:
>
> Quickly as Im running out the door
> For the valves these are the actual valves on the machine,
> OST 3/2 Mini Valve PN# T101-BL 24V DC
> <https://www.aliexpress.com/item/1005001483244802.html> These are
> located directly on the Head.
> Separate blow and vac pump. No not fast enough and you cant
> leave the blow pump on as it will blow off other components
> via the other nozzle when not in use. Or so as I have found
> on my setup...
> My research Ejector/Venturi system shine for quick crips
> vacuum/blow pulsing...
> On Friday, February 18, 2022 at 9:16:54 AM UTC-8
> ma...@makr.zone wrote:
>
> Hi Wayne
>
> That's good to have as a reference. I think readers
> understand that this is just another example, i.e. *not
> the OP's *design.
>
> Some questions:
>
> Are the valves on the head?
>
> Is the blow-off pump a separate pump? And is it fast
> enough to start and fill the tube to the head, so the
> blow-off will be effective in due time?
>
> I'm a bit astonished that they do not use the vacuum
> pump exhaust (with a bleeder), and that they do not use
> a (head side) valve for blowing. I would expect it to be
> even more time sensitive to switch than the vacuum (you
> wouldn't want to blow the placed part off the solder
> paste, right?).
>
> _Mark
>
> Am 18.02.2022 um 18:02 schrieb Wayne Black:
>> Well Mark I should have said *I'm* and not *we* ;)
>> I dont mean to muddy the water or derail the OP. But
>> just for clarity I mapped out what I believe are the
>> OEM pneumatics for the 36VA. I believe this is a very
>> low cost common setup.
>>
>>
>>
>> On Friday, February 18, 2022 at 7:44:07 AM UTC-8
>> ma...@makr.zone wrote:
>>
>> /> Ah okay, so then I'd not be using "blowoff" at
>> all and just configure both, the valve and the
>> pump as my vacuum actuator, right? I guess that'd
>> make sense./
>>
>> Yep, as laid out before:
>>
>> OpenPnP Vacuum Valve ON:
>>
>> * switch on pump
>> * switch 2-way valve to vacuum/pump
>>
>> OpenPnP Vacuum Valve OFF:
>>
>> * switch 2-way valve to atmospheric
>> * switch off pump
>>
>> _Mark
>>
>> Am 18.02.2022 um 16:34 schrieb Bobbe:
>>> Ah okay, so then I'd not be using "blowoff" at
>>> all and just configure both, the valve and the
>>> pump as my vacuum actuator, right? I guess that'd
>>> make sense.
>>> Also, I think the confusion with the blowoff is
>>> once again due to lack of terminology on my side.
>>> I thought having a valve which connects the line
>>> to atmospheric would already count as blowoff,
>>> but seems like it doesn't ^^
>>>
>>> ma...@makr.zone schrieb am Freitag, 18. Februar
>>> 2022 um 13:44:52 UTC+1:
>>>
>>> That's not 3-way in my book.
>>>
>>> You just need to reverse the valve, and I
>>> would also swap NC/NO:
>>>
>>> You do not have  positive pressure blow-off
>>> after all, right?
>>>
>>> I was assuming you had, because of this post:
>>>
>>> /> Bobbe Feb 16, 2022, 2:18:50 AM (2 days
>>> ago) //
>>> //> Sorry if I crash into this
>>> conversation randomly, but this might be
>>> related:/
>>> /> I actually also noticed a potential
>>> //nuisance with that calibration step:
>>> From what I can tell (I'm not on testing
>>> though), it doesn't seem to be possible
>>> to use blowoff functionality for picking
>>> the piece of paper./
>>> /> This resulted in me having to
>>> temporarily adjust the place dwell time
>>> of my nozzle to 15000ms./
>>>
>>> https://groups.google.com/g/openpnp/c/BzX9kAWO5mo/m/y_HV8gqABQAJ
>>> <https://groups.google.com/g/openpnp/c/BzX9kAWO5mo/m/y_HV8gqABQAJ>
>>>
>>> _Mark
>>>
>>>
>>> Am 18.02.2022 um 12:30 schrieb Bobbe:
>>>> @Mark Yeah I mean two nozzles, you're right.
>>>> And I'm also not sure what a 3-way valve is
>>>> anymore. Because the setup you described
>>>> doesn't seem to work with my hardware.
>>>> Here's what I have, drawn out:
>>>> vacuum_setup.PNG
>>>>
>>>> @Mike Yeah like I already, my setup is
>>>> probably not standard at all, as you can see.
>>>>
>>>> mike....@gmail.com schrieb am Freitag, 18.
>>>> Februar 2022 um 09:53:31 UTC+1:
>>>>
>>>> Basic vacuum configuration with vacuum
>>>> pump 2nozzles is done according to this
>>>> sketch:unnamed.png
>>>>
>>>> For vacuum generation- use of compressed
>>>> air blow IN - see
>>>> https://www.pisco.co.jp/media/pdf/en/Vacuum%20euipment%20introduction.pdf
>>>> <https://www.pisco.co.jp/media/pdf/en/Vacuum%20euipment%20introduction.pdf>
>>>>
>>>> --
>>>> 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.
>>>> To view this discussion on the web visit
>>>> https://groups.google.com/d/msgid/openpnp/6e6ecbfb-1cbd-4fba-8155-a36c1a12c525n%40googlegroups.com
>>>> <https://groups.google.com/d/msgid/openpnp/6e6ecbfb-1cbd-4fba-8155-a36c1a12c525n%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.
>>> To view this discussion on the web visit
>>> https://groups.google.com/d/msgid/openpnp/fa3eceb7-7b3b-4571-ac8c-849e08aa54f1n%40googlegroups.com
>>> <https://groups.google.com/d/msgid/openpnp/fa3eceb7-7b3b-4571-ac8c-849e08aa54f1n%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.
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/openpnp/ecf8f53a-f39b-4136-bb77-91e69ed5a302n%40googlegroups.com
>> <https://groups.google.com/d/msgid/openpnp/ecf8f53a-f39b-4136-bb77-91e69ed5a302n%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/47cddb20-2ea5-4a28-a7cd-2d36d53bdbe5n%40googlegroups.com
> <https://groups.google.com/d/msgid/openpnp/47cddb20-2ea5-4a28-a7cd-2d36d53bdbe5n%40googlegroups.com?utm_medium=email&utm_source=footer>.

mark maker

unread,
Feb 19, 2022, 4:47:05 AM2/19/22
to ope...@googlegroups.com

> Both are operated 100% of the time while a job is running, started at job start and stopped when the job ends.

Very important information. I think a "constant" (but see below) over pressure is all that design can reasonably do.

Operating it on-off dynamically would be rather slow, I guess, right? It would therefore have to be started as soon as (both?) parts were picked, not only after placement, i.e. after the vacuum valve has switched off, as is implemented in OpenPnP now.

Furthermore, any PWM setting is affected by whether the other nozzle has a part on or not, and what the nozzle tip bore diameters are (flow cross section), right?

I will make the Test Object blow-off value available, so one can switch it OFF there, as an exception.

But I fear it will not be practical to vary dynamically in production, i.e. on regular packages.

_Mark

Wayne Black

unread,
Feb 19, 2022, 12:28:12 PM2/19/22
to OpenPnP
@Jan,  Thanks, now I recall that is indeed how the machine originally operated.  In testing the system and just running the blow at <10% duty @ 20khz duty and pump sounds like it has trouble getting going and just bad. I initially set blow to 50% and have never adjusted it since. Ill play with this more...

@Mark,
On/off speed, by eye, yes very slow. In testing my picks via the feeder pick operation, the nozzle makes part contact just as the vacuum sounds that it's up to speed. It works, but appears to on the ragged edge of just working. This is just my observation by eye, I have never suffered a missed pick with when the nozzle/tip contact is correct...

PWM, not sure I follow your Q as asked. I can offer that my setting for Vac is 100% at 20kHz. At this duty cycle the vacuum pump 'sounds' best and comes to speed the fastest obviously. These settings for the Vac and Blow are all my first best guess going off how the pumps sounds. In a practical sense though, parts won't release wo either making contact to paste/tape or an active blow. Point being I still need to tune by practical application and not sound. 

Just for clarity re my settings
Vacuum 100% @20kHz
Blow 50% @20kHz


Wayne Black

unread,
Feb 19, 2022, 12:44:02 PM2/19/22
to OpenPnP
Also Jan, sounds like you have a lot of good testing data/info re the Pneumatics already. Please update the Wiki if you have anything you feel relevant.
Thanks again for your help.

Wayne Black

unread,
Feb 19, 2022, 3:10:33 PM2/19/22
to OpenPnP
I just scoped the pressure sensor analog output with Jan's reported vac/blow settings;
Vacuum 50%@20kHz
Blow 02%@20kHz
For vacuum response both pumps set as above and allowed to run several seconds with V1 in normal position, then V1 actuated/captured. Again 503 tip mounted wo part, just free flow. 

45ms for stable state Vacuum
Vacuum time.png
Same capture @t90 is 25ms
T90.png

Next the Vacuum to Blow transition where again the Vac is .5 and blow is .02 and V1 deactivated, 14ms response back to slightly over ambient pressure.
positive.png

Lastly I tried Vac @ 0.5 and Blow @ 0.0 stable state then deactivating V1. I couldnt get my scope to trigger in a meaningful way to capture it. Without Blow return to ambient pressure is seconds.

Again, this is all free flow without parts loaded on the tip... Hopefully this still sheds some light on CHMT pneumatic performance.

Wayne Black

unread,
Feb 19, 2022, 4:40:49 PM2/19/22
to OpenPnP
Ok last one and Ill stop bugging everyone. Per Jan and my best recollection is the OEM CHMT pneumatics control has 5 working different states as outlined.
Schematic_36VA_2022-02-19.png 

Jan

unread,
Feb 22, 2022, 12:31:45 PM2/22/22
to ope...@googlegroups.com
Switching is actually not that slow, it's more a question when the
switch happens. I'm currently running without machine coordination on
the vacuum pump. This way the vacuum pump is switched on when the
xy-move to the pick location starts (that's at least how it sounds to
me). The time sounds well for good vacuum conditions when the nozzle
actually picks the parts. - Wayne made good point, scoping the vacuum
sensor would be a better way to quantify this.
The vacuum pump is switched off after the last place/valve off.
From my experience today with the test object for nozzle to head
position calibration, I'd say, that blow-off should be active. On real
PCBs I had the impression, that its not needed because my paste seems to
be sticky enough, even for 0402s.
If I could express a wish, I would love to see the blower switched on
after all parts have been picked (would help to avoid blowing parts off
the feeder) and switched off maybe together with the vacuum pump after
the last place (or a little bit later). (Due to the low PWM value, the
blower is driven with, it take a little longer to ramp up. As Wayne
already suggest, a push at full before switching to nominal setting
would also speed things up. However, if implemented in gcode only, the
delay might slow the entire job down.) For me it would be also an option
to keep vacuum and blower always on for a job or calibration.

Jan

On 19.02.2022 10:47, mark maker wrote:
> /> Both are operated 100% of the time while a job is running, started at
> job start and stopped when the job ends. /
> https://groups.google.com/d/msgid/openpnp/c7e541db-699f-824b-1277-f0aa032751b6%40makr.zone
> <https://groups.google.com/d/msgid/openpnp/c7e541db-699f-824b-1277-f0aa032751b6%40makr.zone?utm_medium=email&utm_source=footer>.
Reply all
Reply to author
Forward
0 new messages